了解收缩层次结构的节点顺序

查看Wiki关于收缩层次结构的节点顺序的描述 https://en.wikipedia.org/wiki/Contraction_hierarchies

我似乎无法理解他们如何提出这个“正确”的订单。

我遵循了几篇关于该主题的论文中的启发式方法。其中大多数包括边缘差异和发生收缩时邻居的成本增加。 (也在Wiki上提到)

遵循这些启发式算法,我的算法看起来像:

  1. 首先在图形中的所有节点上运行,并计算边缘差异(观察/输入边缘并减去通过收缩产生的边缘数量)。
  2. 将此列表用作矛盾短语。获取具有最小值的节点。矛盾的是,在其邻接节点的成本上加上+1。

我想出了以下与Wiki论文不同的矛盾顺序。

边缘差之后的节点顺序列表= {-1,-1,-1,-1,-1,-1,-1},c =收缩。

  1. 收缩节点0,将+1添加为节点1,因为它是邻居。 节点订单列表现在= {c,0,-1,-1,-1,-1}

  2. 合同节点2,将+1添加到节点1和3。 节点订单列表现在= {c,1,c,0,-1,-1}

  3. 合同节点4,将+1添加到节点3和5。节点顺序列表现在= {c,1,c,1,c,0}

  4. 合约节点5,没有邻居。 节点订单列表现在= {c,1,c,1,c,c}

  5. 合同节点1,无邻居。 节点订单列表现在= {c,c,c,1,c,c}

  6. 合约节点3,无邻居。 节点订单列表现在= {c,c,c,c,c,c}

[{

了解收缩层次结构的节点顺序

1

这仅提供了两个快捷方式,一个在1到3之间,另一个在3到5之间,但是缺少一个在1到5之间。Wiki的示例提供了3个快捷方式,包括最后提到的快捷方式。

我想念什么?

njustllm 回答:了解收缩层次结构的节点顺序

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3025836.html

大家都在问