A* 从寻找最优路径到寻找最优解的注意事项

A* 的理解
A*是一种宽度优先搜索。在搜索时不断的对待搜索点的价值进行排序,所以A*可以快速的寻找到接近于最优解的解,但不一定是最优解,只是接近

A*的价值函数是微妙的控制器。需要不断测试到最佳的估价函数。


寻找最佳路径是A*算法的最初目标。但需要寻找答案的不仅仅是最佳路径,很多问题都需要寻找最优解。在尝试将A* 算法使用在除了寻找最佳路径之外的解空间搜索问题上时,发现有很多细节需要注意。

1. 对于重复节点(节点相同)的判断。 作为寻径算法时,地图上的点,作为一个节点,每个节点只出现一次。 作为解空间算法时,必要时需要加上深度这一概念,因为某一节点可能出现在不同的分支上。 根本原因在于:节点相同,估价值相同。如果A到C,和B到C,导致了C的估价不同,那么A-C的C,B-C的C应该作为不同的节点处理

2. 状态图的变化。如果所进行的操作都会对“棋局”造成影响,那么节点应该是“棋局”,而不是所作的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值