Results 1  10
of
34
Programming Parallel Algorithms
, 1996
"... In the past 20 years there has been treftlendous progress in developing and analyzing parallel algorithftls. Researchers have developed efficient parallel algorithms to solve most problems for which efficient sequential solutions are known. Although some ofthese algorithms are efficient only in a th ..."
Abstract

Cited by 237 (11 self)
 Add to MetaCart
(Show Context)
In the past 20 years there has been treftlendous progress in developing and analyzing parallel algorithftls. Researchers have developed efficient parallel algorithms to solve most problems for which efficient sequential solutions are known. Although some ofthese algorithms are efficient only in a theoretical framework, many are quite efficient in practice or have key ideas that have been used in efficient implementations. This research on parallel algorithms has not only improved our general understanding ofparallelism but in several cases has led to improvements in sequential algorithms. Unf:ortunately there has been less success in developing good languages f:or prograftlftling parallel algorithftls, particularly languages that are well suited for teaching and prototyping algorithms. There has been a large gap between languages
Completeness results for Graph Isomorphism
, 2002
"... We prove that the graph isomorphism problem restricted to trees and to colored graphs with color multiplicities 2 and 3 is manyone complete for several complexity classes within NC². In particular we show that tree isomorphism, when trees are encoded as strings, is NC¹hard under AC0reductions ..."
Abstract

Cited by 27 (9 self)
 Add to MetaCart
We prove that the graph isomorphism problem restricted to trees and to colored graphs with color multiplicities 2 and 3 is manyone complete for several complexity classes within NC². In particular we show that tree isomorphism, when trees are encoded as strings, is NC¹hard under AC0reductions. NC¹completeness thus follows from Buss's NC¹ upper bound. By contrast, we prove that testing isomorphism of two trees encoded as pointer lists is Lcomplete. Concerning colored graphs we show that the isomorphism problem for graphs with color multiplicities 2 and 3 is complete for symmetric logarithmic space SL under manyone reductions. This result improves the existing upper bounds for the problem. We also show that the graph automorphism problem for colored graphs with color classes of size 2 is equivalent to deciding whether a graph has more than a single connected component and we prove that for color classes of size 3 the graph automorphism problem is contained in SL.
CEAL: a Cbased language for selfadjusting computation
 In ACM SIGPLAN Conference on Programming Language Design and Implementation
, 2009
"... Selfadjusting computation offers a languagecentric approach to writing programs that can automatically respond to modifications to their data (e.g., inputs). Except for several domainspecific implementations, however, all previous implementations of selfadjusting computation assume mostly functi ..."
Abstract

Cited by 24 (10 self)
 Add to MetaCart
(Show Context)
Selfadjusting computation offers a languagecentric approach to writing programs that can automatically respond to modifications to their data (e.g., inputs). Except for several domainspecific implementations, however, all previous implementations of selfadjusting computation assume mostly functional, higherorder languages such as Standard ML. Prior to this work, it was not known if selfadjusting computation can be made to work with lowlevel, imperative languages such as C without placing undue burden on the programmer. We describe the design and implementation of CEAL: a Cbased language for selfadjusting computation. The language is fully general and extends C with a small number of primitives to enable writing selfadjusting programs in a style similar to conventional C programs. We present efficient compilation techniques for translating CEAL programs into C that can be compiled with existing C compilers using primitives supplied by a runtime library for selfadjusting computation. We implement the proposed compiler and evaluate its effectiveness. Our experiments show that CEAL is effective in practice: compiled selfadjusting programs respond to small modifications to their data by orders of magnitude faster than recomputing from scratch while slowing down a fromscratch run by a moderate constant factor. Compared to previous work, we
Alogtime Algorithms for Tree Isomorphism, Comparison, and Canonization
 In Computational Logic and Proof Theory, 5th Kurt Godel Colloquium'97, Lecture Notes in Computer Science #1289
, 1997
"... The tree isomorphism problem is the problem of determining whether two trees are isomorphic. The tree canonization problem is the problem of producing a canonical tree isomorphic to a given tree. The tree comparison problem is the problem of determining whether one tree is less than a second tre ..."
Abstract

Cited by 21 (0 self)
 Add to MetaCart
(Show Context)
The tree isomorphism problem is the problem of determining whether two trees are isomorphic. The tree canonization problem is the problem of producing a canonical tree isomorphic to a given tree. The tree comparison problem is the problem of determining whether one tree is less than a second tree in a natural ordering on trees. We present alternating logarithmic time algorithms for the tree isomorphism problem, the tree canonization problem and the tree comparison problem. As a consequence, there is a recursive enumeration of the alternating log time tree problems.
Dynamic parallel tree contraction
 In Proceedings 5th Annual ACM Symp. on Parallel Algorithms and Architectures
, 1994
"... Parallel tree contraction has been found to be a useful and quite powerful tool for the design of a wide class of efficient graph algorithms. We propose a corresponding technique for the parallel solution of problems with incremental changes in the data. In dynamic tree contraction problems, we are ..."
Abstract

Cited by 19 (2 self)
 Add to MetaCart
Parallel tree contraction has been found to be a useful and quite powerful tool for the design of a wide class of efficient graph algorithms. We propose a corresponding technique for the parallel solution of problems with incremental changes in the data. In dynamic tree contraction problems, we are given an initial tree T, and then an online algorithm processes requests regarding T. Requests may be either incremental changes to T or requests for certain values computed using the tree. A simple example is maintaining the preorder numbering on a tree. The online algorithm would then have to handle incremental changes to the tree, and would also have to quickly answer queries about the preorder number of any tree node. Our dynamic algorithms are based on the prior parallel tree contraction algorithms, and hence we call such algorithms incremental tree contraction algorithms. By maintaining the connection between our incremental algorithms and the parallel tree contraction algorithm, we create incremental algorithms for tree contraction. We consider a dynamic binary tree T of ≤ n nodes and unbounded depth. We describe a procedure, which we call the dynamic parallel tree contraction algorithm, which incrementally processes various parallel modification requests and queries: (1) parallel requests to add or delete leaves of T, or modify labels of internal nodes or leaves of T, and also (2) parallel tree contraction queries which require recomputing values at specified nodes. Each modification or query is with respect to a set of nodes U in T. We make use of a random splitting tree as an aid
THE ISOMORPHISM PROBLEM FOR PLANAR 3CONNECTED GRAPHS IS IN UNAMBIGUOUS LOGSPACE
, 2008
"... The isomorphism problem for planar graphs is known to be efficiently solvable. For planar 3connected graphs, the isomorphism problem can be solved by efficient parallel algorithms, it is in the class AC¹. In this paper we improve the upper bound for planar 3connected graphs to unambiguous logspace ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
The isomorphism problem for planar graphs is known to be efficiently solvable. For planar 3connected graphs, the isomorphism problem can be solved by efficient parallel algorithms, it is in the class AC¹. In this paper we improve the upper bound for planar 3connected graphs to unambiguous logspace, in fact to UL ∩ coUL. As a consequence of our method we get that the isomorphism problem for oriented graphs is in NL. We also show that the problems are hard for L.
3connected planar graph isomorphism is in logspace
, 2008
"... We show that the isomorphism of 3connected planar graphs can be decided in deterministic logspace. This improves the previously known bound UL ∩ coUL of [13]. ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
We show that the isomorphism of 3connected planar graphs can be decided in deterministic logspace. This improves the previously known bound UL ∩ coUL of [13].
A c k n 5Approximation Algorithm for Treewidth
, 2013
"... We give an algorithm that for an input nvertex graph G and integer k> 0, in time O(c k n) either outputs that the treewidth of G is larger than k, or gives a tree decomposition of G of width at most 5k + 4. This is the first algorithm providing a constant factor approximation for treewidth which ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
We give an algorithm that for an input nvertex graph G and integer k> 0, in time O(c k n) either outputs that the treewidth of G is larger than k, or gives a tree decomposition of G of width at most 5k + 4. This is the first algorithm providing a constant factor approximation for treewidth which runs in time singleexponential in k and linear in n. Treewidth based computations are subroutines of numerous algorithms. Our algorithm can be used to speed up many such algorithms to work in time which is singleexponential in the treewidth and linear in the input size.
A Note on the Hardness of Tree Isomorphism
, 1997
"... In this note we prove that the tree isomorphism problem, when trees are encoded as strings, is NC¹hard under DLOGTIMEreductions. NC¹completeness thus follows from Buss's recent NC¹ upper bound. By contrast, we prove that testing isomorphism of two trees encoded as pointer lists is Lcomplete ..."
Abstract

Cited by 9 (3 self)
 Add to MetaCart
In this note we prove that the tree isomorphism problem, when trees are encoded as strings, is NC¹hard under DLOGTIMEreductions. NC¹completeness thus follows from Buss's recent NC¹ upper bound. By contrast, we prove that testing isomorphism of two trees encoded as pointer lists is Lcomplete.
Algorithm and experiments in testing planar graphs for isomorphism
 Journal of Graph Algorithms and Applications
"... Abstract We give an algorithm for isomorphism testing of planar graphs suitable for practical implementation. The algorithm is based on the decomposition of a graph into biconnected components and further into SPQRtrees. We provide a proof of the algorithm's correctness and a complexity analy ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Abstract We give an algorithm for isomorphism testing of planar graphs suitable for practical implementation. The algorithm is based on the decomposition of a graph into biconnected components and further into SPQRtrees. We provide a proof of the algorithm's correctness and a complexity analysis. We determine the conditions in which the implemented algorithm outperforms other graph matchers, which do not impose topological restrictions on graphs. We report experiments with our planar graph matcher tested against McKay's, Ullmann's, and SUBDUE's (a graphbased data mining system) graph matchers.