Skip to main content
QUICK REVIEW

[논문 리뷰] Best-First and Depth-First Minimax Search in Practice

Aske Plaat, Jonathan Schaeffer|arXiv (Cornell University)|2015. 05. 07.
Artificial Intelligence in Games참고 문헌 31인용 수 4
한 줄 요약

이 논문은 SSS*와 같은 최적 우선 탐색 알고리즘을 알파-베타 탐색을 사용해 효율적인 깊이 우선 탐색 변종으로 재구성함으로써 SSS*의 실용적 단점을 제거하는 통합 프레임워크를 제안한다. 이 프레임워크는 MTD(f)라는 새로운 알파-베타 변종을 가능하게 하여, 최적의 탐색 행동을 유지하면서도 노드 평가 수를 줄임으로써 실질적으로 SSS*와 NegaScout를 능가한다.

ABSTRACT

Most practitioners use a variant of the Alpha-Beta algorithm, a simple depth-first pro- cedure, for searching minimax trees. SSS*, with its best-first search strategy, reportedly offers the potential for more efficient search. However, the complex formulation of the al- gorithm and its alleged excessive memory requirements preclude its use in practice. For two decades, the search efficiency of "smart" best-first SSS* has cast doubt on the effectiveness of "dumb" depth-first Alpha-Beta. This paper presents a simple framework for calling Alpha-Beta that allows us to create a variety of algorithms, including SSS* and DUAL*. In effect, we formulate a best-first algorithm using depth-first search. Expressed in this framework SSS* is just a special case of Alpha-Beta, solving all of the perceived drawbacks of the algorithm. In practice, Alpha-Beta variants typically evaluate less nodes than SSS*. A new instance of this framework, MTD(f), out-performs SSS* and NegaScout, the Alpha-Beta variant of choice by practitioners.

연구 동기 및 목표

  • 최적 우선 탐색인 SSS*가 실질적으로 깊이 우선 알파-베타 탐색보다 효율적인가에 대한 오랜 논란을 해결하기 위해.
  • 복잡한 구현과 높은 메모리 사용으로 인해 실용성이 떨어지는 SSS*의 문제점을 해결하기 위해.
  • 알파-베타 탐색을 통해 깊이 우선 프레임워크 내에서 최적 우선 탐색 행동을 달성할 수 있음을 보여주기 위해.
  • 새로운 알파-베타 변종인 MTD(f)를 소개하고 평가하여, 프레임워크를 활용해 우수한 성능을 달성할 수 있음을 보여주기 위해.
  • SSS*와 기타 최적 우선 알고리즘들이 제안된 프레임워크 내에서 알파-베타의 특수한 경우로 효율적으로 구현될 수 있음을 보여주기 위해.

제안 방법

  • 휴리스틱 추정치를 기반으로 탐색 노드의 순서를 재정렬하여 알파-베타 탐색을 일반화함으로써 최적 우선 전략을 지원하는 일반적 프레임워크를 제안한다.
  • 프레임워크를 적용하여 SSS*를 깊이 우선 알고리즘으로 재구성함으로써 복잡한 데이터 구조와 메모리 오버헤드를 제거한다.
  • 프레임워크를 사용해 반복적 깊이 탐색을 한 번의 탐색으로 수행하는 새로운 알파-베타 변종인 MTD(f)를 유도한다.
  • 프레임워크를 활용해 DUAL*라는 다른 최적 우선 변종을 생성함으로써 동일한 구조와의 호환성을 입증한다.
  • 표준 게임 트리 벤치마크를 사용해 노드 수와 탐색 효율성을 비교하기 위해 프레임워크를 구현하고 평가한다.
  • 모든 유도된 알고리즘(예: SSS*와 MTD(f))이 표준 알파-베타와 동일한 미니맥스 값을 산출함을 증명함으로써 정확성을 확보한다.

실험 결과

연구 질문

  • RQ1최적 우선 탐색 전략(예: SSS*)을 정확성과 성능을 희생시키지 않고 깊이 우선 탐색 프레임워크 내에서 효율적으로 구현할 수 있는가?
  • RQ2노드 평가 수를 줄일 수 있다는 이론적 우월성에도 불구하고 SSS*가 왜 실질적으로 널리 채택되지 않았는가?
  • RQ3기존 알파-베타 변종(예: NegaScout)과 경쟁할 수 있는 성능을 갖는 깊이 우선 SSS* 변종을 구축할 수 있는가?
  • RQ4제안된 프레임워크가 최적 우선 탐색과 깊이 우선 탐색의 이점을 결합한 새로운 효율적인 탐색 알고리즘을 생성할 수 있는가?
  • RQ5프레임워크에서 파생된 MTD(f)는 노드 평가 수와 탐색 속도 측면에서 SSS*와 NegaScout에 비해 어떻게 비교되는가?

주요 결과

  • 제안된 프레임워크는 SSS*를 깊이 우선 알고리즘으로 성공적으로 재구성하여 고비용 메모리 요구와 복잡한 구현을 제거하였다.
  • 프레임워크에서 파생된 새로운 변종인 MTD(f)는 실질적으로 SSS*와 NegaScout보다 더 적은 노드를 평가하여 뛰어난 효율성을 입증하였다.
  • SSS*가 이론적으로는 더 적은 노드 평가를 가능하게 하지만, 실질적으로는 더 나은 상수 요소와 캐시 행동 덕분에 알파-베타 변종(포함 MTD(f)))이 SSS*를 능가한다.
  • 프레임워크는 SSS*와 기타 최적 우선 알고리즘을 표준 알파-베타 인프라를 사용해 구현할 수 있게 하여 실생활 응용에 실용적으로 가능하게 하였다.
  • 결과적으로 이론적 예측과 달리, 실질적으로 최적 우선 탐색과 깊이 우선 탐색 간의 성능 격차는 구현 및 메모리 영향으로 인해 이론적 예측보다 작다.
  • 프레임워크는 최적 우선 탐색과 깊이 우선 탐색을 위한 통합 기반을 제공하며, 하나의 알고리즘 구조 내에서 탐색 전략을 체계적으로 탐색할 수 있도록 하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.