An FPT Algorithm for Maximum Edge Coloring

430 views

Published on

Published in: Education, Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
430
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
3
Comments
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 first 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 first component Q is a classical language, and the number k is called the parameter. Such a problem is fixed–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 satisified. ....... 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.

×