• No results found

2 Maximization Problems on Fixed Radius Disks

In this section we develop a variant of the slab method of [7] suitable for han- dling maximum independent set and maximum covering set problems, and then apply this method for giving a 2O˜(√m)exact solution for a number of problems,

includingMWIS, MWCSg,MSCg andMPg.

Let us first describe our variant of the slab method. Subdivide the plane by introducing a grid of lines at distanceδ= 2R of each other, aligned so that

the point (0,0) is a grid point. Thevth vertical line,−∞< v <∞, is atx=v·δ; the indexvwill be used to identify the line. The same goes for horizontal lineh. Each vertical linevdefines a verticalslab denotedSlab(v), which is the strip

v·δ≤x <(v+1)·δ. Similarly,Slab(h) is the horizontal striph·δ≤y <(h+1)·δ. These vertical and horizontal slabs induceδ×δsquares which are open on their right and upper sides and will be referred to as grid-squares. A grid-square is calledoccupied if it contains a server, otherwise it is called empty. We use these definitions for vertical and horizontal slabs as well.

Without loss of generality, all the points of the problem instance are contained in a rectangle with boundariesv1, v2, h1, h2whose sides are each no larger than

m·δ(otherwise there must be an empty slab which divides the problem instance into two independent problems each contained in a smaller rectangle, and in this

case each of the rectangles could be dealt with separately). Let M denote the number of occupied squares contained in this rectangle.

For a vertical slabSlab(v),v1≤v < v2, denote byIn(v) the set of occupied

grid-squares contained inSlab(v), byLeft(v) the set of occupied grid-squares to the left ofSlab(v) and byRight(v) the set of occupied grid-squares to the right of Slab(v). For a horizontal slabSlab(h) define In(h),Above(h) andBelow(h) in a similar way. By the above definitions, for everyvand h,

|Left(v)|+|In(v)|+|Right(v)|=M and |Below(h)|+|In(h)|+|Above(h)|=M.

Definition: For any input instance X,Y, a dividing slab is either a vertical slabSlab(v),v1≤v < v2 such that (1)|In(v)| ≤5√M, (2)|Left(v)| ≤ 45·M,

and (3)|Right(v)| ≤ 4

5·M, or a horizontal slabSlab(h),h1≤h < h2such that

(1)|In(h)| ≤5√M, (2) |Above(h)| ≤ 4

5·M, and (3)|Below(h)| ≤ 45·M.

Lemma 1. For any input instanceX,Y, there exists a dividing slab. Proof. Letv

1be the smallest vertical line index such that|Left(v1)|> M/5 and

letv

2be the largest vertical line index such that|Right(v21)|> M/5. Similarly,

leth

1be the smallest horizontal line index such that|Below(h1)|> M/5 and let

h

2 be the largest horizontal line index such that |Above(h21)|> M/5. Note

that|Left(v

11)| ≤M/5 by choice ofv1, hence|Right(v1 2)|>4M/5. This

implies thatv

11≤v2, since otherwisev11 should have been chosen instead

ofv

2. Moreover, each of the vertical slabs in LV ={Slab(v)|v11≤v≤v2}

satisfies|Left(v)| ≤4M/5 and|Right(v)| ≤4M/5. Analogous statements apply for horizontal slabs inLH ={Slab(h)|h11≤h≤h2}withAboveandBelow.

We now show that at least one of the slabs inLV ∪LHalso satisfies the first

condition of a dividing slab. LetRbe the rectangle bounded byv

11, v2+1, h1

1, h

2+ 1, and letM be the number of occupied grid-squares inR. Note thatR

contains all the occupied rectangles save those inLeft(v

11), Right(v2+ 1), Below(h

11) andAbove(h2+ 1), whose total number is at most 4M/5, and

thereforeMM/5.

There arelv=|LV|=v2−v1 + 2 vertical slabs andlh=|LH|=h2−h1+ 2

horizontal slabs in the rectangle R. We now observe that lv ·lh < M by the

definition of M, and therefore eitherlv M or lh M. Without loss of

generality supposelv≥ M. AsMM/5, we conclude thatl v≥ M/5. If |In(v)| > 5 ·√M for each vertical slabs Slab(v) LV, then we get

more thanM occupied grid-squares altogether. Therefore there must be a slab

Slab(v)∈LV for which|In(v)| ≤5·

M.

The above lemma suggests a generic recursive procedure which is at the heart of a number of algorithms for solving some geometric optimization problems. We next discuss the resulting algorithm for theMWISproblem and state the results for the grid-based version of the other problems.

LetX(v1,v2,h1,h2) and Y(v1,v2,h1,h2) denote the sets of servers and clients re-

stricted to the area bounded by the linesv1, v2, h1, h2 andv1, v2, h1, h2, respec-

tively. Let MWIS[X(v1,v2,h1,h2), Y(v1,v2,h1,h2)] denote the problem restricted to

The procedureOptimize(X, Y) recursively finds an optimal set of servers. The bottom level of the recursion is whenX is contained in a single disk square, In this case the procedure computes an optimal solution by an exhaustive search, going through all possible choices of three servers in the square.(Note that choos- ing four servers inside a singleδ×δgrid-square will necessarily cause theirR-disks to intersect, even if they are symmetrically located on the four corners.) Each step starts with the procedure identifying a dividing slab Slab(v) or Slab(h). This is done by exhaustively examining each slab. The procedure then cycles over all local (not necessarily optimal) partial solutions Xt of the local prob-

lem where the servers are contained in squares of In(v) or In(h), respectively. Each such partial solutionXtis composed of all possible choices of up to three

servers inside each grid-square ofIn(v) orIn(h). For each such partial solution

Xt, the procedure then creates the left and right (resp., above and below) sub-

problems, in which the servers are restricted to squares ofLeft(v) andRight(v) (resp.,Below(h) andAbove(h)), while deleting from these subproblems the set of servers Neighbors(Xt) whose disks intersect disks ofXt. We now solve the left

and right (resp., below and above) subproblems recursively. The procedure stops when remaining with a single square, in which case it finds a local solution by exhaustively searching all O(m3) possibilities of choosing a disjoint set of disks

with servers inside the grid-square. ProcedureOptimize(X, Y)