关于“改进的Dijkstra算法”论文

时间:2017-06-16 14:54:06

标签: algorithm vector constraints shortest-path dijkstra

我想在本文中提出一些关于算法的问题。

https://pdfs.semanticscholar.org/9208/65aee7b072c054afa628ba413adda6f3e962.pdf

您可能想知道我为什么不直接询问作者,实际上我有,但不幸的是,我没有回复,我找不到直接发送给作者的电子邮件。

Algorithm Steps

您可以看到算法的核心公式(8)。

  • d(n)=从起点到当前节点的重量值
  • r(n)=约束函数
  • ɷ=表示影响因子的加权值
  • θn=由起点到当前节点1的节点组成的向量与从起点到终点的节点组成的向量之间的角度[2]

步骤说,要获得最佳节点,将比较所有后续节点vp(开放列表)以满足上述约束函数。

我不明白的是:

  1. 关于θn向量,我真的不明白,我们有一个节点1,2,3,4,5,6,7,8,9,10。假设我们从节点1开始并在节点10结束,目前我们已遍历节点1,2,4,5(当前节点= 5)。因此,对于1,它应该是闭合列表(遍历的最佳节点的列表),并且向量是v = {1,2,4,5}。然后,对于[2],它应该是v = {1,2,4,5,...,10}。怎么可能?据我所知,为了找到矢量角,两个矢量必须具有相同数量的节点并且它很奇怪,因为5到10之间的节点还没有遍历,所以不可能使用它。所以,根据我的想法,矢量应该是v 1 = {1,5}和v [2] = {1,10},但我想知道这是否正确。
  2. 关于算法的第3步,我想知道选择最佳节点?我无法理解满足这里的意义,因为我找不到比较节点需要什么条件,因此它可以满足约束函数。 D(n)必须是比较列表中最小或最大的或什么?
  3. 我希望有人能够回答这个问题,我希望这也能解决这个问题,谢谢。

0 个答案:

没有答案