two sided boundary labeling with adjacent sides
play

Two-Sided Boundary Labeling with Adjacent Sides Philipp Kindermann - PowerPoint PPT Presentation

Two-Sided Boundary Labeling with Adjacent Sides Philipp Kindermann Lehrstuhl f ur Informatik I Universit at W urzburg Joint work with Benjamin Niedermann, Ignaz Rutter, Marcus Schaefer, Andr e Schulz & Alexander Wolff Problem


  1. Two-Sided Boundary Labeling with Adjacent Sides Philipp Kindermann Lehrstuhl f¨ ur Informatik I Universit¨ at W¨ urzburg Joint work with Benjamin Niedermann, Ignaz Rutter, Marcus Schaefer, Andr´ e Schulz & Alexander Wolff

  2. Problem Statement enclosing rectangle

  3. Problem Statement • n sites in general position enclosing rectangle sites

  4. Problem Statement labels • n sites in general position • labels on the boundary enclosing rectangle sites

  5. Problem Statement labels ports • n sites in general position • labels on the boundary • ports are fixed or sliding enclosing rectangle sites

  6. Problem Statement labels ports • n sites in general position • labels on the boundary • ports are fixed or sliding enclosing rectangle sites

  7. Problem Statement labels ports • n sites in general position • labels on the boundary • ports are fixed or sliding leaders enclosing rectangle sites Find a site-label matching with crossing-free leaders.

  8. Why Boundary Labeling? � Google Maps c

  9. Why Boundary Labeling? � Google Maps c Hotel Ibis Main Station Kulturspeicher Bus Terminal Main Station West Hotel Poppular Juliuspromenade Escalera Barbarossaplatz Ulmer Hof Hotel Urlaub

  10. Why Boundary Labeling? Kulturspeicher Hotel Ibis � Google Maps c Main Station Bus Terminal Main Station West Hotel Poppular Barbarossaplatz Juliuspromenade Escalera Hotel Urlaub Ulmer Hof

  11. Why Boundary Labeling? � DW-TV c

  12. Why Boundary Labeling? � DW-TV c Henry Vandyke Carter, via Wikimedia Commons

  13. Why Boundary Labeling? � DW-TV c Henry Vandyke Carter, via Wikimedia Commons � friv5games.me c

  14. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style

  15. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s [1] Bekos et al. CGTA’07

  16. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo [1] Bekos et al. CGTA’07

  17. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10

  18. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd O ( n log n ) [2] O ( n 2 ) [1] po [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10

  19. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10

  20. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10

  21. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po 2-Approximation on number of bends [4] [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10 [4] Speckmann & Verbeek LATIN’10

  22. Previous Work sides 1 2 (opp.) 2 (adj.) 4 style O ( n 2+ ǫ ) [1] s O ( n 2 log 3 n ) [1] O ( n log n ) [1] O ( n 2 ) [1] opo O ( n 2 ) [2] O ( n 3 ) [3] do / pd ? ? O ( n log n ) [2] O ( n 2 ) [1] po 2-Approximation on number of bends [4] [1] Bekos et al. CGTA’07 [2] Benkert et al. JGAA’09 [3] Bekos et al. Algorithmica’10 [4] Speckmann & Verbeek LATIN’10

  23. Structure of Planar Solutions R

  24. Structure of Planar Solutions xy -separating curve C C R

  25. Structure of Planar Solutions xy -separating curve C • xy -monotone C R

  26. Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C R

  27. Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R R

  28. Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R

  29. Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R • top sites and leaders lie above C

  30. Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R • top sites and leaders lie above C • right sites and leaders lie below C

  31. Structure of Planar Solutions xy -separating curve C • xy -monotone • rectilinear C • connects the top-right to the bottom-left corner of R xy -separated solution R • top sites and leaders lie above C • right sites and leaders lie below C • does not contain any of the following patterns C C C C

  32. Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C

  33. Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C Planar solution ⇒ xy -separated planar solution

  34. Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C Planar solution ⇒ xy -separated planar solution C C C C

  35. Structure of Planar Solutions xy -separated solution • does not contain any of the following patterns C C C C Planar solution ⇒ xy -separated planar solution C C C C Eliminate local crossings

  36. The Strip Condition Given: xy -monotone curve C C R

  37. The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left h 0 h 1 C h i h k R

  38. The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k h 0 S 1 h 1 S i C h i S k h k R

  39. The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C h 0 S 1 h 1 S i C h i p i S k h k R

  40. The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C • R p i : polygon spanned by p i , h i and C h 0 S 1 h 1 S i R p i C h i p i S k h k R

  41. The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C • R p i : polygon spanned by p i , h i and C • R p i is valid : number of sites ≥ number of ports h 0 S 1 h 1 S i R p i C h i p i S k h k R

  42. The Strip Condition Given: xy -monotone curve C • h 0 , . . . , h k : horizontal segments of C extended to the left • S 1 , . . . , S k : strips of R partitioned by h 0 , . . . , h k • p i : any point on h i \ C • R p i : polygon spanned by p i , h i and C • R p i is valid : number of sites ≥ number of ports Condition. strip condition of S i is satisfied ⇔ ∃ p i ∈ h i \ C : R p i is valid. h 0 S 1 h 1 S i R p i C h i p i S k h k R

  43. The Strip Condition - An Example C

  44. The Strip Condition - An Example S 1 h 1 C

  45. The Strip Condition - An Example S 1 h 1 p 1 C

  46. The Strip Condition - An Example S 1 h 1 p 1 C

  47. The Strip Condition - An Example S 1 h 1 C

  48. The Strip Condition - An Example S 1 h 1 C

  49. The Strip Condition - An Example S 1 h 1 C

  50. The Strip Condition - An Example S 1 h 1 p 1 C

  51. The Strip Condition - An Example S 1 h 1 p 1 C

  52. The Strip Condition - An Example S 1 h 1 p 1 C The strip conditions are sufficient and necessary

  53. The Algorithm • Find an xy -separating curve C that satisfies the strip conditions.

  54. The Algorithm • Find an xy -separating curve C that satisfies the strip conditions. • Consider the dual of the grid induced by sites and ports

  55. The Algorithm • Find an xy -separating curve C s − 1 r r s that satisfies the strip conditions. • Consider the dual of the grid t induced by sites and ports G ( s , t ) • Define grid points G ( s , t ) and top-right corner r G (0, 0)

  56. The Algorithm Dynamic Program: s − 1 r s Compute table T [( s , t ), u ] . t G ( s , t ) G (0, 0)

  57. The Algorithm Dynamic Program: s − 1 r s Compute table T [( s , t ), u ] . T [( s , t ), u ] = true t G ( s , t ) ⇔ ∃ xy -monotone chain C : G (0, 0)

Recommend


More recommend