Complexity of finding embeddings in a k-tree
SIAM Journal on Algebraic and Discrete Methods
An introduction to the theory of lists
Proceedings of the NATO Advanced Study Institute on Logic of programming and calculi of discrete design
The monadic second-order logic of graphs. I. recognizable sets of finite graphs
Information and Computation
Polynomial algorithms for graph isomorphism and chromatic index on partial k-trees
Journal of Algorithms
Easy problems for tree-decomposable graphs
Journal of Algorithms
A Linear-Time Algorithm for Finding Tree-Decompositions of Small Treewidth
SIAM Journal on Computing
All structured programs have small tree width and good register allocation
Information and Computation
Introduction to Functional Programming
Introduction to Functional Programming
Complexity of domination-type problems in graphs
Nordic Journal of Computing
Improved Tree Decomposition Based Algorithms for Domination-like Problems
LATIN '02 Proceedings of the 5th Latin American Symposium on Theoretical Informatics
The Treewidth of Java Programs
ALENEX '02 Revised Papers from the 4th International Workshop on Algorithm Engineering and Experiments
Register allocation & spilling via graph coloring
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
Iterative-free program analysis
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Journal of Functional Programming
Towards automatic parallelization of tree reductions in dynamic programming
Proceedings of the eighteenth annual ACM symposium on Parallelism in algorithms and architectures
Parallel skeletons for manipulating general trees
Parallel Computing - Algorithmic skeletons
MapReduce: simplified data processing on large clusters
Communications of the ACM - 50th anniversary issue: 1958 - 2008
Parallel tree contraction and its application
SFCS '85 Proceedings of the 26th Annual Symposium on Foundations of Computer Science
Efficient Parallel Tree Reductions on Distributed Memory Environments
ICCS '07 Proceedings of the 7th international conference on Computational Science, Part II
The third homomorphism theorem on trees: downward & upward lead to divide-and-conquer
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Graph Twiddling in a MapReduce World
Computing in Science and Engineering
PEGASUS: A Peta-Scale Graph Mining System Implementation and Observations
ICDM '09 Proceedings of the 2009 Ninth IEEE International Conference on Data Mining
Hadoop: The Definitive Guide
TEDI: efficient shortest path query answering on graphs
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Pregel: a system for large-scale graph processing
Proceedings of the 2010 ACM SIGMOD International Conference on Management of data
Filtering: a method for solving graph problems in MapReduce
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
Towards systematic parallel programming over mapreduce
Euro-Par'11 Proceedings of the 17th international conference on Parallel processing - Volume Part II
Distributed GraphLab: a framework for machine learning and data mining in the cloud
Proceedings of the VLDB Endowment
Shortest-path queries for complex networks: exploiting low tree-width outside the core
Proceedings of the 15th International Conference on Extending Database Technology
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Treewidth governs the complexity of target set selection
Discrete Optimization
PowerGraph: distributed graph-parallel computation on natural graphs
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Combinatorial Optimization on Graphs of Bounded Treewidth
The Computer Journal
Hi-index | 0.00 |
Many graph optimization problems, such as the Maximum Weighted Independent Set problem, are NP-hard. For large scale graphs that have billions of edges or vertices, these problems are hard to be computed directly even using popular data-intensive frameworks like MapReduce or Pregel that are deployed on large computer-clusters, because of the extremely high computational complexity. On the other hand, many studies have shown the existence of polynomial time algorithms on graphs with bounded treewidth, which makes it possible to solve these problems on large graphs. However, the algorithms are usually difficult to be understood or parallelized. In this paper, we propose a novel programming framework which provides a user-friendly programming interface and automatic in-black-box parallelization. The programming interface, which is a simple and straightforward abstraction called Generate-Test-Aggregate (GTA for short), is used to describe a set of graph problems. We propose to derive bottom-up dynamic programming algorithms on tree decompositions from the user-specified GTA algorithms, and further transform the bottom-up algorithms to parallel ones which run in a divide-and-conquer manner on a list of subtrees. Besides, balanced tree partition strategies are discussed for efficient parallel computing. Our preliminary experimental results on the Maximum Weighted Independent Set problem demonstrate the practical viability of our approaches.