290 likes | 444 Views
Polynomial-Time Approximation Schemes for Geometric Intersection Graphs. Authors: T. Erlebach, L. Jansen, and E. Seidel Presented by: Ping Luo 10/ 1 7/2005. Agenda. Preliminaries Disk partition and plane subdivision Dynamic programming. Basic Concepts.
E N D
Polynomial-Time Approximation Schemes for Geometric Intersection Graphs Authors: T. Erlebach, L. Jansen, and E. Seidel Presented by: Ping Luo 10/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
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:
Partition disks – an example Level 2 Level 1 Level 0
1 1/4 1/16 1/16 1/4 1 (0,0) Plane subdivision An example: k = 3, l = 2
(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) 1 1/4 1/16 1/16 1/4 1 (0,0) Definitions I Example: r=1, s=0 2-square 1-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.
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: Definition II - D(r,s) 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-square that contains at least one disk in D(r,s) of level j Child square: a relevant j’-square S’ that is contained in a relevant j-square S and no relevant square S’’ of levels j’’ such that j<j’’<j’ and S contains S’’ and S’’ contains S’. Forest structure: a forest that stores the child-parent relationship between relevant squares
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 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 XU 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, XU I U J=Φ
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)).
Auxiliary table combining pseudocode (continue on next slide)
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
Time complexity • 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 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).