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

Iteration 수와 결과 품질

Iteration이 늘어남에 따라 결과:

iter 시간 최선 수 1위 visits 승률
1000.04s(5,5)350%
5000.24s(5,5)1150%
20000.89s(5,5)4150%
50002.34s(5,5)10350%
⚠️ 승률이 항상 50% — 평가 함수의 한계

우리 코드 평가 = "돌 수가 많은 쪽 승, 동률은 draw". 7x7 무작위 게임에서 흑/백 돌 수는 거의 항상 동률에 가까워 → 대부분 draw → 모든 첫 수의 승률이 50% 균등.

이건 우리 코드의 한계지, MCTS 알고리즘의 한계가 아님. 실제 영역 평가를 쓰면 신호가 명확히 잡힘 (50% 균등이 아닌 65~75% 등).

📊 만약 진짜 영역 평가를 쓰면

알파고나 GnuGo 같은 진짜 엔진은 게임 끝의 영역을 정확히 계산. 그러면:

  • 중앙 화점 (3,3): 승률 75% (영역 형성 좋음)
  • 코너 (0,0): 승률 30% (구석에 갇혀 영역 못 키움)
  • 변 가운데 (3,0): 승률 55% (보통)

이런 차이로 UCB1이 좋은 자리에 자동 집중. 같은 알고리즘, 다른 평가 함수, 완전히 다른 결과.

💡 핵심 교훈

"평가 함수가 약하면 어떤 알고리즘도 한계." minimax든 MCTS든 입력이 정확해야.

이게 PART 4 신경망의 출발점 — 학습된 정확한 평가 함수. 우리가 만든 단순 평가를 신경망으로 대체하면 같은 MCTS가 진짜 강해짐.

다음 페이지에서 minimax와 MCTS를 직접 대결시켜본다.

PYTHON