Results 1  10
of
11
A new approach to the maximum flow problem
 Journal of the ACM
, 1988
"... Abstract. All previously known efftcient maximumflow algorithms work by finding augmenting paths, either one path at a time (as in the original Ford and Fulkerson algorithm) or all shortestlength augmenting paths at once (using the layered network approach of Dinic). An alternative method based on ..."
Abstract

Cited by 512 (31 self)
 Add to MetaCart
Abstract. All previously known efftcient maximumflow algorithms work by finding augmenting paths, either one path at a time (as in the original Ford and Fulkerson algorithm) or all shortestlength augmenting paths at once (using the layered network approach of Dinic). An alternative method based on the preflow concept of Karzanov is introduced. A preflow is like a flow, except that the total amount flowing into a vertex is allowed to exceed the total amount flowing out. The method maintains a preflow in the original network and pushes local flow excess toward the sink along what are estimated to be shortest paths. The algorithm and its analysis are simple and intuitive, yet the algorithm runs as fast as any other known method on dense. graphs, achieving an O(n)) time bound on an nvertex graph. By incorporating the dynamic tree data structure of Sleator and Tarjan, we obtain a version of the algorithm running in O(nm log(n’/m)) time on an nvertex, medge graph. This is as fast as any known method for any graph density and faster on graphs of moderate density. The algorithm also admits efticient distributed and parallel implementations. A parallel implementation running in O(n’log n) time using n processors and O(m) space is obtained. This time bound matches that of the ShiloachVishkin algorithm, which also uses n processors but requires O(n’) space.
Randomized routing and sorting on fixedconnection networks
 Journal of Algorithms
, 1994
"... This paper presents a general paradigm for the design of packet routing algorithms for fixedconnection networks. Its basis is a randomized online algorithm for scheduling any set of N packets whose paths have congestion c on any boundeddegree leveled network with depth L in O(c + L + log N) steps ..."
Abstract

Cited by 88 (13 self)
 Add to MetaCart
This paper presents a general paradigm for the design of packet routing algorithms for fixedconnection networks. Its basis is a randomized online algorithm for scheduling any set of N packets whose paths have congestion c on any boundeddegree leveled network with depth L in O(c + L + log N) steps, using constantsize queues. In this paradigm, the design of a routing algorithm is broken into three parts: (1) showing that the underlying network can emulate a leveled network, (2) designing a path selection strategy for the leveled network, and (3) applying the scheduling algorithm. This strategy yields randomized algorithms for routing and sorting in time proportional to the diameter for meshes, butterflies, shuffleexchange graphs, multidimensional arrays, and hypercubes. It also leads to the construction of an areauniversal network: an Nnode network with area Θ(N) that can simulate any other network of area O(N) with slowdown O(log N).
Parallel SymmetryBreaking 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 3color a rooted tree in O(lg n) time on an EREW PRAM using a linear number of processors. We use th ..."
Abstract

Cited by 73 (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 3color 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 5coloring planar graphs. We also prove lower bounds for 2coloring 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...
CommunicationEfficient Parallel Algorithms for Distributed RandomAccess Machines
 Algorithmica
, 1988
"... This paper introduces a model for parallel computation, called the distributed randomaccess machine (DRAM), in which the communication requirements of parallel algorithms can be evaluated. A DRAM is an abstraction of a parallel computer in which memory accesses are implemented by routing messages ..."
Abstract

Cited by 38 (2 self)
 Add to MetaCart
This paper introduces a model for parallel computation, called the distributed randomaccess machine (DRAM), in which the communication requirements of parallel algorithms can be evaluated. A DRAM is an abstraction of a parallel computer in which memory accesses are implemented by routing messages through a communication network. A DRAM explicitly models the congestion of messages across cuts of the network. We introduce the notion of a conservative algorithm as one whose communication requirements at each step can be bounded by the congestion of pointers of the input data structure across cuts of a DRAM. We give a simple lemma that shows how to "shortcut" pointers in a data structure so that remote processors can communicate without causing undue congestion. We give O(lg n)step, linearprocessor, linearspace, conservative algorithms for a variety of problems on n node trees, such as computing treewalk numberings, finding the separator of a tree, and evaluating all subexpressions ...
SublinearTime Parallel Algorithms for Matching and Related Problems
, 1988
"... This paper presents the first sublineartime deterministic parallel algorithms for bipartite matching and several related problems, including maximal nodedisjoint paths, depthfirst search, and flows in zeroone networks. Our results are based on a better understanding of the combinatorial struc ..."
Abstract

Cited by 33 (6 self)
 Add to MetaCart
This paper presents the first sublineartime deterministic parallel algorithms for bipartite matching and several related problems, including maximal nodedisjoint paths, depthfirst search, and flows in zeroone networks. Our results are based on a better understanding of the combinatorial structure of the above problems, which leads to new algorithmic techniques. In particular, we show how to use maximal matching to extend, in parallel, a current set of nodedisjoint paths and how to take advantage of the parallelism that arises when a large number of nodes are "active" during an execution of a pushrelabel network flow algorithm. We also show how to apply our techniques to design parallel algorithms for the weighted versions of the above problems. In particular, we present sublineartime deterministic parallel algorithms for finding a minimumweight bipartite matching and for finding a minimumcost flow in a network with zeroone capacities, if the weights are polynomially ...
Using Interior Point Methods for Fast Parallel Algorithms for Bipartite Matching and Related Problems
 SIAM J. Comput
, 1992
"... In this paper we use interiorpoint methods for linear programming, developed in the context of sequential computation, to obtain a parallel algorithm for the bipartite matching problem. Our algorithm finds a maximum cardinality matching in a bipartite graph with n nodes and m edges in O( p m l ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
In this paper we use interiorpoint methods for linear programming, developed in the context of sequential computation, to obtain a parallel algorithm for the bipartite matching problem. Our algorithm finds a maximum cardinality matching in a bipartite graph with n nodes and m edges in O( p m log 3 n) time on a CRCW PRAM. Our results extend to the weighted bipartite matching problem and to the zeroone minimumcost flow problem, yielding O( p m log 2 n log nC) algorithms, where C ? 1 is an upper bound on the absolute value of the integral weights or costs in the two problems, respectively. Our results improve previous bounds on these problems and introduce interiorpoint methods to the context of parallel algorithm design. 1 Introduction In this paper we use interiorpoint methods for linear programming, developed in the context of sequential computation, to obtain a parallel algorithm for the bipartite matching problem. Although Karp, Upfal, and Wigderson [6] have sho...
Faster Finding of Simple Cycles in Planar Graphs on a randomized EREWPRAM
 Proc. 2 nd Workshop on Randomized Parallel Computing
, 1997
"... We show that if a planar graph has a simple cycle of length k, where k is a fixed integer, such a cycle may be computed in O(log n) time by a randomized EREWPRAM with O(n) processors with high probability. This improves a previous result of [8]. The improvement relies on an efficient parallel algor ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
We show that if a planar graph has a simple cycle of length k, where k is a fixed integer, such a cycle may be computed in O(log n) time by a randomized EREWPRAM with O(n) processors with high probability. This improves a previous result of [8]. The improvement relies on an efficient parallel algorithm for computing a large independent set in a constantdegreebounded conflict graph, which is a natural method to avoid memory access conflicts in EREWPRAM graph algorithms. Many EREWPRAM algorithms use results from [6], [11], which can be used to compute such a set in O(log n) parallel time. This paper gives an O(1) time randomized algorithm using O(n) processors for that problem. This method can also be used to improve the randomized running time of many other EREWPRAM algorithms. 1 Introduction It is well known that finding the longest cycle in a graph is a hard problem, since finding a hamiltonian cycle is NPcomplete [10]. Hence finding a simple cycle of lenght k, for an arbi...
A Note on Improving the Running Time of a Class of Parallel Algorithms Using Randomization
, 1996
"... A natural method to avoid memory access conflicts in EREWPRAM graph algorithms is to compute a large independent set in a constantdegreebounded conflict graph. Many EREWPRAM algorithms use results from [CV 86], [GPS 87], which can be used to compute such a set in O(log n) parallel time. This p ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
A natural method to avoid memory access conflicts in EREWPRAM graph algorithms is to compute a large independent set in a constantdegreebounded conflict graph. Many EREWPRAM algorithms use results from [CV 86], [GPS 87], which can be used to compute such a set in O(log n) parallel time. This paper gives an O(1) time randomized algorithm using O(n) processors for that problem. Our algorithm improves with high probability the running time of many EREWPRAM algorithms. Institut fur Informatik V, Universitat Bonn, Romerstr. 164, D53117 Bonn, Germany, email: carsten@cs.unibonn.de y Institut fur Informatik V, Universitat Bonn, Romerstr. 164, D53117 Bonn, Germany, email: wirtgen@cs.unibonn.de 1 Introduction We consider the problem of computing an independent set of size\Omega\Gamma n) in a graph where the maximum degree is bounded by a constant on a randomized EREWPRAM. We present an O(1) time algorithm for this task which returns an independent set of size\Omega\Gamma n)...
Lecture 6: List contraction, tree contraction, and symmetry breaking 1 Workefficient list prefix
"... ad or tail, and then picking any headlabeled element which is not followed immediately by a headlabeled element. (In this scheme, the last element of the list is always chosen if it is a head.) The victims form an independent set (that is, a subset of the graph in which no two nodes are adjacent) ..."
Abstract
 Add to MetaCart
ad or tail, and then picking any headlabeled element which is not followed immediately by a headlabeled element. (In this scheme, the last element of the list is always chosen if it is a head.) The victims form an independent set (that is, a subset of the graph in which no two nodes are adjacent), since if an element is a victim, its successor is a tail and its predecessor is followed by a head (the victim itself) and so neither neighbor can also be a victim. 2. Splice out victims. The victims are then spliced out of the list by jumping the pointers of their predecessors over them. As each victim i is removed from the list, its value a i is pushed into its successor by setting the successor's value to be a i\Omega a i+1 . (Independence of victims guarantees that the successor is not al
Beyond Parallel RandomAccess Machines
"... and then to analyze the complexity of different problems in the model. However, if the model fails to reflect constraints in the real world, these analyses have limited practical importance. The parallel randomaccess machine (PRAM) is by far the most popular model of parallel computation. Hundreds ..."
Abstract
 Add to MetaCart
and then to analyze the complexity of different problems in the model. However, if the model fails to reflect constraints in the real world, these analyses have limited practical importance. The parallel randomaccess machine (PRAM) is by far the most popular model of parallel computation. Hundreds of algorithms have been designed for the PRAM. Yet, the PRAM ignores contraints on communication imposed by modern electronic packaging technology.