17.01.2013 Views

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

Algorithms and Data Structures for External Memory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.2 Lower Bounds <strong>for</strong> Sorting <strong>and</strong> Other Problems 63<br />

by N!/ � (N/K)! � K , which is the maximum number of permutations<br />

of N numbers having K distinct values. Solving <strong>for</strong> I + O gives the<br />

lower bound ٠� nmax � 1,log m(K/B) �� , which is equal to the desired<br />

lower bound <strong>for</strong> BundleSort(N,K) when K = B 1+Ω(1) or M = B 1+Ω(1) .<br />

Matias et al. [249] derive the remaining case of the lower bound <strong>for</strong><br />

BundleSort(N,K) by a potential argument based upon the derivation<br />

of the transposition lower bound (Theorem 7.2). Dividing by D gives<br />

the lower bound <strong>for</strong> D disks.<br />

Chiang et al. [105], Arge [30], Arge <strong>and</strong> Miltersen [45], Munagala<br />

<strong>and</strong> Ranade [264], <strong>and</strong> Erickson [150] give models <strong>and</strong> lower bound<br />

reductions <strong>for</strong> several computational geometry <strong>and</strong> graph problems.<br />

The geometry problems discussed in Chapter 8 are equivalent to sorting<br />

in both the internal memory <strong>and</strong> PDM models. Problems such<br />

as list ranking <strong>and</strong> expression tree evaluation have the same nonlinear<br />

I/O lower bound as permuting. Other problems such as connected<br />

components, biconnected components, <strong>and</strong> minimum spanning <strong>for</strong>est<br />

of sparse graphs with E edges <strong>and</strong> V vertices require as many I/Os as<br />

E/V instances of permuting V items. This situation is in contrast with<br />

the (internal memory) RAM model, in which the same problems can<br />

all be done in linear CPU time. In some cases there is a gap between<br />

the best known upper <strong>and</strong> lower bounds, which we examine further in<br />

Chapter 9.<br />

The lower bounds mentioned above assume that the data items are<br />

in some sense “indivisible,” in that they are not split up <strong>and</strong> reassembled<br />

in some magic way to get the desired output. It is conjectured<br />

that the sorting lower bound (5.1) remains valid even if the indivisibility<br />

assumption is lifted. However, <strong>for</strong> an artificial problem related to<br />

transposition, Adler [5] showed that removing the indivisibility assumption<br />

can lead to faster algorithms. A similar result is shown by Arge<br />

<strong>and</strong> Miltersen [45] <strong>for</strong> the decision problem of determining if N data<br />

item values are distinct. Whether the conjecture is true is a challenging<br />

theoretical open problem.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!