G検定 練習問題 #0009・探索・推論

幅優先探索と深さ優先探索の違い

人工知能をめぐる動向 › 探索・推論 単一選択 難易度 基礎

根Sからゴールを探す探索木がある。Sの子ノードはAとB、Aの子ノードはCとD、Cの子ノードはEであり、ゴールはBとEの2つである。同じ親をもつノードはアルファベット順に調べ、ゴールを1つ見つけた時点で探索を終える。幅優先探索と深さ優先探索に関する説明として、最も適切なものを1つ選べ。

正解と解説を見る

解説

正解 A

この問題の論点:幅優先探索と深さ優先探索の違い

ポイント

幅優先探索は根に近いゴールから順に見つけるため手数が最も少ない解が得られますが、メモリを多く使います。深さ優先探索の最初の解は最短とは限りません。

選択肢ごとの解説

  1. A

    適切 正解

    幅優先探索は、同じ深さのノードをすべて調べてから次の深さへ進みます。深さ1のAとBを調べた時点でゴールBが見つかります。手数が最も少ない解から順に見つかるのが特徴です。

  2. B

    不適切

    深さ優先探索は、1つの枝を行き止まりまでたどってから引き返します。この木ではS、A、C、Eの順に調べるため、Bより先に深さ3のゴールEが見つかります。

  3. C

    不適切

    Eは深さ3、Bは深さ1にあるため、最も近いゴールはBです。深さ優先探索は最初にたどった枝の先にあるゴールを返すので、見つかる解の手数が最も少ないとは限りません。

  4. D

    不適切

    幅優先探索は、次に調べる深さのノードをすべて保持しておく必要があり、木が深く広いほどメモリを多く使います。深さ優先探索は、いまたどっている経路の周辺だけを保持すればよいため、一般に省メモリです。

試験での狙われ方

小さな探索木でノードを調べる順序をたどらせる形や、解の最短性とメモリ使用量を2つの探索で入れ替えた選択肢で問う形がよく見られます。

参考

表示設定

テーマ
文字の大きさ
問題演習