Independent Set of Intersection Graphs of Convex Objects in 2D

Independent Set of Intersection Graphs of
Convex Objects in 2D
Pankaj K. Agarwal
Nabil H. Mustafa
Department of Computer Science,
Duke University, Durham, NC 27708-0129, USA.
pankaj, nabil @cs.duke.edu
Abstract
!#"
$&%
*),+.( -/10234-.(5+),68769%
in
The intersection graph of a set of geometric objects is defined as a graph
which there is an edge between two nodes
if
. The problem of computing
a maximum independent set in the intersection graph of a set of objects is known to be
complete for most cases in two and higher dimensions. We present approximation algorithms
for computing a maximum independent set of intersection graphs of convex objects in
.
Specifically, given ( ) a set of line segments in the plane with maximum independent set of
size , we present algorithms that find an independent set of size at least
in time
and
in time
, ( ) a set of convex objects
with maximum independent set of size , we present an algorithm that finds an independent set
of size at least
in time
, assuming that can be preprocessed
in time
to answer certain primitive operations on these convex sets, and ( ) a set of
rectangles with maximum independent set of size , for
, we present an algorithm that
computes an independent set of size
. All our algorithms use the notion of partial orders
that exploit the geometric structure of the convex objects.
) :;(=< 4' )+-/>0?2@-(5( +),6796A
:*(BAC9<D/>0?2FEG(5 'H'
)
:;( <JILK 4M
K M *),+.-/102G-(5+.) 769<
ST;NU%V(5 N=( NPORQ
''H'
(
1 Introduction
An independent set of a graph is a subset of pairwise nonadjacent nodes of the graph. The maximumindependent-set problem asks for computing a largest independent set of a given graph. Given a
, determining whether there is an independent set in of size is
graph and an integer
known to be
-complete even for many restricted cases (e.g. planar graphs [12], bounded-degree
graphs [21], geometric graphs [22]). Naturally, the attention then turned toward approximating
the largest independent set in polynomial time. Unfortunately, the existence of polynomial-time
algorithms for approximating the maximum independent set efficiently for general graphs is unlikely [14]. However, efficient approximation algorithms are known for many restricted classes of
graphs. For planar graphs, approximation algorithms exist that can compute an independent set of
`
W
]_^
XZY\[
W
Research is supported by NSF grants ITR-333-1050, EIA-98-70724, EIA-01-31905, and CCR-00-86013.
1
X
size arbitrarily close to the size of the maximum independent set. Note that a graph is planar if
and only if there exists a set of unit disks in the plane whose contacts give the edges of the planar
graph [19]. Thus a natural direction is to investigate the independent-set problem for the graphs induced by a set of geometric objects. The intriguing question there is whether (and what) geometric
nature of objects aids in efficient computation of maximum independent set. One such family of
graphs arising from geometric objects that have been studied are the so-called intersection graphs.
Given a set
of geometric objects in , the intersection graph of ,
is defined as follows: each node
corresponds to the object and
if
. A subset
is an independent set in
if for every pair of nodes
,
.
For brevity, we say “independent set of ” when we mean “independent set of the intersection
graph of ”. In this paper, we present approximation algorithms for the independent-set problem
on intersection graphs of line segments and convex objects in the plane.
Besides the inherent interest mentioned above, independent sets of intersection graphs have
found applications in map labeling in computational cartography [2], and frequency assignment in
cellular networks [18]. For example, in the map-labeling problem, we are given a set of labels of
geometric objects, and the goal is to place the maximum number of labels that are pairwise disjoint. Computing the maximum independent set of these labels yields a labeling with the maximum
number of labeled objects.
0/213
.
!#" 576 8
9
9 ;
5
W 6 8 ?
W0
$
W
%'&(")/ $*+,&. & "4 *) & W
9 9 8=<>:
denote a maximum independent set of
, and let
denote
Related work. Given , let
it size. We will use to denote
when is clear from the context. We say that an algorithm
computes a -approximation to
if it computes an independent set of size at least
.
For a general graph
with vertices, there cannot be a polynomial-time approximation
algorithm with approximation ratio better than
for any
unless NP = ZPP [14]. Currently
[7], where
the best algorithm for a general graph finds an independent set of size
is the size of a maximum independent set in .
However, for intersection graphs of geometric objects, better approximation ratios are possible.
If is a set of intervals in , then the maximum independent set of the intersection graph of can
be computed in linear time. Computing
is known to be
-complete if is a set of unit
disks or a set of orthogonal segments in
[16]. For unit disks in , a polynomial time
approximation scheme was proposed in [15]. For arbitrary disks, independently Erlebach et al. [11]
and Chan [8] presented a polynomial time
-approximation scheme. The above schemes for
computing independent set of disks use shifted dissection, which relies heavily on the fact that the
geometric objects are disks (or “fat” objects). A divide-and-conquer technique is used for the case
of the intersection graphs of axis-parallel rectangles in the plane, for which Agarwal et al. [2] presented a
-approximation algorithm in time
. If the rectangles have unit height,
they describe a
-approximation scheme with running time
. Berman et
al. [5] show that a
-approximation can be computed in
time. Recently Chan [9]
improved these algorithms by describing an algorithm that returns a
-approximation in
time
, where
is any constant. Efficient algorithms are known for other
classes of graphs as well [3, 6].
In other related work [17], it was shown that the problem of recognizing intersection graphs of
:
R
W
W KH JML?QU TY V
ID HKJML]\Q?
W ?XHKJML? V ?_^ \ @O ? A@CB
5S6 8
N
UT7V DI
D YR[
]_^
E 9GFIHKJMLANO?P<$?Q
N
W ?XHKJML8?Q W \ ?X HKJML? V ? NZ B[@O W ? 9 8A HKJML \ 9 8
X`ba
2
9
R
UT7V D,
W
]_^
W
line segments, i.e., given a graph , does there exist a set of segments whose intersection graph is
, is
-hard. Another work related to ours is of Pach and Tardos [20]. Given a set of disjoint
objects (which could be line segments or convex shapes) in
lying on a sheet of glass, they study
the following combinatorial question: by iteratively cutting the glass into two separate sheets with
a straight line, and then recursively the cutting the two pieces, how many objects can be separated
into different sheets of glass? Using decomposition schemes similar to ours, they present various
upper and lower bounds on the number of objects that can be separated.
N
Our results. We first present approximation algorithms for a set of
which intersect a common vertical line. We show that we can compute 1
W ? time an independent set of of size at least 9 , and
in W ? Z HKJML ?Q time an independent set of of size at least 9 Z .
?
segments in
N , all of
in
Using these results, we show that for an arbitrary set
independent set of size at least
of segments in
N , we can compute an
Q9 < a#HKJML a>?P<>9 A in time W ? , or
9#< a#HKJML a>?P<>9 AA Z in time W ? Z HKJML ?Q .
We then extend our
convex sets. Namely, for a family of ? convex
results
V
2 toA time
sets in N , we
can compute in W ?
an independent set of size at least 9#<>a#HKJML a>?P<>9 A Z , assuming that certain primitive operations (namely sidedness and pairwise
object intersection queries) on
2
? rectthese convex sets can be performed by preprocessing in 8 time.
Finally, for a set
T , we compute
? of time,
angles with maximum independent
set
of
size
,
for
some
in
an
P
?
W
independent set of size at least E N ?Q .
N
Organization. In Section 2 we describe approximation algorithms for a set of line segments in
. Section 3 describes the algorithm for convex sets, and Section 4 presents approximation algorithms for the case of axis-parallel rectangles.
2 Approximation Algorithms for Line Segments
be a set of line segments in N . Let denote the - and -coordinates
") N . Let (resp. M ) denote the -coordinate of the left (resp. right) endpoint of
0" , and let denote the slope of $ .
Let
of a point
the segment
2.1 A -Approximation Algorithm
In this section we assume that all the segments in intersect the -axis. We also assume that the
segments in are sorted in increasing order of their intersection points with the -axis, and we use
1
All logarithms in this paper are base 2.
3
(a)
(b)
(c)
Figure 1: (a) Bold segments form an increasing -monotone sequence, (b)
as in the proof of Lemma 2.2.
'&
in solid (c)
& \
to denote this sorted sequence.
/ of -monotone (see Figure 1(a)) if
We call a subsequence
* . for all T "!$# X &% .
T
T # for all '!(#)% (called increasing -monotone) or Y for all
"!*#+% (called decreasing -monotone).
1 be a subsequence of pairwise-disjoint segments. There exists an -monotone
Lemma 2.1/ 1 Let R
sequence R
R of size at least , R , .
/
P
. By Dilworth’s theorem [10], there is a subsequence R of R such that the slopes of
the
/
segments are either monotonically increasing or monotonically
/ decreasing, and the size of R is at
least , R , . Since the segments in R are pairwise disjoint, R is -monotone.
We describe an algorithm
for computing the longest -monotone subsequence of . By Lemma 2.1,
its size is at least 9 8 . Without loss of generality, we describe how to compute the longest
increasing -monotone subsequence; the same procedure can compute the longest decreasing monotone subsequence of , and we return the longer of the two.
-axis below all the segments of , does not
We add a segment to such that it intersects
T , and
intersect
any
segment
of
,
#
for
all
`
all the other segments of (i.e.,
. # [ and Y for all T /- ? ). Weit spans
add another similar segment 1 0 that
intersects the -axis above all the other segments in , does not intersect any segment in , and
1 0 Y for all - ? .
ROOF
4
[
For segments
#&! 3?
VT
C*),&X .
# & , let _'& 1
\ s.t.
(S1) -# X #"! ,
(S2) # \ # & ,
(S3) \ Y & A ,
. and & * \ . .
(S4) * \ -A!] 1 '& denote the longest increasing See Figure 1(b) for an illustration of & . Let
monotone subsequence of O'& . If
there is more
than one such sequence, we Vchoose
the lexico
T
,
,
-A ! . We wish to compute []?
. Note that by
graphically minimum one. Set -A !]S
definition of and 1 0 , 1 0 .
V3T ,
Lemma 2.2 For all [ &-#"! ?
(1)
-A ! -A X V X !] V3T - !] . Let be the segment in - !] with the leftmost left
P
. Let
T
1 and
endpoint,
i.e., 1 for all X . Note that T & . Since each of these two subsequences
" '& ,
is V -monotone
and
3
V
T
-A]8` and !]8`!" . Therefore -A! # -A$] ]!] and hence
-A ! -A X V X !] V3T Conversely, let \ "
& . By definition of \ and \ & (cf. T – &%] ), for all 'b" \ and
( " \ & ,
(- ) - # 9 # X # #"! ,
( -- ) # )' # \ # )($# & ,
(--- ) ' ( Y \ Y & A ,
. , and ( * \ . .
(- ) ' *G \ See Figure 1(c). As observed in [20], ( - )–( - ) imply that the line \ supporting \ does not intersect
' and ( . Indeed, (- ) & (-- ) imply that \ does not intersect ' or ( to the right of the -axis, and
(--- ) & (- ) imply that \ does not intersect ' or ( to the left of the -axis. Since * ' and ( lie
on the opposite
of \ , they neither intersect each other, nor or & . Hence, the segments in
-A X ,+ X ! sides
are
pairwise
disjoint. Moreover,
the fact that ' and ( do not
intersect or &
T
1
\
\
and -A – - imply that ' and ( satisfy
– -%] for '& . Hence + & '& .
-A X / . \ . X !] is an -monotone subsequence of & . Hence,
Therefore the sequence
-A ! 0
` -A X V X !] V T such that
and
ROOF
5
denote the subsequence of
(a)
(b)
(c)
(d)
Figure 2: The four types of -monotone sequences described in Lemma 2.4.
This completes the proof of the lemma.
W ?Q
W ? A A ]
W ?Q
A X A ]
X #'&
We can compute - ! using a dynamic-programming approach. We can compute the set
in
time and - ! in another
time, assuming and
! have already been
is
computed.
Therefore, the total time spent in computing - ! for all -$# ! . Putting everything together, we conclude the following.
Theorem 2.3 Given a set
pendent set of size at least
T
? V T in N , all intersecting
a common vertical line, an inde9 ? 8segments
can be computed in time W ? .
of
Z -Approximation Algorithm
We now present a faster algorithm at the expense of a larger approximation factor. The algorithm
again tries to find a large subset of 5 6 8 that has a certain special structure, which allows its
computation in polynomial time. We assume that all the segments of intersect the -axis and are
sorted in increasing order by the -coordinates of their left endpoints. Let C
denote
this sequence. Let : be the -coordinate of the intersection point of with the -axis.
1 be a subsequence of pairwise-disjoint segments. Then there exists a subLemma 2.4/ Let R
T , such that R / 1 R , , R / , ` , R , Z , and it has one of the following
sequence R
properties: For all &-#&% ,
(L1) # 0 and : # : 0 (Figure 2(a)),
(L2) # 0 , and : Y : 0 (Figure 2(b)),
(L3) Y 0 and : # : 0 (Figure 2(c)),
(L4) Y 0 , and : Y : 0 (Figure 2(d)).
2.2 A 6
R/ 1 R
R
P ROOF. By Dilworth’s theorem, there exists a subsequence
of length at least , , such
that the -coordinates of the right endpoints are either monotonically increasing or monotonically
decreasing. Again applying Dilworth’s theorem to , one can find a subsequence
of length
,
,
,
,
such that for
at least
are either monotonically increasing or monotonically
decreasing.
If is increasing and
increasing (resp. decreasing), then the sequence is of type
(resp.
). If is decreasing and
increasing (resp. decreasing), then the sequence is of type
(resp.
).
%
R//
a R
R / ` R Z
R // //
R
R/
" R //
:
R/ 1 R /
T
T ]% We refer to a subsequence of pairwise-disjoint segments of that satisfies one of
–
property as an -monotone sequence. The following property of -monotone sequences allows us to
compute them efficiently.
/ M be a sequence of segments so that one of the conditions T –
* 0 . for all - . Then / is an -monotone sequence.
T – %] , two segments and & , for -#"!/ T , cannot
P
. It is clear that for segments of type
. for
intersect without either intersecting 0 or & intersecting & @O . Therefore if * 0 all - , then the segments are pairwise non-intersecting and hence -monotone.
T – %] are pairwise nonBy Lemma 2.5, the segments in any sequence satisfying one of
]% Lemma 2.5 Let
is satisfied and
ROOF
intersecting if the adjacent segments do not intersect (See Figure 2).
We present an algorithm that, given a sequence of segments, computes the longest -monotone
subsequence of each type. By Lemma 2.4, the longest of them is an independent set of size at least
. We describe an algorithm for computing the longest -monotone subsequence of type
. The others can be computed analogously.
9 8A Z
T
such that \ " & if
Define [& to be the set of segments
.
(- ) X #"! , (-- ) \ # & , (--- ) : \ # : & , (- ) \ * & .
be the longest -monotone subsequence of & of type T that contains & . Set !] Let
, ! , .! We
wish to compute & !] .
T
Lemma 2.6 For "! ? ,
! X V3T & . Clearly T
1 Vis anT -monotone seP
. Let ! quence, and "
& . Therefore M@O ` and !] X for all \ " & .
Conversely, Lemma 2.5 implies
that
for any \ "
& , the sequence X -. & is an -monotone
3
V
T
sequence. Hence, !]80
` X .
ROOF
7
W ?Q
W ? N W ? Z KH JML
]
&
&
]
]
X X
A naive approach takes
time to compute each ! , provided that
, for all #"! , have already been computed. This yields an
time algorithm. We now
describe
a more sophisticated
approach by exploiting
geometry
to
compute
each
in
amortized
time.
!
. We compute ! sequentially for !
Let
, maintaining a data
. Given the segment 0 , the data structure returns
structure that stores all the segments of
. Once we have computed ! , we insert the segment together with its weight
! into the data structure. Note that after we have inserted ! , the data structure stores all the
0 .
segments in the set
We now describe , a three-level data structure, that stores a set of weighted segments. For
a query segment intersecting the -axis, it returns the maximum weight of a segment in so
that , and intersects the -axis above . The first-level is a balanced binary
on the -coordinates of the right endpoints of the segments in . Let denote
search tree . For each node ,
the “canonical” subset of segments stored in the subtree rooted at , . Let
the second-level data structure is a balanced binary search tree on
denote the set of segments stored in the subtree rooted at . Finally, for the set
of segments , we construct a segment-intersection data structure as described in [1]. It
stores a family
of canonical subsets of in a tree-like structure. The total size of the data structure
, and it can be constructed in
time. For a query segment , we can
is
report in
time the segments of not intersecting as a union of
canonical subsets. For each canonical subset , we store the maximum weight of a
.
segment in . The overall data structure can be constructed in time
For a query segment , we wish to report
, where the maximum is taken over all
, , and the intersection point of with the -axis
segments of so that lies below that of . We query the first-level tree with the right endpoint of and identify a set
of
nodes so that is the set of segments whose right endpoints lie to the left
of . Next, for each
, we compute a set
of
nodes s.t. is
the set of segments of that intersect the -axis below does. For each
, we compute
the maximum weight of a segment in that does not intersect , using
the
third-level
data
.
structure. We return
. The total time spent is
Finally, we can use the standard dynamization techniques by Bentley and Saxe [4] to handle
insertions in the data structure. Since the data structure can be constructed in
time,
0
the amortized insertion time is
. However, in our applications, we know in advance
all the segments that we want to insert – they are the segments of . So we can somewhat simplify
the data structure as follows. Set the weight of all segments to , and construct on all the segments
of . When we wish to insert a segment, we update its weight and update the weight of appropriate
canonical subsets at the third level of . Omitting all the details, we conclude the following.
& &
X ]
4& 2 +* .
1
W HKJML?Q
2
8
: " ]
" ]
W ? Z HKMJ L Q? W ? Z HKJML ?Q
W ? Z HKJM L Q? W ? Z HKJML ?Q
?QT ?
&
"
W ? Z HKJML Q? 1
2 * . 2 W KH JMLY?Q
*
" N
" N O
W ? Z HKJML ?Q
? Z KH JML Q? W
W ? Z HKJML ?Q
[
?
N , all intersecting a common vertical line, one can
9 8 Z in time W ? Z HKJML ]?Q .
Theorem 2.7 Given a set of segments in
compute an independent set of size at least
8
2.3 Independent Set for Arbitrary Segments
N
?P<>a
P
6
Y6
R6 6
R
R
R + R
+)
R 6 R +GR
?#9 9 b9 8
? ? 9 9 9 9 9Q6 9 6
9 6
6
?#9 ` ?29
P V ? 9 9 6 A V 9 V 9Q60` 9 , ?P?3?P<>a , ? 4` 9 , and ? `39 . Since and are sub-linear
where 9
functions, it can be argued that
(2)
?#9 8` ?P<>a 9 9 6 9 6 A Let be a set of arbitrary segments in
. We describe a recursive algorithm for computing an
independent set of . Let be the vertical line passing through the median -coordinate of the right
endpoints of segments in , i.e., at most
segments have their right endpoints on each side of
. We partition into three sets, and . (resp. ) is the subset of segments that lie
completely to the left (resp. right) of , and
is the subset of segments whose interiors intersect .
We compute an independent set of , and recursively compute an independent set (resp.
) of (resp. ). Since the segments in do not intersect any segments in , is an
. We return either
, whichever is larger.
independent set of or , where
.
Suppose our algorithm computes an independent set of size at least , , , , and
Let . Suppose the algorithm
for computing an independent set of
returns a set of size at least . Then
We now show that the solution to the above recurrence is
?#9 8`
9
a#HKJML a>?P<>9 Expanding (2), we obtain
?P<>a 9 9 9 A
?#9 8`
` ?P<>a N 9 9 9 N 9 9 N A
..
.
&
&
`
?P<>a 9 9 9 9 & A
` 9 9 A
where is the depth of recursion and 9 9 . Moreover, for all ! ,
?& ` 9 & 9 a
(3)
9
9 ` a#HKJML a>?P<>9 &
Indeed if it were not true, then 0` a#HKJML a>?P<>9 . Then for ! HKJML a>?P<>9 , ?P<>a 9Q<>a , while
&
'
&
9 92 Y 9 N N Z ' 9Q<>a , thereby contradicting (3). The proof then follows.
We claim that
9
T (bold) and a (dashed) (b) Sequence of type , (c) #'&
Figure 3: (a) Sequences of type
(a)
(b)
(c)
(solid)
W ?QHKJMLY?Q
?Q ` ? _B
6
?Q
W Q? A
If we can compute the independent set of
in time , then the running time of the algo0 , then the running time is rithm is . If . Hence we conclude the
following.
9 0A
9#<>a#HKJML a>?P<>9 A
? N
94 9 8
W ?QA ?Q ` ? _B W ?QHKJML?Q
Corollary
2.1 For a set of ? segments
in N , one can compute an independent
set of size at least
(- ) 9Q<>a#HKJML a>?P<>9 A ZUN in time W ? and (-- ) 9Q<>a#HKJML a>?P<>9 A Z in time W ? Z HKJML ?Q .
Theorem 2.8 Let be a set of % segments, all of which intersect a common vertical line. Suppose
we can compute an independent set of of size at least in time % . Then for any set
of segments in , we can compute an independent set of size at least where
0 , and . The running time is if otherwise.
3 Independent Set for Convex Objects
N
N
We now describe how the results of the previous section can be extended to find an independent set
in a set of convex objects in
. Let
be a set of convex objects in , and let
be a maximum independent set of . As for segments, we describe an algorithm for the case
in which all objects in intersect the -axis. We can then use the approach in Section 2.3 to handle
(resp. ) to be the smallest (largest) -coordinate of all the points
the general case. Define . Let be the maximum -coordinate of the intersection of with the -axis. Again assume
that is sorted in increasing order of the -coordinates of the leftmost endpoints. An application of
Dilworth’s theorem similar to Lemma 2.4 gives the following.
56 8
")
:
R, / ,1 , of, pairwise-disjoint
convex objects, there exists a subsequence
/R /
R ` R Z and R has one of the following structure: For all T +-#&%
(C1) # 0 , and : # : 0 (Figure 3(a)), or
Lemma
3.1 Given a set
, where
10
#
(C3) Y
0 and : Y : 0 (Figure 3(a)), or
0 (Figure 3(b)).
T or a can be computed using a dynamic programming apSequences satisfying condition
proach similar to
the one in Section 2.2. We outline the algorithm for computing a longest subse
.
quence of type
. , let '& 1 denote the subsequence of segments \
T
For -# ! ? such that *4 & so that
(- ) : # : \ # : & ,
# \ # & A , and
( -- ) & A # \ . and & * \ . .
(--- ) * \ 1 denote the longest subsequence of type of '& . Set -!] See Figure 3(c). Let -A!]
, -A ! , . Then we can prove the & following.
T
Lemma 3.2 For all &-#"! ? ,
(4)
-A ! -A X V X !] V3T We can compute -A !] using a dynamic-programming approach. Assuming -A X and X !]
have already
been computed, we only need to compute the set '& . Suppose
in
2
T ) we
[can
preprocess
information
at
our
disposal:
(
for
each
time 8 so that we have the following
^
=
:
" , (^0a ) whether * & . UT for each & V " 2 . Then the set '& can be computed in time
W ?Q . Hence, we can compute ?Q in W ?
8A time. Plugging this procedure into the
recursive scheme of Section 2.3 we obtain the following.
T )-(^0a ) can be computed in
?
^
be
a
set
of
convex
objects
in
so
that
(
Theorem
3.3
Let
N
2
9Q<>a#HKJML a>?P<>9 A Z can be computed in time
Then
an
independent
set
of
size
at
least
8 time.
W ? V 2 A .
(C2)
4 Independent Set for Axis-Parallel Rectangles
?
N
^ N N
N
Let
be a set of rectangles in , and let
denote the size of the largest clique
in the intersection graph of . Without loss of generality, we can assume that no rectangle completely contains any another rectangle. We first consider two special cases of rectangle intersection
graphs — the piercing and non-piercing intersection subgraphs, derived by defining the following
partial order among the rectangles.
Given two rectangles
and ,
if and only if
intersects both vertical edges of
, and
intersects both horizontal edges of
(See Figure 4(a)). Clearly, if
, then
and
intersect, and neither contains any vertex of the other. Note that is a transitive relation:
implies
. If
, we say that and pierce, and that is pierced by .
N
N
N N 11
N
N
N
N
(a)
N /
/
R/
(c)
(b)
, (b) The set (solid) and the set
Figure 4: (a)
to vertices, and rectangles in to edges.
R / (dashed), (c) Mapping rectangles in
4.1 Piercing and Non-Piercing Rectangle Intersection Graphs
partitions the edges in the intersection graph W into two sets ( and
N
C +" W(O , +")X if or , and " N otherwise.
Piercing
Intersection Graphs. Define the piercing intersection graph of as the directed graph
W 0 , i.e., each vertex in W ] corresponds to a rectangle
in , and there is a directed edge
C between two vertices and if is pierced by , i.e., C 8" W ] if and only if .
W F
?
W
^
Lemma
4.1
Given
a
set
of
rectangles
in
,
let
be
the
piercing
graph
of
.
Then
N
9 W ]8` ? , and the optimal independent set in W can be computed in polynomial time.
P
. It follows from the transitivity of that W
is a transitive graph. It is a well-known fact
that all transitive graphs are perfect graphs, i.e., for every induced subgraph of W , the size of the
maximum
clique equals the chromatic number. Therefore the vertices of W can be partitioned into
^ W subsets, each of which is an independent
set in W . Since the largest subset has at least
?P<^ W vertices, we conclude that ^ W PF9 W ` ? .
Given a set , the relation
: given an edge ROOF
By a classical result of Grötschel et al. [13], a largest independent set of a perfect graph can be
computed in polynomial time.
?
Non-Piercing Intersection Graphs. We now consider the case of pairwise non-piercing rectangles. Let be a set of rectangles such that no two rectangles pierce (although they could intersect);
the intersection graph of is called the non-piercing intersection graph and denoted as . First,
note that computing the optimal independent set of remains NP-hard since the construction in [22]
proving the NP-hardness for intersection graphs of rectangles uses only non-piercing rectangles.
r-maximal if it satisfies the following four conditions:
We call a subset
W
/ 1
(A1)
/ is an independent set,
12
")7 / intersects some / " / ,
/ / , there is at most one rectangle "G5S6 8 such that intersects / and does
(A3) For each "
/
not intersect any other rectangle in , and
/ / " / , there are at most two rectangles 7"4S /
(A4) For every pair of disjoint
rectangles
such that Y*
. , and intersect both / and / , and no other rectangle in / .
/ 1 be an -maximal set. Then , / , ` 9 8=<>: , where
Lemma
4.2 Let
M
T
T
: .
P
. Let R 5 6 8 be the set of rectangles
maximum independent
set. We will charge
/ such that ineachtherectangle
/
in is charged at most a constant
each rectangle in R to a rectangle in
: times. The lemma then follows.
a , intersects at least one rectangle in
Let be a rectangle in R . By maximality condition
/ , and
/
since the rectangles in / are pairwise non-piercing, / does not pierce any rectangle in .
We charge to/ a rectangle in
as follows. First, if "
, we charge to itself. Clearly, each
rectangle in *GR receives only one unit of charge. Otherwise, we charge as follows:
/ /
/
, each rectangle in
C1. / only intersects one rectangle "4 . Charge to . By condition
receives at most one unit of charge.
/
/
/
/ are
a vertex of ). Charge to . Since R and
C2. intersects in a corner (i.e., contains
/
independent sets, each rectangle in receives at most four units of charge.
Thus far each rectangle
Let
R / 1 R be the set of rectangles of R that have, not /yet, been, / charged.
/
, We now bound the number of
R
R
in
has received
at
most
5
charges,
so
therefore
/ /
/
rectangles
in R . R has the following property: each rectangle in R intersects exactly two rectangles
/
in (see Figure
and C2 above deal with all other intersection possibilities. We map each
/ and4(b));
/ toC1a vertex
rectangle
in
R
and
an edge, respectively, by constructing
a bipartite multi-graph
/
W O where each vertex in corresponds to a rectangle in , and there is an edge between
& and \ if there is a rectangle " R / that intersects both and . Clearly each rectangle in R /
maps to an edge in W .
/ / with its
We now
show that W is a planar multi-graph
as follows. Replace each rectangle "
/
/
center : , and each rectangle ")R with a polygonal curve (consisting of three piecewise-linear
segments)
property of the rectangles
/ as/ illustrated in Figure 4(c). It is clear, given the independence
in R and , that the above embedding is non-intersecting. Hence W is a planar multi-graph.
For a planar graph, the number of edges is at most thrice the number of vertices. Since W is a
planar
multi-graph with at most two edges between any pair of vertices by condition (A4), we have
, R / , , , , , , / , Hence, combining the bounds,
,R , ,R / , V ,
R R / , , / , V , / , TMT , / , (A2) Every
ROOF
13
?
N
W
^ W ;F9 W ] ` Lemma 4.3 Given a set of rectangles in
such that no two rectangles pierce, let de
note the corresponding (non-piercing) intersection graph. Then
, and a
-approximation to the maximum independent set can be computed in polynomial time, :
? N< , ,.
P ROOF. First, by Turán’s Theorem [19], there exists an independent set of size at least
Second, for each edge
, due to the properties of non-piercing graphs, either contains
a vertex of
or vice versa. Let denote the number of times rectangle ’s vertex is contained
in another rectangle. If contains a vertex of , charge the edge to vertex
by incrementing
, , , and hence there exists a rectangle whose
, otherwise increment . Clearly, vertices are contained in more than , ,
rectangles, and therefore at least one vertex contained in
more than , ,
rectangles. These rectangles share a common point, and thus form a clique of
. Hence,
size greater than , ,
:U&
%X & :
:I
&
<% ?
<% ?
&
%
: $< ?
&
\
, ,
^ W 2F9 W ] ` , ? N , F % ? ?% We describe an iterative algorithm to compute a -maximal set, which, by Lemma 4.2, is a
constant-factor approximation of the maximum independent set of
. In the beginning of the - -th
iteration the algorithm maintains a set
of - pairwise-disjoint segments. In the - -th iteration, the
algorithm checks whether conditions (A2)–(A4) are satisfied. If the answer is yes, we return , as
it is a -maximal set. Otherwise,
W
0" P / that does not intersect any / " / .
+) / that intersect
2. Condition
(A3)
violated. Then there exist
two disjoint rectangles
"
/
/
/
/
+ .
some "
but no other rectangle in . Set 0 8
/
3. Condition (A4) violated.
Then there exist three pairwise-disjoint
rectangles/ / , "
/
/
/
/
+ , O .
that all intersect "
, but no other rectangle in . Set 0 It is clear that
is a set of pairwise-disjoint segments. The process can continue for at most ?
iterations, and the final set & is obviously a -maximal set. Since each of the conditions (A2)–(A4)
1. Condition (A2) violated. Then there exists a set
Set 0
.
can be checked in polynomial time, the total running time is polynomial.
4.2 General Rectangle Intersection Graphs
Combining Lemma 4.1 and Lemma 4.3, we attain the following.
%:
Lemma 4.4 Given a set
some constant ?
N
of rectangles in
, an independent set of size at least
, can be computed in polynomial time.
%%
P ROOF. By Lemma 4.1, compute the maximum independent set, say
of . Note the following:
14
1
' ) , for
, in the piercing graph
-U , , ` 9 8 as an independent set in is an independent set in piercing graph of , and
--U ^ 0 ^ , since a clique in is a clique in .
(QF
^ 0` , , <% . Hence, using -A and --A above, it follows that 9 (7`
9
By Lemma
4.3,
, , < %M^ (7` 9 8=<%M^ 8 . Since the intersection graph of is non-piercing, Lemma 4.3 gives an
algorithm which returns an independent set of size at least 9 0=<>: ` 9 =<%: ^ 8 .
T
From now on, let 9 8# 2? , for some .
' Theorem 4.5 Given with 9 8X 2? , one can compute an independent set of size ( in
Z
polynomial time.
P ROOF. The algorithm repeatedly extracts large cliques (one can compute the maximum clique in
rectangle intersection graphs in polynomial time [16]) until a good independent set is found, as
, and let be the set of rectangles in the - -th iteration. For now assume that the
follows. Set value of is known. At the - -th iteration, if there exists a clique of size at least , remove from
, and reiterate. If no such clique exists, compute the maximum independent
, i.e., set 0
set, say , in the piercing graph of , and return the maximum independent set in . Assume the
. Note that ! . Since
algorithm stops after ! iterations, i.e.
at most one rectangle from the independent set can be in a clique, each iteration removes at most
one rectangle from the optimal independent set of , hence
! . From Lemma 4.4, one
can thus compute an independent set of size at least
a<
^ & a<
?P< a < # 2?P<>a+ X<>a
9 _&M` X 9 & ` X ! ` X X<>a X ^ &
a < #
a< % < #
yielding the desired result. Note that we do not know the value of , but can run the above algorithm
for all the possible values, and return the maximum.
?
5 Conclusions
In this paper we have presented algorithms for approximating the maximum independent set in the
intersection graphs of convex objects in the plane. The approximation ratio is better if the convex
objects are line segments.
All the algorithms described in this paper have the same overall approach. They first prove
the existence of a large independent subset with some special (separator-like) properties. They
then show that this subset can be computed exactly from among the entire set (we used dynamicprogramming). One approach toward improving these results is to show the existence of independent subsets of larger size, which are still computable in polynomial time.
We leave it as an open problem whether the approximation ratios can be improved. In particular,
is it possible to design a
-approximation algorithm for the case of general convex objects (all
intersecting a vertical
line)? Similarly, is it possible to approximate the independent set of line segments better than
. For axis-parallel rectangles, devising an algorithm with approximation ratio
remains an intriguing open problem. We have made a step toward crossing the logarithmic
bound in this paper, but a general-case constant-factor algorithm remains elusive.
HKJML?Q
9
9
15
References
[1] P. K. Agarwal and J. Erickson, Geometric range searching and its relatives, Advances in Discrete and
Computational Geometry (B. Chazelle, J. E. Goodman, and R. Pollack, eds.), American Mathematical
Society, 1999, pp. 1–56.
[2] P. K. Agarwal, M. van Kreveld, and S. Suri, Label placement by maximum independent set in rectangles, Computational Geometry: Theory and Applications, 11 (1998), 209–218.
[3] B. S. Baker, Approximation algorithms for NP-complete problems on planar graphs, J. ACM, 41 (1994),
153–180.
[4] J. L. Bentley and J. B. Saxe, Decomposable searching problems I: Static-to-dynamic transformation, J.
Algorithms, 1 (1980), 301–358.
[5] P. Berman, B. DasGupta, S. Muthukrishnan, and S. Ramaswami, Efficient approximation algorithms
for tiling and packing problems with rectangles, Journal of Algorithms, 41 (2001), 443–470.
[6] P. Berman and T. Fujito, Approximating independent sets in degree 3 graphs, Proc. 4th Workshop on
Algorithms and Data Structures, 1995, pp. 449–460.
[7] R. Boppana and M. M. Halldórsson, Approximating maximum independent sets by excluding subgraphs, Proc. 2nd Scandinavian Workshop on Algorithm Theory, 1990, pp. 13–25.
[8] T. M. Chan, Polynomial-time approximation schemes for packing and piercing fat objects, Journal of
Algorithms, 46 (2003), 178–189.
[9] T. M. Chan, A note on maximum independent sets in rectangle intersection graphs, Information Processing Letters, 89 (2004), 19–23.
[10] P. Dilworth, A decomposition thorem for partially ordered sets, Annals of Mathematics, 51 (1950),
161–166.
[11] T. Erlebach, K. Jansen, and E. Seidel, Polynomial-time approximation schemes for geometric graphs,
Proc. of the 12th Annual ACM-SIAM Sympos. on Discrete Algorithms, 2001, pp. 671–679.
[12] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NPCompleteness, W. H. Freeman, New York, NY, 1979.
[13] M. Grotschel, L. Lovász, and A. Schrijver, Polynomial algorithms for perfect graphs, Ann. Discrete
Math., 21 (1981), 211–356.
(,7
[14] J. Håstad, Clique is hard to approximate within , Acta Math., 182 (1999), 105–142.
[15] H. B. Hunt, M. V. Marathe, V. Radhakrishnan, S. S. Ravi, D. J. Rosenkrantz, and R. E. Stearns,
NC-approximation schemes for NP- and PSPACE-hard problems for geometric graphs, J. Algorithms,
26 (1998), 238–274.
[16] H. Imai and T. Asano, Finding the connected components and a maximum clique of an intersection
graph of rectangles in the plane, J. Algorithms, 4 (1983), 310–323.
[17] J. Kratochvil and J. Matoušek, Intersection graphs of segments, Journal of Combinatorial Theory,
Series B, 62 (1994), 289–315.
16
[18] E. Malesinska, Graph-theoretical models for frequency assignment problems, Ph.D. Thesis, Technische
Universitit Berlin, 1997.
[19] J. Pach and P. K. Agarwal, Combinatorial Geometry, John Wiley & Sons, New York, NY, 1995.
[20] J. Pach and G. Tardos, Cutting glass, Proc. 16th Annual Sympos. on Computational Geometry, 2000,
pp. 360–369.
[21] C. H. Papadimitriou and M. Yannakakis, Optimization, approximation, and complexity classes, J. Comput. System Sci., 43 (1991), 425–440.
[22] C. S. Rim and K. Nakajima, On rectangle intersection and overlap graphs, IEEE Trans. on Circuits and
Systems, 42 (1995), 549–553.
17