230 likes | 335 Vues
Time-Space Trade-Offs for 2D Range Minimum Queries. Joint work with Gerth Stølting Brodal and S. Srinivasa Rao. Pooya Davoodi Aarhus University. Aarhus University, September 1, 2010. The 2D Range Minimum Problem. j ’. Input: an m x n - matrix of size N = m ∙ n , m ≤ n.
E N D
Time-SpaceTrade-Offs for 2D Range Minimum Queries Joint work with Gerth Stølting Brodal and S. SrinivasaRao Pooya Davoodi Aarhus University AarhusUniversity, September 1, 2010
The 2D Range Minimum Problem j’ • Input: an m x n-matrix of size N = m ∙ n, m ≤ n. • Preprocess the matrix s.t. range minimum queries are efficiently supported. i’ Minimum
Models j’ Encoding model • Queries can access data structure but not input matrix Indexingmodel • Queriescanaccessdata structureand readinput matrix i’ Minimum
Some Trivial Examples... j’ i’ Minimum
1D Range Minimum Queries Fischer and Heun (2007) NEW NEW Fischer (Latin 2010)
2D Range Minimum Queries NEW NEW NEW Proof Demain et al. (2009)
LowerBound (1D, Encoding) • For each input array consider the Cartesiantree • Eachbinarytree is a possibleCartesiantree • RMQ queriescanreconstruct the Cartesiantree • # Cartesiantrees is • # bits ≥ = 2n - Θ(log n)
Upper Bound (1D, Encoding) • For an input array consider the Cartesiantree • Succintrepresentationusing4n+o(n) bits and O(1) query time (Sadakane 2007) • Improved to 2n+o(n) (Fischer 2010)
Upper Bounds (1D, Indexing) C • Build encoding O(n/c) bit structure for block minimums • RMQ = query to encodingstructure + 3c elements, i.e. query time O(c) block minimums (implicit)
LowerBounds (1D, Indexing) ThmSpace N/cbits impliesΩ(c)query time • Consider N/cqueries for cN/c different {0,1} inputs with exactly one zero in each block • cN/c / 2N/c inputs sharesome data structure • Everyquery is a decision tree of height≤d N/c q1 q2 qN/c
LowerBounds (1D, Indexing) cont. • Combinequeries to decision treeidentifying input • Prunenon-reachable branches # zeroesonanypath ≤ N/c • query time d = Ω(c) N/c q1 q2 qN/c • N
LowerBounds (2D, Indexing) C • As for 1D consider {0,1} matrices and partition the array intoblocks of c elements eachcontainingexactlyonezero • As for 1D an algorithmbeingable to identify the zero in eachblockusingN/c bits willrequiretime Ω(c)
Upper Bounds (2D, Indexing) • O(1) time using O(N)words Atallahand Yuan (SODA 2010) • Usingtwo-levels of recursion, tabulating micro-blocks of size loglogmxloglogn O(1) time usingO(N) bits
Upper Bounds (2D, Indexing) cont. • Thm O(N/c ∙ log c) bits and O(c logc)query time • Buildlog cindexingstructures for compressed matrices for blocksizes2i x c/2i, eachusingO(N/c) bits and canlocateO(1)blockswith minimum key in O(1) time • Query: O(1) blocks for eachblocksize in time O(c) + elements not covered by blocks in time O(c log c)
Upper Bounds (2D, Encoding) • Translate input matrix into rank matrix using O(N log n) bits • Applyindexstructure to rank matrix usingO(N) bits achievingO(1)query time input matrix rank matrix
NEW Proof LowerBound (2D, Encoding)Demaine et al. 2009 • Define a set of matrices where the RMQ answersdifferamong all matrices • Bits required is at least log = Ω(N log m)
1D Range Minimum Queries Fischer and Heun (2007) NEW (matching upper bound) Fischer (Latin 2010)
2D Range Minimum Queries NEW ? NEW ? NEW Proof Demain et al. (2009)