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

코드: MCTS vs Minimax 정면 대결

대국 결과를 보자:

🎯 대국 결과
  • minimax(흑): 매 수 0.01초로 빠름. 0행을 줄곧 채우는 패턴 — 평가 함수가 그것밖에 못 잡음
  • MCTS(백): 매 수 0.5초 사용. (5,6), (0,3), (4,4), (3,4) 등 다양한 자리 분산 — 통계 신호로 자리 선택
  • 결과: 양쪽 10돌 동률 → 백(MCTS) 승 (코드의 평가 규칙)
💡 진짜 의미 있는 차이

단순 돌 수로는 10:10 동률이지만, 모양(shape)을 보면:

  • 흑(minimax): 0행 한 줄 + 1행 부분 — 일자형, 영역 형성 못함
  • 백(MCTS): 중앙 부근 5개, 분산 배치 — 두텁고 영향력 큰 모양

실제 바둑 점수 계산(영역)이면 백이 압승. 30집 vs 7집 차원. MCTS의 자리 선택이 명백히 더 좋은 모양.

⚠️ 우리 평가의 한계 vs MCTS의 잠재력

코드 안 평가는 단순 돌 수라 신호가 약했고 (Ch4 §2, §3에서 본 50% 균등), 대국에서도 결국 동률. 그런데도 MCTS가 다양한 좋은 자리를 발견하는 게 명확함.

실제 알파고는:

  1. 같은 MCTS 구조 사용
  2. 평가 함수를 신경망으로 교체 (PART 4 주제)
  3. 그 결과 신호 명확해져 MCTS가 진짜 강해짐

같은 알고리즘, 다른 평가 → 알파고는 minimax 기반보다 ELO 800 강함.

📊 실제 측정된 ELO 등급 (역사적 데이터)
  • 1990~2005 minimax 기반 컴퓨터 바둑: ELO ~1000 (아마추어 9급)
  • 2007 MoGo (MCTS 9x9): ELO ~2300 (아마추어 5단) — 1300 ELO 도약
  • 2014 Crazy Stone (MCTS + 경험적 휴리스틱): ELO ~2700
  • 2016 알파고 v18 (MCTS + 신경망): ELO ~3500

MCTS 도입 자체가 컴퓨터 바둑에서 거대한 점프를 만든 알고리즘.

PYTHON