How to Split a Logic Program
Rachel Ben-Eliyahu-Zohary (Azrieli College of Engineering, Jerusalem,, Israel)

TL;DR
This paper presents a polynomial-time method to compute splitting sets in answer set programming, enabling more efficient answer set computation and extending the concept to broader classes of programs.
Contribution
It reduces the problem of finding desirable splitting sets to a classic search problem and extends splitting set definitions to Head-Cycle-Free programs.
Findings
Polynomial-time algorithm for computing splitting sets.
Identification of factors complicating stable model computation.
Extended splitting set concept for Head-Cycle-Free programs.
Abstract
Answer Set Programming (ASP) is a successful method for solving a range of real-world applications. Despite the availability of fast ASP solvers, computing answer sets demands a very large computational power, since the problem tackled is in the second level of the polynomial hierarchy. A speed-up in answer set computation may be attained, if the program can be split into two disjoint parts, bottom and top. Thus, the bottom part is evaluated independently of the top part, and the results of the bottom part evaluation are used to simplify the top part. Lifschitz and Turner have introduced the concept of a splitting set, i.e., a set of atoms that defines the splitting. In this paper, We show that the problem of computing a splitting set with some desirable properties can be reduced to a classic Search Problem and solved in polynomial time. This allows us to conduct experiments on the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, Reasoning, and Knowledge · Multi-Agent Systems and Negotiation · Formal Methods in Verification
