18,046 research outputs found

    Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable

    Full text link
    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

    Get PDF
    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

    Full text link
    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 k,w∈Nk,w \in \mathbb{N}, we show how to count in polynomial time on digraphs of directed treewidth ww, the number of minimum spanning strong subgraphs that are the union of kk directed paths, and the number of maximal subgraphs that are the union of kk 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 zz-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
    • …
    corecore