]> mj.ucw.cz Git - saga.git/blobdiff - appl.tex
Practical and parallel algorithms.
[saga.git] / appl.tex
index 82c2a1a9918d0e6e3c28456bb3c9a74edfdfac39..1b3b3da86058f8a3487de91bdb58eaf81419e364 100644 (file)
--- a/appl.tex
+++ b/appl.tex
@@ -144,4 +144,52 @@ There is also a~$\widetilde\O(n\cdot \poly(1/\varepsilon))$ time approximation
 algorithm for the MST weight in arbitrary metric spaces by Czumaj and Sohler \cite{czumaj:metric}.
 (This is still sub-linear since the corresponding graph has roughly $n^2$ edges.)
 
+%--------------------------------------------------------------------------------
+
+\section{Practical algorithms}
+
+So far, we were studying the theoretical aspects of the MST algorithms.
+How should we find the MST on a~real computer?
+
+Moret and Shapiro \cite{moret:expmst} have conducted an~extensive experimental
+study of performance of implementations of various MST algorithms on different
+computers. They have tested the algorithms on several sets of graphs, varying
+in the number of vertices (up to millions) and edge density (from constant to
+$n^{1/2}$. In almost all tests, the quickest algorithm was an~ordinary Prim's
+implemented with pairing heaps \cite{fredman:pairingheap}. The pairing heaps
+are known to perform surprisingly well in practice, but they still elude attempts
+at complete theoretical analysis. So far the best results are those of Pettie
+\cite{pettie:pairing}, who has proven that deletion of the minimum takes $\O(\log n)$
+time and all other operations $\O(2^{2\scriptscriptstyle\sqrt{\log\log n}})$; both bounds are amortized.
+
+The Moret's study however completely misses variants of the Bor\o{u}vka's algorithm
+and many of those have very promising characteristics, especially for planar graphs
+and minor-closed classes.
+
+Also, Katriel et al.~\cite{katriel:cycle} have proposed a~new algorithm based on~the
+Red rule. It is a~randomized algorithm which uses a~simplified form of the idea of edge
+filtering from the algorithm of Karger, Klein and Tarjan (see Section \ref{randmst}).
+The expected time complexity is slightly worse: $\O(n\log n + m)$. However, for dense
+graphs it performs very well in practice, even in comparison with the Moret's results.
+
+\paran{Parallel algorithms}
+Most of the early parallel algorithms for the MST are variants of the Bor\o{u}vka's algorithm.
+The operations on the individual trees are independent of each other, so they can run in parallel.
+There are $\O(\log n)$ steps and each of them can be executed in $\O(\log n)$ parallel time using
+standard PRAM techniques (see \cite{jaja:parallel} for the description of the model).
+
+Several better algorithms have been constructed, the best of which run in time $\O(\log n)$.
+Chong, Han and Lam \cite{chong:parallel} have recently discovered an~algorithm that achieves
+this time complexity even on the EREW PRAM --- the weakest of the parallel RAM's which does
+not allow concurrent reading nor writing to the same memory cell by multiple processors.
+In this model, the $\O(\log n)$ bound is clearly the best possible.
+
+As in the sequential models, the basic question still remains open: Is it
+possible to compute the MST in parallel on EREW PRAM, spending only linear
+work? This would of course imply existence of a~linear-time sequential
+algorithm, so none of the known parallel algorithms achieve that. Algorithms
+with linear work can be obtained by utilizing randomness, as shown for example
+by Pettie and Ramachandran \cite{pettie:minirand}, but so far only at the
+expense of higher time complexity.
+
 \endpart