Umwege in Polygonen - Universität Bonn
Umwege in Polygonen - Universität Bonn
Umwege in Polygonen - Universität Bonn
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Die Korrektheit des Algorithmus ist schon gezeigt. Nach Gutw<strong>in</strong> und Keil [KG92] hat Schritt<br />
1 e<strong>in</strong>e Laufzeit von O(n log n). Wegen der Spärlichkeit des Spanners hat er nur O(n) viele<br />
Kanten. Wie im Beweis von Lemma 8.1 müssen wir wieder im Vergleich zum Streckenzugfall<br />
e<strong>in</strong>e zusätzliche Überlegung für die Laufzeit aufwenden. Wir benutzen wieder das Resultat<br />
von Guibas und Hershberger [GH87], nach dem man nach Vorbereitungszeit O(n) <strong>in</strong> O(log n)<br />
für e<strong>in</strong> Punktpaar (p, q) den Umweg u P (p, q) berechnen kann. Deshalb brauchen Schritt 2<br />
und 3 Zeit O(n log n). Also liegt auch die Gesamtlaufzeit des Algorithmus <strong>in</strong> O(n log n). □<br />
Damit kommen wir zum eigentlichen Approximationsalgorithmus.<br />
Satz 8.1 Sei ε > 0 e<strong>in</strong>e gegebene reelle Zahl, und sei P e<strong>in</strong> e<strong>in</strong>faches Polygon mit n Ecken.<br />
Mit e<strong>in</strong>er Laufzeit von O(n log n) kann man dann e<strong>in</strong> Eckpunkt-Randpunkt-Paar (p, q) bestimmen,<br />
das den maximalen Umweg approximiert, d.h. es gilt:<br />
u P (p, q) ≥ 1<br />
1 + ε umax P<br />
Beweis. Am Anfang müssen wir e<strong>in</strong>ige Zahlenwerte wählen, die im weiteren Verlauf des<br />
Beweises benötigt werden. Zuerst bestimmen wir e<strong>in</strong> kle<strong>in</strong>es η das erfüllt:<br />
(57) 0 < η < ε und 1 − η<br />
(1 + η) 2 ≥ 1<br />
1 + ε<br />
Dann wählen wir e<strong>in</strong>en kle<strong>in</strong>en W<strong>in</strong>kel β mit:<br />
(58) 0 < β < π 2<br />
und für alle β ∈ (0, β]: cos β ≥<br />
1<br />
1 + ε<br />
Schließlich benötigen wir noch e<strong>in</strong>en kle<strong>in</strong>en W<strong>in</strong>kel ρ, so dass:<br />
(59) 0 < ρ < π 2<br />
und<br />
s<strong>in</strong> ρ<br />
s<strong>in</strong> β ≤ η 2 und cos ρ ≥ max(1 − η 2 , 1<br />
1 + η )<br />
Der aufmerksame Leser wird beim Vergleich mit [EBKLL01] feststellen, dass die Bed<strong>in</strong>gungen<br />
an ρ und η stärker s<strong>in</strong>d. Wir werden diesen Unterschied später genauer begründen.<br />
Zunächst starten wir mit den gewählten Werten folgenden Algorithmus:<br />
Algorithmus 5<br />
Input: e<strong>in</strong> e<strong>in</strong>faches Polygon P mit n Ecken und e<strong>in</strong>e reelle Zahl ε > 0<br />
Output: e<strong>in</strong> Eckpunkt-Randpunkt-Paar (p, q) mit (1 + ε)u P (p, q) ≥ u max<br />
P<br />
1. Für jede ganze Zahl m zwischen 0 und 2π/ρ f<strong>in</strong>de e<strong>in</strong> <strong>in</strong> P oder P C gegenseitig<br />
sichtbares Eckpunkt-Randpunkt-Paar <strong>in</strong> Richtung mρ mit maximalem<br />
Umweg unter solchen Paaren.<br />
2. Wähle unter den gefundenen Paaren e<strong>in</strong> maximales. Wir nennen es (p 1 , q 1 ).<br />
3. F<strong>in</strong>de mit Algorithmus 4 e<strong>in</strong> Eckpunktpaar (p 2 , q 2 ) mit<br />
(1 + η)u P (p 2 , q 2 ) ≥ u E max<br />
P .<br />
4. Gebe das Punktpaar (p 1 , q 1 ) oder (p 2 , q 2 ) mit maximalem Umweg aus.<br />
61