我有一个受约束的Delaunay三角剖分表示的区域。我正在研究在两点之间寻找路径的问题。我正在使用Marcelo Kallmann提供的论文作为解决此问题的引用点。但是,我打算使用A *搜索算法,而不是使用Kallmann paper link提出的Chazelle漏斗算法,该算法相当有效地计划了网格环境中的路径。

对于启发式成本函数,我使用从当前节点到目标节点的欧几里得距离,并在选择邻居节点时使用从当前点p到三角形边缘的中点的线段。 [这个想法是由卡尔曼提出的]邻居节点的代价也由它们之间的欧几里得距离给出。

这是来自Kallmann的图,它演示了使用边缘技术的中点来生成通往包含目标节点的三角形的各种路径。

现在,当一个区域中的三角形密度不够大时,此技术可以很好地工作。但是说,如果为一组点生成的三角剖分看起来像这样

我想知道是否有办法通过使用其他一些技术(例如IDA *或ID-DFS)来提高算法的效率?已经提出了三角剖分缩减A *(TRA *),但由于它的定义过于正式,我无法理解。 TRA *方法的详细信息可以在Demyen的thesis的第5节中找到。

我将不胜感激。如果需要共享一些代码,我将编辑此帖子。

最佳答案

请注意,ID算法通过重复工作来权衡A *产生的簿记成本,从而有可能使其变慢(但希望不会变慢)。因此,您要尝试提高效率的措施将影响这些措施的实用性。

关于algorithm - 改进*搜索以在三角环境中查找路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9854405/

10-12 23:23