Fringe Search 路径搜索

寻路方法很多都把A*当成标准,它确实很不错.Fringe Search边缘搜索比A*要好些,在内存使用和速度上都有改善.

这是参照了<游戏编程精粹7>中"超越A*: IDA*和边缘搜索",论文"Fringe Search: Beating A* at Pathfinding on Game Maps"和论文"Fringe Search vs. A* for NPC movement".

这是一开始实现的一个版本,还有些可以优化的地方.该算法具体细节的和A*和IDA*的比较的详细信息参看论文,论文总结的是效率比完全优化的A*高10%~40%的样子.

 

以前弄A*时候有个测试用的项目,就拿那项目改了下就完成了这个算法,整体来说比A*简单(估计应该是在熟悉A*的情况下觉得简单).后面代码,结构和效率都还需要调整下.它的搜索结果和A*还有区别(最短路径不只一条),如何调整要参考论文.然后,如果不需要记录路径,只要搜索结果的话可以不保存已经过的节点,cachelist可以不要的.

 

实现代码:

 

测试代码:

 

测试数据:

 

输出结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值