Complex Optimization in Answer Set Programming
Preference handling and optimization are indispensable means for addressing non-trivial applications in Answer Set Programming (ASP). However, their implementation becomes difficult whenever they bring about a significant increase in computational complexity. As a consequence, existing ASP systems do not offer complex optimization capacities, supporting, for instance, inclusion-based minimization or Pareto efficiency. Rather, such complex criteria are typically addressed by resorting to dedicated modeling techniques, like saturation. Unlike the ease of common ASP modeling, however, these techniques are rather involved and hardly usable by ASP laymen. We address this problem by developing a general implementation technique by means of meta-programming, thus reusing existing ASP systems to capture various forms of qualitative preferences among answer sets. In this way, complex preferences and optimization capacities become readily available for ASP applications.
💡 Research Summary
**
The paper addresses a fundamental limitation of current Answer Set Programming (ASP) systems: while ASP excels at declarative modeling, it lacks built‑in support for complex optimization criteria such as inclusion‑minimality, Pareto efficiency, and multi‑level priority handling. Implementing these criteria directly raises the computational complexity from NP (the usual level for ASP) to NP ∩ coNP, effectively moving decision problems to the second level of the polynomial hierarchy. Existing work circumvents this by employing the saturation technique, which encodes the problem into a disjunctive logic program. However, saturation requires intricate modeling that is inaccessible to non‑expert users.
The authors propose a general, meta‑programming based solution that reuses existing ASP grounders and solvers to realize a wide range of qualitative preferences. The key insight is to reinterpret the standard #minimize construct. Traditionally, #minimize aggregates weighted literals and seeks answer sets with minimal total weight, using optional priority levels to encode lexicographic ordering. The authors extend this by treating each priority level J and each weight w as dimensions of a preference space. Three relational operators are defined for each (J,w) pair: ≤_w^J (cardinality‑based comparison), ⊆_w^J (set‑inclusion comparison), and ≺_w^J (user‑defined preference). An answer set Y dominates X if there exists a (J,w) where X fails the relation while Y satisfies it, and for all higher‑priority levels the relation holds. Pareto optimality is captured by requiring that no other answer set dominates the candidate across all dimensions.
Implementation proceeds in two stages. First, the original program (including any #minimize statements) is “reified” using the gringo option –reify, producing a set of facts that describe each rule’s head, body, #sum constraints, and strongly connected components. This factual representation captures the full syntactic structure of the program, including choice rules and weak constraints, while remaining compatible with the ASP language’s first‑order syntax.
Second, a meta‑program (meta.lp) operates on these facts. The meta‑program consists of three logical parts: (1) extraction of rule elements (atoms, positive/negative literals, sum constraints), (2) generation of candidate answer sets by interpreting the reified rules (the hold/1 predicate mirrors the original semantics), and (3) verification of the complex optimization criteria. The verification part encodes the dominance relations using ASP rules that count weighted occurrences, compare cardinalities, and enforce the relational operators defined above. Because the meta‑program directly checks dominance, it avoids the “guess‑level‑mapping” step typical of saturation encodings, leading to a more transparent and maintainable model.
The authors illustrate the approach with a small example program Π₀ that has five answer sets. Adding a simple #minimize statement yields a single ≤‑minimal answer set, but the program also admits three ⊆‑minimal answer sets that cannot be obtained with standard ASP optimization. By feeding the reified facts of Π₀ together with the meta‑program to a conventional solver (clasp), all five answer sets are generated, and the meta‑program’s dominance checks prune the non‑minimal ones, leaving exactly the three ⊆‑minimal solutions. The same framework can be extended to Pareto efficiency and arbitrary combinations of the three relational operators.
The contribution is two‑fold. Conceptually, it shows that complex preference handling can be expressed declaratively within ASP by reinterpreting existing constructs, thus keeping the user‑level language simple. Practically, it provides a reusable meta‑program that works with any ASP system supporting #minimize and reification, without requiring a dedicated disjunctive solver or custom preprocessing. The approach scales with the size of the reified fact base; therefore, very large programs may incur overhead, and the current implementation focuses on programs without proper disjunctions. Future work includes optimizing the meta‑program, extending support to full disjunctive programs, and conducting extensive empirical evaluations on real‑world benchmarks.
In summary, the paper delivers a robust, user‑friendly method for integrating sophisticated optimization criteria into ASP, bridging the gap between theoretical expressiveness and practical usability, and opening the door for broader adoption of qualitative preferences in answer set programming.
Comments & Academic Discussion
Loading comments...
Leave a Comment