Map Matching - wuecampus2.uni-wuerzburg.de

58
Map Matching Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

Transcript of Map Matching - wuecampus2.uni-wuerzburg.de

Page 1: Map Matching - wuecampus2.uni-wuerzburg.de

Map Matching

Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

Page 2: Map Matching - wuecampus2.uni-wuerzburg.de

Map Matching

Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf. → Direkte Verbindung zwischen Punkten ist

schlechte Näherung

Page 3: Map Matching - wuecampus2.uni-wuerzburg.de

Map Matching

Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

Ergebnis mit minimaler Fréchet-Distanz

Idee: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.

Page 4: Map Matching - wuecampus2.uni-wuerzburg.de

Map Matching

Problem: GPS-Punkte der Trajektorie weisen einen relativ großen Abstand zueinander auf.

kürzeste Route

Idee: Fahrer wählen bevorzugt kürzeste Wege im Straßennetz.

Page 5: Map Matching - wuecampus2.uni-wuerzburg.de

Map Matching Ansatz über kürzeste Wege

Lou et al.: Map-Matching for Low-Sampling-Rate GPS Trajectories, Proc. ACM GIS 2009. P. Newson und J. Krum: Hidden Markov Map Matching Through Noise and Sparseness, Proc. ACM GIS 2009 Eisner et al.: Algorithms for Matching and Predicting Trajectories, Proc. ALENEX 2011

Ein Punkt etwa alle zwei Minuten (z.B. zur Aufzeichnung & Analyse von Taxirouten)

Page 6: Map Matching - wuecampus2.uni-wuerzburg.de

Map Matching Ansatz über kürzeste Wege

Lou et al.: Map-Matching for Low-Sampling-Rate GPS Trajectories, Proc. ACM GIS 2009. P. Newson und J. Krum: Hidden Markov Map Matching Through Noise and Sparseness, Proc. ACM GIS 2009 Eisner et al.: Algorithms for Matching and Predicting Trajectories, Proc. ALENEX 2011

= Maximum-likelihood estimation + Markov Chains + Hidden Markov Models

Page 7: Map Matching - wuecampus2.uni-wuerzburg.de

Maximum-likelihood estimation Probability versus Likelihood

• Flipping a coin:

– 𝑃[ℎ𝑒𝑎𝑑𝑠] = 𝑝

– 𝑃 𝑡𝑎𝑖𝑙𝑠 = 1 − 𝑝

• Do three independent flips.

• The coin is fair (p = ½).

• What is the probability of getting outcome x=(H,H,T)?

Model

Outcome?

Parameter value

𝑃 𝑥 = 𝐻,𝐻, 𝑇 | 𝑝 = 12 = 1 2 ⋅ 1 2 ⋅ 1 − 1

2 = 0.125 𝑃 𝑥 = 𝐻, 𝐻, 𝑇 ; 𝑝 = 12

𝒑 is not a random variable!

Page 8: Map Matching - wuecampus2.uni-wuerzburg.de

• Flipping a coin:

– 𝑃[ℎ𝑒𝑎𝑑𝑠] = 𝑝

– 𝑃 𝑡𝑎𝑖𝑙𝑠 = 1 − 𝑝

• Did three independent flips.

• The result was x=(H,H,T).

• What is the likelihood that the coin is fair (p = ½)?

Maximum-likelihood estimation Probability versus Likelihood

Model

Parameter value?

Outcome

Page 9: Map Matching - wuecampus2.uni-wuerzburg.de

• Given the outcome 𝑥, how “likely“ is a certain parameter value 𝜃?

• Assuming parameter value 𝜃, what is the probability of outcome 𝑥?

• Define likelihood function ℒ 𝜃 𝑥 = 𝑃[𝑥; 𝜃]

• The result was (H,H,T).

• What is the likelihood that the coin is fair (p = ½)?

• ℒ 𝒑 = 𝟏 𝟐 | 𝑥 = 𝐻,𝐻, 𝑇 = 12 ⋅ 1 2 ⋅ 1 2 = 0.125

• ℒ 𝒑 = 𝟎. 𝟏 | 𝑥 = 𝐻,𝐻, 𝑇 = 0.1 ⋅ 0.1 ⋅ 0.9 = 0.009

• ℒ 𝒑 = 𝟐 𝟑 | 𝑥 = 𝐻,𝐻, 𝑇 = 23 ⋅ 2 3 ⋅ 1 3 = 0. 148

Maximum-likelihood estimation Likelihood functions

Not a probability!

Page 10: Map Matching - wuecampus2.uni-wuerzburg.de

• Most probable outcome

– Given parameter 𝑝 = 23 …

– … the most probable outcome is

• Maximum-Likelihood Estimate (“MLE“)

– Given outcome (𝑇, 𝐻, 𝑇)…

– …maximum-likelihood estimate is 𝑝 =

– This value of 𝑝 “best explains the observed outcome.“

– This value of 𝑝 makes the outcome ”least surprising.”

Maximum-likelihood estimation Predictions versus Estimates

(𝐻,𝐻, 𝐻).

13 .

Page 11: Map Matching - wuecampus2.uni-wuerzburg.de

• Model? Parameter? Outcome?

• Most probable outcome

– Given a path in a road network …

– … what is the most probable GPS trajectory to observe? (Noisy.)

• Maximum-Likelihood Estimate (MLE)

– Given the observed GPS trajectory (noisy) …

– … what is the most likely path through the road network?

– “Which path through the network best explains the observed GPS trajectory?“

Maximum-likelihood estimation Maximum-likelihood map matching?

Page 12: Map Matching - wuecampus2.uni-wuerzburg.de

Марков Chains

Андрей Марков 1856 - 1922

Георгій Вороний 1868 - 1908

Борис Делоне 1890 - 1980

Wacław Sierpiński 1882 - 1969

Пафнутий Чебышёв 1821 - 1894

Page 13: Map Matching - wuecampus2.uni-wuerzburg.de

Марков Chains

Voronoi 1856 - 1922

Delaunay 1890 - 1980

Sierpinski 1882 - 1969

Chebyshev 1821 - 1894

Markov 1856 - 1922

Page 14: Map Matching - wuecampus2.uni-wuerzburg.de

• Sequence of random variables 𝑋1, 𝑋2, 𝑋3, …

• Markov Property: Pr 𝑋n+1 𝑋𝑛 = 𝑥𝑛, 𝑋𝑛−1= 𝑥𝑛−1, … , 𝑋1= 𝑥1 ] = Pr 𝑋𝑛+1 𝑋𝑛 = 𝑥𝑛 ]

• “Given the present, the future is independent of the past.”

• Represent as Pr [𝑋1], Pr [𝑋2|𝑋1], Pr 𝑋3 𝑋2 , …

Markov Chains

Page 15: Map Matching - wuecampus2.uni-wuerzburg.de

• Possible states 𝑍 = 𝑆𝑜𝑛𝑛𝑒, 𝑅𝑒𝑔𝑒𝑛

• Pr [ 𝑋1 = 𝑅𝑒𝑔𝑒𝑛 ] = 0.3

• Pr 𝑋1 = 𝑆𝑜𝑛𝑛𝑒 = 0.7

• Pr 𝑋𝑛+1 = 𝑅𝑒𝑔𝑒𝑛 𝑋𝑛 = 𝑅𝑒𝑔𝑒𝑛 ] = 0.7

• Pr 𝑋𝑛+1 = 𝑆𝑜𝑛𝑛𝑒 𝑋𝑛 = 𝑅𝑒𝑔𝑒𝑛 ] = 0.3

• Pr 𝑋𝑛+1 = 𝑅𝑒𝑔𝑒𝑛 𝑋𝑛 = 𝑆𝑜𝑛𝑛𝑒 ] = 0.2

• Pr 𝑋𝑛+1 = 𝑆𝑜𝑛𝑛𝑒 𝑋𝑛 = 𝑆𝑜𝑛𝑛𝑒 ] = 0.8

Markov Chains Example

Page 16: Map Matching - wuecampus2.uni-wuerzburg.de

• Possible states 𝑍 = 𝑆𝑜𝑛𝑛𝑒, 𝑅𝑒𝑔𝑒𝑛

• Pr [ 𝑋1 = 𝑅𝑒𝑔𝑒𝑛 ] = 0.3

• Pr 𝑋1 = 𝑆𝑜𝑛𝑛𝑒 = 0.7

Markov Chains

Sonne Regen

0.8 0.7

0.2

0.3

Pr 𝑋2 = 𝑆𝑜𝑛𝑛𝑒 ?

Example

Page 17: Map Matching - wuecampus2.uni-wuerzburg.de

• Possible states 𝑍 = 𝑆𝑜𝑛𝑛𝑒, 𝑅𝑒𝑔𝑒𝑛

• Pr [ 𝑋2 = 𝑅𝑒𝑔𝑒𝑛 ] = 0.35

• Pr 𝑋2 = 𝑆𝑜𝑛𝑛𝑒 = 0.65

Markov Chains

Sonne Regen

0.8 0.7

0.2

0.3

Pr 𝑋3 = 𝑅𝑒𝑔𝑒𝑛 ?

Example

Page 18: Map Matching - wuecampus2.uni-wuerzburg.de

• Markov Chain

– At every time step, it has a certain state

• But the states are hidden

– We cannot “see” its state

• Emission (“output”)

– At every time step, get an observation

– Probability distribution depends on state

– Emission at each step is independent

Hidden Markov Models

Page 19: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Page 20: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Gegeben:

Beobachtungen O = 〈o1, . . . , on〉, je eine pro Zeitpunkt

mogliche Systemzustande Z

fur jeden Systemzustand z ∈ Z und jede Beobachtung o

– die Wahrscheinlichkeit Pr(o | z) oder

– die Wahrscheinlichkeitsdichte f (o | z),

dass o bei Zustand z beobachtet wird

fur jedes Paar von Zustanden z1, z2 ∈ Z die Wahrscheinlichkeit

Pr(z2 | was z1 before),

also die Wahrscheinlichkeit fur z2 bei Kenntnis, dass zuvor z1vorherrschte (Ubergangswahrscheinlichkeit)

fur jeden Zustand z ∈ Z die (a-priori-)Wahrscheinlichkeit Pr(z)

Page 21: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Gegeben:

Beobachtungen O = 〈o1, . . . , on〉, je eine pro Zeitpunkt

mogliche Systemzustande Z

fur jeden Systemzustand z ∈ Z und jede Beobachtung o

– die Wahrscheinlichkeit Pr(o | z) oder

– die Wahrscheinlichkeitsdichte f (o | z),

dass o bei Zustand z beobachtet wird

fur jedes Paar von Zustanden z1, z2 ∈ Z die Wahrscheinlichkeit

Pr(z2 | was z1 before),

also die Wahrscheinlichkeit fur z2 bei Kenntnis, dass zuvor z1vorherrschte (Ubergangswahrscheinlichkeit)

fur jeden Zustand z ∈ Z die (a-priori-)Wahrscheinlichkeit Pr(z)

Page 22: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Gegeben:

Beobachtungen O = 〈o1, . . . , on〉, je eine pro Zeitpunkt

mogliche Systemzustande Z

fur jeden Systemzustand z ∈ Z und jede Beobachtung o

– die Wahrscheinlichkeit Pr(o | z) oder

– die Wahrscheinlichkeitsdichte f (o | z),

dass o bei Zustand z beobachtet wird

fur jedes Paar von Zustanden z1, z2 ∈ Z die Wahrscheinlichkeit

Pr(z2 | was z1 before),

also die Wahrscheinlichkeit fur z2 bei Kenntnis, dass zuvor z1vorherrschte (Ubergangswahrscheinlichkeit)

fur jeden Zustand z ∈ Z die (a-priori-)Wahrscheinlichkeit Pr(z)

Page 23: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Gegeben:

Beobachtungen O = 〈o1, . . . , on〉, je eine pro Zeitpunkt

mogliche Systemzustande Z

fur jeden Systemzustand z ∈ Z und jede Beobachtung o

– die Wahrscheinlichkeit Pr(o | z) oder

– die Wahrscheinlichkeitsdichte f (o | z),

dass o bei Zustand z beobachtet wird

fur jedes Paar von Zustanden z1, z2 ∈ Z die Wahrscheinlichkeit

Pr(z2 | was z1 before),

also die Wahrscheinlichkeit fur z2 bei Kenntnis, dass zuvor z1vorherrschte (Ubergangswahrscheinlichkeit)

fur jeden Zustand z ∈ Z die (a-priori-)Wahrscheinlichkeit Pr(z)

Page 24: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Gegeben:

Beobachtungen O = 〈o1, . . . , on〉, je eine pro Zeitpunkt

mogliche Systemzustande Z

fur jeden Systemzustand z ∈ Z und jede Beobachtung o

– die Wahrscheinlichkeit Pr(o | z) oder

– die Wahrscheinlichkeitsdichte f (o | z),

dass o bei Zustand z beobachtet wird

fur jedes Paar von Zustanden z1, z2 ∈ Z die Wahrscheinlichkeit

Pr(z2 | was z1 before),

also die Wahrscheinlichkeit fur z2 bei Kenntnis, dass zuvor z1vorherrschte (Ubergangswahrscheinlichkeit)

fur jeden Zustand z ∈ Z die (a-priori-)Wahrscheinlichkeit Pr(z)

Page 25: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Pr(S | O) = f (O | S) · Pr(S)/f (O)

Gesucht:Folge S = 〈z1, . . . , zn〉 von Zustanden, die sich am besten mitgegebenen Beobachtungen erklaren lasst, also Pr(S | O)maximimiert.

Page 26: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Pr(S | O) = f (O | S) · Pr(S)/f (O)

Gesucht:Folge S = 〈z1, . . . , zn〉 von Zustanden, die sich am besten mitgegebenen Beobachtungen erklaren lasst, also Pr(S | O)maximimiert.

Page 27: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Pr(S | O) = f (O | S) · Pr(S)/f (O)

f (O | S) = f (o1 | z1) · . . . · f (on | zn)

Gesucht:Folge S = 〈z1, . . . , zn〉 von Zustanden, die sich am besten mitgegebenen Beobachtungen erklaren lasst, also Pr(S | O)maximimiert.

Page 28: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

Pr(S | O) = f (O | S) · Pr(S)/f (O)

Pr(S) = Pr(z1) ·Pr(z2 | was z1 before) · . . . ·Pr(zn | was zn−1 before)

Gesucht:Folge S = 〈z1, . . . , zn〉 von Zustanden, die sich am besten mitgegebenen Beobachtungen erklaren lasst, also Pr(S | O)maximimiert.

Page 29: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

s t

z02

z12

z22

z01

z11

z21

z03

z13

z23

f (o1 | z01 ) · Pr(z02 | was z01 before) f (o2 | z02 ) · Pr(z03 | was z02 before)

f (o3 | z03 )Pr(z01 )

Z1 Z2 Z3

Page 30: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model

s t

z02

z12

z22

z01

z11

z21

z03

z13

z23

f (o1 | z01 ) · Pr(z02 | was z01 before) f (o2 | z02 ) · Pr(z03 | was z02 before)

f (o3 | z03 )Pr(z01 )

s-t-path of maximum weight product= state sequence S that maximizes Pr (S | O)

Z1 Z2 Z3

Page 31: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein BeispielGegeben:

Folge von BeobachtungenO = 〈o1, . . . , on〉 = 〈nass, nass, trocken, nass, trocken〉Menge moglicher Systemzustande: Z = {Sonne, Regen}Beobachtungswahrscheinlichkeiten:

Pr(nass | Sonne) = 0.1Pr(trocken | Sonne) = 0.9Pr(nass | Regen) = 0.95Pr(trocken | Regen) = 0.05

Ubergangswahrscheinlichkeiten:

Pr(Regen | zuvor Regen) = 0.7Pr(Sonne | zuvor Regen) = 0.3Pr(Regen | zuvor Sonne) = 0.2Pr(Sonne | zuvor Sonne) = 0.8

A-Priori-Wahrscheinlichkeiten: Pr(Regen) = 0.3, Pr(Sonne) = 0.7

Gesucht: Folge S = 〈s1, . . . , sn〉 von Zustanden, so dass Pr(S | O) maximal ist.

Page 32: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

Sonne Sonne Sonne Sonne Sonne

Regen Regen Regen Regen Regen

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

Page 33: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

Page 34: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

Pr(o1 | Sonne) · Pr(Sonne | war Sonne zuvor)

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

1

2 4

3

6

5

8

7

10

9

Page 35: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

Pr(nass | Sonne) · Pr(Sonne | war Sonne zuvor)

1

2 4

3

6

5

8

7

10

9

Page 36: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

0.1 · 0.8

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

0.1 · 0.8 0.9 · 0.8 0.1 · 0.8

0.95 · 0.7 0.95 · 0.7 0.05 · 0.7 0.95 · 0.7

0.95 · 0.3 0.95 · 0.3 0.05 · 0.3 0.95 · 0.3

0.1 · 0.2 0.1 · 0.2 0.9 · 0.2 0.1 · 0.2

1

2 4

3

6

5

8

7

10

9

Page 37: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

0.08 0.08 0.72 0.08

0.665 0.035

0.285 0.285 0.015 0.285

0.02 0.02 0.18 0.02

0.665 0.6651

2 4

3

6

5

8

7

10

9

Page 38: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

0.08 0.08 0.72 0.08

0.665 0.035

0.285 0.285 0.015 0.285

0.02 0.02 0.18 0.02

0.665 0.665

Pr(trocken | Sonne)

Pr(trocken | Regen)

1

2 4

3

6

5

8

7

10

9

Page 39: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

0.08 0.08 0.72 0.08

0.665 0.035

0.285 0.285 0.015 0.285

0.02 0.02 0.18 0.02

0.665 0.665

0.9

0.051

2 4

3

6

5

8

7

10

9

Page 40: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

0.08 0.08 0.72 0.08

0.665 0.035

0.285 0.285 0.015 0.285

0.02 0.02 0.18 0.02

0.665 0.665

0.9

0.05

Pr(Sonne)

Pr(Regen)

1

2 4

3

6

5

8

7

10

9

Page 41: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

0.08 0.08 0.72 0.08

0.665 0.035

0.285 0.285 0.015 0.285

0.02 0.02 0.18 0.02

0.665 0.665

0.9

0.05

0.7

0.31

2 4

3

6

5

8

7

10

9

Page 42: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

log2

1

2 4

3

6

5

8

7

10

9

Page 43: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.7371

2 4

3

6

5

8

7

10

9

Page 44: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

1

2 4

3

6

5

8

7

10

9

Page 45: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

1

2 4

3

6

5

8

7

10

9

Page 46: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

1

2 4

3

6

5

8

7

10

9

Page 47: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

1

2 4

3

6

5

8

7

10

9

Page 48: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

1

2 4

3

6

5

8

7

10

9

Page 49: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

−4.137

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

1

2 4

3

6

5

8

7

10

9

Page 50: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

−6.611

−4.137

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

1

2 4

3

6

5

8

7

10

9

Page 51: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

−6.611

−4.137

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

−4.611

1

2 4

3

6

5

8

7

10

9

Page 52: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

−7.200−6.611

−4.137

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

−4.611

1

2 4

3

6

5

8

7

10

9

Page 53: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

−7.200−6.611

−4.137

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

−4.611 −8.255

1

2 4

3

6

5

8

7

10

9

Page 54: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

−7.200−6.611

−4.137

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

−4.611 −8.255 −8.407

1

2 4

3

6

5

8

7

10

9

Page 55: Map Matching - wuecampus2.uni-wuerzburg.de

Hidden Markov Model – ein Beispiel

−7.200−6.611

−4.137

s t

−3.644 −3.644 −0.474 −3.644

−0.589 −4.837

−1.811 −1.811 −6.059 −1.811

−5.644 −5.644 −2.474 −5.644

−0.589 −0.589

−0.152

−4.322

−0.515

−1.737

−1.737

−0.515

−2.326

−3.548

−2.915

−4.611 −8.255 −8.407

O = 〈o1, o2, o3, o4, o5〉 = 〈nass, nass, trocken, nass, trocken〉S = 〈Regen, Regen, Sonne, Sonne, Sonne〉

1

2 4

3

6

5

8

7

10

9

Page 56: Map Matching - wuecampus2.uni-wuerzburg.de

Algorithmus

Bring V in topologische Ordnung → v1, . . . , vnv1.d = 0v1.π = ni lfor j = 2 to n do

vj .d = −∞vj .π = ni lfor vivj ∈ A do

if vi .d + w(vivj) > vj .d thenvj .d = vi .d + w(vivj)vj .π = vi

LongestPath(directed acyclic graph G = (V ,A))

u.d : Lange des langsten Wegs von v1 nach uu.π: Vorganger von u im langsten Weg von v1 nach uw(uv): Gewicht von Kante uv

Page 57: Map Matching - wuecampus2.uni-wuerzburg.de

Algorithmus

Bring V in topologische Ordnung → v1, . . . , vnv1.d = 0v1.π = ni lfor j = 2 to n do

vj .d = −∞vj .π = ni lfor vivj ∈ A do

if vi .d + w(vivj) > vj .d thenvj .d = vi .d + w(vivj)vj .π = vi

LongestPath(directed acyclic graph G = (V ,A))

u.d : Lange des langsten Wegs von v1 nach uu.π: Vorganger von u im langsten Weg von v1 nach uw(uv): Gewicht von Kante uv

Laufzeit: O(|V |+ |A|)

Page 58: Map Matching - wuecampus2.uni-wuerzburg.de

Algorithmus

Bring V in topologische Ordnung → v1, . . . , vnv1.d = 0v1.π = ni lfor j = 2 to n do

vj .d = −∞vj .π = ni lfor vivj ∈ A do

if vi .d + w(vivj) > vj .d thenvj .d = vi .d + w(vivj)vj .π = vi

LongestPath(directed acyclic graph G = (V ,A))

u.d : Lange des langsten Wegs von v1 nach uu.π: Vorganger von u im langsten Weg von v1 nach uw(uv): Gewicht von Kante uv

Laufzeit: O(|V |+ |A|) Laufzeit Dijkstra: O(|V | log |V |+ |A|)