The Search Space cover art

The Search Space

The Search Space

Written by: Felix Holmgren
Listen for free

About this listen

The Logic Programming podcast. About the history, future, and wider landscape of Logic Programming.© Holmgren Interstellar, 2024 Philosophy Social Sciences
Episodes
  • #6 - Adam Smith on Answer Set Programming
    Feb 15 2024

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

    Visit the show's web page: thesearch.space

    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/

    ★ Support this podcast ★
    Show More Show Less
    1 hr and 13 mins
  • #5 - Kevin Feeney on TerminusDb and the Semantic Web
    Mar 20 2022
    Visit the show's web page: thesearch.spaceShow notesI first became aware of Kevin through a series of blog posts that explain the similarities and differences between these different kinds of databasesGraph Fundamentals — Part 1: RDFGraph Fundamentals — Part 2: Labelled Property GraphsGraph Fundamentals — Part 3: Graph Schema LanguagesGraph Fundamentals Part 4: Linked DataThen I found out about TerminusDbhttps://terminusdb.com/"a bunch of Swedish hackers with a bunch of JSON blobs"https://neo4j.com/Full quote:[...] there have been many more incoherent standards and initiatives that have come out of the W3C’s standards bodies — almost all of which have launched like lead balloons into a world that cares not a jot. Nevertheless, it is important to recognise that, hidden in all the nonsense, there are some exceptionally good ideas — triples, URL identifiers and OWL itself are all tremendously good ideas in essence and nothing else out there comes close. It is a sad testament to the suffocating nature of design by standards committee which has consumed countless hours of many thousands of smart and genuine researchers, that ultimately the entire community ended up getting it’s ass kicked by a bunch of Swedish hackers with a bunch of json blobs — the Neo4j property graph guys have had a greater impact upon the real world than the whole academic edifice of semantic web research.The Semantic Web as a movement came out of Tim Berners-LeeOne of the seminal articles:https://web.archive.org/web/20171010210556/https://pdfs.semanticscholar.org/566c/1c6bd366b4c9e07fc37eb372771690d5ba31.pdfThe Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. ... Adding logic to the Web—the means to use rules to make inferences, choose courses of action and answer questions—is the task before the Semantic Web community at the moment. — May 17, 2001, The Semantic Web - A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, Tim Berners-Lee, James Hendler and Ora Lassila The standardization of RDF, the standardization of OWLthe big, big gap in a lot of the standards of the semantic web was some type of closed world reasoning regimeI was one of the developers of software that ran a thing called Indymedia back in the early two-thousands.most of the impetus for OWL came out of the description logic community...there's a number of very well-known and very accomplished description logic people [...] like Peter Patel-Schneider and [Ian] Horrocks in Oxford....they were using predicates to point out that two things, two data structures are the same thing. But the standard didn't ... mean for that to be used for things that just happened to be the same real world thing...Kevin discusses this misuse of owl:sameAs and owl:equivalentClass in the the fourth of his blog posts linked to above.I was talking to some of the guys in Semantic Arts, who are very busy and active consultants in the area.And then there is this thing called RDF stores...[RDF stores] are based around this concept of a triple - predicate subject objectJust like Google do actually on their front page now for their knowledge graphThe Google Knowledge Graph was introduced in 2012 with the great slogan "things, not strings"...the other thing that triples have ... is it makes revision controlled databases possible. From TerminusDB: A Technical History:...we adopted a delta encoding approach to updates as is used in source control systems such as git. This provides transaction processing and updates using immutable database data structures, recovering standard database management features while also providing the whole suite of revision control features: branch, merge, squash, rollback, blame, and time-travel...I've actually seen that very thing being described as a benefit of property graphs that each relation has its own ID and it can have [a] whole data structure associated with itSee for example neo4j's blog post RDF Triple Stores vs. Labeled Property Graphs: What’s the Difference?, in the section "Difference #1: RDF Does Not Uniquely Identify Instances of Relationships of the Same Type".You can do it in SQL these days, but it's sort of a later addition... the WITH syntax, Common Table Expressions they are called... you can actually do recursive queries. I once showed up at a neo4j meetup with some examples of doing graphy queries in PostgreSQL using Common Table Expressions. (The presentation would have been more impressive if I had but some indexes on those tables...) A way better introduction is the excellent page on The WITH Clause in the SQLite documentation.People beat up on normal-form modeling and SQL way more than they should.A good recent blog post on this topic: Normalization is not a process.Even when I'm modelling graph stuff, I...
    Show More Show Less
    1 hr and 27 mins
  • #4 - Markus Triska on constraints and the power of Prolog
    Jan 4 2021
    Visit the show's web page: thesearch.spaceShow notesThe Power of Prolog, Markus' ongoing book project"It says, 'Find your way from darkness to light,' which is one of the quotes that occurs in The Knight of Cups, which is a recent movie by Terrence Malick.""I was introduced to Prolog by Ulrich Neumerkel at the Vienna University of Technology." "the convener of the Prolog ISO standard group.""He has developed his own teaching environment called GUPU, which means talk-assisted programming environment [Gesprächsunterstützende Programmierübungsumgebung]."Declarative program development in Prolog with GUPU (paper)"one fellow student came to me and asked for a solution to [what] you may now know as the SEND MORE MONEY task."SEND + MORE = MONEY"People have ... in different languages, explored multi-dispatch, multi-methods, and all kinds of stuff.""... the notion that an algorithm can be decomposed into a logic aspect and a control aspect. So this is written as 'algorithm is logic plus control.'""...let's look at the HTTP framework of SWI-Prolog""...the first use case that Prolog should solve was translating weather reports between French and English. It was the METEO system..." "For this purpose ... DCGs were invented. So this is a sub-formalism in Prolog that lets us describe lists in a very natural way.""...you have kind of a special syntax with the keyword is, and many of the normal, nice properties of Prolog start breaking down."(is)/2 is not actually a keyword or a special syntax. Markus describes the issues involved very well here:https://github.com/triska/clpz#an-impure-alternative-low-level-integer-arithmeticand here:https://www.metalevel.at/prolog/clpz "It is abbreviated as CSP: Constraint Satisfaction Problem.""You have variables, you have associated domains, which in plain Prolog are always Herbrand terms, named after Jaques Herbrand.""In the literature, this has even been mentioned as the Holy Grail of computer science. This property [or] at least the idea that users or application programmers specify a task and the system solves it."Eugene C Freuder. “In pursuit of the holy grail”. In:Constraints 2.1 (1997), pp. 57–61. (not freely available)There is an ongoing series of workshops following up on the ideas in the original paper:https://freuder.wordpress.com/pthg-20-the-fourth-workshop-on-progress-towards-the-holy-grail/"For comparison, [...] the constraint solver for SICStus Prolog is hundreds of times faster than for example what I've implemented."> "rusty-wam, implemented in Rust"(hence renamed Scryer Prolog, with Markus being an active contributor)> "There is O-Prolog, which is implemented by Kenichi Sasagawa from Japan."> "..in the case of Tau Prolog, it's implemented in JavaScript and they can embed Prolog in a web browser"The Power of Prolog YouTube channel ★ Support this podcast ★
    Show More Show Less
    1 hr and 6 mins
No reviews yet