Algorithms for Finding Distance-Edge-Colorings of Graphs Takehiro Ito Akira Kato Xiao Zhou Takao Nishizeki Tohoku University
Distance between two edges # of edges in a shortest path between two edges Distance = 2
Distance between two edges # of edges in a shortest path between two edges Distance = 1
Distance between two edges # of edges in a shortest path between two edges Distance = 0
Distance-Edge-Coloring or l-Edge-Coloring for a given bounded integer l, any two edges within distance l have different colors l = 1 Not 1-edge-coloring 1-edge-coloring with six colors
Distance-Edge-Coloring or l-Edge-Coloring for a given bounded integer l, any two edges within distance l have different colors 0-edge-coloring ordinary edge-coloring l = 1 1-edge-coloring strong edge-coloring 1-edge-coloring with six colors
l-Edge-Coloring Problem find an l-edge-coloring with min # of colors The ordinary edge-coloring problem is NP-hard The l-edge-coloring problem is NP-hard in general ? restricted class Partial k-trees
Class of Partial k-Trees All Graphs k=O(1) Partial k-trees (bounded tree-width) k=2 Series-parallel outerplanar graph k=1 Trees Forests
Related Results on Partial k-Trees (ordinary edge-coloring problem) Linear-time algorithm [Zhou et al. 1996] l = 1 (strong edge-coloring problem) Polynomial-time algorithm [Salavatiour 2004] ? l-edge-coloring problem
Our Results O( n a O(1) ) Partial k-Trees (k, l : constant) Polynomial-time exact algorithm O( n a O(1) ) partial k-tree has an l-edge-coloring with a colors? n: # of vertices
Our Results O( n a O(1) ) 22(k+1)(l+1)+1 Partial k-Trees (k, l : constant) Polynomial-time exact algorithm 22(k+1)(l+1)+1 = O(1) O( n a O(1) ) partial k-tree has an l-edge-coloring with a colors? n: # of vertices
Our Results O( n a O(1) ) Partial k-Trees (k, l : constant) Polynomial-time exact algorithm O( n a O(1) ) partial k-tree has an l-edge-coloring with a colors? min # of colors a ≤ (# of edges) a = O(1) O(n) time n: # of vertices
Polynomial-time exact algorithm Our Results Partial k-Trees Polynomial-time exact algorithm Planar Graphs Polynomial-time 2-approximation algorithm
Class of Partial k-Trees All Graphs Planar Graph k=O(1) Partial k-trees (bounded tree-width) k=2 Series-parallel outerplanar graph k=1 Trees Forests
Polynomial-time exact algorithm Our Results Partial k-Trees Polynomial-time exact algorithm Planar Graphs Polynomial-time 2-approximation algorithm
k-tree (recursive definition) Partial k-Trees k-tree (recursive definition) 1 2 3 k+1 k 4 (k+1)-clique G : k-tree k-clique k v A graph obtained from G by adding a new vertex v and joining it with each of the k vertices is a k-tree. A complete graph with k+1 vertices is a k-tree.
1 2 4 3 Tree-decomposition node 1 4 2 3 4-clique 3-tree
Tree-decomposition 1 2 4 3 1 4 5 1 2 3 5 2 3 3-clique 3-tree
Tree-decomposition 1 2 4 3 1 4 6 6 4 3 2 1 2 3 5 2 3 5 3-tree
Tree-decomposition 3-tree 1 4 7 2 3 6 5 1 2 4 3 6 4 3 2 1 2 3 5 5 1 2
Tree-decomposition 3-tree 1 4 7 2 3 6 8 5 1 2 4 3 6 4 3 2 1 2 3 5 5 1
Tree-decomposition 3-tree 1 4 7 2 3 6 8 5 9 1 2 4 3 6 4 3 2 1 2 3 5 5
Tree-decomposition 3-tree 1 4 7 2 3 10 6 8 5 9 1 2 4 3 6 4 3 2 1 2 3 5
Tree-decomposition Partial k-Tree 3-tree a subgraph of k-tree 9 5 8 7 10 3 5 8 2 9 1 7 6 4 1 2 4 3 9 5 8 7 6 10 4 1 3 2 1 4 6 4 3 2 1 2 3 5 7 2 3 6 8 5 1 2 7 2 8 3 5 5 9 10 10 3 5 8 2 8 5 9 Partial k-Tree a subgraph of k-tree 3-tree
Tree-decomposition Partial 3-tree 1 4 7 2 3 6 8 5 9 10 1 4 2 3 1 2 3 5
Algorithm for Partial k-Trees Dynamic Programming 10 3 5 8 2 9 6 4 1 7 leaves root
Corresponding Subgraphs Algorithm for Partial k-Trees What should we store in the table for the problem ? DP table 9 5 8 10 3 2 7 1 2 8 3 5 1 7 DP table DP table Nodes of Tree-decomposition Corresponding Subgraphs
Corresponding Subgraphs Algorithm for Partial k-Trees Tree-Decomposition Corresponding Subgraphs
Corresponding Subgraph Algorithm for Partial k-Trees Tree-Decomposition Corresponding Subgraph
Corresponding Subgraph Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l Tree-Decomposition Corresponding Subgraph
Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l v2 v1 vk+1 v1 v2 … vk+1 color 1 l
Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l v2 v1 vk+1 v1 v2 … vk+1 color 1 l …
Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l v2 v1 vk+1 v1 v2 … vk+1 color 1 l … …
Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l v2 v1 vk+1 v1 v2 … vk+1 color 1 l … … … … … … …
Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l v2 v1 vk+1 v1 v2 … vk+1 color 1 l … … … … … … …
Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l v2 v1 vk+1 v1 v2 … vk+1 colors 1 l … … … …
Algorithm for Partial k-Trees store all colors which are assigned to edges with (distance from a vertex) ≦ l v2 v1 vk+1 v1 v2 … vk+1 colors 1 l … … … … … … … … … … … … …
v1 v2 vk+1 v1 v2 vk+1 exponential size l … 1 vk+1 v2 v1 l … 1 vk+1 v2 colors l … 1 vk+1 v2 v1 colors l … 1 vk+1 v2 v1 v1 v2 vk+1 v1 v2 vk+1 exponential size
v1 v2 vk+1 v1 v2 vk+1 Permutation same color pattern l … 1 vk+1 v2 v1 colors l … 1 vk+1 v2 v1 colors l … 1 vk+1 v2 v1 v1 v2 vk+1 v1 v2 vk+1 Permutation same color pattern
v1 v2 vk+1 v1 v2 vk+1 same color pattern l … 1 vk+1 v2 v1 l … 1 vk+1 colors l … 1 vk+1 v2 v1 colors l … 1 vk+1 v2 v1 v1 v2 vk+1 v1 v2 vk+1 same color pattern
v1 v2 vk+1 v1 v2 vk+1 Permutation same color pattern l … 1 vk+1 v2 v1 colors l … 1 vk+1 v2 v1 colors l … 1 vk+1 v2 v1 v1 v2 vk+1 v1 v2 vk+1 Permutation same color pattern
colors l … 1 vk+1 v2 v1 # of colors 1 2 v1 v2 vk+1
Algorithm for Partial k-Trees 2 l … 1 vk+1 other sets of { , } # v2 v1 2O(1) (k+1)(l+1) = O(1) a color pattern
color pattern: 2O(1) rows {0, 1, …, a} Algorithm for Partial k-Trees 2 l … 1 vk+1 other sets of { , } # v2 v1 2O(1) color pattern: 2O(1) rows {0, 1, …, a}
Algorithm for Partial k-Trees 2 l … 1 vk+1 other sets of { , } # v2 v1 2 l … 1 vk+1 3 other sets of { , } # v2 v1 1 l … vk+1 2 other sets of { , } 4 # v2 v1 1 l … vk+1 2 other sets of { , } 3 # v2 v1 O( a O(1) ) 2O(1)
Corresponding Subgraphs Algorithm for Partial k-Trees time O( a O(1) ) DP table 9 5 8 10 3 2 7 1 2 8 3 5 1 7 size O( a O(1) ) DP table size O( a O(1) ) DP table Nodes of Tree-decomposition Corresponding Subgraphs
Algorithm for Partial k-Trees 10 3 5 8 2 9 6 4 1 7 leaves root # of nodes = O(n) time O( a O(1) ) time O( n a O(1) )
Polynomial-time exact algorithm Our Results Partial k-Trees Polynomial-time exact algorithm Planar Graphs Polynomial-time 2-approximation algorithm
Planar Graphs planar graph non-planar graph
2-Approx. Algorithm for Planar Graphs Planar graph can be partitioned into layers
2-Approx. Algorithm for Planar Graphs Planar graph can be partitioned into layers layer 1
2-Approx. Algorithm for Planar Graphs Planar graph can be partitioned into layers layer 2
2-Approx. Algorithm for Planar Graphs Planar graph can be partitioned into layers layer 3
2-Approx. Algorithm for Planar Graphs Planar graph can be partitioned into layers
colorings of components can be found separately 2-Approx. Algorithm for Planar Graphs given planar graph G (l+2) layers G’ G’’ colorings of components can be found separately
2-Approx. Algorithm for Planar Graphs (l+2)-outerplanar graph (l+2)-outerplanar graph G’ G’’
2-Approx. Algorithm for Planar Graphs (l+2)-outerplanar graph (l+2)-outerplanar graph G’ G’’
2-Approx. Algorithm for Planar Graphs (l+2)-outerplanar graphs partial (3l+5)-trees Poly.-time exact Algorithm (l+2)-outerplanar graph (l+2)-outerplanar graph G’ G’’ OPT(G’) colors OPT(G’’) colors
APPRO = OPT(G’) + OPT(G’’) 2-Approx. Algorithm for Planar Graphs given planar graph G G’ G’’ APPRO = OPT(G’) + OPT(G’’) OPT(G’) ≤ OPT(G) OPT(G’) colors OPT(G’’) ≤ OPT(G) OPT(G’’) colors
2-Approx. Algorithm for Planar Graphs given planar graph G G’ G’’ APPRO = OPT(G’) + OPT(G’’) ≤ OPT(G) + OPT(G) APPRO = OPT(G’) + OPT(G’’) ≤ OPT(G) + OPT(G) = 2 OPT(G) OPT(G’) ≤ OPT(G) OPT(G’) colors OPT(G’’) colors OPT(G’’) ≤ OPT(G)
Conclusions Partial k-Trees Planar Graphs Polynomial-time exact algorithm Polynomial-time 2-approximation algorithm It is easy to modify all algorithms so that it actually finds an l-edge-coloring.
END