Abstract

AbstractAbstraction is a well-known approach to simplify a complex problem by over-approximating it with a deliberate loss of information. It was not considered so far in Answer Set Programming (ASP), a convenient tool for problem solving. We introduce a method to automatically abstract ASP programs that preserves their structure by reducing the vocabulary while ensuring an over-approximation (i.e., each original answer set maps to some abstract answer set). This allows for generating partial answer set candidates that can help with approximation of reasoning. Computing the abstract answer sets is intuitively easier due to a smaller search space, at the cost of encountering spurious answer sets. Faithful (non-spurious) abstractions may be used to represent projected answer sets and to guide solvers in answer set construction. For dealing with spurious answer sets, we employ an ASP debugging approach to help with abstraction refinement, which determines atoms as badly omitted and adds them back in the abstraction. As a show case, we apply abstraction to explain unsatisfiability of ASP programs in terms of blocker sets, which are the sets of atoms such that abstraction to them preserves unsatisfiability. Their usefulness is demonstrated by experimental results.

Highlights

  • Abstraction is an approach that is widely used in Computer Science and AI in order to simplify problems

  • Abstraction is a well-known approach to reduce problem complexity by stepping to simpler, less detailed models or descriptions. We have considered this hitherto in Answer Set Programming (ASP)-neglected approach, and we have presented a novel method for abstracting ASP programs by omitting atoms from the rules of the programs

  • The resulting abstract program can be efficiently constructed, has rules similar to the original program, and is a semantic over-approximation of the latter, that is, each original answer set is covered by some abstract answer set

Read more

Summary

Introduction

Abstraction is an approach that is widely used in Computer Science and AI in order to simplify problems (cf. Clarke et al . 1994; Kouvaros and Lomuscio 2015; Banihashemi et al . 2017; Giunchiglia and Walsh 1992; Geißer et al . 2016). When computing solutions for difficult problems, abstraction allows to omit details and reduce the scenarios to ones that are easier to deal with and to understand. The abstraction is refined by removing the spurious transitions observed through the solution so that the spurious solution is eliminated from the abstraction. This iteration continues until a concrete solution is found

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call