Presentation is loading. Please wait.

Presentation is loading. Please wait.

Algorithms for Finding Distance-Edge-Colorings of Graphs

Similar presentations


Presentation on theme: "Algorithms for Finding Distance-Edge-Colorings of Graphs"— Presentation transcript:

1 Algorithms for Finding Distance-Edge-Colorings of Graphs
Takehiro Ito Akira Kato Xiao Zhou Takao Nishizeki Tohoku University

2 Distance between two edges
# of edges in a shortest path between two edges Distance = 2

3 Distance between two edges
# of edges in a shortest path between two edges Distance = 1

4 Distance between two edges
# of edges in a shortest path between two edges Distance = 0

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 Polynomial-time exact algorithm
Our Results Partial k-Trees Polynomial-time exact algorithm Planar Graphs Polynomial-time 2-approximation algorithm

14 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

15 Polynomial-time exact algorithm
Our Results Partial k-Trees Polynomial-time exact algorithm Planar Graphs Polynomial-time 2-approximation algorithm

16 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.

17 1 2 4 3 Tree-decomposition node 1 4 2 3 4-clique 3-tree

18 Tree-decomposition 1 2 4 3 1 4 5 1 2 3 5 2 3 3-clique 3-tree

19 Tree-decomposition 1 2 4 3 1 4 6 6 4 3 2 1 2 3 5 2 3 5 3-tree

20 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

21 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

22 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

23 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

24 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

25 Tree-decomposition Partial 3-tree 1 4 7 2 3 6 8 5 9 10 1 4 2 3 1 2 3 5

26 Algorithm for Partial k-Trees
Dynamic Programming 10 3 5 8 2 9 6 4 1 7 leaves root

27 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

28 Corresponding Subgraphs
Algorithm for Partial k-Trees Tree-Decomposition Corresponding Subgraphs

29 Corresponding Subgraph
Algorithm for Partial k-Trees Tree-Decomposition Corresponding Subgraph

30 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

31 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

32 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

33 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

34 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

35 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

36 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

37 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

38 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

39 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

40 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

41 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

42 colors l 1 vk+1 v2 v1 # of colors 1 2 v1 v2 vk+1

43 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

44 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}

45 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)

46 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

47 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) )

48 Polynomial-time exact algorithm
Our Results Partial k-Trees Polynomial-time exact algorithm Planar Graphs Polynomial-time 2-approximation algorithm

49 Planar Graphs planar graph non-planar graph

50 2-Approx. Algorithm for Planar Graphs
Planar graph can be partitioned into layers

51 2-Approx. Algorithm for Planar Graphs
Planar graph can be partitioned into layers layer 1

52 2-Approx. Algorithm for Planar Graphs
Planar graph can be partitioned into layers layer 2

53 2-Approx. Algorithm for Planar Graphs
Planar graph can be partitioned into layers layer 3

54 2-Approx. Algorithm for Planar Graphs
Planar graph can be partitioned into layers

55 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

56 2-Approx. Algorithm for Planar Graphs
(l+2)-outerplanar graph (l+2)-outerplanar graph G’ G’’

57 2-Approx. Algorithm for Planar Graphs
(l+2)-outerplanar graph (l+2)-outerplanar graph G’ G’’

58 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

59 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

60 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)

61 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.

62 END


Download ppt "Algorithms for Finding Distance-Edge-Colorings of Graphs"

Similar presentations


Ads by Google