• 沒有找到結果。

An optimal algorithm for the minimum disc cover problem

N/A
N/A
Protected

Academic year: 2021

Share "An optimal algorithm for the minimum disc cover problem"

Copied!
14
0
0

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

全文

(1)

DOI 10.1007/s00453-007-9043-4

An Optimal Algorithm for the Minimum Disc Cover

Problem

Min-Te Sun· Chih-Wei Yi · Chuan-Kai Yang · Ten-Hwang Lai

Received: 13 October 2005 / Accepted: 24 May 2006 / Published online: 10 November 2007 © Springer Science+Business Media, LLC 2007

Abstract The minimum disc cover can be used to construct a dominating set on the fly for energy-efficient communications in mobile ad hoc networks, but the approach used to compute the minimum disc cover proposed in previous studies is computa-tionally relatively expensive. In this paper, we show that the disc cover problem is in fact a special case of the general α-hull problem. In spite of being a special case, the disc cover problem is not easier than the general α-hull problem. In addition to applying the existing α-hull algorithm to solve the disc cover problem, we present a simple, yet optimal divide-and-conquer algorithm that constructs the minimum disc cover for arbitrary cases, including those degenerate cases where the α-hull approach would fail.

Keywords Minimum disc cover· α-hull · Optimal algorithms · Applications in ad hoc networks

M.-T. Sun (



)

Department of Computer Science and Software Engineering, Auburn University, Auburn, AL 36849, USA

e-mail: sunmint@eng.auburn.edu C.-W. Yi

Department of Computer Science, National Chiao Tung University, Hsinchu City 30010, Taiwan e-mail: yi@cs.nctu.edu.tw

C.-K. Yang

Department of Information Management, National Taiwan University of Science and Technology, Taipei 106, Taiwan

e-mail: ckyang@cs.ntust.edu.tw T.-H. Lai

Department of Computer Science and Engineering, Ohio State University, Columbus, OH 43210, USA

(2)

1 Introduction

Finding a minimum cover is an interesting combinatorial problem. Many well known problems (e.g., Vertex Cover, Dominating Set, Set Cover, and Covering by Cliques [5]) can all be viewed as such problems. In this paper, we discuss a specific minimum cover problem, which was first introduced in [12].

Let = {D0, D1, D2, . . . , Dn} be a set of discs of radius R with all their origins (centers) located inside D0. Given , the minimum disc cover problem seeks to iden-tify a minimum subset of , say , such that the union of the discs in is equal to the union of the discs in . Without loss of generality, we may assume R= 1.

The disc cover problem has applications in inter-vehicle communications [9], location-based mobile ad hoc networks [6–8,11,13], and multicast medium access control [10]. For instance, assume that all mobile stations transmit data with the same transmission radius. It happens frequently that a mobile station s needs to broadcast a message to the entire ad hoc network. If the set of s’s immediate neighbors is denoted as N (s), then instead of asking every station in N (s) to rebroadcast s’s message, it is more efficient to ask only the stations in a smaller set N(s)⊂ N(s) to do it if N(s)∪ {s} cover the same area as N(s) ∪ {s} do. This simple broadcast protocol

has been shown in [11] to significantly reduce the number of retransmissions and therefore effectively alleviate the broadcast storm problem defined in [13].

In contrast to the other minimum cover combinatorial problems mentioned earlier, the disc cover problem can be solved in polynomial time. In [12], an algorithm sim-ilar to the Graham-scan algorithm for convex hull [2] is proposed that constructs a minimum disc cover inO(n4/3)time, where n is the number of discs. As most exist-ing applications of the minimum disc cover problem are for mobile ad hoc networks, where the computing power and battery life of each node are relatively limited, more efficient algorithms are always desirable unless the existing ones are already optimal. In this paper, we propose two new methods for the minimum disc cover prob-lem. The first one reduces the covering problem to the α-hull problem [4], which can then be solved using an existing algorithm. However, this method assumes that no more than three disc origins fall on the circumference of a disc. Our second method solves the minimum disc cover problem directly using a simple divide-and-conquer strategy. Although both methods have the same time complexity,O(n log n), the sec-ond method enjoys two strengths: (1) it is conceptually simple; and (2) it requires no aforementioned assumption (as entailed by the first method). As the final contribution of this paper, we will prove that any algorithm that solves the minimum disc cover problem needs (n log n) time in the worst case, thereby establishing the optimality of both of our algorithms.

2 The Minimum Disc Cover and α-Hull Problems

Minimum Disc Cover was originally formulated as a problem in mobile ad hoc net-works, where each node (i.e., mobile station) is assumed to have the same transmis-sion range. If the transmistransmis-sion range is normalized to 1, the coverage area of a node

(3)

Fig. 1 The α-hull and convex hull (the dashed lines) for a given set of points

i’s location as Oi, or simply i if there is no ambiguity, and denote its coverage disc as D(Oi), or simply Di. The Euclidean distance between nodes i and j is denoted as dist(Oi, Oj), or dist(i, j ). The minimum disc cover problem is formally defined as follows.

Definition 1 Minimum Disc Cover Problem

Instance: A set of unit discs, = {D0, D1, D2, . . . , Dn}, such that dist(D0, Di) <11 for all i, 1≤ i ≤ n.

Question: Find a subset ⊆  such thatis minimum and

 Di∈ Di=  Dj∈ Dj.

(Note that no two discs share the same origin. Also, D0may be included in .) We will relate the minimum disc cover problem to another problem, called α-hull. For any negative number α and any set of points S on a two-dimensional plane, the α-hull for S is defined as the intersection of all closed complements of discs (with radius

−1/α) that contain all the points in S [4]. (Note that it is the discs’ complements, not the discs themselves, that contain the points in S.)

Since we are only interested in unit discs, we will assume α= −1 unless other-wise indicated. With such an assumption, the shape of an α-hull resembles an inward curved convex hull, where each edge of the α-hull is an arc of a unit circle. A con-venient way to visualize the shape of an α-hull is to envision the points in S as nails fixed on the plane and a steel wheel of radius 1 is rolled around the nails to obtain the outer contour of S. The contour is the α-hull for S. Figure1illustrates a set of points’

α-hull as well as its convex hull.

The following theorem shows a simple connection between the minimum disc cover and α-hull problems.

Theorem 1 Let = {D0, D1, . . . , Dn} be an instance of the minimum disc cover problem, and let S= {O0, O1, . . . , On} be the corresponding set of origins. Then the set of all vertices of S’s α-hull, with α= −1, corresponds to a minimum cover for .

1In this paper, we adopt the open disk model. However, the same results can be had for the close disk

(4)

Fig. 2 Largest possible arc not including O0is 120◦; and

D(pi)and D(pi+1)

(represented by dotted circles) together cover the

corresponding sector of D(O0)

Proof Let S= {O0, O1, O2, . . . , On} be the set of disc origins for a given disc set

such that∀i dist(O0, Oi) <1. Let α= −1. As mentioned earlier, imagining the nodes in S as nails, the shape of the α-hull is exactly the outer contour obtained by rolling a steel unit disc around the nails. Let H be the α-hull for S, and let P =

{p1, . . . , pm} ⊆ S be the set of all vertices of H in the same order they were rolled over by the rolling steel unit disc in the counterclockwise direction. We will show that = {D(p1), . . . , D(pm)} forms a minimum disc cover for . Let

UD = 

1≤i≤m

D(pi).

We first show D(O0)⊆ UD.Assume O0∈ P (the case where O/ 0∈ P is trivial). For each consecutive pair pi and pi+1in P (note that pmand p1are regarded con-secutive), the rolling steel unit disc passing through piand pi+1does not enclose O0 in it. (O0would have been included in P if it were inside the rolling unit disc; see Fig.2for illustration.) It is easy to see that the union of D(pi)and D(pi+1)covers the sector of D(O0)from−→O0pi to−→O0pi+1in the counterclockwise direction. Since the same argument applies to all consecutive pairs in P , it follows that D(O0)⊆ UD . Next, we show D(Oi)⊆ UD for every origin Oi∈ S. It suffices to consider the case where Oi∈ P . For convenience, write O/ i as a. Assume there exists a point x in

D(a)such that x /∈ UD . We will show that d(x, a)≥ 1. Given that all points in H are inside D(O0)⊆ UD , x must be outside the disc D(O0)(i.e., d(x, O0) >1). The line segment ax must intersect some arc of H , saypq, at some point t (see Fig.3). Let the origin of the rolling steel unit disc passing through p and q be O. Because O0is in S, the angle∠pO0q cannot be more than 120◦, as shown in Fig.2. The point x, which appears on the concave side ofpq and is not covered by D(p)∪ D(q), must be at least 1 unit (radius of discs) away frompq. (In Fig.3, point x is on the north of O.) Thus, d(x, a)= d(x, t) + d(t, a) ≥ d(x, t) + d(a, pq)≥ d(x, t) + 1 ≥ 1. This

(5)

Fig. 3 The distance between a and x is at least 1 if x is not covered by D(p) and D(q)

Fig. 4 The disc centered at a vertex of the α-hull covers some area not covered by other nodes in S

Now, we establish the optimality of by showing that any disc cover for  must contain as a subset. Let C be the set of origins of any disc cover for , and let p be any point in P . We need to show p∈ C.

If the steel unit disc rolls around a point p∈ P without touching another one, all other points in S have to be at least 2 units away from p. The only possibility of this scenario is when p= O0and S= {O0}.

Now suppose there are at least two points in S. Then, a point p∈ P must be an endpoint of some arcpq on the α-hull’s boundary.pq is part of the circumference of the rolling steel unit disc. Let us denote the origin of the rolling steel unit disc passing through p and q as c. The disc D(c) must contain no point in S inside it. Note that points in S could appear on the arcpq, for example the point r in Fig.4. Since S contains only a finite number of points, it is easy to see from Fig.4that there is always an area close to c (i.e., the part of the shaded region close to c in Fig.4) that is only covered by disc D(p) but not by any other disc in . Therefore, p must

(6)

Fig. 5 The shaded area is covered by D(O1)

Theorem1 establishes the connection between the minimum disc cover and α-hull problems. In [4], there is an optimal algorithm that constructs the α-hull of a set of n points inO(n log n) time. Using this algorithm, one can solve the minimum disc cover problem in O(n log n) time, which is an improvement over the O(n4/3)

algorithm in [12]. This approach, however, has a weakness—the α-hull algorithm in [4] needs to compute the Delaunay Triangulations and will fail if there are more than three disc origins falling on the circumference of a circle.

In the next section we will present a conceptually simpler divide-and-conquer al-gorithm that works for all cases, including degenerate ones.

3 The Divide-and-Conquer Algorithm

3.1 Theoretical Basis

We state the following simple, yet useful fact as a lemma for ease of reference. Fig-ure5illustrates the situation.

Lemma 1 Let O0and O1be a pair of points with dist(O0, O1) <1, and let

 ABbe an arc on the boundary of the unit disc D(O1)which is outside the area of the unit disc D(O0). The area surrounded byAB, AO0, and BO0is completely covered by

D(O1).

Now, suppose we are given S= {O0, O1, . . . , On}, and the set of correspond-ing unit discs = {D(O0), D(O1), . . . , D(On)}. Consider the union of discs U =



Oi∈SD(Oi). As illustrated in Fig.6, the area of U is bounded by a series of arcs,

say (A1A2,  A2A3, . . . ,  Ak−1Ak, 

AkAk+1), where A1= Ak+1. If the region bounded by P Q, P O, and QO is denoting by Sector(P Q, P O, QO) the area U can be

(7)

Fig. 6 The boundary of



Oi∈SD(Oi)is formed by a

series of arcs AiAi+1

viewed as the union of Sector(AiAi+1, AiO0, Ai+1O0), 1≤ i ≤ k. We show in the following lemma that the unit discs that contribute arcs AiAi+1(1≤ i ≤ k) form a minimum disc cover of .

Lemma 2 Let A1A2,  A2A3, . . . ,  Ak−1Ak, 

AkAk+1 be the arcs surrounding U =



Oi∈SD(Oi), where A1= Ak+1; and for 1≤ i ≤ k, let D(Oti) be the unit disc

that contributes AiAi+1. The set of unit discs,{D(Ot1), D(Ot2), . . . , D(Otk)}, is a

minimum disc cover for .

Proof We first claim that any unit disc D(Oti)that contributes an arc to the boundary

of U must be included in any disc cover of . To see this, observe that ifAiAi+1 is contributed by Oti, then the area close to



AiAi+1is not covered by any disc other than D(Oti).

Now, the area U can be thought of as a collection of disjoint pieces, each sur-rounded byAiAi+1, AiO, and Ai+1O, where i ranges from 1 to k. By Lemma1, each such piece is covered by a unit disc D(Oti). Thus,{D(Ot1), . . . , D(Otk)} is a

disc cover for . Applying the above claim, the cover is minimum.  Notice that a unit disc D(Oti)may contribute more than one arc to the boundary

of U . This implies that the same unit disc D(Oti)may appear more than once in the

disc cover set{D(Ot1), D(Ot2), . . . , D(Otk)}. In fact, a unit disc in  may contribute

zero, one, or two arcs to the boundary of U . The possibility of contributing more than one arc is the main reason why the minimum disc cover problem is nontrivial. This will be further discussed in Sect.3.5.

(8)

3.2 Abstract of Algorithm

By Lemma2, to find the minimum disc cover for , it suffices to find the arcs that make up the boundary of U . This can be done in a divide-and-conquer fashion as follows.

Algorithm Boundary({O0, O1, O2, . . . , On}; i, j) if i= j

return the boundary of D(O0)∪ D(Oi) else

m:= (i + j)/2

ArcList1:= Boundary({O0, O1, O2, . . . , On}; i, m) ArcList2:= Boundary({O0, O1, O2, . . . , On}; m + 1, j) return ArcMerge(ArcList1, ArcList2)

Boundary ({O0, O1, O2, . . . , On}; i, j) returns the boundary of UD(i, j ), where

UD(i, j ), referred to as a super disk, is defined as

UD(i, j )= D(O0)∪ D(Oi)∪ D(Oi+1)∪ · · · ∪ D(Oj).

It is important to note that D(O0) is always present in UD(i, j ) and 1≤ i ≤

j ≤ n. This is a typical divide-and-conquer algorithm. In order to find the

bound-ary of UD(i, j ), we find the boundary of UD(i, m)and that of UD(m+ 1, j), and

then merge the two boundaries to obtain that of UD(i, j ). Here, each boundary is represented as a list of arcs, and the hard part of the algorithm is how to merge two arc lists. We will discuss these issues in the next two subsections.

3.3 Representation of Arc Lists

An arc can be characterized by three parameters, (Ot, α, β), where Ot is the origin of the disc that contributes the arc, and α and β are the degrees of two angles, as depicted in Fig.5. It is not hard to see that

α= ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ cos−1 −→O 0A·(1,0) −→O0A , if (1, 0)×−→O0A≥ 0, cos−1 −→ O0A·(1,0) −→O0A + π, otherwise

and β can be similarly computed.

Notice that the angles are computed using O0as the apex, rather than the origin of the disc contributing the arc. In Fig.5, O0P is parallel to the x-axis.

The boundary of a super disc is thus a list of Arc(Osi, αsi, βsi), 0≤ i ≤ max.

For ease of discussion, if an arc Arc(Ok, αk, βk)crosses 360◦ (i.e., αk<360◦ and

βk>360◦), we split it into two arcs Arc(Ok,0◦, βk)and Arc(Ok, αk,360◦). Thus, without loss of generality, we may assume that no arc crosses 360◦. Furthermore,

(9)

Fig. 7 SplittingBCintoBF andF C, and splittingDEinto 

DGandGE

we sort each list based on the value of the first angle (i.e., αi) in ascending or-der, so that βsi = αsi+1, 0≤ i ≤ max, with the understanding that i + 1 is

com-puted modulo max. Thus, the boundary of a super disc can be represented simply as (Os0, αs0, Os1, αs1, . . . , Osmax, αsmax), where 0◦= αs0<· · · < αsmax<360◦.

3.4 Merging Two Arc Lists

Now, given two sorted arc lists

ArcList1= (Os0, αs0, Os1, αs1, . . . , Osmax, αsmax),

ArcList2= (Ot0, αt0, Ot1, αt1, . . . , Otmax, αtmax)

representing the boundaries of super discs UD(i, m)and UD(m+ 1, j), respectively,

we want to merge them so that the resulting list represents the boundary of UD(i, j )= UD(i, m)∪ UD(m+ 1, j).

The first step is to split the arcs in each list into smaller arcs, if necessary, so that the two refined arc lists share the same sequence of angles (i.e., α’s). For instance, as illustrated in Fig.7,BCis split intoBF andF C, andDE is split intoDGand



GE. With such splits, arc lists{AB,BC} and {DE,EC} become {AB,BF,F C}

and{DG,GE,EC}, respectively, which share the same sequence of angles with O0 at the apex. As another example, if

ArcList1= (Os0,0◦, Os1,30◦, Os2,140◦, Os3,200◦),

ArcList2= (Ot0,0◦, Ot1,120◦, Ot2,240◦),

they will be refined to

ArcList1= (Os0,0◦, Os1,30◦, Os1,120◦, Os2,140◦, Os3,200◦, Os3,240◦),

ArcList2= (Ot0,0◦, Ot0,30◦, Ot1,120◦, Ot1,140◦, Ot1,200◦, Ot2,240◦).

Now, let us consider the general case. After splitting, the given lists will contain the same number of arcs:

ArcList1= (Os0, αs0, Os1, αs1, . . . , Osk, αsk),

ArcList2= (Ot0, αs0, Ot1, αs1, . . . , Otk, αsk)

for some k. To merge the two lists, we simply merge each individual pair of corre-sponding arcs, Arc(Osi, αi, αi+1)and Arc(Oti, αi, αi+1)as follows. (See Fig.8for

(10)

Fig. 8 Cases 1, 2 and 3, where two arcs with the same angle span are merged

Case 1: Arc(Osi, αi, αi+1)and Arc(Oti, αi, αi+1)have no intersection. One arc is

closer to O0than the other. The merger will drop the arc closer to O0and keep only the farther one. For instance, in the left diagram of Fig.8, the merger will result in arcAB.

Case 2: Arc(Osi, αi, αi+1)and Arc(Oti, αi, αi+1)intersect at one point. In this case,

we drop the two inner sub-arcs and keep the two external ones. Thus, in the middle example of Fig.8, merging arcsABandCDwill yield arcsAEandED.

Case 3: Arc(Osi, αi, αi+1)and Arc(Oti, αi, αi+1)intersect at two points (E and F

in Fig.8, right). In this case, we drop the three inner sub-arcs and keep the three external ones. Thus, merging arcsABandCDwill result in arcsAE,EFandF B.

3.5 Time Complexity of the Proposed Algorithm

We will show that the above proposed divide-and-conquer algorithm has time com-plexityO(n log n). Our analysis will hinge on the following lemma.

Lemma 3 A unit disc D(Oi)can contribute at most two arcs to the boundary of



Oi∈SD(Oi).

Proof Recall that the reference point O0is fixed and all the other unit disc origins are inside the unit disc D(O0). Hence, if we consider the boundary of the union of the unit disc D(O0)and any other disc, say D(O1), the arc contributed from D(O1)

must have an angle (with respect to O1) of less than 240◦. Let the arc beAB. (See Fig.9for illustration.) Now, if we place a third unit disc so that it “breaks” arcAB

into two pieces, the origin of that disc must be more than 1 unit away from each of A and B and less than 1 unit away from some part ofAB(illustrated as the shaded area in Fig.9). With the third unit disc being added, D(O1)now contributesAP andQB

(rather thanAB) to the boundary. (In other words, arcAB contributed by D(O1)is now broken intoAP andQB.) It is not hard to see that arcsAP andQBmust be at least 120◦ apart with respect to O1. In general, each time an arc is cut into two pieces by another unit disc, the resulting smaller pieces (that still contribute to the boundary) must be at least 120◦apart with respect to the origin of the contributing

(11)

Fig. 9 The possible area for the origin of a third disc that breaks 

ABinto two arcsAPandQB

disc. Now, if a disc is able to contribute three arcs to the boundary ofO

i∈SD(Oi),

the three arcs must be pairwisely separated by at least 120◦. Adding up the degrees of the angles for the gaps and the degrees of the angles for the arcs themselves, the total would exceed 360◦, which is not possible. Therefore, a unit disc can only contribute at most two arcs to the boundary ofO

i∈SD(Oi). 

Now we are ready to show that our algorithm has time complexityO(n log n). Theorem 2 Algorithm Boundary has time complexityO(n log n), where n is the num-ber of unit discs in .

Proof The running time, T (n), of Algorithm Boundary({O0, O1, O2, . . . , On}; i, j) satisfies the recurrence

T (n)=

T (n2) + T (n2) + T (ArcMerge) if n > 1,

O(1) if|n| = 1,

where n= j − i + 1. Since each disc can only contribute at most two arcs (by Lemma3), ArcList1 and ArcList2 each contain at mostO(n) “unsplit” arcs. After splitting, each list still contains at mostO(n) arcs. Since merging two arcs with the same angle span (as described at the end of Sect.3.4) takes O(1) time, merging the two (refined) arc lists takesO(n) time. So, the time complexity of ArcMerge is O(n). Solving the above recurrence then yields T (n)= O(n log n). 

4 Optimality of the Time Complexity

In an earlier section we established the connection between the minimum disc cover and α-hull problems; and it has been shown in [4] that any algorithm that constructs

(12)

Fig. 10 Mapping aiin S to

pi= (r cos(amaxai·π+1), rsin(amaxai·π+1))

the α-hull for an arbitrary set of points S needs at least (n log n) time in the worst case, where n= |S|. However, since our minimum disc cover problem confines the input unit disc origins to be inside the unit disc D(O0), it is, therefore, questionable whether the minimum disc cover problem still has the same time complexity lower bound as the α-hull problem. In the following theorem, we answer this question in the affirmative by reducing the element uniqueness problem (which is known to be

(nlog n) in time complexity [3]) in linear time to our disc cover problem.

Definition 2 Element Uniqueness Problem

Instance: A multiset of non-negative integers S= {a1, a2, . . . , an}.

Question: Are there elements ai and aj in S, with i= j, such that ai= aj? Theorem 3 The minimum disc cover problem has a time complexity of (n log n).

Proof It suffices to reduce the element uniqueness problem to the minimum disc cover problem in O(n) time. Given a multiset of non-negative integers S =

{a1, a2, . . . , an}, we first scan to find the largest element in S, say amax. Let

θ = a π

max+1, and r be a positive constant less than 1. We then map each

ele-ment ai in S to pi = (r cos(ai · θ), r sin(ai · θ)), which is a point on the cir-cumference of a disc of radius r centered at origin O. (Figure 10illustrates such a mapping.) The scan and mapping evidently take O(n) amount of time. Let

= {D(O), D(p1), D(p2), . . . , D(pn)} be an instance of the minimum disc cover problem, where D(O) and D(pi)are unit discs. Since all points pi are on the upper semi-circumference of the disc of radius r centered at O, every distinct element in

{O, p1, p2, . . . , pn} must contribute to the minimum disc cover for . Thus, S has no duplicates if and only if ’s minimum disc cover has cardinality n+ 1. 

(13)

5 Conclusion and Future Work

We showed the minimum disc cover problem to be a special case of the α-hull prob-lem. Then we showed that being a special case does not make it simpler than the general α-hull problem in terms of time complexity—both problems need at least

(nlog n) time. We proposed two optimal algorithms for constructing minimum disc covers. The first applies an existing algorithm for the α-hull. However, this approach needs to construct Delaunay Triangulations and would fail should more than three disc origins fall on the circumference of a circle. Our second method is a divide-and-conquer algorithm, which is conceptually simpler and works well even for degenerate cases.

Although the proposed algorithms are optimal in terms of time complexity, there may still be room for improvement when the algorithm is used in applications such as message broadcast or media access control in mobile ad hoc networks. One possibil-ity is for each node to keep track of its neighbors’ movements and “predict” when the members of its minimum disc cover are likely to change, and only then re-compute the new minimum cover. This will reduce the number of times a node computes its minimum disc cover, thereby reducing the power consumed by such computations. This is known as the Kinetic Collision Detection model [1]. This model will be ex-plored in our future work.

References

1. Basch, J., Erickson, J., Guibas, L.J., Hershberger, J., Zhang, L.: Kinetic collision detection for two simple polygons. In: Proceedings of the Tenth Annual ACM-SIAM Symposium on Discrete Algo-rithms, pp. 102–111, 1999

2. de Berg, M., van Kreveld, M., Overmars, M., Schwarzkopf, O.: Computational Geometry. Springer, Berlin (2000)

3. Dobkin, D.P., Lipton, R.J.: On the complexity of computations under varying sets of primitives. J. Comput. Syst. Sci. 18, 86–91 (1979)

4. Edelsbrunner, H., Kirkpatrick, D.G., Seidel, R.: On the shape of a set of points in the plane. IEEE Trans. Inform. Theory IT-29, 551–559 (1983)

5. Garey, M.L., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, San Francisco (1979)

6. Intanagonwiwat, C., Govindan, R., Estrin, D.: Directed diffusion: a scalable and robust communica-tion paradigm for sensor networks. In: Proceedings of the 6th Annual Internacommunica-tional Conference on Mobile Computing and Networking, pp. 56–67, 2000

7. Ko, Y.-B., Vaidya, N.H.: Location-aided routing (LAR) in mobile ad hoc networks. In: Proceedings of the 4th Annual ACM/IEEE International Conference on Mobile Computing and Networking, pp. 66–75, 1998

8. Peng, W., Lu, X.: On the reduction of broadcast redundancy in mobile ad hoc networks. In: Proceed-ings of the First ACM International Symposium on Mobile and Ad Hoc Networking and Computing (MobiHoc), pp. 129–130, 2000

9. Sun, M., Feng, W., Lai, T.-H., Yamada, K., Okada, H., Fujimura, K.: GPS-based message broadcast for adaptive inter-vehicle communications. In: Proceedings of IEEE International Conference on Parallel Processing, pp. 279–286, 2000

10. Sun, M., Huang, L., Wang, S., Arora, A., Lai, T.-H.: Reliable MAC Layer Multicast in IEEE 802.11 Wireless Networks, Special Issue of Wiley Wireless Communications and Mobile Computing on Re-search in Ad Hoc Networking, Smart Sensing, and Pervasive Computing, 2003

11. Sun, M., Lai, T.-H.: Location aided broadcast in wireless ad hoc network systems. In: Proceedings of IEEE Wireless Communications and Networking Conference, pp. 597–602, 2002

(14)

12. Sun, M., Lai, T.-H.: Computing optimal local cover set for broadcast in ad hoc networks. In: Proceed-ings of IEEE International Conference on Communications, pp. 3291–3295, 2002

13. Tseng, Y.-C., Ni, S.-Y., Chen, Y.-S., Sheu, J.-P.: The broadcast storm problem in a mobile ad hoc network. Wirel. Netw. 8(2/3), 153–167 (2002)

數據

Fig. 1 The α-hull and convex hull (the dashed lines) for a given set of points
Fig. 2 Largest possible arc not including O 0 is 120 ◦ ; and
Fig. 3 The distance between a and x is at least 1 if x is not covered by D(p) and D(q)
Fig. 5 The shaded area is covered by D(O 1 )
+6

參考文獻

相關文件

• There are important problems for which there are no known efficient deterministic algorithms but for which very efficient randomized algorithms exist. – Extraction of square roots,

We find molar masses for the elements in the periodic table (inside front cover of the text). We use the molar mass and Avogadro’s number as conversion factors to convert from

✓ Combining an optimal solution to the subproblem via greedy can arrive an optimal solution to the original problem.. Prove that there is always an optimal solution to the

Primal-dual approach for the mixed domination problem in trees Although we have presented Algorithm 3 for finding a minimum mixed dominating set in a tree, it is still desire to

1.9 Chapters 3 to 7 cover the concerns and suggestions received and elaborate on our support measures covering the five proposed actions, including enhancing schools’

 The TRG consists of two components: a basic component which is an annual recurrent cash grant provided to schools for the appointment of supply teachers to cover approved

 Definition: A problem exhibits  optimal substructure if an ..

The vertex-cover problem is to find a vertex cover of minimum size in a given undirected graph. • 此問題的decision版本為NP-Complete