A System for Explainable Answer Set Programming

We present xclingo, a tool for generating explanations from ASP programs annotated with text and labels. These annotations allow tracing the application of rules or the atoms derived by them. The input of xclingo is a markup language written as ASP comment lines, so the programs annotated in this way can still be accepted by a standard ASP solver. xclingo translates the annotations into additional predicates and rules and uses the ASP solver clingo to obtain the extension of those auxiliary predicates. This information is used afterwards to construct derivation trees containing textual explanations. The language allows selecting which atoms to explain and, in its turn, which atoms or rules to include in those explanations. We illustrate the basic features through a diagnosis problem from the literature.

[1]  Michael Gelfond,et al.  Diagnostic reasoning with A-Prolog , 2003, Theory Pract. Log. Program..

[2]  Jorge Fandinno,et al.  Deriving conclusions from non-monotonic cause-effect relations* , 2016, Theory and Practice of Logic Programming.

[3]  Jorge Fandinno,et al.  Answering the “why” in answer set programming – A survey of explanation approaches , 2018, Theory and Practice of Logic Programming.

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

[5]  Marina De Vos,et al.  Automatic music composition using answer set programming , 2010, Theory and Practice of Logic Programming.

[6]  Martin Gebser,et al.  Theory Solving Made Easy with Clingo 5 , 2016, ICLP.

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

[8]  Francesca Toni,et al.  Justifying answer sets using argumentation , 2016, Theory Pract. Log. Program..

[9]  Manuel Carro,et al.  Constraint Answer Set Programming without Grounding , 2018, Theory and Practice of Logic Programming.

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

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

[12]  Torsten Schaub,et al.  Verifying Strong Equivalence of Programs in the Input Language of gringo , 2019, LPNMR.

[13]  Michael Fink,et al.  Under Consideration for Publication in Theory and Practice of Logic Programming Causal Graph Justifications of Logic Programs * , 2022 .

[14]  Esra Erdem,et al.  Answer set programming for collaborative housekeeping robotics: representation, reasoning, and execution , 2012, Intell. Serv. Robotics.

[15]  Enrico Pontelli,et al.  Under Consideration for Publication in Theory and Practice of Logic Programming Justifications for Logic Programs under Answer Set Semantics , 2022 .