pseudo random graphs and bit probe schemes with one sided
play

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


  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 14 Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 1 / 14

  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

  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

  4. Bit probe scheme with one-sided error Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

  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

  6. Bit probe scheme with one-sided error Given: a set A from universe U n = | A | ≪ m = | U | , e.g., n = m 0 . 01 , n = poly log m , etc. Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 3 / 14

  7. Bit probe scheme with one-sided error Given: a set A from universe U n = | A | ≪ m = | U | , e.g., n = m 0 . 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

  8. Bit probe scheme with one-sided error Given: a set A from universe U n = | A | ≪ m = | U | , e.g., n = m 0 . 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. Bit probe scheme with one-sided error Given: a set A from universe U n = | A | ≪ m = | U | , e.g., n = m 0 . 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. 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. 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

  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

  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

  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

  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´ os–Szemer´ edi (double hashing): Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 4 / 14

  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´ os–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

  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

  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 Ω( n 2 log m log n ) for a one-sided error Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 5 / 14

  19. Bit-probe scheme in this paper: read one bit to answer query memory = O ( n log 2 m ) Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

  20. Bit-probe scheme in this paper: read one bit to answer query memory = O ( n log 2 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. Bit-probe scheme in this paper: read one bit to answer query memory = O ( n log 2 m ) vs O ( n log m ) in [BMRV] computations in poly ( m ) vs exp { m } in [BMRV] one-sided error Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

  22. Bit-probe scheme in this paper: read one bit to answer query memory = O ( n log 2 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. Bit-probe scheme in this paper: read one bit to answer query memory = O ( n log 2 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] memory = O ( n log 2 m ) better than Ω( n 2 log m log n ) ! Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

  24. Bit-probe scheme in this paper: read one bit to answer query memory = O ( n log 2 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] memory = O ( n log 2 m ) better than Ω( n 2 log m log n ) ! Do we cheat ? Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 6 / 14

  25. Bit-probe scheme in this paper: read one bit to answer query memory = O ( n log 2 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] memory = O ( n log 2 m ) better than Ω( n 2 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

  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. ? 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 ( log c m ) and database of size O ( n log 2 m ) . Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 7 / 14

  28. the left part: m vertices; degree d = O ( log m ) the right part: s = O ( n log 2 m ) vertices 1 2 1 3 2 3 4 universe database 5 s m Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 8 / 14

  29. in the left part: set A of n vertices the right part: s = O ( n log 2 m ) vertices 1 1 2 1 3 3 2 3 4 subset A database 5 s m m Andrei Romashchenko (CNRS & IITP) Pseudo-random graphs & bit probe CSR 2011, June 14 9 / 14

Recommend


More recommend