Algorithms and Data Structures for External Memory
Algorithms and Data Structures for External Memory
Algorithms and Data Structures for External Memory
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.