Minimax + 알파-베타 적용
실행 결과 핵심 두 가지:
- 빈 보드에서 점수 0. 양쪽이 최선을 두면 무승부.
- O가 실수하니까 X가 (0,2)에 두면서 즉시 이김 결정. 이게 "응징" 동작.
💡 minimax_ab의 한 가지 추가
지난 챕터의 알파-베타는 점수만 반환했어. 여기서는 (점수, 최선의 수) 튜플 반환. 같은 알고리즘이지만 실전 사용에 필요한 정보 추가.
이 한 줄 추가가 "이론"에서 "실제 AI"로 가는 다리.
⚠️ 알파-베타 없이는 이게 가능할까
틱택토는 작아서 알파-베타 없이도 동작. 다만 노드 약 55만 개 봐야 함 (3초 정도). 알파-베타로는 1.8만 개 (0.1초). 사용성에 차이.
체스나 바둑이면 차이가 압도적. 알파-베타 없으면 1수에 며칠 걸림.
이제 진짜 AI 두 개를 서로 붙여보자. 항상 무승부 나와야 함.
PYTHON