具体图遍历算法

问题描述

所以我很难为特定的图遍历或网络路由问题找到一个好的算法。

我正在处理的图形由“终端”外部顶点和内部顶点组成,它们彼此不直接连接。顺便说一下,它们往往非常密集。

我需要找到通过一个或多个内部顶点连接任意两个外部顶点的路径,但要附加警告,即某些内部顶点可能在特定时刻“向下”,即无法到达。

因此,我不只是在寻找最短或成本更低的路径:我需要计算最短路径,还需要计算在一个或多个内部顶点关闭时可能有用的任何其他路径。我的目标是预先计算所有可能(有用)路径的列表,然后在运行时选择最短的、当前处于活动状态的路径。

可能是一个有助于澄清的示例:假设外部顶点 Ov1Ov2 通过以下路径链接:

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

我对 P1P2 都感兴趣,因为如果其中一个的顶点向下,另一个仍然有效;我什至对 P4 感兴趣,因为它为 Iv5 和/或 Iv6 宕机的情况提供了解决方案;但我对 P3 不感兴趣,因为它只比 P1 长,而且在 P1 会失败的情况下,它不会起作用。

换句话说,如果一条路径的顶点是另一条路径顶点的子集,那么后者应该被消除。

任何帮助将不胜感激,谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)