시즌 1 · 알파고편 / PART 3 · PART 3 · 무작위의 힘: MCTS / Ch 4 · 순수 MCTS로 7x7 바둑

코드: 7x7 바둑 MCTS

실측 결과:

  • 1000번 iteration이 0.47초 — 빠름
  • MCTS의 첫 수: (5,5) — 중앙 부근
  • 49 자식 모두 21번씩 시도 (균등)
  • 모든 자식의 승률이 50% — 어? 신호가 안 잡힘?
⚠️ 모든 자식의 승률 50% — 단순 평가 함수의 한계

우리 코드의 평가 함수는 매우 단순 — "돌 수가 많은 쪽 승, 동률은 draw". 7x7 무작위 게임에서는 양쪽 돌 수가 거의 항상 동률에 가까워 → 대부분 무승부.

그래서 MCTS가 어떤 첫 수를 둬도 결과적으로 50:50으로 보임. 신호가 없으니 UCB1이 모든 자식을 균등하게 시도.

이게 Ch 5의 주제 — MCTS의 한계. 평가가 너무 단순하면 통계 신호가 묻힘.

🎯 PART 2 Ch 6 minimax와의 비교
알고리즘 첫 수 추천 시간 선택 양상
minimax 깊이 4 (0,0) 코너 0.02s 사전순 첫 자리에 갇힘
MCTS 1000 iter (5,5) 중앙 부근 0.47s 균등 탐색, 우연한 중앙 선택

둘 다 약한 평가 함수에 막혀있지만, minimax는 사전순으로 망함, MCTS는 적어도 균등하게 탐험 — 우연이라도 중앙을 선택. 진짜 다른 게임에서는 (실제 영역 평가 사용 시) MCTS가 압승.

다음 페이지에서 iteration 수를 늘리면 어떻게 변하는지 보자.

PYTHON