270 likes | 412 Vues
This chapter discusses a novel approach to finding the minimum-length rectilinear Steiner tree (RST) connecting a given set of terminals in the rectilinear plane. By utilizing m-guillotine cuts and defined portals along cut lines, we can form a partition that optimally connects terminals while allowing the exploration of connections through intermediate windows. The method involves dynamic programming to address subproblems and establishes conditions for restricted rectilinear trees. The results point towards a polynomial-time approximation scheme (PTAS) that significantly enhances connection efficiency and reduces computational complexity.
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/ε)