Computing Optimal Tangles Faster PK AW JZ OF W u AR Lviv - - PowerPoint PPT Presentation

computing optimal tangles faster
SMART_READER_LITE
LIVE PREVIEW

Computing Optimal Tangles Faster PK AW JZ OF W u AR Lviv - - PowerPoint PPT Presentation

Computing Optimal Tangles Faster PK AW JZ OF W u AR Lviv Alexander Wolff Oksana Firman Philipp Kindermann Johannes Zink Julius-Maximilians-Universit at W urzburg, Germany Alexander Ravsky Pidstryhach Institute for Applied


slide-1
SLIDE 1

Oksana Firman Alexander Wolff Philipp Kindermann Johannes Zink

Julius-Maximilians-Universit¨ at W¨ urzburg, Germany

Alexander Ravsky

Pidstryhach Institute for Applied Problems of Mechanics and Mathematics, National Academy of Sciences of Ukraine, Lviv, Ukraine

Computing Optimal Tangles Faster

PK AW JZ OF W¨ u AR Lviv

slide-2
SLIDE 2

Introduction

Given a set of y-monotone wires

slide-3
SLIDE 3

Introduction

Given a set of y-monotone wires

1 ≤ i, j ≤ n

swap ij i j

slide-4
SLIDE 4

Introduction

Given a set of y-monotone wires

1 ≤ i, j ≤ n

swap ij disjoint swaps

slide-5
SLIDE 5

Introduction

Given a set of y-monotone wires

1 ≤ i, j ≤ n

swap ij disjoint swaps adjacent permutations

slide-6
SLIDE 6

Introduction

Given a set of y-monotone wires

1 ≤ i, j ≤ n

swap ij disjoint swaps multiple swaps adjacent permutations

slide-7
SLIDE 7

Introduction

Given a set of y-monotone wires

1 ≤ i, j ≤ n

swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 adjacent permutations

slide-8
SLIDE 8

Introduction

Given a set of y-monotone wires

1 ≤ i, j ≤ n

swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 π′

1

π′

2

π′

3

. . . π′

5

adjacent permutations

slide-9
SLIDE 9

Introduction

Given a set of y-monotone wires

. . . and given a list of swaps L

1 ≤ i, j ≤ n

1 2 · · · n swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 adjacent permutations

slide-10
SLIDE 10

Introduction

Given a set of y-monotone wires

  • as a multiset (ℓij)

. . . and given a list of swaps L

1 ≤ i, j ≤ n

1 2 · · · n swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 1 3 1 1 2

1 ≤ i < j ≤ n

adjacent permutations

slide-11
SLIDE 11

Introduction

Given a set of y-monotone wires

  • as a multiset (ℓij)

. . . and given a list of swaps L

1 ≤ i, j ≤ n

1 2 · · · n swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 1 3 1 1 2

1 ≤ i < j ≤ n

Tangle T(L) realizes list L adjacent permutations

slide-12
SLIDE 12

Introduction

Given a set of y-monotone wires

  • as a multiset (ℓij)

. . . and given a list of swaps L

1 ≤ i, j ≤ n

1 2 · · · n swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 1 3 1 1 2

1 ≤ i < j ≤ n

Tangle T(L) realizes list L adjacent permutations

slide-13
SLIDE 13

Introduction

Given a set of y-monotone wires

  • as a multiset (ℓij)

. . . and given a list of swaps L

1 ≤ i, j ≤ n

1 2 · · · n swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 1 3 1 1 2

1 ≤ i < j ≤ n

Tangle T(L) realizes list L adjacent permutations not feasible

slide-14
SLIDE 14

Introduction

Given a set of y-monotone wires

  • as a multiset (ℓij)

. . . and given a list of swaps L

1 ≤ i, j ≤ n

1 2 · · · n swap ij disjoint swaps multiple swaps tangle T of height h(T) π1 π2 π3 . . . π6 A tangle T(L) is optimal if it has the minimum height among all tangles realizing the list L. 1 3 1 1 2

1 ≤ i < j ≤ n

Tangle T(L) realizes list L adjacent permutations

slide-15
SLIDE 15

Related work

  • Olszewski et al. Visualizing the template
  • f a chaotic attractor.

GD 2018

slide-16
SLIDE 16

Related work

  • Olszewski et al. Visualizing the template
  • f a chaotic attractor.

GD 2018

  • list
slide-17
SLIDE 17

Related work

  • Olszewski et al. Visualizing the template
  • f a chaotic attractor.

GD 2018

  • list

Algorithm to find the optimal tangle

slide-18
SLIDE 18

Related work

  • Olszewski et al. Visualizing the template
  • f a chaotic attractor.

GD 2018

  • list

Algorithm to find the optimal tangle Complexity ?

?

slide-19
SLIDE 19

Related work

  • Olszewski et al. Visualizing the template
  • f a chaotic attractor.

GD 2018

  • list
  • Wang. Novel routing schemes for IC

layout part I: Two-layer channel routing. DAC 1991 Given: initial and

final permutations

Algorithm to find the optimal tangle Complexity ?

?

slide-20
SLIDE 20

Related work

  • Olszewski et al. Visualizing the template
  • f a chaotic attractor.

GD 2018

  • list
  • Wang. Novel routing schemes for IC

layout part I: Two-layer channel routing. DAC 1991 Given: initial and

final permutations

Objective: minimize

the number of bends

  • Bereg et al. Drawing Permutations with Few Corners.

GD 2013 Algorithm to find the optimal tangle Complexity ?

?

slide-21
SLIDE 21

Overview

  • Complexity

NP-hardness by reduction from 3-Partition

  • Improved the algorithm of [Olszewski et al., GD’18]

Using the Dynamic Program O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • Experiments
slide-22
SLIDE 22

Complexity

Tangle-Height Minimization is NP-hard.

Theorem

slide-23
SLIDE 23

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof

slide-24
SLIDE 24

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof 3-Partition a1 a2 a3 · · · a3m−2 a3m−1 a3m Given: a multiset A of 3m positive integers

slide-25
SLIDE 25

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof 3-Partition a1 a2 a3 · · · a3m−2 a3m−1 a3m

  • 1 = B
  • 2 = B

· · ·

  • m = B

Given: a multiset A of 3m positive integers decide whether A can be partitioned into m groups of three elements each that all sum up to the same value B Objective:

slide-26
SLIDE 26

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof 3-Partition a1 a2 a3 · · · a3m−2 a3m−1 a3m

B 4 < ai < B 2

B is poly in m

  • 1 = B
  • 2 = B

· · ·

  • m = B

Given: a multiset A of 3m positive integers decide whether A can be partitioned into m groups of three elements each that all sum up to the same value B Objective:

slide-27
SLIDE 27

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof a1 a2 a3 · · · a3m−2 a3m−1 a3m

B 4 < ai < B 2

B is poly in m

  • 1 = B
  • 2 = B

· · ·

  • m = B

Given: a multiset A of 3m positive integers decide whether A can be partitioned into m groups of three elements each that all sum up to the same value B Given: an instance A of 3-Partition Objective:

slide-28
SLIDE 28

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof a1 a2 a3 · · · a3m−2 a3m−1 a3m

B 4 < ai < B 2

B is poly in m

  • 1 = B
  • 2 = B

· · ·

  • m = B

Given: a multiset A of 3m positive integers decide whether A can be partitioned into m groups of three elements each that all sum up to the same value B Given: an instance A of 3-Partition Task: construct L s.t. there is T realizing L with height at most H = 2m3( A)+7m2 iff A is a yes-instance Objective:

slide-29
SLIDE 29

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof Given: an instance A of 3-Partition Task: construct L s.t. there is T realizing L with height at most H = 2m3( A)+7m2 iff A is a yes-instance a1 a2 a3 · · · a3m−2 a3m−1 a3m

  • 1 = B
  • 2 = B

· · ·

  • m = B

A

slide-30
SLIDE 30

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof Given: an instance A of 3-Partition Task: construct L s.t. there is T realizing L with height at most H = 2m3( A)+7m2 iff A is a yes-instance a1 a2 a3 · · · a3m−2 a3m−1 a3m

  • 1 = B
  • 2 = B

· · ·

  • m = B

A +1

slide-31
SLIDE 31

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof Given: an instance A of 3-Partition Task: construct L s.t. there is T realizing L with height at most H = 2m3( A)+7m2 iff A is a yes-instance a1 a2 a3 · · · a3m−2 a3m−1 a3m

  • 1 = B
  • 2 = B

· · ·

  • m = B

A +1 +1

slide-32
SLIDE 32

Complexity

Reduction from 3-Partition Tangle-Height Minimization is NP-hard.

Theorem

Proof Given: an instance A of 3-Partition a1 a2 a3 · · · a3m−2 a3m−1 a3m

  • 1 = B
  • 2 = B

· · ·

  • m = B

A +1 +1 Task: construct L s.t. there is T realizing L with height at most H = 2m3( A )+7m2 iff A is a yes-instance +1

slide-33
SLIDE 33

Constructing the list L

ω ω′ ω ω′

slide-34
SLIDE 34

Constructing the list L

ω ω′ ω ω′

2m swaps

slide-35
SLIDE 35

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1

slide-36
SLIDE 36

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1

Ma1

M = 2m3

slide-37
SLIDE 37

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1

Ma1

M = 2m3

slide-38
SLIDE 38

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1

Ma1

M = 2m3

slide-39
SLIDE 39

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1

Ma1

M = 2m3

slide-40
SLIDE 40

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1

Ma1

M = 2m3 What is not allowed? split

slide-41
SLIDE 41

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1 α2 α′ 2 α2 α′ 2

Ma1

M = 2m3

Ma2

slide-42
SLIDE 42

Constructing the list L

α1 ω ω′ ω ω′ α1 α′ 1 α′ 1 α2 α′ 2 α2 α′ 2

Ma1

M = 2m3

Ma2

What is not allowed? put it on the same level with other α-α′ swaps

slide-43
SLIDE 43

Constructing the list L

α1 ω ω′ ω ω′ α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · · · · ·

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

M = 2m3

slide-44
SLIDE 44

Constructing the list L

ω ω′ ω ω′ δ2 β1δ1 β2 β2 δ2 β1 δ1

slide-45
SLIDE 45

Constructing the list L

ω ω′ ω ω′ δ2 β1δ1 β2 β2 δ2 β1 δ1

slide-46
SLIDE 46

Constructing the list L

ω ω′ ω ω′ δ2 β1δ1 β2 β2 δ2 β1 δ1

slide-47
SLIDE 47

Constructing the list L

ω ω′ ω ω′ δ2 β1δ1 β2 β2 δ2 β1 δ1

slide-48
SLIDE 48

Constructing the list L

ω ω′ ω ω′ δ2 β1δ1 β2 β2 δ2 β1 δ1

slide-49
SLIDE 49

Constructing the list L

ω ω′ ω ω′ δ2 β1δ1 β2 β2 δ2 β1 δ1

slide-50
SLIDE 50

Constructing the list L

ω ω′ ω ω′ δ2 β1δ1 β2 β2 δ2 β1 δ1

· · · 1 n-2 n-1 n · · · n-2 1 n-1 n

slide-51
SLIDE 51

Constructing the list L

ω ω′ ω ω′ γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

2 M B M B

M = 2m3

slide-52
SLIDE 52

Constructing the list L

ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2

2 M B M B

γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

2 M B M B

M = 2m3

slide-53
SLIDE 53

Constructing the list L

α1 ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2 α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · ·

2 M B M B

· · · γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

2 M B M B

M = 2m3

slide-54
SLIDE 54

Proof of correctness

α1 ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2 α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · ·

2 M B M B

· · · γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

2 M B M B

M = 2m3 A is a yes-instance

slide-55
SLIDE 55

Proof of correctness

α1 ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2 α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · ·

2 M B M B

· · · γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

2 M B M B

M = 2m3 A is a yes-instance by construction

slide-56
SLIDE 56

Proof of correctness

α1 ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2 α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · ·

2 M B M B

· · · γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

2 M B M B

M = 2m3 A is a yes-instance by construction at most H

H = 2m3( A) + 7m2 is the maximum allowed height for the reduction

slide-57
SLIDE 57

Proof of correctness

α1 ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2 α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · ·

2 M B M B

· · · γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

2 M B M B

M = 2m3 A is a yes-instance no

H = 2m3( A) + 7m2 is the maximum allowed height for the reduction

slide-58
SLIDE 58

Proof of correctness

α1 ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2 α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · ·

2 M B M B

· · · γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

2 M B M B

M = 2m3 A is a yes-instance no

H = 2m3( A) + 7m2 is the maximum allowed height for the reduction

minimum height 2m3( A+1)

slide-59
SLIDE 59

Proof of correctness

α1 ω ω′ ω ω′ γ′ 1 γ′ 2 δ′ 1 β′ 2 δ′ 2 β′ 1 β′ 1 γ′ 1γ′ 2 δ′ 1 β′ 2δ′ 2 α6 α1 · · · α′ 1 α′ 6 α6· · · α′ 1 α′ 6 · · ·

2 M B M B

· · · γ2 γ1 δ2 β1δ1 β2 β2 γ2 γ1 δ2 β1 δ1

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

2 M B M B

M = 2m3 A is a yes-instance no bigger than H

H = 2m3( A) + 7m2 is the maximum allowed height for the reduction

minimum height 2m3( A+1)

slide-60
SLIDE 60

Improving of Exact Algorithms

Simple lists Tangle-Height Minimization can be solved in . . . General lists

slide-61
SLIDE 61

Improving of Exact Algorithms

Simple lists Tangle-Height Minimization can be solved in . . . General lists

[Olszewski et al., GD’18]

eO(n2)

n: the number of wires

slide-62
SLIDE 62

Improving of Exact Algorithms

Simple lists Tangle-Height Minimization can be solved in . . . General lists

[Olszewski et al., GD’18]

eO(n2) eO(n log n)

  • ur result

n: the number of wires

slide-63
SLIDE 63

Improving of Exact Algorithms

Simple lists Tangle-Height Minimization can be solved in . . . General lists

[Olszewski et al., GD’18]

eO(n2) eO(n log n)

  • ur result

[Olszewski et al., GD’18]

O

  • ϕ2|L|

5|L|/n n

  • n:

the number of wires the length of the list, i.e ℓij the golden ratio, i.e. ≈ 1.618 |L|: ϕ:

slide-64
SLIDE 64

Improving of Exact Algorithms

Simple lists Tangle-Height Minimization can be solved in . . . General lists

[Olszewski et al., GD’18]

eO(n2) eO(n log n)

  • ur result

[Olszewski et al., GD’18]

O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • ur result

n: the number of wires the length of the list, i.e ℓij the golden ratio, i.e. ≈ 1.618 |L|: ϕ:

slide-65
SLIDE 65

Improving of Exact Algorithms

Simple lists Tangle-Height Minimization can be solved in . . . General lists

[Olszewski et al., GD’18]

eO(n2) eO(n log n)

  • ur result

[Olszewski et al., GD’18]

O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • ur result

polynomial in |L|

n: the number of wires the length of the list, i.e ℓij the golden ratio, i.e. ≈ 1.618 |L|: ϕ:

polynomial in |L| for fixed n

slide-66
SLIDE 66

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).
slide-67
SLIDE 67

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L.

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-68
SLIDE 68

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length.

slide-69
SLIDE 69

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider.

slide-70
SLIDE 70

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency.

slide-71
SLIDE 71

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. i

slide-72
SLIDE 72

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. i for each wire i:

// find a position where it is after applying L′

slide-73
SLIDE 73

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. i for each wire i:

// find a position where it is after applying L′

i → i + |{j : i < j and lij is odd}| − |{j : j < i and lij is odd}|

slide-74
SLIDE 74

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. i for each wire i:

// find a position where it is after applying L′

i → i + |{j : i < j and lij is odd}| − |{j : j < i and lij is odd}|

slide-75
SLIDE 75

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. i for each wire i:

// find a position where it is after applying L′

i → i + |{j : i < j and lij is odd}| − |{j : j < i and lij is odd}|

slide-76
SLIDE 76

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. i for each wire i:

// find a position where it is after applying L′

i → i + |{j : i < j and lij is odd}| − |{j : j < i and lij is odd}|

slide-77
SLIDE 77

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. i for each wire i:

// find a position where it is after applying L′

i → i + |{j : i < j and lij is odd}| − |{j : j < i and lij is odd}| check whether the result is indeed a permutation

slide-78
SLIDE 78

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. idn L′ Get the final permutation idn L′.

slide-79
SLIDE 79

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh idn L′ Choose the shortest tangle T(L′′) Get the final permutation idn L′. πh and idn L′ are adjacent L′′+ add. swaps = L′

slide-80
SLIDE 80

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh idn L′ Choose the shortest tangle T(L′′) Get the final permutation idn L′. πh and idn L′ are adjacent L′′+ add. swaps = L′

slide-81
SLIDE 81

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh Add the final permutation to the end. idn L′ Choose the shortest tangle T(L′′) Get the final permutation idn L′.

slide-82
SLIDE 82

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh Add the final permutation to the end. idn L′ Running time O(λ(Fn+1 − 1)n) ≤ Choose the shortest tangle T(L′′) Get the final permutation idn L′.

slide-83
SLIDE 83

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh Add the final permutation to the end. idn L′ Running time O(λ(Fn+1 − 1)n) ≤ Choose the shortest tangle T(L′′) Get the final permutation idn L′.

slide-84
SLIDE 84

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh Add the final permutation to the end. idn L′ Running time O(λ(Fn+1 − 1)n) ≤ Choose the shortest tangle T(L′′)

Fn is the n-th Fibonacci number

Get the final permutation idn L′.

slide-85
SLIDE 85

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh Add the final permutation to the end. idn L′ Running time O(λ(Fn+1 − 1)n) ≤ Choose the shortest tangle T(L′′) Get the final permutation idn L′.

λ =

i<j

(ℓij + 1) ≤

  • 2|L|

n2 + 1

n2

2

Fn ∈ O(ϕn)

slide-86
SLIDE 86

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2

2 ϕnn

  • Given a list L = (ℓij).

λ = # of distinct sublists of L. Consider them in order of increasing length. Let L′ be the next list to consider. Check its consistency. π1 π2 . . . πh Add the final permutation to the end. idn L′ Running time O(λ(Fn+1 − 1)n) ≤ Choose the shortest tangle T(L′′) Get the final permutation idn L′.

λ =

i<j

(ℓij + 1) ≤

  • 2|L|

n2 + 1

n2

2

Fn ∈ O(ϕn)

slide-87
SLIDE 87

[Olszewski et al., GD’18] O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • ur algorithm

Times/s |L|

2 4 6 8 5 10 15 0 5 10 15 20 25 0.001 0.01 0.1 10 100 1000 10, 000

the length of the list |L|:

slide-88
SLIDE 88

Open problems

Problem 1 Is it NP-hard to test the feasibility of a given (non-simple) list?

slide-89
SLIDE 89

Open problems

Problem 1 Is it NP-hard to test the feasibility of a given (non-simple) list? Problem 2 If feasibility is NP-hard, can we decide it faster than finding

  • ptimal tangles?
slide-90
SLIDE 90

Open problems

Problem 1 Is it NP-hard to test the feasibility of a given (non-simple) list? Problem 2 If feasibility is NP-hard, can we decide it faster than finding

  • ptimal tangles?

Problem 3 A list (ℓij) is non-separable if, for any i<k<j, ℓik = ℓkj = 0 implies ℓij = 0. i k j

slide-91
SLIDE 91

Open problems

Problem 1 Is it NP-hard to test the feasibility of a given (non-simple) list? Problem 2 If feasibility is NP-hard, can we decide it faster than finding

  • ptimal tangles?

Problem 3 A list (ℓij) is non-separable if, for any i<k<j, ℓik = ℓkj = 0 implies ℓij = 0. i k j necessary

slide-92
SLIDE 92

Open problems

Problem 1 Is it NP-hard to test the feasibility of a given (non-simple) list? Problem 2 If feasibility is NP-hard, can we decide it faster than finding

  • ptimal tangles?

Problem 3 For lists where all entries are even, is this sufficient? A list (ℓij) is non-separable if, for any i<k<j, ℓik = ℓkj = 0 implies ℓij = 0. i k j necessary

slide-93
SLIDE 93

Open problems

Problem 1 Is it NP-hard to test the feasibility of a given (non-simple) list? Problem 2 If feasibility is NP-hard, can we decide it faster than finding

  • ptimal tangles?

Problem 3 For lists where all entries are even, is this sufficient? A list (ℓij) is non-separable if, for any i<k<j, ℓik = ℓkj = 0 implies ℓij = 0. i k j necessary

Thank you!