我担心这可能正在解决 NP-Complete 问题。我希望有人可以给我一个关于它是否存在的答案。我正在寻找更多的答案,而不仅仅是是或否。我想知道为什么。如果你可以说,“这基本上是这个问题'x',它是/不是NP-Complete。(维基百科链接)”
(不,这不是作业)
有没有办法确定两个点是否连接在任意无向图上。例如,以下
Well
|
|
A
|
+--B--+--C--+--D--+
| | | |
| | | |
E F G H
| | | |
| | | |
+--J--+--K--+--L--+
|
|
M
|
|
House
点 A 到 M(没有“I”)是可以打开或关闭的控制点(如天然气管道中的阀门)。'+' 是节点(如管道 T),我猜 Well 和 House 也是节点。
我想知道我是否关闭了任意控制点(例如C),井和房子是否仍然连接(其他控制点也可能关闭)。例如,如果 B、K 和 D 关闭,我们仍然有一条通过 AEJFCGLM 的路径,关闭 C 将断开 Well 和 House。当然; 如果只是 D 被关闭,则仅关闭 C 不会断开 House。
另一种说法是,C 是桥/切边/地峡吗?
我可以将每个控制点视为图表上的权重(0 表示打开或 1 表示关闭);然后找到 Well 和 House 之间的最短路径(结果 >= 1 表示它们已断开连接。我也可以通过多种方法短路算法以找到最短路径(例如,一旦到达 1 就丢弃路径,停止搜索一旦我们有任何连接井和房子的路径等)。当然,我也可以人为地限制在放弃之前要检查多少跳。
以前一定有人分类过这种问题,我只是漏掉了名字。