Results 1 - 10
of
55
Small-Bias Probability Spaces: Efficient Constructions and Applications
- SIAM J. Comput
, 1993
"... We show how to efficiently construct a small probability space on n binary random variables such that for every subset, its parity is either zero or one with "almost" equal probability. They are called ffl-biased random variables. The number of random bits needed to generate the random variables is ..."
Abstract
-
Cited by 227 (14 self)
- Add to MetaCart
We show how to efficiently construct a small probability space on n binary random variables such that for every subset, its parity is either zero or one with "almost" equal probability. They are called ffl-biased random variables. The number of random bits needed to generate the random variables is O(log n + log 1 ffl ). Thus, if ffl is polynomially small, then the size of the sample space is also polynomial. Random variables that are ffl-biased can be used to construct "almost" k-wise independent random variables where ffl is a function of k. These probability spaces have various applications: 1. Derandomization of algorithms: many randomized algorithms that require only k- wise independence of their random bits (where k is bounded by O(log n)), can be derandomized by using ffl-biased random variables. 2. Reducing the number of random bits required by certain randomized algorithms, e.g., verification of matrix multiplication. 3. Exhaustive testing of combinatorial circui...
Identifying the minimal transversals of a hypergraph and related problems
- SIAM Journal on Computing
, 1995
"... The paper considers two decision problems on hypergraphs, hypergraph saturation and recognition of the transversal hypergraph, and discusses their significance for several search problems in applied computer science. Hypergraph saturation, i.e., given a hypergraph H, decide if every subset of vertic ..."
Abstract
-
Cited by 114 (7 self)
- Add to MetaCart
The paper considers two decision problems on hypergraphs, hypergraph saturation and recognition of the transversal hypergraph, and discusses their significance for several search problems in applied computer science. Hypergraph saturation, i.e., given a hypergraph H, decide if every subset of vertices is contained in or contains some edge of H, is shown to be co-NP-complete. A certain subproblem of hypergraph saturation, the saturation of simple hypergraphs, is shown to be computationally equivalent to transversal hypergraph recognition, i.e., given two hypergraphs H 1; H 2, decide if the sets in H 2 are all the minimal transversals of H 1. The complexity of the search problem related to the recognition of the transversal hypergraph, the computation of the transversal hypergraph, is an open problem. This task needs time exponential in the input size, but it is unknown whether an output-polynomial algorithm exists for this problem. For several important subcases, for instance if an upper or lower bound is imposed on the edge size or for acyclic hypergraphs, we present output-polynomial algorithms. Computing or recognizing the minimal transversals of a hypergraph is a frequent problem in practice, which is pointed out by identifying important applications in database theory, Boolean switching theory, logic, and AI, particularly in model-based diagnosis.
On The Power Of Two-Points Based Sampling
- Journal of Complexity
, 1989
"... The purpose of this note is to present a new sampling technique and to demonstrate some of its properties. The new technique consists of picking two elements at random, and deterministically generating (from them) a long sequence of pairwise independent elements. The sequence is guarantees to inters ..."
Abstract
-
Cited by 84 (15 self)
- Add to MetaCart
The purpose of this note is to present a new sampling technique and to demonstrate some of its properties. The new technique consists of picking two elements at random, and deterministically generating (from them) a long sequence of pairwise independent elements. The sequence is guarantees to intersect, with high probability, any set of non-negligible density. 1. Introduction In recent years the role of randomness in computation has become more and more dominant. Randomness was used to speed up sequential computations (e.g. primality testing, testing polynomial identities etc.), but its effect on parallel and distributed computation is even more impressive. In either cases the solutions are typically presented such that they are guarateed to produce the desired result with some non-negligible probability. It is implicitly suggested that if a higher degree of confidence is required the algorithm should be run several times, each time using different coin tosses. Since the coin tosses f...
A Functional Approach to External Graph Algorithms
- Algorithmica
, 1998
"... . We present a new approach for designing external graph algorithms and use it to design simple external algorithms for computing connected components, minimum spanning trees, bottleneck minimum spanning trees, and maximal matchings in undirected graphs and multi-graphs. Our I/O bounds compete w ..."
Abstract
-
Cited by 81 (1 self)
- Add to MetaCart
. We present a new approach for designing external graph algorithms and use it to design simple external algorithms for computing connected components, minimum spanning trees, bottleneck minimum spanning trees, and maximal matchings in undirected graphs and multi-graphs. Our I/O bounds compete with those of previous approaches. Unlike previous approaches, ours is purely functional---without side effects---and is thus amenable to standard checkpointing and programming language optimization techniques. This is an important practical consideration for applications that may take hours to run. 1 Introduction We present a divide-and-conquer approach for designing external graph algorithms, i.e., algorithms on graphs that are too large to fit in main memory. Our approach is simple to describe and implement: it builds a succession of graph transformations that reduce to sorting, selection, and a recursive bucketing technique. No sophisticated data structures are needed. We apply our t...
The algorithmic aspects of the Regularity Lemma
- J. Algorithms
, 1994
"... The Regularity Lemma of Szemerédi is a result that asserts that every graph can be par-titioned in a certain regular way. This result has numerous applications, but its known proof is not algorithmic. Here we first demonstrate the computational difficulty of finding a regular partition; we show that ..."
Abstract
-
Cited by 78 (24 self)
- Add to MetaCart
The Regularity Lemma of Szemerédi is a result that asserts that every graph can be par-titioned in a certain regular way. This result has numerous applications, but its known proof is not algorithmic. Here we first demonstrate the computational difficulty of finding a regular partition; we show that deciding if a given partition of an input graph satisfies the properties guaranteed by the lemma is co-NP-complete. However, we also prove that despite this difficulty the lemma can be made constructive; we show how to obtain, for any input graph, a partition with the properties guaranteed by the lemma, efficiently. The desired partition, for an n-vertex graph, can be found in time O(M(n)), where M(n) = O(n 2.376) is the time needed to multiply two n by n matrices with 0, 1-entries over the integers. The algorithm can be parallelized and implemented in NC 1. Besides the curious phenomenon of exhibiting a natural problem in which the search for a solution is easy whereas the decision if a given instance is a solution is difficult (if P and NP differ), our constructive version of the Regularity Lemma supplies efficient sequential and parallel algorithms for many problems, some of which are naturally motivated by the study of various graph embedding and graph coloring problems.
Network Decomposition and Locality in Distributed Computation (Extended Abstract)
, 1989
"... ) Baruch Awerbuch Department of Mathematics and Laboratory for Computer Science M.I.T. Cambridge, MA 02139 Andrew V. Goldberg y Department of Computer Science Stanford University Stanford, CA 94305 Michael Luby z International Computer Science Institute Berkeley, CA 94704 Serge A. Plo ..."
Abstract
-
Cited by 73 (6 self)
- Add to MetaCart
) Baruch Awerbuch Department of Mathematics and Laboratory for Computer Science M.I.T. Cambridge, MA 02139 Andrew V. Goldberg y Department of Computer Science Stanford University Stanford, CA 94305 Michael Luby z International Computer Science Institute Berkeley, CA 94704 Serge A. Plotkin x Department of Computer Science Stanford University Stanford, CA 94305 May 1989 Abstract We introduce a concept of network decomposition, the essence of which is to partition an arbitrary graph into small-diameter connected components, such that the graph created by contracting each component into a single node has low chromatic number. We present an efficient distributed algorithm for constructing such a decomposition, and demonstrate its use for design of efficient distributed algorithms. Our method yields new deterministic distributed algorithms for finding a maximal independent set and for (\Delta + 1)-coloring of graphs with maximum degree \Delta. These algorithms run...
Parallel Symmetry-Breaking in Sparse Graphs
- SIAM J. Disc. Math
, 1987
"... We describe efficient deterministic techniques for breaking symmetry in parallel. These techniques work well on rooted trees and graphs of constant degree or genus. Our primary technique allows us to 3-color a rooted tree in O(lg n) time on an EREW PRAM using a linear number of processors. We use th ..."
Abstract
-
Cited by 60 (2 self)
- Add to MetaCart
We describe efficient deterministic techniques for breaking symmetry in parallel. These techniques work well on rooted trees and graphs of constant degree or genus. Our primary technique allows us to 3-color a rooted tree in O(lg n) time on an EREW PRAM using a linear number of processors. We use these techniques to construct fast linear processor algorithms for several problems, including (\Delta + 1)-coloring constantdegree graphs and 5-coloring planar graphs. We also prove lower bounds for 2-coloring directed lists and for finding maximal independent sets in arbitrary graphs. 1 Introduction Some problems for which trivial sequential algorithms exist appear to be much harder to solve in a parallel framework. When converting a sequential algorithm to a parallel one, at each step of the parallel algorithm we have to choose a set of operations which may be executed in parallel. Often, we have to choose these operations from a large set A preliminary version of this paper appear...
Derandomization, witnesses for Boolean matrix multiplication and construction of perfect hash functions
- Algorithmica
, 1996
"... Small sample spaces with almost independent random variables are applied to design efficient sequential deterministic algorithms for two problems. The first algorithm, motivated by the attempt to design efficient algorithms for the All Pairs Shortest Path problem using fast matrix multiplication, so ..."
Abstract
-
Cited by 55 (5 self)
- Add to MetaCart
Small sample spaces with almost independent random variables are applied to design efficient sequential deterministic algorithms for two problems. The first algorithm, motivated by the attempt to design efficient algorithms for the All Pairs Shortest Path problem using fast matrix multiplication, solves the problem of computing witnesses for the Boolean product of two matrices. That is, if A and B are two n by n matrices, and C = AB is their Boolean product, the algorithm finds for every entry Cij = 1 a witness: an index k so that Aik = Bkj = 1. Its running time exceeds that of computing the product of two n by n matrices with small integer entries by a polylogarithmic factor. The second algorithm is a nearly linear time deterministic procedure for constructing a perfect hash function for a given n-subset of {1,..., m}.
The probabilistic method yields deterministic parallel algorithms
- Journal of Computer and System Sciences
, 1989
"... We present a technique for converting RNC algorithms into NC algorithms. Our approach is based on a parallel implementation of the method of conditional probabilities. This method was used to convert probabilistic proofs of existence of combinatorial structures into polynomial time deterministic alg ..."
Abstract
-
Cited by 51 (5 self)
- Add to MetaCart
We present a technique for converting RNC algorithms into NC algorithms. Our approach is based on a parallel implementation of the method of conditional probabilities. This method was used to convert probabilistic proofs of existence of combinatorial structures into polynomial time deterministic algorithms. It has the apparent drawback of being extremely sequential in nature. We show certain general conditions under which it is possible to use this technique for devising deterministic parallel algorithms. We use our technique to devise an NC algorithm for the set balancing problem. This problem turns out to be a useful tool for parallel algorithms. Using our de-randomization method and the set balancing algorithm, we provide an NC algorithm for the lattice approximation problem. We also use the lattice approximation problem to bootstrap the set balancing algorithm, and the result is a more processor efficient algorithm. The set balancing algorithm also yields an NC algorithm for near-optimal edge coloring of simple graphs. Our methods also extend to the parallelization of various algorithms in computational geometry that rely upon the random sampling technique of Clarkson. Finally, our methods apply to constructing certain combinatorial structures, e.g. ...
Removing Randomness in Parallel Computation Without a Processor Penalty
- Journal of Computer and System Sciences
, 1988
"... We develop some general techniques for converting randomized parallel algorithms into deterministic parallel algorithms without a blowup in the number of processors. One of the requirements for the application of these techniques is that the analysis of the randomized algorithm uses only pairwise in ..."
Abstract
-
Cited by 49 (1 self)
- Add to MetaCart
We develop some general techniques for converting randomized parallel algorithms into deterministic parallel algorithms without a blowup in the number of processors. One of the requirements for the application of these techniques is that the analysis of the randomized algorithm uses only pairwise independence. Our main new result is a parallel algorithm for coloring the vertices of an undirected graph using at most \Delta + 1 distinct colors in such a way that no two adjacent vertices receive the same color, where \Delta is the maximum degree of any vertex in the graph. The running time of the algorithm is O(log 3 n log log n) using a linear number of processors on a concurrent read, exclusive write (CREW) parallel random access machine (PRAM). 1 Our techniques also apply to several other problems, including the maximal independent set problem and the maximal matching problem. The application of the general technique to these last two problems is mostly of academic interest because...

