IDA* 算法(Iterative deepening A*)
来源:互联网 发布:css布局 知乎 编辑:程序博客网 时间:2024/05/29 09:47
参考wikipedia
问题描述
从A点到B点的最短路径,每段路径值不小于0。
特点
带启发式的有限制的深度优先搜索,本质是在启发式限制下以不同的深度进行dfs。
在稀疏的有向图中深度优先效果往往优于广度优先,所以会好于A*算法,然而如果是棋盘类稠密问题,应该是A*更占优。
由于不再采用动态规划的方法,内存占用少。
主要结构
起点A,终点Bh() //启发式算法估计,当前节点到终点B的路径的一个下界,即小于等于真实的路径g() //当前节点的路径消耗值f()=g()+h()
伪代码
function IDA_search(node, g, bound): // node当前节点 // g当前节点的路径消耗值 // bound当前搜索的一个界限值 f = g + h(node) if f > bound: return f if node == B: return FOUND min = r for succ in successors(node) do: t = search(succ, g + cost(node, succ), bound) if t == FOUND: return FOUND if t < min: min = t return minbound = h(A)while(True): t = IDA_search(root, 0, bound) if t == FOUND: return bound if t = ∞: return NOT_FOUND bound := t
阅读全文
0 0
- IDA* 算法(Iterative deepening A*)
- Iterative Deepening
- A*和IDA*算法
- IDDFS(Iterative deepening depth-first search)的Java实现
- A*算法 和 IDA*算法
- A*算法 与 IDA*算法
- A星算法和 IDA星算法
- NYU AI作业习题-活动安排问题 BFS+DFS Iterative deepening depth-first search
- 11212 - Editing a Book(IDA*算法)
- A* IDA*
- POJ 1077 Eight A*算法 IDA*算法 康拓展开
- IDA算法
- IDA*算法
- IDA*算法
- Iterative algorithms(迭代算法)
- IDA*(迭代加深的A*算法) 八数码
- UVa 11212 - Editing a Book <状态空间搜索+IDA*算法>
- hdu1667-IDA*-迭代加深搜索 A*算法
- Spark 提升spark1.6提交任务速度+配置spark2.x后hiveserver2运行失败
- UML图绘制,理论学习
- 4.2.3--广搜--Rescue
- 给初级java程序员推荐几个学习网站--雷锋
- 删除文件时提示“您需要计算机管理员提供的权限才能完成此操作”
- IDA* 算法(Iterative deepening A*)
- Scala基础—异常、Lazy使用示例
- (document).height()与$(window).height()
- Spring事务管理——回滚(rollback-for)控制
- 20. 电话号码
- android studio实现打电话
- GCC笔记(警告.优化以及调试选项)
- 23种设计模式--结构型模式(适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式)
- 父进程退出后如何通知子进程退出