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 5 7 8 1 2 6
The Problem Sorting with erroneous comparisons 1 2 3 4 5 6 7 8
The Problem 3 4 5 7 8 1 2 6
The Problem 4 > 2 3 4 5 7 8 1 2 6
The Problem 4 < 5 3 4 5 7 8 1 2 6
The Problem 5 < 2 3 4 5 7 8 1 2 6
The Problem 5 < 2 3 4 5 7 8 1 2 6 • error probability p constant
The Problem 5 < 2 3 4 5 7 8 1 2 6 • error probability p constant • independent for each pair
The Problem 5 < 2 3 4 5 7 8 1 2 6 • error probability p constant • independent for each pair • persistent errors
The Problem 5 < 2 3 4 5 7 8 1 2 6 • error probability p constant 5% • independent for each pair • persistent errors
The Problem Repeating does not help 5 < 2 3 4 5 7 8 1 2 6 • error probability p constant • independent for each pair • persistent errors
The Problem Repeating does not help 5 < 2 3 4 5 7 8 1 2 6
Can you sort? Algorithm errors 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Can you sort? Algorithm errors 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Can you sort? Algorithm errors 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 Approx Sorted
Can you sort? Algorithm errors 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 Approx Sorted
Can you sort? Algorithm errors 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 Dislocation
What can be done?
Prior Results
Prior Results Dislocation TOTAL MAX O (log n ) O ( n ) Braverman & Mossel (SODA’08)
Prior Results Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) Braverman & Mossel (SODA’08)
Prior Results Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) 110525 (1 / 2 − p ) 4 Braverman & Mossel (SODA’08)
Prior Results Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) O ( n 2 ) O (log n ) Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11)
Prior Results Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) O ( n 2 ) O (log n ) O ( n 2 ) O (log n ) O ( n ) Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Prior Results Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) O ( n 2 ) O (log n ) O ( n 2 ) O (log n ) O ( n ) Ω (log n ) Ω ( n ) Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Prior Results Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) O ( n 2 ) O (log n ) O ( n 2 ) O (log n ) O ( n ) Ω (log n ) Ω ( n ) Subquadratic time? Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Our Contribution YES
Our Contribution YES Dislocation TOTAL MAX Time: O ( n 3 / 2 ) O (log n ) O ( n )
Our Contribution YES Dislocation TOTAL MAX Time: O ( n 3 / 2 ) O (log n ) O ( n ) randomized algorithm “derandomized” algorithm
O ( n 2 )-Time Algorithm Window Sort Geissmann, Leucci, Liu, Penna (ISAAC’17)
O ( n 2 )-Time Algorithm Window Sort errors well-spread ⇒ success Geissmann, Leucci, Liu, Penna (ISAAC’17)
O ( n 2 )-Time Algorithm Window Sort errors well-spread ⇒ success initial dislocation D ⇒ time O ( Dn ) Geissmann, Leucci, Liu, Penna (ISAAC’17)
O ( n 2 )-Time Algorithm D x Window Sort x d errors well-spread ⇒ success initial dislocation D ⇒ time O ( Dn ) Geissmann, Leucci, Liu, Penna (ISAAC’17)
O ( n 2 )-Time Algorithm D x Window Sort x d with high prob d = O (log n ) errors well-spread ⇒ success initial dislocation D ⇒ time O ( Dn ) Geissmann, Leucci, Liu, Penna (ISAAC’17)
O ( n 2 )-Time Algorithm D x Window Sort n x d errors well-spread ⇒ success initial dislocation D ⇒ time O ( Dn ) Geissmann, Leucci, Liu, Penna (ISAAC’17)
O ( n 2 )-Time Algorithm New Algo D x Window Sort x d errors well-spread ⇒ success initial dislocation D ⇒ time O ( Dn ) Geissmann, Leucci, Liu, Penna (ISAAC’17)
O ( n 2 )-Time Algorithm New Algo D x tricky part Window Sort x d errors well-spread ⇒ success initial dislocation D ⇒ time O ( Dn ) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Simple Faster Algo New Algo D x Window Sort x d
Simple Faster Algo x D x Window Sort x d
Simple Faster Algo x √ n D x Window Sort x d
Simple Faster Algo x √ n D x Window Sort x d
Simple Faster Algo x √ n D x Window Sort x d
Simple Faster Algo x √ n O ( n ) O ( n ) O ( n ) D x Window Sort x d
Simple Faster Algo x √ n O ( n 3 / 2 ) O ( n ) O ( n ) O ( n ) D x Window Sort x d
Simple Faster Algo x √ n O ( n 3 / 2 ) NOT ENOUGH! D x Window Sort x d
Simple Faster Algo x 1 √ n O ( n 3 / 2 ) NOT ENOUGH! D x Window Sort x d
Simple Faster Algo x 1 √ n O ( n 3 / 2 ) 1 NOT ENOUGH! D x Window Sort x d
Simple Faster Algo x 1 √ n O ( n 3 / 2 ) 1 NOT ENOUGH! D x 1 Window Sort x d
Simple Faster Algo x O ( n 3 / 2 ) D x Window Sort x d
Simple Faster Algo x O ( n 3 / 2 ) D x Window Sort x d
Simple Faster Algo x O ( n 3 / 2 ) D x Window Sort x d
Simple Faster Algo x O ( n 3 / 2 ) STILL NOT ENOUGH D x Window Sort x d
Simple Faster Algo x 1 2 · · · n O ( n 3 / 2 ) D x Window Sort x d
Simple Faster Algo x 1 2 · · · n O ( n 3 / 2 ) 1 2 D x Window Sort x d
Simple Faster Algo x 1 2 · · · n O ( n 3 / 2 ) 1 2 D x Window Sort x d
Simple Faster Algo x 1 2 · · · n O ( n 3 / 2 ) √ n 1 2 D x Window Sort x d
Simple Faster Algo x 1 2 · · · n O ( n 3 / 2 ) √ n 1 2 1 D x Window Sort x d
Simple Faster Algo x 1 2 · · · n O ( n 3 / 2 ) √ n 1 2 1 2 D x Window Sort x d
Simple Faster Algo x 1 2 · · · n O ( n 3 / 2 ) √ n 1 2 √ n 1 2 D x Window Sort x d
Simple Faster Algo random permutation x O ( n 3 / 2 ) D x Window Sort x d
Simple Faster Algo random permutation x O ( n 3 / 2 ) = n 3 / 4 D x Window Sort x d
Simple Faster Algo random permutation x O ( n 3 / 2 ) = n 3 / 4 D x O ( n 7 / 4 ) Window Sort x d
That was the simple version...
Window Sort Window Sort Window Sort Window Sort Window Sort O ( n 2 ) O ( n 2 − δ )
Window Sort Window Sort Window Sort Window Sort Window Sort O ( n 2 ) O ( n 2 − δ ) Window Sort Window Sort Window Sort Window Sort O ( n 2 − δ )
Window Sort Window Sort Window Sort Window Sort Window Sort O ( n 2 ) O ( n 2 − δ ) Window Sort Window Sort Window Sort Window Sort O ( n 2 − δ ) Window Sort
Window Sort Window Sort Window Sort Window Sort Window Sort O ( n 2 ) O ( n 2 − δ ) Window Sort Window Sort Window Sort Window Sort O ( n 2 − δ ) Window Sort · · · O ( n 3 / 2 )
Part II: Derandomization
Comparisons ⇒ Randomness < > > < p p 1 − p 1 − p ⇒ < > · · · ? ? ? XOR 1 2 ± 1 1 2 ± 1 n 4 n 4 c log n Comparisons One random bit
Naive Approach · · · k ? ? ? k ( n − k ) log n
Naive Approach · · · k ? ? ? SORT k ( n − k ) log n
Naive Approach · · · k ? ? ? SORT k ( n − k ) log n REINSERT
Open Questions Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) O ( n 2 ) O (log n ) O ( n 2 ) O (log n ) O ( n ) O ( n 3 / 2 ) O (log n ) O ( n ) Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Open Questions Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) O ( n 2 ) O (log n ) O ( n 2 ) O (log n ) O ( n ) ∼ O ( n 3 / 2 ) O (log n ) O ( n ) Faster? O ( n log n ) comparisons Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Open Questions Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) p < 1 / 16 O ( n 2 ) O (log n ) O ( n 2 ) O (log n ) O ( n ) O ( n 3 / 2 ) O (log n ) O ( n ) Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Open Questions Dislocation TOTAL MAX Time: O ( n 3+ C ) O (log n ) O ( n ) p < 1 / 16 O ( n 2 ) O (log n ) O ( n 2 ) O (log n ) O ( n ) O ( n 3 / 2 ) O (log n ) O ( n ) Any p < 1 / 2? Braverman & Mossel (SODA’08) Klein, Penninger, Sohler, Woodruff (ESA’11) Geissmann, Leucci, Liu, Penna (ISAAC’17)
Recommend
More recommend