В теории графов мост , перешеек , разрезанное ребро или разрезанная дуга — это ребро графа , удаление которого увеличивает количество связных компонентов графа . [1] Эквивалентно, ребро является мостом тогда и только тогда, когда оно не содержится ни в одном цикле . Для связного графа мост может однозначно определить разрез . Граф называется бесмостовым или бесперешечным, если он не содержит мостов.
Этот тип моста следует отличать от несвязанного значения слова «мост» в теории графов, подграфа, отделенного от остальной части графа указанным подмножеством вершин; см. мост .
Граф с узлами может содержать не более мостов, поскольку добавление дополнительных ребер должно создавать цикл. Графы, в которых есть ровно мосты, являются в точности деревьями , а графы, в которых каждое ребро является мостом, являются в точности лесами .
В каждом неориентированном графе на вершинах существует отношение эквивалентности , согласно которому две вершины связаны друг с другом всякий раз, когда их соединяют два непересекающихся по ребрам пути. (Каждая вершина связана сама с собой двумя путями нулевой длины, которые идентичны, но, тем не менее, не пересекаются по ребрам.) Классы эквивалентности этого отношения называются компонентами 2-реберной связности , а мосты графа — это в точности те ребра, у которых конечные точки принадлежат разным компонентам. Дерево мост-блок графа имеет вершину для каждого нетривиального компонента и ребро для каждого моста. [2]
Мосты тесно связаны с концепцией вершин сочленения , вершин, которые принадлежат каждому пути между некоторой парой других вершин. Две конечные точки моста являются вершинами сочленения, если они не имеют степени 1, хотя ребро, не являющееся мостом, также может иметь две вершины сочленения в качестве конечных точек. Аналогично тому, как графы без мостов являются 2-реберно-связными, графы без вершин сочленения являются 2-вершинно-связными .
В кубическом графе каждая разрезанная вершина является конечной точкой хотя бы одного моста.
Граф без мостов — это граф, не имеющий мостов. Эквивалентные условия заключаются в том, что каждый связный компонент графа имеет разложение с открытым ухом , [3] что каждый связный компонент является 2-реберно-связным или (по теореме Роббинса ), что каждый связный компонент имеет сильную ориентацию . [3]
Важной открытой проблемой, связанной с мостами, является гипотеза о двойном покрытии цикла , выдвинутая Сеймуром и Секересом (1978 и 1979, независимо), которая утверждает, что каждый граф без мостов допускает мультимножество простых циклов, которое содержит каждое ребро ровно дважды. [4]
Первый алгоритм поиска мостов в графе с линейным временем (линейный по числу ребер) был описан Робертом Тарджаном в 1974 году. [5] Он выполняет следующие шаги:
Очень простой алгоритм поиска мостов [6] использует цепную декомпозицию . Цепная декомпозиция не только позволяет вычислить все мосты графа, но также позволяет считывать каждую вырезанную вершину графа G (и дерево блочного разреза графа G ), предоставляя общую основу для тестирования 2-реберных и 2-вершинных -связность (которая распространяется на тесты на связность трех ребер и трех вершин за линейное время).
Цепные разложения представляют собой специальные ушные разложения, зависящие от DFS-дерева T группы G , и их можно вычислить очень просто: пусть каждая вершина будет помечена как непосещенная. Для каждой вершины v в возрастающих DFS- номера 1... n пройдите каждое обратное ребро (т. е. каждое ребро, не входящее в дерево DFS), инцидентное v , и следуйте по пути ребер дерева обратно к корню T , останавливаясь в точке первая вершина, помеченная как посещенная. При таком обходе каждая пройденная вершина помечается как посещенная. Таким образом, обход останавливается самое позднее на v и образует либо направленный путь, либо цикл, начиная с v; мы называем этот путь или цикл цепочкой . i- я цепь, найденная с помощью этой процедуры, называется C i . C=C 1 ,C 2 ,... тогда является цепным разложением G .
Следующие характеристики затем позволяют эффективно считывать некоторые свойства G из C , включая все мосты G . [6] Пусть C — цепное разложение простого связного графа G=(V,E) .