Top Banner
Kapitel 9 Algorithm. Geometrie Kürzeste Abstände Konvexe Hülle
125

Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Nov 06, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Kapitel 9Algorithm. Geometrie

• Kürzeste Abstände

• Konvexe Hülle

Page 2: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieÜberblick

• Teilgebiet der Informatik, in dem es um die Entwicklung effizienter Algorithmen und die Bestimmung der algorithmischen Komplexität elementarer geometrischer Probleme geht

Page 3: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände

• nearest neighbour problem - closest pair problem - closest points problem

• Anwendung z.B.: Radarbeobachtung, Flugsicherung

Page 4: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände

• nearest neighbour problem - closest pair problem - closest points problem

• Anwendung z.B.: Radarbeobachtung, Flugsicherung

Page 5: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände

• nearest neighbour problem - closest pair problem - closest points problem

• Anwendung z.B.: Radarbeobachtung, Flugsicherung

Page 6: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände

• nearest neighbour problem - closest pair problem - closest points problem

• Anwendung z.B.: Radarbeobachtung, Flugsicherung

Page 7: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände

• nearest neighbour problem - closest pair problem - closest points problem

• Anwendung z.B.: Radarbeobachtung, Flugsicherung

Page 8: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände

• nearest neighbour problem - closest pair problem - closest points problem

• Anwendung z.B.: Radarbeobachtung, Flugsicherung

Page 9: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Problemstellung

• Gegeben n Punkte P1=(x1,y1), ..., Pn=(xn,yn), xi,yi∈IR, n≥1, in der Ebene: Man bestimme ein Paar von Punkten (xj,yj), (xk,yk), j≠k, mit

d((xj,yj),(xk,yk))≤d((xp,yp),(xq,yq)) für alle 1≤p<q≤n

wobei Euklidische Metrik gilt:

d((x,y),(x',y'))=√(x-x')2+(y-y')2

Page 10: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - naive Lösung

• Brute-force-Methode:

• bestimme den Abstand aller Punktepaare

• gib den kleinsten Abstand aus

• Laufzeit: O(n2)

• Besserer (bester) Algorithmus: O(n log n) Laufzeit

Page 11: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

Page 12: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

Page 13: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

Page 14: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema: Scan line/Sweep line

Page 15: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema: Scan line/Sweep line

Page 16: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

toteObjekte

Scan line/Sweep line

Page 17: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

toteObjekte

Scan line/Sweep line

Für diesen Bereich liegt

eine Lösung L vor, die alle

toten Objekte erfaßt

Page 18: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

toteObjekte

schlafendeObjekte

Scan line/Sweep line

Für diesen Bereich liegt

eine Lösung L vor, die alle

toten Objekte erfaßt

Page 19: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

toteObjekte

schlafendeObjekte

Scan line/Sweep line

Für diesen Bereich liegt

eine Lösung L vor, die alle

toten Objekte erfaßt

Page 20: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

toteObjekte

schlafendeObjekte

Scan line/Sweep line

Für diesen Bereich liegt

eine Lösung L vor, die alle

toten Objekte erfaßt

aktives Objekt;das Objekt ist in L

zu integrieren

Page 21: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische Geometriealgor. Paradigma - Plane sweeping

• zugrundliegendes universelles Muster:Plane-sweeping

• Schema:

toteObjekte

schlafendeObjekte

Scan line/Sweep line

Für diesen Bereich liegt

eine Lösung L vor, die alle

toten Objekte erfaßt

aktives Objekt;das Objekt ist in L

zu integrieren

Beobachte: Scan line kann statt kontinuierlich diskret über die Szene

geschwenkt werden, entspr. der aufsteigenden Sortierung der x-Werte

der Objekte (Haltepunkte)

Page 22: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Algorithm. Schema

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

Page 23: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Anfangssituation

Page 24: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Anfangssituation

Page 25: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Anfangssituation

Page 26: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

P

Page 27: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

P

Page 28: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d P

Page 29: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d P

Page 30: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d

P

Page 31: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d

P

Page 32: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d

P

Page 33: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d

P

Page 34: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d

P

Page 35: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d

P

Page 36: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d

d' P

Page 37: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation

d

d' P

Page 38: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Schemaanwendung

Zwischensituation (Vorgehen):

• Prüfe, ob P zu einem neuen Abstand führt

• Das ist nur dann der Fall, wenn es im Halbkreis um P mit Radius d Knoten gibt

• Prüfe alle Knoten im Halbkreis durch?

• Problem: Wieviele Punkte können im Halbkreis liegen?

P

Page 39: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Laufzeitanalyse

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

Page 40: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Laufzeitanalyse

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

O(n log n)

Page 41: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Laufzeitanalyse

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

O(n log n)

O(n) Durchläufe

Page 42: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Laufzeitanalyse

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

O(n log n)

O(n) Durchläufe

O(1)

Page 43: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Laufzeitanalyse

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

O(n log n)

O(n) Durchläufe

O(1)O(1)

Page 44: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Laufzeitanalyse

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

O(n log n)

O(n) Durchläufe

O(1)O(1) Überprüfe alle Punkte im Halbkreis

um P auf ihren Abstand zu P;zeige: im Halbkreis max. 4 Punkte.

⇒ O(1)

Page 45: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Laufzeitanalyse

Q:=Liste von Haltepunkten nach x-Koordinate sortiert;L:=∅; {L: Lösungsmenge}

while Q≠∅ dobegin q:=first(Q); Q:=rest(Q); update(L,q)end.

O(n log n)

O(n) Durchläufe

O(1)O(1) Überprüfe alle Punkte im Halbkreis

um P auf ihren Abstand zu P;zeige: im Halbkreis max. 4 Punkte.

⇒ O(1)

Insgesamt:O(n log n)

Page 46: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Halbkreisanalyse

d

d

P

Halbkreisanfragen sind aufwendig. Daher:Erweitere den Halbkreis mit Radius d

auf ein Rechteck mit Kantenlängen d und 2d.Zeige: Rechteck enthält max. 10 Punkte.

Page 47: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Halbkreisanalyse

d

d

P

Halbkreisanfragen sind aufwendig. Daher:Erweitere den Halbkreis mit Radius d

auf ein Rechteck mit Kantenlängen d und 2d.Zeige: Rechteck enthält max. 10 Punkte.

Page 48: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Halbkreisanalyse

d P

Halbkreisanfragen sind aufwendig. Daher:Erweitere den Halbkreis mit Radius d

auf ein Rechteck mit Kantenlängen d und 2d.Zeige: Rechteck enthält max. 10 Punkte.

Page 49: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Halbkreisanalyse

d P

d

Halbkreisanfragen sind aufwendig. Daher:Erweitere den Halbkreis mit Radius d

auf ein Rechteck mit Kantenlängen d und 2d.Zeige: Rechteck enthält max. 10 Punkte.

Page 50: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Halbkreisanalyse

d P

d

2d

Halbkreisanfragen sind aufwendig. Daher:Erweitere den Halbkreis mit Radius d

auf ein Rechteck mit Kantenlängen d und 2d.Zeige: Rechteck enthält max. 10 Punkte.

Page 51: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Halbkreisanalyse

d P

d

2d

Page 52: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Halbkreisanalyse

d P

d

2d

Anfrage an Rechteck: Vergleiche nur x- und y-Koordinaten der

Punkte mit denen von P.

Page 53: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Lemma

Lemma:

Sei d>0 und S eine Menge von Punkten in der Ebene, die paarweise Abstand ≥d besitzen. Dann enthält ein Rechteck mit Kantenlängen d und 2d höchstens 10 Punkte aus S.

Page 54: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Lemmabeweis

Beweis:

Nach Voraussetzung sind die offenen Kreise um p∈S mit Radius d/2 paarweise disjunkt.

Liegt p in einem Rechteck R mit Kantenlänge d und 2d, so ist mindestens 1/4 der offenen Kreisscheibe in R enthalten. Durch Flächenberechnung ergibt sich, daß R höchstens

--------------------- = --------------- = ----- <11

viele Punkte von S enthalten kann.

Fläche(R)Fläche(Viertelkreis)

2d2

(1/4)π(d/2)2

32π

Page 55: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Ergebnis

• Ergebnis:

• update(L,q) bei Hinzunahme eines neuen Punkts benötigt O(1) Zeit (bei geeigneter Implementierung).

• Gesamtalgorithmus: O(n log n) Zeit.

Page 57: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

Page 58: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 59: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 60: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 61: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 62: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 63: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 64: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 65: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 66: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

Page 67: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

aktuell

Page 68: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

aktuelllinks

Page 69: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

aktuelllinks

Page 70: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

d P

x_Array

aktuelllinks

Page 71: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

P

x_Array

aktuelllinks

Page 72: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

P

x_Array

aktuelllinks

Prüfe y-Koordinaten aller Punkte

zwischen links und aktuell-1, ob sie in das Rechteck P.y±d

fallen

Page 73: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Implementierung

• Anlegen einer Datenstruktur Y für die Punkte zwischen “links” und “aktuell”, sortiert nach y-Koordinate

• Datenstruktur wird dynamisch immer wieder mit den relevanten Punkten bestückt

• effizientes Einfügen, Löschen erforderlich

• effiziente Bereichssuche (range query) der Art: liefere alle Punkte P mit

x_array[aktuell].y-d ≤ P.y ≤ x_array[aktuell].y+d

• Implementierung von Y: z.B. als AVL-Baum mit linearer Verkettung der Knoten (|Y|≤10)

Page 74: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Algorithmus

Initialisierung:

Sortiere Punkte aufsteigend nach x-Koordinate in x_Array;

füge P1, P2 in Y ein;

d:=d(P1, P2);

links:=1; aktuell:=3;

Page 75: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Algorithmus

Schleife:while aktuell≤n do if x_array[links].x+d≤x_array[aktuell].x then entferne Punkt x_array[links] aus Y; links:=links+1 else füge Punkt x_array[aktuell] in Y ein; aktuell:=aktuell+1; d:=Min_d(Y,x_array[aktuell],d)

write(d).

Page 76: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKürzeste Abstände - Algorithmus

Schleife:while aktuell≤n do if x_array[links].x+d≤x_array[aktuell].x then entferne Punkt x_array[links] aus Y; links:=links+1 else füge Punkt x_array[aktuell] in Y ein; aktuell:=aktuell+1; d:=Min_d(Y,x_array[aktuell],d)

write(d). range query mit Laufzeit O(log n)

Page 77: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Problemstellung

• Gegeben: n Punkte im d-dimensionalen Raum (hier nur d=2)

• Gesucht: kleinste konvexe Hülle, die alle Punkte enthält (Ausgabe der zur Hülle gehörenden Punkte im Uhrzeigersinn)

• Eselbrücke: kürzester Zaun um Goldminen

Page 78: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Beispiel

Page 79: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Beispiel

Page 80: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Beispiel

Page 81: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Konvexität

DefinitionEine Menge M⊆IRn heißt konvex, wenn mit je zwei Punkten x,y∈M die gesamte Strecke von x nach y in M liegt.

Page 82: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Konvexität

DefinitionEine Menge M⊆IRn heißt konvex, wenn mit je zwei Punkten x,y∈M die gesamte Strecke von x nach y in M liegt.

konvex nichtkonvex

Page 83: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Konvexität

Definition

Die konvexe Hülle einer Menge M⊆IRn ist die kleinste konvexe Menge, die M enthält.

Page 84: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Lösungsidee

• Divide-and-conquer-Verfahren

• Divide: Teile Punkteschar in zwei etwa gleichgroße Teile

• Bestimme konvexe Hülle für jede Teilpunktemenge

• Conquer: Verschmelze beide konvexen Hüllen zu einer einzigen für die Gesamtpunktemenge

Page 85: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Divide

Page 86: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Divide

Page 87: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Teillösungen

Page 88: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Teillösungen

Page 89: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Teillösungen

Page 90: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Page 91: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Page 92: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Page 93: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Page 94: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Page 95: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Algorithmus

var P: "nach x-Koordinate aufsteigend sortierte Folge von Punkten (p1,...,pn)"; k: integer;if |P|≤3 then "Berechne konvexe Hülle H von P auf direkte Weise"else k:=⎣|P|/2⎦;

P1:= (p1,...,pk); P2:= (pk+1,...,pn); "Wende Verfahren rekursiv auf P1 und P2 an und erhalte zwei konvexe Hüllen H1 und H2"; "Verbinde H1 und H2 und erhalte die gesuchte konvexe Hülle H von P".

Page 96: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Algorithmus

var P: "nach x-Koordinate aufsteigend sortierte Folge von Punkten (p1,...,pn)"; k: integer;if |P|≤3 then "Berechne konvexe Hülle H von P auf direkte Weise"else k:=⎣|P|/2⎦;

P1:= (p1,...,pk); P2:= (pk+1,...,pn); "Wende Verfahren rekursiv auf P1 und P2 an und erhalte zwei konvexe Hüllen H1 und H2"; "Verbinde H1 und H2 und erhalte die gesuchte konvexe Hülle H von P".

schwierigsterTeil

Page 97: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Page 98: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Brücke b1

Page 99: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Brücke b1

Brücke b2

Page 100: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Brücke b1

Brücke b2

pk

rechtester Punktder linken Hülle pk

Page 101: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Brücke b1

Brücke b2

pk

rechtester Punktder linken Hülle pk

pk+1

linkester Punktder rechten Hülle pk+1

Page 102: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Brücke b1

Brücke b2

pk

rechtester Punktder linken Hülle pk

pk+1

linkester Punktder rechten Hülle pk+1

Page 103: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

Brücke b1

Brücke b2

pk

rechtester Punktder linken Hülle pk

pk+1

linkester Punktder rechten Hülle pk+1

s

Page 104: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Bestimmung Brücke b1

u:=pk; v:=pk+1; s:=Strecke uv;while "der auf u gegen den Uhrzeigersinn in der linken Hülle folgende Punkt u' oder der auf v im Uhrzeigersinn in der rechten Hülle folgende Punkt v' liegen oberhalb von s" do if "die while-Bedingung trifft auf u zu" then u:=u' else v:=v'.

Analog für b2

Page 105: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 106: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 107: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 108: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 109: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 110: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 111: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 112: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 113: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 114: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 115: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 116: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 117: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 118: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 119: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Conquer

pk

pk+1

s

Page 120: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - Laufzeit

• Man zeigt für die Laufzeit T leicht:

T(n)=2T(n/2)+O(n)

T(3)=1

• Lösung: T(n)=O(n log n)

Page 121: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - untere Schranke

• Geht es noch effizienter als O(n log n)? NEIN!

• Zeige:

• Ein Algorithmus zur Bestimmung der konvexen Hülle ist zugleich ein Algorithmus zum Sortieren.

• Könnte man die konvexe Hülle für n Punkte also schneller bestimmen als O(n log n), so könnte man schneller sortieren als O(n log n). Widerspruch!!

• Man reduziert das Sortierproblem auf das Problem der konvexen Hülle (Reduktion).

Page 122: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - untere Schranke

Satz

Ein Algorithmus zur Bestimmung der konvexen Hülle von n Punkten in der Ebene benötigt mindestens O(n log n) Vergleiche.

Page 123: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - untere Schranke

Beweisskizze

Wähle beliebige zu sortierende Zahlen x1,...,xn∈IR.

Betrachte die Punkte (x1,x12),...,(xn,xn2) und bestimme ihre konvexe Hülle.

Offenbar gehören alle Punkte (xi,xi2) zur konvexen Hülle.

Page 124: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - untere Schranke

Beweisskizze (Forts.)

Die Ausgabe des Algorithmus aller Punkte der konvexen Hülle im Uhrzeigersinn ist zugleich eine Sortierung der Zahlen x1,...,xn, wenn man die zweite Koordinate streicht.

Page 125: Kapitel 9 Algorithm. Geometrie - ddi.cs.uni-potsdam.deddi.cs.uni-potsdam.de/Lehre/GdP2/Folien/Kapitel9-2006.pdf · Algorithmische Geometrie Kürzeste Abstände - Lemmabeweis Beweis:

Algorithmische GeometrieKonvexe Hülle - untere Schranke

Beweisskizze (Forts.)

Ein Algorithmus zur Bestimmung der konvexen Hülle von n Punkten ist also zugleich ein Algorithmus zum Sortieren von n reellen Zahlen.

Folglich ist die untere Schranke für Sortieren zugleich untere Schranke für das Problem der konvexen Hülle.