Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
144 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
45 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Finite-Choice Logic Programming (2405.19040v3)

Published 29 May 2024 in cs.PL and cs.LO

Abstract: Logic programming, as exemplified by datalog, defines the meaning of a program as its unique smallest model: the deductive closure of its inference rules. However, many problems call for an enumeration of models that vary along some set of choices while maintaining structural and logical constraints -- there is no single canonical model. The notion of stable models for logic programs with negation has successfully captured programmer intuition about the set of valid solutions for such problems, giving rise to a family of programming languages and associated solvers known as answer set programming. Unfortunately, the definition of a stable model is frustratingly indirect, especially in the presence of rules containing free variables. We propose a new formalism, finite-choice logic programming, that uses choice, not negation, to admit multiple solutions. Finite-choice logic programming contains all the expressive power of the stable model semantics, gives meaning to a new and useful class of programs, and enjoys a least-fixed-point interpretation over a novel domain. We present an algorithm for exploring the solution space and prove it correct with respect to our semantics. Our implementation, the Dusa logic programming language, has performance that compares favorably with state-of-the-art answer set solvers and exhibits more predictable scaling with problem size.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (51)
  1. A declarative semantics for Dedalus. UC Berkeley EECS Technical Report 120 (2011), 2011.
  2. Dedalus: Datalog in time and space. In Datalog Reloaded: First International Workshop. Revised Selected Papers. Springer, Oxford, UK, 262–281.
  3. Design and Implementation of the LogicBlox System. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (Melbourne, Victoria, Australia) (SIGMOD ’15). Association for Computing Machinery, New York, NY, USA, 1371–1382. https://doi.org/10.1145/2723372.2742796
  4. Koen Claessen and John Hughes. 2011. QuickCheck: a lightweight tool for random testing of Haskell programs. ACM SIGPLAN Notices 46, 4 (2011), 53–64.
  5. Keith L. Clark. 1978. Negation as Failure. In Logic and Data Bases, Hervé Gallaire and Jack Minker (Eds.). Springer US, Boston, MA, 293–322. https://doi.org/10.1007/978-1-4684-3384-5_11
  6. Domain-Specific Heuristics in Answer Set Programming: A Declarative Non-Monotonic Approach. J. Artif. Int. Res. 76 (may 2023), 56 pages. https://doi.org/10.1613/jair.1.14091
  7. Chinmaya Dabral and Chris Martens. 2020. Generating explorable narrative spaces with answer set programming. In Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment, Vol. 16. AAAI Press, Washington, USA, 45–51.
  8. Exploring Consequences of Privacy Policies with Narrative Generation via Answer Set Programming. (2023). Presented at Workshop on Programming Languages and the Law (ProLaLa@POPL). Preprint: https://arxiv.org/abs/2212.06719.
  9. GASP: Answer Set Programming with Lazy Grounding. Fundam. Inf. 96, 3 (2009), 297–322.
  10. OMiGA : An Open Minded Grounding On-The-Fly Answer Set Solver. In Logics in Artificial Intelligence, Luis Fariñas del Cerro, Andreas Herzig, and Jérôme Mengin (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 480–483.
  11. Joris Dormans and Sander Bakkes. 2011. Generating missions and spaces for adaptable play experiences. IEEE Transactions on Computational Intelligence and AI in Games 3, 3 (2011), 216–228.
  12. Jason Eisner. 2023. Time-and-Space-Efficient Weighted Deduction. Transactions of the Association for Computational Linguistics 11 (08 2023), 960–973. https://doi.org/10.1162/tacl_a_00588 arXiv:https://direct.mit.edu/tacl/article-pdf/doi/10.1162/tacl_a_00588/2154459/tacl_a_00588.pdf
  13. Disjunctive datalog. ACM Transactions on Database Systems (TODS) 22, 3 (1997), 364–418.
  14. Multi-shot ASP solving with clingo. CoRR abs/1705.09811 (2017).
  15. Potassco: The Potsdam answer set solving collection. Ai Communications 24, 2 (2011), 107–124.
  16. Michael Gelfond and Vladimir Lifschitz. 1988. The Stable Model Semantics for Logic Programming. In Proceedings of International Logic Programming Conference and Symposium, Robert Kowalski and Kenneth A. Bowen (Eds.). MIT Press, 1070–1080.
  17. Semantics and Expressive Power of Nondeterministic Constructs in Deductive Databases. J. Comput. System Sci. 62, 1 (2001), 15–42. https://doi.org/10.1006/jcss.1999.1699
  18. Reflecting on Random Generation. Proceedings of the ACM on Programming Languages 7, ICFP (2023), 322–355.
  19. Harrison Goldstein and Benjamin C Pierce. 2022. Parsing randomness. Proceedings of the ACM on Programming Languages 6, OOPSLA2 (2022), 89–113.
  20. Sergio Greco and Carlo Zaniolo. 2001. Greedy algorithms in Datalog. Theory and Practice of Logic Programming 1, 4 (2001), 381–407. https://doi.org/10.1017/S1471068401001090
  21. Ian Horswill. 2018. CatSAT: A Practical, Embedded, SAT Language for Runtime PCG. Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment 14, 1 (Sep. 2018), 38–44. https://doi.org/10.1609/aiide.v14i1.13026
  22. The Choice Construct in the Soufflé Language. In Programming Languages and Systems, Hakjoo Oh (Ed.). Springer International Publishing, Cham, 163–181.
  23. JR Kennaway and CAR Hoare. 1980. A theory of nondeterminism. In Automata, Languages and Programming: Seventh Colloquium Noordwijkerhout, the Netherlands July 14–18, 1980 7. Springer, 338–350.
  24. Ekaterina Komendantskaya and Anthony Karel Seda. 2009. Sound and Complete SLD-Resolution for Bilattice-Based Annotated Logic Programs. Electronic Notes in Theoretical Computer Science 225 (2009), 141–159. https://doi.org/10.1016/j.entcs.2008.12.071 Proceedings of the Irish Conference on the Mathematical Foundations of Computer Science and Information Technology (MFCSIT 2006).
  25. Ravi Krishnamurthy and Shamim Naqvi. 1988. Non-Deterministic Choice in Datalog. In Proceedings of the Third International Conference on Data and Knowledge Bases, C. BEERI, J.W. SCHMIDT, and U. DAYAL (Eds.). Morgan Kaufmann, 416–424. https://doi.org/10.1016/B978-1-4832-1313-2.50038-X
  26. Lindsey Kuper and Ryan R. Newton. 2013. LVars: lattice-based data structures for deterministic parallelism. In Proceedings of the 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing (Boston, Massachusetts, USA) (FHPC ’13). Association for Computing Machinery, New York, NY, USA, 71–84. https://doi.org/10.1145/2502323.2502326
  27. Generating good generators for inductive relations. Proceedings of the ACM on Programming Languages 2, POPL (2017), 1–30.
  28. ASPeRiX, a first-order forward chaining approach for answer set computing. Theory and Practice of Logic Programming 17, 3 (2017), 266–310. https://doi.org/10.1017/S1471068416000569
  29. Disjunctive stable models: Unfounded sets, fixpoint semantics, and computation. Information and computation 135, 2 (1997), 69–112.
  30. Vladimir Lifschitz. 2019. Answer set programming. Springer Heidelberg.
  31. David McAllester. 2002. On the complexity analysis of static analyses. J. ACM 49, 4 (jul 2002), 512–537. https://doi.org/10.1145/581771.581774
  32. Uniform proofs as a foundation for logic programming. Annals of Pure and Applied Logic 51, 1 (1991), 125–157. https://doi.org/10.1016/0168-0072(91)90068-W
  33. Procedural level generation with answer set programming for general video game playing. In 2015 7th Computer Science and Electronic Engineering Conference (CEEC). IEEE, 207–212.
  34. Computing correctly with inductive relations. In Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation. ACM, NY, USA, 966–980.
  35. Gordon D Plotkin. 1976. A powerdomain construction. SIAM J. Comput. 5, 3 (1976), 452–487.
  36. Teodor C. Przymusinski. 1988. On the Declarative Semantics of Deductive Databases and Logic Programs. In Foundations of Deductive Databases and Logic Programming, Jack Minker (Ed.). Morgan Kaufmann, 193–216. https://doi.org/10.1016/B978-0-934613-40-8.50009-9
  37. Teodor C Przymusinski. 1991. Stable semantics for disjunctive programs. New generation computing 9, 3-4 (1991), 401–424.
  38. Domenico Sacca and Carlo Zaniolo. 1990. Stable models and non-determinism in logic programs with negation. In Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (Nashville, USA) (PODS ’90). Association for Computing Machinery, New York, NY, USA, 205–217. https://doi.org/10.1145/298514.298572
  39. Dana S Scott. 1982. Domains for denotational semantics. In Automata, Languages and Programming: Ninth Colloquium Aarhus, Denmark, July 12–16, 1982 9. Springer, 577–610.
  40. Type targeted testing. In Programming Languages and Systems: 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015, Proceedings 24. Springer, 812–836.
  41. Procedural content generation in games. Springer.
  42. Tanya Short and Tarn Adams. 2017. Procedural generation in game design. CRC Press.
  43. Robert J. Simmons and Frank Pfenning. 2008. Linear Logical Algorithms. In Automata, Languages and Programming, Luca Aceto, Ivan Damgård, Leslie Ann Goldberg, Magnús M. Halldórsson, Anna Ingólfsdóttir, and Igor Walukiewicz (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 336–347.
  44. Anthony J Smith and Joanna J Bryson. 2014. A logical approach to building dungeons: Answer set programming for hierarchical procedural content generation in roguelike games. In Proceedings of the 50th Anniversary Convention of the AISB.
  45. Quantifying over play: Constraining undesirable solutions in puzzle design. In Foundations of Digital Games. 221–228.
  46. Adam M Smith and Michael Mateas. 2011. Answer set programming for procedural content generation: A design space approach. IEEE Transactions on Computational Intelligence and AI in Games 3, 3 (2011), 187–200.
  47. Michael B Smyth. 1976. Powerdomains. In International Symposium on Mathematical Foundations of Computer Science. Springer, 537–543.
  48. Gemini: Bidirectional generation and analysis of games via ASP. In Fourteenth Artificial Intelligence and Interactive Digital Entertainment Conference.
  49. Alfred Tarski. 1955. A lattice-theoretical fixpoint theorem and its applications. Pacific J. Math 5 (1955), 285–309.
  50. The Well-Founded Semantics for General Logic Programs. J. ACM 38, 3 (jul 1991), 619–649. https://doi.org/10.1145/116825.116838
  51. Antonius Weinzierl. 2017. Blending Lazy-Grounding and CDNL Search for Answer-Set Solving. In Logic Programming and Nonmonotonic Reasoning, Marcello Balduccini and Tomi Janhunen (Eds.). Springer International Publishing, Cham, 191–204.

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com
Reddit Logo Streamline Icon: https://streamlinehq.com

Reddit

  1. Finite-Choice Logic Programming (22 points, 4 comments)
  2. Finite-Choice Logic Programming (6 points, 0 comments)