랜덤 팀 나누기 (그룹 생성기)
이름 목록을 붙여넣으면 팀 수 또는 팀당 인원수에 맞춰 공정하게 무작위로 나눠드립니다 — 암호학적 셔플과 원클릭 복사 기능 포함.
조회수 1,250회
최소 2명 이상과 유효한 숫자를 입력하세요.
셔플은 실제로 어떻게 작동하나요
목록을 공정하게 나누는 것은 결국 하나의 질문으로 귀결됩니다: 사람들의 가능한 모든 배치가 정말로 똑같은 확률을 가지는가? 이 도구는 피셔-예이츠 셔플(Fisher-Yates shuffle)을 사용하는데, 이 알고리즘은 놀랍도록 긴 역사를 가지고 있습니다 — 1938년 통계학자 로널드 피셔(Ronald Fisher)와 프랭크 예이츠(Frank Yates)가 통계표의 행을 무작위화하기 위한 수작업, 즉 종이와 연필로 하는 절차로 처음 기술했습니다. 1964년 리처드 더스텐펠드(Richard Durstenfeld)가 이를 오늘날 쓰이는 효율적이고 컴퓨터에 적합한 버전으로 바꾸었는데, 이 버전은 목록을 한 번만 훑으면서 각 요소를 아직 섞이지 않은 나머지 부분에서 무작위로 고른 요소와 교환하여 선형 시간에 실행됩니다. 이후 도널드 커누스(Donald Knuth)가 저서 "The Art of Computer Programming"에서 이 버전을 널리 알렸기 때문에, 때때로 커누스 셔플(Knuth shuffle)이라고도 불립니다.
무작위성 자체는 저희 경품 추첨 도구에서도 쓰이는, 브라우저의 암호학적으로 안전한 난수 소스인 crypto.getRandomValues에서 나옵니다 — 더 빠르지만 예측에 저항하도록 설계되지 않은 Math.random이 아닙니다. 올바른 구현 역시 여기서 중요합니다: 매 단계에서 교환할 위치를 아직 섞이지 않은 나머지 부분이 아니라 목록 전체에서 고르는 식의 순진한 셔플은 조용히 통계적 편향을 만들어냅니다. 일부 최종 배치가 다른 배치보다 더 자주 나오게 되는 것인데, 이는 실제 확률이 직관과 다르게 작동하는 생일 역설(birthday paradox)과 정신적으로 비슷한 미묘한 효과입니다. 제대로 구현된 피셔-예이츠 셔플은 이를 피합니다: 매 단계에서 아직 배치되지 않은 요소들 중에서만 균등하게 고르기 때문에, 가능한 모든 순서가 똑같이 나올 확률을 유지합니다.
알아두어야 할 점
균등하게 나뉘지 않는 인원을 그룹으로 나누는 것은 셔플 자체와는 별개의 설계 결정입니다. 목록이 완벽하게 동일한 팀으로 나뉠 수 없을 때, 남는 인원은 한 팀에 몰아넣는 대신 첫 번째 팀부터 시작해 팀당 한 명씩 추가로 분배됩니다 — 완벽하게 균등한 답이 없는 나머지를 처리하는 가장 공정한 방법입니다.
- 목표 팀 수 또는 목표 팀 크기 중 상황에 실제로 중요한 기준을 선택해 나눌 수 있습니다.
- 다시 나누기를 누르면 셔플을 처음부터 새로운 무작위성으로 다시 실행하여, 이전 배치를 재배열한 것이 아니라 진짜로 다른 배치를 만들어냅니다.
- 이름은 전적으로 브라우저 안에서 섞이며 어디로도 전송되지 않으므로, 비공개 학급 명단이나 팀 명단에도 안심하고 사용할 수 있습니다.
자주 묻는 질문
인원수가 딱 나누어떨어지지 않으면 어떻게 되나요?
남는 인원은 1팀부터 한 명씩 추가로 배분됩니다 — 11명을 3팀으로 나누면 4-4-3이 되고, 5-3-3이 되는 일은 없습니다.
정말 무작위로 나뉘나요?
네 — 브라우저의 암호학적 난수 소스인 crypto.getRandomValues로 구동되는 편향 없는 피셔-예이츠 셔플입니다. 다시 나눌 때마다 매번 진짜 새로운 조합이 나옵니다.
특정 두 사람을 같은 팀에 넣거나 떨어뜨릴 수 있나요?
자동으로는 안 됩니다 — 나눈 뒤 필요하면 두 사람을 직접 맞바꾸세요. 조건부 나누기는 저희 아이디어 목록에 있습니다.
피셔-예이츠 셔플은 어디에서 유래했나요?
1938년 로널드 피셔와 프랭크 예이츠가 통계용 수작업 셔플 절차로 처음 기술했습니다. 1964년 리처드 더스텐펠드가 이를 오늘날 쓰이는 효율적인 컴퓨터 알고리즘으로 바꾸었고, 이후 도널드 커누스가 널리 알리면서 커누스 셔플이라고도 불리게 되었습니다.
왜 더 단순한 무작위 셔플을 쓰지 않나요?
매 단계에서 교환 위치를 아직 섞이지 않은 나머지 부분이 아니라 목록 전체에서 고르는 것과 같은 순진한 방식은 특정 최종 배치를 다른 배치보다 조용히 더 선호하게 됩니다. 제대로 구현된 피셔-예이츠 셔플은 각 교환을 아직 배치되지 않은 요소들 중에서만 선택하므로, 가능한 모든 순서가 똑같이 나올 확률을 갖게 됩니다.
비슷한 도구
문제 신고하기
랜덤 팀 나누기 (그룹 생성기)
댓글
아직 댓글이 없습니다 — 첫 댓글을 남겨보세요!