Polynomial Time Approximation Schemes for Euclidean Traveling

Werbung
Polynomial Time
Approximation Schemes for
Euclidean Traveling
Salesman Problems
Benjamin Thome
Gliederung
Einleitung
Definitionen
ETSP in R2
Der Algorithmus in R2
ETSP in Rd
Idee Algorithmus für Rd
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 2 von 25
Einleitung
Traveling Salesman Problem (TSP):
Gegeben n Knoten und für jedes
Knotenpaar {i, j} Distanz di,j.
Gesucht geschl. Weg, der jeden Knoten
genau einmal durchläuft und die
geringsten Kosten verursacht.
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 3 von 25
Einleitung
Beispiele:
Rundreise eines Vertreters
ET: Kürzester Weg des Roboters zum Bohren
von Löchern in Platinen
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 4 von 25
Einleitung
Genaue Optimierung ist NP-hard (Karp
1972, Papadimitriou 1977)
Heute PTAS-Algorithmus aus Paper:
R2 Laufzeit beträgt
O(n(logn)(O(c)))
Rd Laufzeit beträgt
O(n(logn)(O(sqrt(d)*c)^d-1))
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 5 von 25
Einleitung
Polynomial Time Approximation Scheme
(PTAS): polynomial-time Algorithmus, der
für jedes feste c > 1, das Problem
innerhalb des Faktors OPT*(1 + 1/c)
annähern kann.
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 6 von 25
Definitionen
Für p ≥ 1 ist die Distanz zwischen zwei
Punkten (x1,…,xd) und (y1,…,yd) ∈ Rd in
der l p-Norm definiert als ∑di=1 (|xi – yi|p)1/p.
Für p =2 heißt die Norm Euklidische Norm.
Bsp. In R2: P=(7,1), Q=(2,-2)
=> d (P,Q) = sqrt((7-2)2 + (1+2)2) = 6
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 7 von 25
Definitionen
Bounding box: kleinstes (achsenparallele)
Quadrat, das alle Knoten des TSP enthält.
L := Länge der Seiten.
Dissection: Rekursive Partitionierung der
BB
Quadtree
OPT: Kosten der optimalen salesman tour
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 8 von 25
Definitionen
m, r ∈ Z+. m-reguläre Menge von Portalen
für verschobene Zerlegung ist Menge von
Punkten auf den Kanten der Quadrate
darin, ein Portal auf jeder seiner 4 Ecken
und m andere auf jeder Kante.
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 9 von 25
Definitionen
Ein salesman path ist ein Weg in R2, der
alle Input-Knoten und einige Untermengen
von Portalen besucht.
(m, r)-light i. B. auf die verschobene
Zerlegung, wenn jede Kante von jedem
Quadrat höchstens r-mal (immer bei
Portal) kreuzt.
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 10 von 25
ETSP in R2
Patching-Lemma: Es gibt eine Konstante
g > 0, so dass gilt: S Streckensegment mit
Länge s, P ein geschl. Weg, der S mind.
3-mal kreuzt.
=> es ex. Streckensegment auf S, dessen
Länge höchstens g ⋅ s beträgt und das
Hinzufügen zu P liefert einen geschl. Weg
P’, der S höchstens 2-mal kreuzt.
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 11 von 25
ETSP in R2
Lemma: Falls die dmin zwischen zwei
Knoten mindestens 4 beträgt gilt:
l: vertikal
∑ t(p, l) + l: horizontal ∑ t(p, l) ≤ 2T
(T := Länge von P, l Gitterlinie der BB)
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 12 von 25
ETSP in R2
Structure Theorem für Euklidische TSP
in R2: Sei c > 0 const, die dmin (≠0) zw. 2
Knoten in TSP = 8 und L Größe der BB.
Die Verschiebungen 0 ≤ a, b ≤ L seien
zufällig gewählt. Dann gilt Wahrsch. ≥ ½:
Es ex. (m, r)-light salesman path mit
Kosten von ≤ (1 + 1/c)*OPT, wobei m =
O(c logL) und r = O(c).
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 13 von 25
Der Algorithmus in R2
Perturbation: Aufbereitung des TSP
Konstruktion eines verschobenen
Quadtrees (und Derandomization)
Dynamische Programmierung (Finde
einen optimalen (m, r)-light salesman
path zu dem verschobenen Quadtree)
Laufzeit: (n(logn)(O(c)))
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 14 von 25
Der Algorithmus in R2
Perturbation:
allen Knoten ganzzahlige Koordinaten zuweisen
alle Distanzen (≠ 0) zwischen zwei Knoten sind
mindestens 8 Einheiten
Höchste Distanz zwischen zwei Knoten ist O(n)
=> Gitternetz der Maschengröße L/8cn über BB gelegt,
jedem Knoten wird nächste Gitterpunkt zugewiesen.
Dann alle Distanzen dividieren mit L/64nc
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 15 von 25
Der Algorithmus in R2
Verschobener Quadtree:
zufällig Verschiebung (a,b)
(„Randamization“) gewählt (a, b ∈ [0,L) ).
Dissection der BB verschieben und
Koordinaten mod L reduziert.
zugehöriger Quadtree erstellen.
„Derandomization“ (alle Paare L2 (a,b)
durchprobieren, Laufzeit!!!).
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 16 von 25
Der Algorithmus in R2
Dynamische Programmierung
Idee: S Quadrat des versch. QT und
optimaler salesman path kreuzt die
Grenzlinien von S 2p ≤ 4r mal. a1,…, a2p
dazu verwendeten Portale. Dann ist der
Teil des Weges innerhalb von S eine
Abfolge von p Wegen mit
für i = 1,…, p verbindet der i-te Weg a2i-1 und a2i
Weg besucht alle Knoten innerhalb von S
Alle p Wege zusammen sind (m,r)-light
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 17 von 25
Der Algorithmus in R2
Dynamische Programmierung
Da der salesman path optimal ist, p Wege die
billigste Variante, die i) – iii) erfüllt.
=> (m,r) multipath problem mit Input:
nichtleeres Quadrat im verschobenen Quadtree
Menge von ≤ r Portalen von jeder der 4 Kanten dieses
Quadrates, so dass die Summe der Inhalte dieser
Mengen 2p ≤ 4r ist
Paarungen {a1,a2}, …, {a2p-1,a2p} zwischen je zwei
Portalen aus b)
ZIEL: Finde min cost collection der p Wege in den
Quadraten, die (m,r)-light ist (Programmierung)
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 18 von 25
ETSP in Rd
Patching Lemma: salesman path
schneidet (d-1)-dimensionalen Würfel
(ohne Knoten darin) k-mal, so kann
#Schnitte ≤ 2 reduziert werden.
(Erweiterung des sp mit Segmenten im
Würfel, deren Länge O(k(1-/(d-1)))*W)
beträgt (W := Länge Würfelseite
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 19 von 25
ETSP in Rd
Structure Theorem für Euklidische TSP in
Rd: c > 0 const, dmin (≠0) zw. 2 Knoten =8, L
Größe BB. Die Verschiebungen 0 ≤ a1, a2, a3,
…, ad < L zufällig gewählt. Dann gilt mit
Wahrscheinlichkeit ≥ ½:
Die Zerlegung mit Verschiebung (a1, a2, …, ad)
hat einen zugehörigen (1+1/c)-angenäherten
(m, r)-light salesman path.
(m = O(sqrt(d)*c logL)d-1, r = O((sqrt(d)*c)(d-1)).
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 20 von 25
Der Algorithmus in Rd
Perturbation
Konstruktion eines verschobenen
Quadtrees
Dynamische Programmierung
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 21 von 25
Der Algorithmus in Rd
Perturbation:
allen Knoten ganzzahlige Koordinaten zuweisen
alle Distanzen (≠ 0) zwischen zwei Knoten sind
mindestens 8 Einheiten
Höchste Distanz zwischen zwei Knoten ist O(n)
=> Gitternetz der Maschengröße L/(8cn*sqrt(d)) über
BB gelegt, jedem Knoten wird nächste Gitterpunkt
zugewiesen. Dann alle Distanzen dividieren mit
L/(64cn*sqrt(d))
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 22 von 25
Der Algorithmus in Rd
Verschobener Quadtree:
zufällig Verschiebung (a1,a2, …,ad)
Dissection der BB
zugehöriger Quadtree (=2d-ary tree)
erstellen
„Derandomization“
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 23 von 25
Der Algorithmus in Rd
Dynamische Programmierung
Grundsätzliche gleich zu R2
Die 2d-ary Trees haben O(2dnlogn)
Gebiete
Laufzeit: O(n(logn)(O(sqrt(d)*c)^(d-1))
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 24 von 25
ENDE
Danke für die Aufmerksamkeit
PTAS for Euclidean TSP – Benjamin Thome – 16. Juli 2007 – Folie 25 von 25
Herunterladen