人工知能 --- 検索アルゴリズム

(1)ダイクストラ・プリムアルゴリズムとクラスカルアルゴリズム

        Dijkstra-Primアルゴリズムの基本的な考え方: すべてのノードは 2 つのグループに分けられ、1 つは選択された selected_node (リスト タイプ)、もう 1 つは Candidate_node です。まず、任意のノードを取得して selected_node に追加し、次に、 selected_node の先頭ノードと、candidate_node の末尾ノードを指定し、この条件を満たすエッジの中で最も重みが小さいエッジを選択し、最小全域木に追加します。選択したエッジの末尾ノードは selected_node に追加され、削除されます候補ノードから。candidate_node に候補ノードがなくなるまで (このループ条件では、すべてのノードにエッジ接続があることが必要です。つまり、エッジの数がノードの数 -1 以上である必要があります)、ループの開始前にこの条件を追加する必要があります。そうでない場合は、常に候補内にあるノードが存在する可能性があり、無限ループが発生します)。
        クラスカル アルゴリズムの基本的な考え方: まずエッジを重みの小さいものから大きいものに並べ替え、最初に最小の重みを持つエッジを選択します。エッジの 2 つのノードが異なるコンポーネントである場合、それを最小スパニング ツリーに追加します。それ以外の場合は、すべてのエッジが通過されるまで次のエッジを計算します。

Dijkstra-Prim アルゴリズムと Kruskalアルゴリズム        をそれぞれ使用して 、以下の図の最小長の木を見つけます
スパニングツリー。

 ダイクストラ・プリムアルゴリズム:

 クラスカルのアルゴリズム:

 答えにマークを付けます:

(2) グラフ検索アルゴリズム

         次の状態図を考えてみましょう。エッジの数字はパス コストです。同じノード展開条件では、選択ノードの展開はアルファベット順に従います ( たとえば、 S->X->A は S->X->Bの前に展開 れ、 S->A->Z はS->の後に展開されます)。B->A は前に展開されました)
1 ) コストベースの統合検索アルゴリズムを使用してください。状態が展開される順序は何ですか? 戻る道は何ですか?
2 ) 上のグラフに対して A*グラフ検索を実行することを検討してください アクションコストとヒューリスティック値を図にプロットします。州が展開される順序を教えてください。戻る道は何ですか?

答え:

1) コストベースの統合検索を適用すると、状態ノードが展開される順序は次のとおりです: start、B、A、D、C、Goal。返されるパスは: Start-AD-Goal です。

2) A* グラフ検索アルゴリズムを使用すると、状態が展開される順序は、Start、B、A、D、C、Goal となり、返されるパスは Start-AD-Goal となります。

展開シーケンスは次の図に示すとおりです。

おすすめ

転載: blog.csdn.net/qq_63976098/article/details/131370997
おすすめ