짧은 대답
난수 생성기는 선택한 범위 내에서 예측할 수 없는 값을 생성합니다. 이 도구는 내부적으로는 결정적이지만 게임, 샘플, 추첨과 같이 일상적으로 사용되는 실제 무작위성과 통계적으로 구별할 수 없는 의사 무작위 알고리즘을 사용합니다. 최소, 최대, 개수, 숫자 유형(정수 또는 소수)을 설정하면 각 추첨은 범위 전체에서 동일한 확률로 선택됩니다.
주요 시사점
- 의사 난수 생성기는 게임, 시뮬레이션 및 일반 선택에는 적합하지만, 실제 또는 암호화된 보안 무작위성이 필요한 암호화 보안에는 적합하지 않습니다.
- 특정 숫자를 제외하면 풀에서 완전히 제거됩니다. 나머지 숫자는 여전히 각각 동일한 확률로 추첨됩니다.
- 많은 무승부에서 균일한 생성기의 숫자는 범위의 중간을 향해 평균을 내야 합니다. 개수와 범위는 한 배치가 해당 평균에 얼마나 가까운지를 결정합니다.
- 반복이 있거나 없는 샘플링은 서로 다른 모드입니다. 반복이 없는 경우 추출된 각 숫자는 풀에서 제거되며 이는 개수가 범위 크기에 접근함에 따라 중요합니다.
의사 난수 대 진짜 난수
| 유형 | 원천 | 다음에 좋습니다 |
|---|---|---|
| 의사 난수 | 결정론적 알고리즘 | 게임, 시뮬레이션, 샘플링, 교육 |
| 진정한 무작위 | 물리적 엔트로피(대기 소음, 방사성 붕괴) | 암호화 키, 보안이 중요한 추첨 |
정수와 소수 중에서 선택하기
주사위 굴림, 복권 번호, 당첨 티켓 번호 선택, 팀 순서 할당 등 전체 단위로 계산되는 모든 것에 정수를 사용합니다. 키, 몸무게, 센서 판독값 또는 값이 정수 사이에 자연스럽게 들어가는 통계 샘플링 연습 등 연속 측정을 시뮬레이션할 때 소수를 사용합니다.
실제 예: 범위의 예상 평균
예상 평균 = (최소 + 최대) / 2
범위 1~10 → 예상 평균 = (1 + 10) / 2 = 5.5
1부터 10까지 몇 번 무작위로 뽑은 배치가 반드시 평균이 정확히 5.5인 것은 아닙니다. 작은 샘플은 우연히 쉽게 높거나 낮게 왜곡될 수 있습니다. 대신 수백 또는 수천 개의 숫자를 생성하면 평균은 대수의 법칙을 직접적으로 보여주는 5.5에 꾸준히 가까워집니다.
피해야 할 일반적인 실수
- Expecting a small batch of random numbers to look "evenly spread" — genuine randomness often produces clumps and streaks; a suspiciously even spread can actually signal a non-random pattern.
- 범위보다 더 많은 숫자를 제외하면 고유 추첨이 지원될 수 있습니다. 제외 후 남아 있는 것보다 더 많은 고유 값을 요청할 수는 없습니다.
- 암호화 키 또는 비밀번호 생성을 위해 의사 난수 출력을 사용합니다. 대신 암호화로 안전한 무작위 소스가 필요합니다.
- Overlooking decimal precision when generating decimal values, which can make results look artificially "clean" for what's meant to simulate a continuous measurement.