시즌 1 · 알파고편 / PART 2 · PART 2 · 게임을 푸는 첫 방법: 탐색 / Ch 3 · 알파-베타 가지치기

가지치기 단계별로 — 시각화

지난 챕터 같은 트리. 위는 알파-베타가 거치는 경로. 노드 단계별 따라가보자.

  1. 왼쪽 MIN 노드 진입. α = -∞, β = +∞.
    • 자식 잎 3 보고 → MIN의 임시값 = 3. β를 3으로 갱신.
    • 자식 잎 5 보고 → MIN의 임시값 = min(3, 5) = 3. 변화 없음.
    • 이 MIN 노드의 최종값 = 3.
  2. 루트로 돌아옴. MAX의 임시값 = 3. α = 3으로 갱신.
  3. 오른쪽 MIN 노드 진입. α = 3, β = +∞.
    • 자식 잎 2 보고 → MIN의 임시값 = 2. β를 2로 갱신.
    • 이제 β(=2) ≤ α(=3)!! → 가지치기!
    • 다음 자식 잎 9 안 봄. 이 MIN 노드는 ≤2 임을 알면 충분.
  4. 루트의 최종값 = max(3, ≤2) = 3.
🎯 왜 9를 안 봐도 되나

오른쪽 MIN 노드가 ≤2 라는 걸 알면 충분. 왜냐하면:

  • MAX는 이미 왼쪽에서 3을 확보.
  • 오른쪽이 ≤2 라는 건 ≤2 보다 작거나 같다는 의미. (9를 봐도 결국 MIN이 작은 걸 골라 ≤2.)
  • MAX는 3 vs ≤2 비교 후 무조건 3 선택. → 오른쪽 가지의 정확한 값은 몰라도 결정 가능.

이게 알파-베타의 본질 — "불필요한 정밀도를 안 추구".

이 작은 트리에서는 7개 노드 중 1개만 가지치기. 더 큰 트리에서는 효과가 엄청 커. 다음 페이지에서 코드로.

컴포넌트 로딩 중...