44
Computational Geometry for Computational Geometry for DAC: DAC: Partitioning Algorithms Partitioning Algorithms Joseph S. B. Mitchell and Girishkumar Sabhnani Stony Brook University

Computational Geometry for DAC: Partitioning Algorithms

  • Upload
    donat

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Computational Geometry for DAC: Partitioning Algorithms. Joseph S. B. Mitchell and Girishkumar Sabhnani Stony Brook University. Optimal Subdivisions in CG. Triangulations: - PowerPoint PPT Presentation

Citation preview

Page 1: Computational Geometry for DAC: Partitioning Algorithms

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

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

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

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

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

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

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

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

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

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

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

Ack: Armbruster, Carlsson, Ye

Page 13: Computational Geometry for DAC: Partitioning Algorithms

USA ExampleUSA Example

Ack: Armbruster, Carlsson, Ye

Page 14: Computational Geometry for DAC: Partitioning Algorithms

1515

Airspace Sectorization Airspace Sectorization ProblemProblem

Joint work with A. Basu and G. Sabhnani

Page 15: Computational Geometry for DAC: Partitioning Algorithms

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

1717

1D Problem1D Problem

x

t

Greedy Algorithm

Page 17: Computational Geometry for DAC: Partitioning Algorithms

1818

1D problem1D problemGreedy = OptimalGreedy = Optimal

Greedy

Optimal

Page 18: Computational Geometry for DAC: Partitioning Algorithms

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

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

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

2222

Example: ZFW Divided into 18 SectorsExample: ZFW Divided into 18 Sectors

Page 22: Computational Geometry for DAC: Partitioning Algorithms

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

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

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

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

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

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

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

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

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

Computational Geometry and Spatial Data Mining, M. van Kreveld

Page 32: Computational Geometry for DAC: Partitioning Algorithms

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

3535

Clustering: Dominant Clustering: Dominant RoutesRoutes

Voronoi-basedpartitioning

Page 34: Computational Geometry for DAC: Partitioning Algorithms

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

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

3838

Input: Airports and Input: Airports and DemandsDemands

Optimization formulation: V. Polishchuk

Page 37: Computational Geometry for DAC: Partitioning Algorithms

3939

HubsHubs

e.g., clusters of airports

Page 38: Computational Geometry for DAC: Partitioning Algorithms

4040

Tube NetworkTube Network

We formulate: Hub placement optimization problem

Page 39: Computational Geometry for DAC: Partitioning Algorithms

4141

Hub Placement ProblemHub Placement Problem

“Steiner” nodes

Page 40: Computational Geometry for DAC: Partitioning Algorithms

4242

Second-Order Cone Second-Order Cone Programming (SOCP)Programming (SOCP)

Linear Constraints

Cone Constraints

Page 41: Computational Geometry for DAC: Partitioning Algorithms

4444

Hubs Placement: SOCP Hubs Placement: SOCP FormulationFormulation

Page 42: Computational Geometry for DAC: Partitioning Algorithms

4545

Hubs Placement: SOCP Hubs Placement: SOCP FormulationFormulation

Page 43: Computational Geometry for DAC: Partitioning Algorithms

4646

Additional Constraints: Additional Constraints: Bonus!Bonus!

Page 44: Computational Geometry for DAC: Partitioning Algorithms

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