적대적 탐색 및 게임 플레이
적대적 탐색은 경쟁적인 환경에서 의사 결정을 연구하는 분야로, 에이전트가 반대 결과를 얻으려는 상대방에 맞서 게임 트리에서 움직임을 선택해야 합니다.
Definition
적대적 탐색은 플레이어가 교대로 턴을 수행하는 게임 트리를 탐색하여 플레이어의 움직임을 계산합니다. 이는 미니맥스 원리(각 플레이어는 상대방이 최적으로 플레이한다고 가정하고 최적화함)와 가지치기 및 휴리스틱 평가를 함께 사용하여 큰 트리에 대처합니다.
Scope
이 주제는 2인용, 제로섬, 완전 정보 게임에서의 탐색을 다룹니다. 여기에는 미니맥스(minimax) 결정 규칙, 미니맥스가 명백히 관련 없는 가지를 건너뛸 수 있게 하는 알파-베타 가지치기(alpha-beta pruning), 정확하게 풀기에는 너무 큰 게임을 위한 평가 함수 및 깊이 제한 탐색, 그리고 분기 계수가 매우 큰 게임을 위한 몬테카를로 트리 탐색이 포함됩니다. 게임 트리가 어떻게 모델링되는지, 그리고 계산 한계가 어떻게 휴리스틱(heuristic) 차단을 강제하는지를 다룹니다. 이 주제는 다중 에이전트 시스템에서 다루는 다중 에이전트 인센티브의 일반적인 게임 이론적 균형 분석은 다루지 않습니다.
Core questions
- 미니맥스 규칙은 최적의 상대방에 대해 어떻게 최적의 움직임을 결정합니까?
- 알파-베타 가지치기는 미니맥스 값에 영향을 주지 않고 어떻게 가지를 제거합니까?
- 큰 게임에서 고정된 깊이에서 탐색을 중단하기 위해 평가 함수는 어떻게 사용됩니까?
- 깊이 제한 미니맥스보다 몬테카를로 트리 탐색이 선호되는 경우는 언제입니까?
Key concepts
- 게임 트리
- 미니맥스 값
- 알파-베타 가지치기
- 평가 (휴리스틱) 함수
- 깊이 제한 탐색 및 지평선 효과
- 제로섬 완전 정보 게임
- 몬테카를로 트리 탐색
- 움직임 순서화
Key theories
- 미니맥스 결정 규칙
- 2인용 제로섬 게임에서 각 플레이어는 자신의 최소 보장 결과를 최대화하는 움직임을 선택합니다. 이러한 최대/최소 값을 게임 트리 위로 전파하면 루트에서 최적의 움직임이 도출됩니다.
- 알파-베타 가지치기
- 최대화 플레이어와 최소화 플레이어에게 이미 보장된 최상의 값을 추적함으로써, 알파-베타 탐색은 특정 서브트리가 최종 결정에 영향을 미칠 수 없음을 증명하고 이를 건너뜁니다. 이는 정확한 미니맥스 값을 반환하면서도 최상의 경우 주어진 시간 내에 도달 가능한 깊이를 대략 제곱으로 늘립니다.
- 몬테카를로 트리 탐색
- 분기 계수가 너무 커서 완전한 탐색이 불가능할 때, 몬테카를로 트리 탐색은 무작위 롤아웃과 탐색 및 활용의 균형을 맞추는 선택 규칙에 따라 비대칭 트리를 구축합니다. 이 방법은 바둑과 같은 게임에서 컴퓨터 플레이를 변화시켰습니다.
Clinical relevance
적대적 탐색은 알파-베타 탐색을 사용하는 체스 엔진부터 몬테카를로 트리 탐색 기반의 바둑 프로그램에 이르기까지 획기적인 AI 시스템을 탄생시켰으며, 동일한 기술이 자동 협상, 보안 게임, 그리고 최적화하는 당사자들 간의 경쟁으로 모델링되는 모든 환경에 적용됩니다.
History
섀넌(Shannon)의 1950년 논문은 컴퓨터 체스를 평가 함수를 사용한 미니맥스 탐색으로 구성했으며, 폰 노이만(von Neumann)의 미니맥스 정리는 게임 이론적 토대를 제공했습니다. 알파-베타 가지치기는 1950년대에서 60년대에 걸쳐 개발되었고 크누스(Knuth)와 무어(Moore, 1975)에 의해 엄격하게 분석되었습니다. 2000년대에 공식화된 몬테카를로 트리 탐색은 특히 바둑에서 게임 플레이 능력의 다음 도약을 이끌었습니다.
Key figures
- Claude E. Shannon
- John von Neumann
- Arthur Samuel
- Donald E. Knuth
- Ronald W. Moore
Related topics
Seminal works
- shannon1950
- knuth1975
- browne2012
Frequently asked questions
- 알파-베타 가지치기는 미니맥스가 선택할 움직임을 변경합니까?
- 아닙니다. 알파-베타 가지치기는 완전한 미니맥스와 정확히 동일한 값과 움직임을 반환합니다. 단지 결과에 영향을 미칠 수 없다고 증명된 가지를 탐색하는 것을 피할 뿐입니다. 그 이점은 속도이며, 좋은 움직임 순서화(move ordering)를 통해 동일한 시간 내에 대략 두 배 깊이까지 탐색할 수 있습니다.
- 바둑과 같은 게임에서 미니맥스 대신 몬테카를로 트리 탐색을 사용하는 이유는 무엇입니까?
- 바둑은 분기 계수가 매우 크고 간단하고 정확한 평가 함수가 부족하여 고정 깊이 미니맥스가 비효율적입니다. 대신 몬테카를로 트리 탐색은 많은 무작위 플레이아웃을 통해 움직임의 품질을 추정하고 유망한 방향으로 트리를 선택적으로 성장시킵니다. 이는 이러한 게임에서 훨씬 더 잘 확장됩니다.