• Aucun résultat trouvé

A 2-Approximation for WDS-UDG on a Small Cell

Greedy Strategy

4.4 Double Partition

4.4.2 A 2-Approximation for WDS-UDG on a Small Cell

Now we consider the problem WDS-UDG restricted to a single cell. Letμ= 1/√ 2, and consider a celleof sizeμ×μ. LetV(e)denote the set of vertices inV lying in e, andV+(e)the set of verticesvinV such thatvdominates some vertex ine; i.e., V+(e) = {v ∈V |vlies ineor is adjacent to somew∈V(e)}. The subproblem of WDS-UDG on a single cellecan be stated as follows:

WDS-UDG1: Given a unit disk graph G = (V, E)with weightc : V →R+, and a celleof sizeμ×μ, find a minimum-weight subset of V+(e)that dominatesV(e).

In this subsection, we show the following result:

Theorem 4.15 There is a polynomial-time2-approximation forWDS-UDG1. To prove Theorem 4.15, letD(e)be a minimum-weight dominating set forV(e) and, for any setU ⊆V, letc(U)denote the total weight of setU. We consider two cases.

Case1.D(e)contains a vertex inV(e). Since the cellehas sizeμ×μ, any single vertex inV(e)dominates all vertices inV(e). Thus,D(e)contains a single vertexv, which is of the minimum weight among all vertices inV(e). It is easy to find this vertex in linear time.

Case 2.D(e) ⊆ V+(e)\V(e). In this case, we will apply the algorithm of Corollary 4.14 to get a2-approximation ofD(e)in polynomial time.

Although we do not know whetherD(e)belongs to Case 1 or Case 2 above, we can simply choose, from the two solutions obtained in the above two cases, the one with the smaller weight, and it must be a2-approximation toD(e).

In the following, we focus on Case 2. LetA, B, C, Dbe the four corners of cell e, and divide the area outsideeinto eight subareas, as shown inFigure 4.14. Also, let

N =N W∪CN∪N E, S =SW ∪CS∪SE, W =N W∪CW∪SW , E =N E∪CE∪SE.

4.4 Double Partition 147

A B e

SW CW

NW CN NE

CE

SE CS

D C

Figure 4.14: The area outsideeis divided into eight subareas.

We sayV1andV2form afeasible partitionof setV(e)ifV(e) =V1∪V2,V1∩V2=

∅, every vertex inV1 is dominated by some vertex inD(e)that lies in the area N∪S, and every vertex inV2is dominated by some vertex inD(e)that lies in the areaW ∪E.

Suppose we are given a feasible partition (V1, V2) ofV(e); then we can ap-ply the algorithm of Corollary 4.14 to find the minimum-weight subsets D1 ⊆ V+(e)∩(N ∪S)andD2 ⊆V+(e)∩(W ∪E)that dominate vertices inV1and V2, respectively. Then,c(D1) ≤c(D(e))andc(D2)≤c(D(e)). It follows that D1∪D2is a2-approximation to WDS-UDG1.

Following this idea, we will develop, in the following, an algorithm that generates up to|V(e)|4 different partitions of setV(e)such that one of these partitions is a feasible partition. From these partitions, we can find a2-approximation to WDS-UDG1 in Case 2 by computing the optimal solutionsD1 ∪D2 for each partition (V1, V2)ofV(e)and then taking the solution with the minimum weight.

For any vertex p ∈ V(e), draw two straight linesL1(p)andL1(p)passing through pointpand having slopes1and−1, respectively. These two lines meet the boundary of the squareABCDat an angle of45and divide the squareABCD into four parts. We call themΔN(p),ΔS(p),ΔW(p), andΔE(p), according to their location relative to pointp(seeFigure 4.15).

Lemma 4.16 Ifpis dominated by a vertexuin the areaCS (CW,CN, orCE), then every point in the areaΔS(p)(ΔW(p), ΔN(p), orΔE(p), respectively) is dominated byu.

Proof.SinceΔS(p)is a convex polygon, it suffices to show that the distance from uto every corner vertex ofΔS(p)is at most1.

Suppose v is a corner vertex ofΔS(p) on lineBC (cf. Figure 4.16). Draw a lineL that is perpendicular to linepv and dividespvevenly. Letd(x, y)denote the distance between two pointsxandy. If uandv lie on the same side of line L or ifulies onL, then we haved(u, v) ≤d(u, p) ≤ 1. Otherwise, ifuandp lie on the same side of lineL, then we have∠uvp < π/2and, hence,∠uvB >

p) ΔN

p

L1

L−1 ( )p

(

( )p ( )p

ΔW ΔE( )p

( )p ΔS

Figure 4.15: L1(p)andL1(p)divideeinto four parts.

B D C

A B

D C

L’ L’

p

v

u u

v p

A

Figure 4.16: ΔS(p)is dominated byu.

π/4because∠pvC =π/4. It follows thatd(u, v)≤length(AB)/sin(∠uvB)<

μ/sin(π/4) = 1.

For the cases where the vertexvofΔS(p)lies on lineABorAD, the proofs are

similar.

Next, consider two verticesp, p ∈V(e). Supposeplies to the left ofp or on the same vertical line asp. We defineΔS(p, p)as follows: IfΔS(p) ⊆ΔS(p), thenΔS(p, p) = ΔS(p), and if ΔS(p) ⊆ ΔS(p), thenΔS(p, p) = ΔS(p).

Otherwise, letpbe the intersection point of linesL1(p)andL1(p), and define ΔS(p, p) = ΔS(p)(seeFigure 4.17). The areaΔN(p, p)is defined in a similar way.

4.4 Double Partition 149

"

p

p ( ) L−1 L1(p)

p p

Figure 4.17: ΔS(p, p).

Lemma 4.17 LetK be a subset ofV+(e)\V(e)that dominates all vertices in V(e). Assume thatp, p ∈ V(e)andplies to the left ofpor on the same vertical line asp. If bothpandpare dominated by some vertices inK∩CS(or, if both are dominated by some vertices inK∩CN), but neitherpnorpis dominated by any vertex inK ∩(CW ∪CE), then every vertex inΔS(p, p)(or, respectively, ΔN(p, p)) is dominated by some vertex inK∩(N∪S).

Proof. By Lemma 4.16, it suffices to consider a vertex v lying in ΔS(p, p) \ (ΔS(p)∪ΔS(p)). For the sake of contradiction, supposevis dominated by a ver-texuinK∩(CW ∪CE). Ifu∈CW, thenplies inΔW(v)and so, by Lemma 4.16, is dominated byu, which is a contradiction. Ifu∈CE, we can get a similar

contradiction.

In general, for a setT ⊆V(e)with|T| ≤ 2, we defineΔS(T) =∅ ifT =∅, ΔS(T) = ΔS(p)ifT ={p}, andΔS(T) = ΔS(p, p)ifT ={p, p}andplies to the left ofpor on the same vertical line asp. We defineΔN(T)in a similar way for a subsetT ⊆V(e)with|T| ≤2.

LetUCS be the set of all verticesv inV(e)such thatv is dominated by some vertex inD(e)∩CS, but not dominated by any vertex inD(e)∩(CW ∪CE).

Choosepto be the point inUCSwith the leftmostL1(p), andprto be the point in UCSwith the rightmostL1(pr). Similarly, letUCN be the set of all verticesvin V(e)such thatv is dominated by some vertex inD(e)∩CN, but not dominated by any vertex inD(e)∩(CW∪CE). Chooseqto be the point inUCNwith the leftmostL1(q), andqrto be the point inUCN with the rightmostL1(qr).

DefineTS = {p, pr}ifUCS =∅, andTS =∅otherwise; andTN = {q, qr} ifUCN = ∅, andTN = ∅ otherwise. By Lemma 4.17, every vertex inV1(e) = ΔS(TS)∪ΔN(TN)is dominated byD(e)∩(N∪S), and every vertex inV2(e) = V(e)\V1(e) is dominated by D(e)∩ (W ∪E). In other words, the partition (V1(e), V2(e))is a feasible partition of V(e). This observation suggests that we

search for feasible partitions ofV(e)by searching over partitions corresponding to all possible setsTSandTN.

In the following, we let

VCS(e) ={v∈V(e)|vis dominated by some vertex inCS}, VCN(e) ={v∈V(e)|vis dominated by some vertex inCN},

V1+(e) =V+(e)∩(N∪S),and V2+(e) =V+(e)∩(W ∪E).

In addition, let

T(e) ={(TS, TN)|TS ⊆VCS(e),|TS| ≤2, TN ⊆VCN(e),|TN| ≤2}. Algorithm 4.D (2-Approximation forWDS-UDG1)

Input: A celle, setsV(e),V+(e), a weight functionc:V+(e)→R+. (1) u←argminvV(e)c(v);D← {u}.

(2) Foreach pair(TS, TN)∈ T(e)do (2.1) V1(e)←ΔS(TS)∪ΔN(TN);

(2,2) V2(e)←V(e)\V1(e);

(2.3) D1←the minimum-weight subset ofV1+(e)that dominates V1(e)(by Corollary 4.14);

(2.4) D2←the minimum weight subset ofV2+(e)that dominates V2(e)(by Corollary 4.14);

(2.5) if c(D)> c(D1∪D2)thenD←D1∪D2. (3) OutputD.

It is clear that step (2) is executed O(|V(e)|4)times and so, by Corollary 4.14, Algorithm 4.D runs in timeO(n9).

Next, to estimate the performance of Algorithm 4.D, we note that ifD(e)∩ V(e)= ∅, thenc(D) =c(D(e)). On the other hand, ifD(e)∩V(e) = ∅, then for the setsTS andTN defined by pointsp, prandq, qrthat are chosen based on D(e), we have

c(D1)≤c(D(e)∩(N∪S)) and c(D2)≤c(D(e)∩(W ∪E)).

Therefore,

c(D)≤c(D1∪D2)≤2c(D(e)).

This completes the proof of Theorem 4.15.

4.4 Double Partition 151 4.4.3 A6-Approximation forWDS-UDGon a Large Cell

We first note that the2-approximation to WDS-UDG1gives us immediately a 28-approximation to WDS-UDG (see Exercise 4.13). The performance ratio 28is, however, too large, and we now proceed to improve this approximation algorithm.

The main idea is to combine setsV1(e)of the cells along a horizontal strip and combine setsV2(e)of the cells along a vertical strip, and work on them together.

This approach unfortunately only works for the graphs lying in a square of a fixed size. More precisely, we will develop the following result in this subsection.

Theorem 4.18 For any constantm >0, the subproblem ofWDS-UDGrestricted to input graphs that lie in a square of sizemμ×mμhas a6-approximation that runs in timenO(m2).

In the following, we assume that the input unit disk graphG = (V, E)lies in the interior of a squareQof sizemμ×mμ, for some constantm >0. Divide the squareQintom2cells with each cell of sizeμ×μ. LetC be the set of the cells inQ. We collect cells inCwhose lower edges lie on the same horizontal line as a horizontal strip, and collect the cells inCwhose left edge lie on the same vertical line as avertical strip. We letH1, H2, . . . , Hm denote all horizontal strips, and Y1, Y2, . . . , Ymall vertical strips.

Intuitively, our approximate solution consists of three parts:

(1) For some cellse, we use a single vertex ineto dominate all vertices ine(like in case 1 of the Section 4.4.2).

(2) For other cellse, we get a feasible partition(V1(e), V2(e))ofV(e). Then we combine setsV1(e)over all cells in a horizontal stripHiand apply the algo-rithm of Corollary 4.14 to get a minimum-weight dominating set for vertices in

eHiV1(e).

(3) We combine setsV2(e)over all cells in a vertical stripYiand get a minimum-weight dominating set for vertices in

eYiV2(e).

To see how this works, let us first analyze how an optimal solution can be con-verted to such a feasible approximate solution. LetΔbe a minimum-weight dom-inating set forG, andoptbe its total weight; that is,opt=c(Δ). For each celle, letΔ+(e)denote the set of verticesu∈Δthat dominates some vertices inV(e).

Recall some notations used in the last subsection: For each cell e, we letN be the area above the upper edge ofe,S the area below the lower edge ofe,W the area to the left of the left edge ofe, andE the area to the right of the right edge ofe. LetV1+(e) = V+(e)∩(N ∪S)andV2+(e) =V+(e)∩(W ∪E). Also, let Δ+1(e) = Δ+(e)∩(N∪S)andΔ+2(e) = Δ+(e)∩(W ∪E).

Now we convertΔinto a feasible approximate solution. For part (1), letC1= {e∈C | e∩Δ =∅}, and, for anye∈ C1, letvebe the vertex inΔ∩eof the lowest weight. Thenvedominates all vertices inV(e).

For part (2), we first letU = {ve | e ∈ C1} andZU ={v ∈ V | v is dom-inated by someve ∈U}. Then for eache ∈ C−C1, we find a feasible partition

(V1(e), V2(e)) ofV(e)\ZU by finding pointsp, pr, q, qr and setsTS andTN

according toΔ+(e), as described in the last subsection. Now, we define, for each i= 1,2, . . . , m, a subsetVHi =

e(CC1)HiV1(e). Note that the set Δ+1(Hi) =

(

e(CC1)Hi

Δ+1(e)

\U

dominatesVHi.

Similarly, for part (3), we define, for each i = 1, 2, . . . , m, a set VYi =

e(CC1)YiV2(e), and observe that set Δ+2(Yi) =

(

e(CC1)Yi

Δ+2(e)

\U

dominatesVYi.

In summary, we divide, in the above, setV into the following (mutually disjoint) parts:

(i) V(e), fore∈C1, andZU; (ii) VHi, fori= 1,2, . . . , m; and (iii) VYi, fori= 1,2, . . . , m.

For each part, a subset ofΔhas been identified that dominates that part; namely, Udominates

eC1V(e)andZU+1(Hi)dominatesVHi, andΔ+2(Yi)dominates VYi.

The above analysis suggests that we can divide the original problem into the following three types of subproblems and use the union of the solutions to these subproblems as the approximate solution to the original problem:

A1: For eache∈C1, fix a vertexv∈V(e)to dominateV(e).

A2: For each i = 1,2, . . . , m, find a minimum-weight subset of V1+(Hi) =

e(CC1)HiV1+(e)that dominatesVHi.

A3: For each i = 1,2,. . ., m, find a minimum-weight subset of V2+(Yi) =

e(CC1)YiV2+(e)that dominatesVYi.

We note that all these subproblems can be solved in polynomial time. In partic-ular, each subproblem ofA2 andA3 can be solved by the algorithm of Corollary 4.14. The only problem we have now is that all the above subproblems are defined assuming we know what setsC1andU are. SinceC1andU are defined from the optimal solutionΔ, this assumption is too strong. Instead, we will work on all pos-sible subsetsC1ofCand all possible setsU; that is, we will solve the subproblems for allC1andU and use the solution of the minimum weight as the approximate solution.

4.4 Double Partition 153 To prepare for the presentation of the complete algorithm, we need some more notations. First, letC be the set of all nonempty cells; that is,C = {e ∈ C | V(e) =∅}. For any C1 ⊆C, letUC1 be the collection of all setsU that contain exactly one vertex in each celle∈C1.

Next, letT(e)be the set of all possible choices of pairs(TS, TN), whereTS ⊆ VCS(e)\ZU,|TS| ≤2, andTN ⊆VCN(e)\ZU,|TN| ≤2. Now, for eachC1⊆C, letTC1 be the Cartesian product ofT(e) over alle ∈ C−C1; that is, if cells in C−C1aree1, e2, . . . , ek, thenTC1 ={(TS,1,TN,1,TS,2,TN,2, . . . , TS,k,TN,k)| (TS,j, TN,j)∈ T(ej), j= 1,2, . . ., k}.

Algorithm 4.E(6-Approximation forWDS-UDGon a Large Cell) Input: A unit disk graphG= (V, E)on a squareQof sizemμ×mμ.

(1) ForeachC1⊆Cdo

(1.1) foreachU∈ UC1 dofindA(C1, U);

(1.2) letU(C1)←argmin

U∈UC1

c(A(C1, U)).

(2) LetC←argmin

C1C

c(A(C1, U(C1))). (3) OutputA←A(C, U(C1)).

In the above, each setA(C1, U)is computed by the following procedure:

AlgorithmforFunctionA(C1, U):

(1) LetZU ← {u∈V |uis dominated by somev∈U}.

(2) ForeachT ∈ TC1do

(2.1) Foreach celle∈C−C1do

let(TS, TN)be the pair inTcorresponding to celle; V1(e)←ΔS(TS)∪ΔN(TN);

V2(e)←(V(e)\ZU)\V1(e);

(2.2) Fori←1tomdo

D(Hi)←the minimum-weight subset ofV1+(Hi)that dominatesVHi(by Corollary 4.14);

D(Yi)←the minimum-weight subset ofV2+(Yi)that dominatesVYi(by Corollary 4.14);

(2.3) D(T)←m

i=1(D(Hi)∪D(Yi)).

(3) LetT←argmin

T∈TC1

c(D(T)). (4) A(C1, U)←D(T)∪U.

To prove that Algorithm 4.E is a6-approximation, we claim that the setA(C1, U) To see this, recall that when we convert the optimal solutionΔ to a feasible ap-proximate solution, we constructed, for each celle ∈C−C1, a pair(TS, TN)of subsets ofV(e), and used them to partitionV(e)\ZU intoV1(e)andV2(e). We observe that in step (2) of the algorithm for functionA(C1, U), we run through all possibleT ∈ TC1, including the one that contains, corresponding to eache, the pair (TS, TN)we obtained in the above conversion. Thus, for this setT, the partitions (V1(e), V2(e))ofV(e)\ZU for eache∈C−C1, and hence the setsVHiandVYi we note that the dominating range ofuis a disk of radius1, and so it can overlap with at most four horizontal strips. Since a vertexulying in stripHicannot appear inΔ+1(Hi), it can appear in at most three differentΔ+1(Hj)’s. Similarly, a vertex ucan appear in at most three differentΔ+2(Yj)’s. That is, a vertexu∈Δcan be counted at most six times on the right-hand side of (4.3). It follows that the output Aof Algorithm 4.E satisfies

Finally, let us estimate the time complexity of Algorithm 4.E. First, for anyC1⊆ Cand anyU ∈ UC1, there are at mostO(n4m2)setsT ∈ TC1, and eachD(Hi) and eachD(Yi)in step (2.2) of the algorithm forA(C1, U)can be found in time O(n5). Therefore, setA(C1, U)can be found in timenO(m2). Now, we observe that there areO(2m2)subsetsC1ofC and, for each C1 ⊆ C,UC1 contains at most nO(m2)setsU. Therefore, the total running time of Algorithm 4.E isnO(m2). This completes the proof of Theorem 4.18

Corollary 4.19 The subproblem ofWDS-UDGthat asks, for a given graphG= (V, E), a constantm >0, and anmμ×mμsquareS, for a minimum-weight subset

4.4 Double Partition 155

mμ μ

Figure 4.18: Double partition.

of vertices inGthat dominate all vertices inShas a 6-approximation with running timenO(m2), wheren=|V|.

Proof.The algorithm for this problem is almost identical to Algorithm 4.E, except that we include vertices outside squareSin setsV1+(Hi)andV2+(Yi)in step (2.2)

of the algorithm forA(C1, U).

4.4.4 A(6 +ε)-Approximation forWDS-UDG

Now, we apply the double partition and shifting techniques to obtain a(6 + ε)-approximation to WDS-UDG.

Theorem 4.20 For anyε >0, there exists a(6 +ε)-approximation forWDS-UDG with computation timenO(1/ε2).

Proof.Assume thatε <1, and letm=72/ε. Without loss of generality, assume thatGlies in a square

Q={(x, y)|mμ≤x < kmμ, mμ≤y ≤kmμ} for some integerk >1. Let

Q={(x, y)|0≤x < kmμ, 0≤y≤kmμ}.

We partitionQintok2cells, each of sizemμ×mμ. We call this partitionP(0,0) (seeFigure 4.18). For eacha∈ {0,1, . . . , m−1}, partitionP(a, a)is the partition P(0,0)with its lower-left corner shifted to(aμ, aμ).

For each partitionP(a, a), we solve the problem WDS-UDG for each cellein P(a, a)by Corollary 4.19. Let this solution beAa(e). ThenAa =

eP(a,a)Aa(e)

is an approximate solution toG. Let Aa be the one with the minimum weight c(Aa)among all these solutions overa= 0,1, . . . , m−1. We outputA=Aa as the approximate solution toG.

LetOptbe an optimal solution toG, andopt=c(Opt). We claim thatc(A)≤ (6 +ε)opt.

The proof of the claim is similar to the proof of Theorem 4.2. For any partition P(a, a)and any cell e ∈ P(a, a), letΔ(e)be the optimal solution to the sub-problem defined in Corollary 4.19 with respect to celle. From Corollary 4.19, we know thatc(Aa(e))≤6·c(Δ(e)). LetOpt(e) = {u∈Opt|udominates some v ∈ V(e)}. Since Δ(e)is the optimal solution to the subproblem on celle, we havec(Δ(e))≤c(Opt(e))and, hence,c(Aa(e))≤6·c(Opt(e)).

A vertexuinOptmay belong toOpt(e)for more than one celle. For any parti-tionP(a, a), letHa={u∈Opt|ubelongs to two cells of two different horizontal strips}, andYa={u∈Opt|ubelongs to two cells of two different vertical strips}.

Note that ifubelongs toOpt(e), then the diskDuwith centeruand radius1has a nonempty intersection with celle. Therefore, we have

c(Aa)≤

eP(a,a)

c(Aa(e))≤6

eP(a,a)

c(Opt(e))≤6(opt+c(Ha) + 2·c(Ya)).

Next, we observe that a vertexubelongs toHaonly ifDuintersects a horizontal grid line of P(a, a). Since the shifting distance is1/√

2, a disk of radius 1 can intersect horizontal grid lines of at most four partitions. That is, a vertex can belong to at most four different setsHa. Therefore,

m1

So, the minimum solutionAa has weight c(Aa)≤ 1

Finally, we verify that the total computation time of this algorithm is, from

Corol-lary 4.19,m·nO(m2)=nO(1/ε2).

This result can be extended to the problem of finding the minimum-weight con-nected dominating set in a unit disk graph.