Computing Height-Optimal Tangles Faster Oksana Firman W u PK AW - - PowerPoint PPT Presentation

computing height optimal tangles faster
SMART_READER_LITE
LIVE PREVIEW

Computing Height-Optimal Tangles Faster Oksana Firman W u PK AW - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Computing Height-Optimal Tangles Faster

Oksana Firman Philipp Kindermann Alexander Wolff Johannes Zink

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

Alexander Ravsky

Pidstryhach Institute for Applied Problems

  • f Mechanics and Mathematics,

National Academy of Sciences of Ukraine, Lviv, Ukraine

PK AW JZ OF W¨ u AR Lviv

slide-2
SLIDE 2

Introduction

Given a set of n y-monotone wires

slide-3
SLIDE 3

Introduction

Given a set of n y-monotone wires

1 ≤ i < j ≤ n

swap ij i j

slide-4
SLIDE 4

Introduction

Given a set of n y-monotone wires

1 ≤ i < j ≤ n

swap ij disjoint swaps

slide-5
SLIDE 5

Introduction

Given a set of n y-monotone wires

1 ≤ i < j ≤ n

swap ij disjoint swaps adjacent permutations

slide-6
SLIDE 6

Introduction

Given a set of n y-monotone wires

1 ≤ i < j ≤ n

swap ij disjoint swaps multiple swaps adjacent permutations

slide-7
SLIDE 7

Introduction

Given a set of n 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 π4 π5

slide-8
SLIDE 8

Introduction

Given a set of n y-monotone wires

1 ≤ i < j ≤ n

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

1

π′

2

π′

3

π′

5

adjacent permutations π4 π5 π′

4

1 2 · · · n

slide-9
SLIDE 9

Introduction

Given a set of n 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 π4 π5

slide-10
SLIDE 10

Introduction

Given a set of n 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 adjacent permutations π4 π5

slide-11
SLIDE 11

Introduction

Given a set of n 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 Tangle T(L) realizes list L. adjacent permutations π4 π5

slide-12
SLIDE 12

Introduction

Given a set of n 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 Tangle T(L) realizes list L. adjacent permutations π4 π5

slide-13
SLIDE 13

Introduction

Given a set of n 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 Tangle T(L) realizes list L. adjacent permutations not feasible π4 π5

slide-14
SLIDE 14

Introduction

Given a set of n 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 height-optimal if it has the minimum height among all tangles realizing the list L. 1 3 1 1 2 Tangle T(L) realizes list L. adjacent permutations π4 π5

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 for finding

  • ptimal tangles
slide-18
SLIDE 18

Related Work

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

GD 2018

  • list

Algorithm for finding

  • ptimal tangles

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 for finding

  • ptimal tangles

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 for finding

  • ptimal tangles

Complexity ?

?

slide-21
SLIDE 21

Overview

  • Complexity:

NP-hardness by reduction from 3-Partition.

  • New algorithm: using dynamic programming;

asymptotically faster than [Olszewski et al., GD’18]. O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • Experiments: comparison with [Olszewski et al., GD’18]
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 Given: Multiset A of 3m positive integers. a1 a2 a3 a3m−2 a3m · · · a3m−1

slide-25
SLIDE 25

Complexity

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

Theorem.

Proof. 3-Partition

  • 1 = B

· · ·

  • m = B

Given: Multiset A of 3m positive integers. Can A be partitioned into m groups of three elements s.t. each group sums up to the same value B? Question: a1 a2 a3 a3m−2 a3m · · ·

  • 2 = B

a3m−1

slide-26
SLIDE 26

Complexity

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

Theorem.

Proof. 3-Partition

B 4 < ai < B 2

B is poly in m

  • 1 = B

· · ·

  • m = B

Given: Multiset A of 3m positive integers. Can A be partitioned into m groups of three elements s.t. each group sums up to the same value B? Question: a1 a2 a3 a3m−2 a3m · · ·

  • 2 = B

a3m−1

slide-27
SLIDE 27

Complexity

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

Theorem.

Proof.

B 4 < ai < B 2

B is poly in m

  • 1 = B

· · ·

  • m = B

Given: Multiset A of 3m positive integers. Can A be partitioned into m groups of three elements s.t. each group sums up to the same value B? Given: Instance A of 3-Partition. Question: a1 a2 a3 a3m−2 a3m · · ·

  • 2 = B

a3m−1

slide-28
SLIDE 28

Complexity

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

Theorem.

Proof.

B 4 < ai < B 2

B is poly in m

  • 1 = B

· · ·

  • m = B

Given: Multiset A of 3m positive integers. Can A be partitioned into m groups of three elements s.t. each group sums up to the same value B? Given: 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. Question: a1 a2 a3 a3m−2 a3m · · ·

  • 2 = B

a3m−1

slide-29
SLIDE 29

Complexity

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

Theorem.

Proof. Given: 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. A

  • 1 = B

· · ·

  • m = B

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

  • 2 = B
slide-30
SLIDE 30

Complexity

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

Theorem.

Proof. Given: 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. A

  • 1 = B

· · ·

  • m = B

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

  • 2 = B

+1

slide-31
SLIDE 31

Complexity

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

Theorem.

Proof. Given: 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. A +1

  • 1 = B

· · ·

  • m = B

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

  • 2 = B

+1

slide-32
SLIDE 32

Complexity

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

Theorem.

Proof. Given: Instance A of 3-Partition. A +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

  • 1 = B

· · ·

  • m = B

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

  • 2 = B

+1

slide-33
SLIDE 33

Transforming the Instance A into a List L

ω ω′ ω ω′

slide-34
SLIDE 34

Transforming the Instance A into a List L

ω ω′ ω ω′

2m swaps

slide-35
SLIDE 35

Transforming the Instance A into a List L

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

slide-36
SLIDE 36

Transforming the Instance A into a List L

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

Ma1

M = 2m3

slide-37
SLIDE 37

Transforming the Instance A into a List L

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

Ma1

M = 2m3

slide-38
SLIDE 38

Transforming the Instance A into a List L

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

Ma1

M = 2m3

slide-39
SLIDE 39

Transforming the Instance A into a List L

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

Ma1

M = 2m3

slide-40
SLIDE 40

Transforming the Instance A into a List L

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

Ma1

M = 2m3 What is not possible? split

slide-41
SLIDE 41

Transforming the Instance A into a List L

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

Ma1

M = 2m3

Ma2

slide-42
SLIDE 42

Transforming the Instance A into a List L

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

Ma1

M = 2m3

Ma2

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

slide-43
SLIDE 43

Transforming the Instance A into a List L

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

Ma1 Ma4 Ma5 Ma2 Ma3 Ma6

M = 2m3

slide-44
SLIDE 44

Making Sure That the “Pockets” Can’t Be Squeezed

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

slide-45
SLIDE 45

Making Sure That the “Pockets” Can’t Be Squeezed

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

β2 δ2 β1 δ1

slide-46
SLIDE 46

Making Sure That the “Pockets” Can’t Be Squeezed

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

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

slide-47
SLIDE 47

Making Sure That the “Pockets” Can’t Be Squeezed

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

slide-48
SLIDE 48

Making Sure That the “Pockets” Can’t Be Squeezed

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

slide-49
SLIDE 49

Making Sure That the “Pockets” Can’t Be Squeezed

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

slide-50
SLIDE 50

Making Sure That the “Pockets” Can’t Be Squeezed

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

slide-51
SLIDE 51

Making Sure That the “Pockets” Can’t Be Squeezed

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

slide-52
SLIDE 52

Making Sure That the “Pockets” Can’t Be Squeezed

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

slide-53
SLIDE 53

Making Sure That the “Pockets” Can’t Be Squeezed

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

2 M B M B

M = 2m3

slide-54
SLIDE 54

Making Sure That the “Pockets” Can’t Be Squeezed

ω ω′ ω ω′ γ′ 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-55
SLIDE 55

Making Sure That the “Pockets” Can’t Be Squeezed

α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-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

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 by construction

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 by construction height ≤ H

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

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

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

slide-60
SLIDE 60

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-61
SLIDE 61

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 height > H

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

minimum height 2m3( A + 1)

slide-62
SLIDE 62

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 height > H

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

minimum height 2m3( A + 1) Tangle-Height Minimization is NP-hard.

Theorem.

slide-63
SLIDE 63

Overview

  • Complexity:

NP-hardness by reduction from 3-Partition.

  • New algorithm: using dynamic programming;

asymptotically faster than [Olszewski et al., GD’18]. O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • Experiments: comparison with [Olszewski et al., GD’18]
slide-64
SLIDE 64

Improving Exact Algorithms

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

slide-65
SLIDE 65

Improving Exact Algorithms

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

[Olszewski et al., GD’18]

2O(n2)

n – number of wires

slide-66
SLIDE 66

Improving Exact Algorithms

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

[Olszewski et al., GD’18]

2O(n2) 2O(n log n)

  • ur runtime

n – number of wires

slide-67
SLIDE 67

Improving Exact Algorithms

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

[Olszewski et al., GD’18]

2O(n2) 2O(n log n)

  • ur runtime

[Olszewski et al., GD’18]

O

  • ϕ2|L|

5|L|/n n

  • n

– number of wires – length of the list L (= ℓij) – golden ratio (≈ 1.618) |L| ϕ

slide-68
SLIDE 68

Improving Exact Algorithms

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

[Olszewski et al., GD’18]

2O(n2) 2O(n log n)

  • ur runtime

[Olszewski et al., GD’18]

O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • ur runtime

n – number of wires – length of the list L (= ℓij) – golden ratio (≈ 1.618) |L| ϕ

slide-69
SLIDE 69

Improving Exact Algorithms

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

[Olszewski et al., GD’18]

2O(n2) 2O(n log n)

  • ur runtime

[Olszewski et al., GD’18]

O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • ur runtime

polynomial in |L|

n – number of wires – length of the list L (= ℓij) – golden ratio (≈ 1.618) |L| ϕ

polynomial in |L| for fixed n

slide-70
SLIDE 70

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.
slide-71
SLIDE 71

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # of distinct sublists of L.

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-72
SLIDE 72

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

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

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-73
SLIDE 73

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

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

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-74
SLIDE 74

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

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

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-75
SLIDE 75

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

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

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-76
SLIDE 76

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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′

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-77
SLIDE 77

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 : j > i and ℓ′

ij is odd}| − |{j : j < i and ℓ′ ij is odd}| L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-78
SLIDE 78

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 : j > i and ℓ′

ij is odd}| − |{j : j < i and ℓ′ ij is odd}| L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-79
SLIDE 79

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 : j > i and ℓ′

ij is odd}| − |{j : j < i and ℓ′ ij is odd}| L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-80
SLIDE 80

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 : j > i and ℓ′

ij is odd}| − |{j : j < i and ℓ′ ij is odd}| L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-81
SLIDE 81

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 : j > i and ℓ′

ij is odd}| − |{j : j < i and ℓ′ ij is odd}|

check whether the map is indeed a permutation

L′ is a sublist of L if ℓ′

ij ≤ ℓij

slide-82
SLIDE 82

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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′

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′.

slide-83
SLIDE 83

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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′′).

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′. πh and idn L′ are adjacent L′′∪ add. swaps = L′

slide-84
SLIDE 84

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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′′).

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′. πh and idn L′ are adjacent L′′∪ add. swaps = L′

slide-85
SLIDE 85

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 its end. idn L′ Choose the shortest tangle T(L′′).

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′.

slide-86
SLIDE 86

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 its end. idn L′ Running time O(λ · (Fn+1 − 1) · n) ≤ Choose the shortest tangle T(L′′).

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′.

slide-87
SLIDE 87

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 its end. idn L′ Running time O(λ · (Fn+1 − 1) · n) ≤ Choose the shortest tangle T(L′′).

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′.

slide-88
SLIDE 88

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 its end. idn L′ Running time O(λ · (Fn+1 − 1) · n) ≤ Choose the shortest tangle T(L′′).

Fn is the n-th Fibonacci number L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′.

slide-89
SLIDE 89

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 its end. idn L′ Running time O(λ · (Fn+1 − 1) · n) ≤ Choose the shortest tangle T(L′′).

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′.

λ =

i<j

(ℓij + 1) ≤

  • 2|L|

n2 + 1

n2/2 Fn ∈ O(ϕn)

slide-90
SLIDE 90

Dynamic Programming Algorithm

O 2|L|

n2 + 1

n2/2ϕnn

  • Let L = (ℓij) be the given list of swaps.

λ = # 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 its end. idn L′ Running time O(λ · (Fn+1 − 1) · n) ≤ Choose the shortest tangle T(L′′).

L′ is a sublist of L if ℓ′

ij ≤ ℓij

Compute the final permutation idn L′.

λ =

i<j

(ℓij + 1) ≤

  • 2|L|

n2 + 1

n2/2 Fn ∈ O(ϕn)

slide-91
SLIDE 91

Overview

  • Complexity:

NP-hardness by reduction from 3-Partition.

  • New algorithm: using dynamic programming;

asymptotically faster than [Olszewski et al., GD’18]. O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • Experiments: comparison with [Olszewski et al., GD’18]
slide-92
SLIDE 92

[Olszewski et al., GD’18] O

  • ϕ2|L|

5|L|/n n

  • O

2|L|

n2 + 1

n2

2 ϕnn

  • Our algorithm

runtime [sec] length |L| of the list L

0 10 20 30 40 50 0.0001 0.01 1 100 3600

Experiments

0 10 20 30 40 0 10 20 30 40

slide-93
SLIDE 93

Open Problems

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

slide-94
SLIDE 94

Open Problems

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

  • ptimal realization?
slide-95
SLIDE 95

Open Problems

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

  • ptimal realization?

Problem 3 A list (ℓij) is non-separable if ∀i<k<j:

  • ℓik = ℓkj = 0 implies ℓij = 0
  • .

i k j

slide-96
SLIDE 96

Open Problems

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

  • ptimal realization?

Problem 3 A list (ℓij) is non-separable if ∀i<k<j:

  • ℓik = ℓkj = 0 implies ℓij = 0
  • .

i k j necessary

slide-97
SLIDE 97

Open Problems

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

  • ptimal realization?

Problem 3 For lists where all entries are even, is this sufficient? A list (ℓij) is non-separable if ∀i<k<j:

  • ℓik = ℓkj = 0 implies ℓij = 0
  • .

i k j necessary

slide-98
SLIDE 98

Open Problems

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

  • ptimal realization?

Problem 3 For lists where all entries are even, is this sufficient? A list (ℓij) is non-separable if ∀i<k<j:

  • ℓik = ℓkj = 0 implies ℓij = 0
  • .

i k j necessary

Thank you!