Semi-declarative Language for Combinatorial Search
Ziyi Yang, Ilya Sergey
摘要
Combinatorial search-finding solutions that meet constraints within an exponentially large space of candidatesunderpins problems from hardware verification to scheduling and combinatorial design. The most successful approach in practice is Propositional Satisfiability (SAT) solving, but modelling a problem for a SAT solver requires manually translating high-level requirements into conjunctions of boolean clauses, a tedious step that sacrifices clarity and modularity. Answer Set Programming (ASP) offers a higher-level alternative, with a rule-based language whose variables and finite-domain reasoning yield more compact problem descriptions that can be automatically compiled into low-level solver input. Yet, ASP has its own shortcomings: its semantics, defined via a notion of stable models, is hard to build intuition for; it does not allow arbitrary first-order logic formulas as constraints; and its programs tend to be monolithic, making modular design and reuse difficult.
We propose SetLah!, a semi-declarative language for combinatorial search that addresses the shortcomings of both SAT and ASP. A SetLah! program is a sequence of stratified blocks, each containing rules that define the search space and arbitrary first-order logic constraints that prune it. This block structure enables modular problem decomposition, allowing for an intuitive semantics: candidate solutions are generated and filtered block by block. We built a compiler from SetLah! programs into ASP, allowing us to take full advantage of the existing efficient ASP solvers, while also automatically optimising the generated encodings. Our empirical evaluation demonstrates that SetLah! offers substantially more concise and intuitive specifications for common combinatorial search problems, and its compiled ASP encodings can significantly outperform SAT-based tools.
CCS Concepts: • Theory of computation → Constraint and logic programming; • Computing methodologies → Logic programming and answer set programming.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper8
- Provenance-guided synthesis of Datalog programsMukund Raghothaman, Jonathan Mendelson, David Zhao, Mayur Naik 等POPL 2020 · 被引用 49 次
- Better Together: Unifying Datalog and Equality SaturationYihong Zhang, Yisu Remy Wang, Oliver Flatt, David Cao 等PLDI 2023 · 被引用 38 次
- Tseitin or not Tseitin? The Impact of CNF Transformations on Feature-Model AnalysesElias Kuiter, Sebastian Krieter, Chico Sundermann, Thomas Thüm 等ASE 2022 · 被引用 24 次
- Optimizing Recursive Queries with Progam SynthesisYisu Remy Wang, Mahmoud Abo Khamis, Hung Q. Ngo, Reinhard Pichler 等SIGMOD 2022 · 被引用 9 次
- From SMT to ASP: Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection ProblemsAaron Bembenek, Michael Greenberg, Stephen ChongPOPL 2023 · 被引用 6 次
相关 Paper
- Learning to Break Symmetries for Efficient Optimization in Answer Set ProgrammingAlice Tarzariol, Martin Gebser, Konstantin Schekotihin, Mark LawAAAI 2023 · 被引用 4 次
- Solving String Constraints Using SATKevin Lotz, Amit Goel, Bruno Dutertre, Benjamin Kiesl-Reiter 等CAV 2023 · 被引用 11 次
- Finite-Choice Logic ProgrammingChris Martens, Robert J. Simmons, Michael ArntzeniusPOPL 2025 · 被引用 3 次
- ApproxASP - a Scalable Approximate Answer Set CounterMohimenul Kabir, Flavio O. Everardo, Ankit K. Shukla, Markus Hecher 等AAAI 2022 · 被引用 21 次
- Exact ASP Counting with Compact EncodingsMohimenul Kabir, Supratik Chakraborty, Kuldeep S. MeelAAAI 2024 · 被引用 10 次
