我很好奇是否有更高层次的理论/方法/算法来解决我的问题。
我正在研究网络路由问题(专有无线电网络)。举例来说,我有一个由5个设备组成的网络。对于每个设备,我可以测量它能听到其他设备的程度。第0个根节点仅作为源使用。因此,在表格形式中,我可能会得到类似的结果:
_0_ _1_ _2_ _3_ _4_
1 | 21 - 42 55 0
2 | 0 63 - 18 20
3 | 20 0 0 - 0
4 | 0 0 13 0 -
每行表示该设备可以听到其他5个来源的效果。我想要做的是对它们进行排序,以便每个设备从前面的元素中获得最佳的和信号。因此,对于这种简单的情况,排序可能是1, 3, 2, 4
。但它也可能是3, 1, 2, 4
。事实上,这第二个会更好,因为1可以同时听到0和3. 3, 2, 1, 4
也可以。
我正在尝试确定我可以使用哪种算法来订购这些算法。有一些旅行推销员,我不需要“最好的”。只是一个非常好的排序。我需要扩展到9个设备,包含10个源。
任何想法,帮助,推动,提示,提示赞赏。
答案 0 :(得分:4)
此问题可以建模为minimum feedback arc set problem,这是NP难问题。原始图是一个完整的有向图,每条边(v0, v1)
的权重是从v0
到v1
的信号强度。在计算最大反馈弧设置之后,拓扑排序将给出具有最大总信号的排序。