HIPC’2005, December 18-21 2005, Goa (India)
Snap-Stabilizing Detection of Cutsets
Alain Cournier, Stéphane Devismes, and Vincent Villain
What is a Cutset?
Let G=(V,E) be an undirected connected graph.
Let CS be a subset of V.
Let G’ be the subgraph induced by V\CS.
CS is a cutset of G if and only if G’ is unconnected.
Snap-Stabilizing Detection of Cutsets
2
What is a Cutset?
1
2
3
4
G=(V,E)
CS={2,6,8}
G’ = (V \ CS, E ∩ CS²)
5
6
7
8
9
Snap-Stabilizing Detection of Cutsets
3
Problem: Given a network G
and a subset of processors CS.
Is CS a Cutset of G?
This decition must be performed in a distributed manner
Snap-Stabilizing Detection of Cutsets
4
Properties
G=(V,E)
CS={2,6,8}
G’ = (V \ CS, E ∩ CS²)
Snap-Stabilizing Detection of Cutsets
5
DFS Spanning Tree
H=0
CCRoots
H=1
H=1
H=2
H=3
H=3
H=4
H=4
H=5
Snap-Stabilizing Detection of Cutsets
6
Approach
Theorem: CS is a cutset of G if and only if there exists at least two
CCRoots.
Scheme of the algorithm:
• To detect the CCRoots
• To count the CCRoots
• To decide if CS is a cutset
Snap-Stabilizing Detection of Cutsets
7
Detection of the CCRoots
H=0 => CCRoot
H=0
H=1
H=1,B=0
H=1
H=B => CCRoot
H=2,B=2
H=2
H=3
H=3,B=2
H=3
H=4
H=4,B=3
H=4
H=5
H=5,B=3
Snap-Stabilizing Detection of Cutsets
8
Detection of the CCRoots
H=0
H=1
H=1,B=0
H=1
H=2,B=0
H=2
H=3
H=3,B=0
H=3
H=4
H=4,B=0
H=4
H=5
H=5,B=3
Snap-Stabilizing Detection of Cutsets
9
Using a DF Token Circulation for the cutset
detection
Cpt=1 because
R is a CCRoot
R
H=0,Cpt=2
H=0,Cpt=1
H=1,Cpt=1
H=1,Cpt=2
H=1,Cpt=2,B=0
Cpt++ because H=B
H=2,Cpt=2,B=2
H=2,Cpt=1
H=3,Cpt=1,B=2
H=3,Cpt=1
H=4,Cpt=1,B=3
H=3,Cpt=1
H=4,Cpt=1
H=5,Cpt=1,B=3
Snap-Stabilizing Detection of Cutsets
10
Using a DF Token Circulation for the cutset
detection
Cpt=0 because
R is not a CCRoot
R
H=0,Cpt=1
H=0,Cpt=0
H=1,Cpt=0
H=1,Cpt=1
H=1,Cpt=1
Cpt=1 because H=B
H=2,Cpt=1,B=2
H=2,Cpt=0
H=3,Cpt=0,B=2
H=3,Cpt=0
H=4,Cpt=0,B=3
H=3,Cpt=0,B=2
H=4,Cpt=0
H=4,Cpt=0,B=3
H=5,Cpt=0,B=3
Snap-Stabilizing Detection of Cutsets
11
What about Stabilization?
Snap-Stabilizing Detection of Cutsets
12
Self-Stabilization
Self-Stabilisation, Dijkstra (1974)
A self-stabilizing system, regardless of the initial state of the processors,
is guaranteed to converge to the intended behavior in finite time.
If we use a Self-Stabilizing DFTC, Then
the cutset detection is Self-Stabilizing
• Huang and Chen (Distributed Computing, 1993)
• Johnen et al (WDAG, 1997)
• Datta et al (Distributed Computing, 2000)
Snap-Stabilizing Detection of Cutsets
13
Snap-Stabilization
Snap-Stabilisation, Bui et al (1999)
A snap-stabilizing system, regardless of the initial state of the processors,
always behaves according to its specifications.
If we use a Snap-Stabilizing DFTC, Then
the cutset detection is Snap-Stabilizing
• Cournier, Devismes, Petit, and Villain (OPODIS, 2004)
• Cournier, Devismes, and Villain (SSS, 2005)
Snap-Stabilizing Detection of Cutsets
14
Conclusion
The decision needs one traversal of the network only
The time complexity of the solution corresponds to the time complexity
of the DFTC
Small memory overcost (two integers)
The stabilization property depends on the DFTC
Our solution can used in dynamic networks
Our method can be adapted to solve some problem closed to the cutset
detection: cutpoint and bridge finding.
Snap-Stabilizing Detection of Cutsets
15
Thank you!
Snap-Stabilizing Detection of Cutsets
16
© Copyright 2026 Paperzz