AI(人工知能)で使用される検索のアルゴリズムのいくつかを理解するのにいくつかの問題があります。
- A*とIDA*(Iterative Deeping A Star)の正確な違いは何ですか?ヒューリスティック関数だけですか?もしそうなら、私はまだIDA *がどのように機能するか想像できません..:/
- IDA *はBFS(幅優先探索)と同じですか(拡張の深さが1レベルだけの場合、つまり、1レベルずつ「下」に移動します。IDA*とBFSの間に違いはありますか)
- IDDFS(反復深化深さ優先探索)は、ヒューリスティック関数( IDDFSの0に相当)を除いて、IDA *と同じですか。
- IDDFSとは正確には何ですか?1レベル下に移動してから、 DFS(Depth-First Search)を使用しますか?その場合、この方法では、多くの状態が1つよりもはるかに多く計算(拡張)されます。または、次のようになります。特定の深さのDFSを使用し、「リーフ」(最後に拡張されたノード)を格納し、それらを反復処理して使用します。再びDFS(実際にはBFSですか?)
- 「反復」はどこから来るのですか?私が見るように、IDDFSはまったく反復的ではなく、それでも再帰的であり、BFSとDFSを混合するだけですか?または私は間違っていますか?または、この「反復」は再帰の反対とは何の関係もありませんか?
- IDA *の「反復」とは何ですか?
いくつか例を挙げていただけますか?私はこれらのアルゴリズムについて一日中読み、それらの長所と短所、複雑さなどを知っていますが、良い例を見つけることができませんでした(A*を除いて;BFSとDFSを知っています、他は私を悩ませます)。さまざまな場所でIDA*の擬似コードを見つけましたが、それらはすべて完全に異なっていました。
例はアルゴリズムを理解するための最良の方法です。しかし、私は見つけることができません。TopCoderでさえ、IDA*について何も見つかりませんでした。
ウィキの記事を読んだのですが、何か新しいものを探しています(:
どうもありがとう!
編集: ここにいくつかの素晴らしい記事がありますが、それらは理論的すぎます。例も具体的なこともありません。しかし、それでも非常に便利です。私はそれらをお勧めします(=