grundy distinguishes treewidth from pathwidth
play

Grundy Distinguishes Treewidth from Pathwidth Michael Lampis - PowerPoint PPT Presentation

Grundy Distinguishes Treewidth from Pathwidth Michael Lampis LAMSADE Universit e Paris Dauphine Sep 7th 2020 Acknowledgements This is joint work with: R emy Belmonte UEC Eun Jung Kim LAMSADE Valia Mitsou IRIF Yota Otachi Nagoya


  1. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  2. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  3. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  4. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  5. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  6. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  7. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  8. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  9. Treewidth – Pathwidth Gentle definition of pathwidth k : • We have k stacks. Initially each contains a vertex. They are arbitrarily connected. • At each step we add a vertex to the top of a stack. It can be connected to vertices currently on top of a stack. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  10. Treewidth – Pathwidth Note that this is equivalent to the standard definition of path decompositions. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  11. Treewidth – Pathwidth Note that this is equivalent to the standard definition of path decompositions. Grundy Distinguishes Treewidth from Pathwidth 11 / 43

  12. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  13. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  14. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  15. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  16. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  17. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  18. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  19. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  20. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  21. Treewidth In treewidth we are allowed to branch out, starting from a set of vertices which are simultaneously on the top of their respective stacks. Grundy Distinguishes Treewidth from Pathwidth 12 / 43

  22. Treewidth – Pathwidth – Tree-depth • Suppose at each step we add all allowed edges: • Pathwidth → interval graph with ω ( G ) = k + 1 • Treewidth → chordal graph with ω ( G ) = k + 1 • We get the following equivalent definitions: where G ′ is chordal supergraph of G Treewidth ( G ) min ω ( G ′ ) where G ′ is interval supergraph of G Pathwidth ( G ) min ω ( G ′ ) where G ′ is trivially perfect supergraph of G Treedepth ( G ) min ω ( G ′ ) Grundy Distinguishes Treewidth from Pathwidth 13 / 43

  23. Treewidth – Pathwidth – Tree-depth • Suppose at each step we add all allowed edges: • Pathwidth → interval graph with ω ( G ) = k + 1 • Treewidth → chordal graph with ω ( G ) = k + 1 • We get the following equivalent definitions: where G ′ is chordal supergraph of G Treewidth ( G ) min ω ( G ′ ) where G ′ is interval supergraph of G Pathwidth ( G ) min ω ( G ′ ) where G ′ is trivially perfect supergraph of G Treedepth ( G ) min ω ( G ′ ) • Connection to interval graphs will be useful later. Grundy Distinguishes Treewidth from Pathwidth 13 / 43

  24. Treewidth – Pathwidth – Tree-depth • Suppose at each step we add all allowed edges: • Pathwidth → interval graph with ω ( G ) = k + 1 • Treewidth → chordal graph with ω ( G ) = k + 1 • We get the following equivalent definitions: where G ′ is chordal supergraph of G Treewidth ( G ) min ω ( G ′ ) where G ′ is interval supergraph of G Pathwidth ( G ) min ω ( G ′ ) where G ′ is trivially perfect supergraph of G Treedepth ( G ) min ω ( G ′ ) • Connection to interval graphs will be useful later. • What about clique-width? • Clique-width == treewidth + large bicliques • If G has treewidth t and no K c,c subgraph, then G has clique-width O ( ct ) . [Gurski&Wanke] Grundy Distinguishes Treewidth from Pathwidth 13 / 43

  25. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  26. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  27. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  28. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  29. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  30. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  31. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  32. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  33. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  34. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  35. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. For 3 -C OLORING only need to remember information about boundary Which colorings of the boundary are properly extendible to the left? Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  36. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. For 3 -C OLORING only need to remember information about boundary Which colorings of the boundary are properly extendible to the left? Separator: { 3 , 4 , 5 , 6 } includes tuple (3,4,5,6;No) because this coloring does not work Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  37. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. For 3 -C OLORING only need to remember information about boundary Which colorings of the boundary are properly extendible to the left? Separator: { 3 , 4 , 5 , 6 } includes tuple (3,4,5,6;Yes) because this coloring can be extended to the left Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  38. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. For 3 -C OLORING only need to remember information about boundary Which colorings of the boundary are properly extendible to the left? Separator: { 3 , 4 , 5 , 6 } includes tuple (3,4,5,6;Yes) because this coloring can be extended to the left Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  39. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. For 3 -C OLORING only need to remember information about boundary Which colorings of the boundary are properly extendible to the left? We now need to decide which are the good colorings for the separator (3 , 4 , 5 , 7) . We consider each good coloring of (3 , 4 , 5 , 6) . Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  40. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. For 3 -C OLORING only need to remember information about boundary Which colorings of the boundary are properly extendible to the left? We now need to decide which are the good colorings for the separator (3 , 4 , 5 , 7) . We consider each good coloring of (3 , 4 , 5 , 6) . We see that (3 , 4 , 5 , 7) is a good coloring. Important: we know the colors of all neighbors of 7 . Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  41. Algorithmic view The reason that tree/path decompositions are useful is that we have a moving boundary of small separators that “sweeps” the graph. For 3 -C OLORING only need to remember information about boundary Which colorings of the boundary are properly extendible to the left? DP tables have size 3 w . • • Things work in similar way for treewidth. • Perhaps not surprising that complexity is the same for most problems?? • Big back story we skip: Fast Subset Convolution Grundy Distinguishes Treewidth from Pathwidth 14 / 43

  42. Lessons from the fox

  43. Price of Generality and Combinatorics • Sometimes, the reason a problem becomes FPT for a more restricted parameter is more combinatorial than algorithmic. • Example: • Coloring is FPT for tw, W-hard for cw. But algorithm runs in k tw . Is this FPT? • • Yes! Because in all graphs χ ( G ) ≤ tw ( G ) . • This bound makes all the difference: Coloring is FPT by cw + k . Grundy Distinguishes Treewidth from Pathwidth 16 / 43

  44. Price of Generality and Combinatorics • Sometimes, the reason a problem becomes FPT for a more restricted parameter is more combinatorial than algorithmic. • Example: • Coloring is FPT for tw, W-hard for cw. But algorithm runs in k tw . Is this FPT? • • Yes! Because in all graphs χ ( G ) ≤ tw ( G ) . • This bound makes all the difference: Coloring is FPT by cw + k . • Example: • r -Dom Set is FPT for td, W-hard for pw. Why W-hard for pw? DP runs in r O ( pw ) . But r could be large! • • Why FPT for td? Graphs of tree-depth t have no simple path of length > 2 t , so r ≤ 2 td . • Again saved by combinatorial bound on optimal! Grundy Distinguishes Treewidth from Pathwidth 16 / 43

  45. Hardness for pathwidth and treewidth • Typical W-hard problem for tw/pw: • Basic DP must decide a value in 1 . . . n for each vertex in bag. Given n tw algorithm. • • How to prove this is optimal? • Reduce from k -MC-Clique • Choice for each vertex in bag ⇔ choice for each color class • Typical Structure: • Key fact: k × n grid has both pathwidth and treewidth k . Grundy Distinguishes Treewidth from Pathwidth 17 / 43

  46. Let’s nail this problem!

  47. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  48. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  49. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  50. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  51. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  52. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  53. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  54. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  55. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  56. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  57. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  58. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  59. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  60. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  61. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  62. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  63. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  64. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  65. Grundy Coloring • Input: Graph G = ( V, E ) on n vertices • Repeat n times • Select an uncolored vertex u of G • Assign u the smallest color that is not currently used in any of its neighbors ( First-Fit ) • Goal: Order the vertices in such a way that number of colors used is maximized . Red 1 Green 2 Blue 3 Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 19 / 43

  66. Grundy Coloring • Γ( G ) : max Grundy Coloring • χ ( G ) : chromatic number • Def1: max # colors used by First-Fit • Def2: max # colors in proper coloring where ∀ i < j , color class i dominates color class j • Γ( G ) ≥ χ ( G ) for all graphs. • Γ( G ) can be arbitrarily larger than χ ( G ) . Red 1 • For Petersen graph χ ( G ) = 3 and this coloring Green 2 shows that Γ( G ) ≥ 4 Blue 3 • Is Γ( G ) = 4 ? Yellow 4 Grundy Distinguishes Treewidth from Pathwidth 20 / 43

  67. Grundy Coloring • Γ( G ) : max Grundy Coloring • χ ( G ) : chromatic number • Def1: max # colors used by First-Fit • Def2: max # colors in proper coloring where ∀ i < j , color class i dominates color class j • Γ( G ) ≥ χ ( G ) for all graphs. • Γ( G ) can be arbitrarily larger than χ ( G ) . Red 1 • For Petersen graph χ ( G ) = 3 and this coloring Green 2 shows that Γ( G ) ≥ 4 Blue 3 • Is Γ( G ) = 4 ? Yellow 4 • In all graphs Γ( G ) ≤ ∆ + 1 , so Γ( G ) = 4 for Petersen. Grundy Distinguishes Treewidth from Pathwidth 20 / 43

  68. Binomial Trees • The Binomial Tree T k has a Grundy Coloring which assigns color k to the root Grundy Distinguishes Treewidth from Pathwidth 21 / 43

  69. Binomial Trees • The Binomial Tree T k has a Grundy Coloring which assigns color k to the root • Two recursive constructions • T 1 is a vertex. • T k is a new root connected to T k − 1 , T k − 2 , . . . , T 1 . Grundy Distinguishes Treewidth from Pathwidth 21 / 43

  70. Binomial Trees • The Binomial Tree T k has a Grundy Coloring which assigns color k to the root • Two recursive constructions • T 1 is a vertex. • T k is a new root connected to T k − 1 , T k − 2 , . . . , T 1 . Grundy Distinguishes Treewidth from Pathwidth 21 / 43

  71. Binomial Trees • The Binomial Tree T k has a Grundy Coloring which assigns color k to the root • Two recursive constructions • T 1 is a vertex. • is a new root connected to T k T k − 1 , T k − 2 , . . . , T 1 . Or • T k is formed by connecting two copies of T k − 1 Grundy Distinguishes Treewidth from Pathwidth 21 / 43

  72. Binomial Trees • The Binomial Tree T k has a Grundy Coloring which assigns color k to the root • Two recursive constructions • T 1 is a vertex. • is a new root connected to T k T k − 1 , T k − 2 , . . . , T 1 . Or • T k is formed by connecting two copies of T k − 1 Grundy Distinguishes Treewidth from Pathwidth 21 / 43

Recommend


More recommend