# Solving MaxSAT and #SAT on structured CNF formulas

In this paper we propose a structural parameter of CNF formulas and use it to identify instances of weighted MaxSAT and #SAT that can be solved in polynomial time. Given a CNF formula we say that a set of clauses is precisely satisfiable if there is some complete assignment satisfying these clauses only. Let the ps-value of the formula be the number of precisely satisfiable sets of clauses. Applying the notion of branch decompositions to CNF formulas and using ps-value as cut function, we define the ps-width of a formula. For a formula given with a decomposition of polynomial ps-width we show dynamic programming algorithms solving weighted MaxSAT and #SAT in polynomial time. Combining with results of 'Belmonte and Vatshelle, Graph classes with structured neighborhoods and algorithmic applications, Theor. Comput. Sci. 511: 54-65 (2013)' we get polynomial-time algorithms solving weighted MaxSAT and #SAT for some classes of structured CNF formulas. For example, we get O(m^2(m + n)s) algorithms for formulas F of m clauses and n variables and size s, if F has a linear ordering of the variables and clauses such that for any variable x occurring in clause C, if x appears before C then any variable between them also occurs in C, and if C appears before x then x occurs also in any clause between them. Note that the class of incidence graphs of such formulas do not have bounded clique-width.

## Authors

• 1 publication
• 12 publications
• 3 publications
• ### Backdoors to Acyclic SAT

Backdoor sets, a notion introduced by Williams et al. in 2003, are certa...
10/28/2011 ∙ by Serge Gaspers, et al. ∙ 0

• ### Local Backbones

A backbone of a propositional CNF formula is a variable whose truth valu...
04/19/2013 ∙ by Ronald de Haan, et al. ∙ 0

• ### Understanding the complexity of #SAT using knowledge compilation

Two main techniques have been used so far to solve the #P-hard problem #...
01/05/2017 ∙ by Florent Capelli, et al. ∙ 0

• ### Generating clause sequences of a CNF formula

Given a CNF formula Φ with clauses C_1,...,C_m and variables V={x_1,...,...
02/17/2020 ∙ by Kristóf Bérczi, et al. ∙ 0

• ### A criterion for "easiness" of certain SAT problems

A generalized 1-in-3SAT problem is defined and found to be in complexity...
07/01/2017 ∙ by Bernd. R. Schuh, et al. ∙ 0

• ### Understanding model counting for β-acyclic CNF-formulas

We extend the knowledge about so-called structural restrictions of #SAT ...
05/23/2014 ∙ by Johann Brault-Baron, et al. ∙ 0

• ### Hypergraph Acyclicity and Propositional Model Counting

We show that the propositional model counting problem #SAT for CNF- form...
01/24/2014 ∙ by Florent Capelli, et al. ∙ 0

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## 1 Introduction

Given a CNF formula, propositional model counting (#SAT) is the problem of computing the number of satisfying assignments, and maximum satisfiability (MaxSAT) is the problem of determining the maximum number of clauses that can be satisfied by some assignment. Both problems are significantly harder than simply deciding if a satisfying assignment exists. #SAT is #P-hard [9] even when restricted to Horn 2-CNF formulas, and to monotone 2-CNF formulas [19]. MaxSAT is NP-hard even when restricted to Horn 2-CNF formulas [13], and to 2-CNF formulas where each variable appears at most 3 times [17]. Both problems become tractable under certain structural restrictions obtained by bounding width parameters of graphs associated with formulas, see for example [7, 8, 20, 22]. The work we present here is inspired by the recent results of Paulusma et al [15] and Slivovsky and Szeider [21] showing that #SAT is solvable in polynomial time when the incidence graph of the input formula has bounded modular treewidth, and more strongly, bounded symmetric clique-width.

We extend these results in several ways. We give algorithms for both #SAT and MaxSAT, and also weighted MaxSAT, finding the maximum weight of satisfiable clauses, given a set of weighted clauses. We introduce the parameter -width, and express the runtime of our algorithms as a function of -width.

###### Theorem 3.

Given a formula over variables and clauses and of size , and a decomposition of of -width , we solve #SAT, and weighted MaxSAT in time .

Thus, given a decomposition having a -width that is polynomially-bounded in the number of variables and clauses of the formula, we get polynomial-time algorithms. These are dynamic programming algorithms similar to the one given for #SAT in [21], but we believe that the -width parameter is a better measure of its ’inherent runtime bottleneck’. The essential combinatorial result enabling this improvement is Lemma 5 of this paper. The algorithm of [21] solves #SAT in time for being the symmetric clique-width of the decomposition, and is thus a polynomial-time algorithm if given a decomposition with constantly bounded . The result of Theorem 3 encompasses this, since we show via the concept of MIM-width [23], that any formula with constantly bounded symmetric clique-width also has polynomially bounded -width.

We show that a relatively rich class of formulas, including classes of unbounded clique-width, have polynomially bounded -width. This is shown using the concept of MIM-width of graphs, introduced in the thesis of Vatshelle [23]. See Figure 1. In particular, this holds for classes of formulas having incidence graphs that can be represented as intersection graphs of certain objects, like interval graphs [1]. We prove this also for bigraph bipartizations of these graphs, which are obtained by imposing a bipartition on the vertex set and keeping only edges between the partition classes. Some such bigraph bipartizations have been studied previously, in particular the interval bigraphs. The interval bigraphs contain all bipartite permutation graphs, and these latter graphs have been shown to have unbounded clique-width [3].

By combining an alternative definition of interval bigraphs [11] with a fast recognition algorithm [14, 16] we arrive at the following. Say that a CNF formula has an interval ordering if there exists a linear ordering of variables and clauses such that for any variable occurring in clause , if appears before then any variable between them also occurs in , and if appears before then occurs also in any clause between them.

###### Theorem 10.

Given a CNF formula over variables and clauses and of size , we can in time decide if has an interval ordering (yes iff is an interval bigraph), and if yes we solve #SAT and weighted MaxSAT with a runtime of .

The algorithms of Theorem 10 may be of interest for practical applications, as there are no big hidden constants in the runtimes.

Our paper is organized as follows. In Section 2 we give formal definitions. We will be using a type of decomposition that originates in the theory of graphs and matroids where it is known as branch decomposition, see [10, 18]. The standard approach is to apply this type of decomposition to the incidence graph of a formula, and evaluate its width using as cut function a graph parameter, as done in [21]. The cut function we will use is not a graph parameter, but rather the -value of a formula, being the number of distinct subsets of clauses that are satisfied by some complete assignment. We thus prefer to apply the decomposition directly to the formula and not to its incidence graph, although the translation between the two will be straightforward. We define cuts of formulas and -width of a formula. Note that a formula can have -value exponential and -width polynomial. In Section 3 we present dynamic programming algorithms that given a formula and a decomposition solves #SAT and weighted MaxSAT, proving Theorem 3. In Section 4 we investigate classes of formulas having decompositions of low -width, basically proving the correctness of the hierarchy presented in Figure 1. In Section 5 we consider formulas having an interval ordering and prove Theorem 10. We end in Section 5 with some open problems.

## 2 Framework

A literal is a propositional variable or a negated variable, or , a clause is a set of literals, and a formula is a multiset of clauses. For a formula , denotes the clauses in . For a clause , denotes the set of literals in and denotes the variables of the literals in . For a set of variables and clauses, denotes the variables of and denotes the clauses. For a formula , denotes the union . For a set of variables, an assignment of is a function . For a literal , we define to be if is a negated variable ( for some variable ) and to be otherwise ( for some variable ). A clause is said to be satisfied by an assignment if there exists at least one literal so that . All clauses an assignment do not satisfy are said to be unsatisfied by . We notice that this means an empty clause will be unsatisfied by all assignments. A formula is satisfied by an assignment if satisfies all clauses in .

The problem #SAT, given a formula , asks how many distinct assignments of satisfy . The optimization problem weighted MaxSAT, given a formula and weight function , asks what assignment of maximizes for all satisfied by . The problem MaxSAT is weighted MaxSAT where all clauses have weight one. When given a CNF formula , we use to denote the size of . More precisely, the size of is . For weighted MaxSAT, we assume the sum of all the weights are at most , and thus we can do summation on the weights in time linear in .

For a set , with elements from a universe we denote by the elements in , as the universe is usually given by the context.

### 2.1 Cut of a formula

In this paper, we will solve MaxSAT and #SAT by the use of dynamic programming. We will be using a divide and conquer technique where we solve the problem on smaller subformulas of the original formula and then combine the solutions to each of these smaller formulas to form a solution to the entire formula . Note however, that the solutions found for a subformula will depend on the interaction between the subformula and the remainder of the formula. We use the following notation for subformulas.

For a clause and set of variables, by we denote the clause . We say is the clause induced by . For a formula and subsets and , we say the subformula of induced by and is the formula consisting of the clauses . That is, is the formula we get by removing all clauses not in followed by removing each literal that consists of a variable not in . As with a clause, for an assignment over a set of variables, we say the assignment induced by is the assignment where the domain is restricted to .

For a formula and sets , , and , we call a cut of and note that it breaks into four subformulas , , and See Figure 2. One important fact we may observe from this definition is that a clause in is satisfied by an assignment of , if and only if (induced by or ) is satisfied by in at least one of the formulas of any cut of .

### 2.2 Precisely satisfiable sets and ps-value of a formula

For a formula and assignment of all the variables in , we denote by the set so that each clause in is satisfied by , and each clause not in is unsatisfied by . If for a set we have for some over , we say is precisely satisfiable in . We denote by the family of all precisely satisfiable sets in . That is,

 PS(F)={sat(F,τ):τ is an assignment of var(F)}.

The cardinality of this set, , is referred to as the -value of .

### 2.3 The ps-width of a formula

We define a branch decomposition of a formula to be a pair where is a rooted binary tree and is a bijective function from the leaves of to the clauses and variables of . If all the non-leaf nodes (also referred to as internal nodes) of induce a path, we say that is a linear branch decomposition. For a non-leaf node of , we denote by the set . Based on this, we say that the decomposition of formula induces certain cuts of , namely the cuts defined by for each node in .

For a formula and branch decomposition , for each node in , by we denote the formula induced by the clauses in and the variables in , and by we denote the formula on the complement sets; i.e. the clauses in and the variables in . In other words, if with and then and . We define the -value of the cut to be

 ps(δ(v))=max{|PS(Fv)|,|PS(F¯v)|}

We define the -width of a branch decomposition to be

 psw(T,δ)=max{ps(δ(v)):v is a node of T}

We define the -width of a formula to be

 psw(F)=min{psw(T,δ):(T,δ) is a branch % decompositions of F}

Note that the -value of a cut is a symmetric function. That is, the -value of cut equals the -value of the cut . See Figure 2 for an example.

## 3 Dynamic programming for MaxSAT and #Sat

Given a branch decomposition of a CNF formula over variables and clauses and of size , we will give algorithms that solve MaxSAT and #SAT on in time .

In a pre-processing step we will need the following which, for each node in computes the sets and .

###### Theorem 1.

Given a CNF formula of variables and clauses with a branch decomposition of -width , we can in time compute the sets and for each in .

###### Proof.

We notice that for a node in with children and , we can express as

 PS(Fv)={(C1∪C2)∩cla(Fv):C1∈PS(Fc1),C2∈PS(Fc2)}.

Similarly, for sibling and parent of in , the set can be expressed as

 PS(F¯v)={(Cp∪Cs)∩cla(F¯v):Cp∈PS(F¯¯p),Cs∈PS(Fs)}.

By transforming these recursive expressions into a dynamic programming algorithm, as done in Procedure 1 and Procedure 2 below, we are able to calculate all the desired sets as long as we can compute the sets for the base cases when is a leaf of , and for the root of . However, these formulas contain at most one variable, and thus we can easily construct their set of specific satisfied clauses in linear amount of time for each of the formulas. For the rest of the formulas, we construct the formulas using Procedure 1 and Procedure 2. As there are at most twice as many nodes in as there are clauses and variables in , the procedures will run at most times. In each run of the algorithms, we iterate through at most pairs of precisely satisfiable sets, and do a constant number of set operations that might take time each. Then we sort the list of at most sets of clauses. When we sort, we can expect the runtime of comparing two elements to spend time linear in , so the total runtime for sorting and deleting duplicates takes at most time. This results in a total runtime of for all the nodes of combined. ∎

We first give the algorithm for MaxSAT and then briefly describe the changes necessary for solving weighted MaxSAT and #SAT.

Our algorithm relies on the following binary relation, , on assignments and related to a cut with , . For we define if it holds that . Note that for each cut and each this gives a total preorder (transitive, reflexive and total) on assignments. The largest elements of this total preorder will be important for our algorithm, as they satisfy the maximum number of clauses under the given restrictions.

Given of a formula our dynamic programming algorithm for MaxSAT will generate, for each node in , a table indexed by pairs of . For precisely satisfiable sets and the contents of the table at this index should be an assignment satisfying the following constraint:

 Tabv(Cv,C¯v)=τ such that sat(Fv,τ)=Cv and τ′≤C¯vδ(v)τ for any (1) τ′:var(δ(v))→{0,1} having sat(Fv,τ′)=Cv

Let us give some intuition for this constraint. Our algorithm uses the technique of ’expectation from the outside’ introduced in [4, 5]. The partial assignment to variables in stored at will be combined with partial assignments to variables in satisfying . These latter partial assignments constitute ’the expectation from the outside’. Constraint (1) implies that , being a largest element of the total preorder, will be a best combination with this expectation from the outside since it satisfies the maximum number of remaining clauses.

By bottom-up dynamic programming along the tree we compute the tables of each node of . For a leaf in , generating can be done easily in linear time since the formula contains at most one variable. For an internal node of , with children , we compute by the algorithm described in Procedure 3. There are 3 tables involved in this update, one at each child and one at the parent. A pair of entries, one from each child table, may lead to an update of an entry in the parent table. Each table entry is indexed by a pair, thus there are 6 indices involved in a single potential update. A clever trick first introduced in [5] allows us to loop over triples of indices and for each triple compute the remaining 3 indices forming the 6-tuple involved in the update, thereby reducing the runtime.

Procedure 3: Computing for inner node with children
input: , output:

1.
initialize // dummy entries
2. for each do
3.
4.
5.
6. 7. 8. if or then 9. return
###### Lemma 2.

For a CNF formula of size and an inner node , of a branch decomposition of -width , Procedure 3 computes satisfying Constraint (1) in time .

###### Proof.

We assume and satisfy Constraint (1). Procedure 3 loops over all triples . From the definition of -width of there are at most such triples. Each operation inside an iteration of the loop take time and there is a constant number of such operations. Thus the runtime is .

To show that the output of Procedure 3 satisfies Constraint (1), we will prove that for any and the value of satisfies Constraint (1). That is, we will assure that the content of is an assignment so that and for all other assignments over so that , we have .

Let us assume for contradiction, that contains an assignment but there exists an assignment over so that , and we do not have . As is put into only if it is an assignment over and . So, what we need to show to prove that is correct is that in fact :

First, we notice that consist of assignments and where is over the variables in and is over . Let and and let and . By how and is defined, we know for the assignment in and in , we have and . From our definition of the total preorder for assignments, we can deduce that ;

 ∣∣sat(Fv,τ′1⊎τ′2)∖C′∣∣ = ≤ = ∣∣sat(Fv,τ1⊎τ2)∖C′∣∣.

However, since at the iteration of the triple in fact is considered by the algorithm to be set as , it must be the case that . As clearly is a transitive relation, we conclude that . ∎

###### Theorem 3.

Given a formula over variables and clauses and of size , and a branch decomposition of of -width , we solve MaxSAT, #SAT, and weighted MaxSAT in time .

###### Proof.

To solve MaxSAT, we first compute for the root node of . This requires that we first compute and for all nodes of , and then, in a bottom up manner, compute for each of the nodes in . The former part we can do in time by Theorem 1, and the latter part we do in the same amount of time by Lemma 2.

At the root of we have . Thus and contains only empty clauses, so that contains only . By Constraint (1) and the definition of the total preorder on assignments, the assignment stored in is an assignment of maximizing , the number of clauses satisfied, and hence is a solution to MaxSAT.

For a weight function , by redefining to mean both for the definition of and for Procedure 3, we are able to solve the more general problem weighted MaxSAT in the same way.

For the problem #SAT, we care only about assignments satisfying all the clauses of , and we want to decide the number of distinct assignments doing so. This requires a few alterations. Firstly, alter the definition of the contents of in Constraint (1) to be the number of assignments over where and . Secondly, when computing for the leaves of , we set each of the entries of to either zero, one, or two, according to the definition. Thirdly, we alter the algorithm to compute (Procedure 3) for inner nodes. We initialize to be zero at the start of the algorithm, and substitute lines 6, 7 and 8 of Procedure 3 by the following line which increases the table value by the product of the table values at the children

 Tabv(Cv,C¯v)←Tabv(Cv,C¯v)+Tabc1(Cc1,C¯¯¯¯c1)⋅Tabc2(Cc2,C¯¯¯¯c2)

This will satisfy our new constraint of for internal nodes of . The value of at the root of will be exactly the number of distinct assignments satisfying all clauses of . ∎

The bottleneck giving the cubic factor in the runtime of Theorem 3 is the number triples in for any node with children and . When is a linear branch decomposition, it is always the case that either or is a leaf of . In this case either or is a constant. Therefore, for linear branch decompositions will contain no more than triples. Thus we can reduce the runtime of the algorithm by a factor of .

###### Theorem 4.

Given a formula over variables and clauses and of size , and a linear branch decomposition of of -width , we solve #SAT, MaxSAT, and weighted MaxSAT in time .

## 4 CNF formulas of polynomial ps-width

In this section we investigate classes of CNF formulas having decompositions with -width polynomially bounded in formula size . In particular, we show that this holds whenever the incidence graph of the formula has constant MIM-width (maximum induced matching-width). We also show that a large class of bipartite graphs, using what we call bigraph bipartizations, have constant MIM-width.

Let us start by defining bigraph bipartizations. For a graph and subset of vertices the bipartite graph is the subgraph of containing all edges of with exactly one endpoint in . We call a bigraph bipartization of , note that has a bigraph bipartization for each subset of vertices. For a graph class define the class of bigraphs as the bipartite graphs for which there exists such that is isomorphic to a bigraph bipartization of . For example, is an interval bigraph if there is some interval graph and some with isomorphic to .

To establish the connection to MIM-width we need to look at induced matchings in the incidence graph of a formula. The incidence graph of a formula is the bipartite graph having a vertex for each clause and variable, with variable adjacent to any clause in which it occurs. An induced matching in a graph is a subset of edges with the property that any edge of the graph is incident to at most one edge in . In other words, for any 3 vertices , if is an edge in and is an edge then there does not exist an edge in . The number of edges in is called the size of the induced matching. The following result provides an upper bound on the -value of a formula in terms of the maximum size of an induced matching of its incidence graph.

###### Lemma 5.

Let be a CNF formula and let be the maximum size of an induced matching in . We then have .

###### Proof.

Let and . Thus, there exists a complete assignment such that the clauses not satisfied by are . Since every variable in appears in some clause of this means that is the unique assignment of the variables in which do not satisfy any clause of . Let be an inclusion minimal set such that , hence is also the unique assignment of the variables in which do not satisfy any clause of . An upper bound on the number of different such minimal , over all , will give an upper bound on . For every there is a variable appearing in and no other clause of , otherwise would not be minimal. Note that we have an induced matching of containing all such edges . By assumption, the induced matching can have at most edges and hence . There are at most sets of at most clauses and the lemma follows. ∎

In order to lift this result on the -value of , i.e , to the -width of , we use MIM-width of the incidence graph , which is defined using branch decompositions of graphs. A branch decomposition of the formula , as defined in Section 2, can also be seen as a branch decomposition of the incidence graph . Nevertheless, for completeness, we formally define branch decompositions of graphs and MIM-width.

A branch decomposition of a graph is a pair where is a rooted binary tree and a bijection between the leaf set of and the vertex set of . For a node of let the subset of in bijection with the leaves of the subtree of rooted at be denoted by . We say the decomposition defines the cut . The MIM-value of a cut is the size of a maximum induced matching of . The MIM-width of is the maximum MIM-value over all cuts defined by a node of . The MIM-width of graph , denoted , is the minimum MIM-width over all branch decompositions of . As before a linear branch decomposition is a branch decomposition where inner nodes of the underlying tree induces a path.

We now give an upper bound on the -value of a formula in terms of the MIM-width of any graph such that the incidence graph of the formula is a bigraph bipartization of .

###### Theorem 6.

Let be a CNF formula of clauses, a graph, and a (linear) branch decomposition of of MIM-width . If for a subset the graph is isomorphic to , then we can in linear time produce a (linear) branch decomposition of having -width at most .

###### Proof.

Since each variable and clause in has a corresponding node in , and each node in has a corresponding node in , by defining to be the function mapping each leaf of to the variable or clause in corresponding to the node , is going to be a branch decomposition of . For any cut induced by a node of , let be the clauses corresponding to vertices in and the variables corresponding to vertices in . The cut of defines the two formulas and , and it holds that and are induced subgraphs of and hence by Lemma 5, we have , and likewise we have . Since the -width of the decomposition is the maximum -value of each cut, the theorem follows. ∎

Note that by taking and and letting be a branch decomposition of of minimum MIM-width, we get the following weaker result.

###### Corollary 7.

For any CNF formula over clauses, the -width of is no larger than .

In his thesis, Vatshelle [23] shows that MIM-width of any graph is at most the clique-width of . Furthermore, the clique-width has been shown by Courcelle [6] to be at most twice the symmetric clique-width. Thus, we can conclude that MIM-width is bounded on any graph class with a bound on the symmetric clique-width, in accordance with Figure 1.

Many classes of graphs have intersection models, meaning that they can be represented as intersection graphs of certain objects, i.e. each vertex is associated with an object and two vertices are adjacent iff their objects intersect. The objects used to define intersection graphs usually consist of geometrical objects such as lines, circles or polygons. Many well known classes of intersection graphs have constant MIM-width, as in the following which lists only a subset of the classes proven to have such bounds in [1, 23].

###### Theorem 8 ([1, 23]).

Let be a graph. If is a:
interval graph then .
circular arc graph then .
-trapezoid graph then .
Moreover there exist linear decompositions satisfying the bound.

Let us briefly mention the definition of these graph classes. A graph is an interval graph if it has an intersection model consisting of intervals of the real line. A graph is a circular arc graph if it has an intersection model consisting of arcs of a circle. To build a -trapezoid we start with parallel line segments and add two non-intersecting paths and by joining to and to respectively by straight lines for each . The polygon defined by and and the two line segments forms a -trapezoid. A graph is a -trapezoid graph if it has an intersection model consisting of -trapezoids. See [2] for information about graph classes and their containment relations. Combining Theorems 6 and 8 we get the following.

###### Corollary 9.

Let be a CNF formula containing clauses. If is a:
interval bigraph then .
circular arc bigraph then .
-trapezoid bigraph then .
Moreover there exist linear decompositions satisfying the bound.

## 5 Interval bigraphs and formulas having interval orders

We will in this section show one class of formulas where we can find linear branch decompositions having -width . Let us recall the definition of interval ordering. A CNF formula has an interval ordering if there exists a linear ordering of variables and clauses such that for any variable occurring in clause , if appears before then any variable between them also occurs in , and if appears before then occurs also in any clause between them. By a result of Hell and Huang  [11] it follows that a formula has an interval ordering if and only if is a interval bigraph.

###### Theorem 10.

Given a CNF formula over variables and clauses and of size , we can in time decide if has an interval ordering (yes iff is an interval bigraph), and if yes we solve #SAT and weighted MaxSAT with a runtime of .

###### Proof.

Using the characterization of  [11] and the algorithm of [16] we can in time decide if has an interval ordering and if yes, then we find it. From this interval ordering we build an interval graph such that is a bigraph bipartization of , and construct a linear branch decomposition of having MIM-width  [1]. From such a linear branch decomposition we get from Theorem 6 that we can construct another linear branch decomposition of having -width . We then run the algorithm of Theorem 4. ∎

## 6 Conclusion

In this paper we have proposed a structural parameter of CNF formulas, called -width or perfectly-satisfiable-width. We showed that weighted MaxSAT and #SAT can be solved in polynomial time on formulas given with a decomposition of polynomially bounded -width. Using the concept of interval bigraphs we also showed a polynomial time algorithm that actually finds such a decomposition, for formulas having an interval ordering.

Could one devise such an algorithm also for the larger class of circular arc bigraphs, or maybe even for the even larger class of -trapezoid bigraphs? In other words, is the problem of recognizing if a bipartite input graph is a circular arc bigraph, or a -trapezoid bigraph, polynomial-time solvable?

It could be interesting to give an algorithm solving MaxSAT and/or #SAT directly on the interval ordering of a formula, rather than using the more general notion of -width as in this paper. Maybe such an algorithm could be of practical use?

Also of practical interest would be to design a heuristic algorithm which given a formula finds a decomposition of relatively low

-width, as has been done for boolean-width in [12].

Finally, we hope the essential combinatorial result enabling the improvements in this paper, Lemma 5, may have other uses as well.

## References

• [1] Rémy Belmonte and Martin Vatshelle. Graph classes with structured neighborhoods and algorithmic applications. Theor. Comput. Sci., 511:54–65, 2013.
• [2] A. Brandstädt, V. Bang Le, and J. P. Spinrad. Graph Classes: A Survey, volume 3 of Monographs on Discrete Mathematics and Applications. SIAM Society for Industrial and Applied Mathematics, Philadelphia, 1999.
• [3] Andreas Brandstädt and Vadim V. Lozin. On the linear structure and clique-width of bipartite permutation graphs. Ars Comb., 67, 2003.
• [4] Binh-Minh Bui-Xuan, Jan Arne Telle, and Martin Vatshelle. H-join decomposable graphs and algorithms with runtime single exponential in rankwidth. Discrete Applied Mathematics, 158(7):809–819, 2010.
• [5] Binh-Minh Bui-Xuan, Jan Arne Telle, and Martin Vatshelle. Boolean-width of graphs. Theoretical Computer Science, 412(39):5187–5204, 2011.
• [6] Bruno Courcelle. Clique-width of countable graphs: a compactness property. Discrete Mathematics, 276(1-3):127–148, 2004.
• [7] Eldar Fischer, Johann A. Makowsky, and Elena V. Ravve. Counting truth assignments of formulas of bounded tree-width or clique-width. Discrete Applied Mathematics, 156(4):511–529, 2008.
• [8] Robert Ganian, Petr Hlinený, and Jan Obdrzálek. Better algorithms for satisfiability problems for formulas of bounded rank-width. Fundam. Inform., 123(1):59–76, 2013.
• [9] M. R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman, 1979.
• [10] James F. Geelen, Bert Gerards, and Geoff Whittle. Branch-width and well-quasi-ordering in matroids and graphs. J. COMBIN. THEORY SER. B, 84(2):270–290, 2002.
• [11] Pavol Hell and Jing Huang. Interval bigraphs and circular arc graphs. Journal of Graph Theory, 46(4):313–327, 2004.
• [12] Eivind Magnus Hvidevold, Sadia Sharmin, Jan Arne Telle, and Martin Vatshelle. Finding good decompositions for dynamic programming on dense graphs. In Dániel Marx and Peter Rossmanith, editors, IPEC, volume 7112 of Lecture Notes in Computer Science, pages 219–231. Springer, 2011.
• [13] Brigitte Jaumard and Bruno Simeone. On the complexity of the maximum satisfiability problem for horn formulas. Inf. Process. Lett., 26(1):1–4, 1987.
• [14] Haiko Müller. Recognizing interval digraphs and interval bigraphs in polynomial time. Discrete Applied Mathematics, 78(1-3):189–205, 1997.
• [15] Daniël Paulusma, Friedrich Slivovsky, and Stefan Szeider. Model counting for CNF formulas of bounded modular treewidth. In Natacha Portier and Thomas Wilke, editors, STACS, volume 20 of LIPIcs, pages 55–66. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2013.
• [16] Arash Rafiey. Recognizing interval bigraphs by forbidden patterns. CoRR, abs/1211.2662, 2012.
• [17] Venkatesh Raman, Bala Ravikumar, and S. Srinivasa Rao. A simplified NP-complete MAXSAT problem. Inf. Process. Lett., 65(1):1–6, 1998.
• [18] Neil Robertson and Paul D. Seymour. Graph minors X. obstructions to tree-decomposition. J. COMBIN. THEORY SER. B, 52(2):153–190, 1991.
• [19] Dan Roth. A connectionist framework for reasoning: Reasoning with examples. In William J. Clancey and Daniel S. Weld, editors, AAAI/IAAI, Vol. 2, pages 1256–1261. AAAI Press / The MIT Press, 1996.
• [20] Marko Samer and Stefan Szeider. Algorithms for propositional model counting. J. Discrete Algorithms, 8(1):50–64, 2010.
• [21] Friedrich Slivovsky and Stefan Szeider. Model counting for formulas of bounded clique-width. In Leizhen Cai, Siu-Wing Cheng, and Tak Wah Lam, editors, ISAAC, volume 8283 of Lecture Notes in Computer Science, pages 677–687. Springer, 2013.
• [22] Stefan Szeider. On fixed-parameter tractable parameterizations of SAT. In Enrico Giunchiglia and Armando Tacchella, editors, SAT, volume 2919 of Lecture Notes in Computer Science, pages 188–202. Springer, 2003.
• [23] Martin Vatshelle. New width parameters of graphs. PhD thesis, The University of Bergen, 2012.