Previous Work dist( · , · ) fulfills the τ -relaxed triangle inequality Definition. if any three points p, q, r satisfy dist( p, r ) ≤ τ · (dist( p, q ) + dist( q, r )). q p r
Previous Work dist( · , · ) fulfills the τ -relaxed triangle inequality Definition. if any three points p, q, r satisfy dist( p, r ) ≤ τ · (dist( p, q ) + dist( q, r )). q p r [Funke...’08] Lemma. 2 | · | fulfills the 2 -relaxed triangle inequality.
Previous Work dist( · , · ) fulfills the τ -relaxed triangle inequality Definition. if any three points p, q, r satisfy dist( p, r ) ≤ τ · (dist( p, q ) + dist( q, r )). q p r For α ≥ 1, [Funke...’08] Lemma. α 2 α − 1 | · | fulfills the -relaxed triangle inequality.
Previous Work dist( · , · ) fulfills the τ -relaxed triangle inequality Definition. if any three points p, q, r satisfy dist( p, r ) ≤ τ · (dist( p, q ) + dist( q, r )). q p r For α ≥ 1, [Funke...’08] Lemma. α 2 α − 1 | · | fulfills the -relaxed triangle inequality. Good news. Can apply algorithms for ∆ τ -TSP to TSP( · , α )!
Previous Work dist( · , · ) fulfills the τ -relaxed triangle inequality Definition. if any three points p, q, r satisfy dist( p, r ) ≤ τ · (dist( p, q ) + dist( q, r )). q p r For α ≥ 1, [Funke...’08] Lemma. α 2 α − 1 | · | fulfills the -relaxed triangle inequality. Good news. Can apply algorithms for ∆ τ -TSP to TSP( · , α )! TSP( · , α ) ∆ τ τ 2 + τ 4 α − 1 + 2 α − 1 [Andreae’01] 2 α +1 4 τ [BenderChekuri’00] 3 · 2 α − 1 — [Funke...’08]
Previous Work dist( · , · ) fulfills the τ -relaxed triangle inequality Definition. if any three points p, q, r satisfy dist( p, r ) ≤ τ · (dist( p, q ) + dist( q, r )). q p r For α ≥ 1, [Funke...’08] Lemma. α 2 α − 1 | · | fulfills the -relaxed triangle inequality. Good news. Can apply algorithms for ∆ τ -TSP to TSP( · , α )! TSP( · , α ) ∆ τ τ 2 + τ 4 α − 1 + 2 α − 1 [Andreae’01] 2 α +1 4 τ [BenderChekuri’00] 3 · 2 α − 1 — [Funke...’08]
Our Results 30 [Andreae’01] 2 · 3 α − 1 4 α − 1 + 2 α − 1 [Funke...’08] 25 20 15 [BenderChekuri’00] 2 α +1 10 5 α 2 2.2 2.4 2.6 2.8 3 3.2 3.4 ≈ 2 . 71
Our Results 30 [AndreaeBandelt’95] [Andreae’01] 2 · 3 α − 1 4 α − 1 + 2 α − 1 T 3 -algorithm [Funke...’08] 25 20 15 [BenderChekuri’00] 2 α +1 10 5 α 2 2.2 2.4 2.6 2.8 3 3.2 3.4 ≈ 2 . 71
Our Results 30 [AndreaeBandelt’95] [Andreae’01] 2 · 3 α − 1 4 α − 1 + 2 α − 1 T 3 -algorithm [Funke...’08] 25 √ α / 3 3 α − 1 + 20 6 geometric T 3 -algorithm 15 [BenderChekuri’00] 2 α +1 10 5 α 2 2.2 2.4 2.6 2.8 3 3.2 3.4 ≈ 2 . 71 ≈ 3 . 41
Our Results in any metric space 30 [AndreaeBandelt’95] [Andreae’01] 2 · 3 α − 1 4 α − 1 + 2 α − 1 T 3 -algorithm [Funke...’08] 25 in R 2 √ α / 3 3 α − 1 + 20 6 geometric T 3 -algorithm 15 [BenderChekuri’00] 2 α +1 10 5 α 2 2.2 2.4 2.6 2.8 3 3.2 3.4 ≈ 2 . 71 ≈ 3 . 41
Our Results in any metric space 30 [AndreaeBandelt’95] [Andreae’01] 2 · 3 α − 1 4 α − 1 + 2 α − 1 T 3 -algorithm [Funke...’08] 25 in R 2 √ α / 3 3 α − 1 + 20 6 geometric T 3 -algorithm 15 [BenderChekuri’00] 2 α +1 6 α +3 α +2 α − 1 10 3 · 2 α − 1 lower bound for MST-based approx. 5 α 2 2.2 2.4 2.6 2.8 3 3.2 3.4 ≈ 2 . 71 ≈ 3 . 41
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 e u 1 u 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] Take MST of given point set! CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 e u 1 u 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 T 1 T 2 e u 1 u 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 e 1 e 2 T 1 T 2 e u 1 u 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 e 1 e 2 T 1 T 2 e u 1 u 2 Π 1 Π 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 e 1 e 2 T 1 T 2 e u 1 u 2 Π 1 Π 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 3- shortcut e 1 e 2 T 1 T 2 e u 1 u 2 Π 1 Π 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 3- shortcut e 1 e 2 T 1 T 2 e u 1 u 2 Π 1 Π 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 3- shortcut e 1 e 2 T 1 T 2 e u 1 u 2 Π 1 Π 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 (2- or) 3- shortcut e 1 e 2 T 1 T 2 e u 1 u 2 Π 1 Π 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 (2- or) 3- shortcut e 1 e 2 uses edges e , e 1 , and e 2 T 1 T 2 e u 1 u 2 Π 1 Π 2
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 (2- or) 3- shortcut e 1 e 2 uses edges e , e 1 , and e 2 T 1 T 2 e u 1 u 2 Observation. Π 1 Π 2 Every edge is used at most ...?
The T 3 -Algorithm [Sekanina’60, AndreaeBandelt’95] CycleInCube ( T , e = u 1 u 2 ) for i ← 1 to 2 do T i ← component of T − e that contains u i if | T i | = 1 then Π i ← ∅ ; w i ← u i else pick an edge e i = u i w i incident to u i in T i if | T i | = 2 then Π i ← e i else Π i ← CycleInCube ( T i , e i ) − e i T return Π 1 + e + Π 2 + w 1 w 2 w 1 w 2 (2- or) 3- shortcut e 1 e 2 uses edges e , e 1 , and e 2 T 1 T 2 e u 1 u 2 Observation. Π 1 Π 2 Every edge is used at most twice.
Result #1 Every edge is used at most twice. Observation.
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � .
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ).
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ c e
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ c e
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ c e
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ add up! c e
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ add up! c e 3 α − 1 | MST | α
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ add up! c e 2 · 3 α − 1 | MST | α
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ add up! c e ⇒ | T 3 -tour | α ≤ 2 · 3 α − 1 | MST | α
Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ add up! c e ⇒ | T 3 -tour | α ≤ 2 · 3 α − 1 | MST | α ≤ 2 · 3 α − 1 · OPT
NO GEOMETRY! Result #1 Every edge is used at most twice. Observation. Let e be a 3-shortcut using a, b, c . Let α ≥ 1. Lemma. Then | e | α ≤ 3 α − 1 � | a | α + | b | α + | c | α � . For α ≥ 2, the T 3 -algorithm yields a (2 · 3 α − 1 )- Corollary. approximation for TSP( · , α ). Every edge c of the MST (w.r.t. |·| α ) contributes Proof. at most twice at most 3 α − 1 | c | α to the T 3 -tour. e ′ add up! c e ⇒ | T 3 -tour | α ≤ 2 · 3 α − 1 | MST | α ≤ 2 · 3 α − 1 · OPT
Result #2 The T 3 -algorithm yields a (2 · 3 α − 1 )-approximation Corollary. for TSP( · , α ) if α ≥ 2.
Result #2 The T 3 -algorithm yields a (2 · 3 α − 1 )-approximation Corollary. for TSP( · , α ) if α ≥ 2. For α ≥ 2, the geometric T 3 -algorithm yields a Theorem. √ α / 3 3 α − 1 + � � 6 -approximation for TSP(2 , α ).
Result #2 The T 3 -algorithm yields a (2 · 3 α − 1 )-approximation Corollary. for TSP( · , α ) if α ≥ 2. For α ≥ 2, the geometric T 3 -algorithm yields a Theorem. √ α / 3 3 α − 1 + � � 6 -approximation for TSP(2 , α ). 30 25 2 · 3 α − 1 20 15 √ α / 3 3 α − 1 + 10 6 5 α 2 2.2 2.4 2.6 2.8 3 3.2 3.4
Result #2 The T 3 -algorithm yields a (2 · 3 α − 1 )-approximation Corollary. for TSP( · , α ) if α ≥ 2. For α ≥ 2, the geometric T 3 -algorithm yields a Theorem. √ α / 3 3 α − 1 + � � 6 -approximation for TSP(2 , α ). GeometricT 3 (tree T , e = u 1 u 2 of T ) for i ← 1 to 2 do T i ← component of T − e that contains u i ... pick an edge e i = u i w i incident to u i in T i ... Π i ← GeometricT 3 ( T i , e i ) − e i return Π 1 + e + Π 2 + w 1 w 2
Result #2 The T 3 -algorithm yields a (2 · 3 α − 1 )-approximation Corollary. for TSP( · , α ) if α ≥ 2. For α ≥ 2, the geometric T 3 -algorithm yields a Theorem. √ α / 3 3 α − 1 + � � 6 -approximation for TSP(2 , α ). MST w.r.t. | · | α GeometricT 3 (tree T , e = u 1 u 2 of T ) for i ← 1 to 2 do T i ← component of T − e that contains u i ... pick an edge e i = u i w i incident to u i in T i ... Π i ← GeometricT 3 ( T i , e i ) − e i return Π 1 + e + Π 2 + w 1 w 2
Result #2 The T 3 -algorithm yields a (2 · 3 α − 1 )-approximation Corollary. for TSP( · , α ) if α ≥ 2. For α ≥ 2, the geometric T 3 -algorithm yields a Theorem. √ α / 3 3 α − 1 + � � 6 -approximation for TSP(2 , α ). MST w.r.t. | · | α GeometricT 3 (tree T , e = u 1 u 2 of T ) for i ← 1 to 2 do T i ← component of T − e that contains u i ... � s.t. the angle pick an edge e i = u i w i incident to u i in T i ∠ ee i is min! ... Π i ← GeometricT 3 ( T i , e i ) − e i return Π 1 + e + Π 2 + w 1 w 2
Result #2 The T 3 -algorithm yields a (2 · 3 α − 1 )-approximation Corollary. for TSP( · , α ) if α ≥ 2. For α ≥ 2, the geometric T 3 -algorithm yields a Theorem. √ α / 3 3 α − 1 + � � 6 -approximation for TSP(2 , α ). MST w.r.t. | · | α GeometricT 3 (tree T , e = u 1 u 2 of T ) for i ← 1 to 2 do T i ← component of T − e that contains u i ... � s.t. the angle pick an edge e i = u i w i incident to u i in T i ∠ ee i is min! ... w 1 Π i ← GeometricT 3 ( T i , e i ) − e i w 2 return Π 1 + e + Π 2 + w 1 w 2 e 1 e 2 γ 1 γ 2 e u 1 u 2
Main Insight Why can we bound γ 1 (and γ 2 ) from above?
Main Insight Why can we bound γ 1 (and γ 2 ) from above? γ 1 e • If deg u 1 ≤ 2, then we can’t. u 1
Main Insight Why can we bound γ 1 (and γ 2 ) from above? γ 1 e • If deg u 1 ≤ 2, then we can’t. u 1 But then e is used by at most one 3-shortcut and maybe a 2-shortcut
Main Insight Why can we bound γ 1 (and γ 2 ) from above? γ 1 e • If deg u 1 ≤ 2, then we can’t. u 1 But then e is used by at most one 3-shortcut and maybe a 2-shortcut—but those are cheap.
Main Insight Why can we bound γ 1 (and γ 2 ) from above? γ 1 e • If deg u 1 ≤ 2, then we can’t. u 1 But then e is used by at most one 3-shortcut and maybe a 2-shortcut—but those are cheap. • Otherwise recall that in the MST (w.r.t. | · | and w.r.t. | · | α ) edges incident to the same vertex make angles ≥ 60 ◦ .
Main Insight Why can we bound γ 1 (and γ 2 ) from above? γ 1 e • If deg u 1 ≤ 2, then we can’t. u 1 But then e is used by at most one 3-shortcut and maybe a 2-shortcut—but those are cheap. • Otherwise recall that in the MST (w.r.t. | · | and w.r.t. | · | α ) edges incident to the same vertex make angles ≥ 60 ◦ . e ≥ 60 ◦ u 1
Main Insight Why can we bound γ 1 (and γ 2 ) from above? γ 1 e • If deg u 1 ≤ 2, then we can’t. u 1 But then e is used by at most one 3-shortcut and maybe a 2-shortcut—but those are cheap. • Otherwise recall that in the MST (w.r.t. | · | and w.r.t. | · | α ) edges incident to the same vertex make angles ≥ 60 ◦ . γ 1 ≤ 150 ◦ e ≥ 60 ◦ u 1
Main Insight Why can we bound γ 1 (and γ 2 ) from above? γ 1 e • If deg u 1 ≤ 2, then we can’t. u 1 But then e is used by at most one 3-shortcut and maybe a 2-shortcut—but those are cheap. • Otherwise recall that in the MST (w.r.t. | · | and w.r.t. | · | α ) edges incident to the same vertex make angles ≥ 60 ◦ . γ 1 ≤ 150 ◦ e ≥ 60 ◦ u 1 Thus, there is an edge e 1 incident to u 1 with ∠ ee 1 ≤ 150 ◦ .
Conclusions • Geometry helps!
Conclusions • Geometry helps! We have improved approx. of TSP(2,2) from factor 6 to 5. There is a lower bound of 4 4 11 for MST-based methods.
Conclusions • Geometry helps! We have improved approx. of TSP(2,2) from factor 6 to 5. There is a lower bound of 4 4 11 for MST-based methods. • What about complexity?
Recommend
More recommend