图扩展

时间:2009-10-07 19:32:50

标签: language-agnostic graph

我目前正在研究一个有趣的图形问题,我找不到任何算法或其他提到类似内容的stackoverflow问题。

如果我有一个图表(无向,循环)和一个常用路径列表,通过增加N个边缘来减少平均路径长度的最佳方法是什么?

编辑::重点,这可能有所帮助,所有路径都从同一节点开始。

3 个答案:

答案 0 :(得分:0)

回答我自己的问题,涵盖我已经考虑过的内容。

显而易见的解决方案是简单地按顺序对公共路径进行排序,并在两端之间的连接中插入槽,并继续执行此操作,直到用完要插入的边。但是,我怀疑有更聪明的解决方案。

答案 1 :(得分:0)

您可以尝试插入所有可能的边,并查看每个给定的起点/终点的最短路径减少多少。选择最佳边缘并重复。

边缘的有用性取决于添加的其他边缘,因此如果您真的想要最优,则必须尝试所有N个边缘的集合。这听起来有点贵。如果它是NP难的话,我不会感到惊讶。

有趣的问题!

答案 2 :(得分:0)

另一种可能的解决方案,听起来可能是最好的启发式方法,是取所有端节点的加权平均值(按路径重要性加权),然后找到最接近计算平均点的节点。连接到该节点。

显然,只有节点以某种方式布置在空间中才有效,但这是一个很好的类比。