a simplified np-complete maxsat problem

6
ELSEVIER Information Processing Letters 65 ( 1998) 1-6 A simplified NP-complete MAXSAT problem Venkatesh Raman av*, B. Ravikumar b, S. Srinivasa Rao a a The Institute of Mathematical Sciences, C.I.T. Campus, Chennai 600 113, India b Department of Computer Science, University of Rhode Island, Kingston, RI 02881, USA Received 23 June 1997; revised 17 November 1997 Communicated by H. Ganzinger Abstract It is shown that the MAXZSAT problem is NP-complete even if every variable appears in at most three clauses. However, if every variable appears in at most two clauses, it is shown that it (and even the general MAXSAT problem) can be solved in linear time. When every variable appears in at most three clauses, we give an exact algorithm for MAXSAT that takes at most O( @*n) steps where II is the number of variables. @ 1998 Published by Elsevier Science B.V. Keywords: Computational complexity; Algorithms 1. Introduction A Boolean formula in conjunctive normal form with n variables and m clauses is called a (k, s)-formula [5] if every clause contains exactly k variables, and every variable occurs in at most s clauses. If every clause contains at most k variables, then we call such a formula a (<k, s)-formula. If there is no bound on the number of variables per clause, we will denote the corresponding formula a ( in, s) -formula if every variable appears in at most s clauses. We denote by (k, s)-SAT (respectively, (<k,s)- SAT) the SATISPIABILITY problem restricted to (k,s)- (respectively, (<k,s)-) formulas. That is, the (k, s)-SAT problem is: given a (k, s)-formula, is it satisfiable? It is known that (<3,3)-SAT is NP- complete [ 1I. Tovey [ lo] has shown that (<n, 2) - SAT can be solved in polynomial time. * Corresponding author. Email: [email protected]. When all clauses have the same number of vari- ables, Papadimitriou [ 81 has shown that (3,5) -SAT is NP-complete. Recently Tovey [ lo] has improved this to show that (3,4)-SAT is NP-complete and that every (3,3)-formula is satisfiable. It follows easily that these NP-complete results carry over to the MAXSAT problem (where we want to find the maximum number of clauses satisfiable) when each clause contains either exactly three or at most three variables. Here we address the analogous question for the MAXSAT problem restricted to instances where each clause contains at most two variables. Such instances are also called MAX2SAT instances. We denote by (k, s)-MAXSAT (respectively, (<k, s)-MAXSAT) the MAXSAT problem restricted to (k, s) - (respec- tively, (<k, s)-) formulas. The (decision version of the) (k, s) -MAXSAT problem is: given a (k, s)- formula, and an integer 1, is there an assignment to the variables that satisfies at least 1 clauses of the formula? We are interested in the following question: 0020-0190/98/$19.00 @ 1998 published by Elsevier Science B.V. All rights reserved. PZZSOO20-0190(97)00223-S

Upload: venkatesh-raman

Post on 02-Jul-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A simplified NP-complete MAXSAT problem

ELSEVIER Information Processing Letters 65 ( 1998) 1-6

A simplified NP-complete MAXSAT problem

Venkatesh Raman av*, B. Ravikumar b, S. Srinivasa Rao a a The Institute of Mathematical Sciences, C.I.T. Campus, Chennai 600 113, India

b Department of Computer Science, University of Rhode Island, Kingston, RI 02881, USA

Received 23 June 1997; revised 17 November 1997 Communicated by H. Ganzinger

Abstract

It is shown that the MAXZSAT problem is NP-complete even if every variable appears in at most three clauses. However, if every variable appears in at most two clauses, it is shown that it (and even the general MAXSAT problem) can be solved in linear time. When every variable appears in at most three clauses, we give an exact algorithm for MAXSAT that takes at most O( @*n) steps where II is the number of variables. @ 1998 Published by Elsevier Science B.V.

Keywords: Computational complexity; Algorithms

1. Introduction

A Boolean formula in conjunctive normal form with n variables and m clauses is called a (k, s)-formula [5] if every clause contains exactly k variables, and every variable occurs in at most s clauses. If every clause contains at most k variables, then we call such a formula a (<k, s)-formula. If there is no bound on the number of variables per clause, we will denote the corresponding formula a ( in, s) -formula if every variable appears in at most s clauses.

We denote by (k, s)-SAT (respectively, (<k,s)-

SAT) the SATISPIABILITY problem restricted to (k,s)- (respectively, (<k,s)-) formulas. That is, the (k, s)-SAT problem is: given a (k, s)-formula, is it satisfiable? It is known that (<3,3)-SAT is NP- complete [ 1 I. Tovey [ lo] has shown that (<n, 2) - SAT can be solved in polynomial time.

* Corresponding author. Email: [email protected].

When all clauses have the same number of vari- ables, Papadimitriou [ 81 has shown that (3,5) -SAT is NP-complete. Recently Tovey [ lo] has improved this to show that (3,4)-SAT is NP-complete and that every (3,3)-formula is satisfiable. It follows easily that these NP-complete results carry over to the MAXSAT problem (where we want to find the maximum number of clauses satisfiable) when each clause contains either exactly three or at most three variables.

Here we address the analogous question for the MAXSAT problem restricted to instances where each clause contains at most two variables. Such instances are also called MAX2SAT instances. We denote by (k, s)-MAXSAT (respectively, (<k, s)-MAXSAT) the MAXSAT problem restricted to (k, s) - (respec- tively, (<k, s)-) formulas. The (decision version of the) (k, s) -MAXSAT problem is: given a (k, s)-

formula, and an integer 1, is there an assignment to the variables that satisfies at least 1 clauses of the formula? We are interested in the following question:

0020-0190/98/$19.00 @ 1998 published by Elsevier Science B.V. All rights reserved. PZZ SOO20-0190(97)00223-S

Page 2: A simplified NP-complete MAXSAT problem

2 V Raman et al. /Infonmtion Processing Letters 65 (1998) I-6

what is the minimum s for which (2, s)-MAXSAT is NP-complete? The original reduction from 3SAT to MAX2SAT had some variable appearing 12 times [ 1,2] if we start from a 3SAT instance in which each variable appears at most 3 times. Jaumard and Simeone [3], while discussing the complexity of MAX2SAT for Horn formulas give a reduction from Vertex Cover to MAXSAT. If we start from a cubic graph in that reduction, then every variable in the resulting MAXSAT formula appears at most four times. This proves that the (<2,4)-MAXSAT problem is NP-complete. We reproduce this reduc- tion in the next section for completeness. Then, by a reduction from (<2,4)-MAXSAT, we show that (<2,3)-MAXSAT as well as (2,3)-MAXSAT are NP-complete.

In Section 3, we show that the (<n, 2)-MAXSAT problem can be solved in O(n) time where n is the number of variables. This also gives an O(n) algo- rithm which is simpler than Tovey’s for the (<n, 2)- SAT problem. In Section 4, we deal with exact al- gorithms for the MAXSAT problem along the lines of exact algorithms for the 3-SAT problem [6,7,9]. We show that the (Q, 3)-MAXSAT can be solved in 0( 3”i2n) time. Section 5 concludes with open prob- lems.

2. (2,3)-MAXSAT

First we observe the following from the reduction of Jaumard and Simeone [ 31.

Lemma 1. ( <2,4) -MAXSAT is NF’-complete.

Proof. It is obvious to see that the problem is in NF? The following is the reduction of Jaumard and Sime- one [ 31 from the Vertex Cover to the MAXSAT prob- lem. We will assume that the graph in the instance of the Vertex Cover problem is cubic, i.e. every vertex has degree 3. The Vertex Cover problem remains Np- complete for cubic graphs [ 21.

Given a cubic graph G(YE) with n vertices and m edges, introduce for each vertex i, 1 < i < n, a variable xi and define the formula

Q,= (AXi) A ( A (.fiVfj)). i=l {i,j}EE

@ has II + m clauses with each clause having at most two literals and every variable appearing in at most four clauses.

Now, if G has a vertex cover of size at most k, then setting those variables corresponding to the vertices in the vertex cover to 0, all but at most k clauses of @ can be satisfied. Conversely if there is an assign- ment that satisfies at least n + m - k clauses of Cp, we can assume without loss of generality that the false clauses are the clauses with single literals. For, if there is an edge {i, j} E E in which both Xi and xj are 1, arbitrarily setting one of xi and Xj to 0 satisfies that clause (and perhaps more clauses) and falsifies only one clause, thus keeping the number of clauses satis- fied at least n + m - k. Now it is easy to see that the set of vertices corresponding to the variables assigned 0, form a vertex cover of size at most k in G. 0

Now we prove the main result of the paper.

Theorem 2. ( <2,3) -MAXSAT is NP-complete.

Proof. The reduction is from ( <2,4) -MAXSAT. Let F be a (<2,4)-formula. Let U be the set of variables in F and let d(x) , for x E U be the number of clauses in which the variable x appears in F. Let b be the number of variables x for which d(x) = 4.

For every variable x for which d(x) = 4, do the following. First, create a separate variable for each of its occurrences: XI, x2, x3, x.4 and replace the ith occurrence of the variable with Xi. We further intro- duce the variables yl,y2 , . . . , y8 and the following clauses:

(Xl v Yl> (x2 v Y2) (x3 v Y3) (x4 v Y4)

(fl vfi7) (.f2v3%) (.f3vfi) (f4vy;i)

b?vYS) (fivY6) o?Jvy7) (~4vY!3)

@l vY2) @3vY4) b’Sv%) b7vA)

Let X be the above set of 16 clauses and let G be the resulting MAXSAT formula (after performing this construction for every variable x with d(x) = 4). Now clearly every variable in the formula G appears in at most three clauses (the Xi variables appear once in the original formula, and twice in the new set of clauses, and the yi variables appear thrice in the new set of clauses). We claim that F has an assignment that satisfies at least k of the clauses if and only there

Page 3: A simplified NP-complete MAXSAT problem

V Raman et al. /Information Processing Letters 65 (1998) l-6 3

is an assignment to the variables of G that satisfies at least k + 16b clauses of G.

If F has an assignment that satisfies at least k clauses, then by assigning the truth value of x to xl, x2, x3 and x4 for every x appearing 4 times, we can

satisfy the k original clauses and the new 16b clauses as follows. If x is 0, then set all the yi variables to 1,

and if x is 1 then set all the yi variables to 0. Conversely if there is an assignment to G that sat-

isfies at least k + 16b clauses, then we first show that there is an equivalent assignment that satisfies at least

k + 16b clauses of G that also satisfies all the new 16b clauses. We then show that the only assignments that satisfy all the 16b new clauses are the ones in which

the truth value of all the xi values corresponding to the variable x in F are the same (either all OS or all 1s) and from that we can recover a truth assignment for F that satisfies at least k of the original clauses. The proof will be complete from the following obser-

vations. ( 1) All the 16 clauses of X are satisfiable if x1 = xp =

= 1 or xt = xp = x3 = x4 = 0.

(2) r”f’ zztly one of the XiS is 1 or if exactly one of the xis is 0, then at most 15 clauses of X are satisfiable.

(3) If exactly two of the xis are 1, then at most 14 clauses of X are satisfiable.

Claim ( 1) can be easily verified. To prove claim (2), let-without loss of generality-xl = 1

and x2 = x3 = x4 = 0. Then all the three clauses

(f,Vj$), (y7VJ3) and(ysVxs)cannotbesatisfied.

Furthermore, setting yi = 1 for 1 6 i < 8 satisfies all clauses of X except the clause (Et V r-7). Similarly if xt = 0 and x:! = x3 = x4 = 1, then all the three clauses

(xt V yr ) , (71 V ys) and (R3 V 7s) cannot be satisfied. Furthermore, setting yi = 0 for 1 < i < 8, satisfies all clauses of X except the clause (x1 V ~1) .

To prove claim (3), first let XI = x2 = 1 and x3 = x4 = 0. Then not all three clauses (x3 Vy3), (73 Vy7), ( j$ V Rt ) can be satisfied. Independently, not all three clauses (x4 V y4), ( j&V y8 ) , (Jg V X2) can be satisfied. Furthermore, setting yi = 0 for all i, satisfies all the clauses of X except the clauses (x3 vy3) and (xqvy4). Exactly the same argument works if the two XiS that are 1 are x, and xs where s = r mod4 + 1. Now consider the case when XI = x3 = 1 and x2 = x4 = 0 (The complementary case is symmetric.) Not all the

clauses (x2Vy2), (y2vy6), (766vyS) and(j5Vf3) are

satisfiable. Independently not all the clauses (x4 V ~4) , (74 V ys), (j$ V y7) and (j+ V Et) are satisfiable. Furthermore, setting yi = 1 for all i, satisfies all clauses of X except (it Vy7) and (X3 V ys).

Now, given an assignment for G that satisfies at least k + 16b clauses, to obtain an equivalent assignment that satisfies all the 16b new clauses and still k + 16b

clauses in total, we do the following. For each set of

the 16 new clauses, in case ( 1) above do nothing; in case (2) above, we flip the only variable which is 1

or 0 by which we will satisfy one extra (new) clause and we may falsify at most one original clause (the clause containing that variable.) In case (3) above, by

flipping the two xiS from 1 to 0, we will satisfy two extra (new) clauses and falsify at most two original clauses (the two original clauses containing these two

variables). 0

Observe that the new clauses introduced in the above reduction are only two literal clauses. Hence the following corollary follows.

Corollary 3. ( 2,3 ) -MAXSAT is Np-complete.

Proof. Start with a (<2,3)-MAXSAT formula. For every variable x appearing in a unit clause, introduce a

new variable y and replace the unit clause (x) by the twoclauses (xVy) A(xVJ) toobtainaformulaG in which every clause has exactly two literals. If u out of the total m clauses of F are unit clauses, then G has m + u clauses. Furthermore there is an assignment that

satisfies at least k clauses of F if and only if there is an assignment that satisfies at least k + u clauses of G.

Now the variables (x) that appeared in unit clauses in F may be appearing in four clauses. Thus the re- sulting formula becomes a (2,4) -formula, Now use the reduction used in the proof of Theorem 2 to obtain

a (2,3) formula. El

The MINSAT problem [4] asks for the minimum number of clauses of a given CNF formula that must be satisfied by any assignment to the variables. Kohli, Krishnamurti and Mirchandani [ 41 proved that the de- cision version of the problem is NP-complete (even for 2-SAT formulas) by a reduction from MAXZSAT. In fact, their reduction preserves the number of ap- pearances of each variable in the original MAX2SAT formula. So, from Corollary 3, it follows that

Page 4: A simplified NP-complete MAXSAT problem

4 V Raman et al. /Information Processing Letters 65 (1998) I-6

Corollary 4. (2,3) -MINSAT is Np-complete. That is, given a (2,3) formula, and an integer 1, it is NP- complete to decide whether there is an assignment to the variables that satisfies at most 1 clauses of the formula.

3. (Qn, 2)MAXSAT

Tovey [lo] has shown that when every variable ap- pears in at most two clauses, SAT can be solved in polynomial time. His observation (using Hall’s theo- rem for perfect matching) is that if every variable ap- pears at most twice and if every clause contains at least two variables, then the formula is always satisfiable. So then it suffices to eliminate the unit clauses, and Tovey deals with the unit clauses in the obvious way.

Observe that if every variable appears at most twice, then without loss of generality, a variable appearing in a unit clause can be set so as to make the clause true even for MAXSAT. Thus Tovey’s algorithm (in fact, a simpler version of it) can be applied to solve the MAXSAT problem as well. We describe the simpler O(n) algorithm for the problem below.

MAXSAT input: A CNF formula f with m clauses on n variables,

with each variable appearing in at most two clauses. Let U be the set of unit clauses, and N be the set of non-unit clauses.

output: An assignment that satisfies the maximum number of clauses.

begin In one pass over F, set those variables that appear either only positively or only negatively appropriately and remove those clauses (from N or U) . (Now if a variable appears twice, then one of its occurrence is pure and the other is complemented.) while U # 0 do

pick the literal x that appears in a unit clause UC and set it to true. Remove UC from U. If x appears elsewhere, then let C be the clause in which its (other) complementary occurrence is present. If C is in U, remove it from U. Other- wise, remove the variable n from C; if C becomes a unit clause now, then add it to U after removing it from N.

endwhile

If N + 0, then pick a clause in N, and set any literal y appearing in it to true. Remove this clause from N. If y appears elsewhere, remove y from that clause. If that clause now becomes a unit clause, then add it to U after removing it from N. Recurse on the reduced formula F’. That is, call MAXSAT( F') . If any variable is still unset, set it arbitrarily. end

We show that the above algorithm correctly com- putes the answer to the MAXSAT problem and that it can be implemented in O(n) time.

The correctness of the algorithm follows from the following simple observations. a If there is a unit clause in the formula, then the

variable in tbe clause can be set to make the clause true. Suppose in the optimal assignment, the variable is set otherwise. By flipping it we gain this unit clause and may loose at most one clause (the clause in which the variable appears in its complementary form); thus setting the variable to make the clause true gives as good an assignment as the optimal one.

l If there are no unit clauses in the formula, any variable in one of the clauses can be set to make the clause true. It is known [lo] that if every variable appears at most twice and every clause has at least two vari- ables, then the formula is satisfiable. We show that in such circumstances, setting an arbitrary literal of art arbitrary clause true and reducing the for- mula by setting the variables of the unit clauses appropriately along the way, does not falsify any clause. Once we set a literal x true, we remove the clause to which x belongs; if x appears else- where, then we pick an arbitrary unset literal of the clause in which 2 appears (such a literal should exist in that clause since we have eliminated unit clauses) and set it true, and continue the process. This process stops when there is no complemen- tary occurrence of the recently set literal. Thus, we have reduced the formula to a formula of the kind we started out with, without falsifying any clause. If we simply want the maximum number of clauses

that can be satisfied, then the algorithm can keep ap- propriate counters and stop after the while loop.

Page 5: A simplified NP-complete MAXSAT problem

b! Raman et al. /Information Processing Letters 65 (1998) l-6 5

Implementation. We first create a ternary array A of size n where A [ i] gets the value 0, 1 or 2 to indicate whether the ith variable is set to “false”, “true” or “un- set” respectively. Initially all the array locations are initialized to 2. In one pass over the formula, by keep- ing appropriate counters, we can identify unit clauses and those variables that appear either only positively or only negatively. These variables are set appropri- ately by setting their A [ i] values and by removing the clauses in which they appear.

The sets U, N and the clauses themselves are repre- sented by linked lists. Furthermore, with each variable, there is a pointer to and from the positions of each of its occurrences in the clauses to which it belongs.

It can be seen that every time a step of the “while loop” or the (first) “if statement” is executed, at least one clause is removed from the formula. Using the above data structure, it can also be easily seen that each step in the “while loop” takes constant time whereas each execution of the (first) “if statement” takes time proportional to the length of the clause removed. Thus the entire algorithm takes O( If > time where If/ is the size of the original formula. Since each variable ap- pears at most twice in f, IfI < 2n. Thus the algorithm takes O(n) time proving the following theorem.

Theorem 5. Given a (<n,2) CNF formula with n variables, an assignment that satisfies the maximum number of clauses of the formula can be found in O(n) time.

Corollary 6. Given a (<n, 2) CNF formula with n variables, it can be verified in O(n) time whether or not it is satisjiable.

4. Algorithm for (<n, 3)-MAXSAT

In this section, we address the question of solving the MAXSAT problem exactly in less than 2” steps. Though considerable progress has been made towards the analogous question for solving SAT (3-SAT to be specific) exactly (see, for example [ 9,7,6] ) , we know of no algorithm taking less than 2” steps for solving the MAXSAT problem even when there are at most two variables in each clause. Typically efficient exact algorithms for the 3-SAT problem are branching algo- rithms, cleverly pruning branches that falsify any par-

titular clause. Such an approach does not generalize to MAXSAT simply because even the best assignment may falsify some clauses. Here, we give a branching algorithm to find the maximum number of clauses that can be satisfied in a given (Qz, 3) formula in less than 2” steps. In each branch, some variables are set and the algorithm is recursively called with the reduced formula. Finally we pick the assignment that satisfies the most number of clauses in the branches explored.

If every clause contains at least three variables, then the reduced formula is satisfiable [ 101. Otherwise there is a clause with at most two literals. Suppose there is a clause C with two literals {a, b}. Out of the four possible settings for a and b, abandon the branch where both a and b are false unless the other (possi- bly) two appearances of both a and b are ii and 6. For suppose, there is an occurrence of a outside C, and both a and b are set to false. The literal ii appears in at most one clause in the formula. By flipping a to true, that clause may be falsified, but the clause C will be satisfied. Thus setting a or b to true in this case gives at least as good an assignment than setting them both to false.

If both appearances of the variable a and b are as ii and 6 outside C, then abandon the branch where both a and b are true. Thus, we can eliminate the two variables a and b by doing only a three way branch- ing and so the recurrence for the number of nodes in the branching tree is T(n) < 3T(n - 2) + 1 in this case.

Suppose there are no clauses with two literals. Then there must be some with only one literal. Let C = {a} be such a clause. As long as there is at most one oc- currence of a outside C, setting a to true gives as good an assignment than setting it to false. So consider the case when the variable a appears as ii in two differ- ent clauses U and V. If both U and V are unit clauses, then simply set a to false. Otherwise, let X be the set of literals other than a appearing in the clauses U and V. As there are no 2 literal clauses, 1x1 2 2. Do a two way branching as follows: In one branch, set all liter- als in X as well as a to false, and in the other set a to true. If the best assignment has a false, but some of the literals of X true, then by flipping a to true, we gain the clause C and may loose at most one other, and so we obtain at least as good an assignment. Thus one of these branches will find an assignment that satisfies the maximum number of clauses. The recurrence for

Page 6: A simplified NP-complete MAXSAT problem

6 V Raman et al./Infonnation Processing Letters 65 (1998) I-6

the number of nodes in the branching tree in this case turns out to be T(n) < 1 + T(n - 1) + T(n - 3).

A concise description of the algorithm in recursive form is given in the next page.

Note that though in the description, the output ob- tained is only the maximum number of clauses satisfi- able, the algorithm actually also constructs the assign- ment that realizes that maximum. As the dominating branching step is the one that gets rid of two variables through a three way branch, it follows that the total number of nodes in the branching tree is at most 3”/‘. Furthermore, to move from one node to another node of the branching tree, at most IfI steps are required.

Since every variable appears at most thrice, IfI 6 3n.

Thus we have

Theorem 7. Given a (<n, 3) formula f, an assign- ment that satisjies the maximum number of clauses of the formula can be found in 0( 3”/‘n) steps.

MAXSAT( f)

output: The maximum number of clauses that can be

input: A CNF formula f with m clauses on n vari- ables, with each variable appearing in at most three clauses.

satisfied by any assignment.

begin If every clause has at least three variables, then output m and halt (use the perfect matching algorithm of Tovey [ lo] to get a satisfying assignment.) Otherwise, if there is a 2 literal clause {a, b} then if a or b appears (in the same form) in some other

clause of f, then output max(MAXSAT( fl,o>, MAXSAT( fo,l), MAXSAT( fl,l)) where fx,y is the reduced formula obtained by setting a = x and b = y. Otherwise, { all the other appearances of a and b are asiiand2;)

output m=(MAXSAT(fl,o), ~SAT(fo,o), MA=A’(fo,l) ) Otherwise (there are no 2 literal clauses, and so there must be unit clauses.) pick a unit clause {a}. Again if zi appears at most once in f, then set a to true, and call MAXSAT with the reduced formula. Otherwise, if ii appears only in unit clauses, then set a to false and call MAXSAT with the reduced formula. Otherwise, let X be the set of literals other than ii appearing in the clauses in which Zi appears. Then

output mNMflSWfa~,x=o)9 ~SAT(f,l ) ) where f&,x=0 is the reduced formula obtained by

setting a and all the literals of X false, and fa=l is the reduced formula obtained by setting a to true. end

5. Conclusions

We have shown that the smallest integer s such that (2, s)-MAXSAT is NP-complete is 3 by showing that (2,3)-MAXSAT is NP-complete and (Qn, 2)- MAXSAT can be solved in linear time. We also de- veloped an efficient exact algorithm for the (<n, 3)- MAXSAT that takes much less than 2” steps. Argu-

ing through a few more cases, we can find an asymp- totically better algorithm for this ( (<n, 3) ) version of MAXSAT. However, we believe that obtaining an exact algorithm for the general MAXSAT (even for MAX2SAT) taking less than 2” steps is a challenging open problem.

References

Guide to the Theory of NP-Completeness, Freeman, New [ 1 ] M.R. Gamy, D.S. Johnson, Computers and Intractability, A

York, 1979.

121

[31

[41

[51

[61

[71

[81

[91

M.R. Gamy, D.S. Johnson, L. Stockmeyer, Some simplified NP-complete graph problems, Theoret. Comput. Sci. 1 (1976) 237-267. B. Jaumard, B. Simeone, On the complexity of the Maximum Satisfiability problem for horn formulas, Inform. Process. Lett. 26 (1987/88) l-4. R. Kohli, R. Krishnamutti, P Mirchandani, The Minimum Satisfiability Problem, SIAM J. Discrete Math. 7 (2) ( 1984) 275-283. J. Kmtochvil, P. Savick, Z. Tuxa, One more occurrence of variables makes satistiability jump from trivial to NP- complete, SIAM J. Comput. 22 (1) (1993) 203-210. 0. Kulhnann, A systematical approach to 3-SAT decision yielding 3SATdecision in less than 1.5045” steps, Manuscript, 1995 (available from kulhnann@ mi.informatik.uni-frankfurt.de) . B. Monien, E. Speckemneyer, Solving satisfiability in less than 2” steps, Discrete Appl. Math. 10 (1985) 287-295. C.H. Papadimitriou, The Euclidean traveling salesman problem is NP-complete, Theomt. Comput. Sci. 4 (1977) 237-244. I. Schiermeyer, Solving 3-satisfiability in less than 1.579” steps, in: Proc. 6th Workshop in Computer Science Logic, Springer, Berlin, 1993, pp. 379-394.

[IO] C.A. Tovey, A simplified NP-complete satisfiabiity problem, Discrete Appl. Math. 8 (1984) 85-89.