1 / 94

Exact Exponential Time Algorithms for Frequency Assignment

Exact Exponential Time Algorithms for Frequency Assignment. F. Havet M. Klazar, Jan Kratochvíl D. Kratsch, M. Liedloff. Graph coloring, Boolean Satisfiability, Traveling Salesperson Problem … All NP-hard. Graph coloring, Boolean Satisfiability, Traveling Salesperson Problem … Heuristics

roman
Download Presentation

Exact Exponential Time Algorithms for Frequency Assignment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Exact Exponential Time Algorithms for Frequency Assignment F. Havet M. Klazar, Jan Kratochvíl D. Kratsch, M. Liedloff

  2. Graph coloring, Boolean Satisfiability, Traveling Salesperson Problem … All NP-hard

  3. Graph coloring, Boolean Satisfiability, Traveling Salesperson Problem … Heuristics Approximation algorithms Fixed Parameter Tractability Exact exponential-time algorithms - O*(cn)

  4. Frequency Assignment Problem • Branching approach – fixed span • Dynamic programming approach

  5. 1.1 Branching n n-1 n-2 0

  6. 1.1 Branching n n-1 n-2 0

  7. 1.1 Branching n T(n) 3T(n-1) n-1 n-2 n-3

  8. 1.1 Branching n T(n) 3T(n-1) T(n)  3n n-1 n-2 n-3

  9. 1.1 Branching n T(n) 3T(n-1) T(n)  3n T(n) 4T(n-2) T(n)  2n n-1 n-2 n-3

  10. 1.1 Branching n T(n) 3T(n-1) T(n)  3n T(n) 4T(n-2) T(n)  2n n-1 n-2 n-3 T(n)aT(n-b) T(n)  an/b

  11. 1.2 Dynamic Programming

  12. 1.2 Dynamic Programming

  13. 2 Frequency Assignment Problem Assigning frequencies (channels) to transmitters while avoiding undesired interference of signals

  14. Channel Assignment Given G, a weight function w on E(G) and a number k, does there exist f: V(G) {0,1,2,…,k} such that uv  E(G)  |f(u) – f(v)|  w(uv)?

  15. L(2,1)-labeling f: V(G) {0,1,2,…,k} uv  E(G)  |f(u) – f(v)|  2 dG(u,v) = 2  |f(u) – f(v)|  1

  16. L(2,1)-labeling f: V(G) {0,1,2,…,k} uv  E(G)  |f(u) – f(v)|  2 dG(u,v) = 2  |f(u) – f(v)|  1 L(2,1)(G) = min such k

  17. L(2,1)-labeling 2 2 0 4 3 4 0 1 1

  18. L(2,1)-labeling Roberts 1985 Griggs, Yeh 1993 – NP-complete when k part of input Chang, Kuo 1996 – polynomial for trees Georges, Mauro 1998 – bounds for grids Fiala, Kloks, JK 1999 – NP-c for fixed k  4 Bodlaender, Kloks, Tan, van Leeuwen 2001 – NP-c for planar Liu, Zhu 2003 – cyclic metric Král, Škrekovski 2004 – upper bounds Fiala, Golovach, JK 2005 – NP-c for tree-width 2

  19. 3 Branching Algorithm for Fixed k • Pick a vertex and label it in all k+1 ways

  20. 3 Branching Algorithm for Fixed k • Pick a vertex and label it in all k+1 ways • Pick a neighbor and label it in all k-1 ways

  21. 3 Branching Algorithm for Fixed k • Pick a vertex and label it in all k+1 ways • Pick a neighbor and label it in all k-1 ways • Repeat: Pick an unlabeled vertex with a labeled neighbor and label it in all k-2 ways

  22. {0,1,…,k-1,k} u

  23. 3 Branching Algorithm for Fixed k • Pick a vertex and label it in all k+1 ways • Pick a neighbor and label it in all k-1 ways • Repeat: Pick an unlabeled vertex with a labeled neighbor and label it in all k-2 ways Running time O*((k-2)n)

  24. 3 Branching Algorithm for k = 4 • Pick a vertex and label it in all 5 ways • Pick a neighbor and label it in all 3 ways • Repeat: Pick an unlabeled vertex with a labeled neighbor and label it in all 2 ways Running time O*(2n)

  25. 3 Branching Algorithm for k = 4 • Pick a vertex and label it in all 5 ways • Pick a neighbor and label it in all 3 ways • Repeat: Pick an unlabeled vertex with a labeled neighbor and label it in all 2 ways Running time O*(2n) Theorem: L2,1(G)  4 can be solved in O*(1.32n) time

  26. 3 Branching Algorithm for k = 4 Theorem: L2,1(G)  4 can be solved in O*(1.32n) time • Introduction of reduction and branching rules • Careful running time analysis

  27. 2 0 4 3 1

  28. 2 0 4 3 1 R1 Forced extensions u u 1,2,3 u u

  29. 2 0 4 3 1 R1 Forced extensions u u 1,2,3 u 0 4 u 0 2 4

  30. 2 0 4 3 1 R1 Forced extensions R2 Free extensions

  31. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions

  32. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions – dynamic programming 0 4 0 1

  33. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions – dynamic programming 0 4 0 1 • 1

  34. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions – dynamic programming 0 4 0 1 • 1 3 • 0

  35. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions – dynamic programming 0 4 0 1 • 1 3 0 • 0 3 • 2 0 4

  36. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions – dynamic programming 0 4 0 1 • 1 3 0 2,4 • 0 3 1 • 2 0 4 1,2

  37. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions – dynamic programming 0 4 2 0 4 2 0 1 • 1 3 0 2,4 • 0 3 1 • 2 0 4 1,2

  38. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions R4 Extensions with strong constraints – branch along labeling x,y,u(,v) x y u v

  39. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions R4 Extensions with strong constraints – branch along labeling x,y,u(,v) R5 Extensions with weak constraints – branch along labeling v,w(,u) w v u

  40. 3 Branching Algorithm for k = 4 Running-time analysis

  41. 2 0 4 3 1 R1 Forced extensions - constant time per application u u 1,2,3 u u

  42. 2 0 4 3 1 R1 Forced extensions R2 Free extensions - constant time per reduction

  43. 2 0 4 3 1 R1 Forced extensions R2 Free extensions R3 Cheap extensions – dynamic programming – constant time 0 4 0 1

  44. 2 x y 0 4 3 1 u v R4 Extensions with strong constraints – branch along x,y,u(,v)

  45. 2 x y 0 4 3 1 u v R4 Extensions with strong constraints – branch along x,y,u(,v) x = y x u

  46. 2 x y 0 4 3 1 u v R4 Extensions with strong constraints – branch along x,y,u(,v) x = y – no branching 0 2 4 u

  47. 2 x y 0 4 3 1 u v R4 Extensions with strong constraints – branch along x,y,u(,v) 0 x y u v

  48. 2 x y 0 4 3 1 u v R4 Extensions with strong constraints – branch along x,y,u(,v) 0 x y 20-3-1-40 40-3-1-40 20-4-2-03 40-2-4-03 20-3-1-42 40-3-1-42 20-4-2-04 40-2-4-02 30-4-2-04 30-2-4-02 30-2-4-03 30-4-2-03 u v

More Related