A multi-engine approach to answer-set programming*

Answer-set programming (ASP) is a truly declarative programming paradigm proposed in the area of non-monotonic reasoning and logic programming, which has been recently employed in many applications. The development of efficient ASP systems is, thus, crucial. Having in mind the task of improving the solving methods for ASP, there are two usual ways to reach this goal: (i) extending state-of-the-art techniques and ASP solvers or (ii) designing a new ASP solver from scratch. An alternative to these trends is to build on top of state-of-the-art solvers, and to apply machine learning techniques for choosing automatically the “best” available solver on a per-instance basis. In this paper, we pursue this latter direction. We first define a set of cheap-to-compute syntactic features that characterize several aspects of ASP programs. Then, we apply classification methods that, given the features of the instances in a training set and the solvers' performance on these instances, inductively learn algorithm selection strategies to be applied to a test set. We report the results of a number of experiments considering solvers and different training and test sets of instances taken from the ones submitted to the “System Track” of the Third ASP Competition. Our analysis shows that by applying machine learning techniques to ASP solving, it is possible to obtain very robust performance: our approach can solve more instances compared with any solver that entered the Third ASP Competition.

[1]  Dov M. Gabbay,et al.  What Is Negation as Failure? , 2012, Logic Programs, Norms and Action.

[2]  S. Cessie,et al.  Ridge Estimators in Logistic Regression , 1992 .

[3]  Ingo Mierswa,et al.  YALE: rapid prototyping for complex data mining tasks , 2006, KDD '06.

[4]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[5]  Tomi Janhunen,et al.  Technical Communications of the 26th International Conference on Logic Programming , 2010 .

[6]  Michael Gelfond,et al.  Logic programming and knowledge representation—The A-Prolog perspective , 2002 .

[7]  Pedro Barahona,et al.  PSICO: Solving Protein Structures with Constraint Programming and Optimization , 2002, Constraints.

[8]  Luca Pulina,et al.  A Multi-engine Solver for Quantified Boolean Formulas , 2007, CP.

[9]  Alfonso Gerevini,et al.  Generating Fast Domain-Specific Planners by Automatically Configuring a Generic Parameterised Planner , 2011 .

[10]  Wolfgang Faber,et al.  Logic Programming and Nonmonotonic Reasoning , 2011, Lecture Notes in Computer Science.

[11]  Kevin Leyton-Brown,et al.  Automated Configuration of Mixed Integer Programming Solvers , 2010, CPAIOR.

[12]  Timo Soininen,et al.  Extending and implementing the stable model semantics , 2000, Artif. Intell..

[13]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[14]  Nicola Leone,et al.  A Logic-Based System for e-Tourism , 2010, Fundam. Informaticae.

[15]  金田 重郎,et al.  C4.5: Programs for Machine Learning (書評) , 1995 .

[16]  Marius Thomas Lindauer,et al.  A Portfolio Solver for Answer Set Programming: Preliminary Report , 2011, LPNMR.

[17]  Henning Christiansen,et al.  Efficient tabling of structured data using indexing and program transformation , 2012 .

[18]  Yuliya Lierler,et al.  Disjunctive Answer Set Programming via Satisfiability , 2005, Answer Set Programming.

[19]  Georg Gottlob,et al.  Disjunctive datalog , 1997, TODS.

[20]  D. Kibler,et al.  Instance-based learning algorithms , 2004, Machine Learning.

[21]  Martin Gebser,et al.  Conflict-Driven Disjunctive Answer Set Solving , 2008, KR.

[22]  Shuliang Wang,et al.  Data Mining and Knowledge Discovery , 2005, Mathematical Principles of the Internet.

[23]  Yuliya Lierler,et al.  Abstract Answer Set Solvers , 2008, ICLP.

[24]  Ilkka Niemelä,et al.  Logic programs with stable model semantics as a constraint programming paradigm , 1999, Annals of Mathematics and Artificial Intelligence.

[25]  Danny De Schreye,et al.  Answer Set Planning , 1999 .

[26]  R. Geoff Dromey,et al.  An algorithm for the selection problem , 1986, Softw. Pract. Exp..

[27]  Marcello Balduccini,et al.  Learning and using domain-specific heuristics in ASP solvers , 2011, AI Commun..

[28]  Vladimir Lifschitz,et al.  Answer Set Planning (Abstract) , 1999, LPNMR.

[29]  Yuliya Lierler,et al.  Practical and Methodological Aspects of the Use of Cutting-Edge ASP Tools , 2012, PADL.

[30]  Volkmar Schulz,et al.  Nuclear Science Symposium Conference Record (NSS/MIC), 2009 IEEE , 2009 .

[31]  Chitta Baral,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2003 .

[32]  Ivana Kruijff-Korbayová,et al.  A Portfolio Approach to Algorithm Selection , 2003, IJCAI.

[33]  Giovambattista Ianni,et al.  The third open answer set programming competition , 2012, Theory and Practice of Logic Programming.

[34]  Alfonso Gerevini,et al.  An Automatically Configurable Portfolio-based Planner with Macro-actions: PbP , 2009, ICAPS.

[35]  Michael Gelfond,et al.  Classical negation in logic programs and disjunctive databases , 1991, New Generation Computing.

[36]  Johan Wittocx,et al.  The IDP system: A model expansion system for an extension of classical logic , 2008 .

[37]  Maurice Bruynooghe,et al.  SAT(ID): Satisfiability of Propositional Logic Extended with Inductive Definitions , 2008, SAT.

[38]  Yuliya Lierler,et al.  cmodels - SAT-Based Disjunctive Answer Set Solver , 2005, LPNMR.

[39]  Yoav Shoham,et al.  Understanding Random SAT: Beyond the Clauses-to-Variables Ratio , 2004, CP.

[40]  Jack Minker,et al.  Logic and Data Bases , 1978, Springer US.

[41]  J. Ross Quinlan,et al.  C4.5: Programs for Machine Learning , 1992 .

[42]  Tomi Janhunen,et al.  Some (in)translatability results for normal logic programs and propositional theories , 2006, J. Appl. Non Class. Logics.

[43]  F. RICCA,et al.  Team-building with answer set programming in the Gioia-Tauro seaport , 2011, Theory and Practice of Logic Programming.

[44]  Martin Gebser,et al.  Detecting Inconsistencies in Large Biological Networks with Answer Set Programming , 2008, ICLP.

[45]  I. Porceddu,et al.  Cybersar: A lambda grid computing infrastructure for advanced applications , 2009, 2009 IEEE Nuclear Science Symposium Conference Record (NSS/MIC).

[46]  Ondrej Lhoták,et al.  Pick your contexts well: understanding object-sensitivity , 2011, POPL '11.

[47]  Ashish Ghosh,et al.  Aggregation Pheromone Density Based Pattern Classification , 2009, Fundam. Informaticae.

[48]  Luca Pulina,et al.  The Multi-Engine ASP Solver me-asp , 2012, JELIA.

[49]  Luca Pulina,et al.  A self-adaptive multi-engine solver for quantified Boolean formulas , 2009, Constraints.

[50]  Yoav Shoham,et al.  A portfolio approach to algorithm select , 2003, IJCAI 2003.

[51]  Micah Sherr,et al.  SecureBlox: customizable secure distributed data processing , 2010, SIGMOD Conference.

[52]  Victor W. Marek,et al.  Stable models and an alternative logic programming paradigm , 1998, The Logic Programming Paradigm.

[53]  Michael Gelfond,et al.  An A Prolog decision support system for the Space Shuttle , 2001, Answer Set Programming.

[54]  Mario Alviano,et al.  The Third Answer Set Programming Competition: Preliminary Report of the System Competition Track , 2011, LPNMR.

[55]  Martin Gebser,et al.  Conflict-Driven Answer Set Solving , 2007, IJCAI.

[56]  Horst Samulowitz,et al.  Learning to Solve QBF , 2007, AAAI.

[57]  Miroslaw Truszczynski,et al.  The First Answer Set Programming System Competition , 2007, LPNMR.

[58]  V. Ivanchenko,et al.  Diagnosis from first principles for workflow executions , 2008 .

[59]  Holger H. Hoos,et al.  Programming by optimization , 2012, Commun. ACM.

[60]  Roman Schindlauer,et al.  OntoDLV: An ASP-based System for Enterprise Ontologies , 2009, J. Log. Comput..

[61]  Keith L. Clark,et al.  Negation as Failure , 1987, Logic and Data Bases.

[62]  Pasquale Rullo,et al.  Olex: Effective Rule Learning for Text Categorization , 2009, IEEE Transactions on Knowledge and Data Engineering.

[63]  Chitta Baral,et al.  Logic Programming and Knowledge Representation , 1994, J. Log. Program..

[64]  Bart Selman,et al.  Algorithm portfolios , 2001, Artif. Intell..

[65]  Luca Pulina,et al.  Applying Machine Learning Techniques to ASP Solving , 2012, ICLP.

[66]  Martin Gebser,et al.  Detecting inconsistencies in large biological networks with answer set programming , 2008, Theory and Practice of Logic Programming.

[67]  Martin Gebser,et al.  GrinGo : A New Grounder for Answer Set Programming , 2007, LPNMR.

[68]  Esra Erdem,et al.  Inferring Phylogenetic Trees Using Answer Set Programming , 2007, Journal of Automated Reasoning.

[69]  Ilkka Niemelä,et al.  Computing Stable Models via Reductions to Difference Logic , 2009, LPNMR.

[70]  Nicolas Beldiceanu,et al.  9th International Conference on Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR'12) , 2012 .

[71]  Yuliya Lierler,et al.  Answer Set Programming Based on Propositional Satisfiability , 2006, Journal of Automated Reasoning.

[72]  Wolfgang Faber,et al.  The DLV system for knowledge representation and reasoning , 2002, TOCL.

[73]  Corinna Cortes,et al.  Support-Vector Networks , 1995, Machine Learning.

[74]  Eyke Hüllermeier,et al.  FURIA: an algorithm for unordered fuzzy rule induction , 2009, Data Mining and Knowledge Discovery.

[75]  John R. Rice,et al.  The Algorithm Selection Problem , 1976, Adv. Comput..

[76]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..