시즌 1 · 알파고편 / PART 3 · PART 3 · 무작위의 힘: MCTS / Ch 3 · MCTS 4단계

코드: 완성된 MCTS — best_move 함수

완성된 MCTS의 두 가지 테스트:

🎯 테스트 1: 빈 보드
  • 1000번 iteration. 가운데 (1,1)에 191번 방문 (19%) — 최다
  • 코너 (2,2)도 171번 — 2위 (코너도 강한 수)
  • 약한 변 자리 (0,1)는 64번만 시도
  • MCTS의 답: (1,1) — 정답
🎯 테스트 2: 응징 시나리오

X(0,0), O(0,1) 후 X 차례. PART 2 Ch 5 §5와 같은 상황. minimax는 (1,1)이 정답이라고 했지.

  • 2000번 iteration 중 (1,1)에 725번 방문 (36%)
  • (1,1) 승률 85.9% — 압도적
  • 2위 (2,0) 519번 방문, 83% 승률 — 대각 코너도 강함
  • MCTS의 답: (1,1) — minimax와 일치

MCTS가 minimax와 같은 정답을 다른 방식으로 찾았다. 끝까지 안 보고, 통계로.

💡 MCTS의 강점
  • 평가 함수 불필요 — 게임 규칙만 알면 됨
  • 시간 가변 — iteration 수로 조절 (1000번이든 10만 번이든)
  • 점진적 개선 — 더 많이 돌리면 더 정확
  • 비대칭 트리 — 좋은 가지로 깊이 들어감

이게 minimax의 두 약점(평가 함수, 분기 인자)을 동시에 우회. 알파고가 이걸로 도약.

다음 챕터에서 같은 MCTS를 7x7 바둑에 적용해 minimax 7x7과 정면 대결.

PYTHON