Articulation Points Is a node u of a graph such as if you remove u from the graph then the number of components increases 1 component 3 components Articulation Points u is an articulation point if ID: 759744
Download Presentation The PPT/PDF document "Bridges and Articulation Points" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Bridges and Articulation Points
Slide2Articulation Points
Is a node u of a graph such as if you remove u from the graph then the number of components increases
1 component
3 components
Slide3Articulation Points
u is an articulation point if
Right
u is root and has more than 2 children
Wrong
u isn't a root and
there
exists
one of its
subtrees
that has no back edges for an ancestor of u
u
The second and third subtree all have back edges to p (an ancestor of u), while the first one hasn't, therefore u is an articulation point (notice that if you remove it, the first subtree will be disconnected from the rest of the
graph).
p
Slide4Bridges
Is an edge uv of a graph such as if you remove uv from the graph then the number of components increases
1 component
2 components
Slide5Bridges
uv is a bridge if and only if it doesn't belong to a cycle.Proof
If you remove uv there is another path that takes from u to v (the graph is still connected), so uv is not a bridge
uv is a bridge => doesn't belong to a cycle
u
v
uv is not in a cycle so if uv is removed there is no other way to get from u to v, so you are cutting the graph into 2 components (one with u and another with v)
uv doesn't belong to a cycle => uv is a bridge
u
v
Slide6Bridges
The definition on the previous slide gives us that:uv is a bridge ⇔ there is no back edge from a descendant of u to an ancestor of u
Assume that there is a back edge, then uv is part of a cycle and by the previous slide this is a contradiction
uv is a bridge => there is no back edge...
uv doesn't have a back edge... => uv is a bridge
u
v
u
v
Assume that uv is not a bridge, then once
it’s
removed it must have a path between u and v, but we are assuming that there is no back edge, contradiction.
Slide7Interesting fact
If you remove a bridge of a graph the number of components increases by exactly
one but
if you remove an articulation point the number of components can increase by more than one.
Slide8How to implement?
Let's define for each node vd[v] = time instant that you enter a nodelow[v] = the smallest d that v can reach through its descendants (including v itself)Example:
a
b
c
e
f
g
h
d
d[a] = 1
d[b] = 2
d[c] = 3
d[d] = 8
d[e] = 4
d[f] = 7
d[g] = 5
d[h] = 6
low[a] = 1
low[b] = 1
low[c] = 1
low[d] = 8low[e] = 3low[f] = 2low[g] = 3low[h] = 6
u is an articulation point if
low[v] >= d[u] for some children v
uv is a bridge if
low[v] > d[u] for some children v
Notice that low[e] = 3 and not 1