Optimal dislocation with persistent errors in subquadratic time - - PowerPoint PPT Presentation

optimal dislocation with persistent errors in
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Optimal dislocation with persistent errors in subquadratic time

Barbara Geissmann, Stefano Leucci, Chih-Hung Liu, Paolo Penna ETH Zurich

slide-2
SLIDE 2

The Problem

Sorting with erroneous comparisons

slide-3
SLIDE 3

The Problem

4 5 6 3 2 1 7 8

Sorting with erroneous comparisons

slide-4
SLIDE 4

The Problem

4 5 6 3 2 1 7 8

Sorting with erroneous comparisons

slide-5
SLIDE 5

The Problem

4 5 6 3 2 1 7 8

slide-6
SLIDE 6

The Problem

4 > 2 4 5 6 3 2 1 7 8

slide-7
SLIDE 7

The Problem

4 < 5 4 5 6 3 2 1 7 8

slide-8
SLIDE 8

The Problem

5 < 2 4 5 6 3 2 1 7 8

slide-9
SLIDE 9

The Problem

5 < 2

  • error probability p constant

4 5 6 3 2 1 7 8

slide-10
SLIDE 10

The Problem

5 < 2

  • error probability p constant

4 5 6 3 2 1 7 8

  • independent for each pair
slide-11
SLIDE 11

The Problem

5 < 2

  • error probability p constant

4 5 6 3 2 1 7 8

  • independent for each pair
  • persistent errors
slide-12
SLIDE 12

The Problem

5 < 2

  • error probability p constant

5%

4 5 6 3 2 1 7 8

  • independent for each pair
  • persistent errors
slide-13
SLIDE 13

The Problem

5 < 2

  • error probability p constant

Repeating does not help

4 5 6 3 2 1 7 8

  • independent for each pair
  • persistent errors
slide-14
SLIDE 14

The Problem

5 < 2

Repeating does not help

4 5 6 3 2 1 7 8

slide-15
SLIDE 15

Can you sort?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Algorithm

errors

slide-16
SLIDE 16

Can you sort?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Algorithm

errors

slide-17
SLIDE 17

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

Algorithm

Approx Sorted

errors

slide-18
SLIDE 18

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

Algorithm

Approx Sorted

errors

slide-19
SLIDE 19

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

Algorithm

Dislocation

errors

slide-20
SLIDE 20

What can be done?

slide-21
SLIDE 21

Prior Results

slide-22
SLIDE 22

Prior Results O(log n) O(n)

Braverman & Mossel (SODA’08) MAX TOTAL Dislocation

slide-23
SLIDE 23

Prior Results O(log n) O(n)

Braverman & Mossel (SODA’08)

O(n3+C)

Time: MAX TOTAL Dislocation

slide-24
SLIDE 24

Prior Results O(log n) O(n)

Braverman & Mossel (SODA’08)

110525 (1/2−p)4

O(n3+C)

Time: MAX TOTAL Dislocation

slide-25
SLIDE 25

Prior Results O(log n) O(n)

Braverman & Mossel (SODA’08)

O(n2)

Klein, Penninger, Sohler, Woodruff (ESA’11)

O(log n)

O(n3+C)

Time: MAX TOTAL Dislocation

slide-26
SLIDE 26

Prior Results O(log n) O(n)

Braverman & Mossel (SODA’08)

O(n2)

Klein, Penninger, Sohler, Woodruff (ESA’11)

O(log n)

O(n2)

Geissmann, Leucci, Liu, Penna (ISAAC’17)

O(n) O(log n)

O(n3+C)

Time: MAX TOTAL Dislocation

slide-27
SLIDE 27

Prior Results O(log n) O(n)

Braverman & Mossel (SODA’08)

O(n2)

Klein, Penninger, Sohler, Woodruff (ESA’11)

O(log n)

O(n2)

Geissmann, Leucci, Liu, Penna (ISAAC’17)

O(n) O(log n)

O(n3+C)

Time:

Ω(log n) Ω(n)

MAX TOTAL Dislocation

slide-28
SLIDE 28

Prior Results O(log n) O(n)

Braverman & Mossel (SODA’08)

O(n2)

Klein, Penninger, Sohler, Woodruff (ESA’11)

O(log n)

O(n2)

Geissmann, Leucci, Liu, Penna (ISAAC’17)

O(n) O(log n)

O(n3+C)

Time:

Ω(log n) Ω(n)

Subquadratic time?

MAX TOTAL Dislocation

slide-29
SLIDE 29

Our Contribution

YES

slide-30
SLIDE 30

Our Contribution

YES

Time: MAX TOTAL Dislocation

O(n3/2)

O(n) O(log n)

slide-31
SLIDE 31

Our Contribution

YES

randomized algorithm “derandomized” algorithm Time: MAX TOTAL Dislocation

O(n3/2)

O(n) O(log n)

slide-32
SLIDE 32

O(n2)-Time Algorithm

Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort

slide-33
SLIDE 33

O(n2)-Time Algorithm

Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort

errors well-spread ⇒ success

slide-34
SLIDE 34

O(n2)-Time Algorithm

Geissmann, Leucci, Liu, Penna (ISAAC’17) Window Sort

errors well-spread ⇒ success initial dislocation D ⇒ time O(Dn)

slide-35
SLIDE 35

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)

slide-36
SLIDE 36

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)

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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

slide-40
SLIDE 40

Simple Faster Algo

Window Sort x x d

D

New Algo

slide-41
SLIDE 41

Simple Faster Algo

Window Sort x x d x

D

slide-42
SLIDE 42

Simple Faster Algo

Window Sort x x d x √n

D

slide-43
SLIDE 43

Simple Faster Algo

Window Sort x x d x √n

D

slide-44
SLIDE 44

Simple Faster Algo

Window Sort x x d x √n

D

slide-45
SLIDE 45

Simple Faster Algo

Window Sort x x d x √n O(n) O(n) O(n)

D

slide-46
SLIDE 46

Simple Faster Algo

Window Sort x x d x √n O(n) O(n) O(n)

O(n3/2)

D

slide-47
SLIDE 47

Simple Faster Algo

Window Sort x x d x √n

O(n3/2) NOT ENOUGH!

D

slide-48
SLIDE 48

Simple Faster Algo

Window Sort x x d x √n

O(n3/2) NOT ENOUGH!

1

D

slide-49
SLIDE 49

Simple Faster Algo

Window Sort x x d x √n

O(n3/2) NOT ENOUGH!

1 1

D

slide-50
SLIDE 50

Simple Faster Algo

Window Sort x x d x √n

O(n3/2) NOT ENOUGH!

1 1

D

1

slide-51
SLIDE 51

Simple Faster Algo

Window Sort x x d x

O(n3/2)

D

slide-52
SLIDE 52

Simple Faster Algo

Window Sort x x d x

O(n3/2)

D

slide-53
SLIDE 53

Simple Faster Algo

Window Sort x x d x

O(n3/2)

D

slide-54
SLIDE 54

Simple Faster Algo

Window Sort x x d x

O(n3/2)

D

STILL NOT ENOUGH

slide-55
SLIDE 55

Simple Faster Algo

Window Sort x x d x n 1 2 · · ·

O(n3/2)

D

slide-56
SLIDE 56

Simple Faster Algo

Window Sort x x d x n 1 2 · · · 1 2

O(n3/2)

D

slide-57
SLIDE 57

Simple Faster Algo

Window Sort x x d x n 1 2 · · · 1 2

O(n3/2)

D

slide-58
SLIDE 58

Simple Faster Algo

Window Sort x x d x n 1 2 · · · 1 2 √n

O(n3/2)

D

slide-59
SLIDE 59

Simple Faster Algo

Window Sort x x d x n 1 2 · · · 1 2 √n 1

O(n3/2)

D

slide-60
SLIDE 60

Simple Faster Algo

Window Sort x x d x n 1 2 · · · 1 2 √n 1 2

O(n3/2)

D

slide-61
SLIDE 61

Simple Faster Algo

Window Sort x x d x n 1 2 · · · 1 2 √n 1 2 √n

O(n3/2)

D

slide-62
SLIDE 62

Simple Faster Algo

Window Sort x x d x

O(n3/2)

D

random permutation

slide-63
SLIDE 63

Simple Faster Algo

Window Sort x x d x

O(n3/2)

D

random permutation = n3/4

slide-64
SLIDE 64

Simple Faster Algo

Window Sort x x d x

O(n3/2)

D

random permutation = n3/4 O(n7/4)

slide-65
SLIDE 65

That was the simple version...

slide-66
SLIDE 66

Window Sort

O(n2)

Window Sort

O(n2−δ)

Window Sort Window Sort

Window Sort

slide-67
SLIDE 67

Window Sort

O(n2)

Window Sort

O(n2−δ)

Window Sort Window Sort

Window Sort

Window Sort Window Sort Window Sort Window Sort

O(n2−δ)

slide-68
SLIDE 68

Window Sort

O(n2)

Window Sort

O(n2−δ)

Window Sort Window Sort

Window Sort

Window Sort Window Sort Window Sort Window Sort

O(n2−δ)

Window Sort

slide-69
SLIDE 69

Window Sort

O(n2)

Window Sort

O(n2−δ)

Window Sort Window Sort

Window Sort

Window Sort Window Sort Window Sort Window Sort

O(n2−δ)

Window Sort

· · · O(n3/2)

slide-70
SLIDE 70

Part II: Derandomization

slide-71
SLIDE 71

Comparisons ⇒ Randomness

< > p 1 − p > < p 1 − p ? ? XOR · · · ? ⇒ c log n < >

1 2 ± 1 n4 1 2 ± 1 n4

Comparisons One random bit

slide-72
SLIDE 72

Naive Approach

? ? ? · · · k

k(n−k) log n

slide-73
SLIDE 73

Naive Approach

? ? ? · · · k

k(n−k) log n

SORT

slide-74
SLIDE 74

Naive Approach

? ? ? · · · k

k(n−k) log n

SORT REINSERT

slide-75
SLIDE 75

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)

slide-76
SLIDE 76

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

slide-77
SLIDE 77

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

slide-78
SLIDE 78

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?

slide-79
SLIDE 79

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

slide-80
SLIDE 80

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?

slide-81
SLIDE 81

Tahnk You