원본 게시물: 여러분은 이 문제의 답이 무엇이라고 생각하시나요
큰수의 법칙에 의하면 해당 문제의 답은 1/7로 보입니다.
문제 해설서와 댓글로 오간 토론에 의한 인지 편향을 제거하고자 해당 상황을 재현하는 코드를 작성하였습니다.
# encoding: utf8
import random
person_assigned_team = list('AAAABBBB') # i번째 사람이 배정된 팀
person_in_hr = ([True] * 3) + ([False] * 5) # i번째 사람이 인사부서 소속인가?
loop_count = 0
match_count = 0
while loop_count < 1_000_000:
random.shuffle(person_in_hr)
if not all(person_in_hr[:3]):
continue
random.shuffle(person_assigned_team)
# 세명이 모두 인사부서 소속이고 같은 팀(A 또는 B)에 배정되었는가?
if len(set(person_assigned_team[:3])) == 1:
match_count += 1
loop_count+=1
if loop_count % 10_000 == 0:
print('{} / {} = {}'.format(match_count, loop_count, match_count/loop_count))
# ...
# 140075 / 980000 = 0.14293367346938776
# 141503 / 990000 = 0.14293232323232324
# 142935 / 1000000 = 0.142935
# 1/7 = 0.14285714285714285
댓글 1개 ▼