The Lower Envelope The Pointwise Minimum of a Set of Functions
description
Transcript of The Lower Envelope The Pointwise Minimum of a Set of Functions
![Page 1: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/1.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
1
The Lower EnvelopeThe Pointwise Minimum of a Set of Functions
![Page 2: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/2.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
2
Definition of the Lower Envelope (untere Kontur) of a set of functions:
Given n real-valued functions, all defined on a common interval I,
then the minimum is :
f(x) = min 1≤i≤n fi (x)
The graph of f(x) is called the lower envelope of the fi’s.
y =-∞
![Page 3: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/3.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
3
Special Case:
If all the functions fi are linear, then their graphs are line segments.
The lower envelope can be calculated with the help of sweep algorithm.
A
B
C
D
Cu
I
![Page 4: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/4.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
4
Question: Could the sweep line method also be used to find the lower envelope of graphs of non-linear functions?
![Page 5: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/5.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
5
Definition : A curve c is x-monotone if any vertical line either does not intersect c, or it intersects c at a single point.
Assumptions– All functions are x-monotone.– Function evaluation and determination of intersection points take time O(1).
– The space complexity of the description of a function fi is also constant.
Theorem 1: With the sweep technique, the k intersection points of n different x-monotone curves can be computed in O((n+k) logn) time and O(n) space.
![Page 6: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/6.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
6
Sweep technique:
If any two curves intersect in at most s points, (this would be satisfied when the functions of all n curves are polynomials that have degree at most s), then the total number of intersection points k is
k ≤ s*n(n-1)/2Consequence:
The total time complexity of the sweep line algorithmfor computing the lower envelope of n x-monotone functionsis O(s n2 logn) (from the O((n+k) logn) bound for computing all k intersection points).
Note:This is not an output sensitive algorithm!
![Page 7: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/7.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
7
S=3,n=4
Maximum k=18
Only 8 intersection points needed for lower envelope!
![Page 8: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/8.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
8
New algorithm: Combines Divide & Conquer andSweep-line techniques
If n =1, do nothing, otherwise:
1. Divide: the set S of n functions into two disjoint sets S1 and S2 of size n/2.
2. Conquer: Compute the lower envelopes L1 and L2 for the two sets S1 and S2 of smaller size.
3. Merge: Use a sweep-line algorithm for merging the lower envelopes L1 and L2 of S1 and S2 into the lower envelope L of the set S.
![Page 9: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/9.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
9
Example:Divide and Conquer
Lower envelope of curves A and D
Lower envelope of curves C and B
![Page 10: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/10.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
10
Lower envelope of curves A and D
Lower envelope of curves B and C
The lower envelopes of curves A,D and B,C
![Page 11: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/11.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
11
Sweep line algorithm for merging two lower envelopes L1 and L2
Sweep over L1 and L2 from left to right:
Event points: All vertices of L1 and L2,
all intersection points of L1 and L2
At each instance of time, the event queue contains only 3 points:
1 (the next) right endpoint of a segment of L1
1 (the next) right endpoint of a segment of L2
The next intersection point of L1 and L2, if it exists.
Sweep status structure: Contains two segments in y-order
![Page 12: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/12.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
12
L1
L2
Event queue:
SSS:
Output L:
![Page 13: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/13.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
13
L1
L2
The lower envelope can be computed in time proportional to the numberof events (halting points of the sweep line).
At each event point, a constant amount of work is sufficient to update theSSS and to output the result.
Total runtime of the merge step: O(#events).
How large is this number?
Time complexity
![Page 14: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/14.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
14
Define λs(n):
the maximum number of segments of the lower envelope of an arrangement of
• n different x-monotone curves over a common interval• such that every two curves have at most s intersection points
λs(n) is finite and grows monotonously with n.L1
L2
2λs(n/2)≤2 λs(n)
Lower envelopeof a set of n/2x-monotone curves
Lower envelopeof a set of n/2x-monotone curves
![Page 15: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/15.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
15
If n =1, do nothing, otherwise:
1. Divide: the set S of n functions into two disjoint sets S1 and S2 of size n/2.
2. Conquer: Compute the lower envelopes L1 and L2 for the two sets S1 and S2 of smaller size.
3. Merge: Use a sweep-line algorithm for merging the lower envelopes L1 and L2 of S1 and S2 into the lower envelope L of the set S.
Time complexity T(n) of the D&C/Sweep algorithm for a set of n x-monotone curves, s.t. each pair ofcurves intersects in at most s points:
T(1) = CT(n) ≤ 2 T(n/2) + C λs(n)
![Page 16: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/16.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
16
Using the Lemma : For all s, n ≥ 1, 2λs(n) ≤ λs(2n),
and the recurrence relation T(1) = C, T(n) ≤ 2 T(n/2) + C λs(n) yields:
Theorem: To calculate the lower envelope of n different x-monotone curves on the same interval, with the property that any two curves intersect in at most s points can be computed in time O(λs(n) log n ).
![Page 17: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/17.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
17
Recursion Tree
Back-substitution
The root has cost of Cλs(n)
each subtree has cost of Cλs(n/2)
By induction….
each subtree has cost of Cλs(n/4)
Marking each node with the cost of the divide and conquer step
T(n)
T(n/2) T(n/2)
T(n/4) T(n/4) T(n/4) T(n/4)
![Page 18: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/18.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
18
Davenport-Schinzel Sequences (DSS)
Consider words (strings) over an alphabet {A, B, C,…} of n letters.
A DSS of order s is a word such that• no letter occurs more than once on any two consecutive
positions• the order in which any two letters occur in the word changes at
most s times.
Examples: ABBA is no DSS, ABDCAEBAC is DSS of order 4,
What about ABRAKADABRA?
![Page 19: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/19.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
19
Theorem:The maximal length of a DSS of order s over an alphabet of n letters is λs(n).
Proof part 1: Show that for each lower envelope of n x-monotone curves, s.t. any two of them intersect in at most s points, there is a DSS over an n-letter alphabet which has the same length (# segments) as the lowerenvelope.
Proof part 2: Show that for each DSS of length n and order sthere is a set of n x-monotone curves which has the property that any two curves intersect in at most s points and which have alower envelope of n segments.
![Page 20: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/20.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
20
A AC
D
C B
B
DC
Lower envelope contains the segments ABACDCBCD in this order.
It obviously has the same length as the l.e. Is this also a DSS?
Proof part 1:
![Page 21: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/21.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
21
Example: Davenport-Schinzel-Sequenz: ABACACBC
A
B
C
A
A
A
B
B
C
C
C
![Page 22: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/22.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
22
Proof part 2: Given a DSS w of order s over an alphabet of n letters,
construct an arrangement of n curves with the property that each pair of curves
intersects in at most s point which has w as its lower envelope.
Generic example: ABCABACBA, DSS of order 5
A
B
C
![Page 23: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/23.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
23
Lemma: For all s,n ≥ 1: 2 λs(n) ≤ λs(2n)
Proof: Given a DSS over an n-element alphabet of order s and length l;construct a DSS of length 2l over an alphabet of 2n letters by concatenating two copies of the given DSS and choosing new letters for the second copy.
Example:n = 2, that is, choose alphabet {A,B}, s = 3, DSS3 = ABAB
n= 4, that is, choose alphabet {A,B,C,D}
ABABCDCD is a DSS of order 3 and double length.
![Page 24: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/24.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
24
Properties of λs(n)
1. λ1(n) = n
2. λ2(n) = 2n -1
3. λs(n) ≤ s (n – 1) n / 2 + 1
4. λs(n) O(n log* n), where log*n is the smallest integer m, s.t. the m-th iteration of the logarithm of n
log2(log2(...(log2(n))...))yields a value ≤ 1:
Note: For realistic values of n, the value log*n can be considered as constant!
Example: For all n ≤1020000 , log*n ≤5
![Page 25: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/25.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
25
Lower Envelope of n Linesegments
A
B
C
D
Cu
Theorem: The lower envelope of n line segments over a common interval can be computed in time O(n log n) and linear space.
Proof: λ1(n) = n
![Page 26: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/26.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
26
A
BC D
A
AB
B
D
Lower envelope of an arrangement of line segments in general position
Theorem: The lower envelope of n linesegments in general position has
O(λ3(n))many segments. It can be computed in time O(λ3(n) log n).
![Page 27: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/27.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
27
A
BC
D
A
AB
B
D
Reduction to x-monoton curves over a common interval
Any two curves mayIntersect at most3 times!
![Page 28: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/28.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
28
Any two curves mayintersect at most3 times!
![Page 29: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/29.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
29
Because the outer segments are parallel to each other, any two x-monotone curves can intersect in at most three points.
Therefore, the lower envelope has at most O(λ3(n) log n) segments.
It is known that λ3(n) Θ(n α(n)). Here, α is the functional inverse of theAckermann function A defined by:
A(1, n) = 2n , if n ≥ 1A(k, 1) = A(k – 1, 1) , if k ≥ 2A(k, n) = A(k – 1, A(k, n – 1)) , if k ≥ 2, n ≥ 2
Define a(n) = A(n, n), then α is defined by α(m) = min{ n; a(n) ≥ m}
The function α(m) grows almost linear in m (but is not linear).
![Page 30: The Lower Envelope The Pointwise Minimum of a Set of Functions](https://reader035.fdocuments.us/reader035/viewer/2022070403/56813a2e550346895da21772/html5/thumbnails/30.jpg)
Lecture 3Lower envelopes
Computational Geometry, 2005/06Prof.Dr.Th.Ottmann
30
References
1. R. Klein. Algorithmische Geometrie, Kap. 2.3.3. Addison Wesley, 1996.
2. M. Sharir and P. K. Agarwal. Davenport-Schinzel Sequences and their Geometric Applications, Cambridge University Press, 1995.