Чем итеративное углубление более эффективно, чем простое сканирование узлов на заданном уровне глубины. - PullRequest
0 голосов
/ 02 августа 2011

Не избыточно ли повторно сканировать n-1 уровней узлов для каждой итерации?

1 Ответ

1 голос
/ 13 февраля 2012

Я цитирую Искусственный интеллект: современный подход :

Итеративный углубленный поиск может показаться расточительным, поскольку состояния генерируются несколько раз.Оказывается, это не слишком дорого.Причина в том, что в дереве поиска с одинаковым (или почти одинаковым) фактором ветвления на каждом уровне большинство узлов находятся на нижнем уровне, поэтому не имеет большого значения, что верхние уровни генерируются многократно.В итеративном углубленном поиске узлы на нижнем уровне (глубина d ) генерируются один раз, узлы на нижнем уровне - дважды, и так далее, вплоть до дочерних элементов корня., которые генерируются d раз.Таким образом, общее количество узлов, сгенерированных в худшем случае, составляет

N (IDS) = (d) * b + (d-1) * b ^ 2 + ... + (1) * b ^ d

, что дает временную сложность O (b ^ d) - асимптотически такую ​​же, как поиск в ширину.

...