検索手法の反復深化に関する質問があります。私の質問は、特定の深さ制限なしで通常の深さ優先検索と反復深化の違いは何ですか?だから私は目標ノードを持つツリーを持っていますが、私の反復深化検索では指定された制限はありません。これは通常の深さ優先検索を行うのと同じトラバーサルシーケンスを出力しますか?指定された深さ制限なしの反復深化
1
A
答えて
1
目標は深度レベル3(ルートは深度= 0)であり、ツリーの「左」側にあるわけではありません(深度 - 最初の検索(DFS))。
通常のDFSでは、ツリーを「上に」「右に」移動し、最終的に深みで目標を見つけることに慣れて、4,5,6などの深さレベルで多くの時間を費やすことがあります3.反復深化では、深度= 3の目標がある場合、深度= 4のノードを見るのに時間を費やすことはありません。これは、反復深化が最初に深度制限が1のDFSを実行してから、深さ制限2、最後に深度制限3のDFS(目標を見つけて検索を終了します)。
この例の状況では、幅優先検索(BrFS)は深度4で時間を無駄にすることはなく、以前に既に行われていた作業を再実行しないためにおそらく少し速くなることに注意してください。しかし、それはもっと多くのメモリを取るだろう。
反復的深化のもう一つの利点は、それが無限に長い経路にこだまれないということです。今ほとんどの実用的な状況では、とにかく無限に長い経路はありませんが、間違いなく可能です。 DFSは、このような無限の経路で立ち往生する可能性があります。
最後に、反復型ディープニングは、処理時間の不足により終了時により有用な結果を提供できる点でDFSと比較して利点があります。これは、ゲームプレイのための検索アルゴリズム(チェスエンジンを考える)において特に重要です。あなたの状況にゴール・ノードがあることを明示しているので、これはあなたにとって重要ではないと思っていますが、興味があれば教えてください。
関連する問題
- 1. 限定されたメモリを使用した反復深化深さの最初の検索
- 2. 継承の深さを制限する
- 3. 深さが制限されたプロローグ検索(バニラメタインタープリタ)
- 4. スウィフトバイナリツリー指定された深さのノードのリスト
- 5. バイナリツリーの幅を最初に印刷する深さの最初の反復深化アルゴリズム
- 6. cakephp generateTreeList制限深度
- 7. 再帰の制御深さ
- 8. 深さ最初のアルゴリズムを反復から反復に変更する
- 9. 手動で再帰の深さを制限しますか?
- 10. ピクセルの深さと色の深さ
- 11. 人形マニフェストで深くネストされたhieraハッシュを反復する
- 12. PHPで深くネストされた配列を反復処理する
- 13. アルファベータプルーニングで反復深化を実装する方法
- 14. データベースのツリーの深さを制限する
- 15. Kerasを使用した深さ推定
- 16. Pythonで指定された深さのディレクトリを一覧表示する
- 17. ハフマンノードの深さ
- 18. JavaScriptで反復深化ラッシュアワーアルゴリズムを最適化するのに問題がある
- 19. 指定された深度レベルでノードをスキャンするだけでなく、繰り返し深化を行う方が効率的です。
- 20. JAVAの再帰的なファイルリストの深さを制限する方法は?
- 21. nmakeの推論ルールは1の深さに限定されています
- 22. 配列の配列(またはリストのリストなど)内の指定された要素の深さの検索
- 23. 無限深度にネストされた多次元配列
- 24. OpenglESアルファテクスチャ深さ
- 25. Direct2D深さバッファ
- 26. Spring Data Neo4jでクエリの深さを指定する方法は?
- 27. 深くネストされたビジュアルツリーのドラッグアンドドロップアドバンテージ
- 28. スプリングデータの限界深さjpa休止とスプリングブートyaml設定
- 29. 反復型指定されたリストのセクション
- 30. 再帰的な深さは