코드: 무작위 게임 1번 + 승자 판정
rollout() 함수가 핵심:
def rollout(game):
while game.winner() is None:
moves = game.possible_moves()
pos = random.choice(moves) # ← 무작위 한 수
game = game.play(pos)
return game.winner()
한 번 실행은 의미 없음. 어쩌다 X 이기고, 어쩌다 O 이기고, 가끔 draw. 5번 돌리면 결과가 다 다름. 사람이 보면 "이게 뭐 하는 거야?" 싶음.
💡 그러나 1000번 평균은?
틱택토 빈 보드에서 무작위로 끝까지 두면 X가 약 59%, O가 약 29%, 무승부 약 12% 정도 나옴 (X가 선수라 약간 유리). 같은 자리(빈 보드)에서 항상 같은 비율.
이게 통계적 신호. 자리마다 이 비율이 다름. 좋은 자리는 비율이 높음.
다음 페이지에서 정말 그런지 측정해보자.
PYTHON