230 likes | 374 Views
Time-Space Trade-Offs for 2D Range Minimum Queries. Gerth Stølting Brodal Pooya Davoodi Aarhus University S. Srinivasa Rao Seoul National University. 18 th Annual European Symposium on Algorithms , Liverpool, United Kingdom , September 8 , 2010. The 2D Range Minimum Problem.
E N D
Time-SpaceTrade-Offs for 2D Range Minimum Queries GerthStølting Brodal PooyaDavoodi Aarhus University S. SrinivasaRao Seoul National University 18thAnnual European Symposium onAlgorithms, Liverpool, United Kingdom, September 8, 2010
The 2D Range Minimum Problem j’ Preprocess an m x n-matrix of sizeN = n ∙ m, m ≤ n, to efficiently support range minimum queries RMQ([i1, i2]x[j1, j2]) = (i’, j’) Ai’, j’ = min{ Ai’’, j’’ | (i’’, j’’ )[i1,i2] x [j1,j2] }, (i’, j’ )[i1,i2]x[j1,j2] i’ Minimum
Models j’ Encoding model • Queriescanaccessdata structure but not input matrix Indexingmodel • Queriescanaccessdata structureand readinput matrix i’ Minimum
Some Trivial Examples... j’ i’ Minimum
1D Range Minimum Queries n Fischer and Heun (2007) NEW (matching upper bound) Fischer (Latin 2010)
2D Range Minimum Queries n NEW m m ≤ n 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 • BuildencodingO(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 • Considern/Cqueries for cn/cdifferent {0,1} inputs withexactlyonezero in eachblock • 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
Upper Bounds (2D, Indexing) O(1) time usingO(N)words Atallah and 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 blocksizes2ixc/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)
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, Encoding) • Translate input matrix into rank matrix usingO(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) . . 6 . . . 2 4 . .
1D Range Minimum Queries n Fischer and Heun (2007) NEW (matching upper bound) Fischer (Latin 2010)
2D Range Minimum Queries n NEW m m ≤ n ? NEW ? NEW Proof Demain et al. (2009)
Tau ∙ Jërë-jëf ∙ Tashakkur ∙ S.aHHa ∙ Sag olun Giihtu ∙ Djakujo ∙ Dâkujemvám ∙ Thank you Tesekkürederim ∙ To-siä ∙ Merci ∙ Tashakur Taing ∙ Dankon ∙ Efharisto´ ∙ Shukriya ∙ Kiitos Dhanyabad ∙ Rakhmat ∙ Trugarez ∙ Asante Köszönöm ∙ Blagodarya ∙ Dziekuje ∙ Eskerrikasko Grazie ∙ Tak ∙ Bayarlaa ∙ Miigwech ∙ Dank u Spasibo ∙ Dêkujivám ∙ Ngiyabonga ∙ Dziakuj Obrigado ∙ Gracias ∙ A dank aych ∙ Salamat Takk ∙ Arigatou ∙ Tack ∙ Tänan ∙ Aciu Korp kun kah ∙ Multumesk ∙ Terimakasih ∙ Danke Rahmat ∙ Gratias ∙ Mahalo ∙ Dhanyavaad Paldies ∙ Faleminderit ∙ Diolch ∙ Hvala Kam-sa-ham-ni-da ∙ Xìexìe ∙ Mèrcie ∙ Dankie ThankYou