Algorithms for Solving Satisfiability Problems with Qualitative Preferences

  • Enrico Giunchiglia
  • Marco Maratea
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7265)


In this work we present a complete picture of our work on computing optimal solutions in satisfiability problems with qualitative preferences. With this task in mind, we first review our work on computing optimal solutions by imposing an ordering on the way the search space is explored, e.g., on the splitting heuristic in case the dpll algorithm is used. The main feature of this approach is that it guarantees to compute all and only the optimal solutions, i.e., models which are not optimal are not even computed: For this result, it is essential that the splitting heuristic of the solver follows the partial order on the expressed preferences. However, for each optimal solution, a formula that prunes non-optimal solutions needs to be retained, thus this procedure does not work in polynomial space when computing all optimal solutions.

We then extend our previous work and show how it is possible to compute optimal solutions using a generate-and-test approach: Such a procedure is based on the idea to first compute a model and then check for its optimality. As a consequence, no ordering on the splitting heuristic is needed, but it may compute also non-optimal models. This approach does not need to retain formulas indefinitely, thus it does work in polynomial space.

We start from a simple setting in which a preference is a partial order on a set of literals. We then show how other forms of preferences, i.e., quantitative, qualitative on formulas and mixed qualitative/quantitative can be captured by our framework, and present alternatives for computing “complete” sets of optimal solutions. We finally comment on the implementation of the two procedures on top of state-of-the-art satisfiability solvers, and discuss related work.


Optimal Model Logic Program Logic Programming Polynomial Space Symbolic Model Check 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aloul, F.A., Ramani, A., Markov, I.L., Sakallah, K.A.: Generic ILP versus specialized 0-1 ILP: an update. In: Pileggi, L.T., Kuehlmann, A. (eds.) Proc. of the 2002 IEEE/ACM International Conference on Computer-aided Design (ICCAD 2002), pp. 450–457. ACM (2002)Google Scholar
  2. 2.
    Amgoud, L., Cayrol, C., LeBerre, D.: Comparing arguments using preference ordering for argument-based reasoning. In: Proc. of the 8th International Conference on Tools with Artificial Intelligence (ICTAI 1996), pp. 400–403. IEEE Computer Society (1996)Google Scholar
  3. 3.
    Bienvenu, M., Lang, J., Wilson, N.: From preference logics to preference languages, and back. In: Lin, F., Sattler, U., Truszczynski, M. (eds.) Proc. of the 12th International Conference on Principles of Knowledge Representation and Reasoning (KR 2010). AAAI Press (2010)Google Scholar
  4. 4.
    Boutilier, C., Brafman, R.I., Domshlak, C., Hoos, H.H., Poole, D.: CP-nets: A tool for representing and reasoning with conditional ceteris paribus preference statements. Journal of Artificial Intelligence Research 21, 135–191 (2004)MathSciNetzbMATHGoogle Scholar
  5. 5.
    Boutilier, C., Brafman, R.I., Domshlak, C., Hoos, H.H., Poole, D.: Preference-based constrained optimization with CP-nets. Computational Intelligence 20(2), 137–157 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Brewka, G.: Logic programming with ordered disjunction. In: Dechter, R., Sutton, R.S. (eds.) Proc. of the 18th National Conference on Artificial Intelligence (AAAI 2002), pp. 100–105. AAAI Press / The MIT Press (2002)Google Scholar
  7. 7.
    Brewka, G.: Complex preferences for answer set optimization. In: Dubois, D., Welty, C.A., Williams, M.-A. (eds.) Proc. of the 9th International Conference on Principles of Knowledge Representation and Reasoning (KR 2004), pp. 213–223. AAAI Press (2004)Google Scholar
  8. 8.
    Brewka, G., Eiter, T.: Preferred answer sets for extended logic programs. Artificial Intelligence 109(1-2), 297–356 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Brewka, G., Niemelä, I., Syrjänen, T.: Logic programs with ordered disjunction. Computational Intelligence 20(2), 335–357 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Brewka, G., Niemelä, I., Truszczynski, M.: Answer set optimization. In: Gottlob, G., Walsh, T. (eds.) Proc. of the 18th International Joint Conference on Artificial Intelligence (IJCAI 2003), pp. 867–872. Morgan Kaufmann (2003)Google Scholar
  11. 11.
    Buccafurri, F., Leone, N., Rullo, P.: Strong and Weak Constraints in Disjunctive Datalog. In: Fuhrbach, U., Dix, J., Nerode, A. (eds.) LPNMR 1997. LNCS, vol. 1265, pp. 2–17. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Çakmak, D., Erdem, E., Erdoğan, H.: Computing Weighted Solutions in Answer Set Programming. In: Erdem, E., Lin, F., Schaub, T. (eds.) LPNMR 2009. LNCS, vol. 5753, pp. 416–422. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  13. 13.
    Castell, T., Cayrol, C., Cayrol, M., Le Berre, D.: Using the Davis and Putnam procedure for an efficient computation of preferred models. In: Wahlster, W. (ed.) Proc. of the 12th European Conference on Artificial Intelligence (ECAI 1996), pp. 350–354. John Wiley and Sons, Chichester (1996)Google Scholar
  14. 14.
    Coudert, O.: On solving covering problems. In: Pennino, T., Yoffa, E.J. (eds.) Proc. of the 33rd Conference on Design Automation (DAC 1996), pp. 197–202. ACM Press (1996)Google Scholar
  15. 15.
    Davis, M., Logemann, G., Loveland, D.W.: A machine program for theorem proving. Communication of ACM 5(7), 394–397 (1962)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Davis, M., Putnam, H.: A computing procedure for quantification theory. Journal of the ACM 7, 201–215 (1960)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Delgrande, J.P., Schaub, T.: Expressing preferences in default logic. Artificial Intelligence 123(1-2), 41–87 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Delgrande, J.P., Schaub, T., Tompits, H., Wang, K.: A classification and survey of preference handling approaches in nonmonotonic reasoning. Computational Intelligence 20(2), 308–334 (2004)MathSciNetCrossRefGoogle Scholar
  19. 19.
    DiRosa, E., Giunchiglia, E., Maratea, M.: A new approach for solving satisfiability problems with qualitative preferences. In: Ghallab, M., Spyropoulos, C.D., Fakotakis, N., Avouris, N.M. (eds.) Proc. of the 18th European Conference on Artificial Intelligence (ECAI 2008). Frontiers in AI and Applications, vol. 178, pp. 510–514. IOS Press (2008)Google Scholar
  20. 20.
    DiRosa, E., Giunchiglia, E., Maratea, M.: Solving satisfiability problems with preferences. Constraints 15(4), 485–515 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    DiRosa, E., Giunchiglia, E., O’Sullivan, B.: Optimal stopping methods for finding high quality solutions to satisfiability problems with preferences. In: Chu, W.C., Eric Wong, W., Palakal, M.J., Hung, C.-C. (eds.) Proc. of the 2011 ACM Symposium on Applied Computing (SAC 2011), pp. 901–906. ACM (2011)Google Scholar
  22. 22.
    Doyle, J., Junker, U.: Preferences. In: Tutotial at the 19th National Conference on Artificial Intelligence, AAAI 2004 (2004)Google Scholar
  23. 23.
    Eén, N., Biere, A.: Effective Preprocessing in SAT Through Variable and Clause Elimination. In: Bacchus, F., Walsh, T. (eds.) SAT 2005. LNCS, vol. 3569, pp. 61–75. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  24. 24.
    Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  25. 25.
    Eiter, T., Faber, W., Leone, N., Pfeifer, G.: Computing preferred answer sets by meta-interpretation in answer set programming. Theory and Practice of Logic Programming 3(4-5), 463–498 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Gavanelli, M.: Partially Ordered Constraint Optimization Problems. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, p. 763. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  27. 27.
    Gebser, M., Kaminski, R., Kaufmann, B., Schaub, T.: Multi-criteria optimization in answer set programming. In: Gallagherand, J.P., Gelfond, M. (eds.) Technical Communications of the 27th International Conference on Logic Programming (ICLP 2011). LIPIcs, vol. 11, pp. 1–10. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2011)Google Scholar
  28. 28.
    Gebser, M., Kaminski, R., Schaub, T.: Complex optimization in answer set programming. Theory and Practice of Logic Programming 11(4-5), 821–839 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Gebser, M., Kaufmann, B., Neumann, A., Schaub, T.: Conflict-driven answer set solving. In: Veloso, M.M. (ed.) Proc. of the 20th International Joint Conference on Artificial Intelligence (IJCAI 2007), pp. 386–391 (2007)Google Scholar
  30. 30.
    Gelfond, M., Lifschitz, V.: The stable model semantics for logic programming. In: Kowalski, R., Bowen, K. (eds.) Proc. of the 5th International Conference and Symposium on Logic Programming (ICLP/SLP 1988), pp. 1070–1080 (1988)Google Scholar
  31. 31.
    Gelfond, M., Lifschitz, V.: Classical negation in logic programs and disjunctive databases. New Generation Computing 9, 365–385 (1991)CrossRefzbMATHGoogle Scholar
  32. 32.
    Gent, I., Van Maaren, H., Walsh, T. (eds.): SAT 2000. Satisfiability Research in the Year 2000. IOS Press (2000)Google Scholar
  33. 33.
    Giunchiglia, E., Giunchiglia, F., Tacchella, A.: SAT-based decision procedures for classical modal logics. Journal of Automated Reasoning 28, 143–171 (2002), Reprinted in [32]MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Giunchiglia, E., Maratea, M.: Solving optimization problems with DLL. In: Brewka, G., Coradeschi, S., Perini, A., Traverso, P. (eds.) Proc. of the 17th European Conference on Artificial Intelligence (ECAI 2006). Frontiers in Artificial Intelligence and Applications, vol. 141, pp. 377–381. IOS Press (2006)Google Scholar
  35. 35.
    Giunchiglia, E., Massarotto, A., Sebastiani, R.: Act, and the rest will follow: Exploiting determinism in planning as satisfiability. In: Mostow, J., Rich, C. (eds.) Proc. of the 15th National Conference on Artificial Intelligence (AAAI 1998), pp. 948–953. AAAI Press / The MIT Press (1998)Google Scholar
  36. 36.
    de Givry, S., Larrosa, J., Meseguer, P., Schiex, T.: Solving Max-SAT as Weighted CSP. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 363–376. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  37. 37.
    Jackson, P., Sheridan, D.: Clause Form Conversions for Boolean Circuits. In: Hoos, H.H., Mitchell, D.G. (eds.) SAT 2004. LNCS, vol. 3542, pp. 183–198. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  38. 38.
    Järvisalo, M., Junttila, T., Niemelä, I.: Unrestricted vs restricted cut in a tableau method for Boolean circuits. Annals of Mathematics and Artificial Intelligence 44(4), 373–399 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  39. 39.
    Järvisalo, M., Junttila, T.A.: Limitations of restricted branching in clause learning. Constraints 14(3), 325–356 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  40. 40.
    Jin, H., Han, H., Somenzi, F.: Efficient Conflict Analysis for Finding All Satisfying Assignments of a Boolean Circuit. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 287–300. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  41. 41.
    Jin, H., Somenzi, F.: Prime clauses for fast enumeration of satisfying assignments to Boolean circuits. In: Joyner Jr., W.H., Martin, G., Kahng, A.B. (eds.) Proc. of the 42nd Design Automation Conference (DAC 2005), pp. 750–753. ACM (2005)Google Scholar
  42. 42.
    Kautz, H., Selman, B.: Planning as satisfiability. In: Neumann, B. (ed.) Proc. of the 10th European Conference on Artificial Intelligence (ECAI 1992), pp. 359–363. John Wiley and Sons (1992)Google Scholar
  43. 43.
    Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The DLV system for knowledge representation and reasoning. ACM Transactions on Computational Logic 7(3), 499–562 (2006)MathSciNetCrossRefGoogle Scholar
  44. 44.
    Manquinho, V., Marques-Silva, J., Planes, J.: Algorithms for Weighted Boolean Optimization. In: Kullmann, O. (ed.) SAT 2009. LNCS, vol. 5584, pp. 495–508. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  45. 45.
    Maratea, M., Ricca, F., Veltri, P.: DLVMC Enhanced Model Checking in DLV. In: Janhunen, T., Niemelä, I. (eds.) JELIA 2010. LNCS, vol. 6341, pp. 365–368. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  46. 46.
    McMillan, K.L.: Applying SAT Methods in Unbounded Symbolic Model Checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 250–264. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  47. 47.
    McMillan, K.L.: Symbolic Model Checking: an Approach to the State Explosion Problem. Kluwer Academic Publishers (1993)Google Scholar
  48. 48.
    Mitchell, D.G.: A SAT solver Primer. Bulletin of the EATCS 85, 112–132 (2005)MathSciNetzbMATHGoogle Scholar
  49. 49.
    Van Nieuwenborgh, D., Vermeir, D.: Preferred answer sets for ordered logic programs. Theory and Practice of Logic Programming 6(1-2), 107–167 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  50. 50.
    Oikarinen, E., Järvisalo, M.: Max-ASP: Maximum Satisfiability of Answer Set Programs. In: Erdem, E., Lin, F., Schaub, T. (eds.) LPNMR 2009. LNCS, vol. 5753, pp. 236–249. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  51. 51.
    Plaisted, D.A., Greenbaum, S.: A structure-preserving clause form translation. Journal of Symbolic Computation 2, 293–304 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  52. 52.
    Prestwich, S.: Three implementation of branch-and-cut in CLP. In: Proc. of the 4th Compulog-Net Workshop on Parallelism and Implementation Technologies (1996)Google Scholar
  53. 53.
    Ramírez, M., Geffner, H.: Structural Relaxations by Variable Renaming and Their Compilation for Solving MinCostSAT. In: Bessiere, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 605–619. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  54. 54.
    Ravi, K., Somenzi, F.: Minimal Assignments for Bounded Model Checking. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 31–45. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  55. 55.
    Saad, E., Brewka, G.: Aggregates in Answer Set Optimization. In: Delgrande, J.P., Faber, W. (eds.) LPNMR 2011. LNCS, vol. 6645, pp. 211–216. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  56. 56.
    Siekmann, J., Wrightson, G. (eds.): Automation of Reasoning: Classical Papers in Computational Logic 1967–1970, vol. 1-2. Springer (1983)Google Scholar
  57. 57.
    Marques Silva, J.P., Lynce, I., Malik, S.: Conflict-driven clause learning SAT solvers. In: Biere, A., Heule, M., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185, pp. 131–153. IOS Press (2009)Google Scholar
  58. 58.
    Simons, P., Niemelä, I., Timo, S.: Extending and implementing the stable model semantics. Artificial Intelligence 138(1–2), 181–234 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  59. 59.
    Tseitin, G.: On the complexity of proofs in propositional logics. Seminars in Mathematics 8 (1970) Reprinted in [56]Google Scholar
  60. 60.
    Wang, K., Zhou, L., Lin, F.: Alternating Fixpoint Theory for Logic Programs with Priority. In: Lloyd, J., Dahl, V., Furbach, U., Kerber, M., Lau, K.-K., Palamidessi, C., Moniz Pereira, L., Sagiv, Y., Stuckey, P.J. (eds.) CL 2000. LNCS (LNAI), vol. 1861, pp. 164–178. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  61. 61.
    Warners, J.P.: A linear-time transformation of linear inequalities into conjunctive normal form. Information Processing Letters 68(2), 63–69 (1998)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Enrico Giunchiglia
    • 1
  • Marco Maratea
    • 1
  1. 1.DISTUniversità di GenovaGenovaItaly

Personalised recommendations