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