Duality
-
Upload
marc-sunet -
Category
Engineering
-
view
371 -
download
0
Transcript of Duality
![Page 1: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/1.jpg)
DualityProperties and Applications
Marc Sunet
November 28, 2014
![Page 2: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/2.jpg)
Table of contents
Introduction and Basic Properties
Arrangements
Convex Hulls and Intersection of Half-planes
Ham Sandwich Cuts
Other Dimensions
Links and References
![Page 3: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/3.jpg)
Table of Contents
Introduction and Basic Properties
Arrangements
Convex Hulls and Intersection of Half-planes
Ham Sandwich Cuts
Other Dimensions
Links and References
![Page 4: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/4.jpg)
Motivation
Why do we need duality?
![Page 6: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/6.jpg)
Duality in the plane
A function D : R2 → R2 that transforms points to lines and lines topoints.
Several maps exist, each with their own properties and characteristics.
Different maps to solve different problems.
![Page 7: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/7.jpg)
Duality of theorems
![Page 8: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/8.jpg)
Standard duality
p = (a, b) 7→ p∗ : y = ax − b
l : y = mx + n 7→ l∗ = (m,−n)
![Page 9: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/9.jpg)
Standard duality
p = (a, b) 7→ p∗ : y = ax − b
l : y = mx + n 7→ l∗ = (m,−n)
Vocabulary:
Primal space The original space.
Dual space The original space transformed by D.
Essential properties:
1. D is a bijection between points and non-vertical lines.→ ”we can go back”.
2. D2 = Id→ ”to go back we just apply D again”.
![Page 10: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/10.jpg)
Parallel lines
Points sharing the same x coordinate map to parallel lines:
(a, b) 7→ y = ax − b
(a, c) 7→ y = ax − c
![Page 11: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/11.jpg)
Distance preservation
Duality preserves point-line vertical distances:
⇒ Preserves incidence: p ∈ l ⇔ l∗ ∈ p∗
⇒ Preserves order: p above l ⇔ l∗ above p∗
![Page 12: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/12.jpg)
Order preservation
Red above green ⇔ green∗ above red∗
![Page 13: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/13.jpg)
Order preserving or reversing?
Both!
Order preserving:
I p above l ⇔ l∗ above p∗
Order reversing:
I p above l ⇔ p∗ below l∗
![Page 14: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/14.jpg)
CollinearityCollinear points dualise into lines sharing a common intersection point(and vice versa):
p1 ∈ l ⇒ l∗ ∈ p∗1p2 ∈ l ⇒ l∗ ∈ p∗2
. . .
pN ∈ l ⇒ l∗ ∈ p∗N
⇒ l∗ is the common intersection point of all N lines
![Page 15: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/15.jpg)
Duality of a line segment
I Endpoints map to two intersecting lines.
I Intermediate points are all collinear ⇒ share common intersectionpoint.
I The dual of intermediate points are lines that sweep from one dualendpoint to the other.
![Page 16: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/16.jpg)
Line-Segment intersection
I Line l intersecting s has p or q above it and the other point below it.
I Order preservation ⇒ p∗ or q∗ has the point l∗ above it and theother line below it.
I ⇒ l∗ lies inside the double-wedge s∗.
![Page 17: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/17.jpg)
Duality and the x2
2 parabola
Consider parabola P : y = x2
2 :
p ∈ P⇒ p∗ tangent to P at p
![Page 18: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/18.jpg)
Duality and the x2
2 parabola
p∗ parallel to tangent at p:
I Tangent y ′(x) = x , y ′(a) = a
I p∗ ≡ y = ax − a2
2
I y ′(x) and p∗ have the same slope
p∗ contains p:
I p = (a, b) ∈ P⇒ p = (a, a2
2 )
I p∗ ≡ y = ax − a2
2
I a2
2 = a2 − a2
2
⇒ p∗ tangent to P at p
![Page 19: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/19.jpg)
Polar Duality
(a, b) 7→ ax + by + 1 = 0
ax + by + 1 = 0 7→ (a, b)
If d is the distance from the origin O to p, then p∗ is the lineperpendicular to Op at distance 1/d from O and placed on the other sideof O.
![Page 20: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/20.jpg)
Table of Contents
Introduction and Basic Properties
Arrangements
Convex Hulls and Intersection of Half-planes
Ham Sandwich Cuts
Other Dimensions
Links and References
![Page 21: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/21.jpg)
Arrangements
![Page 22: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/22.jpg)
Simple arrangements
Simple arrangement:
I No two lines are parallel.
I No three lines pass through the same point.
Combinatorial complexity:
I #Vertices ≤ n(n − 1)/2
I #Edges ≤ n2
I #Faces ≤ n2/2 + n/2 + 1
Overall complexity: O(n2)
![Page 23: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/23.jpg)
Constructing arrangements
Cost: O(n2)
![Page 24: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/24.jpg)
Arrangements and duality
Why are arrangements important?
![Page 25: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/25.jpg)
Table of Contents
Introduction and Basic Properties
Arrangements
Convex Hulls and Intersection of Half-planes
Ham Sandwich Cuts
Other Dimensions
Links and References
![Page 26: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/26.jpg)
Envelopes
Upper envelope of a set of lines is the set of points that are above alllines.
Lower envelope of a set of lines is the set of points that are below alllines.
![Page 27: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/27.jpg)
Convex Hulls
I We can compute upper and lower envelopes by dualising a convexhull.
I Or we can compute the convex hull by dualising the upper and lowerenvelopes.
![Page 28: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/28.jpg)
Lower hull / upper envelope
Consider lower hull of points (red):
I Supporting lines li of lower hull lie on or below all points pj .
I Order preserving ⇒ dual points l∗i of upper envelope lie on or aboveall dual lines p∗j .
I Incidence ⇒ l∗i are the intersection points of the dual lines p∗j of theupper envelope.
![Page 29: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/29.jpg)
Upper hull / lower envelope
Consider upper hull of points (green):
I Supporting lines li of upper hull lie on or above all points pj .
I Order preserving ⇒ dual points l∗i of lower envelope lie on or belowall dual lines p∗j .
I Incidence ⇒ l∗i are the intersection points of the dual lines p∗j of thelower envelope.
![Page 30: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/30.jpg)
Convex Hull - Envelope Duality
Constructing the convex hull CH(P) of a set P of n points takesO(n log n) time.
Checking whether a point p ∈ P belongs to CH(P) takes O(n) time:
I p ∈ CH(P)⇔ p∗ ∈ Envelopes(D(P))
![Page 31: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/31.jpg)
Table of Contents
Introduction and Basic Properties
Arrangements
Convex Hulls and Intersection of Half-planes
Ham Sandwich Cuts
Other Dimensions
Links and References
![Page 32: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/32.jpg)
Ham Sandwich Cuts
![Page 33: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/33.jpg)
Ham Sandwich Cuts
Ham sandwich theorem (measure theory):
I Given n measurable ”objects” in n-dimensional space, it is possibleto divide all of them in half (wrt their measure, i.e. volume) with asingle (n-1)-dimensional hyperplane.
I Object: set of finite measure, so that the notion of ”dividing itsvolume in half” makes sense.
![Page 34: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/34.jpg)
Ham Sandwich Cuts
![Page 35: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/35.jpg)
Ham Sandwich Cuts
The theorem guarantees that such a cut exists.
I But finding it is generally an unsolved problem.
Fortunately, well-known algorithms exist for 2d and 3d .
Also note:
I The ham sandwich cut bisects the n input objects.
I Finding the line/curve that completely separates them is anotherproblem known as the Separability Problem.
![Page 36: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/36.jpg)
Ham Sandwich Cuts: 2D discrete case
I Given two sets of points.
I Find line that simultaneously splits both sets in equal halves.
![Page 37: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/37.jpg)
Ham Sandwich Cuts: Median Level
The median level of a set of lines is a ”line” (set of line segments) thathas half the lines above and half the lines below.
![Page 38: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/38.jpg)
Ham Sandwich Cuts: Simple case
I Given two linearly separable sets of points B,C .
I Find line that splits both B and C in two equal halves.
![Page 39: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/39.jpg)
Ham Sandwich Cuts: Simple case
Step 1: Dualise B,C to obtain B∗,C∗:
![Page 40: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/40.jpg)
Ham Sandwich Cuts: Simple case
Step 2: Compute the median level of B∗:
![Page 41: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/41.jpg)
Ham Sandwich Cuts: Simple case
Step 3: Compute the median level of C∗:
![Page 42: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/42.jpg)
Ham Sandwich Cuts: Simple case
Step 4: Intersect the two median levels:
![Page 43: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/43.jpg)
Ham Sandwich Cuts: Simple case
Step 5: Dualise the intersection points. This yields the ham sandwich cut:
![Page 44: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/44.jpg)
Ham Sandwich Cuts: General case
What about the general case?
I Prune-and-search algorithm that solves the problem in O(n) time.
I At each iteration, a constant number of lines that do not haveintersections in the median level is discarded.
I The algorithm repeats this process until a small number of linesremain, in which case the problem can be solved directly.
![Page 45: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/45.jpg)
Table of Contents
Introduction and Basic Properties
Arrangements
Convex Hulls and Intersection of Half-planes
Ham Sandwich Cuts
Other Dimensions
Links and References
![Page 46: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/46.jpg)
Duality in 3D
In 3D we have point-plane duality.
I Points map to planes.
I Planes map to points.
I Lines map to lines.
An arrangement of n planes has complexity O(n3).
![Page 47: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/47.jpg)
Duality in Higher Dimensions
Points map to hyperplanes, hyperplanes map to points:
p = (p1, p2, . . . , pd) 7→ xd = p1x1 + p2x2 + . . . + pd−1xd−1 − pd
xd = a1x1 + a2x2 + . . . + ad−1xd−1 + ad 7→ (a1, a2, . . . ,−ad)
An arrangement of n hyperplanes in d-dimensional space has complexityO(nd).
![Page 48: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/48.jpg)
Table of Contents
Introduction and Basic Properties
Arrangements
Convex Hulls and Intersection of Half-planes
Ham Sandwich Cuts
Other Dimensions
Links and References
![Page 49: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/49.jpg)
Links and References
Computational Geometry: Algorithms and Applications (Mark de Berg,Otfried Cheong, Marc van Kreveld, Mark Overmars)
Intersecting Half-Planes and Related Problems (Vera Sacristan)http://www-ma2.upc.es/vera/wp-content/uploads/2013/06/
IntersectingHalfplanes.pdf
Arrangements and Duality (Partha P. Goswami)http://www.cs.uu.nl/docs/vakken/ga/slides8.pdf
Duality Transformation and its Applications to Computational Geometry(Partha P. Goswami)http://www.tcs.tifr.res.in/~ghosh/partha1-lecture.pdf
Arrangements and Duality (Antoine Vigneron)http://algo.kaust.edu.sa/Documents/cs372l13.pdf
![Page 50: Duality](https://reader031.fdocuments.us/reader031/viewer/2022022414/587cba861a28ab38028b676f/html5/thumbnails/50.jpg)
Links and References
Geoduality and Linear Programming (R Sharathkumar and HarishChandran)https://www.cs.duke.edu/~harish/papers/geoduality.pdf
Arrangements and Duality (Suresh Venkatasubramanian)http://www.cs.utah.edu/~suresh/compgeom/arrangements.pdf
Finding 2d Ham Sandwich Cuts in Linear Time (Benjamin Armbruster)http:
//users.iems.northwestern.edu/~armbruster/hamsandwich.pdf
Creating a Ham Sandwich Cut (Danielle MacNevin)http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2002/
DanielleMacNevin/algorithm-pg1.html
Ham Sandwich Cuts (Rudolf Fleischer)http://www.tcs.fudan.edu.cn/rudolf/Courses/Algorithms/Alg_
cs_07w/Webprojects/Jiajin_redblue/intro.html