Parallel Algorithms via the Probabilistic Method

We give an introduction to the design of parallel algorithms with the probabilistic method. Algorithms of this kind usually possess a randomized sequential counterpart. Parallelization of such algorithms is inherently linked with derandomization, either with the Erdős-Spencer method of conditional probabilities, or exhaustive search in a polynomial sized sample space. The key notation is the treatment of random variables with various concepts of only limited independence, leading to polynomial sized sample spaces with time and space efficient implementations of the conditional probability method. Starting with the definition of limited independence in Section 2, we discuss in Section 3 algorithms using limited independence in a more or less direct way: the maximal independent set algorithms of Luby (1986) [88], which marks the begin of the subject, and the algorithms due to Berger, Rompel (1989) [27] and Motwani, Naor, Naor (1989, 1994) [101] for parallel computation of low discrepancy colorings of hypergraphs and its extension to the lattice approximation problem. Although the lattice approximation problem can be viewed as a packing problem, the direct appli- cation of limited independence could not achieve parallel counterparts of well-known approximation algorithms for integer programs of packing type. An important step broadening the range of applicability has been the introduction of efficient paralleliza- � Supported by the Deutsche Forschungsgemeinschaft. 1 tion by so called fooling of automata by Karger and Koller [77] 1 , which is presented in Section 4. The idea is to simulate a randomized algorithm by deterministic finite automata on a probability distribution for which the number of strings with nonzero probability is polynomial in the input size, while the original probability distributions for the randomized algorithm typically lead to an exponential number of such strings. A similar approach giving a little stronger results for the lattice approximation prob- lem has been presented by Mahajan, Ramos, and Subrahmanyam [97]. Finally, in Section 5 we first show the impact of limited independence to a packing type problem, the multidimensional bin packing due to Srivastav and Stangier [130, 131] and then proceed to Srinivasan’s [126] parallel algorithm for general packing integer problems, which is based on the automata fooling and a nice compression of the (exponential) state space to polynomial size. A comprehensive treatment of all applications of the probabilistic method in parallelizing algorithms is beyond the scope of this chapter. Though, we have tried to include many topics in the bibliography and remarks at the end of the specific sections. The intention of this paper is to show the development of the method of k -wise independence in a straightforward way, starting with appli- cations where constant independence is sufficient, passing applications of log n -wise independence like discrepancy problems and reaching the applications to integer pro- gramming. We give the proofs in the first three sections in full detail so that also non-experts can find a selfcontained introduction to the subject with detailed proofs of processor and time bounds without tracing a list of papers with sometimes varying notations. The examinations of so far presented proofs lead to the revision of some processor and time bounds. The Sections 4 and 5 contain some state-of-the-art re- sults on parallel algorithms via the probabilistic method. Our emphasis there is on methodical aspects rather than completeness. There are numerous open problems in the area. In Section 6 we give a selection of them which we find not only appealing, but important beyond the scope of parallelization.