Minimum-Perimeter Enclosing k-gons Joe Mitchell and Valentin Polishchuk.
-
Upload
jeffrey-morefield -
Category
Documents
-
view
234 -
download
6
Transcript of Minimum-Perimeter Enclosing k-gons Joe Mitchell and Valentin Polishchuk.
Minimum-Perimeter Minimum-Perimeter Enclosing k-gonsEnclosing k-gons
Joe Mitchell and Valentin PolishchukJoe Mitchell and Valentin Polishchuk
Given: Convex n-gon PGiven: Convex n-gon P
Find: Find: kk-gon -gon QQ
P P QQ
perimeterperimeter of of QQ → min→ min
Problem FormulationProblem Formulation
P
Q Stated as open problem:[Boyce, Dobkin, Drysdale, Guibas’85][Chang’86][DePano’87][Aggarwal and Park’88] [Mitchell, Piatko and Arkin’92][Piatko’93][Bhattacharya and Mukhopadhyay’02]
Given: Convex n-gon PGiven: Convex n-gon P
Find: k-gon QFind: k-gon Q
P P Q Q
areaarea of Q of Q → min→ min
Previous WorkPrevious Work
Solved in:[Aggarwal, Chang and Yap’85][Chang and Yap’86][Aggarwal, Klawe, Moran, Shor, Wilber‘86]
P
Q
Given: Convex n-gon PGiven: Convex n-gon P
Find: Find: 33-gon -gon QQ
P P QQ
perimeterperimeter of of QQ → min→ min
Previous WorkPrevious Work
P
Q
Solved in:[Bhattacharya and Mukhopadhyay’02][Medvedeva and Mukhopadhyay’03]
FPTASFPTASBased on Based on [MPA’92][MPA’92]
shortest shortest kk-link path in simple polygon-link path in simple polygon
Our ResultsOur Results
P
QSmall print:
Vertices of Q given by roots of high-degree polynomials
Exact solution not possible
O¡n3k3 log( N k
²1=k )¢
To “Rock”To “Rock”
hh ab = a ab = a
h h rocks onrocks on a a
P
Qha
b
To Be “Flush” withTo Be “Flush” with
PP
ee
P
Q
ef
e e ff
is flush with QQ
ff
Everybody in Polygon Everybody in Polygon Optimization Uses Optimization Uses
Flushness!Flushness![Boyce, Dobkin, Drysdale and Guibas’85][Boyce, Dobkin, Drysdale and Guibas’85][Chang’86, DePano’87][Chang’86, DePano’87][Aggarwal and Park’88][Aggarwal and Park’88][Mitchell, Piatko and Arkin’92][Mitchell, Piatko and Arkin’92][Piatko’93][Piatko’93][Bhattacharya and Mukhopadhyay’02][Bhattacharya and Mukhopadhyay’02][Aggarwal, Chang and Yap’85][Aggarwal, Chang and Yap’85][Chang and Yap’86][Chang and Yap’86][Aggarwal, Klawe, Moran, Shor and Wilber‘86][Aggarwal, Klawe, Moran, Shor and Wilber‘86]
And so will we…
The Flushness Lemma:The Flushness Lemma:
Lemma:Lemma: QQ is flush with P in opt is flush with P in opt
P
Q
The AlgorithmThe Algorithm
For each edge e of PFor each edge e of PGuess: e is flush with QGuess: e is flush with Q
Transform to simple P’Transform to simple P’
FindFind shortest (k+1)-link s-t shortest (k+1)-link s-t pathpath
Complete into QComplete into Qee
Chose min over e Chose min over e
P
eQ
P’
s t
Qe
[MPA’92]
e
Running TimeRunning Time
n ¢SP (k;n)
[MPA’92]
Can do better thanCan do better than
Looking into details of [MPA ’92] :Looking into details of [MPA ’92] :
or
n ¢SP (k;n)to find shortest k-link path in a simple n-gon
O¡n3k3 log( N k
²1=k )¢
O(n3k=²)
SP (k;n) = O¡n3k3 log( N k
²1=k )¢
SP (k;n) = O(k3n3=²)
““RRotating calipers” [Toussaint’83]otating calipers” [Toussaint’83]
Local optimality:Local optimality: Each edge of Each edge of QQ either flush with either flush with (an edge of)(an edge of) P P
or rocks on a vertex of Por rocks on a vertex of P
perimeter ofperimeter of Q Q ==
If not flush, rotate If not flush, rotate QQ by by θθ
perimeter ofperimeter of Q( Q(θθ) = ) = P k
i=1ai
sin ®i2
cos (¯ i ¡ µ)¡ (° i +µ)2
Proof of the Flushness Proof of the Flushness LemmaLemma
keeping ‘s fixed
const concave fcn of θ
concave fcn of θ
Attains min at θmin or θmax
← when Q is flush with P
P ki=1
aisin ®i
(sin¯ i + sin°i ) =P k
i=1ai
sin ®i2
cos ¯ i ¡ ° i2
A Fast Approximation A Fast Approximation AlgorithmAlgorithm
Interleaving k-gonsInterleaving k-gons
Locally Optimal k-gons Locally Optimal k-gons InterleaveInterleave
Otherwise – slide an Otherwise – slide an edge edge until until supported by Psupported by P
P
Perimeters of Interleaving Perimeters of Interleaving kk--gonsgons
rr11+r+r22 ≤≤ bb/sin(/sin())
p(p(RR) ≤ ) ≤ p(p(BB)/sin()/sin(minmin))
b
r1
r2
R
B
The Approximation The Approximation AlgorithmAlgorithm
Wrap Wrap equiangularequiangular k-gon k-gon QQkk
minmin(k-2)(k-2)kk
p(p(QQkk) ≤ p() ≤ p(OPTOPT)/cos()/cos(kk))
Linear-timeLinear-time
1/cos(1/cos(kk) - ) - approximationapproximation
P
Qk
ExtensionsExtensions
Minimum-perimeter enclosing Minimum-perimeter enclosing envelopeenvelope
k-gon with given angle sequence k-gon with given angle sequence AA
Flush with PFlush with P
by the Flushness Lemmaby the Flushness Lemma
O(nk log k)O(nk log k) timetime [Mount [Mount
and Silverman’94]and Silverman’94]
ExtensionsExtensionsRestricted envelopeRestricted envelope
Given Given PPoutout , P, Pinin PPoutout ,,
sequence sequence AA of k angles of k angles
Find PFind Pinin Q Q PPoutout
Q Q has angle sequence has angle sequence AAperimeter ofperimeter of Q Q → min→ min
Application:Application: ClassificationClassification Build low-complexity separatorBuild low-complexity separator
Pin
Q
Pout
EitherEither flushflush oror bashbash
If flush If flush guess the flush edgeguess the flush edge
wrapwrap
with Pin with Pout
Pin
Q
Pout
by the Flushness Lemma
i
a2
a1
IfIf bashbash
For {pFor {pjj,p,pll} – vertices of P} – vertices of Pinin
For For ee – edge of – edge of PPoutout
For For qqii – vertex of – vertex of QQ
Guess Guess qqi-1i-1qqii rocks on p rocks on pjj
qqiiqqi+1i+1 rocks on p rocks on pll
qqii is bash with e is bash with e
the bash point is a1 or a2
because iis fixed Pin
Pout
eqi
pj
pl
O(nin2noutk) guesses
Know the direction of an edge of QKnow the direction of an edge of Q
O(min{O(min{ nninin, , kk log n log ninin}) to wrap}) to wrap
If flush If flush
O(nO(nininmin{min{ nninin, , kk log n log ninin})})
If If bashbash
O(nO(ninin22nnoutoutmin{min{ nninin, , kk log n log ninin})})
Restricted EnclosuresRestricted Enclosures
Pin
Q
Pout
O(nin2noutmin{ nin, k log nin})
ConclusionConclusion
Algorithms for Algorithms for minimum-perimeter enclosing k-gonminimum-perimeter enclosing k-gon
Linear-time Linear-time 1/cos(1/cos(kk) – approximation) – approximation
ExtensionsExtensionsenvelopesenvelopes
restricted envelopesrestricted envelopes
Open: 3D min-surface-area polytope?
orO¡n3k3 log( N k
²1=k )¢
O(n3k=²)
Polygon Inclusion/EnclosurePolygon Inclusion/Enclosure Given Given polygon Ppolygon P Find Find polygon Q polygon Q
• Q Q P – inclusion problem P – inclusion problem P P Q – enclosure problem Q – enclosure problem
Such that Such that • Q is as large as possible – inclusion problemQ is as large as possible – inclusion problem• Q is as small as possible – enclosure problemQ is as small as possible – enclosure problem
ObjectivesObjectives• areaarea• perimeterperimeter