28.10.2014 Aufrufe

Umwege in Polygonen - Universität Bonn

Umwege in Polygonen - Universität Bonn

Umwege in Polygonen - Universität Bonn

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!