270 likes | 395 Views
Chapter 5 Guillotine Cut. II. Portals. Rectilinear Steiner Tree. Given a set of points in the rectilinear plane, find a minimum-length tree interconnecting them. Those given points are called terminals. Initially. Edge length < RSMT. m -Guillotine Cut Approximation. Hanan grid.
E N D
Chapter 5 Guillotine Cut II. Portals
Rectilinear Steiner Tree • Given a set of points in the rectilinear plane, find a minimum-length tree interconnecting them. • Those given points are called terminals.
Initially Edge length < RSMT
m-Guillotine Cut Approximation Hanan grid
Each m-guillontine cut adds a closed segment to the Steiner tree, plus up to mcross points on each side of the segment. Cannonical Partition All cross points locate on the Hanan grid.
Subproblem: Given a window with 4m-cut boundaries, use the closed segments and cross points to connect the terminals inside the window. A new issue: We need to allow two terminals in two different windows to connect through a third window.
W B A How does W know it needs to connect A and B?
Additional boundary conditions: Define a partition of cross points on the four boundaries and require cross points in each part of the partition be connected together (and cross points in different parts do not connect). Try all partitions in the dynamic programming.
Alternatively, we can use a new idea of portals to get a PTAS for RSMT Portals are predefined points located on the cut lines.
Initially L n = # of terminals Total moving length: g x g grid n (L / g) = O() g = O(n/) If PTAS exists for center points, then it exists for general case.
(1/3-2/3)-cut Longer edge 1/3 2/3 Shorter edge > 1/3 Longer edge
Depth of (1/3-2/3)-cut Note that every two parallel cut lines have distance at least L/g. Therefore, the smallest rectangle has area (L/g) . 2 After one cut, each resulting rectangle has area within a factor of 2/3 from the original one. Hence, depth of cuts < (2 log g)/(log (3/2)) = O(log n) since depth 2 2 (2/3) L > (L / g)
(1/3-2/3)-Partition O(log n)
Portals m portals divide a cut segment equally.
Restriction A rectilinear Steiner tree T is restricted if there exists a (1/3-2/3)-partition such that if a segment of T passes through a cut line, it passes at a portal.
Minimum Restricted RST can be computed in time n2 by dynamic programming O(m) 11 Choices of each cut line = O(n) O(m) 10 # of subproblems = n 2
Subproblems • A window W with all terminals lying inside is given together with portals on each side of W. • A subset of portals, called active portals, and a partition of active portals is given. • Find a rectilinear Steiner forest F in W with the following properties: 1) F connects all active portals in the same part. 2) Portals in different parts are not connected. 3) Only points on the boundary used in F are active portals. 4) All terminal points are connected to some active portals.
# of subproblems Each subproblem can be determined by three facts: 4 O(n ) 1. Position of four edges of a rectangle. 2 O(n ) 2. Position of portals at each edge. 3. Set of active portals. O(m) 2 4. Partition of active portals on the boundary. (In each part of the partition, all portals are connected and every terminal inside of the rectangle is connected to some tree containing a portal. ) O(m) 2
Position of portals 2 O(n ) possible locations Portals on 3 of the 4 sides of the window may be defined by nonparent ancestors and have O(n ) possible locations. 2
= # of partitions Recurrence Relation 1 i k Generating Function
! Catalan Numbers
Analysis (idea) • Consider a MRST T. • Choose a (1/3-2/3)-partition. • Modify it into a restricted RST by moving cross-points to portals. • Estimate the total cost of moving cross-points.
Choice of (1/3-2/3)-partition 1/3 2/3 Each cut is chosen to minimize # k of cross-points. So, every vertical line between 1/3 and 2/3 has k cross points. (# of cross-points) x (1/3 longer edge length) < (length of T lying in rectangle).
Moving cross-points to portals Cost = (# of cross-points) x ( edge length/(m+1)) < (3/(m+1)) x (length of T lying in rectangle)
Moving cost at each level of (1/3-2/3)-Partition <(3/(m+1)) x (length of T ) O(log n) Total cost < O(log n)(3 / (m+1)) x (length of T) O(1/ε) O(m) Choose m = (1/ε) O(log n). Then 2 = n .
RSMT has (1+ε)-approximation with running time n . O(1/ε)