Minimum Rectilinear Polygons for Given Angle Sequences W. Evans 1 , - - PowerPoint PPT Presentation

minimum rectilinear polygons for given angle sequences
SMART_READER_LITE
LIVE PREVIEW

Minimum Rectilinear Polygons for Given Angle Sequences W. Evans 1 , - - PowerPoint PPT Presentation

Minimum Rectilinear Polygons for Given Angle Sequences W. Evans 1 , K. Fleszar 2 , P. Kindermann 2 , N. Saeedi 1 , C.-S. Shin 3 , A. Wolff 2 1. UBC, Canada 2. W urzburg Univ., Germany 3. HUFS, Korea Problems Rectilinear polygon P Problems


slide-1
SLIDE 1

Minimum Rectilinear Polygons for Given Angle Sequences

  • W. Evans1, K. Fleszar2, P. Kindermann2,
  • N. Saeedi1, C.-S. Shin3, A. Wolff2
  • 1. UBC, Canada
  • 2. W¨

urzburg Univ., Germany

  • 3. HUFS, Korea
slide-2
SLIDE 2

Problems

Rectilinear polygon P

slide-3
SLIDE 3

Problems

Rectilinear polygon P

slide-4
SLIDE 4

Problems

Rectilinear polygon P

L

slide-5
SLIDE 5

Problems

Rectilinear polygon P

L R L

slide-6
SLIDE 6

Problems

Rectilinear polygon P

L R L L L L L L R R R

LLRRLLLRLL

An angle sequence

slide-7
SLIDE 7

Problems

Rectilinear polygon P Angle sequence

LLRRLLLRLL

slide-8
SLIDE 8

Problems

Rectilinear polygon P Angle sequence

LLRRLLLRLL

  • n

integer grid

slide-9
SLIDE 9

Problems

Rectilinear polygon P Angle sequence

LLRRLLLRLL

  • n

integer grid

slide-10
SLIDE 10

Problems

Rectilinear polygon P Angle sequence

LLRRLLLRLL

  • n

integer grid

slide-11
SLIDE 11

Problems

Realize a given angle sequence as a rectilinear polygpon on the integer grid with ...

Rectilinear polygon P Angle sequence

LLRRLLLRLL

  • n

integer grid

slide-12
SLIDE 12

Problems

Realize a given angle sequence as a rectilinear polygpon on the integer grid with ...

Rectilinear polygon P Angle sequence

LLRRLLLRLL

  • n

integer grid minimum area 7 6

slide-13
SLIDE 13

Problems

Realize a given angle sequence as a rectilinear polygpon on the integer grid with ...

Rectilinear polygon P Angle sequence

LLRRLLLRLL

  • n

integer grid 9 8 minimum bounding box

slide-14
SLIDE 14

Problems

Realize a given angle sequence as a rectilinear polygpon on the integer grid with ...

Rectilinear polygon P Angle sequence

LLRRLLLRLL

  • n

integer grid minimum perimeter 14 14

slide-15
SLIDE 15

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

slide-16
SLIDE 16

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box.

slide-17
SLIDE 17

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box. Patrignani (2001): Orthogonal representation Compaction min bounding box min total edge length min max edge length

slide-18
SLIDE 18

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box. Patrignani (2001): Orthogonal representation Compaction min bounding box min total edge length min max edge length showed all three criteria are NP-complete

slide-19
SLIDE 19

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box. Patrignani (2001): Orthogonal representation Compaction min bounding box min total edge length min max edge length showed all three criteria are NP-complete Our bounding box problem corresponds to the special case that the input graph is a simple cycle.

slide-20
SLIDE 20

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box. Patrignani (2001): Orthogonal representation Compaction min bounding box min total edge length min max edge length showed all three criteria are NP-complete Our bounding box problem corresponds to the special case that the input graph is a simple cycle.

Open!

slide-21
SLIDE 21

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 2. Area minimization: Bae, Okamoto, Shin (2012)
  • Bound δ(n), the minimum area of P(S) for a given length n
  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box.

slide-22
SLIDE 22

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 2. Area minimization: Bae, Okamoto, Shin (2012)
  • Bound δ(n), the minimum area of P(S) for a given length n

δ(n) = n

2 − 1 if n ≡ 4 mod 8, n 2 otherwise

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box.

slide-23
SLIDE 23

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 2. Area minimization: Bae, Okamoto, Shin (2012)
  • Bound δ(n), the minimum area of P(S) for a given length n

δ(n) = n

2 − 1 if n ≡ 4 mod 8, n 2 otherwise

  • Bound ∆(n), the maximum of P(S) for a given length n

∆(n) = 1

8(n − 2)(n + 4)

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box.

slide-24
SLIDE 24

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 2. Area minimization: Bae, Okamoto, Shin (2012)
  • Bound δ(n), the minimum area of P(S) for a given length n

δ(n) = n

2 − 1 if n ≡ 4 mod 8, n 2 otherwise

  • Bound ∆(n), the maximum of P(S) for a given length n

∆(n) = 1

8(n − 2)(n + 4)

meaning that one can realize any S in this area, also tight

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box.

slide-25
SLIDE 25

Previous Work

P(S) = an optimal polygon that realizes an angle seq. S of length n

  • 2. Area minimization: Bae, Okamoto, Shin (2012)
  • Bound δ(n), the minimum area of P(S) for a given length n

δ(n) = n

2 − 1 if n ≡ 4 mod 8, n 2 otherwise

  • Bound ∆(n), the maximum of P(S) for a given length n

∆(n) = 1

8(n − 2)(n + 4)

meaning that one can realize any S in this area, also tight

  • 1. How hard it is to compute P(S)? Looks hard, but no proof yet

not even for the minimum bounding box.

  • No other related results
slide-26
SLIDE 26

Our results

  • 1. Show that computing P(S) under three criteria (area,

bounding box, perimeter) are NP-hard.

slide-27
SLIDE 27

Our results

  • 1. Show that computing P(S) under three criteria (area,

bounding box, perimeter) are NP-hard.

  • 2. Give efficient algorithms for special types of angle

sequences:

slide-28
SLIDE 28

Our results

  • 1. Show that computing P(S) under three criteria (area,

bounding box, perimeter) are NP-hard.

  • 2. Give efficient algorithms for special types of angle

sequences:

Area Bounding Box Perimeter x-monotone

slide-29
SLIDE 29

Our results

  • 1. Show that computing P(S) under three criteria (area,

bounding box, perimeter) are NP-hard.

  • 2. Give efficient algorithms for special types of angle

sequences:

Area Bounding Box Perimeter x-monotone O(n4) O(n3) O(n2)

slide-30
SLIDE 30

Our results

  • 1. Show that computing P(S) under three criteria (area,

bounding box, perimeter) are NP-hard.

  • 2. Give efficient algorithms for special types of angle

sequences:

Area Bounding Box Perimeter x-monotone O(n4) O(n3) O(n2) xy-monotone

slide-31
SLIDE 31

Our results

  • 1. Show that computing P(S) under three criteria (area,

bounding box, perimeter) are NP-hard.

  • 2. Give efficient algorithms for special types of angle

sequences:

Area Bounding Box Perimeter x-monotone O(n4) O(n3) O(n2) xy-monotone O(n) O(n) O(n)

slide-32
SLIDE 32

Our results

  • 1. Show that computing P(S) under three criteria (area,

bounding box, perimeter) are NP-hard.

  • 2. Give efficient algorithms for special types of angle

sequences:

Area Bounding Box Perimeter x-monotone O(n4) O(n3) O(n2) xy-monotone O(n) O(n) O(n)

⋆ ⋆ ⋆

slide-33
SLIDE 33

Computing Polygons with Bounding Boxes of Minimum Area

slide-34
SLIDE 34

NP-Hardness

We reduce from 3-Partition: Given a multiset S of n = 3m integers with S = mB, is there a partition of S into m subsets S1, . . . , Sm such that Si = B for each i?

slide-35
SLIDE 35

NP-Hardness

We reduce from 3-Partition: Given a multiset S of n = 3m integers with S = mB, is there a partition of S into m subsets S1, . . . , Sm such that Si = B for each i? B

?

slide-36
SLIDE 36

NP-Hardness

We reduce from 3-Partition: Given a multiset S of n = 3m integers with S = mB, is there a partition of S into m subsets S1, . . . , Sm such that Si = B for each i? B

?

Yes!

slide-37
SLIDE 37

NP-Hardness

We reduce from 3-Partition: Given a multiset S of n = 3m integers with S = mB, is there a partition of S into m subsets S1, . . . , Sm such that Si = B for each i? 3-Partition is NP-hard even if (i) B = poly(m) (ii) for each s ∈ S, we have B/4 < s < B/2 (⇒ all |Si| = 3). B

?

Yes!

slide-38
SLIDE 38

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) of 3-Partition, compute in poly(m) time K > 0 and an instance σ of MinBBLRSequence s.t. area(σ) < K ⇔ S is yes-instance

S                                 

slide-39
SLIDE 39

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-40
SLIDE 40

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-41
SLIDE 41

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-42
SLIDE 42

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-43
SLIDE 43

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-44
SLIDE 44

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-45
SLIDE 45

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-46
SLIDE 46

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-47
SLIDE 47

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-48
SLIDE 48

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-49
SLIDE 49

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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                                 

slide-50
SLIDE 50

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) of 3-Partition, compute in poly(m) time K > 0 and an instance σ of MinBBLRSequence s.t. area(σ) < K ⇔ S is yes-instance Idea:

slide-51
SLIDE 51

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m

slide-52
SLIDE 52

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m Blocks:

slide-53
SLIDE 53

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m Blocks: 4 · 6m · sj 6m · (m + 1)

slide-54
SLIDE 54

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m Blocks: 4 · 6m · sj 6m · (m + 1)

slide-55
SLIDE 55

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m Blocks: 4 · 6m · sj 6m · (m + 1) Walls:

slide-56
SLIDE 56

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m Blocks: 4 · 6m · sj 6m · (m + 1) Walls: ≈ m4B

slide-57
SLIDE 57

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m Blocks: 4 · 6m · sj 6m · (m + 1) Walls: ≈ m4B

slide-58
SLIDE 58

Reduction (Sketch)

Given an instance S = (s1, . . . , s3m) 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 · 3m Blocks: 4 · 6m · sj 6m · (m + 1) Walls: ≈ m4B reduction ∈ poly(m, B)

slide-59
SLIDE 59

Minimizing the Area

  • f xy-monotone Polygons
slide-60
SLIDE 60

Polygon canonical if . . .

slide-61
SLIDE 61

Polygon canonical if . . .

extreme edges

slide-62
SLIDE 62

Polygon canonical if . . .

extreme edges Bounding Box Bounding Box

slide-63
SLIDE 63

Polygon canonical if . . .

extreme edges Bounding Box Bounding Box . . . connected to a blue stair!

slide-64
SLIDE 64

Example: Canonical Polygon

connected

Def.

slide-65
SLIDE 65

Example: Canonical Polygon

connected

Def.

slide-66
SLIDE 66

Example: Canonical Polygon

connected

Def.

slide-67
SLIDE 67

Example: Canonical Polygon

connected

Def.

not connected!

slide-68
SLIDE 68

Example: Canonical Polygon

connected

Def. However . . .

slide-69
SLIDE 69

Example: Canonical Polygon

connected

Def. However . . .

connected!

. . . is canonical.

slide-70
SLIDE 70

connected

Def. There is an optimum canonical polygon! Lemma:

slide-71
SLIDE 71

connected

Def. There is an optimum canonical polygon! Lemma:

How to find it?

slide-72
SLIDE 72

Computing Optimum Canonical Polygon

Given angle sequence . . . TL TR BL BR

slide-73
SLIDE 73

Computing Optimum Canonical Polygon

Given angle sequence . . . TL TR BL BR TL TR BL BR . . . O(1) candidates for OPT.

slide-74
SLIDE 74

Computing Optimum Canonical Polygon

Given angle sequence . . . TL TR BL BR TL TR BL BR TL TR BL BR . . . O(1) candidates for OPT.

  • r
slide-75
SLIDE 75

Computing Optimum Canonical Polygon

Given angle sequence . . . TL TR BL BR TL TR BL BR TL TR BL BR . . . O(1) candidates for OPT.

  • r
slide-76
SLIDE 76

Computing Optimum Canonical Polygon

Given angle sequence . . . TL TR BL BR TL TR BL BR TL TR BL BR . . . O(1) candidates for OPT.

  • r
slide-77
SLIDE 77

Computing Optimum Canonical Polygon

Given angle sequence . . . TL TR BL BR TL TR BL BR TL TR BL BR . . . O(1) candidates for OPT.

  • r
slide-78
SLIDE 78

Computing Optimum Canonical Polygon

Given angle sequence . . . TL TR BL BR TL TR BL BR TL TR BL BR . . . O(1) candidates for OPT.

  • r
slide-79
SLIDE 79

Computing Area of a Candidate

Given a candidate . . .

slide-80
SLIDE 80

Computing Area of a Candidate

≤ 2 stairs Given a candidate . . .

slide-81
SLIDE 81

Computing Area of a Candidate

≤ 2 stairs Given a candidate . . .

Easy to solve!

slide-82
SLIDE 82

Computing Area of a Candidate

OPT1 ≤ 2 stairs OPT2 OPT3 O(n) time Given a candidate . . .

slide-83
SLIDE 83

Computing Area of a Candidate

OPT1 ≤ 2 stairs OPT2 OPT3 O(n) time Given a candidate . . .

Put together!

slide-84
SLIDE 84

Computing Area of a Candidate

OPT1 ≤ 2 stairs OPT2 OPT3 O(n) time Given a candidate . . .

slide-85
SLIDE 85

Computing Area of a Candidate

OPT1 ≤ 2 stairs OPT2 OPT3 O(n) time Given a candidate . . .

slide-86
SLIDE 86

Computing Area of a Candidate

OPT1 ≤ 2 stairs OPT2 OPT3 O(n) time Given a candidate . . .

slide-87
SLIDE 87

Computing Area of a Candidate

OPT1 ≤ 2 stairs OPT2 OPT3 O(n) time Given a candidate . . .

slide-88
SLIDE 88

Algorithm

Algorithm: For every candidate compute OPTcandidate

OPT = min OPTcandidate

compute OPTcandidate ×O(1) O(n)

O(n)

slide-89
SLIDE 89

Minimizing Bounding Box

  • f x-monotone Polygons
slide-90
SLIDE 90

Canonical x-monotone Polygons

Bounding Box (BB)

slide-91
SLIDE 91

Canonical x-monotone Polygons

slide-92
SLIDE 92

Canonical x-monotone Polygons

slide-93
SLIDE 93

Canonical x-monotone Polygons Canonical

slide-94
SLIDE 94

Canonical x-monotone Polygons

Red part fixed!

slide-95
SLIDE 95

Canonical x-monotone Polygons

Only unknowns:

a) Height of BB b) Width of extreme edges

Red part fixed!

slide-96
SLIDE 96

Canonical x-monotone Polygons

Only unknowns:

a) Height of BB b) Width of extreme edges

Red part fixed!

Algorithm: Guess height of BB Use DP to find widths

slide-97
SLIDE 97

DP Algorithm

h T[p, e]

slide-98
SLIDE 98

DP Algorithm

T[p, e] p

slide-99
SLIDE 99

DP Algorithm

T[p, e] e p

slide-100
SLIDE 100

DP Algorithm

h w T[p, e] = minimum w s.t. left part ∈ BB(w × h) left part e p

slide-101
SLIDE 101

DP Algorithm

T[p, e] = minimum w s.t. left part ∈ BB(w × h)

previous extreme vertex

q e p f

slide-102
SLIDE 102

DP Algorithm

w ′ T[p, e] = minimum w s.t. left part ∈ BB(w × h) is fixed q e p f

slide-103
SLIDE 103

DP Algorithm

w ′ T[p, e] = minimum w s.t. left part ∈ BB(w × h) T[q, f ] f + = q e p

slide-104
SLIDE 104

DP Algorithm

w ′ T[p, e] = min w s.t. left part ∈ BB(w × h) T[q, f ] + = Algorithm: Guess height of BB Use DP to find widths O(n) O(n2)

O(n3)

slide-105
SLIDE 105

Minimizing the Perimeter

  • f x-monotone Polygons
slide-106
SLIDE 106

Canonical x-monotone Polygons

slide-107
SLIDE 107

Canonical x-monotone Polygons

slide-108
SLIDE 108

Canonical x-monotone Polygons

slide-109
SLIDE 109

Canonical x-monotone Polygons

slide-110
SLIDE 110

Canonical x-monotone Polygons

slide-111
SLIDE 111

Canonical x-monotone Polygons

slide-112
SLIDE 112

Canonical x-monotone Polygons

All vertical edges (except two extremes) are of unit-length

slide-113
SLIDE 113

Canonical x-monotone Polygons

Assume that upper chain is longer (with more reflex vertices).

slide-114
SLIDE 114

Canonical x-monotone Polygons

e Assume that upper chain is longer (with more reflex vertices).

slide-115
SLIDE 115

Canonical x-monotone Polygons

e e′ Assume that upper chain is longer (with more reflex vertices).

slide-116
SLIDE 116

Canonical x-monotone Polygons

e e′ Assume that upper chain is longer (with more reflex vertices). e e′

slide-117
SLIDE 117

Canonical x-monotone Polygons

e e′ e e′ Assume that upper chain is longer (with more reflex vertices).

slide-118
SLIDE 118

Canonical x-monotone Polygons

e e′ e e′ All horizontal edges in the longer chain are of unit-length Assume that upper chain is longer (with more reflex vertices).

slide-119
SLIDE 119

Canonical x-monotone Polygons

e e′ e e′ Canonical x-monotone polygon if

  • 1. all vertical edges (except two extremes) are of

unit-length, and

  • 2. all horizontal edges in the longer chain are of

unit-length Assume that upper chain is longer (with more reflex vertices).

slide-120
SLIDE 120

DP Algorithm

The upper (longer) chain is fixed, i.e., width w is fixed w

slide-121
SLIDE 121

DP Algorithm

The upper (longer) chain is fixed, i.e., width w is fixed h w h′ perimeter = 2w+ (# of vertical edges) +h + h′

slide-122
SLIDE 122

DP Algorithm

The upper (longer) chain is fixed, i.e., width w is fixed h w h′ Unknowns: Height h (= length of the rightmost edge) perimeter = 2w+ (# of vertical edges) +h + h′

slide-123
SLIDE 123

DP Algorithm

The upper (longer) chain is fixed, i.e., width w is fixed h w h′

min perimeter = min h

Unknowns: Height h (= length of the rightmost edge) perimeter = 2w+ (# of vertical edges) +h + h′

slide-124
SLIDE 124

DP Algorithm min perimeter = min h

slide-125
SLIDE 125

DP Algorithm min perimeter = min h

slide-126
SLIDE 126

DP Algorithm min perimeter = min h

h[i, j]

i j

slide-127
SLIDE 127

DP Algorithm min perimeter = min h

h[i, j]

i j R L

slide-128
SLIDE 128

DP Algorithm min perimeter = min h

h[i, j]

i j R L

slide-129
SLIDE 129

DP Algorithm min perimeter = min h

h[i, j]

i j R L

h[i + 1, j + 1]

slide-130
SLIDE 130

DP Algorithm min perimeter = min h

h[i, j]

i j R L

h[i + 1, j]

slide-131
SLIDE 131

DP Algorithm min perimeter = min h

h[i, j]

i j For (i, j) pairs: Update h[i, j]

slide-132
SLIDE 132

DP Algorithm min perimeter = min h

h[i, j]

i j For (i, j) pairs: Update h[i, j] O(n2) O(1) O(n2)

slide-133
SLIDE 133

Conclusions

  • 1. Showed that realizing angles sequences optimally is

NP-hard.

  • 2. Designed algorithms for monotone sequences.
slide-134
SLIDE 134

Conclusions

  • 1. Showed that realizing angles sequences optimally is

NP-hard.

  • 2. Designed algorithms for monotone sequences.

Many questions...

  • 1. Other sequences giving polynomial-time realization?
slide-135
SLIDE 135

Conclusions

  • 1. Showed that realizing angles sequences optimally is

NP-hard.

  • 2. Designed algorithms for monotone sequences.

Many questions...

  • 1. Other sequences giving polynomial-time realization?
  • 2. Approximation algorithms?
slide-136
SLIDE 136

Conclusions

  • 1. Showed that realizing angles sequences optimally is

NP-hard.

  • 2. Designed algorithms for monotone sequences.

Many questions...

  • 1. Other sequences giving polynomial-time realization?
  • 2. Approximation algorithms?
  • 3. Angle sequences for the rectilinear chains?
slide-137
SLIDE 137

Conclusions

  • 1. Showed that realizing angles sequences optimally is

NP-hard.

  • 2. Designed algorithms for monotone sequences.

Many questions...

  • 1. Other sequences giving polynomial-time realization?
  • 2. Approximation algorithms?
  • 3. Angle sequences for the rectilinear chains?

Thank you