IDA*算法概述:迭代加深与剪枝优化.pptx

IDA*算法概述:迭代加深与剪枝优化.pptx

第十二章节:迭代加深搜索果壳信奥编程

IDA*算法概述IDA*算法本质还是DFS算法。树的分支繁杂,而答案往往在众多分支中的一条分支上。可以使用剪枝操作,剪掉不必要的分支,这是提高深度搜索性能的最基础优化方案。深度搜索一旦在一条分支上搜索不到目标时会回溯,然后再搜索另一条分支。如果一条分支的深度很深,而此分支上又没有问题所需要的答案,显然,深度搜索会陷入一个无底深渊。所以,需要采用一种策略,及时阻止这种无劳的搜索,让其提前回溯。

IDA*算法概述如图所示:DFS正搜索长度为n的分支线。答案是在另一条分支上值为8的节点。因为搜索的无目性,DFS会一根筋似的不见黄河不死心向前走。DFS会在无效分支线上浪费大量的时间。最好的方式,就是让它及时悬崖勒马,及时止损。1n78长度为n的分支线

IDA*算法概述IDA*算法定义:是带有评估函数的迭代加深DFS算法,其设计目标是提前阻止DFS的无效搜索。IDA*算法适用场景:迭代加深在状态呈指数级增长时才有较好效果。状态搜索问题指由一种状态转换到到最终状态,求解中间需要经过多少步转换,或者说最小需要转换多少步,或者说有多少种转换方案。评估函数值不值的继续值不值的继续

IDA*算法概述IDA*算法核心思想:算法会在搜索过程中设置深度(depth)限制,一旦超过这个深度,便回溯。IDA*算法其实是同

文档评论(0)

1亿VIP精品文档

相关文档