ベストファースト検索

コンテンツへジャンプ
フリー百科事典『ウィキペディア』より

ベストファースト検索は、指定されたルールに従って選択された最も有望なノードを拡張することにより、通常の無向グラフを探索する検索アルゴリズムのクラスです。

ジューディア・パールは、ベストファースト探索を「一般的には、 nの説明、目標の説明、その時点までの探索で収集された情報、そして最も重要なのは、問題領域に関する追加知識に依存するヒューリスティックな評価関数」によってノードnの見込みを推定するものと説明した。[ 1 ] [ 2 ]

一部の研究者は、「最良優先探索」を、経路の終点が解(または目標)にどれだけ近いかを予測するヒューリスティックを用いた探索、すなわち、解(または目標)に近いと判断された経路を最初に拡張する探索を指すために用いています。この特定のタイプの探索は、貪欲最良優先探索[ 2 ]または純粋ヒューリスティック探索[ 3 ]と呼ばれます。

拡張の現在の最適な候補を効率的に選択するには、通常、優先キューを使用します。

A *探索アルゴリズムは、 B*と同様に、最良優先探索アルゴリズムの一例です。最良優先アルゴリズムは、組み合わせ探索における経路探索によく用いられます。A*もB*も、ゴールまでの推定距離に加えて、スタート地点からの距離も考慮するため、貪欲最良優先探索ではありません。

貪欲なBeFS

[編集]

貪欲アルゴリズムを用いて、親の最初の後継者を展開する。後継者が生成された後:[ 4 ]

  1. 後続のヒューリスティックが親よりも優れている場合、後続はキューの先頭に設定され (親はその後にすぐ再挿入されます)、ループが再開されます。
  2. それ以外の場合、後継ノードはキューに挿入されます(挿入位置はヒューリスティック値によって決定されます)。この手順は、親ノードの残りの後継ノード(存在する場合)を評価します。

以下はこのアルゴリズムの擬似コード例です。queue、ゴールからのヒューリスティックな距離に基づいてノードを順序付ける優先度キューを表します。この実装は訪問したノードを追跡するため、無向グラフにも使用できます。また、パスを取得するように変更することも可能です。

手順GBS(start, target)は次のとおりです 開始を訪問済みとしてマーク 開始をキューに追加 キュー でないときは以下を実行します: current_node ← ターゲットまでの距離が最小のキューの頂点 キューからcurrent_nodeを削除する current_node の近傍ノード nごとに実行: n 訪問済みでない場合: nターゲットの 場合: n を返す、そうでない場合:  n を訪問済みとしてマークする キューにnを追加 返品失敗

参照

[編集]

参考文献

[編集]
  1. ^ Pearl, J. Heuristics: Intelligent Search Strategies for Computer Problem Solving . Addison-Wesley, 1984. p. 48.
  2. ^ a b ラッセル、スチュアート・J. ;ノーヴィグ、ピーター. (2021). 『人工知能:現代的アプローチ』(第4版). ホーボーケン:ピアソン. pp.  73– 74. ISBN 9780134610993LCCN  20190474
  3. ^ Korf, Richard E. (1999). 「人工知能探索アルゴリズム」. Atallah, Mikhail J. (編). 『アルゴリズムと計算理論ハンドブック』 . CRC Press. ISBN 0849326494
  4. ^ https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume28/coles07a-html/node11.html#modifiedbestfs EHC が失敗した場合の貪欲最良優先探索、カーネギーメロン
[編集]

    ベストファースト検索は、指定されたルールに従って選択された最も有望なノードを拡張することにより、通常の無向グラフを探索する検索アルゴリズムのクラスです。

    ジューディア・パールは、ベストファースト探索を「一般的にはnの説明、目標の説明、その時点までの探索で収集された情報、そして最も重要なのは、問題領域に関する追加知識に依存するヒューリスティックな評価関数」によってノードnの見込みを推定するものであると説明した。[ 1] [2]

    一部の研究者は、「最良優先探索」を、経路の終点が解(または目標)にどれだけ近いかを予測するヒューリスティックを用いた探索、すなわち、解(または目標)に近いと判断された経路を最初に拡張する探索を指すものとして用いています。この特定のタイプの探索は、貪欲最良優先探索[2]または純粋ヒューリスティック探索[3]と呼ばれます。

    拡張の現在の最適な候補を効率的に選択するには、通常、優先キューを使用します。

    A *探索アルゴリズムは、 B*と同様に、最良優先探索アルゴリズムの一例です。最良優先アルゴリズムは、組み合わせ探索における経路探索によく用いられます。A*もB*も、ゴールまでの推定距離に加えて、スタート地点からの距離も考慮するため、貪欲最良優先探索ではありません。

    貪欲なBeFS

    貪欲アルゴリズムを用いて、親の最初の後継ノードを展開する。後継ノードが生成された後:[4]

    1. 後続のヒューリスティックが親よりも優れている場合、後続はキューの先頭に設定され (親はその後にすぐ再挿入されます)、ループが再開されます。
    2. それ以外の場合、後継ノードはキューに挿入されます(挿入位置はヒューリスティック値によって決定されます)。この手順は、親ノードの残りの後継ノード(存在する場合)を評価します。

    以下はこのアルゴリズムの擬似コード例です。queue、ゴールからのヒューリスティックな距離に基づいてノードを順序付ける優先度キューを表します。この実装は訪問したノードを追跡するため、無向グラフにも使用できます。また、パスを取得するように変更することも可能です。

    手順GBS(start, target)は次のとおりです 開始を訪問済みとしてマーク 開始をキューに追加 キュー でないときは以下を実行します: current_node ← ターゲットまでの距離が最小のキューの頂点 キューからcurrent_nodeを削除する current_node の近傍ノード nごとに実行: n 訪問済みでない場合: nターゲットの 場合: n を返す、そうでない場合:  n を訪問済みとしてマークする キューにnを追加 返品失敗

    参照

    参考文献

    1. ^ Pearl, J. Heuristics: Intelligent Search Strategies for Computer Problem Solving . Addison-Wesley, 1984. p. 48.
    2. ^ ab ラッセル、スチュアート・J. ;ノーヴィグ、ピーター. (2021). 『人工知能:現代的アプローチ』(第4版). ホーボーケン:ピアソン. pp.  73– 74. ISBN 9780134610993LCCN  20190474。
    3. ^ Korf, Richard E. (1999). 「人工知能探索アルゴリズム」. Atallah, Mikhail J. (編). 『アルゴリズムと計算理論ハンドブック』 . CRC Press. ISBN 0849326494
    4. ^ https://www.cs.cmu.edu/afs/cs/project/jair/pub/volume28/coles07a-html/node11.html#modifiedbestfs EHC が失敗した場合の貪欲最良優先探索、カーネギーメロン
    • ウィキブックス: 人工知能: 最良優先探索
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Best-first_search&oldid=1303126800"
    Original text
    Rate this translation
    Your feedback will be used to help improve Google Translate