18,046 research outputs found
Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable
There has been significant recent interest in parallel graph processing due
to the need to quickly analyze the large graphs available today. Many graph
codes have been designed for distributed memory or external memory. However,
today even the largest publicly-available real-world graph (the Hyperlink Web
graph with over 3.5 billion vertices and 128 billion edges) can fit in the
memory of a single commodity multicore server. Nevertheless, most experimental
work in the literature report results on much smaller graphs, and the ones for
the Hyperlink graph use distributed or external memory. Therefore, it is
natural to ask whether we can efficiently solve a broad class of graph problems
on this graph in memory.
This paper shows that theoretically-efficient parallel graph algorithms can
scale to the largest publicly-available graphs using a single machine with a
terabyte of RAM, processing them in minutes. We give implementations of
theoretically-efficient parallel algorithms for 20 important graph problems. We
also present the optimizations and techniques that we used in our
implementations, which were crucial in enabling us to process these large
graphs quickly. We show that the running times of our implementations
outperform existing state-of-the-art implementations on the largest real-world
graphs. For many of the problems that we consider, this is the first time they
have been solved on graphs at this scale. We have made the implementations
developed in this work publicly-available as the Graph-Based Benchmark Suite
(GBBS).Comment: This is the full version of the paper appearing in the ACM Symposium
on Parallelism in Algorithms and Architectures (SPAA), 201
The complexity of counting locally maximal satisfying assignments of Boolean CSPs
We investigate the computational complexity of the problem of counting the
maximal satisfying assignments of a Constraint Satisfaction Problem (CSP) over
the Boolean domain {0,1}. A satisfying assignment is maximal if any new
assignment which is obtained from it by changing a 0 to a 1 is unsatisfying.
For each constraint language Gamma, #MaximalCSP(Gamma) denotes the problem of
counting the maximal satisfying assignments, given an input CSP with
constraints in Gamma. We give a complexity dichotomy for the problem of exactly
counting the maximal satisfying assignments and a complexity trichotomy for the
problem of approximately counting them. Relative to the problem #CSP(Gamma),
which is the problem of counting all satisfying assignments, the maximal
version can sometimes be easier but never harder. This finding contrasts with
the recent discovery that approximately counting maximal independent sets in a
bipartite graph is harder (under the usual complexity-theoretic assumptions)
than counting all independent sets.Comment: V2 adds contextual material relating the results obtained here to
earlier work in a different but related setting. The technical content is
unchanged. V3 (this version) incorporates minor revisions. The title has been
changed to better reflect what is novel in this work. This version has been
accepted for publication in Theoretical Computer Science. 19 page
An Algorithmic Metatheorem for Directed Treewidth
The notion of directed treewidth was introduced by Johnson, Robertson,
Seymour and Thomas [Journal of Combinatorial Theory, Series B, Vol 82, 2001] as
a first step towards an algorithmic metatheory for digraphs. They showed that
some NP-complete properties such as Hamiltonicity can be decided in polynomial
time on digraphs of constant directed treewidth. Nevertheless, despite more
than one decade of intensive research, the list of hard combinatorial problems
that are known to be solvable in polynomial time when restricted to digraphs of
constant directed treewidth has remained scarce. In this work we enrich this
list by providing for the first time an algorithmic metatheorem connecting the
monadic second order logic of graphs to directed treewidth. We show that most
of the known positive algorithmic results for digraphs of constant directed
treewidth can be reformulated in terms of our metatheorem. Additionally, we
show how to use our metatheorem to provide polynomial time algorithms for two
classes of combinatorial problems that have not yet been studied in the context
of directed width measures. More precisely, for each fixed , we show how to count in polynomial time on digraphs of directed
treewidth , the number of minimum spanning strong subgraphs that are the
union of directed paths, and the number of maximal subgraphs that are the
union of directed paths and satisfy a given minor closed property. To prove
our metatheorem we devise two technical tools which we believe to be of
independent interest. First, we introduce the notion of tree-zig-zag number of
a digraph, a new directed width measure that is at most a constant times
directed treewidth. Second, we introduce the notion of -saturated tree slice
language, a new formalism for the specification and manipulation of infinite
sets of digraphs.Comment: 41 pages, 6 figures, Accepted to Discrete Applied Mathematic
- …