Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: S
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea:
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m Blocks:
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m Blocks: 4 · 6 m · s j 6 m · ( m + 1)
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m Blocks: 4 · 6 m · s j 6 m · ( m + 1)
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m Blocks: 4 · 6 m · s j 6 m · ( m + 1) Walls:
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m Blocks: 4 · 6 m · s j 6 m · ( m + 1) Walls: ≈ m 4 B
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m Blocks: 4 · 6 m · s j 6 m · ( m + 1) Walls: ≈ m 4 B
Reduction (Sketch) Given an instance S = ( s 1 , . . . , s 3 m ) of 3-Partition, compute in poly( m ) time K > 0 and an instance σ of MinBBLRSequence s.t. area( σ ) < K ⇔ S is yes-instance Idea: Distance always 2 · 3 m Blocks: 4 · 6 m · s j 6 m · ( m + 1) Walls: ≈ m 4 B reduction ∈ poly( m , B )
Minimizing the Area of xy -monotone Polygons
Polygon canonical if . . .
Polygon canonical if . . . extreme edges
Polygon canonical if . . . Bounding Box extreme edges Bounding Box
Polygon canonical if . . . Bounding Box extreme edges . . . connected to a blue stair! Bounding Box
Example: Canonical Polygon connected Def.
Example: Canonical Polygon connected Def.
Example: Canonical Polygon connected Def.
Example: Canonical Polygon connected Def. not connected!
Example: Canonical Polygon However . . . connected Def.
Example: Canonical Polygon However . . . connected Def. connected! . . . is canonical.
connected Lemma : There is an optimum Def. canonical polygon!
connected Lemma : There is an optimum Def. canonical polygon! How to find it?
Computing Optimum Canonical Polygon Given angle sequence . . . TL TR BL BR
Computing Optimum Canonical Polygon Given angle sequence . . . . . . O (1) candidates for OPT. TR TL TR TL BR BL BR BL
Computing Optimum Canonical Polygon Given angle sequence . . . . . . O (1) candidates for OPT. TL TR TL TR TL or TR BR BL BL BR BL BR
Computing Optimum Canonical Polygon Given angle sequence . . . . . . O (1) candidates for OPT. TL TR TL TR TL or TR BR BL BL BR BL BR
Computing Optimum Canonical Polygon Given angle sequence . . . . . . O (1) candidates for OPT. TL TR TL TR TL or TR BR BL BL BR BL BR
Computing Optimum Canonical Polygon Given angle sequence . . . . . . O (1) candidates for OPT. TL TR TL TR TL or TR BR BL BL BR BL BR
Computing Optimum Canonical Polygon Given angle sequence . . . . . . O (1) candidates for OPT. TL TR TL TR TL or TR BR BL BL BR BL BR
Computing Area of a Candidate Given a candidate . . .
Computing Area of a Candidate Given a candidate . . . ≤ 2 stairs
Computing Area of a Candidate Given a candidate . . . Easy to solve! ≤ 2 stairs
Computing Area of a Candidate Given a candidate . . . O ( n ) time ≤ 2 stairs OPT 1 OPT 2 OPT 3
Computing Area of a Candidate Given a candidate . . . Put together! O ( n ) time ≤ 2 stairs OPT 1 OPT 2 OPT 3
Computing Area of a Candidate Given a candidate . . . O ( n ) time ≤ 2 stairs OPT 1 OPT 2 OPT 3
Computing Area of a Candidate Given a candidate . . . O ( n ) time ≤ 2 stairs OPT 1 OPT 2 OPT 3
Computing Area of a Candidate Given a candidate . . . O ( n ) time ≤ 2 stairs OPT 1 OPT 2 OPT 3
Computing Area of a Candidate Given a candidate . . . O ( n ) time ≤ 2 stairs OPT 1 OPT 2 OPT 3
Algorithm Algorithm : For every candidate × O (1) compute OPT candidate compute OPT candidate O ( n ) OPT = min OPT candidate O ( n )
Minimizing Bounding Box of x -monotone Polygons
Canonical x -monotone Polygons Bounding Box (BB)
Canonical x -monotone Polygons
Canonical x -monotone Polygons
Canonical x -monotone Polygons Canonical
Canonical x -monotone Polygons Red part fixed!
Canonical x -monotone Polygons Red part fixed! Only unknowns: a) Height of BB b) Width of extreme edges
Canonical x -monotone Polygons Red part fixed! Only unknowns: a) Height of BB Algorithm : Guess height of BB b) Width of extreme edges Use DP to find widths
DP Algorithm T [ p , e ] h
DP Algorithm T [ p , e ] p
DP Algorithm T [ p , e ] e p
DP Algorithm T [ p , e ] = minimum w s.t. left part ∈ BB( w × h ) e left part h p w
Recommend
More recommend