Lower Bounds for Quantile Estimation in Random-Order and Multi-Pass - - PowerPoint PPT Presentation

lower bounds for quantile estimation in random order and
SMART_READER_LITE
LIVE PREVIEW

Lower Bounds for Quantile Estimation in Random-Order and Multi-Pass - - PowerPoint PPT Presentation

Lower Bounds for Quantile Estimation in Random-Order and Multi-Pass Streams Sudipto Guha (UPenn) Andrew McGregor (UCSD) Data Stream Model Data Stream Model Stream: m elements from a universe of size n :


slide-1
SLIDE 1

Lower Bounds for Quantile Estimation in Random-Order and Multi-Pass Streams

Sudipto Guha (UPenn) Andrew McGregor (UCSD)

slide-2
SLIDE 2

Data Stream Model

slide-3
SLIDE 3

Data Stream Model

  • Stream: m elements from a universe of size n:

3,5,3,7,5,4,8,5,3,7,5,4,8,6,3,2,6,4,7,3,4, ... e.g., IP packets, search engine queries, data read from external memory, device, sensor readings...

slide-4
SLIDE 4

Data Stream Model

  • Stream: m elements from a universe of size n:

3,5,3,7,5,4,8,5,3,7,5,4,8,6,3,2,6,4,7,3,4, ... e.g., IP packets, search engine queries, data read from external memory, device, sensor readings...

  • Data-Stream Model:

No control over the ordering of elements Limited working memory S Limited time to process each element

[Morris ’78] [Munro, Paterson ’78] [Flajolet, Martin ’85] [Alon, Matias, Szegedy ’96] [Henzinger, Raghavan, Rajagopalan ’98] [Feigenbaum, Kannan, Strauss, Viswanathan ’99]

slide-5
SLIDE 5

Data Stream Model

  • Stream: m elements from a universe of size n:

3,5,3,7,5,4,8,5,3,7,5,4,8,6,3,2,6,4,7,3,4, ... e.g., IP packets, search engine queries, data read from external memory, device, sensor readings...

  • Data-Stream Model:

No control over the ordering of elements Limited working memory S Limited time to process each element

[Morris ’78] [Munro, Paterson ’78] [Flajolet, Martin ’85] [Alon, Matias, Szegedy ’96] [Henzinger, Raghavan, Rajagopalan ’98] [Feigenbaum, Kannan, Strauss, Viswanathan ’99]

  • Previous work: quantiles, frequency moments,

histograms, clustering, entropy, graph problems...

slide-6
SLIDE 6

Stream Order?

slide-7
SLIDE 7

Stream Order?

  • Almost all prior research considers adversarial-
  • rder model (AOM).
slide-8
SLIDE 8

Stream Order?

  • Almost all prior research considers adversarial-
  • rder model (AOM).
  • What about the random-order model (ROM)?

Form of average case analysis Stream of independent samples Uncorrelated fields in a database...

slide-9
SLIDE 9

Stream Order?

  • Almost all prior research considers adversarial-
  • rder model (AOM).
  • What about the random-order model (ROM)?

Form of average case analysis Stream of independent samples Uncorrelated fields in a database...

  • Previous Work:

Frequent elements

[Demaine, Lopez-Ortiz, Munro ’02]

Entropy & Distances

[Guha, McGregor, Venkatasubramanian ’06]

Histograms

[Guha, McGregor ’07]

Quantiles...

[Munro, Paterson ’78], [Guha, McGregor ’06]

slide-10
SLIDE 10

Quantile Estimation

slide-11
SLIDE 11

Quantile Estimation

  • Given a set of m elements, a t-approx median is any

element of rank = m/2±t

slide-12
SLIDE 12

Quantile Estimation

  • Given a set of m elements, a t-approx median is any

element of rank = m/2±t

  • Previous Work:

AOM: εm-approx in O(ε-1 lg εm) space

[Greenwald, Khanna ’01], [Shrivastava, Buragohain, Agrawal, Suri ‘04] [Cormode, Korn, Muthukrishnan, Srivastava ’06]

slide-13
SLIDE 13

Quantile Estimation

  • Given a set of m elements, a t-approx median is any

element of rank = m/2±t

  • Previous Work:

AOM: εm-approx in O(ε-1 lg εm) space

[Greenwald, Khanna ’01], [Shrivastava, Buragohain, Agrawal, Suri ‘04] [Cormode, Korn, Muthukrishnan, Srivastava ’06]

ROM: 1-pass exact selection in O(m1/2) space

[Munro, Paterson ’78]

ROM: 1-pass m1/2+ε-approx in O(21/ε polylog m) space ROM: O(lg lg m)-pass selection in O(polylog m) space

[Guha, McGregor ’06]

slide-14
SLIDE 14

Quantile Estimation

  • Given a set of m elements, a t-approx median is any

element of rank = m/2±t

  • Previous Work:

AOM: εm-approx in O(ε-1 lg εm) space

[Greenwald, Khanna ’01], [Shrivastava, Buragohain, Agrawal, Suri ‘04] [Cormode, Korn, Muthukrishnan, Srivastava ’06]

ROM: 1-pass exact selection in O(m1/2) space

[Munro, Paterson ’78]

ROM: 1-pass m1/2+ε-approx in O(21/ε polylog m) space ROM: O(lg lg m)-pass selection in O(polylog m) space

[Guha, McGregor ’06]

  • Main Questions:

Are these ROM results possible in the AOM model? Can these ROM results be improved?

slide-15
SLIDE 15

Results

  • Thm: For a stream in random order:

a) 1-pass, O(polylg m)-space, Õ(m1/2)-approx b) O(lg lg m)-pass, O(polylg m)-space exact selection

  • Thm: For a stream in adversarial order:

a) 1-pass, Õ(m1/2)-approx requires Ω(m1/2) space b) O(polylg m)-space exact requires Ω(lg m) passes

  • Bonus Thm: For a stream in random order, a single pass,

t-approx requires Ω(m1/2 t -3/2) space.

slide-16
SLIDE 16

1: Algorithm (Random) 2: Lower-Bound (Random) 3: Lower-Bound (Advesarial)

slide-17
SLIDE 17

1: Algorithm (Random) 2: Lower-Bound (Random) 3: Lower-Bound (Advesarial)

slide-18
SLIDE 18

Algorithm

slide-19
SLIDE 19

Value Stream Position

Algorithm

slide-20
SLIDE 20

Value Stream Position

1) Maintain bounds [a,b] for median and c in [a,b]

Algorithm

slide-21
SLIDE 21

Value Stream Position

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep

Algorithm

slide-22
SLIDE 22

Value Stream Position

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b]

Algorithm

slide-23
SLIDE 23

Value Stream Position

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei

Algorithm

slide-24
SLIDE 24

Value Stream Position

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

Algorithm

slide-25
SLIDE 25

Value Stream Position

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-26
SLIDE 26

Value

b a

Stream Position

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-27
SLIDE 27

Value

b a

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-28
SLIDE 28

Value

b a

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-29
SLIDE 29

Value

b a

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-30
SLIDE 30

Value

b a

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-31
SLIDE 31

Value

b a

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-32
SLIDE 32

Value

a b

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-33
SLIDE 33

Value

a b

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-34
SLIDE 34

Value

a b

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-35
SLIDE 35

Value

b a

Stream Position

c

1) Maintain bounds [a,b] for median and c in [a,b] 2) Split stream in segments: S1, E1, S2, E2, ... , Sp, Ep 3) For i ∈[p]:

Sample c ∈ Si ∩[a,b] Estimate rank(c) from Ei Update [a,b]

S1 E1 S2 E2 S3 E3

Algorithm

slide-36
SLIDE 36

Analysis

slide-37
SLIDE 37

Analysis

  • Let t = O(m1/2 lg2 m)
slide-38
SLIDE 38

Analysis

  • Let t = O(m1/2 lg2 m)
  • Lemma: For |Ei| = Ω(m/lg m), error of estimate of

rank(c) is ±t w.h.p.

slide-39
SLIDE 39

Analysis

  • Let t = O(m1/2 lg2 m)
  • Lemma: For |Ei| = Ω(m/lg m), error of estimate of

rank(c) is ±t w.h.p.

  • Lemma: For |Si|=Ω(t), if rank(b)-rank(a)=Ω(t),

then there exists c in Si ∩ [a,b] w.h.p.

slide-40
SLIDE 40

Analysis

  • Let t = O(m1/2 lg2 m)
  • Lemma: For |Ei| = Ω(m/lg m), error of estimate of

rank(c) is ±t w.h.p.

  • Lemma: For |Si|=Ω(t), if rank(b)-rank(a)=Ω(t),

then there exists c in Si ∩ [a,b] w.h.p.

  • Lemma: Expect rank(b)-rank(a) to half per-phase,

hence p = O(lg m) w.h.p.

slide-41
SLIDE 41

Analysis

  • Let t = O(m1/2 lg2 m)
  • Lemma: For |Ei| = Ω(m/lg m), error of estimate of

rank(c) is ±t w.h.p.

  • Lemma: For |Si|=Ω(t), if rank(b)-rank(a)=Ω(t),

then there exists c in Si ∩ [a,b] w.h.p.

  • Lemma: Expect rank(b)-rank(a) to half per-phase,

hence p = O(lg m) w.h.p.

  • Thm: If stream order is random, we return an

element with rank m/2±t using O(log m) space.

slide-42
SLIDE 42

1: Algorithm (Random) 2: Lower-Bound (Random) 3: Lower-Bound (Advesarial)

slide-43
SLIDE 43

Alice

length m binary string x

Bob

index i in range [m]

slide-44
SLIDE 44

INDEX: “What’s the value of xi?”

Requires Ω(n) bits transmitted.

Alice

length m binary string x

Bob

index i in range [m]

slide-45
SLIDE 45

INDEX: “What’s the value of xi?”

Requires Ω(n) bits transmitted.

Alice

length m binary string x

Bob

index i in range [m]

  • Assume a single-pass (AOM) algorithm for

median with prob. at least 3/4 using S space.

slide-46
SLIDE 46

INDEX: “What’s the value of xi?”

Requires Ω(n) bits transmitted.

Alice

length m binary string x

Bob

index i in range [m]

  • Assume a single-pass (AOM) algorithm for

median with prob. at least 3/4 using S space.

... 2i+xi ... 2m+xm 2+x1

slide-47
SLIDE 47

INDEX: “What’s the value of xi?”

Requires Ω(n) bits transmitted.

Alice

length m binary string x

Bob

index i in range [m]

  • Assume a single-pass (AOM) algorithm for

median with prob. at least 3/4 using S space.

... 2i+xi ... 2m+xm 2+x1 0 ... 2m+2 ... 2m+2

m-j j-1

slide-48
SLIDE 48

INDEX: “What’s the value of xi?”

Requires Ω(n) bits transmitted.

Alice

length m binary string x

Bob

index i in range [m]

  • Assume a single-pass (AOM) algorithm for

median with prob. at least 3/4 using S space.

MEMORY STATE OF ALGORITHM

... 2i+xi ... 2m+xm 2+x1 0 ... 2m+2 ... 2m+2

m-j j-1

slide-49
SLIDE 49

INDEX: “What’s the value of xi?”

Requires Ω(n) bits transmitted.

Alice

length m binary string x

Bob

index i in range [m]

  • Assume a single-pass (AOM) algorithm for

median with prob. at least 3/4 using S space.

  • Thm: S=Ω(m)

[Henzinger, Raghavan, Rajagopalan ’99]

MEMORY STATE OF ALGORITHM

... 2i+xi ... 2m+xm 2+x1 0 ... 2m+2 ... 2m+2

m-j j-1

slide-50
SLIDE 50

Alice

length m1 binary string x

Bob

index i in range [m1]

m2 m-m2

slide-51
SLIDE 51

Alice

length m1 binary string x

Bob

index i in range [m1]

m2 m-m2

Alice: picks b randomly from [m1] and inserts a random permutation of,

{ 0, ... , 0

  • (m−m1−m2−b)/2

, 2 + x1, ... , 2m1 + xm1, 2m + 2, ... , 2m + 2

  • (m−m1−m2+b)/2

}

slide-52
SLIDE 52

Alice

length m1 binary string x

Bob

index i in range [m1]

MEMORY STATE OF ALGORITHM and “b”

m2 m-m2

Alice: picks b randomly from [m1] and inserts a random permutation of,

{ 0, ... , 0

  • (m−m1−m2−b)/2

, 2 + x1, ... , 2m1 + xm1, 2m + 2, ... , 2m + 2

  • (m−m1−m2+b)/2

}

slide-53
SLIDE 53

Alice

length m1 binary string x

Bob

index i in range [m1]

MEMORY STATE OF ALGORITHM and “b”

m2 m-m2

Bob: inserts a random permutation of,

{0, ... , 0

  • (m2+b−j−1)/2

, 2m + 2, ... , 2m + 2

  • (m2−b+j)/2

}

Alice: picks b randomly from [m1] and inserts a random permutation of,

{ 0, ... , 0

  • (m−m1−m2−b)/2

, 2 + x1, ... , 2m1 + xm1, 2m + 2, ... , 2m + 2

  • (m−m1−m2+b)/2

}

slide-54
SLIDE 54

Alice

length m1 binary string x

Bob

index i in range [m1]

  • If m1=o(√m2) and m1m2=o(m) then
  • rdering is “close” to random in L1 sense.

MEMORY STATE OF ALGORITHM and “b”

m2 m-m2

Bob: inserts a random permutation of,

{0, ... , 0

  • (m2+b−j−1)/2

, 2m + 2, ... , 2m + 2

  • (m2−b+j)/2

}

Alice: picks b randomly from [m1] and inserts a random permutation of,

{ 0, ... , 0

  • (m−m1−m2−b)/2

, 2 + x1, ... , 2m1 + xm1, 2m + 2, ... , 2m + 2

  • (m−m1−m2+b)/2

}

slide-55
SLIDE 55

Alice

length m1 binary string x

Bob

index i in range [m1]

  • If m1=o(√m2) and m1m2=o(m) then
  • rdering is “close” to random in L1 sense.
  • An algorithm succeeding w/p 3/4 for

random-ordering, succeeds w/p 2/3.

MEMORY STATE OF ALGORITHM and “b”

m2 m-m2

Bob: inserts a random permutation of,

{0, ... , 0

  • (m2+b−j−1)/2

, 2m + 2, ... , 2m + 2

  • (m2−b+j)/2

}

Alice: picks b randomly from [m1] and inserts a random permutation of,

{ 0, ... , 0

  • (m−m1−m2−b)/2

, 2 + x1, ... , 2m1 + xm1, 2m + 2, ... , 2m + 2

  • (m−m1−m2+b)/2

}

slide-56
SLIDE 56

Alice

length m1 binary string x

Bob

index i in range [m1]

  • If m1=o(√m2) and m1m2=o(m) then
  • rdering is “close” to random in L1 sense.
  • An algorithm succeeding w/p 3/4 for

random-ordering, succeeds w/p 2/3.

  • Thm: S=Ω(m1/3)

MEMORY STATE OF ALGORITHM and “b”

m2 m-m2

Bob: inserts a random permutation of,

{0, ... , 0

  • (m2+b−j−1)/2

, 2m + 2, ... , 2m + 2

  • (m2−b+j)/2

}

Alice: picks b randomly from [m1] and inserts a random permutation of,

{ 0, ... , 0

  • (m−m1−m2−b)/2

, 2 + x1, ... , 2m1 + xm1, 2m + 2, ... , 2m + 2

  • (m−m1−m2+b)/2

}

slide-57
SLIDE 57

Alice

length m1 binary string x

Bob

index i in range [m1]

  • If m1=o(√m2) and m1m2=o(m) then
  • rdering is “close” to random in L1 sense.
  • An algorithm succeeding w/p 3/4 for

random-ordering, succeeds w/p 2/3.

  • Thm: S=Ω(m1/3)

MEMORY STATE OF ALGORITHM and “b”

  • Thm: S=Ω(m1/2)

m2 m-m2

Bob: inserts a random permutation of,

{0, ... , 0

  • (m2+b−j−1)/2

, 2m + 2, ... , 2m + 2

  • (m2−b+j)/2

}

Alice: picks b randomly from [m1] and inserts a random permutation of,

{ 0, ... , 0

  • (m−m1−m2−b)/2

, 2 + x1, ... , 2m1 + xm1, 2m + 2, ... , 2m + 2

  • (m−m1−m2+b)/2

}

slide-58
SLIDE 58

1: Algorithm (Random) 2: Lower-Bound (Random) 3: Lower-Bound (Advesarial)

slide-59
SLIDE 59

Alice

function fA: [t]→[t]

Bob

function fB: [t]→[t]

Pointer Chasing

slide-60
SLIDE 60

Compute fA(fB( ... (fA(fB(fA(1)))) ... ))

Alice

function fA: [t]→[t]

Bob

function fB: [t]→[t] k

Pointer Chasing

slide-61
SLIDE 61

Compute fA(fB( ... (fA(fB(fA(1)))) ... ))

Alice

function fA: [t]→[t]

Bob

function fB: [t]→[t] k

If Bob speaks first: k messages: O(k log t) bits. k-1 messages: Ω(t) bits.

[Nisan, Wigderson ’93]

Pointer Chasing

slide-62
SLIDE 62

Zebedee

function fZ: [t]→[t]

Bob

function fB: [t]→[t]

Claude

function fC: [t]→[t]

...

Compute fZ( ... fC(fB(fA(1))) ... )

Order of speaking “Z, ..., C, B, A” k rounds: O(k log t) bits. k-1 rounds: Ω(t) bits.

Alice

function fA: [t]→[t]

Multi-Party Pointer Chasing

slide-63
SLIDE 63

Proof Sketch (k=3)

slide-64
SLIDE 64

Proof Sketch (k=3)

slide-65
SLIDE 65

Bits communicated

Proof Sketch (k=3)

slide-66
SLIDE 66

Bits communicated

Proof Sketch (k=3)

slide-67
SLIDE 67

Bits communicated

  • Consider deterministic protocols and random fA, fB, fC

Proof Sketch (k=3)

slide-68
SLIDE 68

Bits communicated

  • Consider deterministic protocols and random fA, fB, fC

Proof Sketch (k=3)

slide-69
SLIDE 69

Bits communicated

  • Consider deterministic protocols and random fA, fB, fC
  • Each node z defines random variables z(fA), z(fB), z(fC)

z

Proof Sketch (k=3)

slide-70
SLIDE 70

Bits communicated

  • Consider deterministic protocols and random fA, fB, fC
  • Each node z defines random variables z(fA), z(fB), z(fC)
  • Induction: For each z, entropy of variables is high.

z

Proof Sketch (k=3)

slide-71
SLIDE 71

Reduction to Selection

fA: [t]→[t] fB: [t]→[t] fC: [t]→[t]

slide-72
SLIDE 72

Reduction to Selection

fA: [t]→[t] fB: [t]→[t] fC: [t]→[t]

slide-73
SLIDE 73

Reduction to Selection

fA: [t]→[t] fB: [t]→[t] fC: [t]→[t]

Median=fA(1) fB(fA(1) fC(fB(fA(1)))

slide-74
SLIDE 74

1 1 fC(1) 1 2 fC(2) 1 3 fC(3) 2 1 fC(1) 2 2 fC(2) 2 3 fC(3) 3 1 fC(1) 3 2 fC(2) 3 3 fC(3) 1 0 0 x (3-fB(1)) 1 4 0 x (fB(1)-1) 2 0 0 x (3-fB(2)) 2 4 0 x (fB(2)-1) 3 0 0 x (3-fB(3)) 3 4 0 x (fB(3)-1) 0 0 0 x (3-fA(1)) x 5 4 0 0 x (fA(1)-1) x 5

VALUE

Reduction to Selection

slide-75
SLIDE 75

The Result

slide-76
SLIDE 76

The Result

  • Setting t such that length of stream is m and

generalizing to approximation gives...

slide-77
SLIDE 77

The Result

  • Setting t such that length of stream is m and

generalizing to approximation gives...

  • Thm: Finding an mδ-approximate median in p

passes requires Ω(m(1-δ)/p p-6) space.

slide-78
SLIDE 78

Summary

slide-79
SLIDE 79

Summary

  • Thm: For a stream in random order:

a) 1-pass, O(polylog m)-space, Õ(m1/2)-approx b) O(lg lg m)-pass, O(polylog m)-space exact selection

slide-80
SLIDE 80

Summary

  • Thm: For a stream in random order:

a) 1-pass, O(polylog m)-space, Õ(m1/2)-approx b) O(lg lg m)-pass, O(polylog m)-space exact selection

  • Thm: For a stream in adversarial order:

a) 1-pass, Õ(m1/2)-approx requires Ω(m1/2) space b) O(polylog m)-space exact requires Ω(lg m) passes

slide-81
SLIDE 81

Summary

  • Thm: For a stream in random order:

a) 1-pass, O(polylog m)-space, Õ(m1/2)-approx b) O(lg lg m)-pass, O(polylog m)-space exact selection

  • Thm: For a stream in adversarial order:

a) 1-pass, Õ(m1/2)-approx requires Ω(m1/2) space b) O(polylog m)-space exact requires Ω(lg m) passes

  • Bonus Thm: For a stream in random order, a single pass, t-
  • approx. requires Ω(m1/2 t -3/2) space.
slide-82
SLIDE 82

Summary

  • Thm: For a stream in random order:

a) 1-pass, O(polylog m)-space, Õ(m1/2)-approx b) O(lg lg m)-pass, O(polylog m)-space exact selection

  • Thm: For a stream in adversarial order:

a) 1-pass, Õ(m1/2)-approx requires Ω(m1/2) space b) O(polylog m)-space exact requires Ω(lg m) passes

  • Bonus Thm: For a stream in random order, a single pass, t-
  • approx. requires Ω(m1/2 t -3/2) space.
  • Future Work: Multi-pass ROM, trade-offs, the brave new

world of random-order streaming...