54
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 7 SS 2001 Voronoi-Diagramme, onstruktion der Voronoi-Diagramme

Diskrete Mathematik II

  • Upload
    murray

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

Diskrete Mathematik II. Vorlesung 7 SS 2001. Voronoi-Diagramme, Konstruktion der Voronoi-Diagramme I. Übersicht I. Voronoi-Diagramm: Motivation Zu Beginn eine interaktive Animation Voronoi-Diagramm Anwendungen Konvexe Menge, konvexe Hülle Voronoi-Regionen (Polygone) - PowerPoint PPT Presentation

Citation preview

Page 1: Diskrete Mathematik II

Institut für Kartographie und GeoinformationProf. Dr. Lutz Plümer

Diskrete Mathematik IIVorlesung 7

SS 2001

Voronoi-Diagramme,Konstruktion der Voronoi-Diagramme I

Page 2: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 2

Übersicht I

• Voronoi-Diagramm: Motivation• Zu Beginn eine interaktive Animation• Voronoi-Diagramm• Anwendungen• Konvexe Menge, konvexe Hülle• Voronoi-Regionen (Polygone)• Konstruktion des Voronoi-Diagramms• Was ist der schwierigste Teilschritt?• Aufteilung der Menge P in P1 und P2

• Voronoi-Diagramm von P1

• Voronoi-Diagramm von P2

• Was ist das schwierigste Teilproblem? - Merge• Konstruktion des trennenden Kantenzuges

Page 3: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 3

Übersicht I

• Tangente• Tangente – konvexe Hülle• Konvexe Hülle• Vereinigung• Löschen der überflüssigen Segmente• Ergebnis: Voronoi-Diagramm von P• Datenstruktur für Voronoi-Diagramm• Kosten• Länge des Kantenzuges im Worst Case• Größenordnung des Kanten-Umrings im worst case• O(n) * O(n) = O(n2) ?• „Investitionen müssen sich amortisieren“

Page 4: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 4

Voronoi-Diagramm: Motivation

Welcher Löwe fängt die Gazelle?

Page 5: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 5

Voronoi-Diagramm: Motivation

Welcher Löwe fängt die Gazelle?

Page 6: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 6

Voronoi-Diagramm: Motivation

Welcher Löwe fängt die Gazelle?

Page 7: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 7

Zu Beginn eine interaktive Animation

Quelle: Fern Universität Hagenhttp://wwwpi6.fernuni-hagen.de/Geometrie-Labor/VoroGlide/

Page 8: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 8

Voronoi-Diagramm

• Gegeben ist eine Menge von n Punkten• Das Voronoi-Diagramm zerlegt die Ebene in

Gebiete gleicher nächster Nachbarn• Die Voronoi-Region eines Punktes p enthält alle

Punkte q, die näher an p als an jedem anderen Punkt p‘ liegen

• Das Voronoi-Diagramm wird gebildet aus den Voronoi-Regionen und ihren begrenzenden Voronoi-Knoten und –Kanten

Page 9: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 9

Anwendungen

• Kollisionsproblem: welche 2 Punkte haben den kleinsten Abstand (Roboter, Flugzeuge, ...)

• Das Filialenschließungsproblem: welches Paar von Filialen macht sich gegenseitig die größte Konkurrenz ...

• Postamts-Problem: wo liegt das nächste Postamt (Krankenhaus, ...)

• Einzugs- und Einflussgebiete von Versorgungsstationen (und ihre Größe)

• Bewertung von Standorten• Biologie• Archäologie

Page 10: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 10

Konvexe Menge, konvexe Hülle

• Eine Menge P von Punkten ist konvex, wenn zu jedem Punktepaar p und q auch die verbindende Strecke pq ganz in P enthalten ist

• Die konvexe Hülle CH(P) einer Punktemenge P ist die kleinste konvexe Menge, die alle Punkte aus P enthält

Page 11: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 11

Voronoi-Regionen (Polygone)

beschränkte Voronoi-Regionen

unbeschränkte Voronoi-Regionen

Übung:Die Konvexe Hülle ver-bindet die unbeschränktenVoronoi-RegionenÜbung:

Jede Voroni-Region ist konvex!

Page 12: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 12

Konstruktion des Voronoi-Diagramms

„Divide and Conquer“1. Input: Gegeben ist eine Menge P von mindestens 2 Punkten2. Divide: Zerlege P in zwei etwa gleich große Teilmengen P1 und P2

3. Rekursiv: Berechne Voronoi-Diagramme von P1 und P2

4. Merge: Verknüpfe die beiden in Schritt 3 gebildeten Diagramme5. Halt: Der Abschluß ist erreicht, wenn das Voronoi-Diagramm eines

Punktes zu bilden ist; dies ist die ganze Ebene

Wie oft ist dieser Zyklus zu durchlaufen?log n malO(n * log n)

wenn „Divide“ and „Merge“ nicht mehr als n Schritte benötigen,

Page 13: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 13

Was ist der schwierigste Teilschritt?

• Zerlegung der Punktmenge in gleich große Teilmengen– Sortieren nach y-Koordinate– Bilden des Medians– Einfach

• Offenbar der letzte Schritt: „Merge“: Konstruktion des trennenden Kantenzuges

• Einfachster Fall von Merge: jede der beiden Teilmengen enthält genau einen Punkt;der trennende Kantenzug ist die Mittelsenkrechte beider Punkte

Page 14: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 14

P1P2

Aufteilung der Menge P in P1 und P2

P

Page 15: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 15

Voronoi-Diagramm von P1

Page 16: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 16

Voronoi-Diagramm von P2

Page 17: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 17

Was ist das schwierigste Teilproblem? - Merge

Page 18: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 18

Konstruktion des trennenden Kantenzuges

Was wissen wir über den trennenden Kantenzug?• monoton in Nord-Süd-Richtung• jede Kante ist Grenze (Mittelsenkrechte) zwischen

einer roten und einer grünen Region• Problem: sukzessive Identifikation der

benachbarten roten und grünen Punkte• die nördlichsten und südlichsten Teilstücke sind

unbeschränkt, also Halbgeraden • die benachbarten roten und grünen Punkte bilden

dort unbeschränkte Voronoi-Regionen• sie liegen also jeweils auf der roten bzw. grünen

konvexen Hülle• beginnen wir also mit den beiden Tangenten

Page 19: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 19

Tangente

Page 20: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 20

Tangente – konvexe Hülle

Page 21: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 21

Konvexe Hülle

Page 22: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 22

Vereinigung

Mittelsenkrechte bilden

Page 23: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 23

Vereinigung

Page 24: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 24

Vereinigung

Aktive Voronoi-Diagramme

Schnittpunkte mit Seg-menten suchen

Page 25: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 25

Vereinigung

Aktive Voronoi-Diagramme

Schnittpunkte mit Seg-menten suchen

Neues aktives VD

Page 26: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 26

Vereinigung

Aktive Voronoi-Diagramme

Schnittpunkte mit Seg-menten suchen

Neues aktives VDMittelsenkrechte zuwischenden aktiven VD

Page 27: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 27

Vereinigung

Schnittpunkte suchen

Page 28: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 28

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Page 29: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 29

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Page 30: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 30

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Page 31: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 31

Vereinigung

Schnittpunkte suchen

Page 32: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 32

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Page 33: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 33

Vereinigung

Schnittpunkte suchen

Neues aktives VD suchen

Mittelsenkrechte deraktiven VD

Page 34: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 34

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Page 35: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 35

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Mittelsenkrechte deraktiven VD

Page 36: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 36

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Page 37: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 37

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Mittelsenkrechte deraktiven VD

Page 38: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 38

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Page 39: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 39

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Mittelsenkrechte deraktiven VD

Page 40: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 40

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Page 41: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 41

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Mittelsenkrechte deraktiven VD

Page 42: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 42

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Page 43: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 43

Vereinigung

Nächsten relevanten Schnittpunkte suchenNeues aktives VD suchen

Verknüpfung mit der Mittel-senkrechten vom Anfang

Page 44: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 44

Vereinigung

Page 45: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 45

Löschen der überflüssigen Segmente

Page 46: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 46

Löschen der überflüssigen Segmente

Page 47: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 47

Ergebnis: Voronoi-Diagramm von P

Page 48: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 48

Datenstruktur für Voronoi-Diagramm

• Doppelt verkettete Kantenliste• Durchlaufen des Kantenumrings in linearer Zeit• Direkter Zugriff auf die benachbarten Maschen

Page 49: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 49

Kosten

• wie lange dauert die Konstruktion des trennenden Kantenzuges?

• Zahl der Teilkanten / Knoten des Kantenzuges• Zahl Berechnungen von Schnittpunkten mit den

benachbarten Voronoi-Regionen

Page 50: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 50

O(n)

Länge des Kantenzuges im Worst Case

Page 51: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 51

Größenordnung des Kanten-Umrings im worst case

O(n)

Page 52: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 52

O(n) * O(n) = O(n2) ?

Voronoi-Regionen sind konvex

Kantenzug ist monoton

war jetzt alles umsonst?

Page 53: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 53

O(n) * O(n) = O(n2) ?

Voronoi-Regionen sind konvex

Kantenzug ist monoton

Keine Kante öfter als zwei mal anfassen!

Page 54: Diskrete Mathematik II

Lutz Plümer - Diskrete Mathematik - 2. Semester - SS 2001 - Vorlesung 7 54

„Investitionen müssen sich amortisieren“

• Ziel: keine Kante mehr als zwei mal „anfassen“• Es gibt insgesamt höchstens 3* n – 6 Kanten O(n)• Konvexität der Voronoi-Regionen höchstens

zwei Schnittpunkte mit der aktiven Halbgeraden• Es genügt, die linken (grünen) Kantenumringe im

Uhrzeigersinn und die rechten (roten) Kantenumringe gegen den Uhrzeigersinn zu durchlaufen und den zuletzt gefundenen und verworfenen Schnittpunkt als Haltepunkt zu merken!