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
Computational Geometry for DAC:Computational Geometry for DAC:Partitioning AlgorithmsPartitioning Algorithms
Joseph S. B. Mitchell and Girishkumar SabhnaniStony Brook University
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
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
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
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
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
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
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
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
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
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
Ack: Armbruster, Carlsson, Ye
USA ExampleUSA Example
Ack: Armbruster, Carlsson, Ye
1515
Airspace Sectorization Airspace Sectorization ProblemProblem
Joint work with A. Basu and G. Sabhnani
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
1717
1D Problem1D Problem
x
t
Greedy Algorithm
1818
1D problem1D problemGreedy = OptimalGreedy = Optimal
Greedy
Optimal
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
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))
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
2222
Example: ZFW Divided into 18 SectorsExample: ZFW Divided into 18 Sectors
BSP Trees in CGBSP Trees in CG Used for “painter’s algorithm”Used for “painter’s algorithm” AppletApplet
2323
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)
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)
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
2828
Dominant Flows: Trajectory Dominant Flows: Trajectory ClusteringClustering
ClusteringClustering of trajectory data of trajectory data Example:Example:
Duality
Custers
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
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
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
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
Computational Geometry and Spatial Data Mining, M. van Kreveld
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
3535
Clustering: Dominant Clustering: Dominant RoutesRoutes
Voronoi-basedpartitioning
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)
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
3838
Input: Airports and Input: Airports and DemandsDemands
Optimization formulation: V. Polishchuk
3939
HubsHubs
e.g., clusters of airports
4040
Tube NetworkTube Network
We formulate: Hub placement optimization problem
4141
Hub Placement ProblemHub Placement Problem
“Steiner” nodes
4242
Second-Order Cone Second-Order Cone Programming (SOCP)Programming (SOCP)
Linear Constraints
Cone Constraints
4444
Hubs Placement: SOCP Hubs Placement: SOCP FormulationFormulation
4545
Hubs Placement: SOCP Hubs Placement: SOCP FormulationFormulation
4646
Additional Constraints: Additional Constraints: Bonus!Bonus!
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