Complexity of TDSP D : FIFO, piecewise-linear functions; K : total # of breakpoints Given od − pair and departure time t o from o : time-dependent Dijkstra [Dreyfus (1969), Orda-Rom (1990)] Time-dependent shortest path heuristics: only empirical evidence [Delling & Wagner 2009; Batz etal, 2009] Complexity of computing succinct representations ? ◮ Open till recently ... (log( n )) ) space [Foschini-Hershberger-Suri (2011)] ◮ Arr [ o , d ] : O (( K + 1 ) · n Θ 7 / 36
Exact Succinct Representation Why so high complexity ? t 2 t 2 t ′ t ′ 2 2 t t t Arr [ o - u - d ] Arr [ o , d ] Arr [ o - v - d ] A [ s - u - d ] A [ s, d ] A [ s - v - d ] d d t 2 t ′ t ′ 2 u v 1 t 1 u v o t 1 t s t t ′ 1 Arr [ ud ] Arr [ ou ] Arr [ vd ] A [ u - d ] A [ s - u ] Arr [ ov ] A [ s - v ] A [ v - d ] Primitive Breakpoint (PB) Departure-time b xy from x at which Arr [ xy ] changes slope 8 / 36
Exact Succinct Representation Why so high complexity ? t 2 t 2 t ′ t ′ 2 2 t t t Arr [ o - u - d ] Arr [ o , d ] Arr [ o - v - d ] A [ s - u - d ] A [ s, d ] A [ s - v - d ] d d t 2 t ′ t ′ 2 u v 1 t 1 u v o t 1 t s t t ′ 1 Arr [ ud ] Arr [ ou ] Arr [ vd ] A [ u - d ] A [ s - u ] Arr [ ov ] A [ s - v ] A [ v - d ] Primitive Breakpoint (PB) Departure-time b xy from x at which Arr [ xy ] changes slope Minimization Breakpoint (MB) Departure-time b x from o s.t. Arr [ o , x ] changes slope due to min operator at x 8 / 36
Complexity of TDSP D : FIFO, piecewise-linear functions; K : total # of breakpoints Given od − pair and departure time t o from o : time-dependent Dijkstra [Dreyfus (1969), Orda-Rom (1990)] Time-dependent shortest path heuristics: only empirical evidence [Delling & Wagner 2009; Batz etal, 2009] Complexity of computing succinct representations ? ◮ Open till recently ... ◮ Arr [ o , d ] : O (( K + 1 ) · n Θ (log( n )) ) space [Foschini-Hershberger-Suri (2011)] ◮ D [ o , d ] : O ( K + 1 ) space for point-to-point ( 1 + ε ) − approximation [Dehne-Omran-Sack (2010), Foschini-Hershberger-Suri (2011)] 9 / 36
Complexity of TDSP D : FIFO, piecewise-linear functions; K : total # of breakpoints Question 1 : ∃ data structure ( oracle ) that ◮ requires reasonable space ? ◮ allows answering distance queries efficiently ? 10 / 36
Complexity of TDSP D : FIFO, piecewise-linear functions; K : total # of breakpoints Question 1 : ∃ data structure ( oracle ) that ◮ requires reasonable space ? ◮ allows answering distance queries efficiently ? Trivial solution I: Precompute all ( 1 + ε ) − approximate distance summaries for every od -pair � � n 2 ( K + 1 ) O space O (log log( K )) query time ( 1 + ε ) − stretch 10 / 36
Complexity of TDSP D : FIFO, piecewise-linear functions; K : total # of breakpoints Question 1 : ∃ data structure ( oracle ) that ◮ requires reasonable space ? ◮ allows answering distance queries efficiently ? Trivial solution I: Precompute all ( 1 + ε ) − approximate distance summaries for every od -pair � � n 2 ( K + 1 ) O space O (log log( K )) query time ( 1 + ε ) − stretch Trivial solution II: No preprocessing, respond to queries with TD-Dijkstra O ( n + m + K ) space O ([ m + n log( n )] · log log( K )) query time 1 − stretch 10 / 36
Complexity of TDSP D : FIFO, piecewise-linear functions; K : total # of breakpoints Question 1 : ∃ data structure ( oracle ) that ◮ requires reasonable space ? ◮ allows answering distance queries efficiently ? Trivial solution I: Precompute all ( 1 + ε ) − approximate distance summaries for every od -pair � � n 2 ( K + 1 ) O space O (log log( K )) query time ( 1 + ε ) − stretch Trivial solution II: No preprocessing, respond to queries with TD-Dijkstra O ( n + m + K ) space O ([ m + n log( n )] · log log( K )) query time 1 − stretch Question 2 : can we do better ? ◮ subquadratic space & sublinear query time ◮ ∃ smooth tradeoff among space / query time / stretch ? 10 / 36
Towards Time-Dependent Distance Oracles Generic Framework for Static Landmark-based Oracles Choose a set L ⊂ V of landmarks 1 ∀ ℓ ∈ L , compute distance summaries from ℓ to all v ∈ V 2 Employ a query algorithm that uses the pre-computed distance 3 summaries to answer arbitrary ( o , d ) distance queries 11 / 36
Towards Time-Dependent Distance Oracles An Axiomatic Approach – Network Properties Q Static & undirected world −→ time-dependent & directed world ? 12 / 36
Towards Time-Dependent Distance Oracles An Axiomatic Approach – Network Properties Q Static & undirected world −→ time-dependent & directed world ? Property 1 (bounded travel time slopes) Slopes of D [ o , d ] ∈ [ − 1 , Λ max ] , for some constant Λ max > 0 12 / 36
Towards Time-Dependent Distance Oracles An Axiomatic Approach – Network Properties Q Static & undirected world −→ time-dependent & directed world ? Property 1 (bounded travel time slopes) Slopes of D [ o , d ] ∈ [ − 1 , Λ max ] , for some constant Λ max > 0 Property 2 (bounded opposite trips) ∃ ζ ≥ 1 : ∀ ( o , d ) ∈ V × V , ∀ t ∈ [ 0 , T ] , D [ o , d ]( t ) ≤ ζ · D [ d , o ]( t ) 12 / 36
Towards Time-Dependent Distance Oracles An Axiomatic Approach – Network Properties Q Static & undirected world −→ time-dependent & directed world ? Property 1 (bounded travel time slopes) Slopes of D [ o , d ] ∈ [ − 1 , Λ max ] , for some constant Λ max > 0 Property 2 (bounded opposite trips) ∃ ζ ≥ 1 : ∀ ( o , d ) ∈ V × V , ∀ t ∈ [ 0 , T ] , D [ o , d ]( t ) ≤ ζ · D [ d , o ]( t ) Property 3 (Dij.Rank and TD time are within polynomial factors) ∃ λ, c 1 , c 2 ∈ O ( 1 ) , f ( n ) ≤ log c 1 ( n ) , g ( n ) ≤ c 2 log( n ) : Γ[ o , d ]( t o ) ≤ f ( n ) · ( D [ o , d ]( t o )) λ and D [ o , d ]( t o ) ≤ g ( n ) · (Γ[ o , d ]( t o )) 1 /λ 12 / 36
Towards Time-Dependent Distance Oracles An Axiomatic Approach – Network Properties Q Static & undirected world −→ time-dependent & directed world ? Property 1 (bounded travel time slopes) Slopes of D [ o , d ] ∈ [ − 1 , Λ max ] , for some constant Λ max > 0 Property 2 (bounded opposite trips) ∃ ζ ≥ 1 : ∀ ( o , d ) ∈ V × V , ∀ t ∈ [ 0 , T ] , D [ o , d ]( t ) ≤ ζ · D [ d , o ]( t ) Property 3 (Dij.Rank and TD time are within polynomial factors) ∃ λ, c 1 , c 2 ∈ O ( 1 ) , f ( n ) ≤ log c 1 ( n ) , g ( n ) ≤ c 2 log( n ) : Γ[ o , d ]( t o ) ≤ f ( n ) · ( D [ o , d ]( t o )) λ and D [ o , d ]( t o ) ≤ g ( n ) · (Γ[ o , d ]( t o )) 1 /λ Property 4 (no. of arcs linear in no. of vertices) m = O ( n ) 12 / 36
Towards Time-Dependent Distance Oracles An Axiomatic Approach – Network Properties Validation of Properties Λ max Data Set Type (source) n m ζ max λ Berlin real (TomTom) 480 K 1135 K 0.19 1.19 [1.3,1.6] Germany real (PTV) 4690 K 11183 K 0.22 1.05 [1.4,1.7] WEurope bench. (PTV) 18010 K 42188 K 3.60 1.13 [1.4,1.7] 13 / 36
First Efficient Time-Dependent Distance Oracle [Kontogiannis & Zaroliagis, 2014] Choose a set L of landmarks 1 14 / 36
First Efficient Time-Dependent Distance Oracle [Kontogiannis & Zaroliagis, 2014] Choose a set L of landmarks 1 ∀ ( ℓ, v ) ∈ L × V , compute distance summaries ∆[ ℓ, v ] , 2 D [ ℓ, v ] ≤ ∆[ ℓ, v ] ≤ ( 1 + ε ) · D [ ℓ, v ] ◮ BIS (bisection-based) approach, one-to-all ( 1 + ε ) -approximation 14 / 36
First Efficient Time-Dependent Distance Oracle [Kontogiannis & Zaroliagis, 2014] Choose a set L of landmarks 1 ∀ ( ℓ, v ) ∈ L × V , compute distance summaries ∆[ ℓ, v ] , 2 D [ ℓ, v ] ≤ ∆[ ℓ, v ] ≤ ( 1 + ε ) · D [ ℓ, v ] ◮ BIS (bisection-based) approach, one-to-all ( 1 + ε ) -approximation Answer arbitrary queries ( o , d , t o ) using FCA & RQA query 3 algorithms 14 / 36
First Efficient Time-Dependent Distance Oracle [Kontogiannis & Zaroliagis, 2014] Choose a set L of landmarks 1 ∀ ( ℓ, v ) ∈ L × V , compute distance summaries ∆[ ℓ, v ] , 2 D [ ℓ, v ] ≤ ∆[ ℓ, v ] ≤ ( 1 + ε ) · D [ ℓ, v ] ◮ BIS (bisection-based) approach, one-to-all ( 1 + ε ) -approximation Answer arbitrary queries ( o , d , t o ) using FCA & RQA query 3 algorithms Time Stretch O ( K ∗ · n 2 − β + o ( 1 ) ) Preprocessing O ( n δ ) 1 + ε + ψ FCA ( ε/ψ ) r + 1 ( 1 ) ) O ( n δ + o 1 + ε · RQA ( ε/ψ ) r + 1 − 1 K ∗ : concavity spoiling breakpoints (0 ≤ K ∗ ≤ K ) β, δ ∈ ( 0 , 1 ) ; ψ = O ( 1 ) depends on network characteristics r = O ( 1 ) : recursion depth (budget) 14 / 36
Approximating Distance Functions via Bisection sample simultaneously all distance values from o , at mid-points of time intervals, until required approximation guarantee is achieved ∀ destinations D 0 D 1 t 0 t 1 Example of Bisection Execution : INPUT = UNKNOWN BLUE function 15 / 36
Approximating Distance Functions via Bisection sample simultaneously all distance values from o , at mid-points of time intervals, until required approximation guarantee is achieved ∀ destinations D 0 D 1 t 0 t 1 Example of Bisection Execution : ORANGE = Upper Bound, YELLOW = Lower Bound 15 / 36
Approximating Distance Functions via Bisection sample simultaneously all distance values from o , at mid-points of time intervals, until required approximation guarantee is achieved ∀ destinations D 2 D 0 D 1 t 2 t 0 t 1 Example of Bisection Execution : Level-1 Recursion 15 / 36
Approximating Distance Functions via Bisection sample simultaneously all distance values from o , at mid-points of time intervals, until required approximation guarantee is achieved ∀ destinations D 2 D 3 D 0 D 1 t 3 t 2 t 0 t 1 Example of Bisection Execution : Level-2 Recursion 15 / 36
Approximating Distance Functions via Bisection For continuous, pwl arc-delays Run Reverse TD-Dijkstra to 1 project each earliest-arrival times at v = head [ uv ] concavity-spoiling PB to a PI of the origin o For each pair of consecutive 2 PIs at o , run BIS for the corresponding 0 t 1 t 2 t 3 t 4 t 5 T departure time from u = tail [ uv ] departure-times interval Return the concatenation of approximate distance summaries 3 16 / 36
Landmark Selection and Preprocessing K ∗ ( < K ) : total # of concavity-spoiling breakpoints; Landmark selection: ∀ v ∈ V , Pr[ v ∈ L ] = ρ ∈ ( 0 , 1 ) , | L | = ρ · n [correctness is independent of the landmark selection] Preprocessing: ∀ ℓ ∈ L , compute ( 1 + ε ) − approximate distance functions ∆[ ℓ, v ] to all v ∈ V using BIS 17 / 36
Landmark Selection and Preprocessing K ∗ ( < K ) : total # of concavity-spoiling breakpoints; Landmark selection: ∀ v ∈ V , Pr[ v ∈ L ] = ρ ∈ ( 0 , 1 ) , | L | = ρ · n [correctness is independent of the landmark selection] Preprocessing: ∀ ℓ ∈ L , compute ( 1 + ε ) − approximate distance functions ∆[ ℓ, v ] to all v ∈ V using BIS Preprocessing complexity ( ρ = n − β ) 17 / 36
Landmark Selection and Preprocessing K ∗ ( < K ) : total # of concavity-spoiling breakpoints; Landmark selection: ∀ v ∈ V , Pr[ v ∈ L ] = ρ ∈ ( 0 , 1 ) , | L | = ρ · n [correctness is independent of the landmark selection] Preprocessing: ∀ ℓ ∈ L , compute ( 1 + ε ) − approximate distance functions ∆[ ℓ, v ] to all v ∈ V using BIS Preprocessing complexity ( ρ = n − β ) Space ( K ∗ + 1 ) · | L | · n · 1 K ∗ · n 2 − β + o ( 1 ) � � � � O ε · log( n /ε ) = O 17 / 36
Landmark Selection and Preprocessing K ∗ ( < K ) : total # of concavity-spoiling breakpoints; Landmark selection: ∀ v ∈ V , Pr[ v ∈ L ] = ρ ∈ ( 0 , 1 ) , | L | = ρ · n [correctness is independent of the landmark selection] Preprocessing: ∀ ℓ ∈ L , compute ( 1 + ε ) − approximate distance functions ∆[ ℓ, v ] to all v ∈ V using BIS Preprocessing complexity ( ρ = n − β ) Space ( K ∗ + 1 ) · | L | · n · 1 K ∗ · n 2 − β + o ( 1 ) � � � � O ε · log( n /ε ) = O Time � | L | · K ∗ � � K ∗ · n 2 − β + o ( 1 ) � ε log 2 ( n ε ) · n log n = O O 17 / 36
FCA: constant-approximation query algorithm [Kontogiannis & Zaroliagis, 2014] Π ASP[ l o , d ]( t o + R o ) l o Q SP[ o , l o ]( t o ) P SP[ o , d ]( t o ) t o d w x o t d = t o + D[ o , d ]( t o ) R o return sol o = D [ o , ℓ o ]( t o ) + ∆[ ℓ o , d ]( t o + D [ o , ℓ o ]( t o )) 18 / 36
FCA: constant-approximation query algorithm [Kontogiannis & Zaroliagis, 2014] Π ASP[ l o , d ]( t o + R o ) l o Q SP[ o , l o ]( t o ) P SP[ o , d ]( t o ) t o d w x o t d = t o + D[ o , d ]( t o ) R o return sol o = D [ o , ℓ o ]( t o ) + ∆[ ℓ o , d ]( t o + D [ o , ℓ o ]( t o )) FCA complexity 18 / 36
FCA: constant-approximation query algorithm [Kontogiannis & Zaroliagis, 2014] Π ASP[ l o , d ]( t o + R o ) l o Q SP[ o , l o ]( t o ) P SP[ o , d ]( t o ) t o d w x o t d = t o + D[ o , d ]( t o ) R o return sol o = D [ o , ℓ o ]( t o ) + ∆[ ℓ o , d ]( t o + D [ o , ℓ o ]( t o )) FCA complexity Approximation guarantee: ≤ ( 1 + ε + ψ ) · D [ o , d ]( t o ) ψ = 1 + Λ max ( 1 + ε )( 1 + 2 ζ + Λ max ζ ) + ( 1 + ε ) ζ 18 / 36
FCA: constant-approximation query algorithm [Kontogiannis & Zaroliagis, 2014] Π ASP[ l o , d ]( t o + R o ) l o Q SP[ o , l o ]( t o ) P SP[ o , d ]( t o ) t o d w x o t d = t o + D[ o , d ]( t o ) R o return sol o = D [ o , ℓ o ]( t o ) + ∆[ ℓ o , d ]( t o + D [ o , ℓ o ]( t o )) FCA complexity Approximation guarantee: ≤ ( 1 + ε + ψ ) · D [ o , d ]( t o ) ψ = 1 + Λ max ( 1 + ε )( 1 + 2 ζ + Λ max ζ ) + ( 1 + ε ) ζ Query-time: O ( n δ ) (0 < δ < 1) 18 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t o o d 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 w 2 Growing level-0 ball... t 1 t o o d w 1 t 3 w 3 l o 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 w 2 l 1 Growing level-0 ball... t 1 t o Growing level-1 balls... o d w 1 t 4 w 4 t 3 w 3 l o 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 l 2 w 2 l 1 Growing level-0 ball... t 1 t o Growing level-1 balls... o d w 1 t 4 w 4 t 3 w 3 l o 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 l 2 w 2 l 1 Growing level-0 ball... t 1 t o Growing level-1 balls... o d w 1 t 4 w 4 t 3 w 3 l o l 3 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 l 2 Growing level-0 ball... w 2 l 1 Growing level-1 balls... t 1 t o o d w 1 Growing level-2 balls... t 4 w 4 t 3 l 4 l o w 3 l 3 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 l 2 Growing level-0 ball... w 2 l 1 Growing level-1 balls... t 1 t o o d w 1 Growing level-2 balls... t 4 w 4 ... until recursion t 3 l 4 l o w 3 budget r is exhausted l 3 return best among sol i = D [ o , w i ]( t o ) + D [ w i , ℓ i ]( t i ) + ∆[ ℓ i , d ]( t i + D [ w i , ℓ i ]( t i )) 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 l 2 Growing level-0 ball... w 2 l 1 Growing level-1 balls... t 1 t o o d w 1 Growing level-2 balls... t 4 w 4 ... until recursion t 3 l 4 l o w 3 budget r is exhausted l 3 return best among sol i = D [ o , w i ]( t o ) + D [ w i , ℓ i ]( t i ) + ∆[ ℓ i , d ]( t i + D [ w i , ℓ i ]( t i )) RQA Complexity 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 l 2 Growing level-0 ball... w 2 l 1 Growing level-1 balls... t 1 t o o d w 1 Growing level-2 balls... t 4 w 4 ... until recursion t 3 l 4 l o w 3 budget r is exhausted l 3 return best among sol i = D [ o , w i ]( t o ) + D [ w i , ℓ i ]( t i ) + ∆[ ℓ i , d ]( t i + D [ w i , ℓ i ]( t i )) RQA Complexity ( 1 + ε/ψ ) r + 1 Approximation guarantee: 1 + σ = 1 + ε · ( 1 + ε/ψ ) r + 1 − 1 19 / 36
RQA: Boosting the Approximation Guarantee – PTAS [Kontogiannis & Zaroliagis, 2014] t 2 l 2 Growing level-0 ball... w 2 l 1 Growing level-1 balls... t 1 t o o d w 1 Growing level-2 balls... t 4 w 4 ... until recursion t 3 l 4 l o w 3 budget r is exhausted l 3 return best among sol i = D [ o , w i ]( t o ) + D [ w i , ℓ i ]( t i ) + ∆[ ℓ i , d ]( t i + D [ w i , ℓ i ]( t i )) RQA Complexity ( 1 + ε/ψ ) r + 1 Approximation guarantee: 1 + σ = 1 + ε · ( 1 + ε/ψ ) r + 1 − 1 Query-time: O ( n δ + o ( 1 ) ) ; 0 < δ < 1 19 / 36
Towards More Efficient Time-Dependent Oracles Previous TD oracle efficient only when K ∗ ∈ o ( n ) 20 / 36
Towards More Efficient Time-Dependent Oracles Previous TD oracle efficient only when K ∗ ∈ o ( n ) Experimental analysis in Berlin [KMPPWZ, 2015] : K ∗ ∈ Θ( n ) (!) 20 / 36
Towards More Efficient Time-Dependent Oracles Previous TD oracle efficient only when K ∗ ∈ o ( n ) Experimental analysis in Berlin [KMPPWZ, 2015] : K ∗ ∈ Θ( n ) (!) ⇓ 20 / 36
Towards More Efficient Time-Dependent Oracles Previous TD oracle efficient only when K ∗ ∈ o ( n ) Experimental analysis in Berlin [KMPPWZ, 2015] : K ∗ ∈ Θ( n ) (!) ⇓ Space blow-up 20 / 36
Towards More Efficient Time-Dependent Oracles Previous TD oracle efficient only when K ∗ ∈ o ( n ) Experimental analysis in Berlin [KMPPWZ, 2015] : K ∗ ∈ Θ( n ) (!) ⇓ Space blow-up Can we avoid dependence on K ∗ and still maintain 20 / 36
Towards More Efficient Time-Dependent Oracles Previous TD oracle efficient only when K ∗ ∈ o ( n ) Experimental analysis in Berlin [KMPPWZ, 2015] : K ∗ ∈ Θ( n ) (!) ⇓ Space blow-up Can we avoid dependence on K ∗ and still maintain ◮ Subquadratic preprocessing ? 20 / 36
Towards More Efficient Time-Dependent Oracles Previous TD oracle efficient only when K ∗ ∈ o ( n ) Experimental analysis in Berlin [KMPPWZ, 2015] : K ∗ ∈ Θ( n ) (!) ⇓ Space blow-up Can we avoid dependence on K ∗ and still maintain ◮ Subquadratic preprocessing ? ◮ Sublinear query time (also on Dijkstra rank) ? 20 / 36
TRAP: New Approximation Method T ≤ n α (0 < α < 1): period; [Kontogiannis, Wagner & Zaroliagis, 2016] D m [ l , v ]( t s , t f ) Slope: -Λ min Slope: Λ max D[ l , v ]( t f ) Max Abs Error D[ l , v ]( t s ) shortest travel time at v shortest travel time at v Slope: Λ max Slope: -Λ min D m [ l , v ]( t s , t f ) t s t m t m t f departure time from landmark Trapezoidal Approximation � T � Split [ 0 , T ) into length- τ subintervals, for a suitable choice of τ τ Compute ( 1 + ε ) -upper approximation per subinterval ∆[ ℓ, v ] (of D [ o , d ] : [ 0 , T ) �→ R > 0 ): concatenation of all upper approximations per subinterval 21 / 36
TRAP: New Approximation Method T ≤ n α (0 < α < 1): period; [Kontogiannis, Wagner & Zaroliagis, 2016] D m [ l , v ]( t s , t f ) Slope: -Λ min Slope: Λ max D[ l , v ]( t f ) Max Abs Error D[ l , v ]( t s ) shortest travel time at v shortest travel time at v Slope: Λ max Slope: -Λ min D m [ l , v ]( t s , t f ) t s t m t m t f departure time from landmark Trapezoidal Approximation � T � Split [ 0 , T ) into length- τ subintervals, for a suitable choice of τ τ Compute ( 1 + ε ) -upper approximation per subinterval ∆[ ℓ, v ] (of D [ o , d ] : [ 0 , T ) �→ R > 0 ): concatenation of all upper approximations per subinterval TRAP Complexity O ( n α ) TDSP-Calls 21 / 36
BIS vs TRAP Approximation Methods BIS TRAP earliest-arrival times at v = head [ uv ] 0 t 1 t 2 t 3 t 4 t 5 T departure time from u = tail [ uv ] BIS (+) BIS (-) Simplicity Linear depen- Space- dence on degree optimal for of disconcavity K ∗ concave func- tions First one-to- all approximation 22 / 36
BIS vs TRAP Approximation Methods BIS TRAP D m [ l , v ]( t s , t f ) earliest-arrival times at v = head [ uv ] Slope: -Λ min Slope: Λ max D[ l , v ]( t f ) Max Abs Error D[ l , v ]( t s ) shortest travel time at v shortest travel time at v Slope: Λ max Slope: -Λ min D m [ l , v ]( t s , t f ) 0 t 1 t 2 t 3 t 4 t 5 T t s t m t m t f departure time from u = tail [ uv ] departure time from landmark Trapezoidal Approximation TRAP (+) TRAP (-) BIS (+) BIS (-) Simplicity. No guaran- Simplicity Linear depen- One-to-all tee of space- Space- dence on degree approximation optimality optimal for of disconcavity K ∗ Indepen- Inappropriate concave func- dence from for “nearby” tions K ∗ vertices around First one-to- o all approximation 22 / 36
TRAPONLY Oracle [Kontogiannis, Wagner & Zaroliagis, 2016] Preprocessing Compute distance summaries from ∀ ℓ ∈ L to all v ∈ V using TRAP (guarantees ( 1 + ε ) -approximate distances to “faraway” vertices) 23 / 36
TRAPONLY Oracle [Kontogiannis, Wagner & Zaroliagis, 2016] Preprocessing Compute distance summaries from ∀ ℓ ∈ L to all v ∈ V using TRAP (guarantees ( 1 + ε ) -approximate distances to “faraway” vertices) Query Algorithm RQA+ 23 / 36
TRAPONLY Oracle [Kontogiannis, Wagner & Zaroliagis, 2016] Preprocessing Compute distance summaries from ∀ ℓ ∈ L to all v ∈ V using TRAP (guarantees ( 1 + ε ) -approximate distances to “faraway” vertices) Query Algorithm RQA+ ◮ Similar to RQA, but in addition ... 23 / 36
TRAPONLY Oracle [Kontogiannis, Wagner & Zaroliagis, 2016] Preprocessing Compute distance summaries from ∀ ℓ ∈ L to all v ∈ V using TRAP (guarantees ( 1 + ε ) -approximate distances to “faraway” vertices) Query Algorithm RQA+ ◮ Similar to RQA, but in addition ... ◮ for every ℓ ∈ L discovered by RQA, grow a TD-Dijkstra ball of appropriate size to compute distances to “nearby” vertices 23 / 36
FLAT Oracle [Kontogiannis, Wagner & Zaroliagis, 2016] Preprocessing compute distance summaries from ℓ ∈ L to all v ∈ V using TRAP (BIS) for “faraway” (“nearby”) vertices Query Algorithms Query: FCA, RQA, FCA+(N) FCA+(N) Run FCA until N landmarks are settled. Theory: no better than FCA; practice: remarkable stretch guarantees t o o d 24 / 36
FLAT Oracle [Kontogiannis, Wagner & Zaroliagis, 2016] Preprocessing compute distance summaries from ℓ ∈ L to all v ∈ V using TRAP (BIS) for “faraway” (“nearby”) vertices Query Algorithms Query: FCA, RQA, FCA+(N) FCA+(N) Run FCA until N landmarks are settled. Theory: no better than FCA; practice: remarkable stretch guarantees t o R 0 o d l o 24 / 36
FLAT Oracle [Kontogiannis, Wagner & Zaroliagis, 2016] Preprocessing compute distance summaries from ℓ ∈ L to all v ∈ V using TRAP (BIS) for “faraway” (“nearby”) vertices Query Algorithms Query: FCA, RQA, FCA+(N) FCA+(N) Run FCA until N landmarks are settled. Theory: no better than FCA; practice: remarkable stretch guarantees l 2 l 1 R 2 R 1 t o o d R 0 l o R 4 R 3 l 4 l 3 24 / 36
HORN ( H ierarchical OR acle for TD N etworks) Idea – [Kontogiannis, Wagner & Zaroliagis, 2016] 25 / 36
HORN ( H ierarchical OR acle for TD N etworks) Idea – [Kontogiannis, Wagner & Zaroliagis, 2016] Selection of landmark sets (colors indicate coverage sizes) 25 / 36
HORN ( H ierarchical OR acle for TD N etworks) Idea – [Kontogiannis, Wagner & Zaroliagis, 2016] Selection of landmark sets (colors indicate coverage sizes) Small-coverage landmarks “learn” travel-time functions to their (only short-range) destinations 25 / 36
HORN ( H ierarchical OR acle for TD N etworks) Idea – [Kontogiannis, Wagner & Zaroliagis, 2016] Selection of landmark sets (colors indicate coverage sizes) Small-coverage landmarks “learn” travel-time functions to their (only short-range) destinations Medium-coverage landmarks “learn” travel-time functions to their (up to medium-range) destinations . . . 25 / 36
HORN ( H ierarchical OR acle for TD N etworks) Idea – [Kontogiannis, Wagner & Zaroliagis, 2016] Selection of landmark sets (colors indicate coverage sizes) Small-coverage landmarks “learn” travel-time functions to their (only short-range) destinations Medium-coverage landmarks “learn” travel-time functions to their (up to medium-range) destinations . . . Global-coverage landmarks “learn” travel-time functions to their (up to long-range) destinations 25 / 36
HORN ( H ierarchical OR acle for TD N etworks) Idea 26 / 36
HORN ( H ierarchical OR acle for TD N etworks) Preprocessing Depending on its level, each landmark has its own coverage , a given-size set of surrounding vertices for which it is informed Exponentially decreasing sequence of landmark set sizes Exponentially increasing sequence of coverages per landmark O (log log( n )) levels ⇒ Subquadratic preprocessing space/time ∴ 27 / 36
HORN ( H ierarchical OR acle for TD N etworks) Preprocessing Depending on its level, each landmark has its own coverage , a given-size set of surrounding vertices for which it is informed Exponentially decreasing sequence of landmark set sizes Exponentially increasing sequence of coverages per landmark O (log log( n )) levels ⇒ Subquadratic preprocessing space/time ∴ HORN Preprocessing Complexity Appropriate construction of the hierarchy ensures subquadratic � n 2 − β + o ( 1 ) � preprocessing space and time O ; β ∈ ( 0 , 1 ) 27 / 36
Recommend
More recommend