web-dev-qa-db-ja.com

ビーム探索アルゴリズムでは、ビームサイズは何を表していますか?

ビーム探索アルゴリズムについて質問があります。

n = 2(すべてのノードから拡張するノードの数)としましょう。したがって、最初はルートしかなく、そこから2つのノードを拡張します。ここで、これら2つのノードから、さらに2つを展開します。ですから、現時点では、4枚の葉があります。答えが見つかるまで、このように続けていきます。

これはビーム検索の仕組みですか?すべてのノードのn = 2のみを展開しますか、それとも常に2つのリーフノードを保持しますか?

以前は、n = 2は、ツリー全体で2つではなく、各ノードから最大2つのアクティブノードが必要であることを意味すると考えていました。

10

"標準"ビーム検索アルゴリズム では、すべてのステップで、現在「知っている」ノードの総数。制限されています-各ノードからフォローするノードの数ではありません。

具体的には、n = 2の場合、「ビーム」のサイズは常に最大2になることを意味します。したがって、最初は1つのノードから開始し、そこから到達可能なすべてのノードを検出しますが、2つを除くすべてのノードを破棄し、2つのノードでステップ1を終了します。ステップ2では、2つのノードがあり、両方を展開し、正確に2つのノード(それぞれからではなく合計)を除くすべてのノードを再度破棄します。次のステップでも、同様に、各ステップの後に2つのノードを保持します。

保持するノードの選択は、通常、ターゲットに最も近いノードを評価するヒューリスティック関数によって行われます。

ビーム探索アルゴリズムは完全ではない(つまり、解決策が存在する場合は解決策が見つからない可能性がある)か、最適ではない(つまり、最良のものが見つからない可能性がある)ことに注意してください解決)。これを確認する最良の方法は、n = 1の場合、基本的に best-first-search に減少することを確認することです。

15
amit