Skip to main content
QUICK REVIEW

[論文レビュー] SSS* = Alpha-Beta + TT

Aske Plaat, Jonathan Schaeffer|arXiv (Cornell University)|Apr 5, 2014
Artificial Intelligence in Games被引用数 3
ひとこと要約

この論文は、Stern–Sussman–Sampson*(SSS*)アルゴリズムを、置換表(TT)を備えたアルファ・ベータ探索の系列として再定式化したAB-SSS*に再構成し、SSS*の長年の欠点である複雑さ、メモリ使用量、および遅さを解消した。この手法により、チェッカーズ、オセロ、チェスの3つのゲームで、アルファ・ベータと同等の葉ノード数を達成し、SSS*が根本的に異なるアルゴリズムではなく、アルファ・ベータの強化版であることが示された。これにより、既存のアルファ・ベータ最適化手法の統合が可能になった。

ABSTRACT

In 1979 Stockman introduced the SSS* minimax search algorithm that domi- nates Alpha-Beta in the number of leaf nodes expanded. Further investigation of the algorithm showed that it had three serious drawbacks, which prevented its use by practitioners: it is difficult to understand, it has large memory requirements, and it is slow. This paper presents an alternate formulation of SSS*, in which it is implemented as a series of Alpha-Beta calls that use a transposition table (AB- SSS*). The reformulation solves all three perceived drawbacks of SSS*, making it a practical algorithm. Further, because the search is now based on Alpha-Beta, the extensive research on minimax search enhancements can be easily integrated into AB-SSS*. To test AB-SSS* in practise, it has been implemented in three state-of-the- art programs: for checkers, Othello and chess. AB-SSS* is comparable in performance to Alpha-Beta on leaf node count in all three games, making it a viable alternative to Alpha-Beta in practise. Whereas SSS* has usually been regarded as being entirely different from Alpha-Beta, it turns out to be just an Alpha-Beta enhancement, like null-window searching. This runs counter to published simulation results. Our research leads to the surprising result that iterative deepening versions of Alpha-Beta can expand fewer leaf nodes than iterative deepening versions of SSS* due to dynamic move re-ordering.

研究の動機と目的

  • SSS*の長年の実用的制限、すなわち高いメモリ使用量、複雑さ、および遅い実行速度を是正すること。
  • 既存のアルファ・ベータフレームワークに置換表統合を組み合わせることで、SSS*を効率的に実装できることを示すこと。
  • AB-SSS*が実際のゲームAIプログラムにおいて、アルファ・ベータと同等またはそれを上回る葉ノード効率を達成できるかどうかを評価すること。
  • 繰り返し深さ優先探索(iterative deepening)版のSSS*が、過去のシミュレーション結果とは対照的に、アルファ・ベータを上回る可能性があるかどうかを調査すること。

提案手法

  • 共通の置換表を用いて、SSS*をアルファ・ベータ探索の系列に再定式化する。
  • 置換表を用いて重複計算を回避し、探索効率を向上させ、SSS*の最適なノード展開を模倣する。
  • AB-SSS*を、チェッカーズ、オセロ、チェスの3つの最先端ゲームAIプログラムに統合する。
  • 動的手順順序付けと繰り返し深さ優先探索を活用し、標準的なアルファ・ベータの最適化手法を用いてパフォーマンスを向上させる。
  • 3つのゲームすべてにおいて、AB-SSS*と標準的なアルファ・ベータの葉ノード数を比較する。
  • 置換表を用いて境界値を保存し、探索の各分岐間で情報を効率的に伝達する。

実験結果

リサーチクエスチョン

  • RQ1置換表を備えたアルファ・ベータ探索の系列として再定式化することで、SSS*を実用的に行えるか?
  • RQ2AB-SSS*は、実世界のゲームAIプログラムにおいて、アルファ・ベータと同等の葉ノード数を達成できるか?
  • RQ3なぜ繰り返し深さ優先探索版のアルファ・ベータは、繰り返し深さ優先探索版のSSS*よりも葉ノードを少なく展開する場合があるのか?
  • RQ4SSS*はアルファ・ベータとは根本的に異なるアルゴリズムなのか、それとも強化されたプルーニングを備えたアルファ・ベータの別形に過ぎないのか?
  • RQ5既存のアルファ・ベータ最適化手法は、AB-SSS*に効果的に適用可能か?

主な発見

  • AB-SSS*は、チェッカーズ、オセロ、チェスの3つのゲームで、アルファ・ベータと同等の葉ノード数を達成し、実用的であることが示された。
  • 再定式化により、SSS*の長年の欠点が解消された:理解が容易になり、メモリ使用量が減少し、実行速度が向上した。
  • 動的手順順序付けの効果により、繰り返し深さ優先探索版のアルファ・ベータは、繰り返し深さ優先探索版のSSS*よりも葉ノード数が少ないことが確認された。
  • SSS*はアルファ・ベータとは根本的に異なるアルゴリズムではなく、ヌルウィンドウ探索に似た強化版のアルゴリズムである。
  • 置換表の統合により、探索情報の再利用が効率的に行えるようになり、AB-SSS*は正しくかつ効率的なアルゴリズムとなった。
  • 過去のシミュレーションに基づく「SSS*がアルファ・ベータを葉ノード効率で上回る」という主張とは対照的に、実際には良い手順順序付けを備えたアルファ・ベータが優れていることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。