SLIDE 1 Pangfeng Liu, Department of Computer Science and Information Engineering, National Taiwan University.
Graph Algorithms
SLIDE 2
Articulation Points
A node is an articulation point if its removal cause the connected component to break into more connected components. It is like weak point within a network.
SLIDE 3
An Example
A B C D E F G H
SLIDE 4
DFS Result
A B C D E F G H DFS Forward Edge B C D E A F H G
SLIDE 5
Articulation Points
A node is an articulation point if there is no forward edge from its proper ancestor to the descendents of any of its children. This forward edge serves as a bypass from the upper part to the lower part, with the articulation point in the middle.
SLIDE 6
The Number Low
Low is defined as the minimum of its traverse number and its descendent that has a back edge to its ancestor.
SLIDE 7
The Low
1 2 3 4 5 6 7 8 1 1 1 3 3 3 3 8 BFS Back Edge B C D E A F H G A B C D E F G H 1 1 2 1
3 1 4 3 5 3 6 3 7 3 8 8
SLIDE 8
The Low Computation
Initialize everyones low as its traverse number. The internal node simply takes the minimum with its children. If a forward edge is detected, modify the low of the descendent.
SLIDE 9
Articulation Point Determination
If every child of a node v has a smaller low number than v, v is not an articulation point.
SLIDE 10
Articulation Point Determination
1 2 3 4 5 6 7 8 1 1 1 3 3 3 3 8 BFS Back Edge