これがNP-Completeの問題に取り組んでいる可能性があることを懸念しています。あるのかないのか、どなたか回答いただけると幸いです。そして、イエスかノーかだけでなく、もっと多くの答えを探しています。理由を知りたいです。「これは基本的にこの問題 'x' であり、NP-Complete である/そうではない (wikipedia リンク)」と言えます。
(いいえ、これは宿題ではありません)
任意の無向グラフで 2 つの点が接続されているかどうかを判断する方法はありますか。たとえば、次の
Well
|
|
A
|
+--B--+--C--+--D--+
| | | |
| | | |
E F G H
| | | |
| | | |
+--J--+--K--+--L--+
|
|
M
|
|
House
ポイント A から M (「I」なし) は、開いたり閉じたりできるコントロール ポイント (天然ガス パイプのバルブのようなもの) です。「+」はノード (パイプ T のようなもの) であり、ウェルとハウスもノードであると思います。
任意のコントロール ポイント (例: C) を閉じた場合、井戸と家がまだ接続されているかどうかを知りたいです (他のコントロール ポイントも閉じている可能性があります)。たとえば、B、K、D が閉じている場合でも、AEJFCGLM を通るパスがあり、C を閉じると井戸と家が切断されます。もちろん; D だけが閉じられた場合、C だけを閉じてもハウスは切断されません。
これを別の言い方をすれば、C は橋/切り口/地峡ですか?
各コントロール ポイントをグラフの重みとして扱うことができます (オープンの場合は 0、クローズの場合は 1)。次に、Well と House の間の最短経路を見つけます (結果 >= 1 は、それらが切断されたことを示します。最短経路を見つけるためのアルゴリズムを短絡する方法もいくつかあります (たとえば、1 に達したら経路を破棄し、停止します)。井戸と家などをつなぐパスがあれば検索します。) そしてもちろん、あきらめる前にチェックするホップ数に人為的な制限を設定することもできます。
誰かがこの種の問題を以前に分類したに違いありません。名前がわかりません。