463 research outputs found

    An Experimental Study of the Treewidth of Real-World Graph Data

    Get PDF
    Treewidth is a parameter that measures how tree-like a relational instance is, and whether it can reasonably be decomposed into a tree. Many computation tasks are known to be tractable on databases of small treewidth, but computing the treewidth of a given instance is intractable. This article is the first large-scale experimental study of treewidth and tree decompositions of real-world database instances (25 datasets from 8 different domains, with sizes ranging from a few thousand to a few million vertices). The goal is to determine which data, if any, can benefit of the wealth of algorithms for databases of small treewidth. For each dataset, we obtain upper and lower bound estimations of their treewidth, and study the properties of their tree decompositions. We show in particular that, even when treewidth is high, using partial tree decompositions can result in data structures that can assist algorithms

    Partitioning the Bags of a Tree Decomposition into Cliques

    Get PDF
    We consider a variant of treewidth that we call clique-partitioned treewidth in which each bag is partitioned into cliques. This is motivated by the recent development of FPT-algorithms based on similar parameters for various problems. With this paper, we take a first step towards computing clique-partitioned tree decompositions. Our focus lies on the subproblem of computing clique partitions, i.e., for each bag of a given tree decomposition, we compute an optimal partition of the induced subgraph into cliques. The goal here is to minimize the product of the clique sizes (plus 1). We show that this problem is NP-hard. We also describe four heuristic approaches as well as an exact branch-and-bound algorithm. Our evaluation shows that the branch-and-bound solver is sufficiently efficient to serve as a good baseline. Moreover, our heuristics yield solutions close to the optimum. As a bonus, our algorithms allow us to compute first upper bounds for the clique-partitioned treewidth of real-world networks. A comparison to traditional treewidth indicates that clique-partitioned treewidth is a promising parameter for graphs with high clustering

    Parameterized Complexity of Chordal Conversion for Sparse Semidefinite Programs with Small Treewidth

    Full text link
    If a sparse semidefinite program (SDP), specified over n×nn\times n matrices and subject to mm linear constraints, has an aggregate sparsity graph GG with small treewidth, then chordal conversion will frequently allow an interior-point method to solve the SDP in just O(m+n)O(m+n) time per-iteration. This is a significant reduction over the minimum Ω(n3)\Omega(n^{3}) time per-iteration for a direct solution, but a definitive theoretical explanation was previously unknown. Contrary to popular belief, the speedup is not guaranteed by a small treewidth in GG, as a diagonal SDP would have treewidth zero but can still necessitate up to Ω(n3)\Omega(n^{3}) time per-iteration. Instead, we construct an extended aggregate sparsity graph G‟⊇G\overline{G}\supseteq G by forcing each constraint matrix AiA_{i} to be its own clique in GG. We prove that a small treewidth in G‟\overline{G} does indeed guarantee that chordal conversion will solve the SDP in O(m+n)O(m+n) time per-iteration, to Ï”\epsilon-accuracy in at most O(m+nlog⁥(1/Ï”))O(\sqrt{m+n}\log(1/\epsilon)) iterations. For classical SDPs like the MAX-kk-CUT relaxation and the Lovasz Theta problem, the two sparsity graphs coincide G=G‟G=\overline{G}, so our result provide a complete characterization for the complexity of chordal conversion, showing that a small treewidth is both necessary and sufficient for O(m+n)O(m+n) time per-iteration. Real-world SDPs like the AC optimal power flow relaxation have different graphs G⊆G‟G\subseteq\overline{G} with similar small treewidths; while chordal conversion is already widely used on a heuristic basis, in this paper we provide the first rigorous guarantee that it solves such SDPs in O(m+n)O(m+n) time per-iteration. [Supporting code at https://github.com/ryz-codes/chordalConv/
    • 

    corecore