问题描述
所以我很难为特定的图遍历或网络路由问题找到一个好的算法。
我正在处理的图形由“终端”外部顶点和内部顶点组成,它们彼此不直接连接。顺便说一下,它们往往非常密集。
我需要找到通过一个或多个内部顶点连接任意两个外部顶点的路径,但要附加警告,即某些内部顶点可能在特定时刻“向下”,即无法到达。
因此,我不只是在寻找最短或成本更低的路径:我需要计算最短路径,还需要计算在一个或多个内部顶点关闭时可能有用的任何其他路径。我的目标是预先计算所有可能(有用)路径的列表,然后在运行时选择最短的、当前处于活动状态的路径。
可能是一个有助于澄清的示例:假设外部顶点 Ov1
、Ov2
通过以下路径链接:
P1:OV1 - Iv1 - Iv2 - Iv3 - Ov2
P2:OV1 - Iv4 - Iv5 - Iv6 - Iv7 - Ov2
P3:Ov1 - Iv1 - Iv8 - Iv2 - Iv3 - Ov2
P4:Ov1- Iv4 - Iv9 - Iv10 - Iv11 - Iv7 - Ov2
我对 P1
和 P2
都感兴趣,因为如果其中一个的顶点向下,另一个仍然有效;我什至对 P4
感兴趣,因为它为 Iv5
和/或 Iv6
宕机的情况提供了解决方案;但我对 P3
不感兴趣,因为它只比 P1
长,而且在 P1
会失败的情况下,它不会起作用。
换句话说,如果一条路径的顶点是另一条路径顶点的子集,那么后者应该被消除。
任何帮助将不胜感激,谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)