Reconstruction Algorithm for Permutation Graphs Masashi Kiyomi, Toshiki Saitoh, and Ryuhei Uehara School of Information Science Japan Advanced Institute of Science and Technology
Graph Reconstruction Problem
Deck of Graph G=(V, E): multi-set {G-v | v∈V} Preimage of multi-set D: a graph whose deck is D deck of G
v1
v4
v1
v2
v3
v5
v3
v5
preimage v2
v4
v2
v4
G-v2
v1 v3
v5
graph G
v3
v5
G-v1
G-v4
v2
v4
v1
v2
v1
v5
v3
v4
G-v3
G-v5
Graph Reconstruction Problem
Input: multi-set D whose has n graph with n-1 vertices Question: Is there a preimage whose deck is D?
Input: D
Unlabeled Graphs
Graph Reconstruction Conjecture
For any multi-set D of graphs with n-1 vertices, there is at most 1 preimage whose deck is D (n≧3).
Input: D
Graph G
Different graph of G
Graph Reconstruction Conjecture
Proposed by Ulam and Kelly [1941]
Open problem
Reconstructible graph classes (the conjecture is true)
regular graphs, trees, disconnected graphs, etc.
Related research Reconstructible
degree sequence, chromatic number, etc.
Many graph isomorphism-related complexity results
Isomorphism problem is not easier than reconstruction problem.
Naive Reconstruction Algorithm 1. 2. 3. 4.
Select G∈D and add a vertex v to G. Add edges incident to v (GN(v)). Construct the deck DN(v) of GN(v). Check that DN(v) is equal to D (Deck Checking). If DN(v) = D then GN(v) is preimage of D. Else goto 2.
Input: D
Deck of GN(v)
v
Graph GN(v)
Naive Reconstruction Algorithm 1. 2. 3. 4.
Select G∈D and add a vertex v to G. Add edges incident to v (GN(v)). Construct the deck DN(v) of GN(v). Check that DN(v) is equal to D (Deck Checking). If DN(v) = D then GN(v) is preimage of D. Else goto 2.
Input: D
Deck of GN(v)
≠ D is not a deck of GN(v)
v
Graph GN(v)
Naive Reconstruction Algorithm 1. 2. 3. 4.
Select G∈D and add a vertex v to G. Add edges incident to v (GN(v)). Construct the deck DN(v) of GN(v). Check that DN(v) is equal to D (Deck Checking). If DN(v) = D then GN(v) is preimage of D. Else goto 2. Deck of GN(v)
Input: D
= D is a deck of GN(v)
v
Graph GN(v)
Naive Reconstruction Algorithm Select G∈D and add a vertex v to G. Add edges incident to v (GN(v)). Construct the deck DN(v) of GN(v). Check that DN(v) is equal to D (Deck Checking). If DN(v) = D then GN(v) is preimage of D. Else goto 2.
1. 2. 3. 4.
Exponential Polynomial time Isomorphism
This algorithm is very slow!
Polynomial time algorithms Input: restrict
the graphs in multi-set D
The input graphs can solve the isomorphism problem in polynomial time.
GI-complete: the isomorphism problem is as hard as on general graphs
Our Contribution GI-complete
Perfect graphs
HHD-free graphs Comparability graphs Chordal graphs GI can be solved in polynomial time
Kiyomi, et al. 2009 Interval graphs
Distancehereditary graphs
Permutation graphs
Exist reconstruction algorithms
The conjecture is true. Proper interval graphs
Tree
Threshold graphs
Reconstruction Problem on Permutation Graphs
Input: multi-set D Question: Is there a permutation graph whose deck is D?
Input: D
・ ・ ・
Permutation graph
Permutation Graphs
A graph is called a permutation graph if the graph has a line representation. (also, permutation diagraph) 1
2
3
4
5
6 1
6 4
3
3
6 4 1 5 2 Line representation
2
5
Permutation graph
Permutation Graphs Lemma 1
Induced subgraphs of a permutation graph are permutation graphs. 1
2
3
4
5
6 1
6
4
3
6 4 1 5 2 Line Representation
3
2
5
Permutation graph
A preimage G is a permutation graph ⇒ each graph of the deck of G is a permutation graph.
Reconstruction Problem on Permutation Graphs
Input: multi-set D Each graph G∈D is a permutation graph Question: Is there a permutation graph whose deck is D? Permutation graphs
Input: D
・ ・ ・
Reconstruction Algorithm for Permutation Graphs? Adding
a line segment to line representation of Gi in Deck.
There exist exponentially many line representations. Input: D
Graph Gi O(n2) time?
・・ ・ Unique line representation
Unique Line Representation Lemma 2 [T. Ma and J. Spinrad, 1994]
A permutation graph G that is a prime with respect to modular decomposition has a unique representation. Input: D
Graph G
・・ ・
O(n2) time
Modular Decomposition
A module M is a set of vertices s.t. vertices of V-M are adjacent to either all vertices of M, or no vertex of M.
Module M is trivial if M=φ, M=V, or |M|=1. G is a prime if G contains only trivial modules.
Not prime
Prime
Unique Line Representation Lemma 2 [T. Ma and J. Spinrad, 1994]
A permutation graph G that is a prime with respect to modular decomposition has a unique representation. Lemma 3 [J.H. Schmerl, W.T. Trotter, 1993]
Let a graph G is a prime. There is a vertex v s.t. G-v is a prime ⇔ G is not isomorphic to H2n or, H2n x1 x2
Prime Prime
y1 y2
・・ xi ・ ・・ x ・ n
・・ ・ y i ・・ ・ y
n
Graph H2n
Algorithm (a preimage is a prime) 1. 2. 3. 4. 5.
Foreach graph G in D do If G is a prime then Add a line segment to the line representation of G. If there is no prime then Check that a preimage is H2n, or H2n
When a preimage is not a prime
By using modular decomposition tree, we reduce the problem to “the prime case”.
Overlap : M1 M 2 , M1 \ M 2 , and M 2 \ M1
Modular Decomposition Tree
A module M is set of vertices
s.t. vertices of V-M are adjacent to either all vertices of M, or no vertex of M.
A module M is strong if M does not overlap any other modules. Modular decomposition tree (strong modules M1, M2) M1 is an ancestor of M2 ⇔ M1 contains M2 M4 M1 M1
M5
M2 M3
M2
M3 M4
M5
Modular Decomposition and Line Representation M4 M1
M2
M1
M2
M1 M3
M3 M4 M2
M5M5 M3
M53 M M4 M1 MM 2 5 M3
M4
M5
A line representation of a minimal strong module is unique.
Algorithm (Preimage is not a prime) 1. 2. 3. 4. 5.
Foreach graph G∈D do Construct modular decomposition of G. Foreach minimal strong module M do Add a line segment to the line representation of M. Check that a preimage has H2n, H2n, or twins.
Conclusions and Future Works Perfect graph
GI-complete
HHD-free graph Comparability graph
Chordal graph GI can be solved in polynomial time
Circle graph
Circular-arc graph
Is the Interval graph conjecture true?
DistanceHereditary graph
Permutation graph
Propose polynomial time algorithms Exist reconstruction algorithms The conjecture is true. Proper Interval graph
Tree
Threshold graph