<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On the Enumeration of Tree Decompositions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nofar Carmeli</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Batya Kenig</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Benny Kimelfeld</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Israel Institute of Technology</institution>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Many intractable computational problems on graphs admit tractable algorithms
when applied to trees or forests. Tree decomposition extracts a tree structure
from a graph by grouping nodes into bags, where each bag corresponds to a
single node in of the tree. The corresponding operation on hypergraphs is that
of a generalized hypertree decomposition [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], which entails a tree
decomposition of the primal graph (which has the same set of nodes, and an edge
between every two nodes that co-occur in a hyperedge) and an assignment of a
hyperedge cover to each bag [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Tree decomposition and generalized
hypertree decomposition have a plethora of applications, including join optimization
in databases [
        <xref ref-type="bibr" rid="ref10 ref7">7, 10, 21</xref>
        ], constraint-satisfaction problems [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], computation of
Nash equilibria in games [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], analysis of probabilistic graphical models [18],
and weighted model counting [
        <xref ref-type="bibr" rid="ref16">16, 19</xref>
        ].
      </p>
      <p>
        Past research has focused on obtaining a \good" tree decomposition for the
given graph, where goodness is typically measured by means of the width|the
maximal cardinality of a bag. Nevertheless, nding a tree decomposition of a
minimal width is NP-hard [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Moreover, in various applications the measure of
goodness is di erent from (though related to) the width [
        <xref ref-type="bibr" rid="ref11 ref16">11,16</xref>
        ]. Abseher et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
empirically showed that the execution cost of dynamic programming algorithms
over a tree decomposition is highly sensitive to features of the tree decomposition
other than mere width; in particular, tree decompositions of the same width may
entail highly diverging running times on the same problem instance.
      </p>
      <p>
        In this paper, we describe our ongoing e ort on the task of enumerating all
(or a subset of) the tree decompositions of a graph. Such algorithms have been
proposed in the past for small graphs (representing database queries), without
complexity guarantees [
        <xref ref-type="bibr" rid="ref15">15, 21</xref>
        ]. Our main result so far is an enumeration
algorithm that runs in incremental polynomial time, and our current e orts are on
a practical and e ective implementation.
In this section we give some basic terminology.
      </p>
      <p>Graphs. The graphs in this work are undirected. For a graph g, the set of
nodes is denoted by V(g), and the set of edges (where an edge is a set fu; vg of
distinct nodes) is denoted by E(g).</p>
      <p>Tree Decomposition. A tree decomposition d of a graph g is a pair (t; ),
where t is a tree and : V(t) ! 2V(g) is a function that maps every node
of t into a set of nodes of g, so that (a) [v2V(t) (v) = V(g), (b) for every edge
e 2 E(g) there is a node v 2 V(t) such that e (v), and (c) for all u; v; w 2 V(t),
if v is on the path between u and w, then (v) contains (u) \ (w). For a tree
decomposition d = (t; ) and a node v of t, the set (v) is called a bag of d, and
we denote by bags(d) the set f (v) j v 2 V(t)g. Two tree decompositions d1 and
d2 are bag equivalent if bags(d1) = bags(d2).</p>
      <p>When enumerating tree decompositions, we wish to avoid the generation of
decompositions that are clearly useless. As an extreme example, if the input
graph is already a tree, then usual applications are not interested in any of
the tree decompositions (e.g., putting all nodes in a single bag) besides the
original tree itself. In a common algorithm over a tree decomposition, the bags
are the parts where an expensive (e.g., exponential-time) algorithm is applied.
In such cases, it will be bene cial to split a bag, or remove it altogether, if
possible. This leads to the notion of a proper tree decomposition. Formally, a
tree decomposition d of a graph g is said to be proper if there does not exist
any tree decomposition d0 of g such that (a) every bag of d0 is contained in some
bag of d, and (b) bags(d) 6 bags(d0). In particular, a proper tree decomposition
cannot be improved by removing or splitting a bag. For illustration, a chordal
graph (e.g., a tree) may have exponentially many tree decompositions, but only
a single tree decomposition up to bag equivalence.</p>
      <p>
        Chordality and Triangulation. Let g be a graph. For a cycle c in g, a chord
of c is an edge e 2 E(g) that connects two nodes that are non-adjacent in c. We
say that g is chordal if every cycle of g of length greater than three has a chord.
A triangulation of a graph g is a graph h such that V(g) = V(h), E(g) E(h),
and h is chordal. A minimal triangulation of g is a triangulation h of g with the
following property: for every graph h0 with V(g) = V(h0), if E(g) E(h0) ( E(h),
then h0 is non-chordal (i.e., h0 is not a triangulation of g). In particular, if g is
already chordal then g is the only minimal triangulation of itself.
Enumeration Algorithms. Our goal is to devise e cient algorithms for
enumerating (proper) tree decompositions. Polynomial running time is an
inadequate yardstick of e ciency for this problem, since it may be the case that the
number of tree decompositions is exponential. Johnson et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] introduced
several di erent notions of e ciency for enumeration algorithms, and we recall these
now. Polynomial total time means that the total execution time is polynomial
in the combined size of the input and the output. Incremental polynomial time
means that the delay after the N th answer (i.e., the time until the (N + 1)st
answer) is polynomial in N + n, where n is the size of the input. Finally,
polynomial delay means that the every delay is polynomial only in n. Observe that
polynomial delay is stronger than incremental polynomial time, which in turn is
stronger than polynomial total time.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Results</title>
      <p>We now describe some of the results we established so far in our ongoing research.
In search of an algorithm for enumerating tree decompositions, we started by
looking at the problem of enumerating minimal triangulations. Later, we will
discuss the connection between the two problems. The rst result states that we
can enumerate the minimal triangulations in incremental polynomial time.
Theorem 1. There is an algorithm that, given an input graph g, enumerates
the minimal triangulations of g in incremental polynomial time.</p>
      <p>
        The proof of Theorem 1 builds on the algorithm of Berry et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] for
enumerating all the minimal separators of a graph, a characterisation of minimal
triangulations by means of minimal separators, due to Parra and Sche er [20],
and an algorithm of Cohen et al. [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] for enumerating maximal node sets under
hereditary graph properties.
      </p>
      <p>
        The next result states the relationship between proper tree decompositions
and minimal triangulations. This result is obtained by combining known results
by Heggernes [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and Jordan [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>Proposition 1. Let g be a graph. There is a bijection M between the minimal
triangulations of g and the bag-equivalence classes of the proper tree
decompositions of g. The function M maps a minimal triangulation h of g to the proper
tree decompositions of g that have the maximal cliques of h as bags.</p>
      <p>
        Note that a maximal clique is a clique that is not properly contained in any
other clique. Let g be a graph, and let h be a triangulation of g. Let G be the
graph that has the maximal cliques of h as its node set, and an edge between
every two nodes, weighted by the size of the intersection of its incidents. The tree
decompositions that h maps to in Proposition 1 correspond to the
maximumweight spanning trees of G [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. It is known that the maximum-weight spanning
trees of a graph can be enumerated with polynomial delay [22]. Gavril [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] showed
that in chordal graphs the number of maximal cliques of h is at most the number
of nodes of h. Combining these results with Theorem 1 and Proposition 1, we
get the following corollary.
      </p>
      <p>Corollary 1. There is an algorithm that, given an input graph g, enumerates
the proper tree decompositions of g in incremental polynomial time.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Outlook</title>
      <p>
        So far, we have established an algorithm with complexity guarantees for
enumerating the minimal triangulations (and the proper tree decompositions) of
a graph. In the next steps, we plan to investigate the implementation of our
algorithm, in two aspects. The rst is that of e ciency : we plan to nd
techniques for optimizing and parallelising the computation (e.g., in the spirit of
previous algorithms of a similar nature [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]). The second aspect is that of a
partial enumeration: we plan to study the problem of enumerating a subset of the
minimal triangulations, and in particular explore the ability of utilizing
previous tree-decomposition algorithms [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for improving the overall quality of that
subset. In terms of theoretical directions, it remains open whether the minimal
triangulations can be enumerated with polynomial delay, and we plan to further
investigate this problem.
18. S. Lauritzen and D. J. Spiegelhalter. Local computations with probabilities on
graphical structures and their application to expert systems. Journal of the Royal
Statistical Society, B, 50(2):157{224, 1988.
19. W. Li, P. Poupart, and P. van Beek. Exploiting causal independence using weighted
model counting. In AAAI, pages 337{343. AAAI Press, 2008.
20. A. Parra and P. Sche er. Characterizations and algorithmic applications of chordal
graph embeddings. Discrete Applied Mathematics, 79(1-3):171{188, 1997.
21. S. Tu and C. Re. DunceCap: Query plans using generalized hypertree
decompositions. In SIGMOD, pages 2077{2078. ACM, 2015.
22. T. Yamada, S. Kataoka, and K. Watanabe. Listing all the minimum spanning trees
in an undirected graph. Int. J. Comput. Math., 87(14):3175{3185, 2010.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Abseher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dusberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Musliu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Woltran</surname>
          </string-name>
          .
          <article-title>Improving the e ciency of dynamic programming on tree decompositions via machine learning</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <volume>275</volume>
          {
          <fpage>282</fpage>
          . AAAI Press,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Arnborg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. G.</given-names>
            <surname>Corneil</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Proskurowski</surname>
          </string-name>
          .
          <article-title>Complexity of nding embeddings in ak-tree</article-title>
          .
          <source>SIAM Journal on Algebraic Discrete Methods</source>
          ,
          <volume>8</volume>
          (
          <issue>2</issue>
          ):
          <volume>277</volume>
          {
          <fpage>284</fpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Berry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Bordat</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Cogis</surname>
          </string-name>
          .
          <article-title>Generating all the minimal separators of a graph</article-title>
          . In P. Widmayer, G. Neyer, and S. Eidenbenz, editors,
          <source>WG</source>
          , volume
          <volume>1665</volume>
          of Lecture Notes in Computer Science, pages
          <volume>167</volume>
          {
          <fpage>172</fpage>
          . Springer,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>H. L.</given-names>
            <surname>Bodlaender</surname>
          </string-name>
          and
          <string-name>
            <surname>A. M. C.</surname>
          </string-name>
          <article-title>A. Koster. Treewidth computations i. upper bounds</article-title>
          .
          <source>Inf. Comput.</source>
          ,
          <volume>208</volume>
          (
          <issue>3</issue>
          ):
          <volume>259</volume>
          {
          <fpage>275</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>S.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Fadida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kanza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kimelfeld</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          .
          <article-title>Full disjunctions: Polynomial-delay iterators in action</article-title>
          .
          <source>In VLDB</source>
          , pages
          <volume>739</volume>
          {
          <fpage>750</fpage>
          . ACM,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>S.</given-names>
            <surname>Cohen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kimelfeld</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          .
          <article-title>Generating all maximal induced subgraphs for hereditary and connected-hereditary graph properties</article-title>
          .
          <source>J. Comput. Syst. Sci.</source>
          ,
          <volume>74</volume>
          (
          <issue>7</issue>
          ):
          <volume>1147</volume>
          {
          <fpage>1159</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>J.</given-names>
            <surname>Flum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Frick</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Grohe</surname>
          </string-name>
          .
          <article-title>Query evaluation via tree-decompositions</article-title>
          .
          <source>J. ACM</source>
          ,
          <volume>49</volume>
          (
          <issue>6</issue>
          ):
          <volume>716</volume>
          {
          <fpage>752</fpage>
          ,
          <string-name>
            <surname>Nov</surname>
          </string-name>
          .
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>F.</given-names>
            <surname>Gavril</surname>
          </string-name>
          .
          <article-title>The intersection graphs of subtrees in trees are exactly the chordal graphs</article-title>
          .
          <source>J. Combinatorial Theory</source>
          ,
          <volume>16</volume>
          :
          <fpage>47</fpage>
          {
          <fpage>56</fpage>
          ,
          <year>1974</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>K.</given-names>
            <surname>Golenberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Kimelfeld</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Sagiv</surname>
          </string-name>
          .
          <article-title>Optimizing and parallelizing ranked enumeration</article-title>
          .
          <source>PVLDB</source>
          ,
          <volume>4</volume>
          (
          <issue>11</issue>
          ):
          <volume>1028</volume>
          {
          <fpage>1039</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. G. Gottlob, G. Greco, and
          <string-name>
            <given-names>F.</given-names>
            <surname>Scarcello</surname>
          </string-name>
          .
          <article-title>Pure nash equilibria: Hard and easy games</article-title>
          .
          <source>J. Artif. Intell. Res. (JAIR)</source>
          ,
          <volume>24</volume>
          :
          <fpage>357</fpage>
          {
          <fpage>406</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. G. Gottlob,
          <string-name>
            <given-names>M.</given-names>
            <surname>Grohe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Musliu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Samer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Scarcello</surname>
          </string-name>
          .
          <article-title>Hypertree decompositions: Structure, algorithms, and applications</article-title>
          .
          <source>In WG</source>
          , volume
          <volume>3787</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>1</fpage>
          <lpage>{</lpage>
          15. Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>P.</given-names>
            <surname>Heggernes</surname>
          </string-name>
          . Treewidth,
          <article-title>partial k-trees, and chordal graphs</article-title>
          . unpublished,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. D. S. Johnson,
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Papadimitriou</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Yannakakis</surname>
          </string-name>
          .
          <article-title>On generating all maximal independent sets</article-title>
          .
          <source>Inf</source>
          . Process. Lett.,
          <volume>27</volume>
          (
          <issue>3</issue>
          ):
          <volume>119</volume>
          {
          <fpage>123</fpage>
          ,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>M.</given-names>
            <surname>Jordan</surname>
          </string-name>
          .
          <article-title>An Introduction to Probabilistic Graphical Models</article-title>
          , chapter
          <volume>17</volume>
          . University of California, Berkeley,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>O.</given-names>
            <surname>Kalinsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Etsion</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Kimelfeld</surname>
          </string-name>
          .
          <article-title>Flexible caching in trie joins</article-title>
          .
          <source>CoRR, abs/1602.08721</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>B.</given-names>
            <surname>Kenig</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Gal</surname>
          </string-name>
          .
          <article-title>On the impact of junction-tree topology on weighted model counting</article-title>
          .
          <source>In SUM</source>
          , volume
          <volume>9310</volume>
          of Lecture Notes in Computer Science, pages
          <volume>83</volume>
          {
          <fpage>98</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. P. G. Kolaitis and
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>Conjunctive-query containment and constraint satisfaction</article-title>
          .
          <source>J. Comput. Syst. Sci.</source>
          ,
          <volume>61</volume>
          (
          <issue>2</issue>
          ):
          <volume>302</volume>
          {
          <fpage>332</fpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>