exact exponential time algorithms for frequency assignment n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Exact Exponential Time Algorithms for Frequency Assignment PowerPoint Presentation
Download Presentation
Exact Exponential Time Algorithms for Frequency Assignment

play fullscreen
1 / 94

Exact Exponential Time Algorithms for Frequency Assignment

124 Views Download Presentation
Download Presentation

Exact Exponential Time Algorithms for Frequency Assignment

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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