RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I

Ähnliche Dokumente
Es sei P ein einfaches Polygon in der Ebene; P habe n Ecken. Hilfssatz: Zu jedem einfachen Polygon mit mehr als 3 Ecken existiert eine Diagonale.

Vorlesung Geometrische Algorithmen Generierung von Nicht-uniformen Netzen Sven Schuierer

Durchschnitte und Sichtbarkeit

Distanzprobleme in der Ebene

Unendliche Graphen. Daniel Perz 24. Dezember Definition 1. Ein Graph G heißt lokal endlich, wenn alle Knotengrade endlich sind.

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Die. Ramsey-Zahlen

Voronoi Diagrams, Delaunay Triangulations and Alpha Shapes Nils Kubera (6kubera)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

KARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14

Übungsaufgaben Graphentheorie, Wintersemester 2011/12

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

WS 2013/14. Diskrete Strukturen

Übung zur Vorlesung Diskrete Strukturen I

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Grundbegriffe der Informatik

2.4. Triangulierung von Polygonen

Übersicht. Begriffserklärung Motivation / Anwendungen Drei Algorithmen Zusammenfassung Fragen Quellen. Triangulierung von Steffen Ernst 2

Bemerkung: Der vollständige Graph K n hat n(n 1)

Vorlesung Algorithmische Geometrie Konvexe Hülle in R 3

Geometrie 2. Julian Fischer Julian Fischer Geometrie / 30

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Grundbegriffe der Informatik

Delaunay-Triangulierungen

Algorithmische Geometrie: Delaunay Triangulierung (Teil 2)

Ausleuchtung/Überwachung von polygonalen Flächen

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Algorithmische Graphentheorie

Triangulierungen von Punktmengen und Polyedern

PROJEKT / SEMINAR DIGITALE FABRIKATION DI

Übung zur Vorlesung Diskrete Strukturen I

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Fortgeschrittene Netzwerk- und Graph-Algorithmen

F R A N Z I S K A K U H L S 3 0. N O V E M B E R.

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Bäume und Wälder. Definition 1

Das Schubfachprinzip

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

Bäume und Wälder. Definition 1

Dieser Graph hat 3 Zusammenhangskomponenten

Nachbarschaft, Grad, regulär, Inzidenz

Das Steinerbaumproblem

Beweis: Färbe jede Kante zufällig und unabhängig mit Ws 1 2. Ereignis A i : i-te Clique K (i), i = 1,..., ( n K (i)

ADS: Algorithmen und Datenstrukturen 2

Graphen. Definitionen

Algorithmische Graphentheorie

Algorithmische Geometrie, SoSe 2005 Skriptmitschrift vom 29. April 2005

Übungsblatt 7 - Voronoi Diagramme

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 3, Donnerstag 7.

Vorlesung Datenstrukturen

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Freie Bäume und Wälder

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Vorlesungen vom 5.Januar 2005

Vorlesung Datenstrukturen

Kürzeste Wege in einfachen Polygonen. Sofiya Scheuermann 28. Januar 2008

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

Formale Grundlagen. bis , Lösungen. 1. Beweisen Sie, daß die Summe aller Grade der Knoten stets gerade ist.

Geradenarrangements und Dualität von Punkten und Geraden

Very simple methods for all pairs network flow analysis

6. Triangulation von Polygonen

Übung zur Vorlesung Algorithmische Geometrie

Planare Graphen und Färbungen. Kapitel 7. Peter Becker (H-BRS) Graphentheorie Wintersemester 2018/ / 296

Computer-Graphik I Verallgemeinerte Baryzentrische Koordinaten

3. Musterlösung. Problem 1: Boruvka MST

Geradenarrangements und Dualität von Punkten und Geraden

Klausur Algorithmen und Datenstrukturen

Von den Kanten von Gewicht 4 wird nur noch eine ausgewählt, die zu dem letzten nicht ausgewählten Knoten führt: 1. Juni

Geradenarrangements und Dualität von Punkten und Geraden

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

3.2 Generischer minimaler Spannbaum-Algorithmus

Parallele Algorithmen in der Bildverarbeitung

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Seminar. Algorithmische Geometrie

2. Klausur Datenstrukturen und Algorithmen SS 2014

Zusammenfassung Voronoi Diagramme

Eulerscher Polyedersatz

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie

Das Art Gallery Problem

Abbildung 1.4: Strecken abtragen

Fünf-Farben-Satz. Seminar aus reiner Mathematik, WS 13/14. Schweighofer Lukas, November Seite 1

Graphdurchmusterung, Breiten- und Tiefensuche

Diskrete Mathematik 1

Diskrete Strukturen. Name Vorname Studiengang Matrikelnummer ... Allgemeine Hinweise

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Triangulierungen von Punktmengen und Polyedern

Unterlagen zur Vorlesung Algebra und Geometrie in der Schule: Grundwissen über Affine Geometrie. Sommersemester Franz Pauer

Seminar: Algorithmisches in der Geometrie Ausarbeitung zu Vortrag 9. Triangulierungen im Cayley-Graph und Enden von kontextfreien Gruppen

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

ADS: Algorithmen und Datenstrukturen 2

Algorithmen und Datenstrukturen 13

Transkript:

RHEINISCHE FRIEDRICH-WILHELMS-UNIVERSITÄT BONN INSTITUT FÜR INFORMATIK I Shanni Cai Verbindende gefärbte Punktmengen 31. Oktober 2006 Seminararbeit im WS 2006/2007 Betreuer: Martin Köhler Sanaz Kamali 1

Zusammenfassung In dieser Ausarbeitung wird ein Ramsey-Typ-Problem betrachtet. Gegeben ist eine zweifarbige Menge S von n Punkte in der Ebene, d.h. jeder Punkt von S ist rot oder blau gefärbt. Sei S = B R (R B= ). Wir wollen in Ο(nlogn) Laufzeit einen kreuzungsfreien Spannbaum T(R) für R und einen kreuzungsfreien Spannbaum T(B) für B finden. Die Anzahl von Kreuzungen zwischen T(R) und T(B) und der Durchmesser von T(R) und T(B) sollen klein bleiben. Wir untersuchen zuerst den Fall des Dreieckes. Wenn CH(S) ein blaues oder ein rotes Dreieck ist, existiert eine Triangulation von S, die einen (roten) Spannbaum für R, einen (blauen) Spannbaum für B und einen grünen Spannbaum für S hat. Die drei Spannbäume können in O(nlogn) Laufzeit berechnet werden. Dann untersuchen wir eine allgemeine Punktmenge, die eine beliebige Anzahl von Punkten auf ihrer konvexen Hülle CH(S) haben. Sei g die Anzahl der grünen Kanten von CH(S). Sei h die Anzahl von Knoten von CH(S). In O(nlogn) Laufzeit können wir einen blauen kreuzungsfreien Spannbaum T(B) für B und einen roten kreuzungsfreien Spannbaum T(R) für R finden. T(B) und T(R) kreuzen sich minimal oft und haben den Durchmesser O(logn+h). Der Algorithmus ist nicht kompliziert und kann ohne eine nicht-triviale Datenstruktur implementiert werden. 2

Inhaltsverzeichnis 1. Einführung 2. Der Fall vom Dreieck 3. Allgemeine zweifarbige Mengen 4. Varianten 4.1 Gespitztheit 4.2 Starrheit 4.3 Extremitätsbäume 4.4 Flippdistanz 3

1. Einführung Wir möchten ein Ramsey-Typ Problem untersuchen. Zuerst lernen wir die Ramsey-Theorie kennen. Der Ursprung der Ramsey-Theorie ist nicht eindeutig. Frank Plumpton Ramsey war ein britischer Mathematiker und Logiker. F. P. Ramsey interessierte sich in seiner Arbeit von 1930 für Entscheidungsprobleme in logischen Systemen. Dabei erkannte er den heute nach ihm benannten Satz auch als eigenständig wichtig, war aber in erster Linie an dessen Anwendung für besagte Entscheidungsprobleme interessiert. Ein klassisches Beispiel der Ramsey-Theorie ist das sogenannte,,partyproblem : Wieviele Gäste muss man auf eine Party einladen, so dass es auf jeden Fall drei Personen gibt, die alle einander entweder kennen oder nicht kennen. Dabei wird vorausgesetzt, dass,,einander kennen eine symmetrische Beziehung ist, d.h. wenn eine Person eine Andere kennt, so ist dies auch in umgekehrter Richtung der Fall. Wir können dieses Problem als graphentheoretisches Problem interpretieren: Gegeben sei ein vollständiger Graph der Größe k, dessen Kanten blau oder rot gefärbt sind. Wie groß ist k zu wählen, damit es immer einen einfarbigen vollständigen Teilgraph der Größe 3 gibt? Der klassische Satz von Ramsey (1930): Enthält ein Graph hinreichend viele Knoten (abhängig von k), so enthält er entweder eine vollständige oder eine unabhängige Knotenmenge der Größe k. Beim so genannten Satz von Ramsey betrachtet man eine Verallgemeinerung des,,partyproblems. Dabei werden nun Färbungen mit r verschiedenen Farben betrachtet, und man fragt nach vollständigen Teilgraphen dieser Größe. Zusätzlich werden Hypergraphen anstelle gewöhnlicher Graphen betrachtet. Der Satz von Ramsey stellt sicher, dass es stets eine Lösung gibt, d.h. eine der geforderten Beziehungen ist stets erfüllt, wenn wir nur hinreichend viele Knoten betrachten. Hier möchten wir noch ein paar Grundbegriffe erwähnen. Man kann einen Graphen G = (V, E) im R 2 oder auf einer anderen Fläche geometrisch realisieren, indem man seine Knoten auf paarweise verschiedene Punkte abbildet und seine Kanten auf einfache Wege, die die entsprechenden Punkte verbinden und unterwegs keine anderen Punkte berühren. Das Ergebnis nennt man einen geometrischen Graphen, d.h. in solch einem Graph sind keine drei Punkte auf einer Linie, wobei die Kanten gerade Liniensegmente sind, die zwei Punkte verbinden. Sei S eine Menge von n Punkten in eindeutiger Position in einer Ebene. Sei S = B R (R B= ) eine zweifarbige Menge von n Punkten, d.h. mit zwei beliebigen Farben ist jeder Punkt in R rot und jeder Punkt in B blau. Mit zwei Farben können wir einen geometrischen Graph K(S) konstruieren. Die Kanten von K(S), die zwei gleichfarbige Punkte verbinden, haben dieselbe Farbe. Die anderen Kanten von K(S) sind grün, wobei Grün die dritte Farbe ist. Finden einen monochromatischen Subgraph von K(S) mit speziellen Eigenschaften, ist ein Thema der klassischen Ramsey-Theorie. Ein kreuzungsfreier geometrischer Graph G ist ein Graph, bei dem sich keine Kanten kreuzen. Zwei geometrische Graphen G1 and G2 heißen kompatibel, wenn keine Kante von 4

G1 eine Kante von G2 kreuzt. Wir möchten untersuchen, wie ein kreuzungsfreier Spannbaum T(R) für R und ein kreuzungsfreier Spannbaum T(B) für B so konstruiert werden können, dass die Anzahl der Kreuzungen zwischen T(R) und T(B), sowie der Durchmesser von T(R) und T(B), klein bleiben. Zur Bezeichnung von unteren Schranken dient die Omega-Notation. Es seien f, g Funktionen von natürlichen Zahlen, in die nicht-negativen reellen Zahlen. Man definiert: g Ω( f ): f Ο( g ) es gibt n0 0 und c > 0, so dass g(n) cf(n) für alle n n0 gilt. Und man definiert: Ο( f ) = {g; es gibt n0 0 und C > 0, so dass g(n) Cf(n) für alle n n0 gilt}, und für ein g Ο( f ) sagt man: g ist (in) groß Ο von f. Inhaltlich bedeutet das, dass fast überall die Funktion g durch f nach oben beschränkt ist bis auf einen konstanten Faktor. Man verwendet die Theta Notation g Θ( f ): g Ο( f ) und g Ω( f ), um auszudrücken, dass g und f etwa gleich groß sind. Diese Beziehung ist offenbar eine Äquivalenzrelation. 2. Der Fall vom Dreieck Sei S eine zweifarbige Punktmenge. Ein Dreieck, das drei Punkte in S überspannt, heißt rotes Dreieck, wenn genau eine Kante von rot ist. Es heißt blaues Dreieck, wenn genau eine Kante von blau ist. Jedes rote oder blaue Dreieck hat zwei grüne Kanten. z.b. Abbildung 1: ein blaues Dreieck und ein rotes Dreieck 5

Eine Teilmenge K von R d heißt konvex, wenn sie zu je zwei Punkten p, q auch das Liniensegment pq enthält. Für eine beliebige Teilmenge S des R d ist ch(s) = I K die K S K konvex kleinste konvexe Menge, die S enthält. Sie wird die konvexe Hülle von S genannt. Hier ist ch(s) die konvexe Hülle von S. z. B: Abbildung 2 : Eine Menge S von 12 Punkten in der Ebene und ihre konvexe Hülle Lemma 1 Sei S = B R eine zweifarbige Menge von n Punkten, so dass CH(S) ein rotes oder blaues Dreieck ist. Es existiert eine Triangulation von S, die einen (roten) Spannbaum für R, einen (blauen) Spannbaum für B, und einen grünen Spannbaum für S enthält. Beweis: Wir können die Induktion über die Punktanzahl von S im Inneren des Dreieckes anwenden. Wir nehmen an, ist ein rotes Dreieck. hat eine einzige rote Kante r1 r 2 und einen einzigen blauen Knoten. (Falls ein blaues Dreieck ist, dann hat eine ähnliche Situation. hat eine einzige blaue Kante und einen einzigen roten Knoten.) Sei b die inneren blauen Punkte und r die inneren roten Punkte. In dem Fall von r + b = 0 ist das Lemma trivial. CH(S) ist rot. Wir unterscheiden zwei Fälle: Zuerst, falls b = 0 und r > 0, können wir b1 mit jedem roten inneren Punkt von verbinden und einen Fächer der grünen Kante erhalten. Wir verbinden die roten Punkte in der Reihefolge der Fächer und bekommen einen roten Weg, indem wir entweder r1 oder r 2 verbinden. Wir erhalten den resultierenden Graph durch Triangulation, der dann drei Spannbäume enthält. (Siehe Abbildung 3). 6

b1 r1 r 2 Abbildung 3: 1.Fall der Teilung eines roten Dreieckes Wenn b > 0, wählen wir b2 von und verbinden b2 und b1 mit einer blauen Kante. Dann verbinden wir b2 mit r1 und r 2 mit zwei grünen Kanten. Dann wird von drei Dreiecken mit weniger inneren Punkten geteilt. Jedes Dreieck hat genau zwei grüne Kanten und eine rote oder blaue Kante. (Siehe Abbildung 4). b1 b2 r1 r 2 Abbildung 4: 2. Fall der Teilung eines roten Dreieckes 7

Durch Induktion existiert die Triangulation im Dreieck, die einen Spannbaum für R wegen r1 r 2, einen Spannbaum für B wegen der Kante b1 b2, und einen grünen Spannbaum für S wegen dem gemeinsamen Punkt b2 hat. Wir möchten zeigen, dass eine Laufzeit O(nlogn) durch die Teilung von Dreiecken in einer ausgewogenen Weise erreicht werden kann. Dafür können wir das Teilungsergebnis von Lemma 2 benutzen. Lemma 2 Sei I eine Menge von k Punkten in Inneren eines Dreieckes. Es existiert ein Punkt p I, so dass die drei Dreiecke, die durch Teilung des Dreieckes 2k mit den Kanten von p nach Knoten von entstehen, jeweils höchstens Punkte 3 von I enthalten. p kann in der Zeit O(k) berechnet werden. Beweis: Sei c ein fester Knoten von. Sei p 1,..., p k die zyklische Reihe der Punktmenge I. Der Punkt pk 3 und der Punkt p 2 k kann mittels eines mediane Algorithmus in O(k) 3 Laufzeit berechnet werden. Die zwei Strahlen, die wir als cp k 3 und cp2 k jeweils definieren, 3 teilen I in drei Submengen A, B und C der Größe höchstens 3 k. (Siehe Abbildung 5). c Abbildung 5: balancierte Teilung 8

Um das Dreieck zu teilen, wählen wir als p einen Punkt in B mit minimalem Abstand zur Linie, durch die Kante von, gegenüber von c. Die daraus resultierenden drei Dreiecke 2k enthalten höchstens Punkte von I, weil die zwei Dreiecke, die c als Knoten haben, 3 keinen Punkt von A oder von C enthalten. Und das dritte Dreieck enthält keinen Punkt von B\{ p }. B und p können durch Überprüfung jedes Punktes in I in O(k) Zeit gefunden werden. Jetzt können wir das folgende Lemma beweisen: Lemma 3 Die drei Spannbäume in Lemma 1 können in O(nlogn) Zeit berechnet werden. Beweis: Sei S eine Menge von n Punkte, d.h. S = n. Wir nehmen an, dass CH(S) ein blaues oder ein rotes Dreieck 0 ist. Sei R0 und B0 jeweils die Menge der roten und der blauen Punkte von S in Inneren von 0. Sei r0 = R0, b0 = B0. Wir nehmen r 0 > 0 und b0 > 0 an. Falls 0 blau ist, finden wir mittels Lemma 2 einen Punkt p R0, der 0 in drei Dreiecke 2r 0 1, 2 und 3 teilt. Jedes Dreieck enthält höchstens 3 Punkte von R0. Wenn 0 rot ist, wählen wir p B0 so, dass 0 in drei Dreiecke 1, 2 und 3 geteilt wird und jedes höchstens 2b0 3 Punkte von B0 enthält. Dadurch werden R0 und B0 jeweils in drei Submengen Ri und Bi (i = 1, 2, 3) geteilt. Diese Schritte gehen in Zeit O(r0 + b0 ), die auch die Zeit für die Konstruktion des roten, blauen und grünen Spannbaum enthält. Wir machen mit jedem i weiter, bis r i = Ri und i blau, oder b i = Bi und i rot ist. Dieser Prozess kann durch einen Ternärbaum T ( siehe Abbildung 6 ) repräsentiert werden, dessen Knoten Dreiecke j sind und durch die Menge ( R j, B j ) charakterisiert werden. Ein Ternärbaum ist ein Baum, bei dem jeder Knoten höchstens drei Kinder hat. Die Wurzel von T ist ( R0, B0 ) und für jede Ebene von T ist die totale Anzahl der Punkte in der Menge für ihre Knoten höchstens n = S. Falls ( R j, B j ) kein Blatt von T ist, haben wir für jedes ihrer Kinder ( Rk, Bk ) r k 3 2 r j und b k bj, oder r k r j und b k 3 2 b j. Damit ist die Höhe von T in O(logn). Weil alle Punkte in jeder Ebene des Baumes maximal einmal betrachtet werden, braucht man in jeder Ebene den maximalen Aufwand O(n). Deshalb kann T in der Zeit O(nlogn) konstruiert werden. Wir beachten, dass der rote Baum und der blaue Baum einen Durchmesser von O(logn) haben. Wir müssen noch den Spannbaum für die Blätter von T berechnen. Jedes Blatt ist ein Dreieck mit einer einfarbigen inneren Menge X. Wir 9

beachten, dass die Farbe von mit der Farbe von X übereinstimmen. Die korrespondierenden grünen und roten (jeweilig grünen und blauen) Spannbäume können wir durch Sortieren von X zyklisch nach den Knoten von in Zeit O(nlogn) für alle Blätter berechnen. ( R0, B0 ) (, ) R1 B1 (, ) R2 B2 (, ) R3 B3......... (R j, B j )...... ( Rk, Bk )......... Abbildung 6: ein Ternärbaum 3. Allgemeine zweifarbige Mengen Jetzt möchten wir eine Verallgemeinerung von Lemma 1 für Punktemengen beweisen. Sei S=B R. CH(S) sei beliebig. 10

Lemma 4 Sei S = B R eine beliebige zweifarbige Punktmenge, und sei g die Anzahl von grünen Kanten von CH(S). Es existiert eine Triangulation von S, die einen grünen Spannbaum für S, einen (blauen) Spannbaum für B, und einen (roten) g Spannwald für R mit genau max{,1} Komponenten enthält. 2 Beweis: Wir nehmen an, dass CH(S) rote und blaue Punkte in Inneren hat. Wir wissen, dass g gerade ist. Wir unterscheiden zwei Fälle. Falls g = 0, so ist die Menge der Knoten auf CH(S) einfarbig. Hier wählen wir Blau. Der rote Fall wäre symmetrisch. Wir wählen irgendeinen inneren Punkt p aus und verbinden p mit jedem Knoten von CH(S) mit einer grünen Kante. (Siehe Abbildung 7). Abbildung 7: Fächer, um rotes und blaues Dreieck zu bekommen(1. Fall) Dies teilt CH(S) in blaue Dreiecke. In jedem Dreieck existiert die Triangulation, die rote, blaue und grüne Spannbäume wie in Lemma 1 beschrieben erhält. Für solch zwei beliebige Dreiecke, bei denen Bäume mit gleicher Farbe in Inneren schon verbunden sind, gilt: Blaue Bäume über die Kante von CH(S) verbunden, und die roten und grünen Bäume treffen sich am Punkt p. Dies beweist das Lemma für den Fall g = 0. Sei g 2. Wir wählen irgendeinen blauen Knoten q von CH(S) aus und verbinden q mit den anderen blauen Knoten von CH(S), so dass CH(S) wie folgt Polygone geteilt wird: Jedes g Polygon hat genau zwei grüne Kanten. Die Anzahl der Polygone ist damit. Falls g = 2, ist 2 der Fächer leer und CH(S) ist das einzige Polygon. (Siehe Abbildung 8): 11

Abbildung 8: Nach der Teilung hat jedes Polygon genau zwei grüne Kanten. Wir triangulieren jedes dieser Polygone Q (wenn Q kein Dreieck mehr ist) durch Konstruktion von zwei Fächern mit grünen Kanten, die jeweils in einem blauen Knoten b und einem roten Knoten von CH(S) konzentriert sind. (Siehe Abbildung 9): Abbildung 9: Fächer, um rotes und blaues Dreieck zu bekommen(2. Fall ) Jedes Dreieck ist dabei blau oder rot. Deshalb enthält es eine Triangulation, die rote, blaue und grüne Bäume wie in Lemma 1 erhält. In einem festen Polygon Q sind zwei blaue Spannbäume (für Dreiecke von Q) über b oder über blaue Kanten von Q verbunden; zwei rote Spannbäume sind über r oder über rote Kanten von Q verbunden, und zwei grüne Spannbäume beinhalten gemeinsam b oder r oder sie sind durch die Kante br verbunden. Außerdem gilt für verschiedene Polygone Q und Q : Ihre blauen Bäume und ihre grünen Bäume (aber nicht ihre roten Bäume) sind über dem blauen Knoten q von CH(S), den wir oben gewählt haben, verbunden. Weil es g grüne Kanten in der konvexen Hülle gibt und 2 g Polygone existieren, wird für jedes dieser Polygone ein roter Spannbaum konstruiert. Deshalb existieren 2 g rote Spannbäume für R. Dies beweist das Lemma für den Fall g 2. 12

Jetzt möchten wir das wichtigste Ergebnis beweisen: Theorem 5 Sei S = B R eine zweifarbige Menge von n Punkten. Sei h die Anzahl des Knotens von CH(S). In der Laufzeit O(nlogn) können wir einen blauen kreuzungsfreien Spannbaum T(B) für B, und einen roten kreuzungsfreien Spannbaum T(R) für R berechnen, so dass T(B) und T(R) sich minimal oft kreuzen und beide Bäume einen Durchmesser von O(logn+h) haben. Beweis: Im Dreiecksfall möchten wir kompatible blaue und rote Spannbäume von kleinem Durchmesser bekommen, deshalb müssen wir die Konstruktion wie im Beweis von Lemma 1 etwas ändern. Wir beachten hier den grünen Baum nicht mehr. Sei CH(S) ein blaues Dreieck. Im Fall r = 0 und b > 0 verbinden wir jeden blauen inneren Punkt von mit irgendeinem der zwei blauen Knoten von (besser als mit dem roten Knoten). Siehe Abbildung 10. Mittels der Strategie im Beweis vom Lemma 3 erhalten rote und blaue Bäume vom Durchmesser O(logn) für den Dreiecksfall in Zeit O(nlogn). Abbildung 10: Verbindung jedes blauen inneren Punkt mit irgendeinem blauen Scheitelpunkt Basierend auf dieser Modifikation wird die Konstruktion im Beweis vom Lemma 4 benutzt. Wir erhalten einen blauen kreuzungsfreien Spannbaum T(B) für B, und einen roten kreuzungsfreien Spannwald F(R) für R, so dass T(B) und F(R) kompatibel sind. Der Baum T(B), sowie jede Komponente von F(R) hat den Durchmesser O(h+logn). Sei g die Anzahl der grünen Kanten von CH(S). Wenn g 2, dann ist F(R) schon ein Baum. Sei nun g 4. Jede Komponente C von F(R) liegt im Subpolygon Q(C) von CH(S). (Angrenzende) Subpolygone Q(C 1 ) und Q(C 2 ) haben eine gemeinsame blaue Diagonale, bb von CH(S). Eine Diagonale eines einfachen Polygon P mit n Ecken ist ein Liniensegment zwischen zwei Ecken, das in P enthalten ist, aber mit dem Rand von P nur seine Endpunkte gemeinsam hat. Eine Diagonale zerlegt das Polygon immer in zwei echte Teilpolygone. z.b: 13

Abbildung 11: d ist eine Diagonale. f und g sind keine Diagonalen. Außerdem ist durch die Konstruktion im Beweis vom Lemma 1 bb die gemeinsame Kante der zwei blauen Dreiecke bb r und bb r, siehe Abbildung 12: r r Abbildung 12: Der rote Baum und der blaue Baum kreuzen nur einmal. Die Punktemengen B1 und B2, die die Dreiecke enthalten, sollen blau sein. Wir beobachten, dass bb r bb r ein konvexes Viereck ist und deshalb das Liniensegment rr enthält. Der Baum T(B) verbindet die Punkte in B1 und B2 mittels blauer Kanten, mit entweder b oder b. Diese blauen Kanten können so geändert werden, dass keine das Liniensegment rr kreuzen. Das heißt, es muss für alle blauen Punkte aus B1 und B2 entschieden werden, ob sie links von rr liegen (dann werden sie mit b verbunden) oder ob sie rechts von rr liegen (dann werden sie mit b verbunden). Wenn wir die roten Komponenten C1 und C 2 mit der Kante rr verbinden, kreuzt 14

der daraus resultierende rote Baum T(B) auf einer einzigen Kante, bb. Dann ergibt sich die Laufzeit O( B1 + B2 ) für Q(C1 ) und Q(C 2 ). Insgesamt gibt es genau 2 g aufeinander folgende angrenzende Subpolygon Q(C). Das bedeutet, dass, wenn F(R) zu einem Baum T(R) verbunden ist, dieser T(B) genau 2 g -1 Mal kreuzt. Außerdem hat T(R) einen Durchmesser von O(g+h+logn) = O(h+logn). Korollar 6 Sei S eine rot-blaue Menge von n Punkten. Entscheidend ist, ob S kompatible blaue, rote und grüne kreuzungsfreie Spannbäume zulässt, und konstruieren diese Bäume im Falle von ihrer Existenz. Dies kann in Zeit Ο(nlogn) getan werden. Wenn wir CH(S) berechnen, und untersuchen, ob die Anzahl ihrer grünen Kanten höchstens zwei sind, können wir das Entscheidungsproblem lösen. Alle die benötigten Algorithmen brauchen Ο(n) Platz. 4. Varianten 4.1 Gespitztheit Ein geometrischer geradliniger Graph heißt gespitzt, wenn für jeden seiner Knoten v von dem Graph irgendeine Halbebene existiert, die durch einer Linie durch v begrenzt wird und alle Kanten zu v enthält. Eine Halbebene ist die Menge aller Punkte, die auf einer Seite einer gegebenen Geraden liegen. Nicht jede Triangulation enthält einen gespitzten Spannbaum. In Lemma 4 können sowohl der blaue Spannbaum T(B) als auch der rote Spannwald F(R) gezwungen werden, gespitzt zu sein, wenn sie in einer gemeinsamen Triangulation liegen. Die Knoten von CH(S) sind immer gespitzt. Erstens, im Fall von g = 0, müssen wir irgendeinen roten Innenpunkt p wählen, um CH(S) in blaue Dreiecke aufzuspalten. Wähle p in minimalem Abstand zu der Grenze von CH(S), wird p gespitzt garantiert, wenn rote Kanten später zu p hinzufügt werden: Alle roten Punkte liegen in der Halbebene begrenzt von einer Linie durch p parallel zu einer Kante von CH(S). Zweitens, in der Konstruktion im Beweis von Lemma 1, müssen wir irgendeinen roten Punkt r innerhalb eines blauen Dreieckes wählen. Wir können r wieder in minimalem Abstand zu der ( einzigartigen ) blauen Kante von nehmen. Weil nur rote Kanten innerhalb eines Dreiecks zu r hinzufügen werden, ist r gespitzt garantiert. Auch wir müssen jede monochromatische Punktmenge innerhalb eines Dreieckes von derselben Farbe durch einen Weg verbinden. Aber diese Punkte haben höchstens den Grad zwei und sind gespitzt. Dies garantiert die Gespitztheit von F(R) mit der Konstruktion, die gerade beschrieben wurde. Das Argument für die Gespitztheit von T(B) ist analog. 15

Wir beobachten, dass der entsprechende grüne Spannbaum noch nicht gespitzt sein kann. Beachte, dass die Berechnungszeit für T(B) und F(R) auf Θ(n 2 ) im schlechtesten Fall erhöht, wenn Aufspaltung nicht mehr in einer ausgeglichenen Weise existiert. 4.2 Starrheit Ein geometrischer Graph G heißt starr, wenn der einzige Weg zur Verschiebung eines Knoten von G, ohne die Länge von irgendeiner Kante in G zu ändern, ist, alle Kanten von dem Graph verschieben. G heißt minimal starr, wenn G starr ist, aber diese Eigenschaft löst, sobald irgendwelche seiner Kante entfernt wird. Der blaue, der rote und der grüne Graph in Lemma 4 zusammen erbringen einen minimal starren Graphen, M, wenn der rote Spannwald F(R) zu einem Baum in einer beliebigen Weise verbunden ist. Die Anzahl der Kanten von M ist genau 2n-3, nämlich, n-1 in dem grünen Baum, B - 1 in dem blauen Baum, und R - 1 in dem roten Baum. Außerdem hat jeder Subgraph von M mit k 2 Knoten höchstens 2k 3 Kanten, weil solch ein Subraph aus einem Wald jeder Farbe auf der jeweiligen Anzahl von Knoten besteht. Das heißt, M ist ein sogenannter Laman-Graph und ist minimal starr. Sei G = (V, E) ein Graph mit n Knoten und m Kanten. G ist ein Lamam-Graph, falls m = 2n-3 und jede Untermenge von k 2 Knoten höchstens 2k-3 Kanten hat. Ein Graph G mit n Knoten ist genau dann ein Laman-Graph, wenn er eine Henneberg-Konstruktion, angefangen mit einer Kante (n = 2), besitzt. Henneberg I Schritt: Ein neuer Knoten wird durch zwei neue Kanten mit zwei schon vorhandenen Knoten verbunden. Henneberg II Schritt: Ein neuer Knoten wird auf einer schon vorhandenen Kante hinzugefügt (dadurch wird die alte Kante in zwei Kanten geteilt) und mit einem dritten Knoten durch einen neue Kante verbunden. Z. B.: (a) (b) (c) Abbildung 13: (a) Henneberg I Schritt, (b) und (c) Henneberg II Schritt. Tatsächlich bilden der rote, der blaue und der grüne Graph eine sogenannte 3T2 Zerlegung von M. 16

4.3 Extremitätsbäume Wenn die Spannbäume T(R) und T(B) wie in Theorem 5 benutzt werden, wieviel Länge ist verloren, im Vergleich zu den minimalen Spannbäumen MST(R) und MST(B) von R und B? Abbildung 14: Viele lange blaue Kanten Weil die Spannbäume, die in Theorem 5 konstruiert werden, wenige Überschneidungen haben, werden sie länger als minimal Spannbäume. Von der Abbildung 14 können wir erkennen, dass das Längeverhältnis zwischen T(B) und MST(B) beliebig schlecht sein kann, nämlich, Θ(n). 4.4 Flippdistanz Wie sieht die Flippendistanz der Delaunay-Triangulation von S = B R zu irgendeiner Triangulation aus, die die Spannbäume für beide Submengen R und B enthält? Die Delaunay-Triangulation ist ein gebräuchliches Verfahren, um aus einer Punktemenge ein Dreiecksnetz zu erstellen. In einer Delaunay-Triangulation erfüllen alle Dreiecke des Dreiecksnetzes die sogenannte Umkreisbedingung: Der Umkreis eines Dreiecks des Netzes darf keine weiteren Punkte der vorgegebenen Punktmenge enthalten. Die Delaunay- Triangulation ist nicht eindeutig, falls auf einem Umkreis mehr als drei Punkte liegen, d. h. der Anwender kann sich beliebig aussuchen, welche drei Punkte er zu einem Dreieck verbindet. Flippen basiert auf einer lokalen Auswertung der Umkreisbedingung. Zunächst wird mit einem einfachen Algorithmus ein beliebiges Dreiecksnetz erzeugt. Dieses muss keineswegs die Umkreisbedingung erfüllen, es darf lediglich keine sich überschneidenden Kanten enthalten. Dann wird für jeweils zwei Dreiecke, die eine Seite gemeinsam haben, überprüft, ob der Umkreis der gemeinsamen Kante leer ist. Ist dies der Fall, so stört die Kante die Erfüllung der Umkreisbedingung nicht und die nächsten beiden Dreiecke werden 17

betrachtet. Ansonsten wird die gemeinsame Kante geflippt, das heißt, sie wird durch eine Kante ersetzt, die die anderen beiden Dreiecksenden verbindet. Nach dem Flippen ist der Umkreis über der neuen gemeinsamen Kante garantiert leer und die Umkreisbedingung somit lokal erfüllt. Abbildung 15 ist ein Beispiel: Flip (a) (b) Abbildung 15: Flippen(Durch Flippen der gemeinsamen Kante wird die lokale Delaunay- Bedingung erfüllt). Diese oben erwähnte Frage ist nur sinnvoll, wenn solche Triangulation existiert, d. h. wenn der rote und der blaue Baum in einer kompatiblen Weise gewählt werden können. Wir nehmen an, dass solche Triangulation existiert. Dann können Ω(n 2 ) Flips benötigt werden, um die Kante, die zwei blaue Punkte verbindet, einzufügen. Siehe Abbildung 16: Abbildung 16: Für das Einfügen von blauen Kanten braucht man Ω (n 2 ) Flips. 18