주사위 굴리기

원하는 개수와 면수로 주사위를 굴려보세요 — 암호학적 난수를 사용하며, 합계와 굴린 기록을 함께 보여드립니다.

조회수 1,097회

공정한 주사위 굴리기의 원리

이 페이지의 모든 굴림은 Math.random()이 아니라 crypto.getRandomValues()를 사용합니다. 원시 출력값은 이 사이트의 다른 난수 도구 전체에서 사용하는 것과 동일한 모듈로 편향 제거 방식으로 걸러집니다: 주사위 면수의 정확한 배수 범위를 벗어나는 값은 버려지고 다시 뽑히므로, 범위 경계에서 단순 모듈로 나눗셈이 만들어내는 미세한 편향 대신 모든 면이 정확히 동일한 확률을 유지합니다.

주사위 하나는 균등합니다 — 표준 6면체든 테이블탑 게임용 d20이든, 1부터 N까지 각 면이 나올 확률은 동일하게 1/N입니다. 하지만 주사위를 두 개 이상 굴려 합계를 살펴보는 순간 상황은 완전히 달라집니다. 6면체 주사위 두 개의 합은 전혀 균등하지 않습니다: 7을 중심으로 한 삼각형 모양의 종형 분포를 이룹니다. 2(1+1)나 12(6+6)를 만드는 조합은 단 하나뿐이지만, 7을 만드는 조합은 여섯 가지(1+6, 2+5, 3+4, 4+3, 5+2, 6+1)이기 때문입니다. 주사위 세 개를 사용하면 이 패턴은 더욱 뚜렷해집니다 — 10과 11이 가장 흔한 합이 되고 3과 18은 가장 드문 합으로 남는데, 이는 면을 조합하는 방법의 수가 중간에서는 늘어나고 양 끝에서는 줄어들기 때문입니다.

주의할 점

  • 이 곡선을 설명하는 것은 운이 아니라 조합론입니다. 이는 확률 입문에서 다루는 "조합의 수 세기"의 전형적인 예입니다 — 합계의 분포는 정확히 각 합을 만들어내는 주사위 면 조합의 수를, 가능한 전체 조합의 수(6면체 주사위 두 개는 36, 세 개는 216)로 나눈 값입니다.
  • 몇 번의 굴림만으로 "잘 나오는" 또는 "잘 안 나오는" 숫자라고 판단하는 것은 큰 의미가 없습니다. 7은 2보다 여섯 배 많은 조합을 가지므로 짧은 세션에서도 자연히 더 자주 나옵니다 — 이는 편향된 생성기가 아니라 예상된 변동입니다.
  • 면수가 다른 주사위는 계산이 달라집니다. d20의 조합도 같은 방식으로 퍼지지만 더 평평합니다 — 중간값(10-11)은 양 끝값보다 아주 조금 더 가능성이 높을 뿐이며, 6면체 주사위 두 개에서 중앙과 양 끝의 차이가 극명한 것과는 다릅니다.
  • 모든 계산은 클라이언트 측에서 실행됩니다. 어떤 굴림도 서버로 전송되지 않으며, 굴림 기록을 통해 실제 분포를 이론적 분포와 직접 비교해 볼 수 있습니다.

자주 묻는 질문

Math.random()과 무엇이 다른가요?

crypto.getRandomValues()는 운영체제의 암호학적 난수 소스에서 값을 가져오며, 이 도구는 모듈로 편향을 일으킬 수 있는 값을 모두 버립니다 — 모든 면이 정확히 동일한 확률을 가지지만, 단순한 Math.random()은 범위 경계에서 이를 보장하지 않습니다.

주사위 두 개를 굴렸을 때 7이 나올 확률이 2가 나올 확률보다 훨씬 높은 이유는 무엇인가요?

이는 주사위 하나당 확률이 아니라 조합의 수 때문입니다. 2를 만드는 조합은 하나(1+1)뿐이지만, 7을 만드는 조합은 여섯 가지(1+6, 2+5, 3+4, 4+3, 5+2, 6+1)입니다 — 따라서 36가지 가능한 두 주사위 결과 중 7이 나올 확률은 2가 나올 확률의 여섯 배입니다.

주사위 하나를 굴렸을 때 균등하지 않은 경우가 있나요?

아니요 — 공정한 주사위 하나는 항상 각 면이 정확히 1/N의 확률을 가집니다. 종 모양의 균등하지 않은 분포는 여러 개의 주사위를 더해 합계를 볼 때만 나타납니다.

d20 같은 비표준 주사위도 굴릴 수 있나요?

네 — 테이블탑 롤플레잉 게임, 보드게임, 또는 임의의 확률 실험을 위해 2에서 1000 사이의 원하는 면수를 설정할 수 있습니다.

굴림 기록이 주사위가 공정하다는 것을 증명하나요?

충분히 많이 굴리면 그렇습니다 — 기록을 추적하면 각 면(또는 여러 주사위의 경우 각 합)의 관측 빈도가 이론적 확률에 점차 수렴해야 합니다. 짧은 세션에서는 어느 쪽이든 자연스러운 변동이 나타날 수 있습니다.

댓글

아직 댓글이 없습니다 — 첫 댓글을 남겨보세요!

비슷한 도구