In graph theory, a bridge (also known as a cut-edge or cut arc or an isthmus) is an edge whose deletion increases the number of connected components. Equivalently, an edge is a bridge if and only if it is not contained in any cycle.
A graph is said to be bridgeless if it contains no bridges. It is easy to see that this is equivalent to 2-edge-connectivity of each nontrivial component.
A graph with nodes can contain at most bridges, since adding additional edges must create a cycle.
Contents |
An important open problem involving bridges is the cycle double cover conjecture, due to Seymour and Szekeres (1978 and 1979, independently), which states that every bridgeless graph admits a set of cycles which contains each edge exactly twice.[1]
An algorithm for finding bridges in a connected graph was found by Tarjan in 1974.[2] A distributed version of the algorithm also exists.[3]
Algorithm:
Definitions: A non-tree (undirected) edge between and is denoted by . An in-tree edge with as the parent is denoted by .
where is the parent node of .
is the number of descendants of v (including itself) in the rooted spanning tree.
and are the labels of the nodes with lowest and highest preorder label respectively reachable from v by travelling in the subtree rooted at v, along with at most one non-tree edge.
This algorithm works because , and can all be computed for a node v provided we know their values on all in-tree descendants of v. Also, if and only if the edge is a bridge, then it is clear that in the subtree rooted at , it must be impossible to reach any node that is not a descendant of w. This is easy to check because the subtree rooted at w (that is, all descendants of w) consists of the nodes so we can simply check if are in this set or not to check whether an edge is a bridge.
An edge or arc e = uv of a tree G is a cut arc of G if and only if the degree of the vertices u and v are greater than 1. Cut arcs are also defined for directed graphs [4]