#6 - Adam Smith on Answer Set Programming

February 15, 2024 • 73 Minutes

logic programming answer set programming constraint programming game design

Adam Smith talks about Answer Set Programming, and how he’s used it in game design, information visualization, and other areas.

Show notes

Torsten Schaub at Potsdam University

Several of his presentations contain the formula:

ASP = DB + LP + KR + SMT^n

  • ASP: Answer Set Programming
  • DB: Database
  • LP: Logic Programming
  • KR: Knowledge Representation
  • SMT: SAT Modulo Theories

SAT solver: Boolean Satisfiability

this refraction game that I had made a puzzle generator for

Described in Adam’s dissertation.

the Potassco tools from University of Potsdam

potassco.org

A book called Procedural Content Generation in Games

www.pcgbook.com

There’s this idea due to Kate Compton … of the 10,000 bowls of oatmeal problem

http://www.galaxykate.com/blog/generator.html

We modeled a design space of information visualizations, line plots and scatter plots and bar charts

“Formalizing Visualization Design Knowledge as Constraints: Actionable and Extensible Models in Draco”

a Python library called Clorm .. so that you can define your problem instances with Python objects

github.com/potassco/clorm

the concept of elaboration tolerance that when someone gives you some clarification about how your domain works, can you incorporate that change by just adding more code to add more choices or more constraints?

John McCarthy’s paper on elaboration tolerance

a paper from Google DeepMind … describing a system called the Apperception Engine

“Making sense of sensory input”, Evans et al

taught a class called Applied ASP a few years ago

Lecture slides, programming assignments, reading assignments here: canvas.ucsc.edu/courses/1338

Once you want to write a program that’s more than 30 lines long, how do you profile it? How do you test it? How do you deploy it?

Slides from a talk about Adam’s test automation framework: Unit Test Automation for ASP with Ansunit

Try ASP from your browser: https://potassco.org/clingo/run/

Felix Holmgren

Thanks for listening! Feel free to check out other episodes or contact me via the social links in the footer. Or go buy me a coffee!