미니맥스 알고리즘

미니맥스 알고리즘은 두 참가자가 순서대로 행동하는 결정적 영합 게임에서 최선의 수를 선택한다 게임 트리 탐색 분야에서 이 문제를 해결하기 위한 계산 모델을 제공하며, 실제 구현에서는 상태를 표현하는 방법과 단계별 조건을 정의해야 한다. 알고리즘의 목표, 최적성 또는 오차의 보장 여부는...

분류알고리즘 · 게임 트리 탐색
해결 문제두 참가자가 순서대로 행동하는 결정적 영합 게임에서 최선의 수를 선택한다
핵심 절차현재 차례의 플레이어는 자기에게 유리한 점수를 최대화하고 상대 차례에서는 반대로 점수가 최소가 되는 수를 선택한다고 가정한다
연산·성능분기수 b, 탐색 깊이 d에서 O(b^d) 시간·O(d) DFS 스택
사용 전제완전정보·영합·상대의 최적 대응이라는 게임 모델이 필요하다
참고 자료관련 기술 문서
관련 기술알고리즘, 계산 복잡도

미니맥스 알고리즘은 두 참가자가 순서대로 행동하는 결정적 영합 게임에서 최선의 수를 선택한다 게임 트리 탐색 분야에서 이 문제를 해결하기 위한 계산 모델을 제공하며, 실제 구현에서는 상태를 표현하는 방법과 단계별 조건을 정의해야 한다. 알고리즘의 목표, 최적성 또는 오차의 보장 여부는 사용하는 계산 모델에 따라 해석한다.[1]

동작 방식은 현재 차례의 플레이어는 자기에게 유리한 점수를 최대화하고 상대 차례에서는 반대로 점수가 최소가 되는 수를 선택한다고 가정한다. 말단 상태부터 평가값을 위로 전달한다. 각 처리 단계에서 상태·값·데이터 구조의 의미가 유지되도록 구현하고, 알고리즘의 종료 또는 수렴을 판정하는 조건을 함께 둔다.

복잡도 및 실행 조건은 분기수 b, 탐색 깊이 d에서 O(b^d) 시간·O(d) DFS 스택 올바른 활용에는 완전정보·영합·상대의 최적 대응이라는 게임 모델이 필요하다 입력의 크기, 데이터 분포와 처리 환경이 달라질 때 성능 또는 결과가 어떻게 달라지는지도 중요한 평가 대상이다.

구체적인 적용을 보면 체스·오목·게임 AI 탐색에 사용한다. 깊이 제한이 있는 구현에서는 휴리스틱 평가 함수를 사용하고 알파-베타 가지치기로 불필요한 분기를 줄인다. 다른 방법과 비교할 때 계산 비용, 결과의 정확성, 입력 전제 및 구현 복잡성에 따라 적절한 기법을 선택하게 된다. 원래 모델의 전제가 성립하는지를 확인하면 실용적인 코드 구현과 이론 분석을 연결할 수 있다.[2]

역사와 연구 배경

문제와 계산 모델

입력과 결과

핵심 가정

원리

상태와 변수

단계별 절차

종료·수렴 조건

정확성 및 이론

복잡도

시간·연산 비용

메모리·통신 비용

구현

자료 구조

의사 코드

수치적 주의점

변형과 비교

활용

관련 문서

  1. 참고 문헌 ↩
  2. NIST DADS ↩