Я обеспокоен тем, что это может работать на NP-полной задачи. Я надеюсь, что кто-то может дать мне ответ, как того, является ли он или нет. И я ищу больше ответа, чем просто да или нет. Я хотел бы знать, почему. Если вы можете сказать: «Это в основном эта проблема„х“, который является / не является NP-полной. (Википедия ссылка)»
(Нет, это не домашнее задание)
Есть ли способ, чтобы определить, если две точки соединены на произвольном неориентированный граф. например, следующее
Well
|
|
A
|
+--B--+--C--+--D--+
| | | |
| | | |
E F G H
| | | |
| | | |
+--J--+--K--+--L--+
|
|
M
|
|
House
Точки А, хотя М (не «я») не являются контрольные точки (например, клапан в трубопроводе природного газа), который может быть открытым или закрытым. В «+» s являются узлами (например, труба Т-х), и я думаю, ну и дом также узлы, а также.
Я хотел бы знать, если я закрою произвольную контрольную точку (например, C), являются ли все еще подключен Ну и дом (другие контрольные точки также могут быть закрыты). Например, если B, K и D закрыты, у нас есть еще путь через AEJFCGLM, и закрытие C отключит Ну и дом. Конечно; если только D был закрыт, закрывалась C не отсоединяет дом.
Другой способ сдачи этого, представляет собой С мост / отрезанный край / перешеек?
Я мог бы относиться к каждой контрольной точке в качестве веса на графике (либо 0 для открытого или 1 для закрытого); а затем найти кратчайший путь между Ну и дом (результат> = 1 указывает на то, что они были отключены. Там это различные способы можно закоротить алгоритм нахождения кратчайшего пути тоже (например, выбросить путь, когда он достигает 1, остановка поиск после того, у нас есть любой путь, который соединяет Ну и дом, и т.д.). и, конечно, я могу также поместить в какой-то искусственный предел на сколько прыжков, чтобы проверить, прежде чем давать.
Кто-то должен быть классифицирован такого рода проблемы раньше, я просто отсутствует имя.