constant time retrieval with polynomially small slack
play

Constant-Time Retrieval with Polynomially-small Slack Martin - PowerPoint PPT Presentation

Constant-Time Retrieval with Polynomially-small Slack Martin Dietzfelbinger Stefan Walzer September 24, 2018 Motivating Example Cal , 1 0 0 0 1 1 f ascii Fen Eli , Dan , Bea , The Problem Ana , E Example Data Set: Given names


  1. Constant-Time Retrieval with Polynomially-small Slack Martin Dietzfelbinger Stefan Walzer September 24, 2018

  2. Motivating Example Cal , 1 0 0 0 1 1 f ascii Fen Eli , Dan , Bea , The Problem Ana , E Example Data Set: Given names annotated with gender ) O m . (this work: O m bits for Want: Memory Requirement of R 1 Given a set E ⊆ U of size m and f : E → { 0 , 1 } . Want: Data structure R that, given y ∈ E reproduces f ( y ) .

  3. Motivating Example Eli , 1 0 0 0 1 1 f ascii Fen Dan , The Problem Cal , Bea , Ana , E Example Data Set: Given names annotated with gender Memory Requirement of R 1 Given a set E ⊆ U of size m and f : E → { 0 , 1 } . Want: Data structure R that, given y ∈ E reproduces f ( y ) . Want: (1 + ε ) m bits for ε = O (1) . (this work: ε = O ( m − δ ) )

  4. Motivating Example Eli , 1 0 0 0 1 1 The Problem Fen 1 Dan , Bea , Ana , Memory Requirement of R Example Data Set: Given names annotated with gender Cal , Given a set E ⊆ U of size m and f : E → { 0 , 1 } . Want: Data structure R that, given y ∈ E reproduces f ( y ) . Want: (1 + ε ) m bits for ε = O (1) . (this work: ε = O ( m − δ ) ) E = { } ⊆ U = ascii ∗ �→ �→ �→ �→ �→ �→ f :

  5. Retrieval using Linear Systems h Eve x 9 8 7 6 5 4 3 2 1 h Fen Fen Eli h Dan Dan h Cal Cal h Bea Bea h Ana Ana Hash Values Input n : m Yields A 2 Pick n = (1 + ε ) m and h : U → { 1 , . . . , n } 3 .

  6. Retrieval using Linear Systems Eli x 9 8 7 6 5 4 3 2 1 Fen 2 Ana Dan : Input Hash Values Bea Cal Pick n = (1 + ε ) m and h : U → { 1 , . . . , n } 3 . Yields A ∈ F m × n 2 h ( Ana ) = (1 , 3 , 9)  1 0 1 0 0 0 0 0 1  h ( Bea ) = (2 , 3 , 4) 0 1 1 1 0 0 0 0 0     h ( Cal ) = (3 , 6 , 8) 0 0 1 0 0 1 0 1 0     0 0 0 0 1 0 0 1 1 h ( Dan ) = (5 , 8 , 9)       h ( Eve ) = (2 , 8 , 9) 0 1 0 0 0 0 0 1 1   h ( Fen ) = (1 , 5 , 6) 1 0 0 0 1 1 0 0 0

  7. Retrieval using Linear Systems 1 8 7 6 5 4 3 2 9 2 Hash Values : Input Pick n = (1 + ε ) m and h : U → { 1 , . . . , n } 3 . Yields A ∈ F m × n 2 ( Ana , 1) h ( Ana ) = (1 , 3 , 9)  1 0 1 0 0 0 0 0 1   1  ( Bea , 1) h ( Bea ) = (2 , 3 , 4) 0 1 1 1 0 0 0 0 0 1         ( Cal , 0) h ( Cal ) = (3 , 6 , 8) 0 0 1 0 0 1 0 1 0 0     · ⃗ x =     0 0 0 0 1 0 0 1 1 0 ( Dan , 0) h ( Dan ) = (5 , 8 , 9)             ( Eli , 0) h ( Eve ) = (2 , 8 , 9) 0 1 0 0 0 0 0 1 1 0     ( Fen , 1) h ( Fen ) = (1 , 5 , 6) 1 0 0 0 1 1 0 0 0 1

  8. Retrieval using Linear Systems 1 the system is solvable in O m time whp. For Theorem [Bot08; Mol05; BWZ12] Theorem [DM02] 9 8 7 6 5 4 3 2 2 Input : Hash Values Pick n = (1 + ε ) m and h : U → { 1 , . . . , n } 3 . Yields A ∈ F m × n 2 ( Ana , 1) h ( Ana ) = (1 , 3 , 9)  1 0 1 0 0 0 0 0 1   1  ( Bea , 1) h ( Bea ) = (2 , 3 , 4) 0 1 1 1 0 0 0 0 0 1         ( Cal , 0) h ( Cal ) = (3 , 6 , 8) 0 0 1 0 0 1 0 1 0 0     · ⃗ x =     0 0 0 0 1 0 0 1 1 0 ( Dan , 0) h ( Dan ) = (5 , 8 , 9)             ( Eli , 0) h ( Eve ) = (2 , 8 , 9) 0 1 0 0 0 0 0 1 1 0     ( Fen , 1) h ( Fen ) = (1 , 5 , 6) 1 0 0 0 1 1 0 0 0 1 For ε > 0 . 09 such systems are solvable whp. For ε < 0 . 09 such systems are not solvable whp.

  9. Retrieval using Linear Systems 1 Theorem [Bot08; Mol05; BWZ12] Theorem [DM02] 9 8 7 6 5 4 3 2 2 Input : Hash Values Pick n = (1 + ε ) m and h : U → { 1 , . . . , n } 3 . Yields A ∈ F m × n 2 ( Ana , 1) h ( Ana ) = (1 , 3 , 9)  1 0 1 0 0 0 0 0 1   1  ( Bea , 1) h ( Bea ) = (2 , 3 , 4) 0 1 1 1 0 0 0 0 0 1         ( Cal , 0) h ( Cal ) = (3 , 6 , 8) 0 0 1 0 0 1 0 1 0 0     · ⃗ x =     0 0 0 0 1 0 0 1 1 0 ( Dan , 0) h ( Dan ) = (5 , 8 , 9)             ( Eli , 0) h ( Eve ) = (2 , 8 , 9) 0 1 0 0 0 0 0 1 1 0     ( Fen , 1) h ( Fen ) = (1 , 5 , 6) 1 0 0 0 1 1 0 0 0 1 For ε > 0 . 09 such systems are solvable whp. For ε < 0 . 09 such systems are not solvable whp. For ε > 0 . 23 the system is solvable in O ( m ) time whp.

  10. Retrieval using Linear Systems 1 9 8 7 6 5 4 3 2 2 : Input Hash Values Pick n = (1 + ε ) m and h : U → { 1 , . . . , n } 3 . Yields A ∈ F m × n 2  1  ( Ana , 1) h ( Ana ) = (1 , 3 , 9)  1 0 1 0 0 0 0 0 1   1  0     ( Bea , 1) h ( Bea ) = (2 , 3 , 4) 0 1 1 1 0 0 0 0 0 0 1              1  ( Cal , 0) h ( Cal ) = (3 , 6 , 8) 0 0 1 0 0 1 0 1 0 0       ·   =   0     0 0 0 0 1 0 0 1 1 0 ( Dan , 0) h ( Dan ) = (5 , 8 , 9)       0             ( Eli , 0) h ( Eve ) = (2 , 8 , 9) 0 1 0 0 0 0 0 1 1 0  0          ( Fen , 1) h ( Fen ) = (1 , 5 , 6) 1 0 0 0 1 1 0 0 0 0 1   0 The retrieval data structure R = ( h ,⃗ x ) query ( u ) := ∑ 3 i =1 ⃗ x [ h i ( u )] Memory Requirement: ∼ 1 . 09 m bits (or ∼ 1 . 23 m bits with O ( m ) construction).

  11. Contribution and Previous Work [GOV16] [Por09] m log m Paper k [DP08] [DP08] 3 practical? memory accesses query [Maj+96; BPZ13] Slack 3 0 . 23 � 3 0 . 09 � ≈ e − k ✗ O ( log log m ) ✗ √ O (1) Θ( log log m log m ) ✗ ⟨ this work ⟩ 2 Θ( log m m α ) �

  12. Our Idea: Blocked Linear Systems

  13. Two log-sized Blocks per Line h Eli x 4 3 2 1 h Fen h Dan h Cal h Bea h Ana Hash Values 4 Pick n = (1 + ε ) m , block size ℓ ∈ N and h : U → [ n / ℓ ] × [ n / ℓ ] × F ℓ 2 × F ℓ 2 .

  14. Two log-sized Blocks per Line 1 4 3 2 4 Hash Values Pick n = (1 + ε ) m , block size ℓ ∈ N and h : U → [ n / ℓ ] × [ n / ℓ ] × F ℓ 2 × F ℓ 2 . h ( Ana ) = (1 , 3 , 010 , 110)  0 10 1 10   1  100 110 1 h ( Bea ) = (1 , 4 , 111 , 110)         h ( Cal ) = (1 , 4 , 111 , 010) 111 010 0     · ⃗ x =     h ( Dan ) = (1 , 2 , 010 , 110)  010 110   0          h ( Eli ) = (2 , 4 , 111 , 001) 111 001 0     001 1 h ( Fen ) = (3 , 3 , 111 , 110)

  15. Two log-sized Blocks per Line 1 Theorem 4 3 2 4 Hash Values Pick n = (1 + ε ) m , block size ℓ ∈ N and h : U → [ n / ℓ ] × [ n / ℓ ] × F ℓ 2 × F ℓ 2 . h ( Ana ) = (1 , 3 , 010 , 110)  0 10 1 10   1  100 110 1 h ( Bea ) = (1 , 4 , 111 , 110)         h ( Cal ) = (1 , 4 , 111 , 010) 111 010 0     · ⃗ x =     h ( Dan ) = (1 , 2 , 010 , 110)  010 110   0          h ( Eli ) = (2 , 4 , 111 , 001) 111 001 0     001 1 h ( Fen ) = (3 , 3 , 111 , 110) For a block size of ℓ = 4 log m such systems are solvable whp, provided that ε ≥ 27 log ( m )/ m .

  16. Two log-sized Blocks per Line 1 //O(1) 4 3 2 4 Hash Values Pick n = (1 + ε ) m , block size ℓ ∈ N and h : U → [ n / ℓ ] × [ n / ℓ ] × F ℓ 2 × F ℓ 2 .   0 1 h ( Ana ) = (1 , 3 , 010 , 110)  0 10 1 10   1    1   100 110   1 h ( Bea ) = (1 , 4 , 111 , 110) 0           0   h ( Cal ) = (1 , 4 , 111 , 010) 111 010   0     0   · =       h ( Dan ) = (1 , 2 , 010 , 110)  010 110   1   0        1       h ( Eli ) = (2 , 4 , 111 , 001) 111 001 1 0           1 001 1 h ( Fen ) = (3 , 3 , 111 , 110)   0   0 The retrieval data structure R = ( h ,⃗ x ) query ( u ) := ⟨ p 1 , x [ b 1 ] ⟩ ⊕ ⟨ p 2 , x [ b 2 ] ⟩ where h ( u ) = ( b 1 , b 2 , p 1 , p 2 ) and x [ b ] is the b -th block of x Memory Requirement: (1 + O ( log m m )) m bits.

  17. Efficient Construction

  18. O mC Contribution and Previous Work Word size w . Input partitioned into chunks of size C . w log C mC O [Por09] Paper log m [DP08] w m 5 [Maj+96; BPZ13] k [DP08] memory accesses query Slack t construct 3 0 . 23 O ( m ) O ( m 3 ) ≈ e − k O ( m 3 ) O ( log log m ) √ O (1) Ω( log log m log m ) O ( m ) O ( m 3 ) ⟨ this paper ⟩ 2 Θ( log m m )

  19. Contribution and Previous Work k Word size w . Input partitioned into chunks of size C . [Por09] m Paper log m [DP08] C 5 [DP08][ADR09; GOV16] [Maj+96; BPZ13] t construct memory accesses Slack query 3 0 . 23 O ( m ) O ( m 3 ) O ( mC 2 ≈ e − k + log m w ) O ( m 3 ) O ( log log m ) √ O (1) Ω( log log m log m ) O ( m ) O ( m 3 ) O ( mC 2 ⟨ this paper ⟩ 2 Θ( log m mC ) w log C )

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend