Shortest Paths in Intersection Graphs of Unit Disks
Sergio Cabello sergio.cabello@fmf.uni-lj.si University of Ljubljana Slovenija Material based on joint work with Miha Jejˇ ciˇ c and Panos Giannopoulos
Sergio Cabello
Shortest Paths in Intersection Graphs of Unit Disks Sergio Cabello - - PowerPoint PPT Presentation
Shortest Paths in Intersection Graphs of Unit Disks Sergio Cabello sergio.cabello@fmf.uni-lj.si University of Ljubljana Slovenija Material based on joint work with Miha Jej ci c and Panos Giannopoulos Sergio Cabello Setting P : n
Sergio Cabello
Sergio Cabello
Sergio Cabello
◮ minimize hops/links → unweighted G(P) ◮ minimize energy → weighted G(P) Sergio Cabello
◮ minimize hops/links → unweighted G(P) ◮ minimize energy → weighted G(P)
◮ set D of unit disks ◮ s and t in R2 \ D ◮ min |D′| s.t. D′ ⊆ D,
Sergio Cabello
◮ Setting/Motivation ◮ Related work for sssp ◮ Unweighted
◮ Weighted:
◮ Separation with unit disks:
Sergio Cabello
◮ Setting/Motivation ◮ Related work for sssp ◮ Unweighted
◮ Weighted:
◮ Separation with unit disks:
Sergio Cabello
◮ Roditty and Segal, 2011
◮ C. and Jejˇ
Sergio Cabello
◮ Roditty and Segal, 2011
◮ Gao and Zhang, 2005
◮ Chan and Efrat, 2001 (Fuel consumption)
Sergio Cabello
◮ Roditty and Segal, 2011
◮ Gao and Zhang, 2005
◮ Chan and Efrat, 2001 (Fuel consumption)
◮ Faster algorihtms for geometric intersection graphs Sergio Cabello
◮ Setting/Motivation ◮ Related work for sssp ◮ Unweighted
◮ Weighted:
◮ Separation with unit disks:
Sergio Cabello
◮ BFS in G(P) without building G(P) ◮ Wi = {p ∈ P | dG(P)(s, p) = i} ◮ Build W0 = {s} ◮ Iteratively build Wi from Wi−1 ◮ Edge connecting p to NN(p, Wi−1) for all p ∈ Wi ◮ Until Wi empty Sergio Cabello
Sergio Cabello
Sergio Cabello
Sergio Cabello
Sergio Cabello
◮ BFS in G(P) without building G(P) ◮ Wi = {p ∈ P | dG(P)(s, p) = i} ◮ Build W0 = {s} ◮ Iteratively build Wi from Wi−1 ◮ edge connecting p to NN(p, Wi−1) for all p ∈ Wi ◮ Until Wi empty ◮ Use DT(P) to guide the search of candidate points for Wi ◮ Candidate points for Wi:
◮ Is this good enough? Sergio Cabello
Sergio Cabello
Sergio Cabello
Sergio Cabello
Sergio Cabello
Sergio Cabello
◮ Data structure to decide whether candidate q is ∈ Wi
◮ each edge of DT(P) explored twice ◮ building Wi takes time
Sergio Cabello
◮ Setting/Motivation ◮ Related work for sssp ◮ Unweighted ←
◮ Weighted:
◮ Separation with unit disks:
Sergio Cabello
◮ Setting/Motivation ◮ Related work for sssp ◮ Unweighted
◮ Weighted:
◮ Separation with unit disks:
Sergio Cabello
◮ weighted Euclidean ◮ red points R ◮ blue points B ◮ weights wb for each b ∈ B ◮ δ: B × R → R
Sergio Cabello
◮ weighted Euclidean ◮ red points R ◮ blue points B ◮ weights wb for each b ∈ B ◮ δ: B × R → R
◮ Eppstein 1995 + Agarwal, Efrat, Sharir 1999:
Sergio Cabello
◮ Modification of Dijkstra’s algorithm ◮ Standard Dijsktra’s algorithm
s
P \ S Sergio Cabello
◮ Modification of Dijkstra’s algorithm ◮ Standard Dijsktra’s algorithm
Sergio Cabello
◮ Modification of Dijkstra’s algorithm
Sergio Cabello
◮ Modification of Dijkstra’s algorithm
Sergio Cabello
Sergio Cabello
◮ Setting/Motivation ◮ Related work for sssp ◮ Unweighted
◮ Weighted ←
◮ Separation with unit disks:
Sergio Cabello
◮ Setting/Motivation ◮ Related work for sssp ◮ Unweighted
◮ Weighted
◮ Separation with unit disks:
Sergio Cabello
◮ set D of unit disks ◮ s, t points in R2 \ D ◮ P centers of the disks ◮ G(P) as before, with distance 2 ◮ C. and Giannopoulos
Sergio Cabello
◮ set D of unit disks ◮ s, t points in R2 \ D ◮ P centers of the disks ◮ G(P) as before, with distance 2 ◮ C. and Giannopoulos
◮ today: O(n2 log4 n) for unit
◮ also easier to explain &
Sergio Cabello
◮ for a closed walk π = p1 . . . pkp1 in G(P)
Sergio Cabello
◮ for a closed walk π = p1 . . . pkp1 in G(P)
◮ if N(π) = 1 then
◮ shortest closed walk π with N(π) = 1 gives an optimal solution ◮ shortest closed walk π with N(π) = 1 is actually a cycle ◮ enough to restrict the search to fundamental cycles:
Sergio Cabello
◮ for a closed walk π = p1 . . . pkp1 in G(P)
Sergio Cabello
◮ construct BFS tree Tr from r ◮ attach to each p ∈ P the label d[p] = dG(P)(s, p) ◮ solve
◮ break P into groups depending on N(Tr[r, p]) ◮ use range searching & vertical shooting
Sergio Cabello
Sergio Cabello
Sergio Cabello
◮ vertical segment st ◮ points A and B with weights (wp)p∈A∪B
Sergio Cabello
◮ shortest paths in unit disk graphs
◮ Improvement for separation with unit disks Sergio Cabello
◮ shortest paths in unit disk graphs
◮ Improvement for separation with unit disks ◮ Open problems:
Sergio Cabello
◮ shortest paths in unit disk graphs
◮ Improvement for separation with unit disks ◮ Open problems:
Sergio Cabello