Iterative Deepening深度优先搜索和广度优先搜索生成的节点总数是多少

时间:2015-02-22 00:52:57

标签: algorithm breadth-first-search iterative-deepening

Iterative Deepening深度优先搜索和广度优先搜索根据分支因子“b”和最浅目标深度“d”生成的节点总数是多少

2 个答案:

答案 0 :(得分:1)

我在这个网站上发现了这个,它可能对你要找的东西有帮助,这个数字真的取决于d和b的值:

https://mhesham.wordpress.com/tag/depth-first-search/

迭代深化DFS最坏情况节点数:

N(IDS)=(b)d +(d-1)b2 +(d-2)b3 + .... +(2)bd-1 +(1)bd = O(bd)

BFS最坏情况生成的节点数:

N(BFS)= b + b2 + b3 + b4 + .... bd +(bd + 1-b)= O(bd + 1)

使用实数的示例:

分支因子= 10,最浅目标深度= 5

N(IDS)= 50 + 400 + 3000 + 20000 + 100000 = 123450

N(BFS)= 10 + 100 + 1000 + 10000 + 100000 + 999990 = 1111100

答案 1 :(得分:0)

如维基百科所示:

"在迭代深化搜索中,深度 d 的节点展开一次,深度 d-1 的节点展开两次,依此类推到搜索树的根,扩展 d + 1 次。[5]因此,迭代深化搜索中的扩展总数是 IDS number of expansions

实施例: 对于 b = 10 d = 5 example "

参考: https://en.wikipedia.org/wiki/Iterative_deepening_depth-first_search#Proof