시즌 1 · 알파고편 / PART 3 · PART 3 · 무작위의 힘: MCTS / Ch 5 · 무작위 시뮬레이션의 한계

약점 1: 무작위 Rollout의 품질

MCTS의 ③ Simulate 단계에서 양쪽이 무작위로 끝까지 두는데, 그게 진짜 좋은 평가일까?

🎲 무작위 게임의 노이즈

한 번의 rollout 결과는 정말 임의. 같은 시작 상태에서:

  • 1번 rollout: 흑 50집 vs 백 30집 → 흑 승
  • 2번 rollout: 흑 35집 vs 백 65집 → 백 승
  • 3번 rollout: 흑 45집 vs 백 55집 → 백 승

완전히 다른 결과. 만약 시작 상태가 흑한테 약간 좋다면, 1000번 평균이 약 52% (조금 흑 승) 정도. "진짜 신호 2%, 무작위 노이즈 98%".

이 노이즈를 줄이려면 N을 늘려야 해. 통계 법칙: 표준 오차 ∝ 1/√N.

📊 7x7 vs 19x19 노이즈 비교
  • 7x7: 게임 길이 ~40수. 그 중 무작위 ~37수. 노이즈 적당. 1000 iter면 충분히 변별 가능.
  • 19x19: 게임 길이 ~250수. 그 중 무작위 ~245수. 노이즈 막대. 같은 정확도 달성하려면 ~30,000 iter 필요.

같은 시간 예산에서 7x7과 19x19의 차이가 어마어마함.

⚠️ 더 심각한 문제: 무작위가 진짜 무작위가 아님

"양쪽이 똑같이 멍청하게 둔다"는 가정이 사실 정확하지 않아. 사람 게임에서 실제로 일어나는 분포와 무작위 분포는 매우 달라.

  • 무작위 게임: 49개 자리에 균등하게 둠
  • 실제 사람 게임: 화점(중앙), 변, 코너에 90%의 수가 집중

그래서 무작위 rollout이 보여주는 "결과 분포"가 진짜 분포와 다름. MCTS가 잘못된 신호 받음.

해결책 시도 — 무작위 대신 약간 똑똑한 rollout:

📖 Heavy Playout (MoGo 2007)

완전 무작위 대신 간단한 패턴 매칭으로 "약간 그럴듯한 수" 선택. 예:

  • 3x3 모양에 정해진 좋은 응수가 있으면 그걸 선택
  • 잡힐 위기의 돌이 있으면 살리는 수 우선
  • 그렇지 않으면 무작위

이런 휴리스틱으로 MoGo의 9x9 성능 도약. 그러나 19x19은 패턴이 너무 많아 한계.

결국 진짜 해법은 — rollout을 사람 게임 분포에 맞게 학습. 사람 게임 데이터로 신경망이 "다음 수 확률 분포"를 학습. 이게 PART 4 시작.