1 / 15

Dynamic Ham-Sandwich Cuts of Convex Polygons in the Plane

Dynamic Ham-Sandwich Cuts of Convex Polygons in the Plane. Jelani Nelson Vincent Yeung. (Based on paper co-authored with Timothy Abbott, Erik D. Demaine, Martin L. Demaine, Daniel Kane, Stefan Langerman). Ham-Sandwich Cuts. Sets of red points R and green points G .

dyan
Download Presentation

Dynamic Ham-Sandwich Cuts of Convex Polygons in the Plane

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamic Ham-Sandwich Cuts of Convex Polygons in the Plane Jelani Nelson Vincent Yeung (Based on paper co-authored with Timothy Abbott, Erik D. Demaine, Martin L. Demaine, Daniel Kane, Stefan Langerman)

  2. Ham-Sandwich Cuts • Sets of red points R and green points G. • Ham-sandwich cut simultaneously bisects measure (e.g. area, perimeter, vertex count) of both. • For us, R and G are vertices of non-overlapping convex polygons.

  3. Ham-Sandwich Cut

  4. Dynamic Version • Can insert/delete points from R and G. • Assumes invariant that points of R and G are in convex position. • O(lg n) update; O(lg3 n) query. • Two-line partition queries in O(lg3 n).

  5. Intuition

  6. Data Structure • Maintain upper and lower hulls of each set. • Maintain signed trapezoidal area under each edge and partial sums of these areas (augmented BST). (Maintain edge length or just the number “1” if doing perimeter or vertex count).

  7. Strategy • Find line S separating R and G • Search for the four edges cut passes through one at a time • Binary search for the correct edge • The bisector of R through a point p on S decreases slope monotonically as p goes down along S; slope of G’s bisector increases – use this for direction in binary search

  8. Necessary Methods • FIND-EDGES(l) – Return edges of R intersected by l - O(lg n) • FIND-AREA(l) – Return area of R under l - O(lg n) • FIND-BISECTOR(p) – Return bisector of R through p - O(lg2 n)

  9. FIND-EDGES • Endpoints of upper chain on opposites sides of l iff one edge in upper chain and one in lower. Binary search in each chain. • Else, find vertex u of upper chain on opposites side of l from chain endpoint (absolute difference between slope of l and edge is unimodal along upper chain – Fibonacci or ternary search) • Binary search through edges between u and chain endpoint to find one intersection edge. Recurse on two subchains made by removing edge.

  10. FIND-AREA • Find edges e1 and e2 of R intersected by l and points of intersection • Compute sum of areas under edges in interval between e1 and e2 • Subtract off area under line segment defined by points of intersection. Also, subtract area under e1 and e2 below l.

  11. FIND-BISECTOR • Given a point p, find bisector l of R through p. • Find right edge intersected by l by binary searching on the vertices of R. • Given vertex u, decide which way to go in the search by finding the area in R to the left of the line through u and p. • Do the same for left edge. • Find exact intersections of l on the edges by simple algebra.

  12. Ham-Sandwich Cut • Binary search over right edge of R that cut passes through. • For each edge (u,v), find bisectors of R and G through u and through v. Use slopes to guide direction of binary search. • lg n iterations of binary search, and each bisector calculation takes lg2 n. Total: O(lg3 n) • Can find exact points of intersection once we know the four edges (algebra calculations).

  13. Two-line Partition • Find pair of lines splitting plane into four regions each containing equal polygonal measure • Use our ham-sandwich data structure • A version of this problem first looked at by Megiddo in static case • Points first bisected, then colored based on side of bisecting line • Find ham-sandwich cut of the two colors

  14. Two-line Partition (Sketch) • First find ham-sandwich cut H • Then find second line O • O either intersects neither polygon, or intersects Q1 or Q2 • View H much as the line separating two convex polygons from before (two regions split – above H and below it) • See if S can be used as O, else try to find edge on Q1 O passes through (binary search + some case analysis)

  15. Future Directions • Dynamically maintain point of maximum Tukey depth (Tukey median) • depth(p) = min { h∩P | h a hyperplane containing p } • Intersection of lines in two-line partition gives “approximate Tukey median” (point of depth n/4) • Dynamic ham-sandwich in higher dimension • Point sets not in convex position

More Related