1行定義
探索木とは、問題の状態をノード、状態を移す操作を枝として、出発点から考えられる手順を木の形に広げて表したもののことです。
くわしく
探索木は、パズルや迷路、ゲームのような問題を、コンピュータが手順を試しながら解くための表し方です。第1次AIブームの「探索・推論」の中心にあった考え方です。
木の形で表す
出発点の状態を「根」に置きます。そこから1回の操作で移れる状態を、子ノードとしてつなぎます。これを繰り返すと、可能な手順が枝分かれした木になります。ゴールの状態にたどり着く経路が見つかれば、それが解です。実際の探索では、木の全体を先に作るのではなく、調べる順に枝を広げていきます。
迷路なら、分かれ道がノード、進む方向が枝にあたります。ハノイの塔なら、円盤の置き方の1通りが1つのノードです。
どの順に調べるか
ノードを調べる順番によって、探索の方法が分かれます。根に近いノードから順に調べるのが幅優先探索です。手数が最も少ない解を見つけられますが、メモリを多く使います。1本の枝を行き止まりまでたどるのが深さ優先探索です。メモリは少なくて済みますが、最初に見つかる解が最短とは限りません。
対戦ゲームでは、自分と相手の手番が交互に並ぶ探索木を作ります。Mini-Max法で指す手を選び、αβ法で調べなくてよい枝を刈ります。
組合せ爆発
1つのノードからの枝分かれが多いと、深くなるにつれてノードの数は指数関数的に増えます。分岐が10通りなら、5手先で10万通りです。すべてを調べるブルートフォースは現実的でなくなるため、枝刈りや、モンテカルロ法による評価などの工夫が使われます。
また、探索木で解けるのは、ルールとゴールがはっきりした問題に限られます。現実の複雑な問題を解けないことは、トイ・プロブレムしか解けないという批判につながりました。
覚え方
「根は出発点、枝は操作、たどった先にゴール」と覚えます。
G検定での出題
出題のされ方
迷路やハノイの塔を探索木で表す考え方、幅優先探索・深さ優先探索でノードを調べる順番、対戦ゲームの探索木に対するMini-Max法やαβ法の適用が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| 探索木このページの用語 | 問題の状態をノード、状態を移す操作を枝として、出発点から考えられる手順を木の形に広げて表したもの |
| 決定木 | 「ある特徴量が基準値以上か」のような条件による分岐を木の形に重ねて、分類や回帰の予測を行う機械学習の手法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
探索木では、出発点の状態を根とし、ある状態から1回の操作で移れる状態を、その子ノードとして表す。
答えを見る
答え ◯ 正しい
根から枝をたどる経路が操作の手順にあたります。ゴールの状態に着く経路が見つかれば、それが問題の解です。
-
探索木は、探索を始める前に、すべてのノードをあらかじめメモリ上に作っておく必要がある。
答えを見る
答え × 誤り
探索木は、探索を進めながら、調べる部分だけを順に展開していきます。すべてを先に作ろうとすると、組合せ爆発でノードが膨大になり、メモリが足りなくなります。
-
決定木と探索木はどちらも木の形をしているが、決定木は特徴量の条件でデータを分けて予測するモデルであり、解の手順を探す探索木とは目的が異なる。
答えを見る
答え ◯ 正しい
決定木は教師あり学習の手法です。探索木は、第1次AIブームの探索・推論で使われた問題の表し方です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目3 探索・推論)
- Stuart Russell, Peter Norvig, Artificial Intelligence: A Modern Approach, 4th ed., Pearson (2020) (Chapter 3 Solving Problems by Searching)