ウィキペディアのDepth-Limited-Searchのアルゴリズムを理解しようとしています。ノードを拡張することが何を意味するのか正確に把握しようとしています。私は答えを検索しようとしましたが、私が得たのは、ノードを拡張する必要があると述べるアルゴリズムが増えただけです。ノードを拡張することは何を意味しますか?
具体的には、機能全体についてはstack := expand (node)
とは何ですか?
DLS(node, goal, depth)
{
if (node == goal)
return node;
push_stack(node);
while (stack is not empty)
{
if (depth > 0)
{
stack := expand (node)
node = stack.pop();
DLS(node, goal, depth-1);
}
else
// no operation
}
}
が表示されます。よりよい例の方向に私を向けることができると思いますか?私はWikipediaの外で深度限定検索についてはあまり見つからないようです。 – Rowhawn
深度を追跡し、一定の制限に達すると再帰を停止する単純な深さ優先検索のようです。同じ方法で動作するように、既存の再帰ベースの深さ優先検索を変更することはかなり簡単です。 –