Ребро графа называется мостом, если его удаление увеличивает число компонент связности. Граф называется рёберно двусвязным, если он связен и остаётся связным после удаления любого его ребра (граф с одной вершиной также считается рёберно двусвязным). Компоненты рёберной двусвязности графа — это его максимальные рёберно двусвязные подграфы. Докажите, что для любого простого графа [tex]G[/tex] выполняется [tex]|\mathrm{br}(G)|=c_2(G)-c(G)[/tex], где [tex]|\mathrm{br}(G)|[/tex] — число мостов, [tex]c_2(G)[/tex] — число компонент рёберной двусвязности, а [tex]c(G)[/tex] — число компонент связности графа [tex]G[/tex].
Решение:
Факт [tex]1[/tex]: ребро [tex]e=xy[/tex] является мостом тогда и только тогда, когда оно не лежит ни на одном цикле. Если [tex]e[/tex] лежит на цикле [tex]C[/tex], любой маршрут через [tex]e[/tex] можно направить в обход по пути [tex]C-e[/tex], поэтому удаление [tex]e[/tex] ничего не разъединяет. Обратно, если [tex]e[/tex] не мост, то [tex]x[/tex] и [tex]y[/tex] соединены путём в [tex]G-e[/tex], и этот путь вместе с [tex]e[/tex] образует цикл.
Факт [tex]2[/tex]: удаление моста [tex]e=xy[/tex] увеличивает число компонент ровно на [tex]1[/tex]. Действительно, меняется только компонента, содержащая [tex]e[/tex], и любая её вершина [tex]w[/tex] соединена с [tex]x[/tex] в [tex]G[/tex] путём; оборвав этот путь на первом прохождении через [tex]e[/tex] (если оно есть), получаем путь в [tex]G-e[/tex] от [tex]w[/tex] до [tex]x[/tex] или до [tex]y[/tex]. Значит, эта компонента распадается не более чем на две части, причём ровно на две, так как [tex]e[/tex] — мост.
Теперь пусть [tex]B[/tex] — множество мостов графа [tex]G[/tex] и [tex]H=G-B[/tex] (те же вершины, без мостов).
Шаг [tex]1[/tex]: [tex]c(H)=c(G)+|B|[/tex]. Будем удалять мосты по одному. Удаление рёбер не создаёт новых циклов, поэтому по факту [tex]1[/tex] каждое оставшееся ребро из [tex]B[/tex] остаётся мостом текущего графа, а по факту [tex]2[/tex] каждое удаление увеличивает число компонент ровно на [tex]1[/tex].
Шаг [tex]2[/tex]: компоненты связности [tex]H[/tex] — это в точности компоненты рёберной двусвязности [tex]G[/tex].
Каждая компонента [tex]K[/tex] графа [tex]H[/tex] рёберно двусвязна. Пусть [tex]e[/tex] — ребро из [tex]K[/tex]. Оно не мост, поэтому по факту [tex]1[/tex] лежит на некотором цикле [tex]C[/tex] графа [tex]G[/tex]. Ни одно ребро цикла [tex]C[/tex] не является мостом (каждое лежит на [tex]C[/tex]), поэтому [tex]C\subseteq H[/tex], а так как [tex]C[/tex] связен и содержит [tex]e[/tex], то [tex]C\subseteq K[/tex]. Заменяя [tex]e[/tex] путём [tex]C-e[/tex] в любом маршруте в [tex]K[/tex], видим, что граф [tex]K-e[/tex] связен.
Любой рёберно двусвязный подграф [tex]S[/tex] графа [tex]G[/tex] содержится в одной компоненте [tex]H[/tex]. Если бы [tex]S[/tex] содержал мост [tex]e=xy[/tex], то граф [tex]S-e[/tex] был бы связен, т.е. [tex]x[/tex] и [tex]y[/tex] были бы соединены в [tex]G-e[/tex] и ребро [tex]e[/tex] лежало бы на цикле, что противоречит факту [tex]1[/tex]. Значит, [tex]S\subseteq H[/tex], и, будучи связным, [tex]S[/tex] содержится в одной компоненте [tex]H[/tex].
Из этих двух утверждений следует, что каждая компонента [tex]H[/tex] — максимальный рёберно двусвязный подграф [tex]G[/tex], а каждый максимальный рёберно двусвязный подграф содержится в компоненте [tex]H[/tex] и, значит, совпадает с ней (изолированные вершины [tex]H[/tex] — компоненты из одной вершины). Поэтому
[tex]c_2(G)=c(H)=c(G)+|B|\ \Rightarrow\ |\mathrm{br}(G)|=c_2(G)-c(G)[/tex]