Results 1 - 10
of
14
Applying parallel computation algorithms in the design of serial algorithms
- J. ACM
, 1983
"... Abstract. The goal of this paper is to point out that analyses of parallelism in computational problems have practical implications even when multiprocessor machines are not available. This is true because, in many cases, a good parallel algorithm for one problem may turn out to be useful for design ..."
Abstract
-
Cited by 224 (7 self)
- Add to MetaCart
Abstract. The goal of this paper is to point out that analyses of parallelism in computational problems have practical implications even when multiprocessor machines are not available. This is true because, in many cases, a good parallel algorithm for one problem may turn out to be useful for designing an efficient serial algorithm for another problem. A d ~ eframework d for cases like this is presented. Particular cases, which are discussed in this paper, provide motivation for examining parallelism in sorting, selection, minimum-spanning-tree, shortest route, max-flow, and matrix multiplication problems, as well as in scheduling and locational problems.
All Pairs Shortest Paths in weighted directed graphs -- exact and almost exact algorithms
, 1998
"... We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms. The first algorithm solves the APSP problem for weighted directed graphs in which the edge weights are integers of small abso ..."
Abstract
-
Cited by 35 (6 self)
- Add to MetaCart
We present two new algorithms for solving the All Pairs Shortest Paths (APSP) problem for weighted directed graphs. Both algorithms use fast matrix multiplication algorithms. The first algorithm solves the APSP problem for weighted directed graphs in which the edge weights are integers of small absolute value in ~ O(n 2+ ) time, where satisfies the equation !(1; ; 1) = 1 + 2 and !(1; ; 1) is the exponent of the multiplication of an n \Theta n matrix by an n \Theta n matrix. The currently best available bounds on !(1; ; 1), obtained by Coppersmith and Winograd, and by Huang and Pan, imply that ! 0:575. The running time of our algorithm is therefore O(n 2:575 ). Our algorithm improves on the ~ O(n (3+!)=2 ) time algorithm, where ! = !(1; 1; 1) ! 2:376 is the usual exponent of matrix multiplication, obtained by Alon, Galil and Margalit, whose running time is only known to be O(n 2:688 ). The second
Fast Approximation of Centrality
- Journal of Graph Algorithms and Applications
, 2001
"... Social studies researchers use graphs to model group activities in social networks. An important property in this context is the centrality of a vertex: the inverse of the average distance to each other vertex. We describe a randomized approximation algorithm for centrality in weighted graphs. For g ..."
Abstract
-
Cited by 23 (1 self)
- Add to MetaCart
Social studies researchers use graphs to model group activities in social networks. An important property in this context is the centrality of a vertex: the inverse of the average distance to each other vertex. We describe a randomized approximation algorithm for centrality in weighted graphs. For graphs exhibiting the small world phenomenon, our method estimates the centrality of all vertices with high probability within a (1 + #) factor in near-linear time. 1 Introduction In social network analysis, the vertices of a graph represent agents in a group and the edges represent relationships, such as communication or friendship. The idea of applying graph theory to analyze the connection between the structural centrality and group process was introduced by Bavelas [4]. Various measurement of centrality [7, 14, 15] have been proposed for analyzing communication activity, control, or independence within a social network. We are particularly interested in closeness centrality [5, 6, 24]...
Finding a maximum weight triangle in n 3−δ time, with applications
- In Proc. of STOC
, 2006
"... We present the first truly sub-cubic algorithms for finding a maximum node-weighted triangle in directed and undirected graphs with arbitrary real weights. The first is an O(B · n 3+ω 2) = O(B · n 2.688) deterministic algorithm, where n is the number of nodes, ω is the matrix multiplication exponen ..."
Abstract
-
Cited by 15 (8 self)
- Add to MetaCart
We present the first truly sub-cubic algorithms for finding a maximum node-weighted triangle in directed and undirected graphs with arbitrary real weights. The first is an O(B · n 3+ω 2) = O(B · n 2.688) deterministic algorithm, where n is the number of nodes, ω is the matrix multiplication exponent, and B is the number of bits of precision. The second is a strongly polynomial ran-domized algorithm that runs in O(n 3+ω 2 log n) expected worst-case time. To achieve this, we show how to efficiently sample a weighted triangle uniformly at random, out of just those triangles whose total weight falls in some prescribed interval (W1, W2) for arbitrary weights W1 and W2. Previous approaches to the problem resulted in time bounds with either an exponential dependence on B, or a runtime of the form Ω(n 3 /(log n) c). The algorithms are easily extended to finding a maximum node-weighted induced subgraph on 3k nodes in Õ(n (3+ω)k 2) = Õ(n2.688k) time. We give applications to a variety of problems, including a stable matching problem between buyers and sellers in computational economics, and discuss the possibility of extending our approach to a truly sub-cubic algorithm for computing all-pairs shortest paths on directed graphs with arbitrary weights. ∗ Both authors were supported by the NSF ALADDIN
Multihoming In Computer Networks: A Topology-Design Approach
- Computer Networks and ISDN Systems
, 1990
"... Multihoming in networks, i.e., attaching a subscriber to more than a single access point in the network, is a mechanism used to increase several performance criteria. In this paper we take the topological design view and address the problem of finding optimal multihoming configurations for several t ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
Multihoming in networks, i.e., attaching a subscriber to more than a single access point in the network, is a mechanism used to increase several performance criteria. In this paper we take the topological design view and address the problem of finding optimal multihoming configurations for several topological design criteria. We analyze the problem and demonstrate that except for dual homing, multihoming is algorithmically complex. Optimal algorithms based on maximum matching in graphs and 0-1 integer programming are given for all cases. I. INTRODUCTION Multihoming is a situation in which a network subscriber is attached to more than a single node of the network. It is a useful means of improving a number of performance characteristics. For example, it increases subscribers' availability by protecting both against the crash of his node and sometimes against network partitioning. Another aspect of performance improvement due to multihoming is that messages can be forwarded to a subsc...
Finding, minimizing, and counting weighted subgraphs
- In Proceedings of the Fourty-First Annual ACM Symposium on the Theory of Computing
, 2009
"... For a pattern graph H on k nodes, we consider the problems of finding and counting the number of (not necessarily induced) copies of H in a given large graph G on n nodes, as well as finding minimum weight copies in both nodeweighted and edge-weighted graphs. Our results include: • The number of cop ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
For a pattern graph H on k nodes, we consider the problems of finding and counting the number of (not necessarily induced) copies of H in a given large graph G on n nodes, as well as finding minimum weight copies in both nodeweighted and edge-weighted graphs. Our results include: • The number of copies of an H with an independent set of size s can be computed exactly in O ∗ (2 s n k−s+3) time. A minimum weight copy of such an H (with arbitrary real weights on nodes and edges) can be found in O(4 s+o(s) n k−s+3) time. (The O ∗ notation omits poly(k) factors.) These algorithms rely on fast algorithms for computing the permanent of a k × n matrix, over rings and semirings. • The number of copies of any H having minimum (or maximum) node-weight (with arbitrary real weights on nodes) can be found in O(n ωk/3 + n 2k/3+o(1) ) time, where ω < 2.4 is the matrix multiplication exponent and k is divisible by 3. Similar results hold for other values of k. Also, the number of copies having exactly a prescribed weight can be found within this time. These algorithms extend the technique of Czumaj and Lingas (SODA 2007) and give a new (algorithmic) application of multiparty communication complexity. • Finding an edge-weighted triangle of weight exactly 0 in general graphs requires Ω(n 2.5−ε) time for all ε> 0, unless the 3SUM problem on N numbers can be solved in O(N 2−ε) time. This suggests that the edge-weighted problem is much harder than its node-weighted version. 1
Dynamic programming and fast matrix multiplication
- of LNCS
, 2006
"... Abstract. We give a novel general approach for solving NP-hard optimization problems that combines dynamic programming and fast matrix multiplication. The technique is based on reducing much of the computation involved to matrix multiplication. We exemplify our approach on problems like Vertex Cover ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
Abstract. We give a novel general approach for solving NP-hard optimization problems that combines dynamic programming and fast matrix multiplication. The technique is based on reducing much of the computation involved to matrix multiplication. We exemplify our approach on problems like Vertex Cover, Dominating Set and Longest Path. Our approach works faster than the usual dynamic programming solution for any vertex subset problem on graphs of bounded branchwidth. In particular, we obtain the currently fastest algorithms for Planar Vertex Cover of runtime O(2 2.52 √ n), for Planar Dominating Set of runtime exact O(2 3.99 √ n) and parameterized O(2 11.98 √ k) · n O(1) , and for Planar Longest Path of runtime O(2 5.58 √ n). The exponent of the running time is depending heavily on the running time of the fastest matrix multiplication algorithm that is currently o(n 2.376). 1
Efficient Algorithms for Path Problems in Weighted Graphs
, 2008
"... Problems related to computing optimal paths have been abundant in computer science since its emergence as a field. Yet for a large number of such problems we still do not know whether the state-of-the-art algorithms are the best possible. A notable example of this phenomenon is the all pairs shorte ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Problems related to computing optimal paths have been abundant in computer science since its emergence as a field. Yet for a large number of such problems we still do not know whether the state-of-the-art algorithms are the best possible. A notable example of this phenomenon is the all pairs shortest paths problem in a directed graph with real edge weights. The best algorithm (modulo small polylogarithmic improvements) for this problem runs in cubic time, a running time known since the 1960s (by Floyd and Warshall). Our grasp of many such fundamental algorithmic questions is far from optimal, and the major goal of this thesis is to bring some new insights into efficiently solving path problems in graphs. We focus on several path problems optimizing different measures: shortest paths, maximum bottleneck paths, minimum nondecreasing paths, and various extensions. For the all-pairs versions of these path problems we use an algebraic approach. We obtain improved algorithms using reductions
Replacement Paths via Fast Matrix Multiplication
"... Abstract. Let G = (V, E) be a directed edge-weighted graph and let P be a shortest path from s to t in G. The replacement paths problem asks to compute, for every edge e on P, the shortest s-to-t path that avoids e. Apart from approximation algorithms and algorithms for special graph classes, the na ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. Let G = (V, E) be a directed edge-weighted graph and let P be a shortest path from s to t in G. The replacement paths problem asks to compute, for every edge e on P, the shortest s-to-t path that avoids e. Apart from approximation algorithms and algorithms for special graph classes, the naive solution to this problem – removing each edge e on P one at a time and computing the shortest s-to-t path each time – is surprisingly the only known solution for directed weighted graphs, even when the weights are integrals. In particular, although the related shortest paths problem has benefited from fast matrix multiplication, the replacement paths problem has not, and still required cubic time. For an n-vertex graph with integral edge-lengths in {−M,..., M}, we give a randomized Õ(Mn1+ 2 3 ω) = O(Mn 2.584) time algorithm that uses fast matrix multiplication and is sub-cubic for appropriate values of M. In particular, it runs in Õ(n1+ 2 3 ω) time if the weights are small (positive or negative) integers. We also show how to construct a distance sensitivity oracle in the same time bounds. A query (u, v, e) to this oracle requires sub-quadratic time and returns the length of the shortest u-to-v path that avoids the edge e. In fact, for any constant number of edge failures, we construct a data structure in sub-cubic time, that answer queries in sub-quadratic time. Our results also apply for avoiding vertices rather than edges. 1
All-Pairs Shortest Paths with a Sublinear Additive Error
"... We show that for every 0 ≤ p ≤ 1 there is an O(n 2.575−p/(7.4−2.3p) ) time algorithm that given a directed graph with small positive integer weights, estimates the length of the shortest path between every pair of vertices u, v in the graph to within an additive error δ p (u, v), where δ(u, v) is th ..."
Abstract
- Add to MetaCart
We show that for every 0 ≤ p ≤ 1 there is an O(n 2.575−p/(7.4−2.3p) ) time algorithm that given a directed graph with small positive integer weights, estimates the length of the shortest path between every pair of vertices u, v in the graph to within an additive error δ p (u, v), where δ(u, v) is the exact length of the shortest path between u and v. This algorithm runs faster than the fastest algorithm for computing exact shortest paths for any 0 < p ≤ 1. Previously the only way to “bit ” the running time of the exact shortest path algorithms was by applying an algorithm of Zwick [FOCS ’98] that approximates the shortest path distances within a multiplicative error of (1 + ɛ). Our algorithm thus gives a smooth qualitative and quantitative transition between the fastest exact shortest paths algorithm, and the fastest approximation algorithm with a linear additive error. In fact, the main ingredient we need in order to obtain the above result, which is also interesting in its own right, is an algorithm for computing (1 + ɛ) multiplicative approximations for the shortest paths, whose running time is faster than the running time of Zwick’s approximation algorithm when ɛ ≪ 1 and the graph has small integer weights.

