Post on 15-Jan-2016
description
Polynomial-Time Approximation Schemes for Geometric Intersection Graphs
Authors: T. Erlebach, L. Jansen, and E. Seidel
Presented by: Ping Luo10/17/2005
Agenda
• Preliminaries• Disk partition and plane subdivision• Dynamic programming
Basic Concepts
• Intersection graph: for a set V of geometric objects, the corresponding intersection graph is the undirected graph with vertex set V and an edge between two vertices if the corresponding objects intersect.
• Disk graph: a disk graph is the intersection graph of a set of disks– Disk graph recognition is NP-hard
Disk graph – an example
Problem definitions
• Maximum Weight Independent Set (MWIS) – For a given set of geographic objects, find a subset of
disjoint objects such that the total weight is maximum.– This paper deals with disks and is the topic of this
talk.
• Minimum Weight Vertex Cover (MWVC)– Find a subset of a given objects with minimum total
weight such that, for any two intersection objects, at least one is in the subset.
Basic idea of the PTAS algorithm for MWIS
• The plane is partitioned into squares on each level. Some disks in each level are removed so that different squares on the same level yield independent subproblems with respect to all disks that are on this level or smaller levels.
• Each square has at most a constant number of disks so that enumeration is possible
Agenda
• Preliminaries• Disk partition and plane subdivision• Dynamic programming
Partition disks into levels
• Zoom in or out to make the largest diameter to be 1. The smallest is denoted as dmin
• Compute disk levels
• Determine disk level j of each disk with diameter d:
)1(1
logmin
1
k
dl k
)0()1()1( )1( ljkdk jj
Partition disks – an example
Level 0
Level 1
Level 2
Plane subdivision
An example: k = 3, l = 2
1/16 1/4 1(0,0)
1
1/4
1/16
Definitions I• (r, s) active Lines
(0≤r,s<k): vertical lines whose line number mode k = r and horizontal lines whose line number mode k = s
• j-square: a square bounded by two consecutive r-active lines and two consecutive s-active lines of level j (0≤j<l)
0 1 (level 0)
0 1 2 3 4 5 (level 1)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (level 2)
(0,0)
1
1/4
1/16
1/16 1/4 1
Example: r=1, s=0
1-square
2-square
Observation about j-squares in different levels
• For any j, , every (j+1)-square is completely contained in some j-square.
• Every j-square is the union of (j+1)-squares.
lj 0
2)1( k
Definition II - D(r,s)
• Delete disks that hit (r,s) active lines. The rest of the disks forms a new disk graph called D(r,s).
• There are many different D(r,s) since 0<=r,s<k.• There is at least one D(r,s) such that the following
inequality holds:
2k
)()1
1()),(( 2 Doptk
srDopt
Not: once we find an optimal solution for each D(r,s), we can choose the one with largest weight and use that solution as an approximation for D, with (1+ε) approximation ratio.
Definitions III
Relevant square: a j-squarethat contains at least one disk in D(r,s) of level j
Forest structure: a forestthat stores the child-parentrelationship between relevant squares
Child square: a relevantj’-square S’ that is containedin a relevant j-square Sand no relevant square S’’ of levels j’’ such that j<j’’<j’and S contains S’’ and S’’contains S’.
Useful upper bounds
• The number of disks (level<j) that intersect a j-square is bounded by
• The number of disks (level≤j) that intersect the boundary of a rectangle (contained in a j-square) is bounded by
26k
216k
Note: these bounds guarantee that we can enumerate disks in each j-squares
Agenda
• Preliminaries• Disk partition and plane subdivision• Dynamic programming
Tables
• Two types of tables are used for each relevant j-square S to store the intermediate results. – Main table . It is indexed by I, a set of
independent disks of level <j and intersect S. Value stored is a set of maximum weighted independent disks X (level>=j) contained in S, and X U I=Φ
– Auxiliary tables and . J is a set of independent disks of level <=j that intersect the boundary of (or ). The value stored in each entry is a set X of maximum weighted independent disks of level >= j and contained in S, X U I U J=Φ
)(ITS
),( ',, JSAT hgIS ),( '
..,.., 2121JSAT hhggIS
',hgS '
..,.. 2121 hhggS
Outline of the algorithm
• For each pair of r and s (0<=r, s<k), the algorithm computes an optimal independent set for the D(r,s) using dynamic programming. Among the independent sets, it selects the one with the largest weight.
• The algorithm uses dynamic programming to obtain opt(D(r,s)). – The computation processes all relevant squares in
order of nonincreasing levels. – In each level j, a table Ts(I) is constructed.
• is computed using Ts’(I) • is computed by combining • Ts(I) =
– Each 0-square S has a Ts(Φ) . The union of all Ts(Φ) is an opt(D(r,s)).
2k
),( ',, JSAT hgIS
),( '..,.., 2121
JSAT hhggIS),( '
,, JSAT hgIS
),( '..0,..0, kkIS SAT
Base auxiliary table construction pseudocode
od
fi
fi
),(
then)),(()(or undefined is ),( if
} ofboundary theintersects |{
}in contained is |{
)(
} intersects |{
hendisjoint t are in disks theif
do such that allfor
ngintersecti level of ),(in disks all
;undefined,*)(
allfor),(entriestable:Output
ngintersectilevelofdisksdisjointofset
,,0with,integers,levelonsquare:Input
',,
',,
',,
',
',
'
',
2
',
',,
',,
',
XJSAT
JSATwXwJSAT
SDUDJ
SDUDXX
UITX
SDIDI
UI
CkUQU
SjsrDQ
SAT
JJSAT
SjI
khghgjS
hgIs
hgIshgIs
hg
hg
S
hg'
hg
hgIs
hgIs
hg
Auxiliary table base construction – an example
Auxiliary table combining pseudocode
;or ofboundary he t
ngintersecti level of ),(in disks all
undefined; ,*)(
;
;
allfor ),( entries table:Output
,*)( and ,*)(
entries tablecomputed previously
,0 with , integers
,0 with ,, integers
, ngintersecti level of disksdisjoint of set
, levelon square :Input
21
'..,..,
'..,..12
'..,..1
'..,..,
'..,..1,
'..,..,
2121
321321
2131
2132
2121
2131
21322121
RR
jsrDQ
SAT
SR
SR
JJSAT
SATSAT
khhhh
kgggggg
SjI
jS
hhggIS
hhgg
hhgg
hhggIS
hhggIShhggIS
(continue on next slide)
Auxiliary table combining pseudocode
od
fi
fi
),(
then)),(()(or undefined is ),( if
} ofboundary theintersects |{
}; ofboundary theintersect not does |{
od
)(
} ofboundary theintersects |{
do 2 to1for
hendisjoint t are in disks theif
do 2such that allfor
'..,..,
'..,..,
'..,..,
'..,..
'..,..21
,
2'
2131
21312131
2131
2131
XJSAT
JSATwXwJSAT
SDUDJ
SDUDXXX
URATX
RDUDU
i
UI
kCUQU
hhggIs
hhggIshhggIs
hhgg
hhgg
iiIS
ii
Caveat of the combining algorithm
Not independent!
A correction
• Instead of enumerating disks that intersect the boundary of R1 or R2, we enumerate disks that intersect private boundary of R1, or private boundary of R2, or shared boundary of R1 and R2. The time complexity won’t change due to this correction
shared boundary
Deal with missing child squares
• Some squares contain no disks and hence are not relevant. No table will be constructed for irrelevant squares.
• If a j-square S contains some irrelevant (j+1)-squares S’, all the child squares of S contained in S’ will be considered.
Summary of the algorithm
• Construct D(r,s) for 0<=r,s<k.• Construct forest structure for relevant squares• For each relevant square,
– Compute missing tables– For each level, from highest to lowest, compute the auxiliary
tables and form by combining rows and columns, and eventually table Ts(I) will be computed automatically.
• Union of all the Ts(Φ) forms opt(D(r,s))• Output the largest opt(D(r,s)) (0≤r,s<k) as an
approximation of MWIS
,*)( ',, hgIS SAT ,*)( '
..,.., 2121 hhggIS SAT
Time complexity
)(2)( 22
)( kOkO nkOn
• D(r,s) need to be considered.
• The relevant squares and their forest structure can be constructed in time polynomial in n:
• For each relevant square S, missing child squares can be handled in time .
Then a dynamic approach is used to construct table Ts for the square S, which takes
2k
)1(On
)(2 2
)( kOnkO
)()(2)()(2)1(2 2222
))()(( kOkOkOkOO nnkOnnkOnk
Total time complexity:
Questions?
• Homework– Why does the paper assumes the input of its
algorithms is the set D of disks, not only the corresponding intersection graph?
– In the MWIS presented in this paper, if each disk has weight 1, then MWIS can be reduced to a MIS problem. Describe in your own words what the difference is between the MIS in this paper and the MIS you learned in the class. List at least two aspects which you can think of.
Reference
• "Polynomial-time approximation schemes for geometric intersection graphs", T. Erlebach, K. Jansen, and E. Seidel, SIAM Journal on Computing 34, pp. 1302-1323 (2005).