Answer Set Programming: A Tour from the Basics to Advanced Development Tools and Industrial Applications

Answer Set Programming (ASP) is a powerful rule-based language for knowledge representation and reasoning that has been developed in the field of logic programming and nonmonotonic reasoning. After more than twenty years from the introduction of ASP, the theoretical properties of the language are well understood and the solving technology has become mature for practical applications. In this paper, we first present the basics of the ASP language, and we then concentrate on its usage for knowledge representation and reasoning in real-world contexts. In particular, we report on the development of some industry-level applications with the ASP system DLV, and we illustrate two advanced development tools for ASP, namely ASPIDE and JDLV, which speed-up and simplify the implementation of applications.

[1]  Michael Gelfond,et al.  The USA-Advisor: A Case Study in Answer Set Planning , 2001, LPNMR.

[2]  Leopoldo E. Bertossi,et al.  Logic Programs for Consistently Querying Data Integration Systems , 2003, IJCAI.

[3]  Chitta Baral,et al.  Declarative Specification and Solution of Combinatorial Auctions Using Logic Programming , 2001, LPNMR.

[4]  Giorgio Terracina,et al.  Experimenting with recursive queries in database and logic programming systems , 2007, Theory and Practice of Logic Programming.

[5]  Francesco Ricca,et al.  ASPIDE: Integrated Development Environment for Answer Set Programming , 2011, LPNMR.

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

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

[8]  Miroslaw Truszczynski,et al.  Answer set programming at a glance , 2011, Commun. ACM.

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

[10]  Nicola Leone,et al.  Unit Testing in ASPIDE , 2011, INAP/WLP.

[11]  Giorgio Terracina,et al.  Logic-Based Techniques for Data Cleaning: An Application to the Italian National Healthcare System , 2013, LPNMR.

[12]  Luigi Palopoli,et al.  Exploiting agents in e-learning and skills management context , 2006, AI Commun..

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

[14]  Stefan Woltran,et al.  ARVis: Visualizing Relations between Answer Sets , 2013, LPNMR.

[15]  Francesco Buccafurri,et al.  Enhancing Disjunctive Datalog by Constraints , 2000, IEEE Trans. Knowl. Data Eng..

[16]  Stefan Woltran,et al.  "That is illogical, Captain!" : the debugging support tool spock for answer-set programs ; system description , 2007 .

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

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

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

[20]  Giorgio Terracina,et al.  Consistent query answering via ASP from different perspectives: Theory and practice , 2011, Theory and Practice of Logic Programming.

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

[22]  Nicola Leone,et al.  A Visual Tracer for DLV , 2009 .

[23]  Wolfgang Faber,et al.  Declarative problem-solving using the DLV system , 2000 .

[24]  Chitta Baral,et al.  Reasoning agents in dynamic domains , 2000 .

[25]  Massimiliano Castellani,et al.  An Economic Analysis of Tourism Contracts: Allotment and Free Sale* , 2007 .

[26]  Tran Cao Son,et al.  Logic Programming, Knowledge Representation, and Nonmonotonic Reasoning , 2011, Lecture Notes in Computer Science.

[27]  Victor A. Bardadym Computer-Aided School and University Timetabling: The New Wave , 1995, PATAT.

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

[29]  Nicola Leone,et al.  JASP: A Framework for Integrating Answer Set Programming with Java , 2012, KR.

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

[31]  Wolfgang Faber,et al.  Semantics and complexity of recursive aggregates in answer set programming , 2011, Artif. Intell..

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

[33]  Yaniv Altshuler,et al.  Workforce optimization: Identification and assignment of professional workers using constraint programming , 2007, IBM J. Res. Dev..

[34]  Wolfgang Faber,et al.  Recursive Aggregates in Disjunctive Logic Programs: Semantics and Complexity , 2004, JELIA.

[35]  Torsten Schaub,et al.  Inconsistency Tolerance , 2005, Lecture Notes in Computer Science.

[36]  Tim Furche,et al.  OPAL: automated form understanding for the deep web , 2012, WWW.

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

[38]  Alex M. Andrew,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2004 .

[39]  Wolfgang Faber,et al.  The INFOMIX system for advanced integration of incomplete and inconsistent data , 2005, SIGMOD '05.