Create Presentation
Download Presentation

Download Presentation

Time-Space Trade-Offs for 2D Range Minimum Queries

Download Presentation
## Time-Space Trade-Offs for 2D Range Minimum Queries

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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