⚠️ 학술적 고지: 본 도구는 조합론과 의사 난수 생성기(PRNG)를 기반으로 한 수학적 데이터 시뮬레이터입니다. 실제 당첨을 보장하지 않으며, 복권 구매는 소액으로 즐기는 건전한 오락이어야 합니다.

Lotto 6/45 Simulator

조합론 알고리즘 및 통계적 홀짝 분포 필터 기반 난수 생성기

🎛️ 분석 변수 및 파라미터 설정

반드시 조합에 포함시킬 변수를 선택하세요.

난수 알고리즘에서 완전히 배제할 숫자를 쉼표(,)로 입력하세요.

✨ 시뮬레이션 결과

?
?
?
?
?
?

💡 시뮬레이터 사용 방법 (How to Use)

Step 1

고정수 및 제외수 할당

좌측 제어판에서 반드시 포함할 '고정수(최대 3개)'를 클릭하고, 절대 나오지 않을 '제외수'를 쉼표로 구분하여 입력합니다.

Step 2

통계 필터 활성화

과거 통계 데이터에 기반하여 추출할 표본의 '홀짝 비율(예: 3:3 표준 분포)' 필터를 설정합니다.

Step 3

난수 생성 및 시각화

'데이터 추출하기' 버튼을 누르면 수학적 알고리즘을 통과한 6개의 고유한 숫자 조합이 우측 시뮬레이터에 시각적으로 렌더링됩니다.

로또 6/45의 조합론적 원리와 수학적 분석

로또 6/45는 1부터 45까지의 숫자 중 순서에 상관없이 6개의 번호를 맞추는 전형적인 '조합(Combination)' 확률 모델입니다. 매 회차 번호를 뽑는 과정은 이전 회차의 결과가 다음 회차에 어떠한 영향도 미치지 않는 독립 시행(Independent Trial)의 원리를 따릅니다.

프레티 툴즈(freety.tools)의 로또 확률 분석 시뮬레이터는 단순한 번호 뽑기 기계가 아닙니다. 이 도구는 사용자가 통계적 가설(예: 특정 번호의 제외, 짝수와 홀수의 비율 조정)을 세우고, 해당 조건이 전체 표본 공간(Sample Space) 내에서 어떻게 무작위 난수(Random Number)로 구현되는지를 시각적으로 확인하기 위해 설계된 수학적/교육적 데이터 모델링 유틸리티입니다. 철저하게 자바스크립트 V8 엔진의 난수 생성 알고리즘에 기반하여 작동하며, 조건부 확률의 개념을 실험해 볼 수 있는 완벽한 샌드박스(Sandbox) 환경을 제공합니다.

1. 독립 시행(Independent Trial)과 경우의 수(Combinatorics) 공식

로또 6/45 시스템에서 발생할 수 있는 모든 경우의 수를 구하는 수학적 공식은 조합론(Combinatorics)에 의해 다음과 같이 정의됩니다.

$$ \binom{45}{6} = \frac{45 \times 44 \times 43 \times 42 \times 41 \times 40}{6 \times 5 \times 4 \times 3 \times 2 \times 1} = 8,145,060 $$

즉, 1등에 당첨될 확률은 1 / 8,145,060 (약 0.00001227%)로 극히 희박합니다. 많은 데이터 분석가들은 이 거대한 표본 공간을 줄이기 위해 '필터링(Filtering)' 기법을 사용합니다.

  • 고정수(Fixed Numbers) 지정: 반드시 나올 것이라 예측하는 숫자를 미리 고정하면, 남은 빈자리에 대해서만 조합을 계산하므로 표본 공간이 기하급수적으로 축소됩니다. (예: 1개를 고정하면 $\binom{44}{5}$인 1,086,008개로 경우의 수가 감소합니다.)
  • 제외수(Excluded Numbers) 설정: 절대 나오지 않을 번호를 풀(Pool)에서 제거하여 추출 알고리즘의 연산 범위를 제한합니다.
1. 전체 표본 공간 8,145,060 가지의 조합
2. 파라미터 필터링 고정수 포함, 제외수 삭제
3. 조건부 알고리즘 최적의 홀짝 정규 분포 반환

2. 도박사의 오류를 넘어서는 정규 분포(Normal Distribution) 모델링

수학적으로 '1, 2, 3, 4, 5, 6'이 나올 확률과 무작위로 섞인 번호가 나올 확률은 완벽하게 동일합니다. 하지만 로또 당첨자들의 과거 누적 데이터를 분석해 보면, 특정한 정규 분포(Normal Distribution) 형태의 패턴이 관찰됩니다.

가장 대표적인 것이 '홀짝 비율(Odd-Even Ratio)'입니다. 6개의 공을 뽑았을 때, 홀수 3개와 짝수 3개가 나오는 3:3 비율이나, 2:4 / 4:2 비율이 전체 출현 빈도의 80% 이상을 차지합니다. 반면, 홀수만 6개가 나오거나 짝수만 6개가 나오는 극단적인 분포는 수학적 확률 모델에서도 중앙값에서 크게 벗어난 양극단(Tail)에 위치하므로 출현 빈도가 매우 낮습니다. 본 시뮬레이터의 [통계적 홀짝 분포 필터]는 이러한 정규 분포의 중앙값에 데이터를 강제로 밀어 넣어, 가장 통계적으로 유효한 형태의 난수 배열을 생성해 내는 고도화된 스크립팅 기술을 보여줍니다.

prng-lotto-algorithm.js
// 프레티 툴즈: PRNG 및 필터링 적용 난수 생성 알고리즘
const generateLottoData = (fixed, excludes, oddEvenFilter) => {
  let result = [];
  let attempts = 0;

  // 무한 루프 방지를 위한 최대 1000번의 시뮬레이션 제한
  while (result.length < 6 && attempts < 1000) {
    attempts++;
    let temp = [...fixed]; // 고정수 우선 할당
    
    // 제외수와 고정수가 제거된 순수 난수 풀(Pool) 생성
    let pool = Array.from({length: 45}, (_, i) => i + 1)
                    .filter(n => !temp.includes(n) && !excludes.includes(n));
    
    // 남은 자리를 무작위 추출 (Fisher-Yates Shuffle 변형)
    while (temp.length < 6) {
      const idx = Math.floor(Math.random() * pool.length);
      temp.push(pool.splice(idx, 1)[0]);
    }
    
    temp.sort((a, b) => a - b); // 오름차순 정렬
    
    // 정규 분포 기반 홀짝 필터링 검증
    const oddCount = temp.filter(n => n % 2 !== 0).length;
    if (oddEvenFilter === '3:3' && oddCount !== 3) continue;
    if (oddEvenFilter === '2:4' && (oddCount !== 2 && oddCount !== 4)) continue;
    
    result = temp; // 모든 조건 통과 시 결과 반환
    break;
  }
  return result;
};

3. 자주 묻는 학술적 분석 상식 (FAQ)

Q. 이 도구가 당첨 확률을 실제로 높여주나요?

아닙니다. 수학적으로 로또의 모든 번호 조합은 동일한 당첨 확률을 가집니다. 본 도구는 당첨을 보장하는 비법이 아니라, 사용자가 설정한 '고정수/제외수' 및 '홀짝 비율' 조건이 자바스크립트의 의사 난수 생성기(PRNG)를 통해 어떻게 시뮬레이션 되는지 확인하는 학술적/교육용 데이터 도구입니다.

Q. '제외수' 설정은 통계학적으로 어떤 의미가 있나요?

제외수를 설정하는 것은 계산해야 할 표본 공간(Sample Space)을 의도적으로 제한하는 행위입니다. 특정 숫자가 나타나지 않을 것이라는 분석가의 가설을 시스템에 반영하여, 남아있는 모수 안에서만 난수 추출 알고리즘이 작동하도록 필터링하는 데이터 전처리 과정입니다.