Skip to content
Logo Any Help Me

랜덤 룰렛 돌리기: 이름 및 당첨자 무작위 추첨기

이름:가중치 형식 사용 (예: 철수:2)
0 개 항목
한 줄에 하나씩 입력 예: 철수:2, 영희:1

추첨을 실제로 공정하게 만드는 것

돌림판은 선택에서 사람의 판단을 걷어 내기 위해 존재하므로, 중요한 성질은 모든 항목이 정말로 같은 확률을 갖느냐 하나뿐입니다. 이를 무너뜨릴 수 있는 것이 둘 있고, 둘 다 애니메이션에는 보이지 않습니다.

첫째는 난수원입니다. 많은 간단한 도구가 Math.random()을 쓰는데, 이는 빠르고 고르게 분포하지만 예측 불가능하지는 않습니다. 알고리즘과 시드에서 돌아가므로 충분히 작정한 관찰자는 수열을 재구성할 수 있습니다. 누가 차를 탈지 정하는 데는 상관없는 이야기입니다. 공개 경품 추첨이라면, 방어할 수 있는 결과와 그렇지 못한 결과의 차이가 됩니다.

둘째는 모듈로 편향으로, 더 미묘하고 훨씬 흔합니다. 큰 범위의 난수를 나머지 연산으로 작은 범위에 밀어 넣으면, 큰 범위가 작은 범위로 딱 떨어지지 않기 때문에 앞쪽 항목이 조금 더 자주 나옵니다. 항목이 적으면 미미하고 목록이 길어질수록 커집니다.

이 돌림판은 32비트 값을 뽑아 232로 나눠 소수를 만든 뒤, 그 소수를 가중치가 반영된 구간 위에서 찾는 방식으로 이를 비켜 갑니다. 나머지 연산이 개입하지 않으므로 산술 때문에 유리해지는 항목이 없습니다.

중복, 가중치, 그리고 순서

이 돌림판은 이름:가중치 문법으로 가중치를 명시적으로 받습니다. 철수:2라고 쓰면 그냥 적은 사람보다 두 배의 몫을 갖습니다. 추첨을 의도적으로 기울이는 방법이고, 목록에 드러나 있어 감춰지지 않습니다.

이름을 반복해 적어도 같은 효과가 나는데, 문제는 그것이 사고로 일어난다는 점입니다. 붙여넣기로 두 번 들어간 이름은 조용히 확률이 두 배가 되고 아무도 알아채지 못합니다. 의도할 때는 가중치 문법을 쓰고, 의도하지 않을 때는 중복이 없는지 확인하세요.

다음 회전 전에 당첨자를 빼느냐 마느냐는 비복원 추출과 복원 추출의 차이입니다. "1등, 2등, 3등"이라면 매번 당첨자를 빼야 합니다. 그러지 않으면 같은 이름이 셋을 다 가져갈 수 있습니다. "무작위로 할 일 하나 고르기, 반복"이라면 남겨 두는 것이 맞습니다.

돌림판이 틀린 도구일 때

무작위는 선택지들이 정말로 대등하고 목표가 편향이나 교착을 피하는 것일 때 맞는 답입니다. 집안일 배정, 발표 순서 정하기, 둘 다 괜찮은 식당 사이의 무승부 깨기 같은 경우죠.

선택지가 대등하지 않고, 스스로 내려야 할 결정을 회피하려고 돌림판을 쓰는 것이라면 틀린 답입니다. 두 개의 입사 제안 사이에서 돌리면 좋은 결과가 아니라 무작위 결과가 나옵니다. 그리고 쓸모 있는 정보는 대개 결과 자체가 아니라 결과에 대한 당신의 반응입니다. 그 반응은 눈여겨볼 가치가 있습니다. 한쪽에 멈췄을 때 안도하거나 실망했다면, 이미 선호가 있었고 이제 그것을 알게 된 것입니다.

여럿이 쓸 때의 실무 메모

  • 돌리기 전에 목록을 보여 주세요. 모두가 항목이 예상대로임을 확인할 수 있어야 추첨이 신뢰받습니다.
  • 제외 규칙을 먼저 소리 내어 정하세요. 다툼은 결과가 아니라 당첨자가 남는지에 대한 모호함에서 나옵니다.
  • 비슷한 중복을 확인하세요. 같은 이름의 두 가지 표기는 두 항목이고, 아무도 의도하지 않은 채 그 사람의 확률이 두 배가 됩니다.
  • 법적·금전적 결과가 따르는 경우, 경품 추첨과 복권 규정은 관할마다 다르며 브라우저 도구는 준법 기록이 아닙니다.

모든 처리는 브라우저에서 이루어집니다. 입력한 항목은 어디로도 전송되거나 저장되지 않으며, 학급 명부나 고객 명단처럼 모르는 서비스에 붙여넣고 싶지 않은 목록일 때 중요한 점입니다.

자주 묻는 질문

정말 무작위인가요?
단순한 시드 기반 생성기가 아니라 브라우저의 암호학적 난수원에서 뽑으므로, 이전 회전으로부터 결과를 재구성할 수 없습니다.
모듈로 편향이 무엇인가요?
큰 난수 범위를 나머지 연산으로 작은 범위에 밀어 넣을 때 앞쪽 항목이 조금 더 자주 나오는 왜곡입니다. 이 돌림판은 32비트 값을 2^32로 나눠 가중 구간에서 찾는 방식으로 피합니다.
특정 항목의 확률을 높이려면?
이름:가중치 문법을 쓰세요. 철수:2라고 적으면 두 배의 몫을 갖습니다. 이름을 반복해도 같지만 그건 사고로 일어나므로 중복 확인이 필요합니다.
회전마다 당첨자를 빼야 하나요?
등수를 매기는 추첨이라면 빼야 합니다. 그러지 않으면 같은 이름이 두 번 당첨될 수 있습니다. 무작위 과제를 반복해 고르는 용도라면 남겨 두세요.
왜 같은 이름이 연속으로 나오나요?
진짜 무작위는 뭉칩니다. 항목이 열 개면 매 회전 10분의 1 확률로 반복되며, 그것이 드물게 느껴지는 것은 직관의 성질이지 추첨의 문제가 아닙니다.
공개 경품 추첨에 써도 되나요?
난수 자체는 견실하지만 경품 추첨 규정은 관할마다 다르고 브라우저 도구는 준법 기록이 아닙니다. 해당 지역 규정을 확인하세요.
입력한 항목이 저장되나요?
아니요. 모두 브라우저에서 실행되며 입력한 이름은 전송되거나 저장되지 않습니다.

더 많은 도구 보기: 생활·건강

모두 보기 →