computational geometry for dac: partitioning algorithms
DESCRIPTION
Computational Geometry for DAC: Partitioning Algorithms. Joseph S. B. Mitchell and Girishkumar Sabhnani Stony Brook University. Optimal Subdivisions in CG. Triangulations: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/1.jpg)
Computational Geometry for DAC:Computational Geometry for DAC:Partitioning AlgorithmsPartitioning Algorithms
Joseph S. B. Mitchell and Girishkumar SabhnaniStony Brook University
![Page 2: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/2.jpg)
Optimal Subdivisions in CGOptimal Subdivisions in CG Triangulations:Triangulations:
• Min-weight (total edge length) Min-weight (total edge length) triangulation: NP-hard, in general, but triangulation: NP-hard, in general, but O(O(nn33) for simple polygons, by dynamic ) for simple polygons, by dynamic programming)programming)
• Other objectives: Max the min angle Other objectives: Max the min angle (Delaunay), min the max angle, etc.(Delaunay), min the max angle, etc.
22
![Page 3: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/3.jpg)
Optimal Subdivisions in CGOptimal Subdivisions in CG Convex partitions: Min # convex Convex partitions: Min # convex
piecespieces• Exact methods: DPExact methods: DP• Approximation: Hertel-Mehlhorn Approximation: Hertel-Mehlhorn
algorithmalgorithm
33
![Page 4: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/4.jpg)
Optimal Subdivisions in CGOptimal Subdivisions in CG Load-balancing:Load-balancing:
• Rectangular partition of Rectangular partition of nn x x nn matrix A, matrix A, into into kk rectangles in order to minimize rectangles in order to minimize the max weight of a rectangle is NP-hard the max weight of a rectangle is NP-hard – – [Muthukrishnan et al ’98][Muthukrishnan et al ’98]
• The element values used in the The element values used in the reduction are constants reduction are constants 44
44
![Page 5: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/5.jpg)
Related Problem: DistrictingRelated Problem: Districting
66
An example of "cracking" style Gerrymandering; where the urban (and mostly liberal) concentration of Columbus, Ohio is split into thirds and then each segment outweighted by attachment to largely conservative suburbs.
Source: Wikipedia
![Page 6: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/6.jpg)
A gerrymandered Congressional District, the 11th CD of CA (now occupied by Democrat Jerry McNerney), drawn to favor Republican Richard Pombo. While the Danville area is a traditional Republican stronghold, Morgan Hill is not, and that largely Democratic district was added to obtain the proper population numbers for the 11th after Livermore was assigned to the 10th at the behest of the incumbent Democrat (Ellen Tauscher), since it contains the Lawrence Livermore National Laboratory (located near the "580" shield) and she sits in the House Energy Committee. The 10th CD is immediately north of the 11th in Contra Costa and Solano Counties. See the California 11th congressional district election, 2006 for an unexpected result that overcame this gerrymander.
Image:The Gerry-Mander.png
GerrymanderingGerrymandering
![Page 7: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/7.jpg)
Fundamental Mathematical Fundamental Mathematical Tool: Ham Sandwich Tool: Ham Sandwich
TheoremTheorem
88
““The volumes of any The volumes of any nn solids of dimension solids of dimension nn can always be can always be simultaneously simultaneously bisected by an (bisected by an (nn – 1) – 1) dimensional dimensional hyperplane” hyperplane” [Steinhaus 1938][Steinhaus 1938]
Corollary of Borsuk-Ulam Corollary of Borsuk-Ulam theorem (1933): “any theorem (1933): “any continuous function continuous function from an from an nn-sphere into -sphere into RRnn maps some pair of maps some pair of antipodal points to the antipodal points to the same point”same point” Ack: Armbruster, Carlsson, Ye
![Page 8: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/8.jpg)
Discrete Set PartitionDiscrete Set Partition
[Bespamyatnikh, Kirkpatrick, Snoeyink 2000] and [Ito, Uehara, [Bespamyatnikh, Kirkpatrick, Snoeyink 2000] and [Ito, Uehara, Yokoyama 1998] address a similar problem:Yokoyama 1998] address a similar problem:
““Given Given gngn red points and red points and gmgm blue points in the plane in blue points in the plane in general position, find a subdivision of the plane into general position, find a subdivision of the plane into gg disjoint convex polygons, each of which contains disjoint convex polygons, each of which contains nn red red points and points and mm blue points.” blue points.”
Ack: Armbruster, Carlsson, Ye
![Page 9: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/9.jpg)
Finding Equitable Convex Finding Equitable Convex Partitions of Points and Partitions of Points and
ApplicationsApplicationsBenjamin Armbruster, John Gunnar Carlsson, Yinyu YeBenjamin Armbruster, John Gunnar Carlsson, Yinyu Ye
nn points are scattered inside a convex polygon points are scattered inside a convex polygon PP (in 2D) with (in 2D) with mm vertices. Does there exist a partition of vertices. Does there exist a partition of P P into into nn sub-regions sub-regions
satisfying the following:satisfying the following:Each sub-region is convexEach sub-region is convex
Each sub-region contains one pointEach sub-region contains one pointAll sub-regions have equal areaAll sub-regions have equal area
![Page 10: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/10.jpg)
Related Problem: Voronoi Related Problem: Voronoi DiagramDiagram
In the In the Voronoi DiagramVoronoi Diagram, we satisfy the first , we satisfy the first two properties (each sub-region is convex two properties (each sub-region is convex and contains one point), but the sub-and contains one point), but the sub-regions have different areas.regions have different areas.
Ack: Armbruster, Carlsson, Ye
![Page 11: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/11.jpg)
ResultResultNot only such an equitable partition always Not only such an equitable partition always
exists, but also we can find it exactly in exists, but also we can find it exactly in running time O(running time O(NnNn log log NN), where ), where NN = = mm + + nn..
Ack: Armbruster, Carlsson, Ye
![Page 12: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/12.jpg)
Ack: Armbruster, Carlsson, Ye
![Page 13: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/13.jpg)
USA ExampleUSA Example
Ack: Armbruster, Carlsson, Ye
![Page 14: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/14.jpg)
1515
Airspace Sectorization Airspace Sectorization ProblemProblem
Joint work with A. Basu and G. Sabhnani
![Page 15: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/15.jpg)
1616
Airspace Sectorization Airspace Sectorization ProblemProblem
k – no. of sectorsk – no. of sectors bbii – Workload(WL) of sector i – Workload(WL) of sector i Given the air-traffic pattern, decompose Given the air-traffic pattern, decompose
the domain of airspace into k sectors, the domain of airspace into k sectors, “optimally”“optimally”• Min-Max WLMin-Max WL• Min-Sum WLMin-Sum WL
OR given a max Workload B, minimize kOR given a max Workload B, minimize kWe model as precise optimal geometric partitioning problem, for which we give provable results and heuristics to approximate
![Page 16: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/16.jpg)
1717
1D Problem1D Problem
x
t
Greedy Algorithm
![Page 17: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/17.jpg)
1818
1D problem1D problemGreedy = OptimalGreedy = Optimal
Greedy
Optimal
![Page 18: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/18.jpg)
1919
1D problem1D problemRunning TimeRunning Time
O(nlogn) Median O(nlogn) Median ‘‘x’ x’ CCoordinate of the Vertices in oordinate of the Vertices in Arrangement Arrangement R. Cole, J. Salowe, W. Steiger, and E. Szemeredi R. Cole, J. Salowe, W. Steiger, and E. Szemeredi SIAM J. Comput. ‘89SIAM J. Comput. ‘89
O(nlogn) : Compute the Max-WL after the interval is O(nlogn) : Compute the Max-WL after the interval is decideddecided
O(log(nO(log(n22)) : Binary Search O(n)) : Binary Search O(n22) critical points ) critical points
Total running time O(nlogn * log(nTotal running time O(nlogn * log(n22)) = O(nlog)) = O(nlog22(n)) (n)) * k
![Page 19: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/19.jpg)
2020
1D problem1D problemTime Avg WLTime Avg WL Avg number of planes in a sector at any timeAvg number of planes in a sector at any time
Easier to sectorize in 1DEasier to sectorize in 1D O((k+n)logn) for given budget BO((k+n)logn) for given budget B
Because the WL is a Because the WL is a piecewise linear and piecewise linear and continuous function continuous function with breaks at end with breaks at end points (O(n))points (O(n))
![Page 20: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/20.jpg)
2121
CG Concept: Binary Space CG Concept: Binary Space Partition (BSP)Partition (BSP)
BSPBSP: Special case of a Convex Partition, P, of a domain : Special case of a Convex Partition, P, of a domain D D
Defining propertyDefining property: Recursively obtained by cutting a : Recursively obtained by cutting a face of P into two subfaces by a face of P into two subfaces by a line/plane/hyperplane, cutting “all the way through” line/plane/hyperplane, cutting “all the way through” at each stepat each step
DD
![Page 21: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/21.jpg)
2222
Example: ZFW Divided into 18 SectorsExample: ZFW Divided into 18 Sectors
![Page 22: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/22.jpg)
BSP Trees in CGBSP Trees in CG Used for “painter’s algorithm”Used for “painter’s algorithm” AppletApplet
2323
![Page 23: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/23.jpg)
2424
Optimizing a Binary Space Optimizing a Binary Space Partition (BSP)Partition (BSP)
Dynamic ProgrammingDynamic Programming: Optimize over all BSP’s, : Optimize over all BSP’s, exploiting the fact that BSP’s are recursively exploiting the fact that BSP’s are recursively defined.defined.
ResultResult: Provably optimal (among BSP partitions) : Provably optimal (among BSP partitions) method to partition an airspace into sectors, in a method to partition an airspace into sectors, in a top-down fashion, for top-down fashion, for anyany specification/definition of specification/definition of “work load” in a sector“work load” in a sector
(minimize the maximum workload in a sector – most (minimize the maximum workload in a sector – most balanced sectorization)balanced sectorization)
![Page 24: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/24.jpg)
Optimal Load-Balancing BSP Optimal Load-Balancing BSP PartitionPartition
Dynamic ProgramDynamic Program InputInput: : nn points in a rectangle, points in a rectangle, RR ObjectiveObjective: BSP-Partition : BSP-Partition RR into into mm
rectangles, each with exactly rectangles, each with exactly kk points, while maximizing the points, while maximizing the minimum aspect ratio (“niceness”) minimum aspect ratio (“niceness”)
2525
k=2Subproblem: rectangle (x1 ,x2 ,y1 ,y2)
![Page 25: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/25.jpg)
2626
Optimal Smoothing ProblemOptimal Smoothing ProblemGiven: Integer-programming-based solution (hex cells) (from Arash)Goal: Compute “optimal” smoothed boundaries (combine MILP and GeoSect techniques)Method: Use CG concepts of optimal paths, link distance, and optimal workload partitioning. Among all possible polygonal chains of k “links” (edges), that join two degree-3 vertices in the hex-cell map, find the optimal path according to an objective function based on min-max workload on each side of the path.
Optimal 2-link partition path between two adjacent sectors of hex-cells
![Page 26: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/26.jpg)
2828
Dominant Flows: Trajectory Dominant Flows: Trajectory ClusteringClustering
ClusteringClustering of trajectory data of trajectory data Example:Example:
Duality
Custers
![Page 27: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/27.jpg)
Patterns in TrajectoriesPatterns in Trajectories nn trajectories, each with trajectories, each with tt time steps time steps
nn polygonal lines with polygonal lines with tt vertices vertices Already looked at Already looked at most visited locationmost visited location
Computational Geometry and Spatial Data Mining, M. van Kreveld
![Page 28: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/28.jpg)
Patterns in TrajectoriesPatterns in Trajectories FlockFlock: near positions of (sub)trajectories for : near positions of (sub)trajectories for
some subset of the entities during some timesome subset of the entities during some time ConvergenceConvergence: same destination region for : same destination region for
some subset of the entitiessome subset of the entities EncounterEncounter: same destination region with same : same destination region with same
arrival time for some subset of the entitiesarrival time for some subset of the entities SimilaritySimilarity of trajectories of trajectories Same Same directiondirection of movement, leadership, ...... of movement, leadership, ......
flock convergenceComputational Geometry and Spatial Data Mining, M. van Kreveld
![Page 29: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/29.jpg)
Patterns in TrajectoriesPatterns in Trajectories Flocking, convergence, encounter patternsFlocking, convergence, encounter patterns
• Laube, van Kreveld, Imfeld (SDH 2004)Laube, van Kreveld, Imfeld (SDH 2004)• Gudmundsson, van Kreveld, Speckmann (ACM GIS 2004)Gudmundsson, van Kreveld, Speckmann (ACM GIS 2004)• Benkert, Gudmundsson, Huebner, Wolle (ESA 2006)Benkert, Gudmundsson, Huebner, Wolle (ESA 2006)• ......
Similarity of trajectoriesSimilarity of trajectories• Vlachos, Kollios, Gunopulos (ICDE 2002)Vlachos, Kollios, Gunopulos (ICDE 2002)• Shim, Chang (WAIM 2003)Shim, Chang (WAIM 2003)• ......
Lifelines, motion mining, modeling motionLifelines, motion mining, modeling motion• Mountain, Raper (GeoComputation 2001)Mountain, Raper (GeoComputation 2001)• Kollios, Scaroff, Betke (DM&KD 2001)Kollios, Scaroff, Betke (DM&KD 2001)• Frank (GISDATA 8, 2001)Frank (GISDATA 8, 2001)• ......
Computational Geometry and Spatial Data Mining, M. van Kreveld
![Page 30: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/30.jpg)
Patterns in TrajectoriesPatterns in Trajectories FlockFlock: near positions of (sub)trajectories for : near positions of (sub)trajectories for
some subset of the entities during some timesome subset of the entities during some time• clustering-type patternclustering-type pattern• different definitions are useddifferent definitions are used
Given: radius Given: radius rr, subset size , subset size mm, and duration , and duration TT,,a a flockflock is a subset of size is a subset of size mm that is inside a that is inside a (moving) circle of radius (moving) circle of radius rr for a duration for a duration TT
Computational Geometry and Spatial Data Mining, M. van Kreveld
![Page 31: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/31.jpg)
Computational Geometry and Spatial Data Mining, M. van Kreveld
![Page 32: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/32.jpg)
Patterns in TrajectoriesPatterns in Trajectories Longest flockLongest flock:: given a radius given a radius rr and subset size and subset size mm, ,
determine the longest time interval for which determine the longest time interval for which mm entities entities were within each other’s proximity were within each other’s proximity (circle radius (circle radius rr))
Time = 0 1 65432 7 8
longest flock in [ 1.8 , 6.4 ]
m = 3
Computational Geometry and Spatial Data Mining, M. van Kreveld
![Page 33: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/33.jpg)
3535
Clustering: Dominant Clustering: Dominant RoutesRoutes
Voronoi-basedpartitioning
![Page 34: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/34.jpg)
3636
Optimal Design of TubesOptimal Design of Tubes Flexible airspace designFlexible airspace design Dynamic Airspace ConfigurationDynamic Airspace Configuration
• Network of “tubes”, similar to highwaysNetwork of “tubes”, similar to highways Dynamically designed/optimizedDynamically designed/optimized High volume, multiple lanesHigh volume, multiple lanes Equipage requirements (navigation, Equipage requirements (navigation,
communication)communication)
![Page 35: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/35.jpg)
Design of Tubes: Design of Tubes: ParametersParameters
Cross section: width (# lanes), height (# levels)Cross section: width (# lanes), height (# levels)• Flight (equipage) characteristics per lane/levelFlight (equipage) characteristics per lane/level
Merge/split points?Merge/split points?• # and separation# and separation
On/off ramps, and separation standards: upper/lower On/off ramps, and separation standards: upper/lower bounds on bounds on off off , , on on , , b b
3737
off
on
b
![Page 36: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/36.jpg)
3838
Input: Airports and Input: Airports and DemandsDemands
Optimization formulation: V. Polishchuk
![Page 37: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/37.jpg)
3939
HubsHubs
e.g., clusters of airports
![Page 38: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/38.jpg)
4040
Tube NetworkTube Network
We formulate: Hub placement optimization problem
![Page 39: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/39.jpg)
4141
Hub Placement ProblemHub Placement Problem
“Steiner” nodes
![Page 40: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/40.jpg)
4242
Second-Order Cone Second-Order Cone Programming (SOCP)Programming (SOCP)
Linear Constraints
Cone Constraints
![Page 41: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/41.jpg)
4444
Hubs Placement: SOCP Hubs Placement: SOCP FormulationFormulation
![Page 42: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/42.jpg)
4545
Hubs Placement: SOCP Hubs Placement: SOCP FormulationFormulation
![Page 43: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/43.jpg)
4646
Additional Constraints: Additional Constraints: Bonus!Bonus!
![Page 44: Computational Geometry for DAC: Partitioning Algorithms](https://reader034.vdocument.in/reader034/viewer/2022051219/56815faf550346895dcea932/html5/thumbnails/44.jpg)
Limitations of SOCP ModelLimitations of SOCP Model Imposing Imposing lowerlower bounds on distances bounds on distances
(hub-hub, hub-airport, etc) makes it NP-(hub-hub, hub-airport, etc) makes it NP-hardhard
Euclidean distance (vs. spherical, wind-Euclidean distance (vs. spherical, wind-optimized routes)optimized routes)
Network topology must be given: Still Network topology must be given: Still need to search over different need to search over different connectivity graphs.connectivity graphs.
4747