Solution Enumeration by Optimality in Answer Set Programming
This work addresses the need for efficient enumeration of near-optimal solutions in combinatorial search problems, particularly in ASP, which is incremental as it builds on existing enumeration methods.
The paper tackles the problem of enumerating optimal solutions in Answer Set Programming (ASP) by introducing answer set enumeration in the order of optimality (ASEO), which sorts solutions based on an objective function, and presents the first general algorithms for this task, demonstrating applications in optimization problems and Bayesian network sampling.
Given a combinatorial search problem, it may be highly useful to enumerate its (all) solutions besides just finding one solution, or showing that none exists. The same can be stated about optimal solutions if an objective function is provided. This work goes beyond the bare enumeration of optimal solutions and addresses the computational task of solution enumeration by optimality (SEO). This task is studied in the context of Answer Set Programming (ASP) where (optimal) solutions of a problem are captured with the answer sets of a logic program encoding the problem. Existing answer-set solvers already support the enumeration of all (optimal) answer sets. However, in this work, we generalize the enumeration of optimal answer sets beyond strictly optimal ones, giving rise to the idea of answer set enumeration in the order of optimality (ASEO). This approach is applicable up to the best k answer sets or in an unlimited setting, which amounts to a process of sorting answer sets based on the objective function. As the main contribution of this work, we present the first general algorithms for the aforementioned tasks of answer set enumeration. Moreover, we illustrate the potential use cases of ASEO. First, we study how efficiently access to the next-best solutions can be achieved in a number of optimization problems that have been formalized and solved in ASP. Second, we show that ASEO provides us with an effective sampling technique for Bayesian networks.