lecture 11 answer set programming - stanford …– kb may have 0 or more stable models – stable...
TRANSCRIPT
![Page 1: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/1.jpg)
11.
Answer Set Programming
![Page 2: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/2.jpg)
Outline
• Different Approaches to Deal with Defaults• Answer Set Semantics• Answer Set Programming
![Page 3: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/3.jpg)
Comparing Classical Approaches to Defaults
Approach Advantage Disadvantage
Closed World Simplicity for propositional case
Minimizes all predicates
Circumscription Minimizes selected predicates
Forces to talk about abnormality
Default Logic Add only selected negative literals
Cannot reason about defaults
Auto epistemic Logic Represents defaults & consistent beliefs
Practicality
![Page 4: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/4.jpg)
Why Answer Set Semantics
• Logic programming community has searched for a simple, clean andcomputationally elegant ways to handle default negation
• There are two approaches that have been most popular– Well founded semantics – Answer set semantics
![Page 5: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/5.jpg)
Semantics of Logic Programs
• Well Founded Semantics– 3-valued models: true, false, undefined– Every KB has a unique well founded model– Well founded model (for datalog1) poly-computable
• Answer Set Semantics– Classical 2-valued models– KB may have 0 or more stable models– Stable model (for datalog) NP-complete
• We will consider this in more detail
1. Datalog: function free horn logic programs
![Page 6: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/6.jpg)
Answer Set Semantics
• Basic definitions• Interpretations• Positive programs• General programs
![Page 7: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/7.jpg)
![Page 8: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/8.jpg)
![Page 9: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/9.jpg)
![Page 10: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/10.jpg)
![Page 11: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/11.jpg)
![Page 12: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/12.jpg)
![Page 13: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/13.jpg)
![Page 14: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/14.jpg)
![Page 15: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/15.jpg)
![Page 16: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/16.jpg)
![Page 17: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/17.jpg)
![Page 18: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/18.jpg)
![Page 19: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/19.jpg)
![Page 20: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/20.jpg)
![Page 21: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/21.jpg)
![Page 22: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/22.jpg)
![Page 23: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/23.jpg)
![Page 24: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/24.jpg)
![Page 25: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/25.jpg)
Some Complexity Results
• Answer set checking: Decide whether X is an answer set– Polynomial with no disjunction, Co-NP with disjunction
• Answer set existence: Decide whether there is an answer set– NP
• Brave/Credulous reasoning: Decide whether there is an answer setcontaining a specific atom– NP
• Cautious/Skeptical reasoning: Decide whether a specific atom is in all the answer sets– Co-NP
![Page 26: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/26.jpg)
Answer Set Programming
• Solving computational problems by reducing them to computing answers sets of logic programs is called answer set programming
• Useful for problems such as– Space shuttle and computer configuration– Solving puzzles and games (e.g., Sudoku)
• We will illustrate the process using an example
![Page 27: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/27.jpg)
Computing Hamiltonian Paths using ASP
• Given a directed graph G and an initial vertex v0, find a path from v0to v0 which visits each vertex exactly once
A
B
C
D
E
A, B, C, D, E, A is a Hamiltonian path
![Page 28: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/28.jpg)
Answer Set Programming Formulation
Represent the graph as ground facts
vertex(A)vertex(B)vertex(C)………..edge(A,B)edge(B,C)………….init(A)
Represent the Hamiltonian path by statements of form
in(v0,v1),…,in (vk, v0)
![Page 29: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/29.jpg)
Defining Hamiltonian Path (1)
• P visits each vertex at most once
1. vertex(V1), vertex(V2), vertex (V),in (V1,V),in (V2, V)V1!=V2
2. vertex(V1), vertex(V2), vertex (V),in (V,V1),in (V, V2)V1!=V2
![Page 30: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/30.jpg)
Defining Hamiltonian Path (2)
• P visits every vertex of the graph
3. reached(V2) vertex(V1), vertex(V2), init(V1),in(V1, V2)
4. reached (V2) vertex (V1), vertex(V2),reached (V1),in(V1, V2)
![Page 31: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/31.jpg)
Defining Hamiltonian Path (3)
• Every vertex is reached
5. vertex(V), naf reached (V).
![Page 32: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/32.jpg)
Defining Hamiltonian Path (4)
• Generate the collection of candidate paths
6. in (V1, V2) \/ ¬in (V1, V2) edge (V1, V2)
![Page 33: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/33.jpg)
Answer Set Solvers
• DLV – A disjunctive datalog system– http://www.dbai.tuwien.ac.at/proj/dlv/
• SMODELS (the front end is lparse)– See http://www.tcs.hut.fi/Software/smodels
• CLASP – A conflict driven nogood learning answer set solver– See http://www.cs.uni-potsdam.de/clasp/
Also see Answer Set Planning Competitionhttp://www.cs.kuleuven.be/~dtai/events/ASP-competition/index.shtml
![Page 34: Lecture 11 Answer Set Programming - Stanford …– KB may have 0 or more stable models – Stable model (for datalog) NP-complete • We will consider this in more detail 1. Datalog:](https://reader033.vdocuments.site/reader033/viewer/2022050409/5f85e4f78a88fb3d075d1da4/html5/thumbnails/34.jpg)
Suggested Readings
• Knowledge Representation, Reasoning, and the Design of Intelligent Agents, by Michael Gelfond and Yulia Kahl, Chapters 2 and 6