• 沒有找到結果。

2 A Reduction to the Metric Case

N/A
N/A
Protected

Academic year: 2022

Share "2 A Reduction to the Metric Case"

Copied!
22
0
0

加載中.... (立即查看全文)

全文

(1)

A polynomial time approximation scheme for the MRCT problem

Bang Ye Wu Kun–Mao Chao

1 Further improvement

Let S be a minimal δ-separator of bT . The strategy of algorithms shown in our previous note on 3/2-approximation is to “guess” the structure of S and to construct a general star with the guessed structure as the core. If T ∈star(S), by the lemmas in the previous note,

C(T )≤ 2n

v∈V (G)

dG(v, S) + (n2/2)w(S),

and

C( bT )≥ 2(1 − δ)n

v∈V

dTb(v, S) + 2δ(1− δ)n2w(S).

The approximation ratio, by comparing the two inequalities, is max{ 1

1− δ, 1 4δ(1− δ)}.

The ratio achieves its minimum when the two terms coincide, i.e., δ = 1/4, and the minimum ratio is 4/3. In fact, by using a general star and a (1/4)-separator, it is possible to approximate an MRCT with ratio (4/3) + ε for any constant ε > 0 in polynomial time. The additional error ε is due to the difference between the guessed and the true separators.

By this strategy, the approximation ratio is limited even if S was known exactly. The limit of the approximation ratio may be mostly due to that we consider only general stars. In a general star, the vertices are always connected to their closest vertices of the core. In extreme cases, roughly half of the vertices connected are to both sides of a costly edge. This results in the cost (n2/2)w(S) in the upper bound of a general star. To make a breakthrough, the restriction that each vertex is connected to the closest vertex of the core needs to be relaxed.

A metric graph is a complete graph with triangle inequality, i.e., each edge is a shortest path of its two endpoints. If the input graph is a metric graph, the core will be a two-edge path, and each vertex is adjacent to one of the “critical vertices”— a centroid and the two endpoints of a path separator. Define k-stars to be the trees with at most k internal vertices. The constructed approximation solution is a 3-star. More importantly, k-stars have no such restriction like general stars and can be used to approximate an MRCT more precisely. Later in this chapter we shall see how it works.

However, k-stars work only for metric graphs. The class of metric graphs is an important subclass of graphs. Solving the MRCT problem on metric graphs is itself meaningful. Before considering the approximation problem on metric graphs, two questions come to our minds:

An excerpt from the book “Spanning Trees and Optimization Problems,” by Bang Ye Wu and Kun-Mao Chao (2004), Chapman & Hall/CRC Press, USA.

(2)

• What is the computational complexity of the MRCT problem on metric graphs, NP-hard or polynomial-time solvable?

• If it is NP-hard, does its approximability differ from that of the general problem?

We shall answer the questions in the next section.

2 A Reduction to the Metric Case

In this section, we shall show that the MRCT problem on general inputs can be reduced to the same problem with metric inputs. The reduction is done by a transformation algorithm.

Definition 1: The metric closure of a graph G = (V, E, w) is the complete graph ¯G = (V, V×V, ¯w) in which ¯w(u, v) = dG(u, v) for all u, v∈ V .

Let G = (V, E, w) and ¯G = (V, V × V, ¯w) be its metric closure. Any edge (a, b) in ¯G is called a bad edge if (a, b) /∈ E or w(a, b) > ¯w(a, b). For any bad edge e = (a, b), there must exist a path P = SPG(a, b)̸= e such that w(P ) = ¯w(a, b). Given any spanning tree T of ¯G, the algorithm can construct another spanning tree Y without any bad edge such that C(Y )≤ C(T ). Since Y has no bad edge, ¯w(e) = w(e) for all e∈ E(Y ), and Y can be thought of as a spanning tree of G with the same routing cost. The algorithm is listed in the following.

Algorithm: Remove bad Input: A spanning tree T of ¯G.

Output: A spanning tree Y of G such that C(Y )≤ C(T ).

Compute all-pairs shortest paths of G.

(I) while there exists a bad edge in T Pick a bad edge (a, b). Root T at a.

/* assume SPG(a, b) = (a, x, ..., b) and y is the parent of x */

if b is not an ancestor of x then

Y ← T ∪ (x, b) − (a, b);Y∗∗← Y∪ {(a, x)} − {(x, y)};

else

Y ← T ∪ (a, x) − (a, b);Y∗∗← Y∪ {(b, x)} − {(x, y)};

if C(Y) < C(Y∗∗) then Y ← Y else Y ← Y∗∗

(II) T ← Y

The algorithm computes Y by iteratively replacing the bad edges until there is no bad edge. It will be shown that the cost is never increased at each iteration and it takes no more than O(n2) iterations. We assume that the shortest paths obtained in the first step have the following property:

If SPG(a, b) = (a, x, . . . , b), then SPG(a, b) = (a, x)∪SPG(x, b). This assumption is not strong since almost all popular algorithms for all-pairs shortest paths output such a solution.

Proposition 1: The while loop in Algorithm Remove bad is executed at most O(n2) times.

Proof: For each bad edge e = (a, b), let h(e) be the number of edges in SPG(a, b) and f (T ) =

bad eh(e). Since h(e)≤ n − 1, f(T ) < n2 initially. Since (a, x) is not a bad edge, it is easy to check that f (T ) decreases by at least 1 at each iteration.

(3)

a

b

y x

a

b y

x

Figure 1: Remove bad edge (a, b). Case 1 (left) and Case 2 (right).

Proposition 2: Before instruction (II) is executed, C(Y )≤ C(T ).

Proof: For any node v, let Sv = V (Tv). As shown in Figure 1, there are two cases. Case 2 is identical to Case 1 if the tree is re-rooted at b and the roles of a and b are exchanged. Therefore, only the inequality for Case 1 needs to be proved, i.e., x∈ Sa− Sb.

If C(Y)≤ C(T ), the result follows. Otherwise, let U1= Sa− Sb and U2 = Sa− Sb− Sx. Since the distance does not change for any two vertices both in U1 (or both in Sb), we have

C(T ) < C(Y)

u∈U1

v∈Sb

dT(u, v) <

u∈U1

v∈Sb

dY(u, v).

Since for all u ∈ U1 and v ∈ Sb, dT(u, v) = dT(u, a) + ¯w(a, b) + dT(b, v) and dY(u, v) = dT(u, x) + ¯w(x, b) + dT(b, v),

u∈U1

v∈Sb

(dT(u, a) + ¯w(a, b) + dT(b, v))

<

u∈U1

v∈Sb

(dT(u, x) + ¯w(x, b) + dT(b, v))

⇒ |Sb|

u∈U1

dT(u, a) +|U1||Sb| ¯w(a, b)

<|Sb|

u∈U1

dT(u, x) +|U1||Sb| ¯w(x, b)

u∈U1

dT(u, a) +|U1| ¯w(a, b) <

u∈U1

dT(u, x) +|U1| ¯w(x, b).

Note that Sb ̸= ∅ since the inequality holds. By the definition of the metric closure, ¯w(a, b) =

¯

w(a, x) + ¯w(x, b), and then

u∈U1

(dT(u, a)− dT(u, x)) <−|U1| ¯w(a, x). (1)

Now consider the cost of Y∗∗.

(C(Y∗∗)− C(T )) /2 =

u∈U2

v∈Sx

(dY∗∗(u, v)− dT(u, v))

(4)

+ ∑

u∈U1

v∈Sb

(dY∗∗(u, v)− dT(u, v)) .

Since dY∗∗(u, v)≤ dT(u, v) for u ∈ U1 and v ∈ Sb, the second term is not positive. By observing that dT(u, v) = dT(u, x) + dT(x, v) and dY∗∗(u, v) = dT(u, a) + ¯w(a, x) + dT(x, v) for any u∈ U2

and v∈ Sx, we obtain

(C(Y∗∗)− C(T )) /2

u∈U2

v∈Sx

(dT(u, a) + ¯w(a, x)− dT(u, x))

= |Sx|

u∈U2

(dT(u, a) + ¯w(a, x)− dT(u, x))

= |Sx|

u∈U2

(dT(u, a)− dT(u, x)) +|U2||Sx| ¯w(a, x)

≤ |Sx|

u∈U1

(dT(u, a)− dT(u, x)) +|U2||Sx| ¯w(a, x) (2)

< −|U1||Sx| ¯w(a, x) +|U2||Sx| ¯w(a, x) (3)

≤ 0.

(2) is obtained by observing that U1 − U2 = Sx and dT(u, a) > dT(u, x) for any u ∈ Sx. (3) is derived by applying (1). Therefore, C(Y∗∗) < C(T ) and the result follows.

The next lemma follows Propositions 1 and 2, and that each iteration can be done in O(n) time.

Lemma 1: For any spanning tree ¯T of ¯G, it can be transformed into a spanning tree T of G in O(n3) time and C(T )≤ C( ¯T ).

The above lemma implies that C(mrct(G))≤ C(mrct( ¯G)). It is easy to see that C(mrct(G))≥

C(mrct( ¯G)). Therefore, we have the following corollary.

Corollary 2: C(mrct(G))=C(mrct( ¯G)).

Let ∆MRCT denote the MRCT problem with metric inputs. We have the next theorem.

Theorem 3: If there is a (1 + ε)-approximation algorithm for ∆MRCT with time complexity O(f (n)), then there is a (1 + ε)-approximation algorithm for MRCT with time complexity O(f (n) + n3).

Proof: Let G be the input graph for the MRCT problem. The metric closure ¯G can be constructed in time O(n2log n + mn). If there is a (1 + ε)-approximation algorithm for the

∆MRCT problem, a spanning tree T of ¯G can be computed in time O(f (n)) such that C(T ) (1 + ε)C(mrct( ¯G)). Using Algorithm Remove bad, a spanning tree Y of G can be constructed such that C(Y )≤ C(T ) ≤ (1 + ε)C(mrct( ¯G))= (1 + ε)C(mrct(G)). The overall time complexity is then O(f (n) + n3).

Corollary 4: The ∆MRCT problem is NP-hard.

(5)

3 A Polynomial Time Approximation Scheme

3.1 Overview

We sketch a Polynomial Time Approximation Scheme (PTAS) for the MRCT problem in this section.

As described previously, the fact that the costs w may not obey the triangle inequality is irrelevant, since we can simply replace these costs by their metric closure. Therefore, in this section we may assume that G = (V, E, w) is a metric graph.

We use k-stars, i.e., trees with no more than k internal nodes, as a basis of our approximation scheme. In Section 3.5 we show that for any constant k, a minimum routing cost k-star can be determined in polynomial time. In order to show that a k-star achieves a (1 + ε) approximation, we show that, for any tree T and constant δ≤ 1/2:

1. It is possible to determine a δ-separator, and the separator can be cut into several δ-paths such that the total number of cut nodes and leaves of the separator is at most 2δ⌉ − 3.

(Lemma 5)

2. Using the separator, T can be converted into a (⌈2δ⌉ − 3)-star X, whose internal nodes are just those cut nodes and leaves. The routing cost of X satisfies C(X) ≤ (1 + 1−δδ )C(T ).

(Lemma 7)

By using T = bT =mrct(G), δ = 1+εε and finding the best (2δ⌉−3)-star K, we obtain the desired approximation

C(K)≤ (1 + δ

1− δ)C( bT ) = (1 + ε)C( bT ).

Before going into the details of the general case, take a look at how to find a 3/2-approximation of an MRCT and its performance analysis.

Recall that a centroid of a tree is the vertex whose removal cuts the tree into components of no more than n/2 vertices. Let bT be an MRCT of a metric graph G. Root bT at its centroid r. For an edge (u, v) with parent v, the routing load of the edge is 2x(n− x), in which x is the number of descendants of u. (For convenience, we assume that a vertex is also a descendant of itself.) For a desired positive δ ≤ 1/2, removing all vertices with number of descendants no more than δn, we may obtain a connected subgraph S of T . The subgraph S is a minimal δ-separator.

In the case that δ = 0.5, S contains only the centroid. If the δ-separator S of the MRCT is given and, for each vertex not in S, its lowest ancestor in S is also known, we may easily construct a 1/(1− δ)-approximation Y of the MRCT as follows:

• S ⊂ Y .

• For each vertex u not in S, connect it to its lowest ancestor v in S by adding edge (u, v).

The approximation ratio of Y can be shown by the following two observations.

• For each edge in S, the routing load in Y is the same as that in bT .

• For each edge (u, v) not in S, the routing load in Y is 2(n − 1). However, there is a path from u to v in bT of which each edge has routing load no less than 2(1− δ)n, and the length of the path is at least the same as the edge (u, v).

(6)

Var r

a

Va

b Vr

Vb Vbr

a r b

Var Vbr

a r b

Var Vbr

a r b

Var Vbr

a r b

Var Vbr

Figure 2: An MRCT and the four 3-stars.

For example, consider the simplest case that δ = 1/2. A 1/2-separator contains only one vertex. Assume that r be such a vertex on an MRCT bT . For every other vertex, the ancestor in the separator is r. Connecting all other nodes to r, we obtain a star Y . The routing cost of Y is the sum of all edges (v, r) multiplied by its routing load 2(n− 1). For each vertex v, there is a path from v to r in bT . Since r is a 1/2-separator of bT , the routing load of the path is at least n and the path is no shorter than the edge (v, r) by the triangle inequality. Consequently Y is a 2-approximation of the MRCT bT . Since the separator contains only one vertex, we may try all possible vertices and it leads to an O(n2) time 2-approximation of the MRCT problem on metric graphs.

But when δ < 1/2, the separator may contain as many as Ω(n) vertices, and it is too costly to enumerate all possible separators. However, instead of the entire separator, we may achieve the same ratio by knowing only some critical vertices of the separator. In the following, we shall take δ = 1/3 as an example to show that we only need to know three critical vertices of the separator to construct a 3/2-approximation.

Root the MRCT bT at its centroid r. There are at most two subtrees which contain more than n/3 nodes. Let a and b be the lowest vertices with at least n/3 descendants. We ignore the cases where r = a or r = b. For such cases, the ratio can be shown similarly. Let P be the path from a to b. Obviously the path contains r and is a minimal 1/3-separator. We shall transform bT into a 3-star with internal nodes a, b, and r such that its routing cost is no more than 3/2 of that of bT . As shown in Figure 2, let us partition all the vertices into Va, Vb, Vr, Var, and Vbr. The sets Va, Vb, and Vr contain the vertices whose lowest ancestor on P is a, b, and r, respectively. The set Var

(and Vbr) consists of the vertices whose lowest ancestor on P is between a and r (and between b and r, respectively).

First replace P with edges (a, r) and (b, r). For each vertex v in Va (or Vb, Vr), edge (v, a) (or (v, b), (v, r) respectively) is added. For the vertices in Var, we consider two cases. Either all of them are connected to a or all of them are connected to r. The vertices in Vbr are connected similarly.

The four possible 3-stars are illustrated in Figure 2.

Now consider the routing cost of bT . For each vertex v, the routing load of the path from v to P is no less than 4n/3 since P is a 1/3-separator. For each edge e of P , since there are at least n/3 nodes on either side of it, the routing load is no less than 2(n/3)(2n/3) = 4n2/9. Therefore we have the following lower bound of the routing cost of the MRCT:

C( bT )≥ (4n/3)

v

dTb(v, P ) + (4/9)n2w(P ).

In either of the 3-stars constructed above, for each vertex v in Va∪ Vr∪ Vb, the routing load of the edge incident to v is 2(n− 1), and the edge length is at most the same as the path from v to

(7)

P on bT . For each node v in Var, by the triangle inequality, we have (w(v, a) + w(v, r))/2≤ dTb(v, P ) + dTb(a, r)/2.

Note that there are no more than n/6 nodes in Var. For edge (a, r), the routing load is no more than 2(n/2)(n/2) = n2/2. (Note: For this simple case that δ = 1/3, this bound is enough. However, a more precise analysis of the incremental routing load is required for smaller δ.)

For the nodes in Vbr, we may obtain a similar result. In summary, the minimum routing cost of the constructed 3-stars is no more than

2(n− 1)

v

dTb(v, P ) + (n2/6)(dTb(a, r) + dTb(b, r)) + (1/2)n2w(P )

≤ 2n

v

dTb(v, P ) + (2/3)n2w(P ).

The approximation ratio, by comparing with the lower bound of the optimal, is 3/2.

The method can be extended to any δ ≤ 0.5. Let S be a δ-separator of T . The critical vertex set, defined as the cut and leaf set in the next section, to construct a 1/(1−δ)-approximation k-star consists of the following vertices.

• The leaves of S as a and b in the above example.

• The vertices with more than two neighbors on S.

• Some additional vertices such that all the critical vertices cut the separator into edge-disjoint paths and the number of vertices whose lowest ancestors on S belong to the same path is no more than δn/2. Such a path is defined as a δ-path in the next section. In the above example, r is such a vertex. The vertices a, b and r cut the separator into two paths, and the number of vertices in either Var or Vbr is no more than n/6.

We shall show that the number of the necessary critical vertices is at most 2/δ − 3 for any δ ≤ 0.5. Consequently there exists a (2/δ − 3)-star which is an approximation of an MRCT with ratio 1/(1− δ). The PTAS is to construct the (2/δ − 3)-star of minimum routing cost.

The core of a tree is the subgraph obtained by removing all its leaves. The core of a k-star contains no more than k vertices and therefore the number of all possible cores is polynomial to k.

For each possible core, the algorithm finds the best way to connect the leaves to one of the vertices of the core. A k-component integer vector (n1, n2, . . . , nk) is used to indicate how many leaves will be connected to each of the k vertices of the core, in which

ini= n− k. There are O(nk−1) such vectors. For each core and each vector, the routing load on each core edge is fixed since the number of vertices on both sides of the edge are specified by the core and the vector. Therefore the best leaf connection is determined by the leaf edges subject to the numbers of leaves to be connected to the vertices of the core. Such a problem can be solved by solving an assignment problem in O(n3) time. Consequently the minimum routing cost k-star can be constructed in time polynomial to k and n.

Consider an example for k = 3. For a 3-star, the core is a 3-vertex path. There are O(n3) possible cores. For each possible core (a, b, c), use a three-component integer vector (x, y, z) to indicate how many leaves will be connected to a, b, and c, in which x + y + z = n− 3 and x, y, z are nonnegative integers. There are O(n2) such vectors. For a specified core and a specified vector, the routing load on each core edge is also fixed. That is, the routing load on (a, b) is 2(x + 1)(n− x − 1) and on (b, c) is 2(z + 1)(n− z − 1). Therefore the best leaf connection is determined by the leaf

(8)

B3 B2

B1

B7 B5

B6 B4

i P

j

r1 r2

r3

Figure 3: B1, . . . , B7 are branches of P . V B(T, P, i) = {i} ∪ V (B1)∪ V (B2)∪ V (B3). Pc is the number of vertices in {r1, r2, r3} ∪ V (B4)∪ V (B5)∪ V (B6).

edges subject to the numbers of leaves to be connected to a, b, c. Such a problem can be solved by solving an assignment problem in O(n3) time. The total time complexity is O(n2k+2), which is polynomial for constant k. In fact we need not solve the individual assignment problem for the best leaf connection of each vector. The best leaf connection of one vector can be found from that of another vector by solving a shortest path problem if the two vectors are adjacent. Two vectors are adjacent if one can be obtained from the other by increasing a component by one and decreasing a component by one, e.g., (5, 4, 2) and (5, 3, 3). With this result, the time complexity is reduced to O(n2k).

3.2 The δ-spine of a tree

Let P = SPT(i, j) in which |V B(T, P, i)| ≥ |V B(T, P, j)|. We shall use the following notations to simplify the expressions.

• Pa=|V B(T, P, i)|.

• Pb=|V B(T, P, j)|.

• Pc= n− |V B(T, P, i)| − |V B(T, P, j)|.

• Q(P ) =

1≤x≤h|V B(T, P, rx)| × dT(rx, i), where P = (i, r1, r2, . . . , rh, j).

Pa and Pb are the numbers of vertices that are hanging at the two end points of the path. Note that we always assume Pa≥ Pb. In the case that P contains only one edge, Pc= 0. The notations are illustrated in Figure 3.

Definition 2: Let 1≤ k ≤ n. A k-star is a spanning tree of G which has no more than k internal nodes. An optimal k-star is the k-star with the minimum routing cost.

We now turn to the notions of δ-paths and δ-spines. Informally, a δ-path is a path such that not too many nodes (at most δn/2) are hanging at its internal nodes. A δ-spine is a set of edge-disjoint δ-paths, whose union is a minimal δ-separator. That is, a δ-spine is obtained by cutting a minimal δ-separator into δ-paths. In the case that the minimal δ-separator contains just one node, the only δ-spine is the empty set.

Definition 3: Given a spanning tree T of G, and 0 < δ ≤ 0.5, a δ-path of T is a path P such that Pc ≤ δn/2.

(9)

v5 v1

v2

v3

v4 v5 v1 v1

vertices hung at v2

vertices hung at a path

(b) S

v5 v1

v2

v3

v4

>n/4

>n/4

>n/4 (a)

Figure 4: Separator, spine and CAL. Each triangle represents a subtree with no more than n/4 vertices.

Definition 4: Let 0 < δ ≤ 0.5. A δ-spine Y = {P1, P2, ..., Ph} of T is a set of pairwise edge- disjoint δ-paths in T such that S =

1≤i≤hPi is a minimal δ-separator of T . Furthermore, for any pair of distinct paths Pi and Pj in the spine, we require that either they do not intersect or, if they do, the intersection point is an endpoint of both paths.

Definition 5: Let Y be a δ-spine of a tree T . CAL(Y ) (which stands for the cut and leaf set of Y ) is the set of the endpoints of the paths in Y . In the case that Y is empty, the cut and leaf set contains only one node which is a δ-separator of T . Formally CAL(Y ) ={u, v|∃P = SPT(u, v)∈ Y } if Y is not empty, and otherwise CAL(Y ) ={u|u is a minimal δ-separator }.

Example 1: In Figure 4(a), S (bold lines) is a minimal 1/4 separator of the tree. Vertex v1 is a centroid, and vertices v2, v3, and v4 are leaves in S. In (b), the separator is cut into a 1/4-spine of the tree. The CAL of the spine is {v1, v2, v3, v4, v5}. The path between v1 and v4 is cut at vertex v5 to ensure that the number of vertices hung at each path is no more than n/8.

Lemma 5: For any constant 0 < δ≤ 0.5, and a spanning tree T of G, there exists a δ-spine Y of T such that |CAL(Y )| ≤ ⌈2/δ⌉ − 3.

Proof: Let S be a minimal δ-separator of T . S is a tree. Let U1 be the set of leaves in S, U2

be the set of vertices which have more than two neighbors in S, and U = U1∪ U2. Let h =|U1|.

Clearly, |U| ≤ 2h − 2. Let Y1 be the set of paths obtained by cutting S at all the vertices in U2. For example, for the tree on the right side of Figure 4, U1 ={v2, v3, v4}; U2 = {v1}; Y1 contains SPT(v1, v2), SPT(v1, v3) and SPT(v1, v4). For any P ∈ Y1, if Pc > δn/2 then P is called a heavy path. It is easy to check that Y1 satisfies the requirements of a δ-spine except that there may exist some heavy paths. Suppose P is not a δ-path. We can break it up into δ-paths by the following process. First find the longest prefix of P starting at one of its endpoints and ending at some internal vertex, say i, in the path, that determines a δ-path. Now we break P at vertex i. Then we repeat the breaking process on the remaining suffix of P starting at i, stripping off the next δ-path

(10)

and so on. In this way P can be cut into δ-paths by breaking it up at no more than⌈2Pc/ (δn)⌉ − 1 vertices. Since there are at least δn nodes hung at each leaf,

P∈Y1

Pc < n− hδn.

Let U3be the minimal vertex set for cutting the heavy paths to result in a δ-spine Y of T . We have

|U3| ≤ ⌈2 (n − hδn) / (δn)⌉ − 1 = ⌈2/δ⌉ − 2h − 1.

So,|CAL(Y )| = |U| + |U3| ≤ ⌈2/δ⌉ − 3.

Example 2: For any tree, there always exist a (1/3)-spine and a (1/4)-spine whose cut and leaf set contains no more than 3 and 5 vertices, respectively, as illustrated in Figure 4. Taking δ = 1/5, it follows that there exists a (1/5)-spine whose cut and leaf set has no more than 7 vertices.

3.3 Lower bound

We are going to establish a more precise lower bound. We substituted l(T, e) by 2δ(1− δ)n2. C(T )≥ 2(1 − δ)n

v∈V

dT(v, S) +

e∈E(S)

l(T, e)w(e).

Now we give a more careful analysis of the last term. Let Y be a δ-spine of a spanning tree T of G and S =

P∈Y P be a minimal δ-separator of T . Rewriting in terms of δ-spine and recalling l(T, e) = 2eaeb, we have ∑

e∈E(S)

l(T, e)w(e) = 2

P∈Y

e∈P

eaebw(e).

Assume P = (r0, r1, r2, . . . , rh) in which |V B(T, P, r0)| ≥ |V B(T, P, rh)|. Let |V B(T, P, ri)| = ni

for 1≤ i ≤ h − 1 and ei = (ri−1, ri) for 1≤ i ≤ h.

e∈P

eaebw(e)

=

h i=1

Pa+ Pc

h−1

j=i

nj

Pb+

h−1

j=i

nj

 w(ei)

=

h i=1

Pb(Pa+ Pc) w(ei) + (Pa− Pb)

h i=1

h−1

j=i

njw(ei)

+

h i=1

h−1

j=i

nj

Pc

h−1

j=i

nj

 w(ei)

≥ Pb(Pa+ Pc)w(P ) + (Pa− Pb)

h−1

j=1

nj

( j

i=1

w(ei) )

= Pb(Pa+ Pc) w(P ) + (Pa− Pb)Q(P ).

Note that Q(P ) is defined at the first paragraph of Section 3.2. We obtain the next lemma.

(11)

A

B

C

D

E

(a)

(d) A

B

(e) A

B A

B

(c)

A B

C D

E

(b)

Figure 5: Constructing the k-star from an optimal tree.

Lemma 6 : Let Y be a δ-spine of a spanning tree T of G and S =

P∈Y P be a minimal δ-separator of T . Then

C(T )≥ 2(1 − δ)n

v∈V

dT(v, S) + 2

P∈Y

(

Pb(Pa+ Pc)w(P ) + (Pa− Pb)Q(P ) )

.

3.4 From trees to stars

Let δ≤ 1/2 and k = ⌈2/δ⌉ − 3. We now decompose an optimal solution bT and construct a k-star whose routing cost is upper bounded by k+3k+1C( bT ).

Let Y = {Pi|1 ≤ i ≤ h} be a δ-spine of bT in which |CAL(Y )| ≤ ⌈2/δ⌉ − 3. Note that the set of all the edges in Y forms a δ-separator S. Assume Pi = SPTb(ui, vi) and |V B( bT , Pi, ui)| ≥

|V B( bT , Pi, vi)|. By the following steps, we construct a k-star whose internal nodes are exactly the cut and leaf set of the δ-spine we just identified.

1. We connect these nodes by short-cutting edges along the spine to construct a tree spanning these nodes with the same skeletal structure as the spine.

2. All vertices in subtrees hanging at the cut and leaf nodes of the spine are connected directly to their closest node in the spine.

3. Along a δ-path in the spine, all the internal nodes and nodes in subtrees hanging at internal nodes are connected to one of the two endpoints of this path (note that both are in the cut and leaf set of the spine) in such a way as to minimize the resulting routing cost.

This is the k-star used to argue the upper bound on the routing cost.

Example 3 : In Figure 5, we illustrate how to construct the desired k-star from an optimal tree. Frame (a) is an optimal tree in which the separator is shown and the cut and leaf set is {A, B, C, D, E}. Frame (b) is the tree spanning the cut and leaf nodes, which has the same skeletal

(12)

structure as the spine. Frames (c), (d) and (e) illustrate how to connect other nodes to the cut and leaf nodes. Frame (c) exhibits the nodes hanging at a δ-path. These nodes will be connected as in either Frame (d) or (e). The nodes hanging at the endpoints of the path will be connected to the endpoints in either case. All the internal nodes of the path and nodes hanging at the internal nodes will be connected to one of the two endpoints. Note that they are connected to the same endpoint either as Frame (d) or Frame (e), but not connected to the two endpoints partially.

More formally, construct a subgraph R ⊂ G with vertex set CAL(Y ) and edge set Er = {(ui, vi)|1 ≤ i ≤ h}. Trivially, R is a tree. Let f(i) be an indicator variable such that

f (i) =

{ 1 if (

Pia− Pib)

Picw(Pi)≥ n (2Q(Pi)− Picw(Pi)) 0 otherwise

The indicator variable f (i) determines the endpoint of Pi to which all the internal nodes and nodes hanging at such internal nodes will be directly connected. We construct a spanning tree X of G where the edge set Ex is determined by the following rules:

1. R⊂ X.

2. If q∈ V B( bT , S, r) then (q, r)∈ Ex, for any r∈ {ui, vi|1 ≤ i ≤ h}.

3. For the vertex set Vi = V − V B( bT , Pi, ui)− V B( bT , Pi, vi), if f (i) = 1 then{(q, ui)|q ∈ Vi} ⊂ Ex, else{(q, vi)|q ∈ Vi} ⊂ Ex. That is, the vertices in Vi are either all connected to ui or all connected to vi.

Proposition 3: X is a k-star.

The above proposition is trivial; consider the cost of X.

Proposition 4: C(X)≤ 1−δ1 C( bT ).

Proof: Since any edge in Ex− Er is incident with a leaf, C(X)

2 = ∑

e∈Er

eaebw(e) + (n− 1)

e∈Ex−Er

w(e).

First, for any e = (ui, vi)∈ Er,

eaebw(e) ≤ (Pia+ f (i)Pic) (

Pib+ (1− f(i)) Pic) w(Pi)

= PiaPibw(Pi) + (

f (i)Pib+ (1− f(i)) Pia

)

Picw(Pi).

Second, by the triangle inequality and recalling that for subgraph S ⊂ bT , dSb

T(i, j) stands for w(SPTb(i, j)∩ S), we have

e∈Ex−Er

w(e)

v∈V

dTb(v, S) +

h i=1

v∈Vi

( f (i)dSb

T(v, ui) + (1− f(i)) dSTb(v, vi) )

= ∑

v∈V

dTb(v, S) +

h i=1

(f (i)Q(Pi) + (1− f(i)) (Picw(Pi)− Q(Pi))) .

(13)

Thus, C(X)

2

h i=1

PiaPibw(Pi) + n

v∈V

dTb(v, S)

+

h i=1

min{PibPicw(Pi) + nQ(Pi), PiaPicw(Pi) + n(Picw(Pi)− Q(Pi))}.

Since the minimum of two numbers is not larger than their weighted mean, we have min{PibPicw(Pi) + nQ(Pi), PiaPicw(Pi) + n (Picw(Pi)− Q(Pi))}

(

PibPicw(Pi) + nQ(Pi)

) Pia Pia+ Pib

+ (PiaPicw(Pi) + n (Picw(Pi)− Q(Pi))) Pib Pia+ Pib. Then,

C(X)

2

h i=1

PiaPibw(Pi) + n

v∈V

dTb(v, S) +

h i=1

(2PiaPibPic+ nPibPic) w(Pi) Pia+ Pib

+

h i=1

(Pia− Pib)nQ(Pi) Pia+ Pib

= n

v∈V

dTb(v, S) +

h i=1

w(Pi) Pia+ Pib

((

PiaPib+ PibPic )

n + PiaPibPic )

+

h i=1

(Pia− Pib)nQ(Pi) Pia+ Pib .

The simplification in the last inequality uses the observation that for any i, we have Pia+Pib+Pic= n.

By Lemma 6,

C(X)≤ C( bT ) max

1≤i≤h

{ 1

1− δ, n

Pia+ Pib + PiaPic

(Pia+ Pib)(Pia+ Pic) }

. Since Pic≤ δn/2,

n

Pia+ Pib + PiaPic

(Pia+ Pib)(Pia+ Pic)

n

Pia+ Pib + Pic Pia+ Pib

= n + Pic

n− Pic 2 + δ 2− δ 1

1− δ. This completes the proof.

For any integer k ≥ 1, we take δ = k+32 . By the above two propositions, we have the next lemma.

Lemma 7: An optimal k-star of a metric graph is a (k + 3)/(k + 1) approximation of an MRCT.

(14)

Example 4: Taking δ = 1/3 in Lemma 7, it follows that there exists a 3-star which is a 1.5- approximation of an MRCT, which coincides with the result stated in Section 1. Taking δ = 0.2, it follows that there exists a 7-star which is a 1.25-approximation.

In the following section we will show that it is possible to determine an optimal k-star of a graph in polynomial time. In fact, we have the following lemma.

Lemma 8: An optimal k-star of a graph G can be constructed in O(n2k) time.

The proof is delayed to the next section. The following theorem establishes the time-complexity of our PTAS.

Theorem 9: There exists a PTAS for the ∆MRCT problem, which can find a (1+ε)-approximation solution in O(nρ) time complexity where ρ = 2⌈2/ε⌉ − 2.

Proof: By Lemma 7, there exists a k-star which is a (k + 3)/(k + 1) approximation of an MRCT.

For finding a (1+ε)-approximation solution, we take k =⌈2/ε⌉ − 1 and find an optimal k-star. The time complexity is O(nρ) where ρ = 2⌈2/ε⌉ − 2 from Lemma 8.

3.5 Finding an optimal k-star

In this section we describe an algorithm for finding an optimal k-star in G for a given value of k.

As mentioned before, given an accuracy parameter ε > 0, we apply this algorithm for k =⌈2ε− 1⌉, and return an optimal k-star as a (1 + ε)-approximate solution.

For a given k, to find an optimal k-star, we consider all possible subsets S of vertices of size k, and for each such choice, find an optimal k-star where the remaining vertices have degree one.

3.5.1 A polynomial-time method

First, we verify that the overall complexity of this step is polynomially bounded for any fixed k.

Any k-star can be described by a triple (S, τ,L), where S = {v1, . . . , vk} ⊆ V is the set of k distinguished vertices which may have degree more than one, τ is a spanning tree topology on S, and L = (L1, . . . , Lk), where Li ⊆ V − S is the set of vertices connected to vertex vi ∈ S. For any r ∈ Z+, an r-vector is an integer vector with r components. Let l = (l1, . . . , lk) be a nonnegative k-vector such thatk

i=1li = n− k. We say that a k-star (S, τ, L) has the configuration (S, τ, l) if li =|Li| for all 1 ≤ i ≤ k.

Example 5 : For the 3-star shown in Figure 6(a), S = {v1, v2, v3}, τ is shown in (b), L1 = {u1, u2, u3}, L2 ={u4}, L3 ={u5}, and l = (3, 1, 1).

For a fixed k, the total number of configurations is O(n2k−1) since there are (n

k

) choices for S, kk−2 possible tree topologies on k vertices, and (n−1

k−1

) possible such k-vectors. (To see this, observe that every such vector can be put in correspondence with picking k − 1 among n − 1 linearly ordered elements, and using the cardinalities of the segments between consecutively picked segments as the components of the vector.) Note that any two k-stars with the same configuration have the same routing load on their corresponding edges. We define α(S, τ, l) to be an optimal k-star with configuration (S, τ, l).

Note that any vertex v in V − S that is connected to a node s ∈ S contributes a term of w(v, s) multiplied by its routing load of 2(n− 1). Since all these routing loads are the same, the

(15)

v1

(a) (b)

v3 v2

v3 v2

v1

u1 u2 u3 u4 u5

Figure 6: The configuration of a 3-star.

best way of connecting the vertices in V − S to nodes in S is obtained by finding a minimum-cost way of matching up the nodes of V − S to those in S which obeys the degree constraints on the nodes of S imposed by the configuration, and the costs are the distances w. This problem can be solved in polynomial time for a given configuration by a straightforward reduction to an instance of minimum-cost perfect matching. The above minimum-cost perfect matching problem, also called the assignment problem, has been well studied and can be solved in O(n3) time (cf. [1]). Therefore, the overall complexity is O(n2k+2) for finding an optimal k-star.

3.5.2 A faster method

In the PTAS, we need to solve many matching problems, each for one configuration. It takes polynomial time to solve these problems individually and this result is sufficient for showing the existence of the PTAS. Although there is no obvious way to reduce the time complexity for one matching problem, the total time complexity can be significantly reduced when considering all these matching problems together. The key point is that two optimal k-stars of similar configurations share a large common portion in their structures. By carefully ordering the matching problems for the configurations and exploiting the common structure of two consecutive problems, we can obtain an optimal solution of any configuration in this order by performing a single augmentation on the optimal solution of the previous configuration. Thus, we show (Lemma 10) how to compute α(S, τ, l) for a given configuration in O(nk) time.

Let Wab be the set of all nonnegative a-vectors whose entries add up to a constant b. In Wab× Wab, we introduce the relation∼ as l ∼ l if there exist 1≤ s, t ≤ a such that

li=



li− 1 if i = s li+ 1 if i = t li otherwise

For a pair l and l such as the above, we say that l is obtained from l by s and t.

Let r = |Wab| = (a+b−1

a−1

). The following proposition shows that the elements of Wab can be linearly ordered as l1, . . . , lr so that li+1∼ li for all 1≤ i ≤ r − 1.

Proposition 5: For all positive integers a, b, there exists a permutation πa,b of Wab such that π1a,b is the lexicographic minimum, πra,b is the lexicographic maximum, and πa,bi+1 ∼ πia,b for all i = 1, . . . , r− 1.

Proof: By induction. The claim is clearly true when a = 1 for any b. Assume the claim is true for all b when a = m− 1. For a = m construct the ordering as follows. First the elements for which

參考文獻

相關文件

• The XYZ.com bonds are equivalent to a default-free zero-coupon bond with $X par value plus n written European puts on Merck at a strike price of $30.. – By the

• The XYZ.com bonds are equivalent to a default-free zero-coupon bond with $X par value plus n written European puts on Merck at a strike price of $30.. – By the

• The XYZ.com bonds are equivalent to a default-free zero-coupon bond with $X par value plus n written European puts on Merck at a strike price of $30. – By the

The method of least squares is a standard approach to the approximate solution of overdetermined systems, i.e., sets of equations in which there are more equations than unknowns.

• Suppose the input graph contains at least one tour of the cities with a total distance at most B. – Then there is a computation path for

• If a graph contains a triangle, any independent set can contain at most one node of the triangle.. • We consider graphs whose nodes can be partitioned into m

H..  In contrast to the two traditional mechanisms which all involve evanescent waves, this mechanism employs propagating waves.  This mechanism features high transmission and

Let T ⇤ be the temperature at which the GWs are produced from the cosmological phase transition. Without significant reheating, this temperature can be approximated by the