Exact Exponential Time Algorithms for Frequency Assignment

1 / 94

# Exact Exponential Time Algorithms for Frequency Assignment

## 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. 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)

23. 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)

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) Theorem: L2,1(G)  4 can be solved in O*(1.32n) time

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

26. 2 0 4 3 1

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

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

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

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

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

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

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

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

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

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

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

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) R5 Extensions with weak constraints – branch along labeling v,w(,u) w v u

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

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

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

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

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

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

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

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

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