priority queues and sorting for read only data
play

Priority Queues and Sorting for Read-Only Data Tetsuo Asano 1 , Amr - PowerPoint PPT Presentation

Priority Queues and Sorting for Read-Only Data Tetsuo Asano 1 , Amr Elmasry 2 , and Jyrki Katajainen 3 , 4 1 Japan Advanced Institute for Science and Technology 2 Alexandria University 3 University of Copenhagen 4 Jyrki Katajainen and Company c


  1. Priority Queues and Sorting for Read-Only Data Tetsuo Asano 1 , Amr Elmasry 2 , and Jyrki Katajainen 3 , 4 1 Japan Advanced Institute for Science and Technology 2 Alexandria University 3 University of Copenhagen 4 Jyrki Katajainen and Company c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (1)

  2. Model of computation random access, read only input data: N elements x 0 x 1 x N − 1 word RAM random access, modifiable workspace: S bits output stream: sequential access, write only Related model: space-bounded Turing machine Motivation: special devices where working space is limited (mobile devices) and where writing is expensive (flash memories) c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (2)

  3. Online exercise: Selection sort 1. How would you modify selection sort so that it is suit- able for the space-bounded random-access machine? 2. What is the space-time trade-off of this algorithm? 3. Can you improve the space-time trade-off? c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (3)

  4. Problem: A priority queue for read-only data input data: N elements x 0 x 1 x N − 1 Q workspace: O ( S + w ) bits ( w word size, lg N ≤ S ≤ N/ lg N ) Operations for a priority queue Q Q. minimum () : Return the position of the minimum element in Q . Q. insert ( p ) : Insert the element at position p of the read-only array into Q . Q. extract ( p ) : Extract the element at position p of the read- only array from Q . c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (4)

  5. Market analysis Data structure Space minimum insert extract queue of pennants Θ( N lg N ) O (1) O (1) O (lg N ) navigation pile Θ( N ) O (1) O (lg N ) O (lg N ) adjustable binary heap Θ( S ) O (1) O ( N lg N/S + lg S ) O ( N lg N/S + lg S ) O ( N/S + lg 2 S ) O ( N/S 2 + lg S ) O ( N/S + lg S ) amort. common precursor Θ( S ) adjustable navigation pile Θ( S ) O (1) O (1) O ( N/S + lg S ) Beame 1991: The space-time product of any sorting al- gorithm is Ω( N 2 ). Pagter & Rauhe 1998: An optimal sorting algorithm is obtained by combining an adjustable binary heap and their adjustable priority queue. this paper: Simplification of the latter result; heapsort with an adjustable navigation pile gives the optimal sorting bound. c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (5)

  6. Application: Priority-queue sort procedure : priority - queue - sort input : A : read-only array of N elements; S : space target output : stream of elements produced by the print statements 1 P ← navigation - pile ( A, S ) 2 for x ∈ { 0 , 1 , . . . , N − 1 } P. insert ( x ) 3 4 repeat N times y ← P. minimum () 5 P. extract ( y ) 6 print ( A [ y ]) 7 Workspace: O ( S + w ) bits ( w word size in bits) Worst-case running time: O ( N 2 /S + N lg S ) (lg N ≤ S ≤ N/ lg N ) c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (6)

  7. Assumptions 1. N is known beforehand. 2. The elements are extracted from the data structure in monotonic fashion. 3. The elements are inserted into the data structure se- quentially in streaming-like fashion starting from the first element stored in the read-only input. input data: N elements x 0 x 1 x N − 1 Q workspace: O ( S + w ) bits ( w word size, lg N ≤ S ≤ N/ lg N ) c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (7)

  8. Memory-adjustable tournament tree 0 latest output: – pointer to the minimum 1 at position 4007 in the covered range 0 1 0 1 2 3 0 1 2 3 4 5 6 7 8 5 4 2 7 9 3 6 – nodes stored in breadth-first order S = 8; ⌈ N/S ⌉ elements per bucket c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (8)

  9. Memory-adjustable navigation pile – height h 0 latest output: – which bucket h bits 1 at position 4007 6 bits 011 | 011 – which quantile h bits 0 1 4 bits 11 | 01 11 | 11 0 1 2 3 2 bits – nodes stored in breadth-first order 0 | 0 1 | 0 1 | 0 1 | 1 8 lg ¯ S 5 ¯ 4 2 S · min { 2 h, ⌈ lg N ⌉} 7 < 4¯ � S bits – 9 2 h 3 6 h =1 S = 8; ⌈ N/S ⌉ elements per bucket S = 2 ⌈ lg S ⌉ ) (¯ c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (9)

  10. minimum • The last bucket in use is an 0 latest output: 1 at position 4007 6 bits 011 | 011 insertion buffer . • The second last bucket is a 0 1 4 bits 11 | 01 11 | 11 submersion buffer (if any). 0 1 2 3 • Maintain pointers to the min- 2 bits ima of the buffers and the 0 | 0 1 | 0 1 | 0 1 | 1 pile, and information where 8 5 4 2 7 the overall minimum is. 9 3 6 Worst-case running time: S = 8; ⌈ N/S ⌉ elements per bucket O (1) c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (10)

  11. insert • Insert into the insertion 0 latest output: 1 at position 4007 6 bits 011 | 011 buffer; perform part of the incremental submersion; up- 0 1 4 bits 11 | 01 11 | 11 date the minimum pointers 0 1 2 3 if necessary. 2 bits • If the insertion buffer is full, 0 | 0 1 | 0 1 | 0 1 | 1 make this buffer a submer- 8 5 4 2 7 sion buffer. 9 3 6 Worst-case running time: S = 8; ⌈ N/S ⌉ elements per bucket O (1) c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (11)

  12. extract • The work done when scan- ning the quantiles of the • Locate the correct bucket. siblings is proportional to • Insertion buffer: Update the � lg ¯ S � � S · 2 h ) N/ (¯ ≈ N/ ¯ S . minimum pointers. h =1 • Submersion buffer: Redo the Worst-case running time: whole submersion and update O ( N/S + lg S ) the minimum pointers. 0 latest output: • Pile: Find the minimum of 1 at position 4007 6 bits 011 | 011 the bucket; update the mini- 0 1 4 bits 11 | 01 11 | 11 mum pointers. 0 1 2 3 • Update the navigation infor- 2 bits mation on the path above. 0 | 0 1 | 0 1 | 0 1 | 1 • Scan the elements in the 8 5 4 2 quantiles of the siblings of 7 9 the nodes along the path. 3 6 S = 8; ⌈ N/S ⌉ elements per bucket c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (12)

  13. Open: Find the k th smallest of N elements Inventors Workspace in bits Running time O ( N 1+ ε ) Munro and Raman 1996 Θ(lg N ) Θ(lg 2 N ) O ( N lg 2 N ) Raman and Ramnath 1999 Θ(lg 3 N ) Frederickson 1987 O ( N lg N/ lg lg N ) Blum et al. 1973 Θ( N lg N ) Θ( N ) COCOON 2013 O ( N ) Θ( N ) • What is the correct worst-case space-time trade-off? • In the randomized case, the bound Θ( N lg log S N ) is tight for all S ≫ lg N . c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (13)

  14. Open: Compute the convex hull of N points • Is the space-time trade-off the same for this problem as for sorting? c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (14)

  15. Summary: The key techniques used 1. Node numbering with implicit links between nodes (as in a binary heap), 2. buffering, 3. incremental construction, 4. bit packing and unpacking, and 5. quantile thinning. c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (15)

  16. Further direction Siu Wing Cheng: Does the model and the algorithm ex- tend naturally to the external-memory case? I.e. cal- culate the number of I/Os and keep the input on a read-only media. My answer: The model extends naturally and may even be more relevant than the model considered by us. How- ever, the data structure does not extend optimally since the quantiles are scattered over the read-only input. c � Performance Engineering Laboratory TAMC 2013 in Hong Kong on 20 May, 2013 (16)

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