Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Voronoi-Diagramme
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Voronoi-Diagramm: Motivation Welcher Löwe fängt die Gazelle?
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Voronoi-Diagramm: Motivation Welcher Löwe fängt die Gazelle?
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Voronoi-Diagramm: Motivation Welcher Löwe fängt die Gazelle?
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Zu Beginn eine interaktive Animation Quelle: Fern Universität Hagen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung 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
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung 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
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung 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
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Voronoi-Regionen (Polygone) beschränkte Voronoi- Regionen unbeschränkte Voronoi- Regionen Übung: Die Konvexe Hülle ver- bindet die unbeschränkten Voronoi-Regionen Übung: Jede Voroni-Region ist konvex!
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Konstruktion des Voronoi-Diagramms „Divide and Conquer“ 1.Input: Gegeben ist eine Menge P von mindestens 2 Punkten 2.Divide: Zerlege P in zwei etwa gleich große Teilmengen P 1 und P 2 3.Rekursiv: Berechne Voronoi-Diagramme von P 1 und P 2 4.Merge: Verknüpfe die beiden in Schritt 3 gebildeten Diagramme 5.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 mal O(n * log n) wenn „Divide“ and „Merge“ nicht mehr als n Schritte benötigen,
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung 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
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung P1P1 P2P2 Aufteilung der Menge P in P 1 und P 2 P
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Voronoi-Diagramm von P 1
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Voronoi-Diagramm von P 2
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Was ist das schwierigste Teilproblem? - Merge
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung 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
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Tangente
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Tangente – konvexe Hülle
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Konvexe Hülle
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Mittelsenkrechte bilden
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Aktive Voronoi-Diagramme Schnittpunkte mit Seg- menten suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Aktive Voronoi-Diagramme Schnittpunkte mit Seg- menten suchen Neues aktives VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Aktive Voronoi-Diagramme Schnittpunkte mit Seg- menten suchen Neues aktives VD Mittelsenkrechte zuwischen den aktiven VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Schnittpunkte suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Schnittpunkte suchen Neues aktives VD suchen Mittelsenkrechte der aktiven VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Schnittpunkte suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Schnittpunkte suchen Neues aktives VD suchen Mittelsenkrechte der aktiven VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen Mittelsenkrechte der aktiven VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen Mittelsenkrechte der aktiven VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen Mittelsenkrechte der aktiven VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen Mittelsenkrechte der aktiven VD
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung Nächsten relevanten Schnittpunkte suchen Neues aktives VD suchen Verknüpfung mit der Mittel- senkrechten vom Anfang
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Vereinigung
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Löschen der überflüssigen Segmente
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Löschen der überflüssigen Segmente
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Ergebnis: Voronoi-Diagramm von P
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Datenstruktur für Voronoi-Diagramm Doppelt verkettete Kantenliste Durchlaufen des Kantenumrings in linearer Zeit Direkter Zugriff auf die benachbarten Maschen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Kosten wie lange dauert die Konstruktion des trennenden Kantenzuges? Zahl der Teilkanten / Knoten des Kantenzuges Zahl Berechnungen von Schnittpunkten mit den benachbarten Voronoi-Regionen
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Länge des Kantenzuges im Worst Case O(n)
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung Größenordnung des Kanten-Umrings im worst case O(n)
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung O(n) * O(n) = O(n 2 ) ? Voronoi- Regionen sind konvex Kantenzug ist monoton war jetzt alles umsonst?
Lutz Plümer - Diskrete Mathematik II - SS Vorlesung O(n) * O(n) = O(n 2 ) ? Voronoi- Regionen sind konvex Kantenzug ist monoton Keine Kante öfter als zwei mal anfassen!
„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! Lutz Plümer - Diskrete Mathematik II - SS Vorlesung