Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Csr2011 june14 15_15_romashchenko

350 views

Published on

  • Be the first to comment

  • Be the first to like this

Csr2011 june14 15_15_romashchenko

  1. 1. Pseudo-random graphs and bit probe schemes with one-sided error Andrei Romashchenko CNRS, LIF de Marseille & IITP of RAS (Moscow) CSR 2011, June 14Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 1 / 14
  2. 2. The problem under consideration: bit probe scheme with one-sided errorAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 2 / 14
  3. 3. The problem under consideration: bit probe scheme with one-sided error Our technique: pseudo-random graphsAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 2 / 14
  4. 4. Bit probe scheme with one-sided errorAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14
  5. 5. Bit probe scheme with one-sided error Given: a set A from universe UAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14
  6. 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
  7. 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 databaseAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14
  8. 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
  9. 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
  10. 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
  11. 11. static structures for a set: standard solutions Given: a set A from universe U How to encode A? 1 bit vector of size mAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14
  12. 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 memoryAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14
  13. 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 elementsAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14
  14. 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 queryAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14
  15. 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´di (double hashing): o eAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14
  16. 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´di (double hashing): o e 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 queryAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14
  17. 17. Buhrman–Miltersen–Radhakrishnan–Venkatesh [2001] Two features: 1 a randomized algorithm answers a query “x ∈ A?” 2 a scheme based on a highly unbalanced expanderAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 5 / 14
  18. 18. Buhrman–Miltersen–Radhakrishnan–Venkatesh [2001] Two features: 1 a randomized algorithm answers a query “x ∈ A?” 2 a scheme 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 2 bad news: need Ω( n log nm ) for a one-sided error logAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 5 / 14
  19. 19. Bit-probe scheme in this paper: read one bit to answer a query memory = O(n log2 m)Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14
  20. 20. Bit-probe scheme in this paper: read one bit to answer a 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
  21. 21. Bit-probe scheme in this paper: read one bit to answer a query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV] one-sided errorAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14
  22. 22. Bit-probe scheme in this paper: read one bit to answer a query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV] one-sided error vs two-sided in [BMRV]Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14
  23. 23. Bit-probe scheme in this paper: read one bit to answer a query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV] one-sided error vs two-sided in [BMRV] 2 memory = O(n log2 m) better than Ω( n log nm ) ! logAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14
  24. 24. Bit-probe scheme in this paper: read one bit to answer a query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV] one-sided error vs two-sided in [BMRV] 2 memory = O(n log2 m) better than Ω( n log nm ) ! log Do we cheat ?Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14
  25. 25. Bit-probe scheme in this paper: read one bit to answer a query memory = O(n log2 m) vs O(n log m) in [BMRV] computations in poly(m) vs exp{m} in [BMRV] one-sided error vs two-sided in [BMRV] 2 memory = O(n log2 m) better than Ω( n log nm ) ! log 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
  26. 26. ? Randomized query: x ∈ A answer: yes/no Processor of Queries read all bits read 1 bit 1st level memory 2nd level memory (cache) (database)Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 7 / 14
  27. 27. ? Randomized query: x ∈ A answer: yes/no Processor of Queries read all bits read 1 bit 1st level memory 2nd level memory (cache) (database) Theorem. For any n-element set A from an m-element universe there exists a randomized bit-probe scheme with one-sided error, with cache of size O(logc m) and database of size O(n log2 m).Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 7 / 14
  28. 28. the left part: m vertices; degree d = O(log m) the right part: s = O(n log2 m) vertices 1 2 1 3 2 3 4 universe database 6 s mAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 8 / 14
  29. 29. in the left part: set A of n vertices the right part: s = O(n log2 m) vertices 1 2 1 3 2 3 4 subset A database 6 s mAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 9 / 14
  30. 30. A graph is suitable for A if for every x ∈ A most neighbors of x are blue 1 2 1 3 2 3 4 neighbors of subset A 6 A are red s mAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 10 / 14
  31. 31. A graph is called suitable for A if for every x ∈ A most neighbors of x are blueAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14
  32. 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 sets A.Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14
  33. 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 sets A. 1st idea: take a random graph and cache itAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14
  34. 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 sets 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
  35. 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 sets 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 seedAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 11 / 14
  36. 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 sets 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
  37. 37. Fix a set A. yes, if G is suitable for A graph G Test no, otherwiseAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  38. 38. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graphAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  39. 39. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graph pseudo- random Test yes with probability > 0.98 ? graphAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  40. 40. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graph pseudo- random Test yes with probability > 0.98 ? graph Test is an AC0 -circuit.Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  41. 41. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graph pseudo- random Test yes with probability > 0.98 ? graph Test is an AC0 -circuit. Nisan–Wigderson generator is validAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  42. 42. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graph pseudo- random Test yes with probability > 0.98 ? graph Test is an AC0 -circuit. Nisan–Wigderson generator is valid Braverman: every (poly log m)-independent function is validAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  43. 43. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graph pseudo- random Test yes with probability > 0.98 ? graph Test is an AC0 -circuit. Nisan–Wigderson generator is valid Braverman: every (poly log m)-independent function is valid Test is a FSM with small memory. Nisan’s generator is validAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  44. 44. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graph pseudo- random Test yes with probability > 0.98 ? graph Test is an AC0 -circuit. Nisan–Wigderson generator is valid Braverman: every (poly log m)-independent function is valid Test is a FSM with small memory. Nisan’s generator is validAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 12 / 14
  45. 45. Fix a set A. yes, if G is suitable for A graph G Test no, otherwise random Test yes with probability > 0.99 graph pseudo- random Test yes with probability > 0.98 ? graph Test is an AC0 -circuit. Nisan–Wigderson generator is valid Braverman: every (poly log m)-independent function is valid Test is a 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
  46. 46. Conclusions: a bit-probe scheme: read one bit to answer a query one-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
  47. 47. Conclusions: a bit-probe scheme: read one bit to answer a query one-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
  48. 48. Conclusions: a bit-probe scheme: read one bit to answer a query one-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 one-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
  49. 49. What this talk was about: a pseudo-random graph can be better than an explicit one (better expansion parameters, etc.)Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 14 / 14
  50. 50. What this talk was about: a pseudo-random graph can be better than an explicit one (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
  51. 51. What this talk was about: a pseudo-random graph can be better than an explicit one (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 structuresAndrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 14 / 14
  52. 52. What this talk was about: a pseudo-random graph can be better than an explicit one (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

×