能否修改A*算法以返回具有最少拐弯的最短路径?
一个复杂性在于,节点不再仅由其位置区分,因为它们的父节点与确定未来拐弯方向相关,所以它们必须有一个方向与之关联。
但我遇到的主要问题是如何将拐弯次数转化为部分路径成本(g)。如果我将g乘以所采取的拐弯次数(t),则会出现奇怪的情况,例如:末尾附近具有N个拐弯的较长路径优于开头附近具有N个拐弯的较短路径。
我正在考虑的另一个不太理想的解决方案是:在计算出最短路径后,我可以运行第二个A*迭代(使用不同的路径成本公式),这次在最短路径的x/y范围内限定,并返回具有最少拐弯的路径。还有其他想法吗?
一个复杂性在于,节点不再仅由其位置区分,因为它们的父节点与确定未来拐弯方向相关,所以它们必须有一个方向与之关联。
但我遇到的主要问题是如何将拐弯次数转化为部分路径成本(g)。如果我将g乘以所采取的拐弯次数(t),则会出现奇怪的情况,例如:末尾附近具有N个拐弯的较长路径优于开头附近具有N个拐弯的较短路径。
我正在考虑的另一个不太理想的解决方案是:在计算出最短路径后,我可以运行第二个A*迭代(使用不同的路径成本公式),这次在最短路径的x/y范围内限定,并返回具有最少拐弯的路径。还有其他想法吗?