Approximationsalgorithmen für eine Rasenmäher- oder eine Fräsetour

Ähnliche Dokumente
3 Klassifikation wichtiger Optimierungsprobleme

Proseminar Online Algorithmen, Prof. Dr. Rolf Klein

Billard auf polygonförmigen Tischen

Überblick. TSP Vergleich der Lösungen. Das Travelling Salesman Problem. Nearest-Neighbor Heuristik für TSP

Kap. 7.1 Heuristiken Kap. 7.2 Approximative Algorithmen und Gütegarantien

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

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

Featurebasierte 3D Modellierung

Tag der Mathematik 2016

Die Komplexität von Domino

Mathematische Probleme, SS 2016 Freitag $Id: convex.tex,v /05/13 14:42:55 hk Exp $

Triangulierung von einfachen Polygonen

Bäume und Wälder. Definition 1

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

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

Thema: Klassifikation von 1-Mannigfaltigkeiten (mit Beweis) und von abgeschlossenen 2-Mannigfaltigkeiten (ohne Beweis)

1 Pyramide, Kegel und Kugel

Flächeninhalt, Volumen und Integral

Geradenarrangements und Dualität von Punkten und Geraden

WS 2009/10. Diskrete Strukturen

Inhaltsverzeichnis. Inhaltsverzeichnis

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

Wiederholung zu Flüssen

Westfählische Wilhelms-Universität. Eulersche Graphen. Autor: Jan-Hendrik Hoffeld

Isomorphie von Bäumen

Der Höhenschnittpunkt im Dreieck

Aufgabe 1 ( Punkte). Ihr kennt vermutlich schon Dreieckszahlen:

Aufgaben des MSG-Zirkels 8b Schuljahr 2005/2006. Alexander Bobenko und Ivan Izmestiev. Geometrie

6. Übung zur Linearen Optimierung SS08

Ausarbeitung über den Satz von Menger und den Satz von König

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

Mathematische Probleme, SS 2013 Montag $Id: dreieck.tex,v /04/22 20:37:01 hk Exp hk $

Mathematik B-Tag Freitag, 20. November, 8:00 15:00 Uhr. Um die Ecke. Mathematik B-Tag Seite 1 von 9 -

16. Platonische Körper kombinatorisch

Aufgabe S1 (4 Punkte) Wie lang ist die kürzeste Höhe in dem Dreieck mit den Seiten 5, 12 und 13? Das Dreieck ist rechtwinklig, da 13 2 =

Geometrische Algorithmen

Aufgabe S 1 (4 Punkte)

Färbungsbeweise. 1 Aufgaben

Die Quadratur des Kreises

Vorlesungen vom 5.Januar 2005

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Bipartite Graphen. Beispiele

Datenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14

Übungsblatt 2 - Lösung

Eulerweg, Eulerkreis. Das Königsberger Brückenproblem. Definition 3.1. Ein Weg, der jede Kante von G genau einmal

Triangulierung von einfachen Polygonen

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

4 Greedy-Algorithmen (gierige Algorithmen)

11. Übung zu Algorithmen I 6. Juli 2016

Das Heiratsproblem. Definition Matching

1.1. Geradengleichung aus Steigung und y-achsenabschnitt

Elemente der SchulgeometrieGrundschule. Aufgabenblatt 4 Flächeninhalt

\ 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.

Anleitungen für die Papierverpackungen ab Seite 86

6 Einige Beweisprinzipien. Themen: Das Invarianzprinzip Das Extremalprinzip

Klassenstufen 7, 8. Fachbereich Mathematik Tag der Mathematik 9. November 2013

Montessori-Diplomkurs Inzlingen Geometrische Mappe Die metallenen Dreiecke

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

2.4A. Reguläre Polyeder (Platonische Körper)

Anwendungsbeispiel Strahlensatz

Selbsteinschätzungstest Auswertung und Lösung

Das Falten-und-Schneiden Problem

Ebene Elementargeometrie

Triangulierungen von Punktmengen und Polyedern

Beschriftung in Dynamischen Karten

Die Kopplung von Markovketten und die Irrfahrt auf dem Torus

Einführung in die Graphentheorie. Monika König

P 0 f (0) schneidet die Gerade mit der Gleichung x Ermitteln Sie die Koordinaten von S.

Beispiel einer Zerlegung in vier Schritten (Zerlegungszahl n = 51)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Themenbereich: Besondere Dreiecke Seite 1 von 6

Berechnung minimaler Manhattan-Netzwerke

Vervollständigung Lateinischer Quadrate

Algorithmische Methoden zur Netzwerkanalyse Vorlesung 13, Henning Meyerhenke

Städtewettbewerb Frühjahr 2009

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

Das Briefträgerproblem

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

Aufgaben Geometrie Lager

Altersgruppe Klasse 5

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Konvexe Mengen mit konstanter Breite

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Das Steinerbaumproblem

Beispiellösungen zu Blatt 114 (Klasse 5 8)

8 Tangenten an Quadriken

Wie komme ich von hier zum Hauptbahnhof?

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

WS 2008/09. Diskrete Strukturen

Tag der Mathematik 2013

Aufgaben für die Klassenstufen 11/12

Tag der Mathematik 2007

Polyeder und Platonische Körper

Aufgaben. zu Inhalten der 5. Klasse

Inhaltsverzeichnis INHALTSVERZEICHNIS 1

Das Voronoi Diagramm. 1. Definition. 2. Eigenschaften. 3. Größe und Speicherung. 4. Konstruktion. 5. Verwendung

3. Musterlösung. Problem 1: Boruvka MST

Übung zur Vorlesung Berechenbarkeit und Komplexität

Dynamische Geometrie

Transkript:

Rheinische Friedrich-Wilhelms-Universität Bonn Institut für Informatik I Christoph Koch Approximationsalgorithmen für eine Rasenmäher- oder eine Fräsetour 22. Mai 2006 Seminararbeit im SS 2006 Betreuer: Thomas Kamphans

Zusammenfassung In dieser Ausarbeitung geht es um die Probleme eine möglichst kurze Rasenmäher- oder Fräsetour zu finden. Dabei ist eine Fläche (Wiese) als Polygon in der Ebene gegeben, welche durch einen Kreis oder ein Quadrat (Rasenmäher) abgefahren werden muß, so dass jeder Punkt des Polygons mindestens einmal besucht wurde. Beim Fräsen wird im Gegensatz zum Rasen mähen das Übertreten des Polygonrandes verboten. Ausserdem werden wir weiter gute Approximationen für eine TSP-Tour (Traveling Salesman Problem) erhalten. Inhaltsverzeichnis 1 Einführung 2 2 Voraussetzungen 2 3 Approximation der Rasenmäher-Tour 3 4 Approximation des Fräse-Problems 10 5 TSP auf dem Gitterpraph 12 6 Zusammenfassung 19 1

1 Einführung Betrachten wir folgendes Problem. Wer kennt das nicht, man kommt nach Hause von der Arbeit/Schule/Uni und man will noch etwas schönes machen. Dann erinnert man sich oder bekommt es aufgetragen, von der Mutter oder vom Vater, dass man doch noch den Rasen mähen soll, bevor man geht. Man will also schnell fertig werden und überlegt sich den vermutlich kürzesten Weg, damit man dementsprechend auch schneller fertig ist. Nur wie sieht jetzt der tatsächlich kürzeste Weg aus und ist es mir erlaubt mit dem Rasenmäher über die Ränder zu fahren oder ist dort ein Blumenbeet und deshalb nicht zugelassen (siehe Fräseproblem). Beide Probleme lassen wahrscheinlich keine effiziente Berechnung eines kürzesten Pfades zu (Fräseproblem ist NP-hart für Flächen ohne Löcher, mit Löcher noch schwieriger und das Rasenmäherproblem ist ebenfalls NP-hart), jedoch werden wir Algorithmen kennen lernen [1], die eine gute Approximation an den kürzesten Pfad berechnen. In dieser Ausarbeitung werden wir uns erst mit dem Rasenmäher- Problem befassen, bevor wir uns das Fräsen und auch das TSP genauer anschauen. 2 Voraussetzungen Wir haben eine planare Region (Wiese) R, sowie einen Mäher χ, der entweder ein Kreis oder ein achsenparalleles Quadrat ist, gegeben. Dabei bezeichnet im Folgenden n die Anzahl an Eckpunkten und δr die Grenze von R. Ohne die Generalität zu verletzen können wir annehmen, dass χ ein Einheitskreis oder ein Einheitsquadrat ist. Der Referenzpunkt des Mähers ist dabei der Mittelpunkt. χ(p) bezeichnet die vom Mäher überdeckte Fläche, wenn der Referenzpunkt auf p liegt. Des Weiteren gibt es zwei mögliche Bewegungsarten für den Mäher. Bei der rechtwinkligen Bewegung bewegt sich der Mäher entlang von Liniensegmenten, die parallel zu einer Koordinatenachse liegen, während die willkürliche Bewegung eine geradlinige Bewegung mit einer willkürliche Richtung ist. Im Folgenden sprechen wir von einer einfachen Umgebung, wenn die Region R keine Löcher hat. Es kann vorausgesetzt werden, daß die Region als Menge von Liniensegmenten gegeben ist. Für einige Beweise ist es nötig die Region zu rastern. Dafür wird ein Gitternetz über die Region gelegt, wobei die Schnittpunkte der Gitterlinien, also die Gitterpunkte, Ganze Zahlen als Koordinaten haben. Eine Möglichkeit die Lage des Gitternetzes zu bestimmen, wäre z.b. die Ausgangsposition des Mähers als Position für eine Gitterzelle zu nehmen. Im Folgenden sprechen wir von einer Fläche, wenn wir die 1x1 Quadrate meinen, die vom Gitternetz eingerahmt sind. Eine Zelle ist dagegen ein 1x1 Quadrat das einen Gitterpunkt als Mittelpunkt hat (vgl. Abbildung 1). 2

Abbildung 1: Der Unterschied zwischen einer Zelle und einer Fläche. 3 Approximation der Rasenmäher-Tour Eine Rasenmäher-Tour ist eine Tour T, so dass jeder Punkt der Region R mindestens einmal von dem Mäher χ überdeckt wurde, d.h.: R p T χ(p) T opt sei eine optimale Rasenmäher-Tour und T opt seine Länge. S sei die Menge der Mittelpunkte derjenigen Zellen, die einen nichtleeren Schnitt mit der Region R haben. Das heißt, dass alle Zellen mit Mittelpunkten aus S die Region R überdecken. Wir müssen also bei unserer Tour nur alle Punkte aus S besuchen und haben somit schon eine gültige Rasenmäher-Tour. Dies gleicht dem Problem eine TSP-Tour für S zu finden. Dies bringt uns zu unserem ersten Lemma. Lemma 1 Jede Tour auf der Punktmenge S ist eine Rasenmäher-Tour für einen (Einheitsquadrat) Mäher χ. Das Ziel des nächsten Lemmas ist es zu zeigen, dass es hinreichend ist, nach Touren auf dem Gitternetz zu suchen. Dafür brauchen wir die eingeführten Flächen (Flächen des Gitternetzes). Lemma 2 Für einen quadratischen Mäher mit der Seitenlänge 1, dem nur achsenparallele Bewegungen erlaubt sind, existiert eine Tour T G auf dem Gitternetz mit T G T opt und T G schneidet dieselben Flächen wie T opt. Um dies zu beweisen zeigen wir ein Verfahren, mit dem man eine optimale Tour auf das Gitternetz legen könnte ohne die Länge der Tour zu erhöhen. Dabei bleibt die Menge an Flächen die durch die Tour geschnitten werden gleich. Beweis. Wenn die optimale Tour T opt komplett durch einen Block von 4 Zellen laufen würde, die eine gemeinsame Ecke teilen, dann muss T G diese 3

eine Ecke beinhalten (vgl. Abbildung 2). Man beachte, dass es bei diesem Lemma erst einmal nur um dieselbe Schnittmenge der Flächen mit T opt und der Flächen mit T G geht, T G ist nicht notwendigerweise eine Rasenmäher- Tour. Abbildung 2: Eine Tour die P enthält schneidet dieselben Flächen wie die Tour π in dieser Abbildung Sollte T opt nicht komplett in einem Block von 4 Flächen liegen, dann legen wir nacheinander die Wendepunkte und die Toursegmente auf das Gitternetz. Wendepunkte sind Punkte, bei denen die Tour die Richtung ändert. Sollte ein solcher Punkt im Inneren einer Zelle liegen, also nicht auf dem Gitternetz, dann können wir diesen auf das Gitternetz legen ohne die Länge der Tour zu verlängern. Dazu betrachten wir folgendes Beispiel: Der Punkt p liegt innerhalb einer Fläche und ist ein Wendepunkt der Tour mit L -Form. Der Punkt a ist der Punkt an dem die Tour die Fläche von p betritt und der Punkt b ist der Punkt an dem die Tour die Fläche wieder verlässt. Die Tour kann dann umgeklappt werden, so daß diese auf dem Gitternetz liegt und aus Symmetriegründen nicht länger ist (vgl. Abbildung 3). Wenn wir dieses Verfahren für alle Wendepunkte anwenden, dann erhalten wir eine Tour T, bei der alle Wendepunkte auf dem Gitternetz liegen. Als nächstes müssen noch die Toursegmente, die nicht auf dem Gitternetz liegen, auf das Gitternetz geschoben werden, um eine vollständig auf dem Gitternetz liegende Tour zu erhalten. Sollte T schon auf dem Gitternetz liegen, so sind wir schon fertig. Ansonsten braucht man lediglich die Wendepunkte die noch nicht auf den Gitterpunkten liegen eben auf solche verschieben. Dabei gibt es zwei Fälle die wir betrachten müssen. Sei b ein Wendepunkt auf einer vertikalen Gitterlinie (der Fall einer horizontalen Gitterlinie ist äquivalent, nur gespiegelt) dann kann in b die Tour um 90 die Richtung ändern (1), oder um 180 (2)(Kehrtwende). zu (1): Wir betrachten eine von b ausgehende, horizontale Kante ab. Zu a und b gibt es je eine inzidente, vertikale Kante, die a mit einem weiteren Punkt 4

Abbildung 3: Der Teilpfad von a nach b über p kann auf das Gitternetz geklappt werden. d und b mit einem weiteren Punkt c verbindet. Abhängig von der Lage von c und d sind 2 Fälle zu unterscheiden:(i) c und d liegen auf verschiedenen Seiten von ab und (ii) c und d liegen auf derselben Seite von ab. (i) In diesem Fall können wir das Segment ab einfach horizontal verschieben bis es auf einer horizontalen Gitterlinie liegt oder auf einen weiteren Wendepunkt trifft. Wir verändern die Länge der Tour dadurch nicht. Sollte ein Wendepunkt getroffen werden so reduzieren wir dadurch die Anzahl an Wendepunkten (vgl. Abbildung 4). (b) Wir verschieben in diesem Fall ab horizontal in die Richtung, bei der die Länge der Tour reduziert wird. Auch dabei gibt es wieder die zwei Möglichkeiten (treffen auf Wendepunkt oder horizontale Gitterlinie) mit denen genauso verfahren wird (vgl. Abbildung 4). zu (2): Bei den Kehrtwenden gibt es ebenfalls 2 Unterfälle: (i) Das Toursegment liegt bereits auf dem Gitternetz, d.h. wir müssen nur noch dieses Segment verkürzen bis b auf einem Gitterpunkt liegt. (II) Das Toursegment liegt nicht auf dem Gitternetz, dann verschieben wir dieses Segment parallel zu sich selber, bis b auf einem Gitterpunkt und dementsprechend auch das Segment auf dem Gitternetz liegt. (vgl. Abbildung 5) Sobald dieses Verfahren terminiert, erhalten wir die gewünschte Tour T G die komplett auf dem Gitternetz verläuft und die dieselben Flächen wie T opt besucht. Wenn wir diese Tour betrachten, dann ist sie maximal genauso lang, wie die optimale Tour, also T G T opt (vgl. Lemma 2), aber es muss nicht 5

Abbildung 4: Links ist der Fall (1(i)) und rechts (1(ii)). unbedingt eine Rasenmäher-Tour sein, denn durch das Verschieben der Tour auf das Gitternetz, kann es Regionen geben, die nicht gemäht wurden (vgl. Abbildung 6). Sollte allerdings die Menge S G, die Menge an Gitterpunkten die durch T G besucht werden, mindestens die Punkte aus S beinhalten, so haben wir eine Rasenmäher-Tour. Ansonsten werden wir eine Möglichkeit kennenlernen, die Tour T G in eine Rasenmäher-Tour umzuwandeln, und zeigen, dass diese Tour maximal 3 mal so lang ist, wie eine optimale Tour. Im Folgenden beschreibt Π den Pfad den wir erhalten, wenn man von T G ein Teilstück, also eine Kante auf dem Gitternetz der Länge 1, entfernt. Weiter bezeichnet F die Region die überdeckt bzw. gemäht wurde, wenn ein quadratischer Mäher mit Seitenlänge 2 dem Pfad Π folgt. Lemma 3 Jeder Mittelpunkt aus S wird entweder von der Tour Π besucht oder ist in der L Distanz von 1 von der Tour Π entfernt, d.h. S Π δf. Beweis. Sei p S ein Mittelpunkt einer Zelle und P eine von den 4 Flächen, die p als Eckpunkt haben. π ist nun der Abschnitt der optimalen Tour T opt, der in P liegt. Der Bereich der gemäht wird, wenn man π mit dem Mäher abfährt liegt komplett in der Vereinigung der Zellen C 1...C 4, dessen Mittelpunkte die Eckpunkte der Fläche P sind (vgl. Abbildung 7). Da wir aber schon gezeigt haben, dass T G und folglich auch Π dieselbe Menge an Flächen durchläuft, können wir folgern, dass mindestens eine Ecke von P in S G liegt. Dies wiederum führt uns dahin, dass alle 4 Eckpunkte von P in der Vereinigung von Π und δf liegen. Diese Vereinigung beinhaltet alle Punkte von S G und alle weiteren Mittelpunkte der Zellen die einen L -Abstand 1 6

Abbildung 5: Links ist der Fall (2(i)) und rechts (2(ii)). Abbildung 6: Die blaue Tour erhalten wir nach Anwenden des o.g. Verfahren. Nur die lila Fläche wird gemäht und der Rest nicht. von Π haben. Dadurch hätten wir auch die Punkte wieder aufgesammelt, die durch vorheriges verschieben verloren gegangen sind. Die folgende Menge S G = S (Π δf ) hilft uns, den Faktor von 3 zu zeigen. Lemma 4 Es existiert eine Tour, die S G (folglich auch S) abläuft, mit einer maximalen Länge von 3 T G + 6 (folglich 3 T opt + 6) Beweis. Der Beweis dafür nimmt einen bestehenden Ansatz aus [3] für den schon gezeigt wurde, dass für einen Pfad der Länge l und eine Scheibe mit Umfang c ein Weg existiert, der maximal 2l + c lang ist. Wir wissen, dass unsere L Scheibe mit Radius 1 einen Umfang von 8 hat und wir wissen, dass es eine Tour T gibt, die δf abfährt, und deren Länge maximal 2l Π +8 = 2( T G 1)+8 = 2 T G +6 beträgt. Allerdings müssen die Touren T 7

Abbildung 7: Ein Mäher der auf π langfährt schneidet die 4 Flächen. und T G noch zu einer Tour zusammengesetzt werden. Da es aber mindestens eine Stelle gibt, an der Π und δf parallel zueinander verlaufen und einen Abstand von 1 haben, kann man dort 2 Teilstücke swappen, also jeweils eine Kante von δf und von Π nehmen und als Überbrückung benutzen (vgl. Abbildung 8). Somit haben wir T und T G kombiniert, erhalten eine Länge von 2 T G + 6 + T G = 3 T G + 6 und wir überdecken dabei alle Punkte von Π und δf und folglich auch alle Punkte von S G und S. Abbildung 8: Die rote und die blaue Tour werden durch einen Swap an der grün markierten Stelle zu einer Tour zusammengefügt. Die Tour T G zu berechnen ist allerdings NP-hart. Da wir aber gesehen haben, daß es einer TSP-Tour gleicht, können wir durch schon bekannte Verfahren die Tour approximieren. Wir haben zusätzlich noch einen Approximationsfaktor α T SP der mit dem bisherigen Ergebnis multipliziert werden muss um die Tour T G zu approximieren. Z.B. kann man die Tour approximieren in dem wir den MST (Minimal Spanning Tree) 2 mal abfahren (vgl. Abbildung 8

9) und hätten dabei also den Wert α T SP = 2 und dementsprechend eine Tour T G von α T SP 3 T opt = 6 T opt. Rao und Smith [5] haben eine bessere Approximation von (1 + ɛ) gezeigt, was wiederum eine Approximation von T G von (3 + ɛ) zuläßt. Abbildung 9: Eine TSP-Approximation die den MST benutzt hat einen Faktor von 2. Für den Fall, daß dem Rasenmäher willkürliche Bewegungen erlaubt sind kann man die approximierte Länge mit einem zusätzlichen Faktor β = 2 1.08. Dieser Faktor kommt zustande, indem wir eine optimale Tour 2+ 2 T opt auf ein Gitternetz mit Diagonalen legen. Dabei sind alle Gitterpunkte mit horizontalen und vertikalen Nachbarn der Entfernung 1 und mit allen diagonalen Nachbarn mit der Entfernung 2 verbunden. Sollte der Rasenmäher nun die Form eines Einheitskreises haben, so müssen wir eine andere Form der Zelle wählen, nämlich ein reguläres Sechseck mit Durchmesser 2. Die Mittelpunkte dieser Zellen werden wieder zu einem Gitternetz verbunden, welches nun Flächen definiert, die gleichseitigen Dreiecken mit Seitenlänge 3 entsprechen. Ein Pfad kann gefunden werden, der die approximierte Länge um einen Faktor γ = 2 3 3 1.15 erweitert. Insgesamt bringt uns das zu folgendem Theorem: Theorem 5 Es gibt für das Rasenmäher Problem einen Approximationsalgorithmus mit konstantem Faktor, der in polynomieller Zeit ausgeführt werden kann (je nach Wahl der TSP-Heuristik). Für den Fall, daß der Rasenmäher ein achsenparalleles Einheitsquadrat ist, haben wir einen Approximationsfaktor von 3α T SP für rechtwinklige Bewegungen und 3βα T SP 2 für willkürliche Bewegungen mit β = 2+ 1.08. Sollte der Rasenmäher 2 ein Einheitskreis sein, so haben wir einen Approximationsfaktor von 3γα T SP mit γ = 2 3 3 1.15. 9

4 Approximation des Fräse-Problems Betrachten wir nun das Problem des Fräsen bei dem der Mäher immer innerhalb der Region R bleiben muss. Das heißt, eine Fräser-Tour ist eine Tour π, bei der jeder Punkt der Region R mindestens ein mal von dem Mäher χ überdeckt wurde ohne dass ein Punkt ausserhalb des Polygons überdeckt wurde, d.h.: R = χ(p) p T Theorem 6 In Zeit O(n log n) kann entschieden werden, ob eine zusammenhängende Region mit n Kanten von einem Einheitskreis- oder Einheitsquadrat Mäher gefräst werden kann. In derselben Zeit kann auch eine Tour mit einer Länge maximal 2.5 mal so lang wie eine optimale Tour gefunden werden. Abbildung 10: Ein Polygon und ihre Fräsetouren. Beweis. Man kann in Zeit O(n log n) feststellen ob eine Region gefräst werden kann oder nicht. Dies kann man mit Hilfe des inneren und des 10

äusseren Offsets lösen, indem man diese nacheinander erst berechnet und dann mit dem Originalpolygon vergleicht. Sollten die beiden nicht übereinstimmen, so haben wir einen Flaschenhals oder eine spitze Ecke, was eine Fräsetour nicht zulässt. Deshalb können wir voraussetzen, daß die Region R gefräst werden kann. Wir werden sehen, dass sich die von 2.5 * T opt aus 3 Teilen zusammensetzt. B ist die Region, in die wir den Mittelpunkt der Fräse legen können, ohne den Rand zu schneiden. Weiter bezeichnen wir δb als den Rand von B, der alle Punkte enthält, bei denen die Fräse, bei Platzierung auf diesen Punkten, den Rand berühren würden (vgl Abbildung 10) und können die Länge von δb als δb bezeichnen. δb ist aber gerade eine untere Schranke für T opt. Zu beachten bleibt dabei, dass sich δb aus mehreren Teilen zusammensetzen kann, wenn die Region Löcher enthält. Wir bezeichnen R δb als die Region die schon gefräst wurde, wenn die Fräse δb entlang fährt. Wie schon erwähnt, kann sich R δb aus mehreren Teilen zusammensetzen, wenn R Löcher enthält. Wenn R \ R δb nicht leer ist, dann gibt es noch Fläche die noch nicht gefräst wurde und wir können diese mit horizontalen Streifen (Strip Lines) S i mit vertikaler Breite 1 und disjunktem Inneren bedecken (vgl. Abbildung 10). Jeder dieser Streifen hat dabei eine Mittellinie und jeder Streifen liegt nur innerhalb von R. So benötigen wir mindestens die Länge der Summe aller Streifenlängen, d.h. L str = um die Region R komplett zu fräsen, entspricht höchstens T opt. s L Si i=1 Schauen wir uns die Menge der Endpunkte der Mittellinen der Streifen an, dann stellen wir fest, dass es sich dabei um eine Menge mit gerader Anzahl hält. Nehmen wir auf der Grenze δb nur jeden zweiten Punkt dieser Menge, dann können wir die Menge der Endpunkte in zwei disjunkte Mengen M 1 (δb) und M 2 (δb) unterteilen. Dadurch dass wir einen Mäher mit Radius 1 haben überdecken wir gleich 2 Streifen und können bei einer Zick- Zack-Tour jeden zweiten Endpunkt überspringen. M (δb) ist das bessere Matching mit Länge M (δb). Da wir den ganzen Weg δb mit T opt abgeschätzt haben und wir nun das bessere Matching nehmen (im worst case genau die Hälfte) folgt: M (δb) L δb 2 Topt 2 Unsere Tour setzt sich also aus folgenden drei Teilen zusammen. Erstens sind wir einmal den Rand abgefahren um zu gewährleisten, dass dort auch wirklich jeder Punkt gefräst wurde, denn gerade die Tour M (δb) fräst nicht die ganze Region R δb (vgl. Abbildung 11). Die Tour δb haben wir mit 11

Abbildung 11: Sollte der Rand von R abgefahren werden durch die Fräse, so entstehen diese Lücken O. T opt als obere Schranke abgeschätzt. Als zweites brauchten wir die Tour, die den Innenraum des Polygons fräst. L str haben wir ebenfalls mit T opt als obere Schranke abgeschätzt. Zusätzlich um die Streifen zu verbinden haben wir noch das bessere Matching der Mengen M 1 (δb) und M 2 (δb) genommen und mit Topt 2 als obere Schranke abgeschätzt. Dies bringt uns in der Summe zu einer Approximation von 2.5 T opt. Damit ist aber noch nicht gezeigt, dass es sich auch wirklich um eine Tour handelt, die nicht noch einmal neu ansetzen muss oder einen Weg doppelt geht. Betrachten wir also einmal den Graphen, der aus den Endpunkten der Mittellinen der Streifen und den Punkten, wo eine solche Linie δb berührt besteht. Diese Punkte/Knoten haben den Grad 4 (vgl. Abbildung 11), denn die Mittellinie eines Streifens geht von da aus weg, δb geht durch den Punkt und M (δb) geht von dort aus weg. Daraus folgt dass wir eine Euler Tour haben und wir daraus eine berechenbare Fräse-Tour generieren können, die nicht länger als 2.5 T opt ist. 5 TSP auf dem Gitterpraph Nachdem wir eine 2.5-Approximation des Fräse-Problems kennengelernt haben, zeigen wir eine weitere Approximation für einen Spezialfall dessen. Nehmen wir als Werkzeug ein Einheitsquadrat an, das achsenparallele Bewegungen machen darf. Weiterhin sei die Region R einfach mit nur rechtwinkligen 12

Kanten, deren Punkte auf dem Mittelpunkten der Flächen liegen. Wie man feststellen kann, ist das Fräse-Problem in diesem Fall äquivalent zu dem Problem, eine optimale TSP Tour auf dem Gittergraph G zu finden, der sich zusammensetzt aus den Knoten bzw. Mittelpunkten derjenigen Zellen, die R bedecken. Definition 7 Ein Knoten v auf einem Gittergraph G heisst Schnittknoten, wenn beim entfernen von v der Graph G nicht mehr zusammenhängend ist. Für die weiteren Berechnungen setzen wir voraus, dass G keine solche Schnittknoten hat. Dies können wir tun, denn sollte G einen solchen Knoten v haben, dann können wir das Approximationsproblem zerlegen, indem wir für jede Komponente die wir erhalten, wenn wir v entfernen, das Problem lösen und dann die Touren zusammensetzen. Ntafos [4] hatte dieses Problem bereits behandelt und eine 4 3 -Approximation vorgestellt, auch unter der Annahme, dass keine Schnittknoten existieren. Wir wollen jetzt in dem nächsten Abschnitt diese Approximation auf 6 5 verbessern, was uns zu folgendem Theorem führt. Theorem 8 Sei G ein einfacher Gittergraph, mit der Knotenmenge V, die die Mittelpunkte der Zellen sind, welche ein einfaches rechtwinkliges Polygon R mit n Kanten beschreiben und sei N die Anzahl von V. Wir setzen voraus, dass G keine Schnittknoten hat. In Zeit O(n) kann eine Tour gefunden werden, die alle N Knoten von G besucht und maximal 6N 4 5 lang ist. Abbildung 12: Hier sieht man die Kontur und ein Beispiel für einen Flaschenhals. Für den Beweis teilen wir die Knoten V in zwei Teile, nämlich die Zellen V I, die innerhalb von R liegen und die Zellen V B, die auf einer oder mehreren Seiten den Rand von R berühren. 13

Definition 9 Existiert ein Gittergraph G zu einer Region R ohne Schnittknoten und sei V B die Menge der Knoten deren Zellenränder den Rand von R berühren, dann gibt es einen einfachen Zyklus, der die Menge V B abfährt und jeden Knoten genau einmal besucht. Einen solchen Zyklus nennen wir Kontur von G (vgl. Abbildung 12). Definition 10 Wir sprechen von einem Flaschenhals, wenn zwei Kanten e und f von der Kontur C (1) parallel sind und den Abstand 1 haben und (2) es keine Kante g gibt so dass e, g und f einen Teilpfad der Länge 3 bilden (vgl. Abbildung 12). Abbildung 13: Die Aufteilung von G an der Stelle des Flaschenhalses. Um in unserem Beweis fortzufahren zeigen wir erst, dass es ausreicht nur den Fall ohne Flaschenhälse zu betrachten. Dazu beweisen wir folgendes Lemma. Lemma 11 Betrachten wir einen einfachen Gittergraphen G mit N Ecken, der keinerlei Schnittknoten hat. Wenn wir annehmen, dass eine Tour, für jeglichen Gittergraphen ohne Flaschenhälse existiert, die maximal 6N 4 5 lang ist, und dass jeder Knoten von Grad 2 mit seinen Nachbarn verbunden ist, dann können wir auch eine Tour dieser Länge für einen einfachen Gittergraphen ohne Schnittknoten in der jeder Knoten mit Grad 2 ist mit seinen Nachbarn verbunden ist. Beweis. Das Lemma lässt sich mit Hilfe einer Induktion über die Anzahl an Flaschenhälsen beweisen. Seien e = (v 1, v 2 ) und f = (v 3, v 4 ) zwei Kanten, die einen Flaschenhals bilden, der G in die beiden Teilgraphen G 1 und G 2 zerlegt. G 1 beinhaltet dabei N 1 und G 2 N 2 viele Knoten. Daraus ergibt sich, 14

dass die komplette Anzahl an Knoten N = N 1 + N 2 + 4 ist (vgl. Abbildung 13). Wir können somit G in folgende beiden Teile zerlegen: H 1 bestehend aus G 1, v 1, v 2,v 3,v 4 und H 2 bestehend aus G 2, v 1,v 2,v 3, v 4. In H 1 sind jetzt allerdings die Knoten v 2 und v 4 wieder von Grad 2 genau wie in H 2 die Knoten v 1 und v 3. Daraus folgt, dass wir eine Tour für H 1 haben, die aus dem Pfad π 1 von v 1 bis v 3 und den Kanten (v 2, v 4 ), e und f besteht und die Länge 6(N 1+4) 4 5 = 6N 1 +20 5 hat. Gleiches gilt für eine Tour für H 2 bestehend aus dem Pfad π 2 von v 2 nach v 4 und den Kanten (v 1, v 3 ), e und f. Betrachtet man nun die Tour die sich aus π 1, π 2, e und f zusammensetzt, dann sieht man dass dies eine Tour für G ist in der alle Knoten von Grad 2 mit ihren Nachbarn verbunden sind und man spart dabei noch 4 Kanten im Vergleich zu den beiden einzelnen Touren. Es ergibt sich also eine resultierende Länge von maximal : (6N 1 +20)+(6N 2 +20) 5 4 = 6(N 1+N 2 +4) 4 5 = 6N 4 5 Wir können also nun für den Rest des Beweises von Theorem 5 annehmen, dass wir keine Flaschenhälse haben. Kommen wir also zur Konstruktion einer Tour die wir mit 6 5 N Kanten abschätzen können. Die Idee besteht darin, dass die Kontur C entlanggelaufen wird und bei bestimmten Ereignissen ein Abstecher in das Innere gemacht wird. Wir werden sehen, dass wir nie mehr als einen Knoten pro 5 Knoten doppelt besuchen werden. Das Ziel ist es also so wenig wie möglich Kanten zu verwenden. Klar ist auch dass N T opt. Da wir uns im Gittergraphen bewegen, liegen die inneren Knoten V I auf ganzzahligen y-koordinaten. Wir zerlegen weiterhin die Menge V I in kleinere Mengen, die aus den Knoten bestehen, die eine Doppelreihe G j I bilden. D.h. alle Knoten mit der Y-Koordinate 2j und 2j + 1 liegen dabei auf so einer Doppelreihe. Betrachten wir eine solche Doppelreihe, dann stellen wir fest, dass jede vertikale Reihe entweder 0, 1 oder 2 innere Knoten hat. Beachte, dass die Knoten von V B, die auf der Kontur liegen, keine inneren Knoten sind. Wir sprechen in diesem Zusammenhang von einer leeren Spalte, wenn kein innerer Knoten in der Spalte ist oder von einem Einfachspalte (ein innerer Knoten) oder einer Doppelspalte (2 innere Knoten). Nun gibt es eine Reihe von Modifikationen die wir an unserer bestehenden Tour C (Kontur) vornehmen werden, um alle Knoten V zu besuchen. Diese Tour nennen wir C. Wir behalten die Invariante bei, dass C eine geschlossene Tour sein muss. Initial ist C = C. Sollte C alle Knoten V besucht haben, so ist 15

C = T unsere resultierende Tour. Des Weiteren bezeichnet V I die Menge aller inneren Knoten, die noch nicht besucht wurden. Definition 12 Eine Modifikation einer Kontur C heisst frei, wenn durch die Modifikation keine Doppelbesuche von Knoten entstehen. Es gibt zwei Arten von Modifikationen, die frei sind. Beachte, dass die Modifikationen jeweils nur an Doppelreihen durchgeführt werden. Abbildung 14: Die beiden Möglichkeiten einer freien Modifikation. (I) Wenn eine leere Spalte eine Doppelspalte als Nachbarn hat und die Knoten der Doppelspalte über eine Kante (u, v) verbunden sind, modifziere die Tour indem die Kante (u, v) gelöscht wird und anstelle dessen der Umweg von u über die beiden inneren Knoten aus V I hin zu v als neue Kanten in C eingeführt werden. Dieser Vorgang kann so lange durchgereicht werden, bis keine leeren Spalten mehr Nachbarn von C in dieser Doppelreihe sind (vgl Abbildung 14(I)). (2) Wenn 2 benachbarte Einfachspalten einen inneren Knoten von V I in derselben Zeile haben und es eine Kante (u, v) gibt die die beiden Knoten die bereits zu C gehören verbindet, dann löschen wir die Kante (u, v) und gehen wieder den Umweg von u über die beiden inneren Knoten zu v. Auch dieser Vorgang kann fortgesetzt werden, bis kein solcher Fall mehr in dieser Doppelreihe auftritt (vgl. Abbildung 14(II)). Wir führen diese beiden freien Modifikationen so lange durch, bis wir keine solche mehr durchführen können. Sollte die Menge V I jetzt leer sein, so sind wir fertig. Ist dem nicht so, so haben wir noch keine fertige Tour C die auch alle inneren V I besucht. V I zerfällt dabei in mehrere Zusammenhangskomponenten H die wir für die einzelnen Doppelreihen G j I (den Doppelreihen) separat betrachten und für die folgende Bedingungen gelten: 1. Es kann keine Doppelspalte aus H mit einer vertikalen Kante von C benachbart sein. 2. Es gibt keine drei aufeinander folgende Einfachspalten, die den inneren Knoten aus V I in derselben Zeile haben. 16

3. Die einzige Möglichkeit in der H zwei aufeinander folgende Einfachspalten haben darf, ist wenn H nur eine einzige horizontale Kante besitzt und diese die beiden Knoten aus den Einfachspalten verbindet. Bis jetzt haben wir also für jeden Knoten aus V genau eine Kante eingefügt. Es gibt jetzt aber noch 6 weitere Fälle, die auftreten können, wenn wir die beiden freien Modifikationen durchgeführt haben. Bei denen kommt es allerdings zu Doppelbesuchen von Knoten, wobei wir nie mehr als einen Knoten pro 5 Knoten doppelt besuchen werden: Abbildung 15: Weitere Fälle für die Modifikation von C. (a) H besteht aus einem einzigen Knoten aus V I. In diesem Fall müssen 5 Knoten aus C in der Nachbarschaft von jenem Knoten aus H liegen. Wir verbinden also diesen Knoten aus H mit einem beliebigen Nachbarknoten mit Hin- und Rückweg und haben somit einen Knoten doppelt besucht. Demnach haben wir für 6 Knoten einen doppelt besucht und sind immer noch besser als unser gewünschtes Ergebnis (vgl. Abbildung 15(a)). 17

(b) H besteht aus 2 horizontal benachbarten Knoten. Die Knoten von C in diesen beiden Einfachspalten können keine gemeinsame Kante haben, da wir sonst hier schon eine freie Modifikation vorgenommen hätten. Diese beiden Knoten haben also eine vertikale Kante in entgegengesetzter Richtung zu H und die beiden Endpunkte sind wiederum verbunden, da wir vorausgesetzt haben, dass es keine Flaschenhälse gibt, und somit auf C (vgl. Abbildung 15(b)). Wir modifizieren also C so, dass die beiden Knoten aus H miteinander verbunden werden (Hin und Rückweg) und einer der beiden mit einem Knoten aus C in derselben Zeile verbunden wird (Hin und Rückweg). Wir haben also bei 10 Knoten 2 doppelt besucht, dementsprechend bei 5 Knoten einen. (c) H besteht nur aus Doppelspalten. Um diese Knoten zur Tour C hinzuzufügen verbinden wir alle Knoten aus H zu einem Zyklus und verbinden dann einen beliebigen Knoten aus H der eine Kantenlänge von C entfernt ist mit C durch Hinzufügen einer Hin- und einer Rückkante (vgl. Abbildung 15(c)). (d) H besteht aus einer oder mehreren Doppelspalten und genau einer Einfachspalte. Die Tour wird so modifiziert, dass wir aus den Knoten aus H und dem Knoten aus C der auf der Einfachspalte liegt einen Zyklus bauen (vgl. Abbildung 15(d)). (e) H besteht aus einer oder mehreren Doppelspalten und genau zwei Einfachspalten dessen Knoten in derselben Zeile liegen. Verbinde alle Knoten aus H, außer einem der beiden aus den Einfachspalten mit dem Knoten aus C der in der Einfachspalte liegt, von dem Knoten, den wir mitverbinden wollen, zu einem Zyklus. Der noch nicht verbundene Knoten wird mittels Hin- und Rückkante mit dem Zyklus verbunden (vgl. Abbildung 15(e)). (f) H besteht aus einer oder mehreren Doppelspalten und genau einer Einfachspalte dessen Knoten auf unterschiedlichen Zeilen liegen. Modifiziere genau wie bei (e)(vgl. Abbildung 15(f)). Bei keinem dieser Fälle haben wir mehr Knoten doppelt besucht als bei (b) also pro 5 Knoten genau einen. Daraus folgt, dass wir 6 5N Kanten haben. Um Lemma 5 abzuschliessen sind wir aber noch nicht ganz fertig. Wir müssen noch zeigen, dass wir für 4 Knoten keine Kante verschwenden um 6N 4 5 zu erhalten. Dabei betrachten wir die Unterteilung in oben erwähnte Doppelreihen. Dabei kann man entweder oben anfangen die Knotenreihen in Doppelreihen zu unterteilen oder unten. Im schlechtesten Fall kommt eine Konstellation zustande, in der mindestens 3 Knoten aus V B als Rand ganz unten oder ganz oben liegen, je nachdem wie man unterteilt hat. Dies kommt daher, da wir angenommen haben, dass es keine Flaschenhälse gibt. Weiterhin bildet die Doppelreihe über dieser Zeile eine Doppelreihe vom 18

Fall (a)(vgl. Abbildung 16). In diesem Fall haben wir für 6 Knoten einen Knoten doppelt besucht. Wenn wir die Approximation von 6 5 nehmen, dann haben wir zusätzlich noch einen Knoten der nicht mehr doppelt besucht werden muss. Zusammen mit den 3 Knoten vom Rand haben wir in diesem schlechtesten Fall 4 Knoten die wir definitiv nicht doppelt besuchen müssen oder in einem weiteren Fall eine Rolle spielen. Wir können somit die 4 aus dem Nenner wieder streichen und erhalten letztendlich den Approximationsfaktor von 6 5 N. Abbildung 16: Die beiden oberen Zeilen bilden den Fall (a) wobei der Knoten unten links nie mehr besucht wird, wie die drei in der untersten Zeile. 6 Zusammenfassung In dieser Ausarbeitung wurden Algorithmen vorgestellt, die Approximationen für entweder das Rasenmäher-Problem oder das Fräse-Problem liefern. Wir haben gezeigt dass für das Rasenmäher-Problem eine Approximation von (3 + ɛ) und für das Fräse-Problem eine 2.5-Approximation möglich ist. Des Weiteren haben wir einen Spezialfall des Fräse-Problems betrachtet und dafür eine Approximation von 6 5 N geliefert. 19

Literatur [1] E. M. Arkin, S. P. Fekete, and J. S. B. Mitchell. Approximation algorithms for lawn mowing and milling. Comput. Geom. Theory Appl., 17:25 50, 2000. [2] S. Arora. Nearly linear time approximation schemes for Euclidean TSP and other geometric problems. In Proc. 38th Annu. IEEE Sympos. Found. Comput. Sci., pages 554 563, 1997. [3] S. P. Fekete and W. R. Pulleyblank. Traveling the boundary of minkowski sums. Inform. Process. Lett., 66:171 174, 1998. [4] S. Ntafos. Watchman routes under limited visibility. Comput. Geom. Theory Appl., 1(3):149 170, 1992. [5] S. B. Rao and W. D. Smith. Approximating geometrical graphs via spanners and banyans. In Proc. 30th Annu. ACM Sympos. Theory Comput., pages 540 550, 1998. 20