ClassW04ApproxAlgs/KinFaiKan

ClassS04CS141 | ClassW04ApproxAlgs | recent changes | Preferences

Showing revision 75
Difference (from revision 75 to revision 75) (minor diff)
(The revisions are identical or unavailable.)

Arora’s PTAS for Euclidean TSP

Problem Statement

Given n nodes on the Euclidean plane, we want to find a closed path that visits each node exactly once and incurs the minimum cost. The cost of a path is the sum of the distances along the path and the distance between two points is defined to be the Euclidean distance between them.

Overview

The central idea of the PTAS is to define a “coarse solution”, and to find it using dynamic programming. Intuitively, the “coarse solution” is a salesman tour with “bent” edges passing through some desired prescribed points. In the following, we will show how to apply dynamic programming to find the “coarse solution” optimally in polynomial time and prove that the “coarse solution” has an approximation factor of (1+1/c) with probability > 1/2.

1. The Algorithm

1.1 Perturbing the Instance

Define the bounding box of the instance to be the smallest axis-parallel square that contains all n nodes Let L0 be the length of the bounding box and OPT be the optimal tour cost (OPT ≥ L0). We put down a grid with spacing L0/8nc and move every node to its nearest grid point. Note that the distance between two nodes would be increased by no more than L0/4nc and hence the cost of the optimal tour would be increased by at most OPT/4c. Then we scale the grid by a factor of 64nc/L0. The perturbed instance has the following three nice properties.
    1. All the nodes have integral coordinates.
    2. The non-zero distance between two nodes is at least 8.
    3. The maximum distance of two nodes is O(n).

1.2 Partitioning the Plane

A basic dissection is a recursive partitioning of the bounding box into small squares. The bounding box is at level 0, its four children are the squares at level 1, and so on. We stop partitioning a square if it has length ≤ 1. A basic quadtree is defined similarly, except we stop partitioning as soon as the square has at most one node. A line used to partition level-i squares are said to be at level i and it consists of the edges of squares at level ≥ i. Note that there are 2i vertical dissection lines and 2i horizontal dissection lines at level i. After perturbation, the maximum distance between two nodes is O(n) and the non-zero distance between two points is at least 8. Thus the depth of a dissection or a quadtree is O(log n). In total, the dissection has O(n2) squares and the quadtree has O(nlog n) squares.

upload:dissect.png

1.3 Defining (m-r)-light salesman path

For each square in the dissection, we allocate four portals at the four corners and equally-spaced m portals on each edge. A (m,r,)-light salesman path is a tour which visits all the nodes and crosses each edge of a quadtree square at most r times through the portals.

1.4 Applying Dynamic Programming

Let τ be the optimal tour we wish to find. τ can cross each edge of a square at most r times. The total number of times τ can enter and exit a quadtree square S, is at most 4r. The part of τ inside S is simply a set of at most 2r paths, each entering and exiting S at portals, and together covering all the nodes inside the square. Furthermore, the paths must be non-self-intersecting inside the square.

The key observation is that in an optimal (m,r)-light salesman path, the portions of the path inside each of the four subsquares must also be optimal. We maintain a table that contains optimal solutions to all subproblems specified by (a) a quadtree square, (b) a multiset of portals on the edges of the quadtree square, and (c) a valid order in which the portals in (b) are visited. The number of ways to choose a multiset of portals τ is at most (m+3)4r and the number of ways to traverse a multiset of portals without self-intersection is no greater than (4r)!. Thus the size of the table is at most O(nlogn (m+3)4r (4r)!).

The table is filled up in a bottom-up fashion, starting at the leaves of the quadtree. A square at a leaf contains at most one single node. Given a multiset of portals and a valid order, we can solve the subproblem optimally in O(2r) time because the single node can be traversed along one of the O(2r) paths in the square. A square at a non-leaf node has four internal edges (one from each of its four subsquares). The number of ways to choose a multiset of portals on the four internal edges is at most (m+3)4r and the number of ways to traverse the selected portals is at most (2r)4r(4r)! (where the term (2r)4r comes from the fact that each portal can be traversed along one of the O(2r) paths in the square). Altogether there are no more than (m+3)4r(2r)4r(4r)! possibilities. We can compute the cost of each possibility and compute the optimal solution from the optimal solutions of the four subsquares. the time complexity of constructing the table is O(nlog n (m+4)8r(2r)4r((4r)!)2), which is O(n(log n)O(c)) for m=O(clog n) and r=O(c).


2. Proof of Correctness

Our goal is to show that the optimal (m,r)-light salesman path is not much longer than the optimal salesman tour, but this is not directly true. We introduce the concept of shifting the basic dissection. Let L be the length of the bounding box in the perturbed instance. An (a,b)-shift of the base dissection is defined as follows: given a and b ∈ {0,1,…,L}, the x- and y-coordinates of the dissection lines are increased by a and b, and then modulo L. The quadtree with shift (a,b) is obtained from the (a,b)-shifted dissection by cutting off the partitioning at squares that contain only one node. Note that if a (b) is chosen randomly, the probability that a vertical (horizontal) dissection line is at level i is 2i/(L-1). Now we are about to prove the following theorem.

upload:shift.png

Theorem 1 (Structure Theorem) Let the minimum nonzero internode distance in a TSP instance be 8 and L be the size of the bounding box. Let shifts 0 ≤ a,b ≤ L be picked randomly. Then with probability at least 1/2, the dissection with shift (a,b) has an associated (m,r)-light salesman path of cost at most (1+1/c)OPT, where m=O(clogL) and r=O(c).

Our strategy is to modify the optimal salesman tour to a (m,r)-light salesman path and analyze the cost of the modification. Denote the optimal salesman tour by π and let tl be the number of times that π crosses a dissection line l. Note that l:verticaltl + l:horizontaltl ≤ 2OPT when the nonzero distance between two nodes is at least 4, where OPT is the cost of the optimal salesman tour.

(i) Moving every point the optimal tour crosses a dissection line to its nearest portal. Consider a line l at level i. l has a spacing of L/(2i+2(m+1)) between two adjacent portals and moving a crossing on l increases the cost by at most L/(2i+2(m+1)). Thus the expected cost of moving every crossing on l to its nearest portal is at most
0 ≤ i < logL 2i/(L-1) × tl × L/(2i+2m) ≤ tl log L / m ,
which is at most 1/2r when m ≥ 2r log L.

(ii) Restricting the tour to cross an edge of a dissection square at most times r We use a bottom-up technique, starting from the finest squares, if the tour crosses an edge more than r times, we apply the Patching Lemma (given below) to reduce the number of crossings to 4 (4 instead of 2 because an edge of a square may be broken into two disjoint segments as a result of shifting the dissection).

Lemma 1 (Patching Lemma) There is a constant g > 0 such that the following is true. Let S be any line segment of length l and π be a closed path that crosses S at least thrice. Then there exist line segments on S whose total length is g× l and whose addition to π changes it into a closed path that crosses S at most twice.
Proof Sketch We can break the tour at the points it crosses S, and add a cycle of length ≤ 2l and a matching of length ≤ l on each side of S. The result is a Eulerian tour that crosses S at most twice. The increase in length is at most 6l.

upload:patch.png

Let cj be the number of edges of level-j squares on a line l that we apply Patching Lemma. Note that j ≥ 0Cj ≤ tl / (r-3) because each application of Patching Lemma replaces at least r+1 crossings by at most 4.
The expected cost of patching on a dissection line is
i ≥ 0 2i/L j ≥ i cj g L / 2j
≤ g j ≥ 0 cj / 2j i ≤ j2i
≤ g j ≥ 0 2 cj
≤ 2gtl / (r-3)
where g is the constant appearing in the Patching Lemma.

Thus the expected cost of making the final salesman path (m,r)-light at line l is
2gtl/(r-3) + tl/2r ≤ 3gtl/r
for r > 15.

By linearity of expectations, it follows that the expected increase in the cost of the tour is
l:vertical 3gtl/r + l:horizontal 3gtl/r
≤ 6gOPT / r
≤ OPT / 2c
for r ≥ 12gc .

Markov’s inequality implies that with probability at least 1/2 this increase is no more than OPT / c. Therefore, we conclude that with probability at least 1/2 the cost of the best (m,r)-light salesman path for the shifted dissection is at most (1 + 1/c) OPT.

QED.


References

[1] S. Arora. Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems, Journal of the ACM, 45(5):753-782, 1998.

ClassS04CS141 | ClassW04ApproxAlgs | recent changes | Preferences
This page is read-only | View other revisions | View current revision
Edited March 20, 2004 5:37 pm by 173-11.cs.ucr.edu (diff)
Search: