Adaptivity helps for testing juntas Rocco Servedio, Li-Yang Tan, - - PowerPoint PPT Presentation

adaptivity helps for testing juntas
SMART_READER_LITE
LIVE PREVIEW

Adaptivity helps for testing juntas Rocco Servedio, Li-Yang Tan, - - PowerPoint PPT Presentation

Adaptivity helps for testing juntas Rocco Servedio, Li-Yang Tan, John Wright Columbia TTIC CMU Adaptivity helps for testing juntas Rocco Servedio, Li-Yang Tan, John Wright Columbia TTIC CMU (work done while I was visiting Columbia)


slide-1
SLIDE 1

Adaptivity helps for testing juntas

Rocco Servedio, Li-Yang Tan, John Wright

Columbia CMU TTIC

slide-2
SLIDE 2

Adaptivity helps for testing juntas

Rocco Servedio, Li-Yang Tan, John Wright

Columbia CMU TTIC

(work done while I was visiting Columbia)

slide-3
SLIDE 3

Juntas

f : {0,1}n → {0,1}

slide-4
SLIDE 4

Juntas

f : → {0,1}

1 1 1 1 1 1

slide-5
SLIDE 5

Juntas

f : → {0,1} k-junta: f only depends on k bits

1 1 1 1 1 1

slide-6
SLIDE 6

Juntas

f : → {0,1} k-junta: f only depends on k bits

1 1 1 1 1 1

slide-7
SLIDE 7

Juntas

f : → {0,1} k-junta: f only depends on k bits

1 1 1 1 1 1 (a 3-junta)

slide-8
SLIDE 8

Juntas

f : → {0,1} k-junta: f only depends on k bits (k = 1: f is a dictator)

1 1 1 1 1 1 (a 3-junta)

slide-9
SLIDE 9

Juntas

f : → {0,1} k-junta: f only depends on k bits (k = 1: f is a dictator)

Key question: how to tell if f is a k-junta?

1 1 1 1 1 1 (a 3-junta)

slide-10
SLIDE 10

Queries

Given: ability to make queries x → f(x)

slide-11
SLIDE 11

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance

slide-12
SLIDE 12

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance

x1, x2, …
slide-13
SLIDE 13

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ...

slide-14
SLIDE 14

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers

slide-15
SLIDE 15

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers x1

slide-16
SLIDE 16

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers x1 → f(x1)

slide-17
SLIDE 17

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers x1 → f(x1), x2

slide-18
SLIDE 18

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers x1 → f(x1), x2 → f(x2)

slide-19
SLIDE 19

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers x1 → f(x1), x2 → f(x2), x3

slide-20
SLIDE 20

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers x1 → f(x1), x2 → f(x2), x3 → f(x3)

slide-21
SLIDE 21

Queries

Given: ability to make queries x → f(x) Nonadaptive: fix queries in advance x1, x2, … → f(x1), f(x2), ... Adaptive: choose queries based on answers x1 → f(x1), x2 → f(x2), x3 → f(x3), ....

slide-22
SLIDE 22

Property testing

Goal: distinguish whether (unknown) f is

slide-23
SLIDE 23

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
slide-24
SLIDE 24

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta
slide-25
SLIDE 25

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta
slide-26
SLIDE 26

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta

f:

slide-27
SLIDE 27

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta

f: (ɛ-fraction)

slide-28
SLIDE 28

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta

f: (ɛ-fraction)

slide-29
SLIDE 29

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta

f: (ɛ-fraction) (k-junta)

slide-30
SLIDE 30

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta
slide-31
SLIDE 31

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): not ɛ-close to a k-junta
slide-32
SLIDE 32

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): ɛ-far from all k-juntas
slide-33
SLIDE 33

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): ɛ-far from all k-juntas

Resources: Minimize query count q

slide-34
SLIDE 34

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): ɛ-far from all k-juntas

Resources: Minimize query count q in terms of k and ɛ

slide-35
SLIDE 35

Property testing

Goal: distinguish whether (unknown) f is

  • (Yes): a k-junta
  • (No): ɛ-far from all k-juntas

Resources: Minimize query count q in terms of k and ɛ (no dependence on n!)

slide-36
SLIDE 36

Junta testing motivation

  • Boolean function version of finding a low

rank model for high dimensional data

slide-37
SLIDE 37

Junta testing motivation

  • Boolean function version of finding a low

rank model for high dimensional data

  • For k = 1, equivalent to dictatorship

testing, a basic topic in hardness of approximation

slide-38
SLIDE 38

Junta testing motivation

  • Boolean function version of finding a low

rank model for high dimensional data

  • For k = 1, equivalent to dictatorship

testing, a basic topic in hardness of approximation

  • One of the most basic Boolean function

properties.

slide-39
SLIDE 39

Prior work

adaptive nonadaptive

slide-40
SLIDE 40

Prior work

adaptive nonadaptive

[Bla08] O(k3/2log(k)3/ɛ)

slide-41
SLIDE 41

Prior work

adaptive nonadaptive

[Bla08] O(k3/2log(k)3/ɛ) [Bla08] (k/(ɛ log(k/ɛ))

slide-42
SLIDE 42

Prior work

adaptive nonadaptive

[Bla08] O(k3/2log(k)3/ɛ) [Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k))

slide-43
SLIDE 43

Prior work

adaptive nonadaptive

[Bla08] O(k3/2log(k)3/ɛ) O(k log(k) + k/ɛ) [Bla09] [Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k))

slide-44
SLIDE 44

Prior work

adaptive nonadaptive

[Bla08] O(k3/2log(k)3/ɛ) [CG04] (k) [Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-45
SLIDE 45

Prior work

adaptive nonadaptive

[Bla08] O(k3/2log(k)3/ɛ) [CG04] (k) [Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-46
SLIDE 46

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-47
SLIDE 47

Annoyance: adaptive UB ≥ nonadaptive LB

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-48
SLIDE 48

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help?

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-49
SLIDE 49

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help?

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-50
SLIDE 50

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help?

slide-51
SLIDE 51

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help? It should: [Bla09]’s O(k log(k) + k/ɛ) adaptive algorithm uses binary search.

slide-52
SLIDE 52

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help? It should: [Bla09]’s O(k log(k) + k/ɛ) adaptive algorithm uses binary search. Adaptivity also helps for testing signed majority functions, read-once width-two OBDDs.

slide-53
SLIDE 53

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help? It should: [Bla09]’s O(k log(k) + k/ɛ) adaptive algorithm uses binary search. Adaptivity also helps for testing signed majority functions, read-once width-two

  • OBDDs. Adaptive algos use binary search.
slide-54
SLIDE 54

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help? It should: [Bla09]’s O(k log(k) + k/ɛ) adaptive algorithm uses binary search. Adaptivity also helps for testing signed majority functions, read-once width-two

  • OBDDs. Adaptive algos use binary search.
slide-55
SLIDE 55

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help?

slide-56
SLIDE 56

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help?

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-57
SLIDE 57

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help?

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-58
SLIDE 58

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help? Our work: yes it does

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-59
SLIDE 59

Annoyance: adaptive UB ≥ nonadaptive LB [Bla09]: does adaptivity even help? Our work: yes it does. new nonadaptive LB

[Bla08] (k/(ɛ log(k/ɛ)) [BGSMdW13] (k log(k)) O(k log(k) + k/ɛ) [Bla09]

slide-60
SLIDE 60

Main result

Any nonadaptive algorithm requires

k log(k) ɛc log(log(k)/ɛc)

queries q ≥

slide-61
SLIDE 61

Main result

Any nonadaptive algorithm requires

k log(k) ɛc log(log(k)/ɛc)

queries (for any 0 < c < 1). q ≥

slide-62
SLIDE 62

Main result

Any nonadaptive algorithm requires

k log(k) ɛc log(log(k)/ɛc)

queries (for any 0 < c < 1). Set ɛ = 1/log(k). q ≥

slide-63
SLIDE 63

Main result

Any nonadaptive algorithm requires

k log(k) ɛc log(log(k)/ɛc)

queries (for any 0 < c < 1). Set ɛ = 1/log(k). Adaptive UB = O(k log(k) + k/ɛ) q ≥

slide-64
SLIDE 64

Main result

Any nonadaptive algorithm requires

k log(k) ɛc log(log(k)/ɛc)

queries (for any 0 < c < 1). q ≥ Set ɛ = 1/log(k). Adaptive UB = O(k log(k) + k/ɛ) = O(k log(k))

slide-65
SLIDE 65

Main result

Any nonadaptive algorithm requires

k log(k) ɛc log(log(k)/ɛc)

queries (for any 0 < c < 1). Set ɛ = 1/log(k). Adaptive UB = O(k log(k) + k/ɛ) = O(k log(k)) Our nonadapt LB = k log(k)1+c/log(log(k)) q ≥

slide-66
SLIDE 66

Our techniques

  • Basic ideas come from [CG04]’s (k)

adaptive lower bound

slide-67
SLIDE 67

Our techniques

  • Basic ideas come from [CG04]’s (k)

adaptive lower bound

  • [Bla08]’s (k/(ɛ log(k/ɛ)) nonadaptive lower

bound based on [CG04]’s lower bound

slide-68
SLIDE 68

Our techniques

  • Basic ideas come from [CG04]’s (k)

adaptive lower bound

  • [Bla08]’s (k/(ɛ log(k/ɛ)) nonadaptive lower

bound based on [CG04]’s lower bound

  • We give a new analysis of [Bla08]’s LB.
slide-69
SLIDE 69

Our techniques

  • Basic ideas come from [CG04]’s (k)

adaptive lower bound

  • [Bla08]’s (k/(ɛ log(k/ɛ)) nonadaptive lower

bound based on [CG04]’s lower bound

  • We give a new analysis of [Bla08]’s LB.
slide-70
SLIDE 70

[CG04] considers two distributions on n = (k+1)-variable functions:

slide-71
SLIDE 71

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

slide-72
SLIDE 72

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i.

slide-73
SLIDE 73

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i.

fyes(x1,...,0,…,xk+1) = fyes(x1,...,1,…,xk+1)

i i

slide-74
SLIDE 74

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i.

fyes(x1,...,0,…,xk+1) = fyes(x1,...,1,…,xk+1) = random {0,1}

i i

slide-75
SLIDE 75

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i.

fyes(x1,...,0,…,xk+1) = fyes(x1,...,1,…,xk+1) = random {0,1}

i i (for all x1,...,xk+1)

slide-76
SLIDE 76

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i.

fyes(x1,...,0,…,xk+1) = fyes(x1,...,1,…,xk+1) = random {0,1}

i i (for all x1,...,xk+1)

slide-77
SLIDE 77

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i.

slide-78
SLIDE 78

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i. Dno: ● Set fno:{0,1}k+1→ {0,1} uar.

slide-79
SLIDE 79

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i. (a k-junta) Dno: ● Set fno:{0,1}k+1→ {0,1} uar.

slide-80
SLIDE 80
  • Set fno:{0,1}k+1→ {0,1} uar.

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i. (a k-junta) (usually far from a k-junta) Dno:

slide-81
SLIDE 81
  • Set fno:{0,1}k+1→ {0,1} uar.

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i. (a k-junta) (usually far from a k-junta) Dno:

slide-82
SLIDE 82

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i. Dno: ● Set fno:{0,1}k+1→ {0,1} uar.

slide-83
SLIDE 83

[CG04] considers two distributions on n = (k+1)-variable functions: Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} uar subject to

not depending on coordinate i. Dno: ● Set fno:{0,1}k+1→ {0,1} uar. [CG04 THM]: Need (k) queries to distinguish these distributions

slide-84
SLIDE 84

Given f, how to tell if from Dyes or Dno?

slide-85
SLIDE 85

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords.

slide-86
SLIDE 86

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i:

slide-87
SLIDE 87

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

slide-88
SLIDE 88

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.
slide-89
SLIDE 89

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.

Differ only on coord i.

slide-90
SLIDE 90

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.

Differ only on coord i. Def: x and x⊕i form an i-twin.

slide-91
SLIDE 91

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.

Differ only on coord i. Def: x and x⊕i form an i-twin.

slide-92
SLIDE 92

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.
slide-93
SLIDE 93

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.
  • If f(x) ≠ f(x⊕i), output relevant.
slide-94
SLIDE 94

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.
  • If f(x) ≠ f(x⊕i), output relevant.
  • Repeat 10 log(k) times.
slide-95
SLIDE 95

Given f, how to tell if from Dyes or Dno? Idea: See if it has any irrelevant coords. For coord i: ● Pick x uar.

  • Query f on x and x⊕i.
  • If f(x) ≠ f(x⊕i), output relevant.
  • Repeat 10 log(k) times.
  • Output irrelevant.
slide-96
SLIDE 96

If i is relevant:

slide-97
SLIDE 97

If i is relevant: f(x) f(x⊕i)

slide-98
SLIDE 98

If i is relevant: f(x) f(x⊕i)

uar {0,1}

slide-99
SLIDE 99

If i is relevant: f(x) f(x⊕i)

uar {0,1} uar {0,1}

slide-100
SLIDE 100

If i is relevant: f(x) f(x⊕i)

uar {0,1} uar {0,1}

slide-101
SLIDE 101

If i is relevant: f(x) f(x⊕i)

slide-102
SLIDE 102

If i is relevant: f(x) f(x⊕i) = w/prob 1/2

slide-103
SLIDE 103

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2

slide-104
SLIDE 104

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins

slide-105
SLIDE 105

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins If i is irrelevant:

slide-106
SLIDE 106

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins If i is irrelevant: f(x) f(x⊕i) = always

slide-107
SLIDE 107

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins If i is irrelevant: f(x) f(x⊕i) = always ∴ will query O(log(k)) i-twins

slide-108
SLIDE 108

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins If i is irrelevant: f(x) f(x⊕i) = always ∴ will query O(log(k)) i-twins Query cost:

slide-109
SLIDE 109

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins If i is irrelevant: f(x) f(x⊕i) = always ∴ will query O(log(k)) i-twins Query cost: (k+1) * O(1)

slide-110
SLIDE 110

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins If i is irrelevant: f(x) f(x⊕i) = always ∴ will query O(log(k)) i-twins Query cost: (k+1) * O(1) + O(log(k))

slide-111
SLIDE 111

If i is relevant: f(x) f(x⊕i) = w/prob 1/2 f(x) f(x⊕i) ≠ w/prob 1/2 ∴ will conclude relevant after O(1) i-twins If i is irrelevant: f(x) f(x⊕i) = always ∴ will query O(log(k)) i-twins Query cost: (k+1) * O(1) + O(log(k)) = O(k)

slide-112
SLIDE 112

[CG04]’s (k) lower bound

slide-113
SLIDE 113

[CG04]’s (k) lower bound

Key idea: ● Suppose you query f on x1,...,xq

slide-114
SLIDE 114

[CG04]’s (k) lower bound

Key idea: ● Suppose you query f on x1,...,xq

  • Want to test: is coord i relevant?
slide-115
SLIDE 115

[CG04]’s (k) lower bound

Key idea: ● Suppose you query f on x1,...,xq

  • Want to test: is coord i relevant?
  • Then x1,...,xq must have an

i-twin

slide-116
SLIDE 116

[CG04]’s (k) lower bound

Key idea: ● Suppose you query f on x1,...,xq

  • Want to test: is coord i relevant?
  • Then x1,...,xq must have an

i-twin LB: q points can have i-twins for ≤ q-1 coords.

slide-117
SLIDE 117

[CG04]’s (k) lower bound

Key idea: ● Suppose you query f on x1,...,xq

  • Want to test: is coord i relevant?
  • Then x1,...,xq must have an

i-twin LB: q points can have i-twins for ≤ q-1 coords. ∴ q = (k).

slide-118
SLIDE 118

Matching upper and lower bounds?

slide-119
SLIDE 119

Matching upper and lower bounds?

Algorithm was adaptive:

slide-120
SLIDE 120

Matching upper and lower bounds?

Algorithm was adaptive:

  • for relevant coords i, query O(1) i-twins
slide-121
SLIDE 121

Matching upper and lower bounds?

Algorithm was adaptive:

  • for relevant coords i, query O(1) i-twins
  • for irrelevant coords i, query O(log(k))
slide-122
SLIDE 122

Matching upper and lower bounds?

Algorithm was adaptive:

  • for relevant coords i, query O(1) i-twins
  • for irrelevant coords i, query O(log(k))

Can’t plan this in advance:

slide-123
SLIDE 123

Matching upper and lower bounds?

Algorithm was adaptive:

  • for relevant coords i, query O(1) i-twins
  • for irrelevant coords i, query O(log(k))

Can’t plan this in advance: x1,...,xq need O(log(k)) i-twins in all k+1 directions.

slide-124
SLIDE 124

Matching upper and lower bounds?

Algorithm was adaptive:

  • for relevant coords i, query O(1) i-twins
  • for irrelevant coords i, query O(log(k))

Can’t plan this in advance: x1,...,xq need O(log(k)) i-twins in all k+1 directions. ∴ q = (k log(k)) nonadaptive LB?

slide-125
SLIDE 125

Matching upper and lower bounds?

Algorithm was adaptive:

  • for relevant coords i, query O(1) i-twins
  • for irrelevant coords i, query O(log(k))

Can’t plan this in advance: x1,...,xq need O(log(k)) i-twins in all k+1 directions. ∴ q = (k log(k)) nonadaptive LB? (not quite)

slide-126
SLIDE 126

A nonadaptive algorithm.

[Fra83]: there are q = O(k log(k) / log log(k)) points x1,...,xq with log(k) i-twins for each i.

slide-127
SLIDE 127

A nonadaptive algorithm.

[Fra83]: there are q = O(k log(k) / log log(k)) points x1,...,xq with log(k) i-twins for each i.

k log(k) ɛc log(log(k)/ɛc)

q ≥

Recall our LB:

slide-128
SLIDE 128

A nonadaptive algorithm.

[Fra83]: there are q = O(k log(k) / log log(k)) points x1,...,xq with log(k) i-twins for each i.

k log(k) ɛc log(log(k)/ɛc)

q ≥

Recall our LB: Goal: ● show [Fra83] is optimal

slide-129
SLIDE 129

A nonadaptive algorithm.

[Fra83]: there are q = O(k log(k) / log log(k)) points x1,...,xq with log(k) i-twins for each i.

k log(k) ɛc log(log(k)/ɛc)

q ≥

Recall our LB: Goal: ● show [Fra83] is optimal

  • extend to general ɛ
slide-130
SLIDE 130

A nonadaptive algorithm.

[Fra83]: there are q = O(k log(k) / log log(k)) points x1,...,xq with log(k) i-twins for each i.

k log(k) ɛc log(log(k)/ɛc)

q ≥

Recall our LB: Goal: ● show [Fra83] is optimal

  • extend to general ɛ
slide-131
SLIDE 131

New distributions.

slide-132
SLIDE 132

Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

slide-133
SLIDE 133

Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

f(x) is independent from all other f(x’),

slide-134
SLIDE 134

Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

f(x) is independent from all other f(x’), satisfies Pr[f(x) = 1] = ɛ

slide-135
SLIDE 135

Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

f(x) is independent from all other f(x’), satisfies Pr[f(x) = 1] = ɛ

slide-136
SLIDE 136

Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

slide-137
SLIDE 137

Dyes: ● Pick i ~ {1,...,k+1} uar. Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

slide-138
SLIDE 138

Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} random ɛ-

biased subject to not depending on coordinate i. Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

slide-139
SLIDE 139

Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} random ɛ-

biased subject to not depending on coordinate i. Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

(a k-junta) Dno:

slide-140
SLIDE 140

Dyes: ● Pick i ~ {1,...,k+1} uar.

  • Set fyes:{0,1}k+1→ {0,1} random ɛ-

biased subject to not depending on coordinate i. Dno: ● Set fno:{0,1}k+1→ {0,1} random ɛ- biased.

New distributions.

(a k-junta) Dno: (usually ɛ-far from a k-junta)

slide-141
SLIDE 141

Distributions studied in [Bla08].

slide-142
SLIDE 142

Distributions studied in [Bla08]. His LB: (k/(ɛ log(k/ɛ))

slide-143
SLIDE 143

Distributions studied in [Bla08]. His LB: (k/(ɛ log(k/ɛ)) Main tool: Edge-isoperimetric inequality

slide-144
SLIDE 144

Distributions studied in [Bla08]. His LB: (k/(ɛ log(k/ɛ)) Main tool: Edge-isoperimetric inequality: points x1,...,xq can only have O(q log(q)) i-twins

slide-145
SLIDE 145

Distributions studied in [Bla08]. His LB: (k/(ɛ log(k/ɛ)) Main tool: Edge-isoperimetric inequality: points x1,...,xq can only have O(q log(q)) i-twins

  • Only about total # of i-twins.
slide-146
SLIDE 146

Distributions studied in [Bla08]. His LB: (k/(ɛ log(k/ɛ)) Main tool: Edge-isoperimetric inequality: points x1,...,xq can only have O(q log(q)) i-twins

  • Only about total # of i-twins.
  • Could be few directions have lots of i-twins.
slide-147
SLIDE 147

Distributions studied in [Bla08]. His LB: (k/(ɛ log(k/ɛ)) Main tool: Edge-isoperimetric inequality: points x1,...,xq can only have O(q log(q)) i-twins

  • Only about total # of i-twins.
  • Could be few directions have lots of i-twins.
  • Want edge-iso ineq. about most directions.
slide-148
SLIDE 148

Our main tool: New edge-iso inequality

slide-149
SLIDE 149

Our main tool: New edge-iso inequality Suppose x1,...,xq have m i-twins in d directions. Then q ≥ md / log(m).

slide-150
SLIDE 150

Our main tool: New edge-iso inequality Suppose x1,...,xq have m i-twins in d directions. Then q ≥ md / log(m).

  • m = log(k) and d = k gives
slide-151
SLIDE 151

Our main tool: New edge-iso inequality Suppose x1,...,xq have m i-twins in d directions. Then q ≥ md / log(m).

  • m = log(k) and d = k gives

q ≥ k log(k)/log(log(k))

slide-152
SLIDE 152

Our main tool: New edge-iso inequality Suppose x1,...,xq have m i-twins in d directions. Then q ≥ md / log(m).

  • m = log(k) and d = k gives
  • Generalization of [Fra83]

q ≥ k log(k)/log(log(k))

slide-153
SLIDE 153

Other ideas

  • Proofs are quite technical
slide-154
SLIDE 154

Other ideas

  • Proofs are quite technical
  • Answer you get for single query f(xj) is not

too important

slide-155
SLIDE 155

Other ideas

  • Proofs are quite technical
  • Answer you get for single query f(xj) is not

too important

  • Analyze a specific martingale w/r/t

f(x1), f(x2), …, f(xq)

slide-156
SLIDE 156

Other ideas

  • Proofs are quite technical
  • Answer you get for single query f(xj) is not

too important

  • Analyze a specific martingale w/r/t

f(x1), f(x2), …, f(xq)

  • Use McDiarmid’s inequality (with bad events)
slide-157
SLIDE 157

Open problem

Prove a separation between adapative and nonadaptive when ɛ = const.

slide-158
SLIDE 158

Thanks!