Distanzprobleme in der Ebene

Ähnliche Dokumente
Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

8 Diskrete Optimierung

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

Seminarvortag zum Thema Virtual Private Network Design im Rahmen des Seminars Network Design an der Universität Paderborn

4 Greedy-Algorithmen (gierige Algorithmen)

Das Briefträgerproblem

Algorithmen und Datenstrukturen (WS 2007/08) 63

Algorithmentheorie Maximale Flüsse

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

WS 2009/10. Diskrete Strukturen

Anmerkungen zur Übergangsprüfung

Optimierung. Optimierung. Vorlesung 7 Lineare Programmierung II Thomas Brox, Fabian Kuhn

Algorithmen II Vorlesung am

Graphen: Datenstrukturen und Algorithmen

WS 2013/14. Diskrete Strukturen

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Kombinatorische Optimierung

SS 2005 FAU Erlangen Eine Wegeplanungs-Strategie. Jeremy Constantin, Michael Horn, Björn Gmeiner

Vorlesung Algorithmische Geometrie. Streckenschnitte. Martin Nöllenburg

Das Falten-und-Schneiden Problem

Über Kommentare und Ergänzungen zu diesen Lösungsbeispielen freuen wir uns!

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

7. Mathematik Olympiade 1. Stufe (Schulolympiade) Klasse 12 Saison 1967/1968 Aufgaben und Lösungen

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

3. Grundlagen der Linearen Programmierung

Codierungstheorie Rudolf Scharlau, SoSe

Modul Diskrete Mathematik WiSe 2011/12

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Vorlesung 3 MINIMALE SPANNBÄUME

Steinerbäume. Seminarausarbeitung Hochschule Aalen Fakultät für Elektronik und Informatik Studiengang Informatik Schwerpunkt Software Engineering

Anwengungen geometrischer Abbildungen Kongruenz- und Ähnlichkeitsabbildung

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

13. Binäre Suchbäume

Zwei Aufgaben, die auf windschiefe Regelflächen führen,

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

Datenstrukturen und Algorithmen SS07

Statistische Untersuchungen zu endlichen Funktionsgraphen

Graphentheorie. Organisatorisches. Organisatorisches. Organisatorisches. Rainer Schrader. 23. Oktober 2007

6. Algorithmen der Computer-Geometrie

Gliederung. Definition Wichtige Aussagen und Sätze Algorithmen zum Finden von Starken Zusammenhangskomponenten

Wie löst man Mathematikaufgaben?

Lineare Programmierung

Integration von Schülerinnen und Schülern mit einer Sehschädigung an Regelschulen

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

Seminararbeit für das SE Reine Mathematik- Graphentheorie

16. All Pairs Shortest Path (ASPS)

Zeichnen von Graphen. graph drawing

Bestimmung einer ersten

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

15 Optimales Kodieren

Frag die Maus. Sascha Kurz Diskrete Geometrie Universität Bayreuth. Frag die Maus. Sascha Kurz.

Algorithmen und Datenstrukturen 2

a' c' Aufgabe: Spiegelung an den Dreiecksseiten und Anti-Steinersche Punkte Darij Grinberg

Algorithmen und Datenstrukturen Bereichsbäume

Lenstras Algorithmus für Faktorisierung

Algorithmen und Datenstrukturen Suchbaum

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Datenstrukturen & Algorithmen

Approximationsalgorithmen

Fully dynamic algorithms for the single source shortest path problem.

Wortproblem für kontextfreie Grammatiken

Grundregeln der Perspektive und ihre elementargeometrische Herleitung

Algorithmen & Datenstrukturen 1. Klausur

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Visualisierung von Scheibenaufbauten in Verglasungseinheiten mit Hilfe der neuen Microsoft.net-Framework 3.0 Technologie

Property Testing in Graphen mit beschränktem Maximalgrad

Komplexitätstheorie Einführung und Überblick (Wiederholung)

3 Quellencodierung. 3.1 Einleitung

Grundlagen der Programmierung 2. Bäume

Pratts Primzahlzertifikate

Expander Graphen und Ihre Anwendungen

Modelle und Statistiken

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Darstellende Geometrie Übungen. Tutorial. Übungsblatt: Perspektive - Rekonstruktion

w a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2

Undirected Single-Source Shortest Paths with Positive Integer Weights in Linear Time

Information Systems Engineering Seminar

Graphentheorie Mathe-Club Klasse 5/6

Codierung, Codes (variabler Länge)

Algorithmen und Datenstrukturen 2

Behörde für Bildung und Sport Abitur 2008 Lehrermaterialien zum Grundkurs Mathematik

Informationsblatt Induktionsbeweis

Literatur zu geometrischen Konstruktionen

Alignment-Verfahren zum Vergleich biologischer Sequenzen

Algorithmische Methoden für schwere Optimierungsprobleme

Nichtmonotones Schließen

( ) als den Punkt mit der gleichen x-koordinate wie A und der

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Beispiel. Bsp.: Betrachte Schlussweise in: (3) folgt aus (1) und (2), siehe z.b. Resolutionsregel. was ist mit folgender Schlußweise:

Periodische Fahrpläne und Kreise in Graphen

Kürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik

Sortierverfahren für Felder (Listen)

OPERATIONS-RESEARCH (OR)

Peer-to-Peer- Netzwerke

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Kap. 4.2: Binäre Suchbäume

Transkript:

Distanzprobleme in der Ebene (Literatur: deberg et al., Kapitel 7,9) Christian Knauer 1 Motivation: Alle nächsten Nachbarn Gegeben: Eine Menge von Punkten P in der Ebene Berechne: Zu jedem Punkt aus P alle seine nächsten Nachbarn 2

Motivation: Minimaler aufspannender Baum Gegeben: Eine Menge von Punkten P in der Ebene Berechne: Einen aufspannenden Baum von P der unter allen aufspannenden Bäumen von P die Summe der Kantenlängen minimiert ( minimaler aufspannender Baum MST) 3 Motivation: Nächster-Nachbar Anfragen Gegeben: Eine Menge von Punkten P in der Ebene Berechne: Eine Datenstruktur, mit der man zu einem Anfragepunkt q?r 2 die Menge N(q) aller Punkte aus P finden kann, die näher an q liegen, als alle Punkte aus P\N(q) (Nächster-Nachbar Anfrage) 4

Motivation: Postamtproblem Gegeben: Eine Menge von n Punkten P={p 1,,p n } in der Ebene Berechne: Die Unterteilung der Ebene in Regionen N 1,,N n, so dass N i = {p?r 2 für alle 1=j=n: d 2 (p,p i )=d 2 (p,p j )} (inkl. einer Datenstruktur, mit der man Punktlokalisierungsanfragen für diese Unterteilung beantworten kann) 5 Definition des Voronoi-Diagramms Def.: Sei P={p 1,,p n }?R 2 eine Menge von Punkten, sowie p,q?r 2 B(p,q) := {x?r 2 d 2 (x,p) = d 2 (x,q)} bezeichnet die Menge der Punkte in der Ebene, die von p und q den gleichen Abstand haben, den Bisektor von p und q N(p,P) := {x?r 2 für alle 1=j=n : d 2 (x,p) = d 2 (x,p j )} bezeichnet die Menge der Punkte in der Ebene, die näher an p als an allen Punkten aus P liegen, die Voronoi-Region von p bezüglich P VD(P) := {x?r 2 es gibt 1=i<j=n: x?n(p i,p) und x?n(p j,p)} bezeichnet die Menge der Punkte in der Ebene, die an mindestens zwei Voronoi-Regionen beteiligt sind, das Voronoi-Diagram von P Voronoi-Knoten: Punkt, der an mindestens drei Voronoi-Regionen beteiligt ist Voronoi-Kante: maximal zusammenhängende Menge von Punkten, die an genau zwei Voronoi-Regionen beteiligt sind 6

Elementare Eigenschaften (n=2) Bem.: B(p,q) ist die Mittelsenkrechte auf der Strecke pq N(p,q) ist die von B(p,q) begrenzte Halbebene B(p,q) = B(q,p) = VD({p,q}) N(p,q) p B(p,q) N(q,p) q 7 Eigenschaften des Voronoi-Diagramms Lemma Voronoi-Regionen sind konvex Voronoi-Kanten sind Strecken oder Strahlen (ohne Endpunkte), deren Endpunkte Voronoi-Knoten sind (Geraden treten genau dann als Voronoi-Kanten auf, wenn alle Punkte aus P auf einer Geraden liegen) Beweisidee N(p,P) = q?p\{p} N(p,q) N(p,q) ist eine Halbebene U 8

Charakterisierung von Punkten Lemma: Betrachte zu einem Punkt x?r 2 einen Kreis C(x) mit dem Mittelpunkt x, dessen Radius (der anfangs Null ist) sich langsam vergrössert. Zu einem gewissen Zeitpunkt wird C(x) zum ersten Mal auf einen (oder mehrere) Punkte aus P treffen. Dabei gilt C(x) trifft zuerst nur auf p?p gdw. x liegt in der Voronoi-Region von p C(x) trifft zuerst nur auf p,q?p gdw. x liegt auf der Voronoi-Kante zwischen den Voronoi-Regionen von p und q C(x) trifft zuerst nur auf p 1,,p k?p mit k>2 gdw. x ist ein Voronoi-Knoten, an den die Voronoi-Regionen von p 1,,p k angrenzen Bew. Übung 9 Komplexität des Voronoi-Diagramms Satz: Voronoi-Knoten + Voronoi-Kanten + Voronoi-Regionen =O(n) Beweis: VD(P) kann als planarer Graph G=(V,E) mit Knotenmenge V={Voronoi-Knoten}?{v 8 } und Kantenmenge E={Voronoi-Kanten} betrachtet werden (v 8 ist ein zusätzlicher, unendlich ferner Knoten, der zu allen unbeschränkten Voronoi-Kanten inzident ist). Die Behauptung folgt dann mit der Euler-Formel. v 8 10

Einschub: Dualität planarer Graphen Def. Sei G ein planarer Graph. Der duale Graph G* hat als Knoten die Facetten von G und für jede Kante e von G die zwei Facetten f und g trennt gibt es in G* eine Kante e* zwischen den Knoten f* und g*. G G* 11 Eigenschaften der Dualität Satz (ohne Beweis). Für einen zusammenhängenden, planaren Graphen G gilt: G* ist planarund zusammenhängend G** ist isomorph zu G 12

Definition der Delaunay-Triangulierung Def.: Sei P?R 2 eine Menge von Punkten DT(P) := VD(P)* bezeichnet den dualen Graphen des Voronoi- Diagramms von P, die Delaunay-Triangulierung von P Bem.: DT(P) hat eine natürliche planare Einbettung: die Einbettung einer Ecke v=n(p,p) von DT(P) - also einer Voronoi-Region von VD(P) - ist der Punkt p die Einbettung einer Kante e={u,v} von DT(P) ist die Verbindungsstrecke zwischen den Einbettungen von u und v 13 Triangulierungen von Punktmengen Def.: Eine Triangulierung einer Menge von Punkten P?R 2 ist ein planarer Graph mit den Punkten von P als Knoten, bei dem die innere Facetten alle Dreiecke sind, und dessen äussere Facette von den Kanten der konvexen Hülle von P beschränkt wird Bem.: Eine planarer Graph G mit den Punkten von P als Knoten ist genau dann eine Triangulierug von P, wenn keine Kante in G eingefügt werden kann, ohne die Planarität von G zu zerstören ( maximal planarer Graph ) Bem.: DT(P) ist eine Triangulierung von P gdw. es in P nicht mehr als drei Punkte gibt, die auf einem leeren Kreis liegen ( allgemeine Lage ) 14

Delaunay Voronoi Lemma: Sei P?R 2 eine Menge von n Punkten. Dann sind VD(P) und DT(P) in O(n) Zeit auseinander konstruierbar. Beweis: Übung 15 Anwendungen der Delaunay-Triangulierung Lemma.: Sei P?R 2 eine Menge von Punkten und p,q?p. Falls der Kreis (inklusive Rand) mit pq als Durchmesser keine weiteren Punkte von P enthält, dann ist pq eine Kante von DT(P). Bew.: Sei m der Mittelpunkt des leeren Kreises C(m) mit pq als Durchmesser. Aus obiger Charakterisierung von Punkten bezüglich des Voronoi-Diagramms folgt, dass m auf der Voronoi-Kante zwischen den Voronoi-Regionen von p und q liegt, also p und q in DT(P) durch eine Kante verbunden werden. 16

Anwendung: Alle nächsten Nachbarn Satz.: Sei P?R 2 eine Menge von Punkten. Jeder Punkt aus P ist mit seinen nächsten Nachbarn in DT(P) durch eine Kante verbunden. Bew.: Sei p?p und q ein nächster Nachbar von p der in DT(P) nicht mit p verbunden ist. Betrachten wir den Kreis C mit Durchmesser pq. Nach obigem Lemma liegt auf dem Rand oder im Inneren von C mindestens ein Punkt r. Damit ist d 2 (p,r) < d 2 (p,q), also q kein nächster Nachbar von p, im Widerspruch zur Annahme. p r C q 17 Anwendung: Alle nächsten Nachbarn Satz: Kennt man die Delaunay-Triangulierung DT(P) einer Menge von n Punkten P in der Ebene, dann kann man in O(n) Zeit für jeden Punkt aus P alle seine nächsten Nachbarn berechnen. Bew.: Um zu p?p alle seine nächsten Nachbarn zu finden, genügt es nach dem Lemma, die Nachbarn von p in DT(P) zu betrachten. Die Anzahl der insgesamt berechneten Abstände ist somit O(n). 18

Anwendung: Minimaler aufspannender Baum Satz.: Sei P?R 2 eine Menge von Punkten. Die Kanten jedes minimalen aufspannenden Baumes (MST) von P sind Kanten in DT(P). Bew.: Angenommen, e={p,q} ist eine Kante in einem MST S von P, die nicht in DT(P) ist. Nach dem Lemma liegt auf dem Rand oder im Inneren des Kreises C mit Durchmesser pq ein Punkt r, für den damit max(d 2 (p,r), d 2 (q,r)) < d 2 (p,q). Wird e aus S entfernt, so entstehen zwei Bäume T, U die zusammen P aufspannen. Falls r?u (r?t), entsteht durch einfügen der Kante pr (qr) ein aufspannender Baum S mit S < S, im Widerspruch zur Minimalität von S. T p C e r q U 19 Anwendung: Minimaler aufspannender Baum Satz: Kennt man die Delaunay-Triangulierung DT(P) einer Menge von n Punkten P in der Ebene, kann man in O(n log n) Zeit einen minimalen aufspannenden Baum von P berechnen. Bew.: Die Laufzeit des Algorithmus von Prim angewendet auf die Delaunay-Triangulierung DT(P) ist O(n log n). 20

Berechnung des Voronoi-Diagramms Gegeben: Eine Menge von n Punkten P in der Ebene Berechne: Das Voronoi-Diagramm VD(P) (als ebene Unterteilung oder planaren Graphen) Eine Datenstruktur, die effizient Punktlokalisierungsanfragen in VD(P) beantworten kann 21 Berechnung der Delaunay-Triangulierung Gegeben: Eine Menge von n Punkten P in der Ebene Berechne: Die Delaunay-Triangulierung DT(P) (als ebene Unterteilung) Eine Datenstruktur, die effizient Punktlokalisierungsanfragen in DT(P) beantworten kann 22

Untere Schranken Lemma: Die Voronoi-Region eines Punktes p?p ist genau dann unbeschränkt, wenn p auf dem Rand der konvexen Hülle von P liegt. Beweis: Übung Folgerung: aus VD(P) kann in O(n) Zeit die konvexe Hülle von P konstruiert werden jeder vergleichsbasierte Algorithmus zur Berechnung von VD(P) benötigt? (n log n) Schritte aus DT(P) kann in O(n) Zeit VD(P) konstruiert jeder vergleichsbasierte Algorithmus zur Berechnung von DT(P) benötigt? (n log n) Schritte 23 Charakterisierung von Delaunay-Dreiecken Lemma: Seien p,q,r?p und? das von diesen drei Punkten aufgespannte Dreieck. Dann sind folgende Aussagen äquivalent: 1) Das Dreieck? gehört zu DT(P) ( ist ein Delaunay-Dreieck ) 2) Der Umkreismittelpunkt von? ist ein Knoten von VD(P) 3) Der Umkreis von? enthält keinen Punkt von P Beweis : (2) (3): vgl. Charakterisierung von Punkten im Voronoi- Diagramm 24

Charakterisierung von Delaunay-Dreiecken Beweis: (1) (3): <= Falls der Umkreis von? leer ist, so ist der Um-kreismittelpunkt m von? ein Knoten von VD(P) (wg. der Äquivalenz (2) (3)). m ist der Schnittpunkt der Bisektoren von pq,qr,pr (Mittelsenkrechten), so dass in einer Umgebung von m diese Bisektoren als Voronoi-Kanten in VD(P) existieren. Damit gehört? zu DT(P). => Angenommen im Umkreis C von? gibt es einen weiteren Punkt s?p. Falls s??, dann gehört? nicht zu DT(P). Falls s?c\? (o.b.d.a.) zwischen p und q liegt, dann ist jedes x?b(p,q) entweder näher zu s als zu p und q, oder näher zu r als zu p und q. Damit gibt es keine Voronoi-Kante zwischen den Voronoi-Regionen von p und q und die Kante pq (und damit?) gehört nicht zu DT(P) p r s q C B(p,q) 25 Charakterisierung Delaunay-Triangulierung 1 Lemma: Sei T eine Triangulierung einer Menge von n Punkten P in der Ebene. Dann ist T=DT(P) gdw. der Umkreis jedes Dreiecks aus T leer ist. Bew.: Folgt unmittelbar aus der Charakterisierung von Delaunay-Dreiecken. 26

Lokal zulässige Dreiecke Def.: Sei T eine Triangulierung einer Menge von n Punkten P in der Ebene. Ein Dreieck? von T heisst lokal zulässig, falls die Ecken der zu? benachbarten Dreiecke nicht im Umkreis von? liegen. T heisst lokal zulässig, wenn in T alle Dreiecke lokal zulässig sind. 27 Charakterisierung Delaunay-Triangulierung 2 Lemma (ohne Beweis): Sei T eine Triangulierung einer Menge von n Punkten P in der Ebene. T=DT(P) gdw. T lokal zulässig ist. T=DT(P) gdw. T den kleinsten Innenwinkel maximiert. 28

Lokal zulässige Vierecke Def.: Sei T eine Triangulierung einer Menge von Punkten P in der Ebene. Ein Viereck? von P ist ein Paar von benachbarten Dreiecken?=?(p,q,r) und?*=?(p,q,s) von P (p,q,r,s?p). Das Viereck? heisst lokal zulässig, wenn s nicht im Umkreis von? liegt (und damit r nicht im Umkreis von?* liegt) 29 Charakterisierung Delaunay-Triangulierung 3 Lemma: Sei T eine Triangulierung einer Menge von n Punkten P in der Ebene. Dann ist T=DT(P) gdw. jedes Viereck in T lokal zulässig ist. Bew.: Sei? ein Dreieck von T.? bildet zusammen mit allen benachbarten Dreiecken?* lokal zulässige Vierecke. Damit ist auch? lokal zulässig und T=DT(P). 30

Lawson-Flip Def.: Sei T eine Triangulierung einer Menge von Punkten in der Ebene und? ein lokal unzulässiges Dreieck von T. Sei?* ein zu? benachbartes Dreieck, dessen Ecke nicht im Umkreis von? liegt. Die Operation, bei der wir in dem von? und?* gebildetem konvexen Viereck? die gemeinsame Kante e von? und?* durch die andere Diagonale von? ersetzen heisst Lawson-Flip in?.??? e? * 31 Eigenschaften des Lawson-Flip Lemma: Sei T eine Triangulierung einer Menge von Punkten in der Ebene und? ein lokal unzulässiges konvexes Viereck in T. Nach einem Lawson-Flip in? ist dieses Viereck lokal zulässig. Beweis: Übung 32

Algorithmus zur Berechnung von DT(P) Eingabe: eine Triangulierung T einer Menge P von n Punkten in der Ebene Ausgabe: die Delaunay-Triangulierung DT(P) von P while T enthält ein lokal unzulässiges konvexes Viereck? do führe den Lawson-Flip in? durch Bem.: Man kann zeigen, dass eine geflippte Kante nie wieder erscheint. Daher ist die Delaunay-Triangulierung nach O(n 2 ) Lawson-Flips erreicht. Man kann je zwei Triangulierungen T, T* durch O(n 2 ) Lawson-Flips ineinander überführen 33