• Keine Ergebnisse gefunden

(Vorlesung 27.10 ohne Animation zum Ausdrucken)

N/A
N/A
Protected

Academic year: 2022

Aktie "(Vorlesung 27.10 ohne Animation zum Ausdrucken)"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Offline Bewegungsplanung: Preprocessing

Elmar Langetepe University of Bonn

(2)

Eigenschaften von G: Lemma 1.13 b

i) Pfad zwischen zwei Dreiecken entlang sukzessiver Diagonalen existiert!

ii) Wir finden den Weg in O(log n) Zeit!

iii) Gb hat nicht mehr als O(n) Kanten!

1.1

1.1

2.1 2.2 2.2

2.1

3.2 3.2 3.3

3.3

6.1 4.6

4.6 4.3

4.4 4.5

4.3 Q 5.4

Q P

I 5.6 P

5.5

5.6 I

T

G

(3)

i) Weg in G b existiert

• Weg im Dualen Graphen T, Weg in Tb

• Abgleichen mit Tiefenrelation

• Benachbart in der Konstruktion (Kante in G)!b

T*

6.1

1.1

1.1

2.2

2.2

2.1 2.1

3.3 3.4

3.2

3.1

3.2

3.3

4.4

4.7 4.2

4.6 4.5

4.3 4.1

4.3 4.6

5.6

P

I 5.7

5.4 5.5

5.6

Q P I

X

G

(4)

ii) Finden des Weges in G! b

• Gemeinsamer Vorg¨anger X minimaler H¨ohe in O(log n) in Tb

• Benutze leicht ge¨anderten Dualen Baum von T

• Frage: Liegt Diagonale d auf dem Pfad von P nach I?

T mit Wurzel R

1.1

6.1

1.1

2.1 2.2

2.1

2.2 3.1

3.2 3.3

3.2

3.4

3.3

4.3

4.7 4.2

4.4

4.6 4.5

4.3 4.6

4.1

5.6 5.4 5.5

5.7

I P

I 5.6 Q P

R ?

d Vorgänger entweder von delta(P) ODER delta(I) in Bezug auf R

? X

G

? ?

? ?

(5)

Vorg¨ angeranfrage in Baum

• Preorder/Postorder, DFS und Labelling

• a Vorg¨anger von b ⇔ pre(a) < pre(b) and post(a) > post(b) ( ¨Ubung!)

R

14 / 11 5 / 3

4 / 1 6 / 2

19 / 16 17 / 15

18 / 14 16 / 17

12 / 12 3 / 4

2 / 6

9 / 9 8 / 13

21 / 18 22 / 19

20 / 20

1 / 22 15 / 21

13 / 10 11 / 8 10 / 7

7 / 5

P

d

I d

I P

(6)

Eigenschaften von G b

i) Pfad zwischen zwei Dreiecken existiert!

i) L¨ange ist in O(log n)!

ii) Wir finden den Pfad in O(log n)!

iii) Gb hat O(n) Kanten !

(7)

iii) Komplexit¨ at von G b

• Untere Kanten von v aus: max 2 × height(v)

• Balance: Teilbaum bei v hat

3 2

height(v)

Bl¨atter (Tafel)

• Anzahl Knoten der H¨ohe h:

≤ n

3 2

h = n2 3

h

• Sum. ¨uber alle H¨ohen:

log3

2

n

X

h=1

(2h) ×

2 3

h

× n

!

∈ O(n)

v

v

(8)

Konstruktion G b

• Cutting-Theorem ( ¨Ubung): konstruktiv!!

• Durchlauf von T

• W¨ahrend des Aufbaus: Insgesamt O(n) viele Diagonalen

¨

uberschreiten

• Aufbau in O(n)

(9)

Exemplarisch: Sanduhren und G b aufbauen!

G

T

L1 1.1 1.1

2.1

2.2

L2.1 L2.2

2.1 2.2

L3.1 3.2 3.3 3.4

3.1

3.3 3.4

3.2 3.1

L3.2 L3.3

Lneu2 L3.4 Lneu1

Durchlauf gem¨aß Cutting Theorem Durchlauf Menge von Listen Li mit P

i |Li| ∈ O(n) in Zeit P

i |Li| Aufbau Sanduhren in Zeit P

i |Li| ∈ O(n)

(10)

Zusammenfassung des Problems/Analyse

1. Berechne Triangulation T und Dual T: O(n)

2. Berechne hierarch. bal. Baum Tb, Sch.-Graph G:b O(n) 3. Komplexit¨at G:b O(n)

4. Berechne alle Sanduhren von G:b O(n)

5. Navigation zw. Dreiecken in G: Sequenz v. Diagonalen:b O(log n) 6. Konkat. Sanduhren f¨ur finale Sanduhr: O(log n)

7. Berechne Shortest Path aus final. Sanduhr: O(log n + k) Query: Start A ∈ P, Ziel B ∈ I: L¨ose 5), 6) und 7)!!

(11)

Berechne Shortest Path aus finaler Sanduhr

• Finale Sanduhr, Ziel und Start

• Data structure: Tangentenpunkte in logarithm. Zeit

• L¨ange in O(1), Pfad in O(k)

B A

d b

c a

(12)

Datenstruktur Hourglass

• Ketten der Sanduhren in bal. Baum speichern

• Tangente in logarithm. Zeit berechnen

• L¨ange in O(1), Pfad in O(k)

a

P1

P3 P2

P4 P5 P6 P7 P8

f

e d

c b

P8 P4

P2

P5 P1

P6 P3

P7 g

a

g f

c b

d e

(13)

Komplexit¨ at aller Sanduhren in O(n)

• Sanduhr zwischen Diagonalen di und dj in Gb

• Anzahl Diagonalen: Komplexit¨at des Baumes von dj

• Balance: height(dj)2

• F¨ur alle diese Kanten!

• Nur zweimal ist dj unterer Knoten! Einf¨ugen und direkter Vorg¨anger

• Sum. ¨uber alle H¨ohen:

log3

2

n

X

h=1

2 ×

2 3

h

× n

!

×h2 ∈ O(n)

• Lemma 1.14

(14)

Konstruktion G b + Sanduhren

• Cutting-Theorem ( ¨Ubung): konstruktiv!!

• Durchlauf von T

• W¨ahrend des Aufbaus: O(n) viele Diagonalen ¨uberschreiten

• Dabei Sanduhren aufbauen

(15)

Sanduhrenlemma: Lemma 1.15

Sanduhr S(di, dj) zwischen di und dj mit m(di, dj) Diagonalen.

Datenstruktur mit folgender Eigenschaft existiert:

i) Entfernung zwischen Punkten in Di und Dj in O(log(m(di, dj)) ii) K¨urzeste Wege zwischen Punkten in Di und Dj in

O(log(m(di, dj)) + k)

iii) Konkatenation zweier Sanduhren S(di, dj) und S(dj, dl) zu einer Sanduhr in Zeit O(log(m(di, dj)) + log(m(dj, dl)))

Beweis: Skizze f¨ur iii)!!!

(16)

Algorithmus 1.6

• Preprocessing:

– Gb + Rooted Tree

– Sanduhren f¨ur Kanten – Lokalisation Dreiecke

• Query, p, q:

– Lokalisation Dp und Dq – Pfad zw. Dp und Dq in Gb

– Sanduhr S(dp, dq) aus Sanduhren entlang des Pfades – L¨ange oder k¨urzester Weg

(17)

Guibas/Hershberger: Laufzeiten

• Datenstrukturen: G, Rooted Tree, Sanduhren, Trapezzerlegungb

• Preprocessing Zeit: O(n)

• Komplexit¨at: O(n)

• Lokalisation Dreiecke: O(log n)

• Pfad in Gb in O(log n)

• Konkatenation Sanduhren in O(log2 n) (O(log n))

• Query: O(log n + k) oder O(log n) f¨ur die L¨ange

• Theorem 1.16

Referenzen

ÄHNLICHE DOKUMENTE

• Der letzte Schritt des K¨ urzesten Weges.!. Last step shortest

Offline Bewegungsplanung 20.10.10 K¨ urzeste Wege c Elmar Langetepe WS ’1011 1.. Schnittpunkt mit Kette darunter bestimmen 4. Einmal Kanten einer Zelle durchlaufen.. 5..

Offline Bewegungsplanung: Innerhalb von Polygonen.. Elmar Langetepe University

Die SWR besucht die Corner gem¨ aß der Ordnung entlang des Randes!. Beweis: Genauso wie

– R¨ ander haben entweder h¨ ochsten zwei Kreuzungen – Oder R¨ ander haben h¨ ochstens einen Ber¨ uhrpunkt. • Verhalten sich

insgesamt n Ecken k¨ onnen nach O(mn log 2 (mn)) (randomisierter) Vorbereitungszeit in Zeit O(mn) geplant werden... Untere

A Arrangement von n Kurvenst¨ ucken von denen sich zwei nur s mal schneiden.. Bogenteile

Translation von s nach t bestimmt werden oder festgestellt werden, dass keine