Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Polyamorous Scheduling

Polyamorous Scheduling

Talk presenting our paper at FUN with Algorithms 2024.
For the paper and further information, see the paper page http://localhost:4000/publications/gasieniec-smith-wild-2024

Sebastian Wild

June 27, 2024
Tweet

More Decks by Sebastian Wild

Other Decks in Research

Transcript

  1. Polyamorous Scheduling Sebastian Wild joint work with Leszek Gąsieniec and

    Ben Smith FUN with Algorithms 2024 Sebastian Wild Polyamorous Scheduling 2024-06-06 0 / 16
  2. Outline 1 Introduction 1 Introduction 2 Hardness 2 Hardness 3

    Approximation 3 Approximation 4 Density 4 Density 5 Conclusion 5 Conclusion Sebastian Wild Polyamorous Scheduling 2024-06-06 0 / 16
  3. Poly Scheduling Given: People and pairwise Relationships ⇝ undirected graph

    (P, R) each relationship has a “desire growth rate” ⇝ edge weights g : R → R>0 pain of separation grows by g(e) each day Goal: perpetual schedule S : N0 → 2R that minimizes “heat”: maximal desire ever felt (minimax objective) each person can engage in one relationship per day ⇝ every day t, schedule a matching S(t) A A B B C C D D E E F F G G H H Example polycule with 8 persons: Adam, Brady, Charlie, Daisy, Eli, Frankie, Grace, and Holly Sebastian Wild Polyamorous Scheduling 2024-06-06 2 / 16
  4. Poly Scheduling Given: People and pairwise Relationships ⇝ undirected graph

    (P, R) each relationship has a “desire growth rate” ⇝ edge weights g : R → R>0 pain of separation grows by g(e) each day Goal: perpetual schedule S : N0 → 2R that minimizes “heat”: maximal desire ever felt (minimax objective) each person can engage in one relationship per day ⇝ every day t, schedule a matching S(t) A A B B C C D D E E F F G G H H 40 ♡ 80 ♡ 16 ♡ 20 ♡ 40 ♡ 40 ♡ 40 ♡ 80 ♡ 16 ♡ 80 ♡ g(E−F) = 40 Example polycule with 8 persons: Adam, Brady, Charlie, Daisy, Eli, Frankie, Grace, and Holly Sebastian Wild Polyamorous Scheduling 2024-06-06 2 / 16
  5. Poly Scheduling Given: People and pairwise Relationships ⇝ undirected graph

    (P, R) each relationship has a “desire growth rate” ⇝ edge weights g : R → R>0 pain of separation grows by g(e) each day Goal: perpetual schedule S : N0 → 2R that minimizes “heat”: maximal desire ever felt (minimax objective) each person can engage in one relationship per day ⇝ every day t, schedule a matching S(t) A A B B C C D D E E F F G G H H 40 ♡ 80 ♡ 16 ♡ 20 ♡ 40 ♡ 40 ♡ 40 ♡ 80 ♡ 16 ♡ 80 ♡ g(E−F) = 40 Example polycule with 8 persons: Adam, Brady, Charlie, Daisy, Eli, Frankie, Grace, and Holly Sebastian Wild Polyamorous Scheduling 2024-06-06 2 / 16
  6. Poly Scheduling – Small Example Day 0 heat: 0 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  7. Poly Scheduling – Small Example Day 0 heat: 40 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  8. Poly Scheduling – Small Example Day 0 heat: 40 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  9. Poly Scheduling – Small Example Day 0 heat: 40 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  10. Poly Scheduling – Small Example Day 1 heat: 40 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  11. Poly Scheduling – Small Example Day 1 heat: 40 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  12. Poly Scheduling – Small Example Day 2 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  13. Poly Scheduling – Small Example Day 2 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  14. Poly Scheduling – Small Example Day 3 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  15. Poly Scheduling – Small Example Day 3 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  16. Poly Scheduling – Small Example Day 4 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  17. Poly Scheduling – Small Example Day 4 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  18. Poly Scheduling – Small Example Day 5 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  19. Poly Scheduling – Small Example Day 5 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ 5 ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  20. Poly Scheduling – Small Example Day 6 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ 5 ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  21. Poly Scheduling – Small Example Day 6 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ 5 ♥ 6 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  22. Poly Scheduling – Small Example Day 7 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ 5 ♥ 6 ♥ ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  23. Poly Scheduling – Small Example Day 7 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ 5 ♥ 6 ♥ ♥ 7 ♥ Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  24. Poly Scheduling – Small Example Day 7 heat: 80 A♡B

    A♡C B♡C C♡D A A B B C C D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Day A♡B A♡C B♡C C♡D 0 ♥ ♥ 1 ♥ 2 ♥ ♥ 3 ♥ 4 ♥ ♥ 5 ♥ 6 ♥ ♥ 7 ♥ S∗ = {AB, CD}, {AC}, {AB, CD}, {BC} with heat h(S) = 80 Observation: schedules without follows from finite state space loss of generality periodic ∃T ∀t S(t) = S(t + T) Sebastian Wild Polyamorous Scheduling 2024-06-06 3 / 16
  25. Decision problem Optimization input: A A B B C C

    D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Optimization Poly Scheduling Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  26. Decision problem Optimization input: A A B B C C

    D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Optimization Poly Scheduling Maximal frequencies to remain below heat 80: heat: 80 A♡B A♡C B♡C C♡D 2 4 4 3 frequency = heat growth rate Decision instance: A A B B C C D D 2 ♡ 4 ♡ 4 ♡ 3 ♡ A and C must meet (at least) once in every 4-day period Decision Poly Scheduling Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  27. Decision problem Optimization input: A A B B C C

    D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Optimization Poly Scheduling Maximal frequencies to remain below heat 100: heat: 100 A♡B A♡C B♡C C♡D 2 5 5 4 frequency = heat growth rate Decision instance: A A B B C C D D 2 ♡ 5 ♡ 5 ♡ 4 ♡ A and C must meet (at least) once in every 5-day period Decision Poly Scheduling Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  28. Decision problem Optimization input: A A B B C C

    D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Optimization Poly Scheduling Maximal frequencies to remain below heat 79.99: heat: 79.99 A♡B A♡C B♡C C♡D 1 3 4 3 frequency = heat growth rate Decision instance: A A B B C C D D 1 ♡ 3 ♡ 4 ♡ 3 ♡ Decision Poly Scheduling Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  29. Decision problem Optimization input: A A B B C C

    D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Optimization Poly Scheduling Maximal frequencies to remain below heat 79.99: heat: 79.99 A♡B A♡C B♡C C♡D 1 3 4 3 frequency = heat growth rate Decision instance: A A B B C C D D 1 ♡ 3 ♡ 4 ♡ 3 ♡ Decision Poly Scheduling Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  30. Decision problem Optimization input: A A B B C C

    D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Optimization Poly Scheduling Maximal frequencies to remain below heat 79.99: heat: 79.99 A♡B A♡C B♡C C♡D 1 3 4 3 frequency = heat growth rate Decision instance: A A B B C C D D 1 ♡ 3 ♡ 4 ♡ 3 ♡ Decision Poly Scheduling For this instance: schedule S∗ has heat 80 S∗ = {AB, CD}, {AC}, {AB, CD}, {BC} heat 80 − ε leaves A unschedulable ⇝ optimal heat h∗ = 80 Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  31. Decision problem Optimization input: A A B B C C

    D D 40 ♡ 20 ♡ 17 ♡ 25 ♡ Optimization Poly Scheduling Maximal frequencies to remain below heat 79.99: heat: 79.99 A♡B A♡C B♡C C♡D 1 3 4 3 frequency = heat growth rate Decision instance: A A B B C C D D 1 ♡ 3 ♡ 4 ♡ 3 ♡ Decision Poly Scheduling For this instance: schedule S∗ has heat 80 S∗ = {AB, CD}, {AC}, {AB, CD}, {BC} heat 80 − ε leaves A unschedulable ⇝ optimal heat h∗ = 80 Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  32. Outline 1 Introduction 1 Introduction 2 Hardness 2 Hardness 3

    Approximation 3 Approximation 4 Density 4 Density 5 Conclusion 5 Conclusion Sebastian Wild Polyamorous Scheduling 2024-06-06 4 / 16
  33. Unweighted case Do poly people just make their life complicated

    – or are they facing a computationally hard problem? Let’s consider a simple special case: Non-hierarchical Poly Scheduling (optimization): all edges have weight 1 (decision): all edges have the same frequency f ⇝ feasible schedule for decision problem ⇐⇒ schedule of heat ⩽ f in optimization problem ⇝ Equivalent to Edge minimal #colors χ1 to color all edges s.t. no 2 incident to same vertex have same color Coloring (a.k.a. Chromatic Index) A A B B C C D D E E 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ Edge Coloring =⇒ Poly Schedule: Schedule = Round Robin of χ1 color classes heat of schedule χ1 . Edge Coloring ⇐= Poly Schedule: Color = first day edge is scheduled Heat h ⇝ at most h colors Sebastian Wild Polyamorous Scheduling 2024-06-06 5 / 16
  34. Unweighted case Do poly people just make their life complicated

    – or are they facing a computationally hard problem? Let’s consider a simple special case: Non-hierarchical Poly Scheduling (optimization): all edges have weight 1 (decision): all edges have the same frequency f ⇝ feasible schedule for decision problem ⇐⇒ schedule of heat ⩽ f in optimization problem ⇝ Equivalent to Edge minimal #colors χ1 to color all edges s.t. no 2 incident to same vertex have same color Coloring (a.k.a. Chromatic Index) A A B B C C D D E E 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ Edge Coloring =⇒ Poly Schedule: Schedule = Round Robin of χ1 color classes heat of schedule χ1 . Edge Coloring ⇐= Poly Schedule: Color = first day edge is scheduled Heat h ⇝ at most h colors Sebastian Wild Polyamorous Scheduling 2024-06-06 5 / 16
  35. Unweighted case Do poly people just make their life complicated

    – or are they facing a computationally hard problem? Let’s consider a simple special case: Non-hierarchical Poly Scheduling (optimization): all edges have weight 1 (decision): all edges have the same frequency f ⇝ feasible schedule for decision problem ⇐⇒ schedule of heat ⩽ f in optimization problem ⇝ Equivalent to Edge minimal #colors χ1 to color all edges s.t. no 2 incident to same vertex have same color Coloring (a.k.a. Chromatic Index) A A B B C C D D E E 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ Edge Coloring =⇒ Poly Schedule: Schedule = Round Robin of χ1 color classes heat of schedule χ1 . Edge Coloring ⇐= Poly Schedule: Color = first day edge is scheduled Heat h ⇝ at most h colors Sebastian Wild Polyamorous Scheduling 2024-06-06 5 / 16
  36. Unweighted case Do poly people just make their life complicated

    – or are they facing a computationally hard problem? Let’s consider a simple special case: Non-hierarchical Poly Scheduling (optimization): all edges have weight 1 (decision): all edges have the same frequency f ⇝ feasible schedule for decision problem ⇐⇒ schedule of heat ⩽ f in optimization problem ⇝ Equivalent to Edge minimal #colors χ1 to color all edges s.t. no 2 incident to same vertex have same color Coloring (a.k.a. Chromatic Index) A A B B C C D D E E 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ Edge Coloring =⇒ Poly Schedule: Schedule = Round Robin of χ1 color classes heat of schedule χ1 . Edge Coloring ⇐= Poly Schedule: Color = first day edge is scheduled Heat h ⇝ at most h colors Sebastian Wild Polyamorous Scheduling 2024-06-06 5 / 16
  37. Unweighted case Do poly people just make their life complicated

    – or are they facing a computationally hard problem? Let’s consider a simple special case: Non-hierarchical Poly Scheduling (optimization): all edges have weight 1 (decision): all edges have the same frequency f ⇝ feasible schedule for decision problem ⇐⇒ schedule of heat ⩽ f in optimization problem ⇝ Equivalent to Edge minimal #colors χ1 to color all edges s.t. no 2 incident to same vertex have same color Coloring (a.k.a. Chromatic Index) A A B B C C D D E E 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ 1 ♡ Edge Coloring =⇒ Poly Schedule: Schedule = Round Robin of χ1 color classes heat of schedule χ1 . Edge Coloring ⇐= Poly Schedule: Color = first day edge is scheduled Heat h ⇝ at most h colors Sebastian Wild Polyamorous Scheduling 2024-06-06 5 / 16
  38. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  39. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  40. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  41. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  42. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Implications for (Non-hierarchical) Poly Scheduling 1 Decision Poly Scheduling is NP-hard. 2 Optimization Poly Scheduling does not admit poly-time (1 + δ)-approx for δ < 1/3 unless P = NP. ⇝ such an approximation would decide ∆ vs ∆ + 1 for ∆ = 3. Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  43. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Implications for (Non-hierarchical) Poly Scheduling 1 Decision Poly Scheduling is NP-hard. 2 Optimization Poly Scheduling does not admit poly-time (1 + δ)-approx for δ < 1/3 unless P = NP. ⇝ such an approximation would decide ∆ vs ∆ + 1 for ∆ = 3. Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  44. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Implications for (Non-hierarchical) Poly Scheduling 1 Decision Poly Scheduling is NP-hard. 2 Optimization Poly Scheduling does not admit poly-time (1 + δ)-approx for δ < 1/3 unless P = NP. ⇝ such an approximation would decide ∆ vs ∆ + 1 for ∆ = 3. Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  45. Chromatic Index Problem Recall: χ1 = chromatic index of graph

    G = #colors in proper edge coloring ⇝ Obivous: χ1 ⩾ ∆ maximum degree in G Vizing’s Theorem (1965): χ1 ⩽ ∆ + 1 1 ∆ + 1 coloring can always be found in efficiently. running time very recently improved to ˜ O(mn1/3) (arxiv:2405.15449) 2 Computing χ1 exactly (∆ or ∆ + 1!) is NP-hard even for 3-regular graphs! (Holyer 1981) Implications for (Non-hierarchical) Poly Scheduling 1 Decision Poly Scheduling is NP-hard. 2 Optimization Poly Scheduling does not admit poly-time (1 + δ)-approx for δ < 1/3 unless P = NP. ⇝ such an approximation would decide ∆ vs ∆ + 1 for ∆ = 3. Sebastian Wild Polyamorous Scheduling 2024-06-06 6 / 16
  46. Bonus: SAT-Reduction Alternative hardness of approximation: Reduction from (decision version

    of) MAX-3SAT Given formula φ over m clauses and n variables, can ⩾ k clauses be satisfied simultaneously? Key idea: relation scheduled on odd (even) days = True (False) doesn’t quite work, but with slots module 6 it does. Sebastian Wild Polyamorous Scheduling 2024-06-06 7 / 16
  47. Outline 1 Introduction 1 Introduction 2 Hardness 2 Hardness 3

    Approximation 3 Approximation 4 Density 4 Density 5 Conclusion 5 Conclusion Sebastian Wild Polyamorous Scheduling 2024-06-06 7 / 16
  48. Edge-Coloring Approximation Recall: Can compute (∆ + 1)-coloring efficiently ⇝

    ∆ + 1 ∆ -approx for unweighted instances any valid schedule must reach heat h ⩾ ∆ on a degree-∆ vertex ⇝ in general: ∆ + 1 ∆ · gmax gmin -approx and (simultaneously) (∆ + 1) could be Ω(n) ... -approx unbounded any schedule reaches heat h ⩾ ∆ · gmin on a degree-∆ vertex any schedule reaches heat h ⩾ gmax Colors Round Robin schedule achieves h ⩽ (∆ + 1)gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 8 / 16
  49. Edge-Coloring Approximation Recall: Can compute (∆ + 1)-coloring efficiently ⇝

    ∆ + 1 ∆ -approx for unweighted instances any valid schedule must reach heat h ⩾ ∆ on a degree-∆ vertex ⇝ in general: ∆ + 1 ∆ · gmax gmin -approx and (simultaneously) (∆ + 1) could be Ω(n) ... -approx unbounded any schedule reaches heat h ⩾ ∆ · gmin on a degree-∆ vertex any schedule reaches heat h ⩾ gmax Colors Round Robin schedule achieves h ⩽ (∆ + 1)gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 8 / 16
  50. Edge-Coloring Approximation Recall: Can compute (∆ + 1)-coloring efficiently ⇝

    ∆ + 1 ∆ -approx for unweighted instances any valid schedule must reach heat h ⩾ ∆ on a degree-∆ vertex ⇝ in general: ∆ + 1 ∆ · gmax gmin -approx and (simultaneously) (∆ + 1) could be Ω(n) ... -approx unbounded any schedule reaches heat h ⩾ ∆ · gmin on a degree-∆ vertex any schedule reaches heat h ⩾ gmax Colors Round Robin schedule achieves h ⩽ (∆ + 1)gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 8 / 16
  51. Edge-Coloring Approximation Recall: Can compute (∆ + 1)-coloring efficiently ⇝

    ∆ + 1 ∆ -approx for unweighted instances any valid schedule must reach heat h ⩾ ∆ on a degree-∆ vertex ⇝ in general: ∆ + 1 ∆ · gmax gmin -approx and (simultaneously) (∆ + 1) could be Ω(n) ... -approx unbounded any schedule reaches heat h ⩾ ∆ · gmin on a degree-∆ vertex any schedule reaches heat h ⩾ gmax Colors Round Robin schedule achieves h ⩽ (∆ + 1)gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 8 / 16
  52. Edge-Coloring Approximation Recall: Can compute (∆ + 1)-coloring efficiently ⇝

    ∆ + 1 ∆ -approx for unweighted instances any valid schedule must reach heat h ⩾ ∆ on a degree-∆ vertex ⇝ in general: ∆ + 1 ∆ · gmax gmin -approx and (simultaneously) (∆ + 1) could be Ω(n) ... -approx unbounded any schedule reaches heat h ⩾ ∆ · gmin on a degree-∆ vertex any schedule reaches heat h ⩾ gmax Colors Round Robin schedule achieves h ⩽ (∆ + 1)gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 8 / 16
  53. Layering approximation Partition edges into exponential “layers” by growth rate

    Layers i = 0, . . . L − 1 contain edges with gmax 2i+1 ⩽ g(e) ⩽ gmax 2i Layer L the rest, i.e., g(e) ⩽ gmax 2L ⇝ within one layer gmax /gmin ⩽ 2 ⇝ Color Round Robin within layer gives good approximation. Also schedule layers Round Robin ⇝ Heat of overall schedule ⩽ h with ∆i = max degree in layer i h = maxi∈[0..L] (L + 1) · (∆i + 1) gmax 2i ⇝ each layer (in isolation) induces lower bound, so h∗ ⩾ h with h = max maxi∈[0..L] ∆i · gmax 2i + 1 , gmax growth rate A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H gmax gmax /2 gmax /22 gmax /23 gmax /24 Sebastian Wild Polyamorous Scheduling 2024-06-06 9 / 16
  54. Layering approximation Partition edges into exponential “layers” by growth rate

    Layers i = 0, . . . L − 1 contain edges with gmax 2i+1 ⩽ g(e) ⩽ gmax 2i Layer L the rest, i.e., g(e) ⩽ gmax 2L ⇝ within one layer gmax /gmin ⩽ 2 ⇝ Color Round Robin within layer gives good approximation. Also schedule layers Round Robin ⇝ Heat of overall schedule ⩽ h with ∆i = max degree in layer i h = maxi∈[0..L] (L + 1) · (∆i + 1) gmax 2i ⇝ each layer (in isolation) induces lower bound, so h∗ ⩾ h with h = max maxi∈[0..L] ∆i · gmax 2i + 1 , gmax growth rate A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H gmax gmax /2 gmax /22 gmax /23 gmax /24 Sebastian Wild Polyamorous Scheduling 2024-06-06 9 / 16
  55. Layering approximation Partition edges into exponential “layers” by growth rate

    Layers i = 0, . . . L − 1 contain edges with gmax 2i+1 ⩽ g(e) ⩽ gmax 2i Layer L the rest, i.e., g(e) ⩽ gmax 2L ⇝ within one layer gmax /gmin ⩽ 2 ⇝ Color Round Robin within layer gives good approximation. Also schedule layers Round Robin ⇝ Heat of overall schedule ⩽ h with ∆i = max degree in layer i h = maxi∈[0..L] (L + 1) · (∆i + 1) gmax 2i ⇝ each layer (in isolation) induces lower bound, so h∗ ⩾ h with h = max maxi∈[0..L] ∆i · gmax 2i + 1 , gmax growth rate A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H gmax gmax /2 gmax /22 gmax /23 gmax /24 Sebastian Wild Polyamorous Scheduling 2024-06-06 9 / 16
  56. Layering approximation Partition edges into exponential “layers” by growth rate

    Layers i = 0, . . . L − 1 contain edges with gmax 2i+1 ⩽ g(e) ⩽ gmax 2i Layer L the rest, i.e., g(e) ⩽ gmax 2L ⇝ within one layer gmax /gmin ⩽ 2 ⇝ Color Round Robin within layer gives good approximation. Also schedule layers Round Robin ⇝ Heat of overall schedule ⩽ h with ∆i = max degree in layer i h = maxi∈[0..L] (L + 1) · (∆i + 1) gmax 2i ⇝ each layer (in isolation) induces lower bound, so h∗ ⩾ h with h = max maxi∈[0..L] ∆i · gmax 2i + 1 , gmax growth rate A B C D E F G H A B C D E F G H A B C D E F G H A B C D E F G H gmax gmax /2 gmax /22 gmax /23 gmax /24 Sebastian Wild Polyamorous Scheduling 2024-06-06 9 / 16
  57. Layering approximation [2] Distinguish cases where max in h is

    attained. 1 Layer i < L dominates: h = (L + 1)(∆i ) gmax 2i we by definition: h ⩾ ∆i · gmax 2i+1 ⇝ 3(L + 1)-approximation (for ∆i ⩾ 2; otherwise trivial) 2 Layer L dominates (a.k.a. otherwise) ⇝ h = (L + 1)(∆L + 1) gmax 2L by definition: h ⩾ gmax ⇝ (L + 1)(∆L + 1)2−L-approximation Equating both cases suggests L = log2 (∆L + 1) − O(1) ⇝ 3⌈log2 (∆ + 1)⌉-approximation Recall: h = max i∈[0..L] (L + 1) · (∆i + 1) gmax 2i h = max max i∈[0..L] ∆i · gmax 2i+1 , gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 10 / 16
  58. Layering approximation [2] Distinguish cases where max in h is

    attained. 1 Layer i < L dominates: h = (L + 1)(∆i ) gmax 2i we by definition: h ⩾ ∆i · gmax 2i+1 ⇝ 3(L + 1)-approximation (for ∆i ⩾ 2; otherwise trivial) 2 Layer L dominates (a.k.a. otherwise) ⇝ h = (L + 1)(∆L + 1) gmax 2L by definition: h ⩾ gmax ⇝ (L + 1)(∆L + 1)2−L-approximation Equating both cases suggests L = log2 (∆L + 1) − O(1) ⇝ 3⌈log2 (∆ + 1)⌉-approximation Recall: h = max i∈[0..L] (L + 1) · (∆i + 1) gmax 2i h = max max i∈[0..L] ∆i · gmax 2i+1 , gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 10 / 16
  59. Layering approximation [2] Distinguish cases where max in h is

    attained. 1 Layer i < L dominates: h = (L + 1)(∆i ) gmax 2i we by definition: h ⩾ ∆i · gmax 2i+1 ⇝ 3(L + 1)-approximation (for ∆i ⩾ 2; otherwise trivial) 2 Layer L dominates (a.k.a. otherwise) ⇝ h = (L + 1)(∆L + 1) gmax 2L by definition: h ⩾ gmax ⇝ (L + 1)(∆L + 1)2−L-approximation Equating both cases suggests L = log2 (∆L + 1) − O(1) ⇝ 3⌈log2 (∆ + 1)⌉-approximation Recall: h = max i∈[0..L] (L + 1) · (∆i + 1) gmax 2i h = max max i∈[0..L] ∆i · gmax 2i+1 , gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 10 / 16
  60. Layering approximation [2] Distinguish cases where max in h is

    attained. 1 Layer i < L dominates: h = (L + 1)(∆i ) gmax 2i we by definition: h ⩾ ∆i · gmax 2i+1 ⇝ 3(L + 1)-approximation (for ∆i ⩾ 2; otherwise trivial) 2 Layer L dominates (a.k.a. otherwise) ⇝ h = (L + 1)(∆L + 1) gmax 2L by definition: h ⩾ gmax ⇝ (L + 1)(∆L + 1)2−L-approximation Equating both cases suggests L = log2 (∆L + 1) − O(1) ⇝ 3⌈log2 (∆ + 1)⌉-approximation Recall: h = max i∈[0..L] (L + 1) · (∆i + 1) gmax 2i h = max max i∈[0..L] ∆i · gmax 2i+1 , gmax Sebastian Wild Polyamorous Scheduling 2024-06-06 10 / 16
  61. Outline 1 Introduction 1 Introduction 2 Hardness 2 Hardness 3

    Approximation 3 Approximation 4 Density 4 Density 5 Conclusion 5 Conclusion Sebastian Wild Polyamorous Scheduling 2024-06-06 10 / 16
  62. Special Case: Pinwheel Scheduling The Pinwheel Scheduling Problem (Holte et.al.,

    1989): Given k tasks (each with frequency ai ∈ N) Is there a perpetual schedule for a (single) agent who can perform one task per day such that every section of length ai contains at least one instance of task i? Example: A = [3, 4, 5, 8] k=4 Task 1 2 3 4 Frequency 3 4 5 8 S = 1, 2, 4, 1, 3, 2, 1, 3 3 4 8 3 5 4 3 5 Sebastian Wild Polyamorous Scheduling 2024-06-06 11 / 16
  63. Special Case: Pinwheel Scheduling The Pinwheel Scheduling Problem (Holte et.al.,

    1989): Given k tasks (each with frequency ai ∈ N) Is there a perpetual schedule for a (single) agent who can perform one task per day such that every section of length ai contains at least one instance of task i? Example: A = [3, 4, 5, 8] k=4 Task 1 2 3 4 Frequency 3 4 5 8 S = 1, 2, 4, 1, 3, 2, 1, 3 3 4 8 3 5 4 3 5 Sebastian Wild Polyamorous Scheduling 2024-06-06 11 / 16
  64. Special Case: Pinwheel Scheduling The Pinwheel Scheduling Problem (Holte et.al.,

    1989): Given k tasks (each with frequency ai ∈ N) Is there a perpetual schedule for a (single) agent who can perform one task per day such that every section of length ai contains at least one instance of task i? Example: A = [3, 4, 5, 8] k=4 Task 1 2 3 4 Frequency 3 4 5 8 S = 1, 2, 4, 1, 3, 2, 1, 3 3 4 8 3 5 4 3 5 Decision version of Bamboo Garden Trimming (Bilò et al., FUN 2020/21) Sebastian Wild Polyamorous Scheduling 2024-06-06 11 / 16
  65. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  66. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  67. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  68. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  69. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  70. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  71. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  72. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  73. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Conjecture is proven ⇝ upcoming STOC (Akitoshi Kawamura, 2024) Theorem Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  74. The 5/6 Density Conjecture Density d(A) = k i=1 1/ai

    [2, 3, M] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 5/6 Density Conjecture (Chan and Chin, 1993): All Pinwheel scheduling instances where d ⩽ 5/6 are schedulable. Conjecture is proven ⇝ upcoming STOC (Akitoshi Kawamura, 2024) Theorem ⇝ Similar result possible for Poly Scheduling? Sebastian Wild Polyamorous Scheduling 2024-06-06 12 / 16
  75. Fractional Scheduling lower-bound tool: fractional relaxation ⇝ we can spend

    a fraction yM of each day on matching M ⇝ without loss of generality: all days the same! ⇝ Best fractional solution given by LP: M = set of maximal matchings min ¯ h s. t. M∈M yM ⩽ 1 1 M∈M:e∈M yM · ge ⩽ ¯ h ∀e ∈ R yM ∈ [0, 1] ∀M ∈ M Sebastian Wild Polyamorous Scheduling 2024-06-06 13 / 16
  76. Fractional Scheduling lower-bound tool: fractional relaxation ⇝ we can spend

    a fraction yM of each day on matching M ⇝ without loss of generality: all days the same! ⇝ Best fractional solution given by LP: M = set of maximal matchings min ¯ h s. t. M∈M yM ⩽ 1 1 M∈M:e∈M yM · ge ⩽ ¯ h ∀e ∈ R yM ∈ [0, 1] ∀M ∈ M Sebastian Wild Polyamorous Scheduling 2024-06-06 13 / 16
  77. Fractional Scheduling lower-bound tool: fractional relaxation ⇝ we can spend

    a fraction yM of each day on matching M ⇝ without loss of generality: all days the same! ⇝ Best fractional solution given by LP: M = set of maximal matchings min ¯ h s. t. M∈M yM ⩽ 1 1 M∈M:e∈M yM · ge ⩽ ¯ h ∀e ∈ R yM ∈ [0, 1] ∀M ∈ M Sebastian Wild Polyamorous Scheduling 2024-06-06 13 / 16
  78. Fractional Scheduling lower-bound tool: fractional relaxation ⇝ we can spend

    a fraction yM of each day on matching M ⇝ without loss of generality: all days the same! ⇝ Best fractional solution given by LP: M = set of maximal matchings min ¯ h s. t. M∈M yM ⩽ 1 1 M∈M:e∈M yM · ge ⩽ ¯ h ∀e ∈ R yM ∈ [0, 1] ∀M ∈ M Sebastian Wild Polyamorous Scheduling 2024-06-06 13 / 16
  79. Fractional Scheduling lower-bound tool: fractional relaxation ⇝ we can spend

    a fraction yM of each day on matching M ⇝ without loss of generality: all days the same! ⇝ Best fractional solution given by LP: after change of variable ¯ h = 1 ℓ and slight massaging M = set of maximal matchings min ¯ h s. t. M∈M yM ⩽ 1 1 M∈M:e∈M yM · ge ⩽ ¯ h ∀e ∈ R yM ∈ [0, 1] ∀M ∈ M 1 ℓ 1 ℓ Sebastian Wild Polyamorous Scheduling 2024-06-06 13 / 16
  80. Fractional Scheduling lower-bound tool: fractional relaxation ⇝ we can spend

    a fraction yM of each day on matching M ⇝ without loss of generality: all days the same! ⇝ Best fractional solution given by LP: after change of variable ¯ h = 1 ℓ and slight massaging M = set of maximal matchings min ¯ h s. t. M∈M yM ⩽ 1 1 M∈M:e∈M yM · ge ⩽ ¯ h ∀e ∈ R yM ∈ [0, 1] ∀M ∈ M ℓ M∈M:e∈M yM 1 ge ⩾ 1 ℓ Sebastian Wild Polyamorous Scheduling 2024-06-06 13 / 16
  81. Fractional Scheduling lower-bound tool: fractional relaxation ⇝ we can spend

    a fraction yM of each day on matching M ⇝ without loss of generality: all days the same! ⇝ Best fractional solution given by LP: after change of variable ¯ h = 1 ℓ and slight massaging M = set of maximal matchings min ¯ h s. t. M∈M yM ⩽ 1 1 M∈M:e∈M yM · ge ⩽ ¯ h ∀e ∈ R yM ∈ [0, 1] ∀M ∈ M ℓ M∈M:e∈M yM 1 ge ⩾ ℓ max Sebastian Wild Polyamorous Scheduling 2024-06-06 13 / 16
  82. Dual LP → Density Fractional Poly Scheduling LP max ℓ

    s. t. M∈M yM ⩽ 1 1 ge M∈M:e∈M yM ⩾ ℓ ∀e ∈ R yM ⩾ 0 ∀M ∈ M LP has exponentially many variables ... but few constraints ⇝ Consider the dual LP: min x s. t. e∈R ze ⩾ 1 e∈M ze ge ⩽ x ∀M ∈ M ze ⩾ 0 ∀e ∈ R ⇝ any feasible solution (x,⃗ z) lower bounds optimal heat h∗! Theorem (Fractional lower bound) For any ze ∈ [0, 1], for e ∈ R, with e∈R ze = 1, we have h∗ ⩾ ¯ h(z) = 1 maxM∈M e∈M ze ge . Sebastian Wild Polyamorous Scheduling 2024-06-06 14 / 16
  83. Outline 1 Introduction 1 Introduction 2 Hardness 2 Hardness 3

    Approximation 3 Approximation 4 Density 4 Density 5 Conclusion 5 Conclusion Sebastian Wild Polyamorous Scheduling 2024-06-06 14 / 16
  84. Conclusion What you’ve seen: Poly Scheduling is a highly desired

    practical problem but it’s hard NP-hard hard to approximate better than 4/3 best known polytime approximation only O(log ∆) = O(log n) Some questions: 1 Best possible approximation ratio? 2 Better results for restricted versions (e.g., special types of graphs) 3 Density threshold that guarantees schedule? Sebastian Wild Polyamorous Scheduling 2024-06-06 15 / 16
  85. Icons made by Freepik, Gregor Cresnar, Those Icons, Smashicons, Good

    Ware, Pause08, and Madebyoliver from www.flaticon.com. Vector graphics from Pressfoto, brgfx, macrovector and Jannoon028 on freepik.com Other photos from www.pixabay.com. Sebastian Wild Polyamorous Scheduling 2024-06-06 17 / 16