Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman...
Transcript of Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman...
![Page 1: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/1.jpg)
Computing Height-OptimalTangles Faster
Oksana FirmanPhilipp Kindermann
Alexander WolffJohannes Zink
Julius-Maximilians-Universitat Wurzburg,
Germany
Alexander RavskyPidstryhach Institute for Applied Problems
of Mechanics and Mathematics,National Academy of Sciences of Ukraine,
Lviv, Ukraine
PK AW JZ OF Wu AR Lviv
![Page 2: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/2.jpg)
Introduction
Given a set of ny -monotone wires
![Page 3: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/3.jpg)
Introduction
Given a set of ny -monotone wires
1 ≤ i < j ≤ n
swap i j
i j
![Page 4: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/4.jpg)
Introduction
Given a set of ny -monotone wires
1 ≤ i < j ≤ n
swap i j
disjoint swaps
![Page 5: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/5.jpg)
Introduction
Given a set of ny -monotone wires
1 ≤ i < j ≤ n
swap i j
disjoint swaps
adjacentpermutations
![Page 6: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/6.jpg)
Introduction
Given a set of ny -monotone wires
1 ≤ i < j ≤ n
swap i j
disjoint swaps
multiple swaps
adjacentpermutations
![Page 7: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/7.jpg)
Introduction
Given a set of ny -monotone wires
1 ≤ i < j ≤ n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
adjacentpermutations
π4
π5
![Page 8: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/8.jpg)
Introduction
Given a set of ny -monotone wires
1 ≤ i < j ≤ n
1 2 · · · n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
π′1
π′2
π′3
π′5
adjacentpermutations
π4
π5
π′4
1 2 · · · n
![Page 9: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/9.jpg)
Introduction
Given a set of ny -monotone wires
. . . and given a list ofswaps L
1 ≤ i < j ≤ n
1 2 · · · n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
adjacentpermutations
π4
π5
![Page 10: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/10.jpg)
Introduction
Given a set of ny -monotone wires
as a multiset (`i j)
. . . and given a list ofswaps L
1 ≤ i < j ≤ n
1 2 · · · n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
1
3112
adjacentpermutations
π4
π5
![Page 11: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/11.jpg)
Introduction
Given a set of ny -monotone wires
as a multiset (`i j)
. . . and given a list ofswaps L
1 ≤ i < j ≤ n
1 2 · · · n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
1
3112
Tangle T (L) realizes list L.
adjacentpermutations
π4
π5
![Page 12: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/12.jpg)
Introduction
Given a set of ny -monotone wires
as a multiset (`i j)
. . . and given a list ofswaps L
1 ≤ i < j ≤ n
1 2 · · · n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
1
3112
Tangle T (L) realizes list L.
adjacentpermutations
π4
π5
![Page 13: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/13.jpg)
Introduction
Given a set of ny -monotone wires
as a multiset (`i j)
. . . and given a list ofswaps L
1 ≤ i < j ≤ n
1 2 · · · n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
1
3112
Tangle T (L) realizes list L.
adjacentpermutations
not feasible
π4
π5
![Page 14: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/14.jpg)
Introduction
Given a set of ny -monotone wires
as a multiset (`i j)
. . . and given a list ofswaps L
1 ≤ i < j ≤ n
1 2 · · · n
swap i j
disjoint swaps
multiple swaps
tangle T ofheight h(T )
π1
π2
π3
π6
A tangle T (L) is height-optimal if it has the minimum heightamong all tangles realizing the list L.
1
3112
Tangle T (L) realizes list L.
adjacentpermutations
π4
π5
![Page 15: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/15.jpg)
Related Work• Olszewski et al. Visualizing the template
of a chaotic attractor.GD 2018
![Page 16: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/16.jpg)
Related Work• Olszewski et al. Visualizing the template
of a chaotic attractor.GD 2018
mlist
![Page 17: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/17.jpg)
Related Work• Olszewski et al. Visualizing the template
of a chaotic attractor.GD 2018
mlist
Algorithm for findingoptimal tangles
![Page 18: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/18.jpg)
Related Work• Olszewski et al. Visualizing the template
of a chaotic attractor.GD 2018
mlist
Algorithm for findingoptimal tangles
Complexity ??
![Page 19: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/19.jpg)
Related Work• Olszewski et al. Visualizing the template
of a chaotic attractor.GD 2018
mlist
• Wang. Novel routing schemes for IClayout part I: Two-layer channel routing.DAC 1991
Given:initial andfinal permutations
Algorithm for findingoptimal tangles
Complexity ??
![Page 20: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/20.jpg)
Related Work• Olszewski et al. Visualizing the template
of a chaotic attractor.GD 2018
mlist
• Wang. Novel routing schemes for IClayout part I: Two-layer channel routing.DAC 1991
Given:initial andfinal permutations
Objective: minimizethe number of bends
• Bereg et al. Drawing Permutations with Few Corners.GD 2013
Algorithm for findingoptimal tangles
Complexity ??
![Page 21: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/21.jpg)
Overview
• Complexity:NP-hardness byreduction from3-Partition.
• New algorithm: using dynamic programming;asymptotically faster than [Olszewski et al., GD’18].
O(ϕ2|L|
5|L|/nn)
O(( 2|L|
n2 + 1) n2
2 ϕnn)
• Experiments: comparison with [Olszewski et al., GD’18]
![Page 22: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/22.jpg)
Complexity
Tangle-Height Minimization is NP-hard.Theorem.
![Page 23: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/23.jpg)
Complexity
Reduction from 3-Partition
Tangle-Height Minimization is NP-hard.Theorem.
Proof.
![Page 24: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/24.jpg)
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
![Page 25: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/25.jpg)
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 ofthree elements s.t. each group sums up tothe same value B?
Question:
a1 a2 a3 a3m−2 a3m· · ·∑2 = B
a3m−1
![Page 26: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/26.jpg)
Complexity
Reduction from 3-Partition
Tangle-Height Minimization is NP-hard.Theorem.
Proof.3-Partition
B4 < ai <
B2
B is poly in m
∑1 = B · · · ∑
m = B
Given: Multiset A of 3m positive integers.Can A be partitioned into m groups ofthree elements s.t. each group sums up tothe same value B?
Question:
a1 a2 a3 a3m−2 a3m· · ·∑2 = B
a3m−1
![Page 27: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/27.jpg)
Complexity
Reduction from 3-Partition
Tangle-Height Minimization is NP-hard.Theorem.
Proof. B4 < ai <
B2
B is poly in m
∑1 = B · · · ∑
m = B
Given: Multiset A of 3m positive integers.Can A be partitioned into m groups ofthree elements s.t. each group sums up tothe same value B?
Given: Instance A of 3-Partition.
Question:
a1 a2 a3 a3m−2 a3m· · ·∑2 = B
a3m−1
![Page 28: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/28.jpg)
Complexity
Reduction from 3-Partition
Tangle-Height Minimization is NP-hard.Theorem.
Proof. B4 < ai <
B2
B is poly in m
∑1 = B · · · ∑
m = B
Given: Multiset A of 3m positive integers.Can A be partitioned into m groups ofthree elements s.t. each group sums up tothe 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
![Page 29: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/29.jpg)
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
![Page 30: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/30.jpg)
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
![Page 31: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/31.jpg)
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
![Page 32: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/32.jpg)
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 atmost 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
![Page 33: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/33.jpg)
Transforming the Instance A into a List Lω ω′
ω ω′
![Page 34: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/34.jpg)
Transforming the Instance A into a List Lω ω′
ω ω′
2m swaps
![Page 35: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/35.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
![Page 36: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/36.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
Ma1M = 2m3
![Page 37: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/37.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
Ma1M = 2m3
![Page 38: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/38.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
Ma1M = 2m3
![Page 39: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/39.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
Ma1M = 2m3
![Page 40: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/40.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
Ma1M = 2m3
What is not possible?
split
![Page 41: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/41.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
α2 α′2
α2 α′2
Ma1M = 2m3
Ma2
![Page 42: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/42.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α1 α′1
α′1
α2 α′2
α2 α′2
Ma1M = 2m3
Ma2
What is not possible?
put it on the same levelwith other α-α′ swaps
![Page 43: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/43.jpg)
Transforming the Instance A into a List L
α1
ω ω′
ω ω′
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
· · ·
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
M = 2m3
![Page 44: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/44.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
![Page 45: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/45.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
β2δ2 β1δ1
![Page 46: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/46.jpg)
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
![Page 47: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/47.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
![Page 48: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/48.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
![Page 49: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/49.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
![Page 50: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/50.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
![Page 51: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/51.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
![Page 52: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/52.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′δ2β1δ1 β2
β2δ2 β1δ1
![Page 53: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/53.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
2MB
MB
M = 2m3
![Page 54: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/54.jpg)
Making Sure That the “Pockets” Can’t Be Squeezedω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
2MB
MB
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
2MB
MB
M = 2m3
![Page 55: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/55.jpg)
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· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
![Page 56: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/56.jpg)
Proof of Correctness
α1
ω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
A is a yes-instance
H = 2m3(∑
A) + 7m2
is the maximum allowedheight for the reduction
![Page 57: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/57.jpg)
Proof of Correctness
α1
ω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
A is a yes-instance
by construction
H = 2m3(∑
A) + 7m2
is the maximum allowedheight for the reduction
![Page 58: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/58.jpg)
Proof of Correctness
α1
ω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
A is a yes-instance
by construction
height ≤ H
H = 2m3(∑
A) + 7m2
is the maximum allowedheight for the reduction
![Page 59: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/59.jpg)
Proof of Correctness
α1
ω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
A is a yes-instanceno
H = 2m3(∑
A) + 7m2
is the maximum allowedheight for the reduction
![Page 60: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/60.jpg)
Proof of Correctness
α1
ω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
A is a yes-instanceno
H = 2m3(∑
A) + 7m2
is the maximum allowedheight for the reduction
minimum height2m3(
∑A + 1)
![Page 61: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/61.jpg)
Proof of Correctness
α1
ω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
A is a yes-instanceno
height > H
H = 2m3(∑
A) + 7m2
is the maximum allowedheight for the reduction
minimum height2m3(
∑A + 1)
![Page 62: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/62.jpg)
Proof of Correctness
α1
ω ω′
ω ω′
γ′1 γ′2δ′1 β′2δ′2β′1
β′1 γ′1γ′2δ′1β′2δ
′2
α6 α1· · · α′1 α′6
α6· · · α′1 α′6· · ·
2MB
MB
· · ·
γ2γ1 δ2β1δ1 β2
β2γ2γ1 δ2 β1δ1
Ma1
Ma4
Ma5
Ma2
Ma3
Ma6
2MB
MB
M = 2m3
A is a yes-instanceno
height > H
H = 2m3(∑
A) + 7m2
is the maximum allowedheight for the reduction
minimum height2m3(
∑A + 1)
Tangle-Height Minimization is NP-hard.Theorem.
X
![Page 63: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/63.jpg)
Overview
• Complexity:NP-hardness byreduction from3-Partition.
• New algorithm: using dynamic programming;asymptotically faster than [Olszewski et al., GD’18].
O(ϕ2|L|
5|L|/nn)
O(( 2|L|
n2 + 1) n2
2 ϕnn)
• Experiments: comparison with [Olszewski et al., GD’18]
![Page 64: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/64.jpg)
Improving Exact Algorithms
Simple lists
Tangle-Height Minimization can be solved in . . .
General lists
![Page 65: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/65.jpg)
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
![Page 66: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/66.jpg)
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)
our runtime
n – number of wires
![Page 67: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/67.jpg)
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)
our runtime
[Olszewski et al., GD’18]
O(ϕ2|L|
5|L|/nn)
n – number of wires– length of the list L (=
∑`i j )
– golden ratio (≈ 1.618)|L|ϕ
![Page 68: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/68.jpg)
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)
our runtime
[Olszewski et al., GD’18]
O(ϕ2|L|
5|L|/nn)
O(( 2|L|
n2 + 1) n2
2 ϕnn)our runtime
n – number of wires– length of the list L (=
∑`i j )
– golden ratio (≈ 1.618)|L|ϕ
![Page 69: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/69.jpg)
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)
our runtime
[Olszewski et al., GD’18]
O(ϕ2|L|
5|L|/nn)
O(( 2|L|
n2 + 1) n2
2 ϕnn)our runtime
polynomial in |L|
n – number of wires– length of the list L (=
∑`i j )
– golden ratio (≈ 1.618)|L|ϕ
polynomial in |L|for fixed n
![Page 70: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/70.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) be the given list of swaps.
![Page 71: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/71.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) be the given list of swaps.
λ = # of distinct sublists of L.L′ is a sublist of L if`′i j ≤ `i j
![Page 72: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/72.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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`′i j ≤ `i j
![Page 73: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/73.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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`′i j ≤ `i j
![Page 74: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/74.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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`′i j ≤ `i j
![Page 75: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/75.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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`′i j ≤ `i j
![Page 76: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/76.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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`′i j ≤ `i j
![Page 77: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/77.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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 7→ i + |{j : j > i and `′i j is odd}| − |{j : j < i and `′i j is odd}|
L′ is a sublist of L if`′i j ≤ `i j
![Page 78: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/78.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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 7→ i + |{j : j > i and `′i j is odd}| − |{j : j < i and `′i j is odd}|
L′ is a sublist of L if`′i j ≤ `i j
![Page 79: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/79.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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 7→ i + |{j : j > i and `′i j is odd}| − |{j : j < i and `′i j is odd}|
L′ is a sublist of L if`′i j ≤ `i j
![Page 80: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/80.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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 7→ i + |{j : j > i and `′i j is odd}| − |{j : j < i and `′i j is odd}|
L′ is a sublist of L if`′i j ≤ `i j
![Page 81: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/81.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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 7→ i + |{j : j > i and `′i j is odd}| − |{j : j < i and `′i j is odd}|check whether the map is indeed a permutation
L′ is a sublist of L if`′i j ≤ `i j
![Page 82: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/82.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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`′i j ≤ `i j
Compute the final permutation idn L′.
![Page 83: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/83.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhidn L′
Choose the shortest tangle T (L′′).
L′ is a sublist of L if`′i j ≤ `i j
Compute the final permutation idn L′.
πh and idn L′ are adjacentL′′∪ add. swaps = L′
![Page 84: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/84.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhidn L′
Choose the shortest tangle T (L′′).
L′ is a sublist of L if`′i j ≤ `i j
Compute the final permutation idn L′.
πh and idn L′ are adjacentL′′∪ add. swaps = L′
![Page 85: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/85.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhAdd the final permutation to its end.idn L′
Choose the shortest tangle T (L′′).
L′ is a sublist of L if`′i j ≤ `i j
Compute the final permutation idn L′.
![Page 86: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/86.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhAdd 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`′i j ≤ `i j
Compute the final permutation idn L′.
![Page 87: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/87.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhAdd 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`′i j ≤ `i j
Compute the final permutation idn L′.
![Page 88: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/88.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhAdd 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`′i j ≤ `i j
Compute the final permutation idn L′.
![Page 89: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/89.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhAdd 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`′i j ≤ `i j
Compute the final permutation idn L′.
λ =∏i<j
(`i j + 1) ≤(
2|L|n2
+ 1)n2/2
Fn ∈ O(ϕn)
![Page 90: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/90.jpg)
Dynamic Programming Algorithm
O(( 2|L|
n2 + 1)n2/2
ϕnn)
Let L = (`i j) 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...
πhAdd 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`′i j ≤ `i j
Compute the final permutation idn L′.
λ =∏i<j
(`i j + 1) ≤(
2|L|n2
+ 1)n2/2
Fn ∈ O(ϕn)
![Page 91: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/91.jpg)
Overview
• Complexity:NP-hardness byreduction from3-Partition.
• New algorithm: using dynamic programming;asymptotically faster than [Olszewski et al., GD’18].
O(ϕ2|L|
5|L|/nn)
O(( 2|L|
n2 + 1) n2
2 ϕnn)
• Experiments: comparison with [Olszewski et al., GD’18]
![Page 92: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/92.jpg)
[Olszewski et al., GD’18]
O(ϕ2|L|
5|L|/nn)
O(( 2|L|
n2 + 1) n2
2 ϕnn)Our algorithm
run
tim
e[s
ec]
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
![Page 93: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/93.jpg)
Open Problems
Problem 1
Is it NP-hard to test the feasibility of a given (non-simple) list?
![Page 94: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/94.jpg)
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 itsoptimal realization?
![Page 95: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/95.jpg)
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 itsoptimal realization?
Problem 3A list (`i j) is non-separableif ∀i<k<j :
(`ik = `kj = 0 implies `i j = 0
).
i k j
![Page 96: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/96.jpg)
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 itsoptimal realization?
Problem 3A list (`i j) is non-separableif ∀i<k<j :
(`ik = `kj = 0 implies `i j = 0
).
i k j
necessary
![Page 97: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/97.jpg)
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 itsoptimal realization?
Problem 3
For lists where all entries are even, is this sufficient?
A list (`i j) is non-separableif ∀i<k<j :
(`ik = `kj = 0 implies `i j = 0
).
i k j
necessary
![Page 98: Tangles Faster Computing Height-Optimal · 2019. 9. 18. · Tangles Faster OksanaFirman PhilippKindermann AlexanderWol JohannesZink Julius-Maximilians-Universit atW urzburg, Germany](https://reader034.fdocuments.net/reader034/viewer/2022051904/5ff69875f6870061be53b642/html5/thumbnails/98.jpg)
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 itsoptimal realization?
Problem 3
For lists where all entries are even, is this sufficient?
A list (`i j) is non-separableif ∀i<k<j :
(`ik = `kj = 0 implies `i j = 0
).
i k j
necessary
Thank you!