시즌 1 · 알파고편 / PART 2 · PART 2 · 게임을 푸는 첫 방법: 탐색 / Ch 2 · Minimax

Minimax — 게임 알고리즘의 출발점

👋 이 챕터에서 배울 것

1950년대부터 쓰여 온 클래식 알고리즘 Minimax. "내가 최선을 둔다, 상대도 최선을 둔다"는 단 한 가지 가정에서 모든 게임 AI가 시작돼.

지난 챕터에서 게임 트리를 만들었어. 그런데 트리만 있다고 게임이 두어지는 건 아니지. 트리의 어떤 가지가 좋고, 어떤 가지가 나쁜지 평가해야 해.

핵심 아이디어는 이래:

🎯 Minimax의 한 줄 정의

"나는 점수를 최대화(Max)하고, 상대는 내 점수를 최소화(Min)할 것이다"를 가정하고, 끝까지 다 본 뒤 최선의 첫 수를 고른다.

왜 이게 합리적일까? 상대도 똑똑하다고 가정하는 거야. 상대가 멍청해서 실수할 거라고 기대하지 않는 거. 그러면 최악의 경우에도 보장된 최선을 둘 수 있어. 리스크 헤지의 본질.

이 챕터:

  • MAX 노드와 MIN 노드 — 누구의 차례인가에 따라 다르게
  • Leaf에서 위로 전파되는 점수 계산
  • 코드: minimax 재귀 함수 (의외로 짧다)
  • 작은 트리에서 시각적으로 본다
  • 깊이 제한 + heuristic — 끝까지 못 갈 때

알파고도, 알파제로도, 그 알고리즘의 뿌리는 minimax야. 이걸 모르면 다음 PART들이 의미 없음.