An Axiomatic Approach to Time-Dependent Shortest Paths Christos - - PowerPoint PPT Presentation

an axiomatic approach to time dependent shortest paths
SMART_READER_LITE
LIVE PREVIEW

An Axiomatic Approach to Time-Dependent Shortest Paths Christos - - PowerPoint PPT Presentation

An Axiomatic Approach to Time-Dependent Shortest Paths Christos Zaroliagis zaro@ceid.upatras.gr Dept. of Computer Engineering & Informatics Computer Technology Institute & Press University of Patras, Greece Diophantus 1 / 36


slide-1
SLIDE 1

An Axiomatic Approach to Time-Dependent Shortest Paths

Christos Zaroliagis

zaro@ceid.upatras.gr

  • Dept. of Computer Engineering & Informatics

University of Patras, Greece Computer Technology Institute & Press “Diophantus” 1 / 36

slide-2
SLIDE 2

Time-Dependent Arc-Delay and Arrival Functions

Directed graph G = (V, A), n = |V|, m = |A| Arc (u, v)

D[uv](tu)

v

= Arr[uv](tu ) = tu + D[uv](tu)

u

2 / 36

slide-3
SLIDE 3

Time-Dependent Shortest Paths

2x+0.1 2x+0.1 3x x+2 x+2 1 u v

  • d

Instance with ARC DELAY functions

2x+0.1 2x+0.1 3x x+2 x+2 1 u v

  • d

Q1 How would you commute as fast as possible from o to d, for a given departure time (from o)?

3 / 36

slide-4
SLIDE 4

Time-Dependent Shortest Paths

0.9 0.1 0.3 2.1 2 1 0.1 0.4 1.3 u v

  • d

2x+0.1 2x+0.1 3x x+2 x+2 1 u v

  • d

Q1 How would you commute as fast as possible from o to d, for a given departure time (from o)? Eg: to = 0

3 / 36

slide-5
SLIDE 5

Time-Dependent Shortest Paths

8.1 2.1 9.3 5.1 3 1 1 3.1 4 8.2 u v

  • d

2x+0.1 2x+0.1 3x x+2 x+2 1 u v

  • d

Q1 How would you commute as fast as possible from o to d, for a given departure time (from o)? Eg: to = 1

3 / 36

slide-6
SLIDE 6

Time-Dependent Shortest Paths

2x+0.1 2x+0.1 3x x+2 x+2 1 u v

  • d

Instance with ARC DELAY functions

2x+0.1 2x+0.1 3x x+2 x+2 1 u v

  • d

Q1 How would you commute as fast as possible from o to d, for a given departure time (from o)? Q2 What if you are not sure about the departure time?

3 / 36

slide-7
SLIDE 7

Time-Dependent Shortest Paths

3x+0.1 3x+0.1 4x 2x+2 2x+2 x+1 u v

  • d

Instance with ARC-ARRIVAL functions

2x+0.1 2x+0.1 3x x+2 x+2 1 u v

  • d

Q1 How would you commute as fast as possible from o to d, for a given departure time (from o)? Q2 What if you are not sure about the departure time?

3 / 36

slide-8
SLIDE 8

Time-Dependent Shortest Paths

3x+0.1 3x+0.1 4x 2x+2 2x+2 x+1 u v

  • d

Instance with ARC-ARRIVAL functions

Arr[oud](to) = Arr[ud](Arr[ou](to)) = 6to + 2.2 Arr[ovd](to) = Arr[vd](Arr[ov](to)) = 6to + 6.1 Arr[ouvd](to) = Arr[vd](Arr[uv](Arr[ou](to))) = 36to+1.3 Arr[ovud](to) = Arr[ud](Arr[vu](Arr[ov](to))) = 4to+8

3x+0.1 3x+0.1 4x 2x+2 2x+2 x+1 u v

  • d

Q1 How would you commute as fast as possible from o to d, for a given departure time (from o)? Q2 What if you are not sure about the departure time?

3 / 36

slide-9
SLIDE 9

Time-Dependent Shortest Paths

3x+0.1 3x+0.1 4x 2x+2 2x+2 x+1 u v

  • d

Instance with ARC-ARRIVAL functions

Arr[oud](to) = Arr[ud](Arr[ou](to)) = 6to + 2.2 Arr[ovd](to) = Arr[vd](Arr[ov](to)) = 6to + 6.1 Arr[ouvd](to) = Arr[vd](Arr[uv](Arr[ou](to))) = 36to+1.3 Arr[ovud](to) = Arr[ud](Arr[vu](Arr[ov](to))) = 4to+8

3x+0.1 3x+0.1 4x 2x+2 2x+2 x+1 u v

  • d

Q1 How would you commute as fast as possible from o to d, for a given departure time (from o)? Q2 What if you are not sure about the departure time? A shortest od−path =

        

  • range path, if

to ∈ [0, 0.03) yellow path, if to ∈ [0.03, 2.9) purple path, if to ∈ [2.9, +∞)

3 / 36

slide-10
SLIDE 10

4 / 36

slide-11
SLIDE 11

Raw traffic (speed probe) data

4 / 36

slide-12
SLIDE 12

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements

4 / 36

slide-13
SLIDE 13

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements Measured speed and position every 5-mins (for each road segment)

4 / 36

slide-14
SLIDE 14

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements Measured speed and position every 5-mins (for each road segment) Every road segment measured ∼ 2000 times per week

4 / 36

slide-15
SLIDE 15

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements Measured speed and position every 5-mins (for each road segment) Every road segment measured ∼ 2000 times per week 5 Trillion measurements in historic data over 140 Billion Km

4 / 36

slide-16
SLIDE 16

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements Measured speed and position every 5-mins (for each road segment) Every road segment measured ∼ 2000 times per week 5 Trillion measurements in historic data over 140 Billion Km 4 Billion new measurements per day

4 / 36

slide-17
SLIDE 17

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements Measured speed and position every 5-mins (for each road segment) Every road segment measured ∼ 2000 times per week 5 Trillion measurements in historic data over 140 Billion Km 4 Billion new measurements per day

4 / 36

slide-18
SLIDE 18

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements Measured speed and position every 5-mins (for each road segment) Every road segment measured ∼ 2000 times per week 5 Trillion measurements in historic data over 140 Billion Km 4 Billion new measurements per day

4 / 36

slide-19
SLIDE 19

Raw traffic (speed probe) data

70 Million contributing users provide periodic measurements Measured speed and position every 5-mins (for each road segment) Every road segment measured ∼ 2000 times per week 5 Trillion measurements in historic data over 140 Billion Km 4 Billion new measurements per day Main Issue: time-dependence

4 / 36

slide-20
SLIDE 20

Time-Dependent Shortest Paths

D[uv](tu)

v

= Arr[uv](tu ) = tu + D[uv](tu)

u

5 / 36

slide-21
SLIDE 21

Time-Dependent Shortest Paths

D[uv](tu)

v

= Arr[uv](tu ) = tu + D[uv](tu)

u

Po,d: od-paths; p = (a1, . . . , ak) ∈ Po,d

5 / 36

slide-22
SLIDE 22

Time-Dependent Shortest Paths

D[uv](tu)

v

= Arr[uv](tu ) = tu + D[uv](tu)

u

Po,d: od-paths; p = (a1, . . . , ak) ∈ Po,d Path arrival / travel-time functions Arr[p](t0) = Arr[ak] • · · · • Arr[a1](t0) (function composition) D[p](t0) = Arr[p](t0) − t0

5 / 36

slide-23
SLIDE 23

Time-Dependent Shortest Paths

D[uv](tu)

v

= Arr[uv](tu ) = tu + D[uv](tu)

u

Po,d: od-paths; p = (a1, . . . , ak) ∈ Po,d Path arrival / travel-time functions Arr[p](t0) = Arr[ak] • · · · • Arr[a1](t0) (function composition) D[p](t0) = Arr[p](t0) − t0 Earliest-arrival / Shortest-travel-time functions Arr[o, d](t0) = minp∈Po,d

Arr[p](t0)

D[o, d](t0) = Arr[o, d](t0) − t0

5 / 36

slide-24
SLIDE 24

Time-Dependent Shortest Paths

D[uv](tu)

v

= Arr[uv](tu ) = tu + D[uv](tu)

u

Po,d: od-paths; p = (a1, . . . , ak) ∈ Po,d Path arrival / travel-time functions Arr[p](t0) = Arr[ak] • · · · • Arr[a1](t0) (function composition) D[p](t0) = Arr[p](t0) − t0 Earliest-arrival / Shortest-travel-time functions Arr[o, d](t0) = minp∈Po,d

Arr[p](t0)

D[o, d](t0) = Arr[o, d](t0) − t0 Goals

1

For departure-time to from o, determine td = Arr[o, d](to)

2

Provide a succinct representation of Arr[o, d] (or D[o, d])

5 / 36

slide-25
SLIDE 25

FIFO vs non-FIFO Arc Delays

FIFO Arc-Delays: slopes of arc-delay functions ≥ −1

≡ non-decreasing arc-arrival functions

6 / 36

slide-26
SLIDE 26

FIFO vs non-FIFO Arc Delays

FIFO Arc-Delays: slopes of arc-delay functions ≥ −1

≡ non-decreasing arc-arrival functions

Non-FIFO Arc-Delays

◮ Forbidden waiting: ∄ subpath optimality; NP-hard [Orda-Rom (1990)] ◮ Unrestricted waiting: ≡ FIFO (arbitrary waiting) [Dreyfus (1969)] 6 / 36

slide-27
SLIDE 27

Complexity of TDSP

D: FIFO, piecewise-linear functions; K: total # of breakpoints

Given od−pair and departure time to from o: time-dependent Dijkstra [Dreyfus (1969), Orda-Rom (1990)]

7 / 36

slide-28
SLIDE 28

Complexity of TDSP

D: FIFO, piecewise-linear functions; K: total # of breakpoints

Given od−pair and departure time to from o: time-dependent Dijkstra [Dreyfus (1969), Orda-Rom (1990)] Time-dependent shortest path heuristics: only empirical evidence

[Delling & Wagner 2009; Batz etal, 2009]

7 / 36

slide-29
SLIDE 29

Complexity of TDSP

D: FIFO, piecewise-linear functions; K: total # of breakpoints

Given od−pair and departure time to 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 ?

7 / 36

slide-30
SLIDE 30

Complexity of TDSP

D: FIFO, piecewise-linear functions; K: total # of breakpoints

Given od−pair and departure time to 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 ... 7 / 36

slide-31
SLIDE 31

Complexity of TDSP

D: FIFO, piecewise-linear functions; K: total # of breakpoints

Given od−pair and departure time to 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)]

7 / 36

slide-32
SLIDE 32

Complexity of TDSP

D: FIFO, piecewise-linear functions; K: total # of breakpoints

Given od−pair and departure time to 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)]

7 / 36

slide-33
SLIDE 33

Exact Succinct Representation

Why so high complexity ?

v d u s A[s-u]

t t1

A[u-d]

t1 t2

A[v-d]

t′ 1 t′ 2

A[s-v]

t t′ 1

A[s-u-d]

t t2

A[s-v-d]

t t′ 2

A[s, d]

t t2 t′ 2

u v

  • d

Arr[o,d] Arr[o-u-d] Arr[o-v-d] Arr[ov] Arr[vd] Arr[ou] Arr[ud]

Primitive Breakpoint (PB) Departure-time bxy from x at which Arr[xy] changes slope

8 / 36

slide-34
SLIDE 34

Exact Succinct Representation

Why so high complexity ?

v d u s A[s-u]

t t1

A[u-d]

t1 t2

A[v-d]

t′ 1 t′ 2

A[s-v]

t t′ 1

A[s-u-d]

t t2

A[s-v-d]

t t′ 2

A[s, d]

t t2 t′ 2

u v

  • d

Arr[o,d] Arr[o-u-d] Arr[o-v-d] Arr[ov] Arr[vd] Arr[ou] Arr[ud]

Primitive Breakpoint (PB) Departure-time bxy from x at which Arr[xy] changes slope Minimization Breakpoint (MB) Departure-time bx from o s.t. Arr[o, x] changes slope due to min

  • perator at x

8 / 36

slide-35
SLIDE 35

Complexity of TDSP

D: FIFO, piecewise-linear functions; K: total # of breakpoints

Given od−pair and departure time to 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

slide-36
SLIDE 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

slide-37
SLIDE 37

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 O

  • n2(K + 1)
  • space

O(log log(K)) query time (1 + ε)−stretch

10 / 36

slide-38
SLIDE 38

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 O

  • n2(K + 1)
  • 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

slide-39
SLIDE 39

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 O

  • n2(K + 1)
  • 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

slide-40
SLIDE 40

Towards Time-Dependent Distance Oracles

Generic Framework for Static Landmark-based Oracles

1

Choose a set L ⊂ V of landmarks

2

∀ℓ ∈ L, compute distance summaries from ℓ to all v ∈ V

3

Employ a query algorithm that uses the pre-computed distance summaries to answer arbitrary (o, d) distance queries

11 / 36

slide-41
SLIDE 41

Towards Time-Dependent Distance Oracles

An Axiomatic Approach – Network Properties

Q Static & undirected world −→ time-dependent & directed world ?

12 / 36

slide-42
SLIDE 42

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

slide-43
SLIDE 43

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

slide-44
SLIDE 44

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) ∃ λ, c1, c2 ∈ O(1), f(n) ≤ logc1(n), g(n) ≤ c2 log(n): Γ[o, d](to) ≤ f(n) · (D[o, d](to))λ and D[o, d](to) ≤ g(n) · (Γ[o, d](to))1/λ

12 / 36

slide-45
SLIDE 45

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) ∃ λ, c1, c2 ∈ O(1), f(n) ≤ logc1(n), g(n) ≤ c2 log(n): Γ[o, d](to) ≤ f(n) · (D[o, d](to))λ and D[o, d](to) ≤ g(n) · (Γ[o, d](to))1/λ Property 4 (no. of arcs linear in no. of vertices)

m = O(n)

12 / 36

slide-46
SLIDE 46

Towards Time-Dependent Distance Oracles

An Axiomatic Approach – Network Properties

Validation of Properties Data Set Type (source) n m

Λmax ζ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

slide-47
SLIDE 47

First Efficient Time-Dependent Distance Oracle

[Kontogiannis & Zaroliagis, 2014]

1

Choose a set L of landmarks

14 / 36

slide-48
SLIDE 48

First Efficient Time-Dependent Distance Oracle

[Kontogiannis & Zaroliagis, 2014]

1

Choose a set L of landmarks

2

∀(ℓ, v) ∈ L × V, compute distance summaries ∆[ℓ, v],

D[ℓ, v] ≤ ∆[ℓ, v] ≤ (1 + ε) · D[ℓ, v]

◮ BIS (bisection-based) approach, one-to-all (1 + ε)-approximation 14 / 36

slide-49
SLIDE 49

First Efficient Time-Dependent Distance Oracle

[Kontogiannis & Zaroliagis, 2014]

1

Choose a set L of landmarks

2

∀(ℓ, v) ∈ L × V, compute distance summaries ∆[ℓ, v],

D[ℓ, v] ≤ ∆[ℓ, v] ≤ (1 + ε) · D[ℓ, v]

◮ BIS (bisection-based) approach, one-to-all (1 + ε)-approximation 3

Answer arbitrary queries (o, d, to) using FCA & RQA query algorithms

14 / 36

slide-50
SLIDE 50

First Efficient Time-Dependent Distance Oracle

[Kontogiannis & Zaroliagis, 2014]

1

Choose a set L of landmarks

2

∀(ℓ, v) ∈ L × V, compute distance summaries ∆[ℓ, v],

D[ℓ, v] ≤ ∆[ℓ, v] ≤ (1 + ε) · D[ℓ, v]

◮ BIS (bisection-based) approach, one-to-all (1 + ε)-approximation 3

Answer arbitrary queries (o, d, to) using FCA & RQA query algorithms Time Stretch Preprocessing O(K ∗ · n2−β+o

(1))

FCA O(nδ) 1 + ε + ψ RQA O(nδ+o

(1))

1 + ε ·

(ε/ψ)r+1 (ε/ψ)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

slide-51
SLIDE 51

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

Example of Bisection Execution : INPUT = UNKNOWN BLUE function t1 t0 D1 D0 15 / 36

slide-52
SLIDE 52

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

Example of Bisection Execution : ORANGE = Upper Bound, YELLOW = Lower Bound t1 t0 D1 D0 15 / 36

slide-53
SLIDE 53

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

Example of Bisection Execution : Level-1 Recursion t1 t0 D1 D0 t2 D2 15 / 36

slide-54
SLIDE 54

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

Example of Bisection Execution : Level-2 Recursion t1 t0 D1 D0 t2 D2 t3 D3 15 / 36

slide-55
SLIDE 55

Approximating Distance Functions via Bisection

For continuous, pwl arc-delays

1

Run Reverse TD-Dijkstra to project each concavity-spoiling PB to a PI

  • f the origin o

2

For each pair of consecutive PIs at o, run BIS for the corresponding departure-times interval

departure time from u = tail[uv] t1 earliest-arrival times at v = head[uv] t2 t3 t4 t5 T

3

Return the concatenation of approximate distance summaries

16 / 36

slide-56
SLIDE 56

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

slide-57
SLIDE 57

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

slide-58
SLIDE 58

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

O

  • (K ∗ + 1) · |L| · n · 1

ε · log(n/ε)

  • = O
  • K ∗ · n2−β+o(1)

17 / 36

slide-59
SLIDE 59

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

O

  • (K ∗ + 1) · |L| · n · 1

ε · log(n/ε)

  • = O
  • K ∗ · n2−β+o(1)

Time

O

  • |L| · K∗

ε log2( n ε) · n log n

  • = O
  • K ∗ · n2−β+o(1)

17 / 36

slide-60
SLIDE 60

FCA: constant-approximation query algorithm

[Kontogiannis & Zaroliagis, 2014]

td = to + D[o,d](to)

Ro

x

lo

w

  • d

P SP[o,d](to)

to

Q SP[o,lo](to)

Π ASP[lo,d](to+Ro)

return solo = D[o, ℓo](to) + ∆[ℓo, d](to + D[o, ℓo](to))

18 / 36

slide-61
SLIDE 61

FCA: constant-approximation query algorithm

[Kontogiannis & Zaroliagis, 2014]

td = to + D[o,d](to)

Ro

x

lo

w

  • d

P SP[o,d](to)

to

Q SP[o,lo](to)

Π ASP[lo,d](to+Ro)

return solo = D[o, ℓo](to) + ∆[ℓo, d](to + D[o, ℓo](to))

FCA complexity

18 / 36

slide-62
SLIDE 62

FCA: constant-approximation query algorithm

[Kontogiannis & Zaroliagis, 2014]

td = to + D[o,d](to)

Ro

x

lo

w

  • d

P SP[o,d](to)

to

Q SP[o,lo](to)

Π ASP[lo,d](to+Ro)

return solo = D[o, ℓo](to) + ∆[ℓo, d](to + D[o, ℓo](to))

FCA complexity

Approximation guarantee: ≤ (1 + ε + ψ) · D[o, d](to)

ψ = 1 + Λmax(1 + ε)(1 + 2ζ + Λmaxζ) + (1 + ε)ζ

18 / 36

slide-63
SLIDE 63

FCA: constant-approximation query algorithm

[Kontogiannis & Zaroliagis, 2014]

td = to + D[o,d](to)

Ro

x

lo

w

  • d

P SP[o,d](to)

to

Q SP[o,lo](to)

Π ASP[lo,d](to+Ro)

return solo = D[o, ℓo](to) + ∆[ℓo, d](to + D[o, ℓo](to))

FCA complexity

Approximation guarantee: ≤ (1 + ε + ψ) · D[o, d](to)

ψ = 1 + Λmax(1 + ε)(1 + 2ζ + Λmaxζ) + (1 + ε)ζ

Query-time: O(nδ) (0 < δ < 1)

18 / 36

slide-64
SLIDE 64

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

19 / 36

slide-65
SLIDE 65

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014] d

  • to

19 / 36

slide-66
SLIDE 66

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo d

w3 w1

  • to

w2

Growing level-0 ball...

19 / 36

slide-67
SLIDE 67

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3 w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls...

19 / 36

slide-68
SLIDE 68

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3

l2

w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls...

19 / 36

slide-69
SLIDE 69

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3

l3 l2

w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls...

19 / 36

slide-70
SLIDE 70

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3

l3 l2 l4

w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls... Growing level-2 balls...

19 / 36

slide-71
SLIDE 71

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3

l3 l2 l4

w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls... Growing level-2 balls... ... until recursion budget r is exhausted

return best among soli = D[o, wi](to) + D[wi, ℓi](ti) + ∆[ℓi, d](ti + D[wi, ℓi](ti))

19 / 36

slide-72
SLIDE 72

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3

l3 l2 l4

w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls... Growing level-2 balls... ... until recursion budget r is exhausted

return best among soli = D[o, wi](to) + D[wi, ℓi](ti) + ∆[ℓi, d](ti + D[wi, ℓi](ti))

RQA Complexity

19 / 36

slide-73
SLIDE 73

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3

l3 l2 l4

w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls... Growing level-2 balls... ... until recursion budget r is exhausted

return best among soli = D[o, wi](to) + D[wi, ℓi](ti) + ∆[ℓi, d](ti + D[wi, ℓi](ti))

RQA Complexity

Approximation guarantee: 1 + σ = 1 + ε ·

(1+ε/ψ)r+1 (1+ε/ψ)r+1−1

19 / 36

slide-74
SLIDE 74

RQA: Boosting the Approximation Guarantee – PTAS

[Kontogiannis & Zaroliagis, 2014]

t1 t2 t3

lo l1 d

w3

l3 l2 l4

w1 t4

  • w4

to w2

Growing level-0 ball... Growing level-1 balls... Growing level-2 balls... ... until recursion budget r is exhausted

return best among soli = D[o, wi](to) + D[wi, ℓi](ti) + ∆[ℓi, d](ti + D[wi, ℓi](ti))

RQA Complexity

Approximation guarantee: 1 + σ = 1 + ε ·

(1+ε/ψ)r+1 (1+ε/ψ)r+1−1

Query-time: O(nδ+o

(1)); 0 < δ < 1

19 / 36

slide-75
SLIDE 75

Towards More Efficient Time-Dependent Oracles

Previous TD oracle efficient only when K ∗ ∈ o(n)

20 / 36

slide-76
SLIDE 76

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

slide-77
SLIDE 77

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

slide-78
SLIDE 78

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

slide-79
SLIDE 79

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

slide-80
SLIDE 80

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

slide-81
SLIDE 81

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

slide-82
SLIDE 82

TRAP: New Approximation Method

T ≤ nα (0 < α < 1): period; [Kontogiannis, Wagner & Zaroliagis, 2016]

Trapezoidal Approximation shortest travel time at v shortest travel time at v departure time from landmark ts tf

Slope: Λmax Slope: -Λmin Slope: Λmax Slope: -Λmin Max Abs Error

tm tm Dm[l,v](ts,tf) Dm[l,v](ts,tf) D[l,v](tf) D[l,v](ts)

Split [0, T) into

T

τ

  • 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

slide-83
SLIDE 83

TRAP: New Approximation Method

T ≤ nα (0 < α < 1): period; [Kontogiannis, Wagner & Zaroliagis, 2016]

Trapezoidal Approximation shortest travel time at v shortest travel time at v departure time from landmark ts tf

Slope: Λmax Slope: -Λmin Slope: Λmax Slope: -Λmin Max Abs Error

tm tm Dm[l,v](ts,tf) Dm[l,v](ts,tf) D[l,v](tf) D[l,v](ts)

Split [0, T) into

T

τ

  • 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

slide-84
SLIDE 84

BIS vs TRAP Approximation Methods BIS

departure time from u = tail[uv] t1 earliest-arrival times at v = head[uv] t2 t3 t4 t5 T

BIS (+) BIS (-) Simplicity Space-

  • ptimal

for concave func- tions First

  • ne-to-

all approximation Linear depen- dence on degree

  • f

disconcavity K ∗

TRAP

22 / 36

slide-85
SLIDE 85

BIS vs TRAP Approximation Methods BIS

departure time from u = tail[uv] t1 earliest-arrival times at v = head[uv] t2 t3 t4 t5 T

BIS (+) BIS (-) Simplicity Space-

  • ptimal

for concave func- tions First

  • ne-to-

all approximation Linear depen- dence on degree

  • f

disconcavity K ∗

TRAP

Trapezoidal Approximation shortest travel time at v shortest travel time at v departure time from landmark ts tf

Slope: Λmax Slope: -Λmin Slope: Λmax Slope: -Λmin Max Abs Error

tm tm Dm[l,v](ts,tf) Dm[l,v](ts,tf) D[l,v](tf) D[l,v](ts)

TRAP (+) TRAP (-) Simplicity. One-to-all approximation Indepen- dence from K ∗ No guaran- tee

  • f

space-

  • ptimality

Inappropriate for “nearby” vertices around

  • 22 / 36
slide-86
SLIDE 86

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

slide-87
SLIDE 87

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

slide-88
SLIDE 88

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

slide-89
SLIDE 89

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

slide-90
SLIDE 90

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

d

  • to

24 / 36

slide-91
SLIDE 91

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

lo d

to R0 o

24 / 36

slide-92
SLIDE 92

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

lo l1 d l3 l2 l4

to R0 R1 R2 R3 R4

  • 24 / 36
slide-93
SLIDE 93

HORN (Hierarchical ORacle for TD Networks)

Idea – [Kontogiannis, Wagner & Zaroliagis, 2016]

25 / 36

slide-94
SLIDE 94

HORN (Hierarchical ORacle for TD Networks)

Idea – [Kontogiannis, Wagner & Zaroliagis, 2016]

Selection of landmark sets (colors indicate coverage sizes)

25 / 36

slide-95
SLIDE 95

HORN (Hierarchical ORacle for TD Networks)

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

slide-96
SLIDE 96

HORN (Hierarchical ORacle for TD Networks)

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

slide-97
SLIDE 97

HORN (Hierarchical ORacle for TD Networks)

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

slide-98
SLIDE 98

HORN (Hierarchical ORacle for TD Networks)

Idea

26 / 36

slide-99
SLIDE 99

HORN (Hierarchical ORacle for TD Networks)

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

slide-100
SLIDE 100

HORN (Hierarchical ORacle for TD Networks)

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 preprocessing space and time O

  • n2−β+o(1)

; β ∈ (0, 1)

27 / 36

slide-101
SLIDE 101

HORN (Hierarchical ORacle for TD Networks)

Rationale of the hierarchy level targeted DR Q-time coverage TRAP Ring 1 N1 = n(γ−1)/γ Nδ

1

c1 = N1 · nξ1 √c1 Nδ/(r+1)

1

·

  • 1

ln(n), ln(n)

  • 2

N2 = n(γ2−1)/γ2 Nδ

2

c2 = N2 · nξ2 √c2 Nδ/(r+1)

2

·

  • 1

ln(n), ln(n)

  • .

. . k Nk = n(γk −1)/γk Nδ

k

ck = Nk · nξk √ck Nδ/(r+1)

k

·

  • 1

ln(n), ln(n)

  • k+1

Nk+1 = n nδ ck+1 = n √n

  • Nδ/(r+1)

k

· ln(n), n

  • 28 / 36
slide-102
SLIDE 102

HORN (Hierarchical ORacle for TD Networks)

Rationale of the hierarchy level targeted DR Q-time coverage TRAP Ring 1 N1 = n(γ−1)/γ Nδ

1

c1 = N1 · nξ1 √c1 Nδ/(r+1)

1

·

  • 1

ln(n), ln(n)

  • 2

N2 = n(γ2−1)/γ2 Nδ

2

c2 = N2 · nξ2 √c2 Nδ/(r+1)

2

·

  • 1

ln(n), ln(n)

  • .

. . k Nk = n(γk −1)/γk Nδ

k

ck = Nk · nξk √ck Nδ/(r+1)

k

·

  • 1

ln(n), ln(n)

  • k+1

Nk+1 = n nδ ck+1 = n √n

  • Nδ/(r+1)

k

· ln(n), n

  • 1

Mimic FLAT in each level i: all level-i landmarks are informed about ci destinations around them

28 / 36

slide-103
SLIDE 103

HORN (Hierarchical ORacle for TD Networks)

Rationale of the hierarchy level targeted DR Q-time coverage TRAP Ring 1 N1 = n(γ−1)/γ Nδ

1

c1 = N1 · nξ1 √c1 Nδ/(r+1)

1

·

  • 1

ln(n), ln(n)

  • 2

N2 = n(γ2−1)/γ2 Nδ

2

c2 = N2 · nξ2 √c2 Nδ/(r+1)

2

·

  • 1

ln(n), ln(n)

  • .

. . k Nk = n(γk −1)/γk Nδ

k

ck = Nk · nξk √ck Nδ/(r+1)

k

·

  • 1

ln(n), ln(n)

  • k+1

Nk+1 = n nδ ck+1 = n √n

  • Nδ/(r+1)

k

· ln(n), n

  • 1

Mimic FLAT in each level i: all level-i landmarks are informed about ci destinations around them

2

The density of level-i landmarks is such that ALL queries of Dijkstra rank ≤ Ni can be answered by using ONLY level-i landmarks

28 / 36

slide-104
SLIDE 104

HORN (Hierarchical ORacle for TD Networks)

Rationale of the hierarchy level targeted DR Q-time coverage TRAP Ring 1 N1 = n(γ−1)/γ Nδ

1

c1 = N1 · nξ1 √c1 Nδ/(r+1)

1

·

  • 1

ln(n), ln(n)

  • 2

N2 = n(γ2−1)/γ2 Nδ

2

c2 = N2 · nξ2 √c2 Nδ/(r+1)

2

·

  • 1

ln(n), ln(n)

  • .

. . k Nk = n(γk −1)/γk Nδ

k

ck = Nk · nξk √ck Nδ/(r+1)

k

·

  • 1

ln(n), ln(n)

  • k+1

Nk+1 = n nδ ck+1 = n √n

  • Nδ/(r+1)

k

· ln(n), n

  • 1

Mimic FLAT in each level i: all level-i landmarks are informed about ci destinations around them

2

The density of level-i landmarks is such that ALL queries of Dijkstra rank ≤ Ni can be answered by using ONLY level-i landmarks

3

Fact: Running RQA at the appropriate level of the hierarchy would yield a good approximation

28 / 36

slide-105
SLIDE 105

HORN (Hierarchical ORacle for TD Networks)

Rationale of the hierarchy level targeted DR Q-time coverage TRAP Ring 1 N1 = n(γ−1)/γ Nδ

1

c1 = N1 · nξ1 √c1 Nδ/(r+1)

1

·

  • 1

ln(n), ln(n)

  • 2

N2 = n(γ2−1)/γ2 Nδ

2

c2 = N2 · nξ2 √c2 Nδ/(r+1)

2

·

  • 1

ln(n), ln(n)

  • .

. . k Nk = n(γk −1)/γk Nδ

k

ck = Nk · nξk √ck Nδ/(r+1)

k

·

  • 1

ln(n), ln(n)

  • k+1

Nk+1 = n nδ ck+1 = n √n

  • Nδ/(r+1)

k

· ln(n), n

  • 1

Mimic FLAT in each level i: all level-i landmarks are informed about ci destinations around them

2

The density of level-i landmarks is such that ALL queries of Dijkstra rank ≤ Ni can be answered by using ONLY level-i landmarks

3

Fact: Running RQA at the appropriate level of the hierarchy would yield a good approximation

4

Challenge: “Guess” the appropriate level; sublinearity on Ni (rather than n) can then be achieved

28 / 36

slide-106
SLIDE 106

HORN (Hierarchical ORacle for TD Networks)

Hierarchical Query Algorithm (HQA)

level-1 landmark ℓ1,o is uninformed level-3 landmark ℓ3,o, although informed, came too early level-2 landmark ℓ2,o is informed and within the right distance uninformed informed and in-time informed but too early

29 / 36

slide-107
SLIDE 107

HORN (Hierarchical ORacle for TD Networks)

Hierarchical Query Algorithm (HQA)

level-1 landmark ℓ1,o is uninformed level-3 landmark ℓ3,o, although informed, came too early level-2 landmark ℓ2,o is informed and within the right distance ∴ RQA will use only level-(≥ 2) landmarks from now on uninformed informed and in-time informed but too early

29 / 36

slide-108
SLIDE 108

Summary of Time-Dependent Distance Oracles

[Kontogiannis, Wagner & Zaroliagis, 2016]

preprocessing query recursion budget (depth) r

[KZ, 2014]

K ∗ · n2−β+o

(1)

nδ+o

(1)

r ∈ O(1)

TRAPONLY

n2−β+o

(1)

nδ+o

(1)

r ≈ δ

α − 1

FLAT

n2−β+o

(1)

nδ+o

(1)

r ≈ 2δ

α − 1

HORN

n2−β+o

(1)

≈ Γδ+o

(1)

r ≈ 2δ

α − 1

HORN: hierarchical version of FLAT Γ: Dijsktra rank

T = nα; α, β, δ ∈ (0, 1) Stretch of all query algorithms: 1 + ε ·

(ε/ψ)r+1 (ε/ψ)r+1−1

30 / 36

slide-109
SLIDE 109

Experimental Evaluation

Berlin (n = 480K, m = 1135K) Algorithm

|L|

Query (ms)

  • Rel. Error (%)

TDD – 110.02 FLAT 2K 0.081 0.771 CFLAT 4K (1) 0.075 0.521 CFLAT 16K (4) 0.151 0.022 Germany (n = 4690K, m = 11183K) Algorithm

|L|

Query (ms)

  • Rel. Error (%)

TDD – 1190.8 FLAT 2K 1.269 1.444 CFLAT 4K (1) 0.588 0.791 CFLAT 4K (2) 1.242 0.206

  • Rel. error 1% ⇒ extra delay of 36 sec / 1 hour of optimal travel time

31 / 36

slide-110
SLIDE 110

Distance Oracle: Practical Issues

32 / 36

slide-111
SLIDE 111

Distance Oracle: Practical Issues

Google Maps, Tuesday 15:45

05.12.2013 10 2nd eCOMPASS Review, Brussels, BE 33 / 36

slide-112
SLIDE 112

Conclusions & Future Work

34 / 36

slide-113
SLIDE 113

Conclusions & Future Work

Conclusions First Time-Dependent Distance Oracles

◮ Subquadratic preprocessing ◮ Sublinear query time (also on Dijkstra rank) ◮ Provable approximation guarantee ◮ Fully-scalable; work well in practice 34 / 36

slide-114
SLIDE 114

Conclusions & Future Work

Conclusions First Time-Dependent Distance Oracles

◮ Subquadratic preprocessing ◮ Sublinear query time (also on Dijkstra rank) ◮ Provable approximation guarantee ◮ Fully-scalable; work well in practice

Future Work Explore new landmark sets Improve space through new compression schemes Exploit algorithmic parallelism to further reduce preprocessing time

34 / 36

slide-115
SLIDE 115

Publications

CSE Uni Ioan. CTI & CEID Uni Patras KIT

1

  • S. Kontogiannis, G. Papastavrou, D. Wagner, C. Zaroliagis: Improved oracles for

time-dependent road networks. In ATMOS 2017.

2

  • S. Kontogiannis, D. Wagner, C. Zaroliagis: Hierarchical Oracles for Time-Dependent
  • Networks. In ISAAC 2016.

3

  • S. Kontogiannis, C. Zaroliagis: Distance Oracles for Time-Dependent Networks.

Algorithmica Vol. 74 (2016), No. 4, pp. 1404-1434. Prel. version in ICALP 2014.

4

  • K. Giannakopoulou, S. Kontogiannis, G. Papastavrou, and C. Zaroliagis: A Cloud-based

Time-Dependent Routing Service. In ALGOCLOUD 2016.

5

  • S. Kontogiannis, G. Michalopoulos, G. Papastavrou, A. Paraskevopoulos, D. Wagner, C.
  • Zaroliagis. Engineering Oracles for Time-Dependent Road Networks. In ALENEX

2016.

6

  • S. Kontogiannis, G. Michalopoulos, G. Papastavrou, A. Paraskevopoulos, D. Wagner, C.
  • Zaroliagis. Analysis and Experimental Evaluation of Time-Dependent Distance
  • Oracles. In ALENEX 2015.

35 / 36

slide-116
SLIDE 116

Thank you for your attention

Questions

36 / 36