Optimal dislocation with persistent errors in subquadratic time
Barbara Geissmann, Stefano Leucci, Chih-Hung Liu, Paolo Penna ETH Zurich
Optimal dislocation with persistent errors in subquadratic time - - PowerPoint PPT Presentation
Optimal dislocation with persistent errors in subquadratic time Barbara Geissmann, Stefano Leucci, Chih-Hung Liu, Paolo Penna ETH Zurich The Problem Sorting with erroneous comparisons The Problem Sorting with erroneous comparisons 3 4
Optimal dislocation with persistent errors in subquadratic time
Barbara Geissmann, Stefano Leucci, Chih-Hung Liu, Paolo Penna ETH Zurich
The Problem
The Problem
4 5 6 3 2 1 7 8
The Problem
4 5 6 3 2 1 7 8
The Problem
4 5 6 3 2 1 7 8
The Problem
4 > 2 4 5 6 3 2 1 7 8
The Problem
4 < 5 4 5 6 3 2 1 7 8
The Problem
5 < 2 4 5 6 3 2 1 7 8
The Problem
5 < 2
4 5 6 3 2 1 7 8
The Problem
5 < 2
4 5 6 3 2 1 7 8
The Problem
5 < 2
4 5 6 3 2 1 7 8
The Problem
5 < 2
4 5 6 3 2 1 7 8
The Problem
5 < 2
4 5 6 3 2 1 7 8
The Problem
5 < 2
4 5 6 3 2 1 7 8
Can you sort?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
errors
Can you sort?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
errors
Can you sort?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 11 12 10 13 14 15 16
errors
Can you sort?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 11 12 10 13 14 15 16
errors
Can you sort?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 11 12 10 13 14 15 16
errors
What can be done?
Prior Results
Prior Results O(log n) O(n)
Braverman & Mossel (SODA’08) MAX TOTAL Dislocation
Prior Results O(log n) O(n)
Braverman & Mossel (SODA’08)
Time: MAX TOTAL Dislocation
Prior Results O(log n) O(n)
Braverman & Mossel (SODA’08)
110525 (1/2−p)4
Time: MAX TOTAL Dislocation
Prior Results O(log n) O(n)
Braverman & Mossel (SODA’08)
Klein, Penninger, Sohler, Woodruff (ESA’11)
O(log n)
Time: MAX TOTAL Dislocation
Prior Results O(log n) O(n)
Braverman & Mossel (SODA’08)
Klein, Penninger, Sohler, Woodruff (ESA’11)
O(log n)
Geissmann, Leucci, Liu, Penna (ISAAC’17)
O(n) O(log n)
Time: MAX TOTAL Dislocation
Prior Results O(log n) O(n)
Braverman & Mossel (SODA’08)
Klein, Penninger, Sohler, Woodruff (ESA’11)
O(log n)
Geissmann, Leucci, Liu, Penna (ISAAC’17)
O(n) O(log n)
Time:
Ω(log n) Ω(n)
MAX TOTAL Dislocation
Prior Results O(log n) O(n)
Braverman & Mossel (SODA’08)
Klein, Penninger, Sohler, Woodruff (ESA’11)
O(log n)
Geissmann, Leucci, Liu, Penna (ISAAC’17)
O(n) O(log n)
Time:
Ω(log n) Ω(n)
MAX TOTAL Dislocation
Our Contribution
Our Contribution
Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
Our Contribution
randomized algorithm “derandomized” algorithm Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort
errors well-spread ⇒ success
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort
errors well-spread ⇒ success initial dislocation D ⇒ time O(Dn)
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort x x
D
d
errors well-spread ⇒ success initial dislocation D ⇒ time O(Dn)
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort x x
D
d with high prob d = O(log n)
errors well-spread ⇒ success initial dislocation D ⇒ time O(Dn)
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort x x
D
d
errors well-spread ⇒ success initial dislocation D ⇒ time O(Dn) n
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort x x
D
d
errors well-spread ⇒ success initial dislocation D ⇒ time O(Dn)
New Algo
O(n2)-Time Algorithm
Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort x x
D
d
errors well-spread ⇒ success initial dislocation D ⇒ time O(Dn)
New Algo tricky part
Simple Faster Algo
Window Sort x x d
D
New Algo
Simple Faster Algo
Window Sort x x d x
D
Simple Faster Algo
Window Sort x x d x √n
D
Simple Faster Algo
Window Sort x x d x √n
D
Simple Faster Algo
Window Sort x x d x √n
D
Simple Faster Algo
Window Sort x x d x √n O(n) O(n) O(n)
D
Simple Faster Algo
Window Sort x x d x √n O(n) O(n) O(n)
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x √n
O(n3/2) NOT ENOUGH!
D
Simple Faster Algo
Window Sort x x d x √n
O(n3/2) NOT ENOUGH!
1
D
Simple Faster Algo
Window Sort x x d x √n
O(n3/2) NOT ENOUGH!
1 1
D
Simple Faster Algo
Window Sort x x d x √n
O(n3/2) NOT ENOUGH!
1 1
D
1
Simple Faster Algo
Window Sort x x d x
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x
O(n3/2)
D
STILL NOT ENOUGH
Simple Faster Algo
Window Sort x x d x n 1 2 · · ·
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x n 1 2 · · · 1 2
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x n 1 2 · · · 1 2
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x n 1 2 · · · 1 2 √n
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x n 1 2 · · · 1 2 √n 1
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x n 1 2 · · · 1 2 √n 1 2
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x n 1 2 · · · 1 2 √n 1 2 √n
O(n3/2)
D
Simple Faster Algo
Window Sort x x d x
O(n3/2)
D
random permutation
Simple Faster Algo
Window Sort x x d x
O(n3/2)
D
random permutation = n3/4
Simple Faster Algo
Window Sort x x d x
O(n3/2)
D
random permutation = n3/4 O(n7/4)
That was the simple version...
Window Sort
O(n2)
Window SortO(n2−δ)
Window Sort Window SortWindow Sort
Window Sort
O(n2)
Window SortO(n2−δ)
Window Sort Window SortWindow Sort
Window Sort Window Sort Window Sort Window SortO(n2−δ)
Window Sort
O(n2)
Window SortO(n2−δ)
Window Sort Window SortWindow Sort
Window Sort Window Sort Window Sort Window SortO(n2−δ)
Window Sort
Window Sort
O(n2)
Window SortO(n2−δ)
Window Sort Window SortWindow Sort
Window Sort Window Sort Window Sort Window SortO(n2−δ)
Window Sort
· · · O(n3/2)
Part II: Derandomization
Comparisons ⇒ Randomness
< > p 1 − p > < p 1 − p ? ? XOR · · · ? ⇒ c log n < >
1 2 ± 1 n4 1 2 ± 1 n4
Comparisons One random bit
Naive Approach
? ? ? · · · k
k(n−k) log n
Naive Approach
? ? ? · · · k
k(n−k) log n
SORT
Naive Approach
? ? ? · · · k
k(n−k) log n
SORT REINSERT
Open Questions O(log n) O(n)
O(n2)
O(log n)
O(n2)
O(n) O(log n)
O(n3+C)
Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Open Questions O(log n) O(n)
O(n2)
O(log n)
O(n2)
O(n) O(log n)
O(n3+C)
Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Faster?
O(n log n) comparisons
∼
Open Questions O(log n) O(n)
O(n2)
O(log n)
O(n2)
O(n) O(log n)
O(n3+C)
Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
p < 1/16
Open Questions O(log n) O(n)
O(n2)
O(log n)
O(n2)
O(n) O(log n)
O(n3+C)
Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
p < 1/16
Any p < 1/2?
Open Questions O(log n) O(n)
O(n2)
O(log n)
O(n2)
O(n) O(log n)
O(n3+C)
Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
p < 1/16
Any p < 1/2?
p < 1/2
Open Questions O(log n) O(n)
O(n2)
O(log n)
O(n2)
O(n) O(log n)
O(n3+C)
Time: MAX TOTAL Dislocation
O(n3/2)
O(n) O(log n)
Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Other error models?