Expectimax とは何か? Minimaxとの違いは?
Expectimaxについて、
日本語で解説してるサイトを見つけられなかったので
自力で Expectimax を調べてみた結果を整理してみる。
ExpectiMaxとは
行動を確率の分岐として描けるような場合に、
ある分岐以降の価値(重み)を、その分岐の1つ先の階層にある価値を平均した値で表現し、
その値が最大となる分岐を選択する探索方法。
機械学習でも用いられる探索方法の一つ。
特に、2人プレイのゼロサムで、かつ、プレイヤーの実力とサイコロのような運の要素が絡むゲームにおける人工知能分野で活用されている。例えば、バックギャモンや、カーリングなど。
説明資料
ひとまず、概念をざっと見ておく。
(引用: Washington Univ. Artificial Intelligence Slides, Luke Zettlemoyer, 2011.)
十分伝わった気がする。
有効なケース
- パックマンの操作ロジックにて、敵が不規則な動きをするように設定された場合に、時に偶然の回避で延命できる。
苦手なケース
- パックマンの操作ロジックにて、敵が単調な動きをするように設定された場合(最短距離を直進してくる等)に、鉢合わせる可能性がある。
参考資料
Washington Universityの講義資料 (UC Berkeleyの教授、このスライドをほぼコピってた(リスペクトしてた)。)
https://courses.cs.washington.edu/courses/cse473/11au/slides/cse473au11-adversarial-search.pdf2048 に対する ExpectiMax の適用例
ハマる数値パズルゲーム「2048」攻略のコツ
GitHub - nneonneo/2048-ai at 1313a52e6c99bb7ddc28853db2bed24740689e59