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 )

Recommend


More recommend