Dilation von endlichen Punktmengen Seminararbeit von Daniel Lorenz 1. Einführung: Die Dilation ist das Verhältnis zwischen dem kürzesten Weg im Graphen und dem euklidischen Abstand zweier Punkte. Definitionen: 1. Sei G ein beliebiger, planarer Graph, p,q ∈G und ξG(p,q) ein kürzester Weg in G von ξG ( p , q ) p nach q. Dann ist die Dilation δG ( p, q) := . | pq | ξG ( p , q ) . 2. Die Dilation des Graphen G ist δG := sup δG ( p, q) = sup p , q∈G p , q∈G | pq | 3. Sei S eine beliebige, endliche Punktmenge, dann ist die Dilation der Punktmenge S ∆S := min δG . G⊇S Grundsätzlich lassen sich zwei Ansätze zur Betrachtung der Dilation unterscheiden: 1. Die graphentheoretische Dilation. Hierbei werden nur Wege zwischen Knoten des Graphen betrachtet. Die graphentheoretischen Dilation wäre zum Beispiel ein passendes Modell um Umwege bei Bahnfahrten zu berechnen. Bei Bahnfahrten kann man nur bei festgelegten Knotenpunkten ein- und aussteigen und so seine Reise beginnen oder beenden. 2. Die geometrische Dilation, die in dieser Arbeit ausschließlich behandelt wird. Bei der geometrischen Dilation werden auch Wege zwischen beliebigen Punkten auf dem Graphen betrachtet, also auch von inneren Punkten der Kanten. Eine Anwendung hiervon ist beispielsweise der Straßenverkehr, bei dem man seinen Weg von beliebigen Punkten entlang der Straße beginnen und beenden kann. Wir versuchen im folgenden eine gegebene Punktmenge so in planare Graphen einzubetten, dass die Dilation möglichst gering ist. In dieser Arbeit wird auf zwei Fragen eingegangen: 1. Existiert eine obere Schranke für den Wert der Dilation, d.h. kann für jede beliebige Punktmenge ein Graph gefunden werden, die diese Punktmenge einbettet, so das die Dilation des Graphen einen konstanten Wert nicht überschreitet. 2. Existiert eine untere Schranke c für den Wert der Dilation, d.h. existieren Punktmengen, so dass jeder Graph der diese Punktmenge einbettet, mindestens die Dilation c hat. In dieser Arbeit werden wir für die untere Schranke einen Wert von π/2 und für den Wert der oberen Schranke einen Wert von 1,67784... beweisen. 2. Die untere Schranke Zuerst werden wir jetzt eine untere Schranke beweisen. Das heißt wir werden eine Punktmenge Pn definieren und zeigen, dass es keinen Graphen gibt, der alle Punkte aus Pn enthält und eine Dilation kleiner als π/2 besitzt. Dazu werden wir folgendes Theorem beweisen: Theorem 1: Sei Pn die Knotenmenge eines regelmäßigen Polygons mit n Ecken auf dem Einheitskreis, dann ist die geometrische Dilation von Pn, δ(Pn) = π/2 für alle n ≥ 5. Um dieses Theorem zu beweisen werden wir uns zuerst mit der Dilation von Zykeln beschäftigen und zeigen, dass die Dilation jeder geschlossenen Kurve mindestens π/2 beträgt. Danach werden wir dieses Ergebnis erweitern und zeigen, dass die Dilation jedes Graphen der Zykel besitzt mindestens π/2 ist. Abschließend werden wir dann noch zykelfreie Graphen, also Bäume, betrachten und zeigen, dass auch kein Baum eine kleinere Dilation als π/2 haben kann, wenn er alle Punkte von Pn enthält und n ≥ 5 ist. Wir beginnen jetzt mit der Betrachtung von geschlossenen Kurven. Dazu gibt es folgendes Lemma. Lemma 2: Die Dilation jeder geschlossenen Kurve beträgt mindestens π/2. Beweis: Zuerst beschränken wir uns auf konvexe geschlossene Kurven. Sei C eine geschlossene konvexe Kurve. Dann können wir zu jedem Winkel α eine Gerade g(α) finden, die mit der X-Achse des Koordinatensystems den Winkel α einschließt und C in zwei gleichlange Stücke zerschneidet. Die beiden Schnittpunkte von g(α) mit C, pα und qα heißen Teilungspaar. Weiter sei h(α) der Abstand der beiden Punkte des Teilungspaars zu jedem Winkel α, also h(α) := |pαqα|. Aus der Definition der Dilation folgt: δ≥ |C | 2h(α ) ⇔ h (α ) ≥ |C | 2δ Abbildung 1 Weiter sei b(α) der Abstand der beiden Tangenten, die senkrecht zu g(α) stehen, also die „Breite“ der Kurve im Winkel α. Trivial ist b(α) ≥ h(α). Da pα und qα auf C liegen, muss der Abstand kleiner sein als der Abstand der am weitesten von einander entfernten Punkte. Wenn man jetzt Cauchy’s Oberflächenformel anwendet erhält man: π π 0 0 π |C | π |C | dα = 2δ 2δ 0 | C |= ∫ b(α )dα ≥ ∫ h(α )dα ≥ ∫ Wenn man diese Ungleichung nach δ auflöst, erhält man δ ≥ π/2. Den Beweis für konvexe, geschlossene Kurven werden wir jetzt erweitern auf nicht konvexe, geschlossene Kurven. Bei nicht konvexen Kurven müssen wir uns zuerst davon überzeugen, dass auch hier für jeden Winkel α ein Teilungspaar pα, qα existiert. Sei jetzt C eine geschlossene, nicht konvexe Kurve. Sicher existiert ein Teilungspaar pβ, qβ, das die Kurve C in zwei gleich lange Stücke teilt. Die Gerade g durch pβ und qβ schließt mit der X-Koordinatenachse den Winkel β ein. Wenn wir jetzt pβ und qβ mit gleicher Geschwindigkeit gegen den Uhrzeigersinn auf der Kurve verschieben, teilen sie die Kurve C zu jedem Zeitpunkt in zwei gleich lange Teile (siehe Abb. 2). Irgendwann erreicht dann pβ die Position von qβ und umgekehrt. Die Orientierung der Graden durch pβ und qβ hat sich umgekehrt, das heißt während des halben Umlaufs der beiden Punkte um die Kurve muss die Teilungsgerade jeden Winkel zwischen 0 und π angenommen haben. Abbildung 2 Wir können also auch für nicht konvexe, geschlossene Kurven für jeden Winkel α ein Teilungspaar finden. Wir definieren h(α) := min|pαqα|. Sei ch(C) die konvexe Hülle von C und bch(C) der Abstand der Tangenten die senkrecht zu g(α) von beiden Seiten an ch(C) gelegt werden, dann ist |C| ≥ |ch(C)| und bch(C) ≥ h(α) Damit überträgt sich der Beweis aus dem konvexen Fall: π π 0 0 π |C | π |C | dα = 2δ 2δ 0 | C |≥| ch(C ) |= ∫ bch ( C )(α )dα ≥ ∫ h(α )dα ≥ ∫ Wenn man diese Ungleichung nach δ auflöst, erhält man δ ≥ π/2. Als nächstes werden wir Graphen untersuchen, die Zykel enthalten, und dazu folgendes Lemma beweisen: Lemma 3: Sei G ein endlicher, geometrischer Graph in der Ebene, der einen Zykel enthält. Dann existiert ein Zykel C in G, so dass für jedes p,q∈C ein kürzester Pfad ξG(p,q) existiert, der eine Teilmenge von C ist. Beweis: Sei C der kürzeste Zykel in G. Wenn jetzt zwei Punkte a, b∈C existieren, so dass ξG(a,b) ⊆ C dann kann ich einen kürzeren Zykel C’ aus ξG(a,b) und dem kürzeren der beiden Stücke aus C zwischen a und b konstruieren. Das ist ein Widerspruch zu der Annahme das C der kürzeste Zykel aus G ist. Abbildung 3 Aus Lemma 2 und Lemma 3 folgt: Theorem 4: Die Dilation jedes Graphen, der einen Zykel enthält, beträgt mindestens π/2. Mit Graphen, die Zykel enthalten, können wir also keine Dilation erreichen die besser ist als π/2. Aber wie sieht es mit zykelfreien Graphen, den Bäumen, aus? Lemma 5: Sei T ein Baum, der die Punktmenge Pn enthält, so gilt: δ(T) ≥ π/2 für n ≥ 5. Beweis: Nehmen wir einmal an, es existiert ein Baum T der Pn enthält mit δ(T) < π/2 für n≥5. Da Pn die Kotenmenge eines regelmäßigen Polygons mit n Ecken ist, teilen die Punkte den Einheitskreis in n gleich große Segmente auf. Daraus folgt |pq| = 2 sin(π/n) ≤ 2 sin(π/5) Das heißt die maximale Länge eines kürzesten Pfades von p nach q ist Abbildung 4 ξG(p,q) ≤ |pq| * δ(T) < |pq| * π/2 ≤ π sin(π/5) Somit liegen alle möglichen Kürzesten Pfade zwischen p und q innerhalb der Ellipse E E := {z | |pz| + |zq| ≤ |pq| * π/2} mit den Brennpunkten p und q. Der Mittelpunkt M des Einheitskreises auf dem Pn liegt, liegt aber nicht innerhalb der Ellipse E, weil jeder Pfad von p nach q durch M mindestens die Länge |pM| + |Mq| = 2 > π sin(π/5) ≈ 1,846... hat. Wenn man nun die Punkte auf dem Einheitskreis gegen den Uhrzeigersinn mit p1, p2, ..., pn bezeichnet, dann liegt der Pfad zwischen pi und pi+1 jeweils in einer Ellipse. Keine dieser Ellipsen enthält den Mittelpunkt (siehe Abb. 5). Da auch pn und p1 benachbart sind, muss auch der kürzeste Pfad von pn nach p1 in einer solchen Ellipse liegen. Das bedeutet aber das T einen Zykel enthält und der Mittelpunkt M im inneren dieses Zykels liegt. Abbildung 5 Beweis von Theorem 1: Der Einheitskreis enthält alle Punkte aus Pn und hat die Dilation π/2. Nach Theorem 4 gibt es keinen Graph mit Zykeln der eine geringere Dilation besitzt als π/2 und nach Lemma 5 existiert auch kein Baum T mit einer Dilation kleiner als π/2 der Pn enthält. Folgerungen 1. Sei C eine geschlossene Kurve und Pn eine Menge von n Punkten, die gleichmäßig auf C verteilt ist. Dann wächst die Dilation jedes Baumes der Pn enthält gegen unendlich, wenn n gegen unendlich geht. 2. Die Dilation von P3 δ ( P 3) = 2 = 1,157 ... 3 Jeder Zyklischer Graph hat eine Dilation von mindestens π/2, und wenn man bei dem angegebenen Graph (Abb. 6) den zentralen Knoten verschiebt, verschlechtert sich der angegebene Wert. Abbildung 6: Der blau gezeichnete Baum ist die ideale Lösung für die Dilation der Punktmenge P3 auf dem Einheitskreis 3. Die Dilation von P4 Abbildung 7: Durchgezogene Linien zeichnen die ideale Lösung für die Punktmenge P4 δ ( P 4) = 2 = 1,414... Ähnliche Argumentation wie im obigen Fall (siehe Abb. 7). 3. Die obere Schranke Wir wollen nun eine obere Schranke für den Wert der Dilation beweisen, d.h. wir werden zeigen, dass wir jede Punktmenge in einen Graph einbetten können der eine Dilation von 1,67784... hat. Theorem 6: Es existiert ein periodischer Graph G∞ der die Ebene bedeckt, mit einer Dilation von 1,67784..., so dass jede endliche Punktmenge in einem leicht verbogenem Teil G, einer skalierten Kopie von G∞ enthalten ist. Um diese Theorem zu beweisen, werden wir zuerst ein technisches Lemma beweisen, anschließend einen Graphen konstruieren mit einer Dilation von 3 = 1,7320... , und danach diesen Graphen verbessern um die gewünschte Dilation zu erreichen. Zum Schluss zeigen wir dann noch, dass jede Punktmenge in diesen Graphen eingebettet werden kann und wie das endliche Stück aus dem Graphen G∞ ausgeschnitten wird. Lemma 7: Die geometrische Dilation δ eines Graphen G wird immer von zwei Punkten angenommen, die gegenseitig sichtbar sind. Beweis: Nehmen wir einmal an, die Dilation wird nicht von 2 gegenseitig sichtbaren Punkten angenommen. Es gibt zwei Punkte p,q∈G, so das zwischen p und q die maximale Dilation angenommen wird. Nach Annahme sind p und q nicht gegenseitig sichtbar, daraus folgt es existiert eine Kante des Graphen die zwischen q und p liegt. Sei r∈G der Schnittpunkt der Graden von p nach q mit dieser Kante (siehe Abb. 8). Nach Definition der Dilation gilt δ (G ) = | ξG ( p , q ) | | ξG ( p , r ) | + | ξG ( r , q ) | ≤ . | pq | | pr | + | rq | Abbildung 8 Da r auf der Geraden von p nach q liegt, gilt |pq| = |pr| + |rq|. Und der Weg im Graphen von p nach q über r ist mindestens so lang wie der Kürzeste von p nach q. Obige Gleichung kann man weiter abschätzen ⎛ ξG ( p , r ) ξG ( r , q ) ⎞ ⎟ ≤ δ (G ) ≤ max⎜⎜ , | rq | ⎟⎠ ⎝ | pr | Daraus folgt, dass die maximale Dilation bei wenigstens einem der Punktepaare p, r und r, q angenommen werden muss. Ein Widerspruch zur Annahme, es folgt also das Lemma 7. Als nächstes wenden wir uns nun der Konstruktion den Graphen G∞ zu. Zuerst werden wir ein vereinfachten Graphen nehmen und diesen dann im zweiten Schritt so verändern, dass er die gewünschte Dilation hat. Beweis Theorem 6: Am Anfang verwenden wir ein einfaches hexagonales Gitter. Bei der Berechnung der Dilation dieses Gitters reicht es sich auf die Dilation eines Zykels zu beschränken, da die beiden Punkte, die die maximale Dilation annehmen, nach Lemma 7 gegenseitig sichtbar sein müssen. Die Dilation eines regelmäßigen Sechsecks ist 3 (siehe Abb. 9). Alle Kanten haben die Länge 1, der Weg von a nach b verläuft über insgesamt 3 Kanten, also hat der Weg im Sechseck von a nach b die Länge 3. Der euklidische Abstand von a und b ist | ab |= 2 sin 60° = 3 ⇒δ = 3 3 = 3 = 1.7320 .... Abbildung 9 Um dieses hexagonale Gitter zu ersetzen werden wir den Umweg verkürzen, indem wir die Ecken etwas abkürzen. Wir werden also alle Knoten in dem hexagonalen Gitter durch ein anderes Gebilde ersetzen, welches wir jetzt konstruieren werden. Dazu zeichnen wir zuerst drei Halbgeraden jeweils im Winkel von 120° zueinander (siehe Abb. 10) Wir wählen jetzt zwei Zahlen, 0<c<b< 1 2 mithilfe derer wir das Ergebnis parametrisieren und so später die Dilation minimieren. Jetzt zeichnen wir drei Kreise so, dass jeder der drei Kreise jeweils zwei der drei Halbgeraden im Abstand b1 = (b-c) / 2 zum Schnittpunkt der drei Halbgeraden berührt. Abbildung 10 Sei x der Abstand der Mittelpunkte der Kreise vom Schnittpunkt der 3 Halbgeraden und r der Radius der Kreise dann gilt: b−c x ⇔ = ⇔ x =b−c b1 = x ⋅ cos 60° 2 2 3⋅x 3 ⋅ (b − c ) = 2 2 Nun befestigen wir das Liniensegment L (siehe Abb. 10) der Länge b+c, am oberen Kreis und lassen den Kreis um 60° rotieren. Dabei beschreiben die beiden Endpunkte von L jeweils ein Sechstel eines Kreises mit Radius R. Nach Pythagoras gilt: r = x ⋅ sin 60 ° = R = r +b = 2 2 2 3(b − c ) 2 + (b + c ) 2 = b 2 − bc + c 2 4 wobei b2 = b-b1 = (b+c)/2. Danach wird L von dem oberen Kreis gelöst und an dem linken Kreis befestigt. Wir lassen den linken Kreis 60° im Uhrzeigersinn rotieren, lösen L von dem linken Kreis und führen dieselbe Prozedur mit dem unteren Kreis durch. Dabei beschreiben die beiden Endpunkte von L einen Zykel der in Abb. 11 dargestellt ist. Wenn wir jeden Knoten des hexagonalen Gitters durch solch einen Zykel ersetzen, erhalten wir den Graphen G∞ (siehe Abb. 12). Abbildung 11 Abbildung 12 Um jetzt die Dilation dieses Graphen zu berechnen, reicht es wegen Lemma 7, die Dilation der zwei Zykeltypen zu berechnen. Dabei gibt es aufgrund der Ergebnisse einer Arbeit [2] von R. Klein et al. 3 Hauptkandidaten für das auftreten der maximalen Dilation: 1. Ein Teilungspaar p,q aus dem zuletzt konstruierten Zykel (Abb. 11): Der Zykel C besteht aus sechs sechstel Kreisbogenstücken mit jeweils Radius R, der kürzeste Weg zwischen p und q hat also die Länge eines Halbreises mit Radius R. Da C aus der Rotation des Liniensegmentes L entstanden ist, beträgt der euklidische Abstand von p und q immer die Länge von L = b+c. ⇒ D1 = πR b+c 2. Das Teilungspaar, auf der Mitte zweier, gegenüberliegender Kanten eines Sechsecks (Abb. 13) analog zu der Dilation bei einem einfachen Sechseck (siehe Abb. 9): Der eukliedische Abstand beträgt √3, wie wir schon berechnet haben. Der kürzeste Weg im Graphen durchläuft 6 sechstel Kreise vom Radius R sowie insgesamt 3 Kanten des ursprünglichen Sechsecks. Diese Kanten hatten ursprünglich Länge 1 sind aber dadurch, dass wir die Knoten ersetzt haben, um 2b verkürzt worden. Die Dilation beträgt also D2 = 2πR + 3(1 − 2b) 3 . Abbildung 13 Abbildung 14 3. Die Teilungspaare, die sich auf den Zykeln, die die Knoten im Secheck ersetzt haben, befinden und den geringsten euklidischen Abstand haben (Abb. 14): Die Punkte des Teilungspaars liegen auf der Geraden durch die Mittelpunkte der konstruierenden Kreise. Bei diesem Kandidat berechnen wir zuerst einmal den euklidischen Abstand. Dazu betrachten wir das Dreieck, das die Seite x mit jeweils der Hälfte der Seite H und D3 bildet. Auf dieses Dreieck wenden wir den Kosinussatz an und erhalten | m1m 2 |2 = x 2 + ( H ) 2 − 2 x ⋅ H ⋅ cos120° = x 2 + 1 + x 2 2 2 ⇒| pq|= 2( x2 +1+ x − R) Der kürzeste Pfad surchläuft, genau wie beim 2. Kandidat, 6 sechstel Kreise vom Radius R und drei um 2B verkürzte Kanten. Daraus läst sich die Dilation des dritten Kandidaten berechnen. D3 = 2πR + 3(1 − 2b) 2( x 2 + x + 1 − R ) Die Dilation aller drei Kandidaten hängt noch von den Parametern b und c ab. Mit Maple wurde berechnet, dass es ein Minimum bei D1 = D2 = D3 = 1.6778... gibt für die Parameter c = 0.1248... und b = 0.1939.... Weiter konnte mit Maple gezeigt werden, dass das Maximum in diesem Fall wirklich bei den 3 Kandidaten angenommen wird. Damit haben wir den gewünschten Graphen G∞ konstruiert. Es bleibt zu zeigen, wie man beliebige Punktmengen P in diesen Graphen einbetten kann. Idealerweise soll jeder Punkt aus P auf die Mitte einer horizontalen Kante fallen (siehe Abb. 12). Im allgemeinen ist dies natürlich nicht exakt möglich. Sei η>0 eine Fehlerschranke, die beliebig gewählt werden kann, dann suchen wir einen Skalierungsfaktor γ, so dass folgende zwei Bedingungen erfüllt sind: 1. Jede X-Koordinate αi eines Punktes aus P, liegt in X-Richtung näher an der Mitte einer Kante als ηγ, das heißt αi muss nah an einem durch 3 teilbaren Vielfachen des Skalierungsfaktors γ liegen, oder formal ausgedrückt: | 3 Aiγ − αi |≤ γη ⇔| αi η − A |≤ 3γ 3 i Wobei Ai eine beliebige ganze Zahl ist. 2. Jede Y-Koordinate βi liegt näher als ηγ neben einer horizontalen Kante, deren YKoordinate ein ganzzahliges Vielfaches von γ√3 ist, oder formal: | 3 Biγ − βi |≤ γη ⇔| βi η − Bi |≤ 3γ 3 Wobei Bi eine beliebige ganze Zahl ist. Die Kanten von G werden so verbogen, dass die Punkte auf den entsprechenden Kanten liegen. Wenn es solche ganzen Zahlen Ai, Bi, γ zu einer beliebigen Fehlerschranke η gibt, wird die Änderung der Dilation von G beliebig klein. Dass es solche Zahlen gibt, zeigen wir mit Hilfe eines Ergebnisses von Dirichlet: Theorem 8: Seien ρ1,...,ρn relle Zahlen und ε>0. Dann existieren eine natürliche Zahl q und ganze Zahlen D1,...,Dn die folgende Bedingung erfüllen: | ρiq − Di |≤ 1 ≤ε q1/ n Wenn man jetzt für q den Skalierungsfaktor γ einsetzt und αi/3 bzw. βi/√3 anstatt ρi sowie η/3 anstatt ε schreibt dann erhält man sofort, dass nach Theorem 8 solche Zahlen existieren wie sie benötigt werden um die 2 Bedingungen zu erfüllen, die wir aufgestellt hatten um die Punkte einer beliebigen Punktmenge einzubetten. Noch ist der Graph G∞ aber ein unendlicher Graph. Um dies zu beheben, schneiden wir ein Sechseckiges Stück (wie in Abb. 12 in rot) heraus, das alle Punkte der Punktmenge enthält. 4. Ausblick Damit haben wir sowohl eine obere als auch eine untere Schranke für den Wert der Dilation gezeigt. Allerdings klafft zwischen der oberen und unteren Schranke immer noch eine Lücke. So bleiben einige offene Fragen: Was ist der genaue Wert von ∆ := sup ∆( P ) ? Wie schnell P endlich kann ein optimaler Graph für P konstruiert werden? Wie schnell kann die Dilation einer Punktmenge berechnet werden? Quellen 1. A. Ebbers-Baumann, A. Gruene, R. Klein. On the geometric dilation of finite point sets. Universität Bonn Literaturverweise 1. A. Ebbers-Baumann, A. Gruene, R. Klein. On the geometric dilation of finite point sets. Universität Bonn 2. A. Ebbers-Baumann , R. Klein, E. Langetepe, A. Lingas. A fast algorithm for approximating the detour of a polygonal chain. Computational Geometry: Theory and Applications, 27:123-134, 2004