探索木による問題解決
探索・推論は、問題の状態を「場合分け」して木構造(探索木)で表し、初期状態から目標状態に至る経路を見つける方法です。迷路やハノイの塔(3本の柱と円盤の配置が状態、円盤の移動が枝)が典型例です。
| 手法 | 特徴 |
|---|---|
| 幅優先探索 | 出発点に近いノードから順にすべて調べる。最短経路を必ず見つけられるが、途中のノードをすべて記憶するためメモリを大量に使う |
| 深さ優先探索 | 1つの枝を行き止まりまで進んでから戻る。メモリは少なくて済むが、最初に見つけた解が最短とは限らない |
| ブルートフォース | 考えられる組み合わせをすべて調べる総当たり。組み合わせが指数的に増える問題では現実的でない |
プランニング:STRIPSとSHRDLU
STRIPS(1971年)は「前提条件」「行動」「結果」の3つの組み合わせで行動を記述し、目標を達成する行動の列を探索するロボットの行動計画の手法です。SHRDLUはテリー・ウィノグラードが開発した、積み木の世界を対象に英語の指示を理解して操作するシステムで、限定された世界では自然言語理解が可能であることを示しました。
ゲームの探索
二人零和ゲーム(将棋、チェスなど)では、自分は評価値が最大の手を、相手は自分にとって最小になる手を選ぶと仮定して探索するMini-Max法を用います。「これ以上調べても評価が変わらない」枝の探索を打ち切って計算量を減らす工夫がαβ法です(αカットとβカット)。
囲碁のように局面の評価が難しいゲームでは、ある局面から終局までランダムに何度もプレイアウトして勝率を集計するモンテカルロ法(モンテカルロ木探索)が使われました。アルファ碁はこれにディープラーニングと強化学習を組み合わせています。
試験で問われる観点
- 幅優先と深さ優先の違い(最短性とメモリ)
- STRIPSの3要素、SHRDLUの積み木の世界
- Mini-Max法の考え方、αβ法は枝刈りによる効率化
- モンテカルロ法はランダムなプレイアウトの統計