Pseudo-random graphs and bit probe schemes with one-sided error - - PowerPoint PPT Presentation

pseudo random graphs and bit probe schemes with one sided
SMART_READER_LITE
LIVE PREVIEW

Pseudo-random graphs and bit probe schemes with one-sided error - - PowerPoint PPT Presentation

Pseudo-random graphs and bit probe schemes with one-sided error Andrei Romashchenko CNRS, LIF de Marseille & IITP of RAS (Moscow) CSR 2011, June 14 Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June


slide-1
SLIDE 1

Pseudo-random graphs and bit probe schemes with

  • ne-sided error

Andrei Romashchenko

CNRS, LIF de Marseille & IITP of RAS (Moscow)

CSR 2011, June 14

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 1 / 14

slide-2
SLIDE 2

The problem under consideration: bit probe scheme with one-sided error

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 2 / 14

slide-3
SLIDE 3

The problem under consideration: bit probe scheme with one-sided error Our technique: pseudo-random graphs

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 2 / 14

slide-4
SLIDE 4

Bit probe scheme with one-sided error

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

slide-5
SLIDE 5

Bit probe scheme with one-sided error Given: a set A from universe U

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

slide-6
SLIDE 6

Bit probe scheme with one-sided error Given: a set A from universe U n = |A| ≪ m = |U|, e.g., n = m0.01, n = poly log m, etc.

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

slide-7
SLIDE 7

Bit probe scheme with one-sided error Given: a set A from universe U n = |A| ≪ m = |U|, e.g., n = m0.01, n = poly log m, etc. To construct: a database B of size s such that to answer a query x ∈ A ? we need to read one bit from the database

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

slide-8
SLIDE 8

Bit probe scheme with one-sided error Given: a set A from universe U n = |A| ≪ m = |U|, e.g., n = m0.01, n = poly log m, etc. To construct: a database B of size s such that to answer a query x ∈ A ? we need to read one bit from the database Goal: minimize s = |B|

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

slide-9
SLIDE 9

Bit probe scheme with one-sided error Given: a set A from universe U n = |A| ≪ m = |U|, e.g., n = m0.01, n = poly log m, etc. To construct: a database B of size s such that to answer a query x ∈ A ? we need to read one bit from the database Goal: minimize s = |B| Remark: s = Ω(n log m)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

slide-10
SLIDE 10

static structures for a set: standard solutions Given: a set A from universe U How to encode A?

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

slide-11
SLIDE 11

static structures for a set: standard solutions Given: a set A from universe U How to encode A?

1 bit vector of size m Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

slide-12
SLIDE 12

static structures for a set: standard solutions Given: a set A from universe U How to encode A?

1 bit vector of size m

good news: read one bit for a query “x ∈ A ?” good news: no randomization bad news: too much memory

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

slide-13
SLIDE 13

static structures for a set: standard solutions Given: a set A from universe U How to encode A?

1 bit vector of size m

good news: read one bit for a query “x ∈ A ?” good news: no randomization bad news: too much memory

2 list of elements Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

slide-14
SLIDE 14

static structures for a set: standard solutions Given: a set A from universe U How to encode A?

1 bit vector of size m

good news: read one bit for a query “x ∈ A ?” good news: no randomization bad news: too much memory

2 list of elements

good news: memory n log m good news: no randomization bad news: read too many bits to answer a query

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

slide-15
SLIDE 15

static structures for a set: standard solutions Given: a set A from universe U How to encode A?

1 bit vector of size m

good news: read one bit for a query “x ∈ A ?” good news: no randomization bad news: too much memory

2 list of elements

good news: memory n log m good news: no randomization bad news: read too many bits to answer a query

3 Fredman–Koml´

  • s–Szemer´

edi (double hashing):

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

slide-16
SLIDE 16

static structures for a set: standard solutions Given: a set A from universe U How to encode A?

1 bit vector of size m

good news: read one bit for a query “x ∈ A ?” good news: no randomization bad news: too much memory

2 list of elements

good news: memory n log m good news: no randomization bad news: read too many bits to answer a query

3 Fredman–Koml´

  • s–Szemer´

edi (double hashing):

good news: database of size O(n log m) bits good news: randomization only to constructe the database bad news: need to read O(log m) bits to answer a query

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

slide-17
SLIDE 17

Buhrman–Miltersen–Radhakrishnan–Venkatesh [2001]

Two features:

1 a randomized algorithm answers queries “x ∈ A?” 2 the scheme is based on a highly unbalanced expander Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 5 / 14

slide-18
SLIDE 18

Buhrman–Miltersen–Radhakrishnan–Venkatesh [2001]

Two features:

1 a randomized algorithm answers queries “x ∈ A?” 2 the scheme is based on a highly unbalanced expander

good news: read one bit to answer a query good news: memory = O(n log m) bad news: exponential computations some news: two-sided errors bad news: need Ω( n2 log m

log n ) for a one-sided error

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 5 / 14

slide-19
SLIDE 19

Bit-probe scheme in this paper: read one bit to answer query memory = O(n log2 m)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

slide-20
SLIDE 20

Bit-probe scheme in this paper: read one bit to answer query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

slide-21
SLIDE 21

Bit-probe scheme in this paper: read one bit to answer query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV]

  • ne-sided error

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

slide-22
SLIDE 22

Bit-probe scheme in this paper: read one bit to answer query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV]

  • ne-sided error vs two-sided in [BMRV]

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

slide-23
SLIDE 23

Bit-probe scheme in this paper: read one bit to answer query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV]

  • ne-sided error vs two-sided in [BMRV]

memory = O(n log2 m) better than Ω(n2 log m

log n ) !

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

slide-24
SLIDE 24

Bit-probe scheme in this paper: read one bit to answer query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV]

  • ne-sided error vs two-sided in [BMRV]

memory = O(n log2 m) better than Ω(n2 log m

log n ) !

Do we cheat ?

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

slide-25
SLIDE 25

Bit-probe scheme in this paper: read one bit to answer query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV]

  • ne-sided error vs two-sided in [BMRV]

memory = O(n log2 m) better than Ω(n2 log m

log n ) !

Do we cheat ? Yes, we have changed the model ! We allow cached memory of size poly(log m).

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

slide-26
SLIDE 26

Randomized Processor of Queries 2nd level memory (database)

query: x

?

∈ A answer: yes/no

1st level memory (cache)

read 1 bit read all bits

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 7 / 14

slide-27
SLIDE 27

Randomized Processor of Queries 2nd level memory (database)

query: x

?

∈ A answer: yes/no

1st level memory (cache)

read 1 bit read all bits

  • Theorem. For any n-element set A from an m-element

universe there exists a randomized bit-probe scheme with

  • ne-sided error, with cache of size O(logc m) and database
  • f size O(n log2 m).

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 7 / 14

slide-28
SLIDE 28

the left part: m vertices; degree d = O(log m) the right part: s = O(n log2 m) vertices universe database 1 2 3 m 1 2 3 4 5 s

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 8 / 14

slide-29
SLIDE 29

in the left part: set A of n vertices the right part: s = O(n log2 m) vertices subset A database 1 2 3 m 1 2 3 4 5 s 1 3 m

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 9 / 14

slide-30
SLIDE 30

A graph is suitable for A if for every x ∈ A most neighbors of x are blue subset A neighbors of A are red 1 2 3 m 1 2 3 4 5 s 1 3 m 1 3 m 1 3 5 s

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 10 / 14

slide-31
SLIDE 31

A graph is called suitable for A if for every x ∈ A most neighbors of x are blue

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14

slide-32
SLIDE 32

A graph is called suitable for A if for every x ∈ A most neighbors of x are blue Good news: for every A most graphs are suitable. Bad news: there is no graph suitable for every set A.

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14

slide-33
SLIDE 33

A graph is called suitable for A if for every x ∈ A most neighbors of x are blue Good news: for every A most graphs are suitable. Bad news: there is no graph suitable for every set A. 1st idea: take a random graph and cache it

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14

slide-34
SLIDE 34

A graph is called suitable for A if for every x ∈ A most neighbors of x are blue Good news: for every A most graphs are suitable. Bad news: there is no graph suitable for every set A. 1st idea: take a random graph and cache it we cannot, a random graph is too large!

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14

slide-35
SLIDE 35

A graph is called suitable for A if for every x ∈ A most neighbors of x are blue Good news: for every A most graphs are suitable. Bad news: there is no graph suitable for every set A. 1st idea: take a random graph and cache it we cannot, a random graph is too large! 2nd idea: take a pseudo-random graph, cache the seed

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14

slide-36
SLIDE 36

A graph is called suitable for A if for every x ∈ A most neighbors of x are blue Good news: for every A most graphs are suitable. Bad news: there is no graph suitable for every set A. 1st idea: take a random graph and cache it we cannot, a random graph is too large! 2nd idea: take a pseudo-random graph, cache the seed We need a good PRG...

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14

slide-37
SLIDE 37

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-38
SLIDE 38

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Test

random graph yes with probability > 0.99

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-39
SLIDE 39

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Test

random graph yes with probability > 0.99

Test

pseudo- random graph yes with probability > 0.98 ?

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-40
SLIDE 40

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Test

random graph yes with probability > 0.99

Test

pseudo- random graph yes with probability > 0.98 ?

Test is an AC0-circuit [size poly(m), depth O(1)].

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-41
SLIDE 41

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Test

random graph yes with probability > 0.99

Test

pseudo- random graph yes with probability > 0.98 ?

Test is an AC0-circuit [size poly(m), depth O(1)]. Nisan–Wigderson generator is valid

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-42
SLIDE 42

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Test

random graph yes with probability > 0.99

Test

pseudo- random graph yes with probability > 0.98 ?

Test is an AC0-circuit [size poly(m), depth O(1)]. Nisan–Wigderson generator is valid Braverman: every (poly log m)-independent function is valid

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-43
SLIDE 43

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Test

random graph yes with probability > 0.99

Test

pseudo- random graph yes with probability > 0.98 ?

Test is an AC0-circuit [size poly(m), depth O(1)]. Nisan–Wigderson generator is valid Braverman: every (poly log m)-independent function is valid Test is an FSM with small memory. Nisan’s generator is valid

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-44
SLIDE 44

Fix a set A.

Test

graph G yes, if G is suitable for A no, otherwise

Test

random graph yes with probability > 0.99

Test

pseudo- random graph yes with probability > 0.98 ?

Test is an AC0-circuit [size poly(m), depth O(1)]. Nisan–Wigderson generator is valid Braverman: every (poly log m)-independent function is valid Test is an FSM with small memory. Nisan’s generator is valid Size of the seed = poly(log m).

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14

slide-45
SLIDE 45

Conclusions: a bit-probe scheme: read one bit to answer a query

  • ne-sided error

1-st level “cached” memory = poly log m 2-nd level memory = O(n log2 m)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 13 / 14

slide-46
SLIDE 46

Conclusions: a bit-probe scheme: read one bit to answer a query

  • ne-sided error

1-st level “cached” memory = poly log m 2-nd level memory = O(n log2 m) database is prepared in time poly(m)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 13 / 14

slide-47
SLIDE 47

Conclusions: a bit-probe scheme: read one bit to answer a query

  • ne-sided error

1-st level “cached” memory = poly log m 2-nd level memory = O(n log2 m) database is prepared in time poly(m) Beyond this talk: combine our construction with Guruswami–Umans–Vadhan read two bit to answer a query

  • ne-sided error

1-st level “cache” memory = poly log m 2-nd level memory = n1+δpoly log m computations in time poly(n, log m)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 13 / 14

slide-48
SLIDE 48

What this talk was about: a pseudo-random graph can be better than an explicit

  • ne (better expansion parameters, etc.)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 14 / 14

slide-49
SLIDE 49

What this talk was about: a pseudo-random graph can be better than an explicit

  • ne (better expansion parameters, etc.)

a pseudo-random graph can be better than a “truly random” graph (shorter description)

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 14 / 14

slide-50
SLIDE 50

What this talk was about: a pseudo-random graph can be better than an explicit

  • ne (better expansion parameters, etc.)

a pseudo-random graph can be better than a “truly random” graph (shorter description) a small “cache” may be useful in static structures

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 14 / 14

slide-51
SLIDE 51

What this talk was about: a pseudo-random graph can be better than an explicit

  • ne (better expansion parameters, etc.)

a pseudo-random graph can be better than a “truly random” graph (shorter description) a small “cache” may be useful in static structures

Thank you! Questions?

Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 14 / 14