Upcoming SlideShare
×

# An FPT Algorithm for Maximum Edge Coloring

119

Published on

Published in: Education, Technology, Design
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
119
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
2
0
Likes
0
Embeds 0
No embeds

No notes for slide

### An FPT Algorithm for Maximum Edge Coloring

1. 1. Maximum Edge Coloring Prachi Goyal, Vikram Kamat and Neeldhara Misra Department of Computer Science, Indian Institute of Science
2. 2. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .
3. 3. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ...........
4. 4. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ...........
5. 5. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ..........
6. 6. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ..........
7. 7. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .........
8. 8. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ........
9. 9. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .......
10. 10. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ......
11. 11. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .....
12. 12. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ....
13. 13. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ...
14. 14. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. ..
15. 15. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .
16. 16. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .. This is not an optimal coloring yet.
17. 17. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .
18. 18. Maximum Edge Coloring GOAL. Color the edges of a graph so that each vertex “sees” at most two colors. .
19. 19. Motivation In a network, every system has two interface cards.
20. 20. Motivation In a network, every system has two interface cards. The goal is to assign frequency channels so that: ..1 No system is assigned more than two channels. ..2 The number of channels used overall is maximized.
21. 21. Motivation In a graph, every system has two interface cards. The goal is to assign frequency channels so that: ..1 No system is assigned more than two channels. ..2 The number of channels used overall is maximized.
22. 22. Motivation In a graph, every vertex has two interface cards. The goal is to assign frequency channels so that: ..1 No system is assigned more than two channels. ..2 The number of channels used overall is maximized.
23. 23. Motivation In a graph, every vertex has two interface cards. The goal is to assign frequency channels so that: ..1 No vertex sees more than two colors. ..2 The number of channels used overall is maximized.
24. 24. Motivation In a graph, every vertex has two interface cards. The goal is to assign frequency channels so that: ..1 No vertex sees more than two colors. ..2 The number of colors used overall is maximimized.
25. 25. Past Work Max Edge coloring is known to be NP-Complete and also APX-Hard (Adamaszek and Popa, 2010)
26. 26. Past Work Max Edge coloring is known to be NP-Complete and also APX-Hard (Adamaszek and Popa, 2010) A 2-approximation algorithm is known on general graphs (Feng, Zhang and Wang, 2009)
27. 27. Past Work Max Edge coloring is known to be NP-Complete and also APX-Hard (Adamaszek and Popa, 2010) A 2-approximation algorithm is known on general graphs (Feng, Zhang and Wang, 2009) The problem is shown to have a polynomial time algorithm for complete graphs and trees (Feng, Zhang and Wang, 2009)
28. 28. Past Work Max Edge coloring is known to be NP-Complete and also APX-Hard (Adamaszek and Popa, 2010) A 2-approximation algorithm is known on general graphs (Feng, Zhang and Wang, 2009) The problem is shown to have a polynomial time algorithm for complete graphs and trees (Feng, Zhang and Wang, 2009) There exists a 5 3 -approximation algorithm for graphs with perefect matching (Adamaszek and Popa, 2010)
29. 29. Maximum Edge Coloring: The Decision Version Can we color with at least k colors?
30. 30. Maximum Edge Coloring: The Decision Version Can we color with at least k colors?
31. 31. Maximum Edge Coloring: The Decision Version Can we color with at least k colors? ≡ Can we color with exactly k colors?
32. 32. Blue → Black. ...........
33. 33. Blue → Black. ...........
34. 34. Blue → Black. ...........
35. 35. Blue → Black. ...........
36. 36. Blue → Black. ...........
37. 37. Blue → Black. ...........
38. 38. Blue → Black. ...........
39. 39. The Maximum Edge Coloring Problem (Parameterized) Input: A graph G and an integer k. Question: Can the edges of G be colored with k colors so that no vertex sees more than two colors? Parameter: k
40. 40. The Maximum Edge Coloring Problem (Parameterized) Input: A graph G and an integer k. Question: Can the edges of G be colored with k colors so that no vertex sees more than two colors? Parameter: k
41. 41. A parameterized problem is denoted by a pair (Q, k) ⊆ Σ∗ × N.
42. 42. A parameterized problem is denoted by a pair (Q, k) ⊆ Σ∗ × N. The ﬁrst component Q is a classical language, and the number k is called the parameter.
43. 43. A parameterized problem is denoted by a pair (Q, k) ⊆ Σ∗ × N. The ﬁrst component Q is a classical language, and the number k is called the parameter. Such a problem is ﬁxed–parameter tractable or FPT if there exists an algorithm that decides it in time O(f(k)nO(1)) on instances of size n.
44. 44. If there are less than k edges ⇒ Say NO.
45. 45. If there are less than k edges ⇒ Say NO. A matching of size at least (k − 1) ⇒ Say YES.
46. 46. If there are less than k edges ⇒ Say NO. A matching of size at least (k − 1) ⇒ Say YES. ...........
47. 47. If there are less than k edges ⇒ Say NO. A matching of size at least (k − 1) ⇒ Say YES. ...........
48. 48. If there are less than k edges ⇒ Say NO. A matching of size at least (k − 1) ⇒ Say YES. ...........
49. 49. If there are less than k edges ⇒ Say NO. A matching of size at least (k − 1) ⇒ Say YES. ...........
50. 50. If there are less than k edges ⇒ Say NO. A matching of size at least (k − 1) ⇒ Say YES. ...........
51. 51. If there are less than k edges ⇒ Say NO. A matching of size at least (k − 1) ⇒ Say YES. ...........
52. 52. ...
53. 53. .....
54. 54. .......
55. 55. .........
56. 56. ...........
57. 57. .............
58. 58. ...............
59. 59. ...............
60. 60. ................ We have a vertex cover . of size at most 2k.
61. 61. .. We have a vertex cover . of size at most 2k. ..............
62. 62. .. ColorPalette ............. VertexCover . IndependentSet
63. 63. .. ColorPalette ............ VertexCover . IndependentSet
64. 64. .. ColorPalette ........... VertexCover . IndependentSet
65. 65. .. ColorPalette .......... VertexCover . IndependentSet
66. 66. .. ColorPalette ......... VertexCover . IndependentSet
67. 67. .. ColorPalette ........ VertexCover . IndependentSet
68. 68. .. ColorPalette ....... VertexCover . IndependentSet
69. 69. .. ColorPalette ...... VertexCover . IndependentSet
70. 70. To realize a palette assignment, we must assign colors so that:
71. 71. To realize a palette assignment, we must assign colors so that: ..1 Every edge respects the palette. .. VertexCover . IndependentSet
72. 72. To realize a palette assignment, we must assign colors so that: ..1 Every edge respects the palette. ..2 Every palette is satisiﬁed. ....... VertexCover . IndependentSet
73. 73. Sanity Checks
74. 74. .. ColorPalette ........ VertexCover . IndependentSet
75. 75. .. ColorPalette ....... VertexCover . IndependentSet
76. 76. .. ColorPalette ...... VertexCover . IndependentSet
77. 77. .. ColorPalette ...... VertexCover . IndependentSet . Reject this palette assignment...
78. 78. .. ColorPalette ...... VertexCover . IndependentSet
79. 79. .. ColorPalette ...... VertexCover . IndependentSet . Every color must be realized in the palettes of the vertex cover vertices.
80. 80. .. ColorPalette ...... VertexCover . IndependentSet . Reject this assignment. .
81. 81. Guess a split of the Palette
82. 82. .. ColorPalette ...... Guess X: the set of colors assigned to edges within the vertex cover. . VertexCover . IndependentSet
83. 83. .. ColorPalette ...... Guess X: the set of colors assigned to edges within the vertex cover. . VertexCover . IndependentSet
84. 84. .. ColorPalette ...... Guess X: the set of colors assigned to edges within the vertex cover. . VertexCover . IndependentSet
85. 85. .. ColorPalette ...... Guess X: the set of colors assigned to edges within the vertex cover. . VertexCover . IndependentSet
86. 86. .. ColorPalette ...... |X| ⩽ k. . VertexCover . IndependentSet
87. 87. Assign Colors Within the Vertex Cover
88. 88. .. ColorPaletteWithX Fixed ........ VertexCover . IndependentSet . Case 1: The palettes intersect at one color.
89. 89. .. ColorPaletteWithX Fixed ....... VertexCover . IndependentSet . Case 1: The palettes intersect at one color.
90. 90. .. ColorPaletteWithX Fixed ...... VertexCover . IndependentSet . Case 1: The palettes intersect at one color.
91. 91. .. ColorPaletteWithX Fixed ...... VertexCover . IndependentSet . Case 1: The palettes intersect at one color. . The edge gets that color.
92. 92. .. ColorPaletteWithX Fixed ...... VertexCover . IndependentSet . Case 2: The palettes are the same.
93. 93. .. ColorPaletteWithX Fixed ...... VertexCover . IndependentSet . Case 2: The palettes are the same. . If only one of the colors is in X, assign that color.
94. 94. .. ColorPaletteWithX Fixed ...... VertexCover . IndependentSet . Case 2: The palettes are the same. . If both colors are in X, branch.
95. 95. Whenever a color in X is assigned to an edge, mark it as used.
96. 96. Whenever a color in X is assigned to an edge, mark it as used. Branch only over unused colors.
97. 97. Whenever a color in X is assigned to an edge, mark it as used. Branch only over unused colors. Once all colors in X are used, assign colors arbitrarily.
98. 98. Assign Colors Outside the Vertex Cover
99. 99. .. ColorPalette ............. VertexCover . IndependentSet
100. 100. .. ColorPalette .............. VertexCover . IndependentSet
101. 101. .. ColorPalette .............. VertexCover . IndependentSet
102. 102. .. ColorPalette ............. VertexCover . IndependentSet
103. 103. .. ColorPalette .............. VertexCover . IndependentSet
104. 104. .. ColorPalette .............. VertexCover . IndependentSet
105. 105. .. ColorPalette .............. VertexCover . IndependentSet
106. 106. .. ColorPalette .............. VertexCover . IndependentSet
107. 107. .. ColorPalette .............. VertexCover . IndependentSet
108. 108. .. ColorPalette .............. VertexCover . IndependentSet
109. 109. .. ColorPalette .............. VertexCover . IndependentSet
110. 110. .. ColorPalette .............. VertexCover . IndependentSet
111. 111. .. ColorPalette .............. VertexCover . IndependentSet
112. 112. As it turns out, there are only two kinds of lists:
113. 113. As it turns out, there are only two kinds of lists: ..1 Those with constant size. ..2 Those with a common color.
114. 114. As it turns out, there are only two kinds of lists: ..1 Those with constant size. Continue to branch. ..2 Those with a common color.
115. 115. As it turns out, there are only two kinds of lists: ..1 Those with constant size. Continue to branch. ..2 Those with a common color. Reduces to a maximum matching problem.
116. 116. Running time?
117. 117. Palette k2k
118. 118. Palette × Guess X k2k · 2k
119. 119. Palette × Guess X × Branching k2k · 2k · 10k
120. 120. Palette × Guess X × Branching k2k · 2k · 10k Overall: O∗ ((20k)k )
121. 121. Other Results
122. 122. Other Results ..1 We show an explicit exponential kernel by the application of some simple reduction rules.
123. 123. Other Results ..1 We show an explicit exponential kernel by the application of some simple reduction rules. ..2 We also show NP-hardness and polynomial kernels for restricted graph classes (constant maximum degree, and C4-free graphs).
124. 124. Other Results ..1 We show an explicit exponential kernel by the application of some simple reduction rules. ..2 We also show NP-hardness and polynomial kernels for restricted graph classes (constant maximum degree, and C4-free graphs). ..3 We consider the dual parameter 1 and show a polynomial kernel in this setting. 1 Can we color with at least (n − k) colors?
125. 125. Several Open Problems!
126. 126. Several Open Problems! ..1 Can the algorithm be improved to a running time of O(ck) for some constant c?
127. 127. Several Open Problems! ..1 Can the algorithm be improved to a running time of O(ck) for some constant c? ..2 Does the problem admit a polynomial kernel?
128. 128. Several Open Problems! ..1 Can the algorithm be improved to a running time of O(ck) for some constant c? ..2 Does the problem admit a polynomial kernel? ..3 A natural extension would be the above-guarantee version: can we color with at least (t + k) colors, where t is the size of a maximum matching?
129. 129. Several Open Problems! ..1 Can the algorithm be improved to a running time of O(ck) for some constant c? ..2 Does the problem admit a polynomial kernel? ..3 A natural extension would be the above-guarantee version: can we color with at least (t + k) colors, where t is the size of a maximum matching? ..4 Is there an explicit FPT algorithm for the dual parameter?
130. 130. Thank You.
1. #### A particular slide catching your eye?

Clipping is a handy way to collect important slides you want to go back to later.