Maximum Independent Set of Rectangles using Local Search

Maximum Independent Set of Rectangles using
Local Search
Guntash Singh Arora, Sai Praneeth Reddy
1
Introduction
We are given a set of unweighted axis-parallel rectangles and we are to choose
the largest subset which do not intersect with each other. Say we are given a
set of n rectangles R, and OP T (R) denotes the optimal independent set. We
can alternative construct an intersection graph of the set R where each node
corresponds to a rectangle with edges between intersecting rectangles. We show
a simple O(log log2 n) approximation algorithm i.e. we obtain a set S such that
|S| log log2 n = Ω(|OP T (R)|). As a byproduct, we also give a algorithm which
enjoys better approximation factor when the optimal set is large. The algorithm
proceeds in two steps:
• We first sparsify the intersection graph. Given an input graph R with an
maximum independent set OP T (R), we construct a subgraph R0 of size
close to OP T (R) and has an maximum independent set nearly the size of
R
• Given that we have a graph in which the optimum is nearly the size of the
graph, we use a simple local search to find the local optima L.
2
Sparsification Using LP
MISR can be formulated as an integer linear program.
P let xi denote if rectangle
i ∈ R is picked. We need that for every point p,
xi ≤ 1 where R(p) is the
i∈R(p)
set of rectangles containing p. The relaxed L.P. would then be
max
n
X
xi
i=1
s.t.
X
xi ≤ 1,∀p
i∈R(p)
xi ≥ 0
,1 ≤ i ≤ n
1
Let L(R) be the value of the optimum of the relaxed L.P. and x∗i be the optimal
solution. Replicate each rectangle dx∗i log ne times, and zij , 1 ≤ j ≤ dx∗i log ne
be the corresponding indicator variables. Set zij = log1 n with probability 12 and
0 otherwise.
X j
x∗
E(
zi ) = i
2
j
X X
i∈R(p)
L(R) ≥
zij ≤ 1, w.h.p.
j
XX
i
zij ≥
j
L(R)
, w.h.p.
4
Let R0 be the set of rectangles whose zij > 0. A repeated rectangle can be seen
either an intersecting rectangle.
Theorem 2.1. The set of rectangles R0 constructed above have maximum depth
L(R)
0
of log n, L(R0 ) ≥ OP T (R0 ) = Ω( log
log n ), and | R | = Θ(log nL(R))
Proof. The former and the latter parts of the theorem follow by substituting the
value of chosen zij to be log1 n in the above equations. The log log n approximation
algorithm by Chalermsook, and Chuzhoy 2009 is a constructive proof of part 2
of the theorem.
Theorem 2.1pimplies that | R0 | = log nL(R). If OP T (R) = Ω(log n), then
OP T (R0 ) = Ω( 3 | R0 |).
If we run the sparsification again on R0 , we obtain a set R00 . For R00 ,
Table 1: Values after Sparsification
R
R0
||
n
Θ(L(R) log n)
L( )
L(R)
L(R)
Ω( log
log n )
R00
Θ(L(R0 ) log |R0 |)
)
Ω( logL(R
log |R0 | )
0
Consider the case where L(R) = Ω(OP T (R)) = Ω(log log2 n)
|R0 |
L(R)
=
≥ log log n+log L(R) = log(log nL(R)) = log(| R0 |)
log n log log n
log log n
log |R0 | log log2 |R0 |
L(R0 )
2
00
0
|R00 | = O L(R00 )
=
O
L(R
)
log
log
|R
|
log log |R0 |
log log |R0 |
L(R0 ) ≥
= O(log2 |R00 |L(R00 )2 ) = O(L(R00 )3 )
Note that when OP T (R) = O(log log2 n), any solution gives an log log2 n approximation.
2
3
Local Search Algorithm
A local search algorithm for MISR creates a maximal set of independent rectangles and checks if k of these rectangles could be removed to include > k
rectangles in its place. The running time of this algorithm is O(nk ), for some
appropriately chosen constant k. We will partition the input set R into a sets,
run the local search algorithm in each, and output the largest of these sets.
3.1
When OPT is linear
Suppose we are given a set of axis-parallel rectangles on a plane R of size cn,
for some constant c, with an independent set of size 2n i.e. OP T (R) = 2n. We
outline below an algorithm which achieves an approximation of 2(1 + ).
Algorithm 1 Local-Search (R,k)
Create a equivalent instance R0 where the edge lengths are from [cn]
Rw ← all rectangles whose width is greater than height
Rh ← all rectangles whose height is greater than width
for Set Rw and then set Rh do
Choose a maximal independent set RL
6:
for Each k subset S in RL do
7:
Remove S and try add > k rectangles. Repeat 6 if you succeed.
8: Output the larger of the two local Optimal sets
1:
2:
3:
4:
5:
Let Lh and Ll be the locally optimal sets obtained of Rh and Rl respectively.
Let Oh and Ol be the maximum independent sets of Rh and Rl respectively.
Atleast one of Oh and Ol is of size ≥ n. W.l.o.g., we assume that |Oh | ≥ n. For
the sake of clarity of presentation, we assume |Oh ∪ Lh | = n
R2
R1
2 Intersection
4 Intersection
3
Theorem 3.1. If |Oh ∪ Lh | = n, the intersection graph of Oh ∪ Lh has O(n 2 )
edges.
Proof. Oh and Lh are both independent sets. Thus intersections are only between the two sets. Let w(R) denote the width and h(R) denote the height of
the rectangle R. h(R) ≥ w(R), R ∈ Rh .
3
The corner of each rectangle can only belong to one other rectangle. As
for each 2-intersection, 1 corner of a rectangle belongs to some other rectangle,
there can only be 4n 2-intersections.
Let R1 and R2 be as shown above in the 4-intersection. h(R1) ≥ w(R1) ≥
w(R2). Similarly, if the set of rectangles 4-intersecting with R be I(R), and
v(R) = |I(R)|,
X
h(R) ≥
w(r) ≥ v(R)
r∈I(R)
P
For each thin rectangle R, h(R) ≥
r∈I(R)
h(r) ≥
P
v(r). Thus if we
r∈I(R)
sum the heights of all the thin rectangles, for each thick rectangle r, v(r) will be
included in the height of each thin rectangles in I(r). Thus v(r) will be counted
atleast v(r) times.
X
X
X
3
(cn)2 ≥
h(R) ≥
v(r)2 ⇒
v(r) ≤ cn 2
(1)
R∈thin rectangles
3
Thus the number of intersections is O(n 2 ).
Theorem 3.2. (Fox and Pach 2008) Given a set of curves on a plane such that
any two√curves intersect each other only O(1) times, there exists a separator of
size O( m) where m is the number of edges on the intersection graph.
3
By repeatedly using the balanced separator above of size O(n 4 ) for our
particular intersection graph, we can obtain a multi separator with the following
properties.
Theorem 3.3. There are constants c1 , c2 , c3 and c4 such that for a parameter
r, one can find a set of X ⊂ V of size at most c1 rn4 , and a partition of V \ X
into nr sets V1 ...V nr , satisfying:
4
1. |Vi | ≤ c2 r
2. N (Vi ) ∩ Vj = φ, for i 6= j
P
n
3.
i |N (Vi ) ∩ X| ≤ c3 r 4
4. |N (Vi ) ∩ X| ≤ c4 r.
Theorem 3.4. Local-Search algorithm for suitable constant k gives an 2(1 + )
1
approximation with running time nO( 2 ) .
Proof. We choose the parameter r in Theorem 3.3 in such a way that |N (Vi )∪Vi |
( ≤ (c1 + c4)r) is less than k.
Let si = |Vi ∩ O| , li = |Vi ∩ L| and bi = |N (Vi ) ∩ X|.
Then by our choice of r, li + bi < k. So, if si > li + ki , we can replace
elements of (Vi ∩ L) ∪ (N (Vi ) ∩ X ∩ L) by Vi ∩ O in L. This will increase the size
of L (since si > li + ki ) by removing less than k elements, implying that L was
not b-locally optimal to begin with. Hence si ≤ li + bi . Using this observation,
we can upper-bound the size of O in term of L and get,
X
X
X
|O| ≤
si + |X| ≤
ki +
li + |X|
i
P
most
i bi can be
c1 rn4 . Here
i
P
bounded using part 3 of Lemma 2, i li is |L| and |X| is at
n is |O| + |L|. Combining all this, setting k = O( 14 ) we get
|O| ≤ 1 + O(
4
i
1
)|L|
k4
1
When OPT = Ω(n d )
When the optimal is smaller, we divide the input set of rectangles R into smaller
divisions so that in atleast one division, the size of the OP T and the size of
rectangles are only a constant away from each other. Then in each of the
division, the Local-Search algorithm is run. The largest set is given as the final
output. Resize the rectangles such that all the lengths lie in [n]. Then create
partitions R1 , . . . , Rd such that in partition Ri , the lengths (height if R ∈ Rh
i−1
i
or width if R ∈ Rw ) are in the range [n d , n d ]. (1) changes as
X
X i−1
X
i
3
n1+ d ≥
h(R) ≥
n d v(r)2 ⇒
v(r) ≤ n 2d
(2)
R∈thin rectangles
i
∃ Ri whose optimal is cn d . We will obtain a O(1) approximation using Section
2. Thus we get an overall O( d1 ) approximation. With the sparsification mentioned in section 2, and using d = 3, this gives an O(log log2 n) approximation
algorithm.
5