7得票1回答
修改后的最短路径算法(Dijkstra算法)

我的问题是,我有一个具有非负边长的有向图G,我希望找到两个节点u和v之间的最短路径,使它们只通过图中一个标记过的节点。 如果没有涉及到标记节点的条件,这个问题可以很容易地使用Dijkstra算法解决。 procedure dijkstra(G, l, s) Input: Graph G =...

7得票3回答
一个快速稳定的算法用于节点图中的随机路径是什么?

我有一个由节点组成的图,需要一个快速算法来生成两个节点之间的随机路径。我从零开始设计了几种算法,但似乎都无法得到正确的结果。有时算法会陷入循环,或者当我记录已访问的节点时,它有时会卡在已访问的节点之间。我遇到的另一个问题是,我的算法在性能方面太不稳定。因此我的问题是:是否有人知道在无向图中寻找...

7得票1回答
3D搜索使用A * JPS

我如何将Jump Point Search推广到3D搜索空间? 到目前为止,我已经为一个3D立方体定义了每个三维移动(直线(0,0,1),一阶对角线(0,1,1)和二阶(1,1,1))的修剪规则。 我最关心的是论文中定义的最优转折点。我无法确定它们是如何推导出来的,因此也不知道如何在三维空...

7得票7回答
查找具有最大最小权重的路径

我正在尝试设计一种算法,以寻找有向图上的路径。这不是传统的路径,我找不到已经完成此任务的任何参考资料。 我希望找到最小权重最大的路径。 例如,如果有两条路径,它们的权重分别为10->1->10和2->2->2,则第二条路径被认为比第一条更好,因为最小权重(2)大于第一条路径的最小权重(1)...

7得票1回答
通过删除不必要的点和叠加形状来优化矢量图像

我需要优化一个由贝塞尔曲线构成的填充形状的矢量图像。输入图像和分离后形状如下: 我要通过删除不必要的线条并依靠形状的堆叠来优化图像,但要少得多的顶点数。结果形状应该是这样的: 这个问题可以分解为以下步骤: 1. 检测堆叠的线条。 2. 找到其他形状填充区域的贝塞尔路径。 3. ...

7得票2回答
关于路径规划:D*算法的通俗易懂详细描述

我希望处理的大型网络(小世界图类型)具有动态性质,新节点经常添加和减少。在这种动态环境中,使用 D* 而非 A* 来检测路径可能是更好的方法。 D* 的可靠性如何?它是否有任何真实世界的经验?就像加密算法一样,D* 是否经过了大量的同行评审和测试来保证其可靠性?你会将其用于这个问题吗?

7得票3回答
移动物体沿着一条直线路径从一个点到另一个点

我正在尝试让精灵直线移动到屏幕上的某个位置,这个位置是我触摸屏幕的地方。我的做法是,在每次循环中的update()函数中,检查当前精灵的位置x y是否等于目标位置x,y。如果不是,则sprite的x++和y++...问题是,它并没有沿着直线移动...因为有些情况下,x或y坐标会先到达目标x或y...

7得票3回答
如何修改递归算法以找到最短路径?

https://vimeo.com/70999946 我实现了一个递归路径查找算法。这个递归算法基于一组预设的相互连接的节点工作。每个节点都有四个指针,包含进一步的方向:上、下、左和右。递归算法简单地遍历每个节点,并依次寻找这四个方向中的每一个,以达到其最终目的地;例如,考虑以下7个节点:A...

7得票2回答
如何优化A*(A星)搜索凸多边形的方式?(包括截图)

我正在编写一个相对简单的自上而下的2D游戏。它使用均匀间隔的2D网格瓦片来表示所有碰撞数据。网格中的每个瓦片都是实心或空心的。 为了进行路径查找,我使用A*(A星算法),并尝试了曼哈顿和对角线(也称为切比雪夫距离)启发式算法。 在大多数情况下它表现良好,但当尝试查找到嵌入凹形形状(例如U形...

7得票1回答
为什么我的A星算法尽管有正确的启发式,但扩展了太多节点?

我正在完成一项任务,需要使用 A* 算法来解决一个 15 数码问题(使用 C 语言)。 启发式函数是 曼哈顿距离(也称出租车距离)。 我们被给定了一个样例输入/输出,其中棋盘在 22 步后解决,并扩展了 395 个节点(即我们必须查看 395 个子节点)。 所谓“正确”的启发式函数是指我...