Gebser v. Lago Vista Independent School Dist., 524 U.S. 274 (1998)
Answer Set Solving in Practice - Max Planck...
Transcript of Answer Set Solving in Practice - Max Planck...
![Page 1: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1.jpg)
Answer Set Solving in Practice
Martin Gebser and Torsten SchaubUniversity of Potsdam
Potassco Slide Packages are licensed under a Creative Commons Attribution 3.0 Unported License.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 1 / 432
![Page 2: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/2.jpg)
Rough Roadmap
1 Motivation
2 Introduction
3 Modeling
4 Language
5 Grounding
6 Foundations
7 Solving
8 Systems
9 Advanced modeling
10 Summary
Bibliography
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 2 / 432
![Page 3: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/3.jpg)
Resources
Course material
http://potassco.sourceforge.net/teaching.html
http://moodle.cs.uni-potsdam.de
http://www.cs.uni-potsdam.de/wv/lehre
Systems
clasp http://potassco.sourceforge.net
dlv http://www.dlvsystem.com
smodels http://www.tcs.hut.fi/Software/smodels
gringo http://potassco.sourceforge.net
lparse http://www.tcs.hut.fi/Software/smodels
clingo http://potassco.sourceforge.net
iclingo http://potassco.sourceforge.net
oclingo http://potassco.sourceforge.net
asparagus http://asparagus.cs.uni-potsdam.de
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 3 / 432
![Page 4: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/4.jpg)
The Potassco Book
1. Motivation2. Introduction3. Basic modeling4. Grounding5. Characterizations6. Solving7. Systems8. Advanced modeling9. Conclusions
Answer Set Solving in Practice
Martin Gebser, Roland Kaminski, Benjamin Kaufmann, and Torsten SchaubUniversity of Potsdam
SYNTHESIS LECTURES ON SAMPLE SERIES #1
CM&
cLaypoolMorgan publishers&
Resources
http://potassco.sourceforge.net/book.html
http://potassco.sourceforge.net/teaching.html
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 4 / 432
![Page 5: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/5.jpg)
Literature
Books [4], [29], [53]
Surveys [50], [2], [39], [21], [11]
Articles [41], [42], [6], [61], [54], [49], [40], etc.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 5 / 432
![Page 6: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/6.jpg)
Motivation: Overview
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 6 / 432
![Page 7: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/7.jpg)
Motivation
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 7 / 432
![Page 8: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/8.jpg)
Motivation
Informatics
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 8 / 432
![Page 9: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/9.jpg)
Motivation
Informatics
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 8 / 432
![Page 10: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/10.jpg)
Motivation
Traditional programming
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 8 / 432
![Page 11: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/11.jpg)
Motivation
Traditional programming
“What is the problem?” versus “How to solve the problem?”
Problem
Program
Solution
Output?
-
6
Programming Interpreting
Executing
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 8 / 432
![Page 12: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/12.jpg)
Motivation
Declarative problem solving
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
Interpreting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 8 / 432
![Page 13: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/13.jpg)
Motivation
Declarative problem solving
“What is the problem?” versus “How to solve the problem?”
Problem
Representation
Solution
Output?
-
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 8 / 432
![Page 14: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/14.jpg)
Motivation
Declarative problem solving
“What is the problem?” versus “How to solve the problem?”
Problem
Representation
Solution
Output?
-
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 8 / 432
![Page 15: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/15.jpg)
Nutshell
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 9 / 432
![Page 16: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/16.jpg)
Nutshell
Answer Set Programmingin a Nutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
ASP has its roots in
(deductive) databaseslogic programming (with negation)(logic-based) knowledge representation and (nonmonotonic) reasoningconstraint solving (in particular, SATisfiability testing)
ASP allows for solving all search problems in NP (and NPNP)in a uniform way
ASP is versatile as reflected by the ASP solver clasp, winningfirst places at ASP, CASC, MISC, PB, and SAT competitions
ASP embraces many emerging application areas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 10 / 432
![Page 17: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/17.jpg)
Nutshell
Answer Set Programmingin a Nutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
ASP has its roots in
(deductive) databaseslogic programming (with negation)(logic-based) knowledge representation and (nonmonotonic) reasoningconstraint solving (in particular, SATisfiability testing)
ASP allows for solving all search problems in NP (and NPNP)in a uniform way
ASP is versatile as reflected by the ASP solver clasp, winningfirst places at ASP, CASC, MISC, PB, and SAT competitions
ASP embraces many emerging application areas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 10 / 432
![Page 18: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/18.jpg)
Nutshell
Answer Set Programmingin a Nutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
ASP has its roots in
(deductive) databaseslogic programming (with negation)(logic-based) knowledge representation and (nonmonotonic) reasoningconstraint solving (in particular, SATisfiability testing)
ASP allows for solving all search problems in NP (and NPNP)in a uniform way
ASP is versatile as reflected by the ASP solver clasp, winningfirst places at ASP, CASC, MISC, PB, and SAT competitions
ASP embraces many emerging application areas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 10 / 432
![Page 19: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/19.jpg)
Nutshell
Answer Set Programmingin a Nutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
ASP has its roots in
(deductive) databaseslogic programming (with negation)(logic-based) knowledge representation and (nonmonotonic) reasoningconstraint solving (in particular, SATisfiability testing)
ASP allows for solving all search problems in NP (and NPNP)in a uniform way
ASP is versatile as reflected by the ASP solver clasp, winningfirst places at ASP, CASC, MISC, PB, and SAT competitions
ASP embraces many emerging application areas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 10 / 432
![Page 20: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/20.jpg)
Nutshell
Answer Set Programmingin a Nutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
ASP has its roots in
(deductive) databaseslogic programming (with negation)(logic-based) knowledge representation and (nonmonotonic) reasoningconstraint solving (in particular, SATisfiability testing)
ASP allows for solving all search problems in NP (and NPNP)in a uniform way
ASP is versatile as reflected by the ASP solver clasp, winningfirst places at ASP, CASC, MISC, PB, and SAT competitions
ASP embraces many emerging application areas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 10 / 432
![Page 21: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/21.jpg)
Nutshell
Answer Set Programmingin a Nutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
ASP has its roots in
(deductive) databaseslogic programming (with negation)(logic-based) knowledge representation and (nonmonotonic) reasoningconstraint solving (in particular, SATisfiability testing)
ASP allows for solving all search problems in NP (and NPNP)in a uniform way
ASP is versatile as reflected by the ASP solver clasp, winningfirst places at ASP, CASC, MISC, PB, and SAT competitions
ASP embraces many emerging application areas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 10 / 432
![Page 22: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/22.jpg)
Nutshell
Answer Set Programmingin a Hazelnutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
tailored to Knowledge Representation and Reasoning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 11 / 432
![Page 23: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/23.jpg)
Nutshell
Answer Set Programmingin a Hazelnutshell
ASP is an approach to declarative problem solving, combining
a rich yet simple modeling languagewith high-performance solving capacities
tailored to Knowledge Representation and Reasoning
ASP = DB+LP+KR+SAT
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 11 / 432
![Page 24: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/24.jpg)
Shifting paradigms
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 12 / 432
![Page 25: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/25.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
Automated planning, Kautz and Selman (ECAI’92)
Represent planning problems as propositional theories so thatmodels not proofs describe solutions
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 13 / 432
![Page 26: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/26.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
Automated planning, Kautz and Selman (ECAI’92)
Represent planning problems as propositional theories so thatmodels not proofs describe solutions
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 13 / 432
![Page 27: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/27.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
Automated planning, Kautz and Selman (ECAI’92)
Represent planning problems as propositional theories so thatmodels not proofs describe solutions
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 13 / 432
![Page 28: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/28.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
Automated planning, Kautz and Selman (ECAI’92)
Represent planning problems as propositional theories so thatmodels not proofs describe solutions
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 13 / 432
![Page 29: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/29.jpg)
Shifting paradigms
Model Generation based Problem Solving
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories models
SAT
propositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
......
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 14 / 432
![Page 30: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/30.jpg)
Shifting paradigms
Model Generation based Problem Solving
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories models
SAT
propositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
......
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 14 / 432
![Page 31: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/31.jpg)
Shifting paradigms
Model Generation based Problem Solving
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories models SATpropositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
......
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 14 / 432
![Page 32: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/32.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 15 / 432
![Page 33: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/33.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 15 / 432
![Page 34: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/34.jpg)
Shifting paradigms
LP-style playing with blocks
Prolog program
on(a,b).
on(b,c).
above(X,Y) :- on(X,Y).
above(X,Y) :- on(X,Z), above(Z,Y).
Prolog queries
?- above(a,c).
true.
?- above(c,a).
no.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 16 / 432
![Page 35: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/35.jpg)
Shifting paradigms
LP-style playing with blocks
Prolog program
on(a,b).
on(b,c).
above(X,Y) :- on(X,Y).
above(X,Y) :- on(X,Z), above(Z,Y).
Prolog queries
?- above(a,c).
true.
?- above(c,a).
no.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 16 / 432
![Page 36: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/36.jpg)
Shifting paradigms
LP-style playing with blocks
Prolog program
on(a,b).
on(b,c).
above(X,Y) :- on(X,Y).
above(X,Y) :- on(X,Z), above(Z,Y).
Prolog queries
?- above(a,c).
true.
?- above(c,a).
no.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 16 / 432
![Page 37: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/37.jpg)
Shifting paradigms
LP-style playing with blocks
Prolog program
on(a,b).
on(b,c).
above(X,Y) :- on(X,Y).
above(X,Y) :- on(X,Z), above(Z,Y).
Prolog queries (testing entailment)
?- above(a,c).
true.
?- above(c,a).
no.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 16 / 432
![Page 38: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/38.jpg)
Shifting paradigms
LP-style playing with blocks
Shuffled Prolog program
on(a,b).
on(b,c).
above(X,Y) :- above(X,Z), on(Z,Y).
above(X,Y) :- on(X,Y).
Prolog queries
?- above(a,c).
Fatal Error: local stack overflow.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 17 / 432
![Page 39: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/39.jpg)
Shifting paradigms
LP-style playing with blocks
Shuffled Prolog program
on(a,b).
on(b,c).
above(X,Y) :- above(X,Z), on(Z,Y).
above(X,Y) :- on(X,Y).
Prolog queries
?- above(a,c).
Fatal Error: local stack overflow.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 17 / 432
![Page 40: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/40.jpg)
Shifting paradigms
LP-style playing with blocks
Shuffled Prolog program
on(a,b).
on(b,c).
above(X,Y) :- above(X,Z), on(Z,Y).
above(X,Y) :- on(X,Y).
Prolog queries (answered via fixed execution)
?- above(a,c).
Fatal Error: local stack overflow.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 17 / 432
![Page 41: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/41.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 18 / 432
![Page 42: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/42.jpg)
Shifting paradigms
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 18 / 432
![Page 43: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/43.jpg)
Shifting paradigms
SAT-style playing with blocks
Formula
on(a, b)∧ on(b, c)∧ (on(X ,Y )→ above(X ,Y ))∧ (on(X ,Z ) ∧ above(Z ,Y )→ above(X ,Y ))
Herbrand modelon(a, b), on(b, c), on(a, c), on(b, b),
above(a, b), above(b, c), above(a, c), above(b, b), above(c , b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 19 / 432
![Page 44: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/44.jpg)
Shifting paradigms
SAT-style playing with blocks
Formula
on(a, b)∧ on(b, c)∧ (on(X ,Y )→ above(X ,Y ))∧ (on(X ,Z ) ∧ above(Z ,Y )→ above(X ,Y ))
Herbrand modelon(a, b), on(b, c), on(a, c), on(b, b),
above(a, b), above(b, c), above(a, c), above(b, b), above(c , b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 19 / 432
![Page 45: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/45.jpg)
Shifting paradigms
SAT-style playing with blocks
Formula
on(a, b)∧ on(b, c)∧ (on(X ,Y )→ above(X ,Y ))∧ (on(X ,Z ) ∧ above(Z ,Y )→ above(X ,Y ))
Herbrand model (among 426!)on(a, b), on(b, c), on(a, c), on(b, b),
above(a, b), above(b, c), above(a, c), above(b, b), above(c , b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 19 / 432
![Page 46: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/46.jpg)
Shifting paradigms
SAT-style playing with blocks
Formula
on(a, b)∧ on(b, c)∧ (on(X ,Y )→ above(X ,Y ))∧ (on(X ,Z ) ∧ above(Z ,Y )→ above(X ,Y ))
Herbrand model (among 426!)on(a, b), on(b, c), on(a, c), on(b, b),
above(a, b), above(b, c), above(a, c), above(b, b), above(c , b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 19 / 432
![Page 47: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/47.jpg)
Shifting paradigms
SAT-style playing with blocks
Formula
on(a, b)∧ on(b, c)∧ (on(X ,Y )→ above(X ,Y ))∧ (on(X ,Z ) ∧ above(Z ,Y )→ above(X ,Y ))
Herbrand model (among 426!)on(a, b), on(b, c), on(a, c), on(b, b),
above(a, b), above(b, c), above(a, c), above(b, b), above(c , b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 19 / 432
![Page 48: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/48.jpg)
Rooting ASP
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 20 / 432
![Page 49: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/49.jpg)
Rooting ASP
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 21 / 432
![Page 50: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/50.jpg)
Rooting ASP
KR’s shift of paradigm
Theorem Proving based approach (eg. Prolog)
1 Provide a representation of the problem2 A solution is given by a derivation of a query
Model Generation based approach (eg. SATisfiability testing)
1 Provide a representation of the problem2 A solution is given by a model of the representation
å Answer Set Programming (ASP)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 21 / 432
![Page 51: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/51.jpg)
Rooting ASP
Model Generation based Problem Solving
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories modelspropositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
......
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 22 / 432
![Page 52: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/52.jpg)
Rooting ASP
Answer Set Programming at large
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories modelspropositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
......
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 22 / 432
![Page 53: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/53.jpg)
Rooting ASP
Answer Set Programming commonly
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories modelspropositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
......
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 22 / 432
![Page 54: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/54.jpg)
Rooting ASP
Answer Set Programming in practice
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories modelspropositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
......
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 22 / 432
![Page 55: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/55.jpg)
Rooting ASP
Answer Set Programming in practice
Representation Solutionconstraint satisfaction problem assignment
propositional horn theories smallest model
propositional theories modelspropositional theories minimal modelspropositional theories stable models
propositional programs minimal modelspropositional programs supported modelspropositional programs stable models
first-order theories modelsfirst-order theories minimal modelsfirst-order theories stable modelsfirst-order theories Herbrand models
auto-epistemic theories expansionsdefault theories extensions
first-order programs stable Herbrand models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 22 / 432
![Page 56: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/56.jpg)
Rooting ASP
ASP-style playing with blocks
Logic program
on(a,b).
on(b,c).
above(X,Y) :- on(X,Y).
above(X,Y) :- on(X,Z), above(Z,Y).
Stable Herbrand model
on(a, b), on(b, c), above(b, c), above(a, b), above(a, c)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 23 / 432
![Page 57: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/57.jpg)
Rooting ASP
ASP-style playing with blocks
Logic program
on(a,b).
on(b,c).
above(X,Y) :- on(X,Y).
above(X,Y) :- on(X,Z), above(Z,Y).
Stable Herbrand model
on(a, b), on(b, c), above(b, c), above(a, b), above(a, c)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 23 / 432
![Page 58: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/58.jpg)
Rooting ASP
ASP-style playing with blocks
Logic program
on(a,b).
on(b,c).
above(X,Y) :- on(X,Y).
above(X,Y) :- on(X,Z), above(Z,Y).
Stable Herbrand model (and no others)
on(a, b), on(b, c), above(b, c), above(a, b), above(a, c)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 23 / 432
![Page 59: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/59.jpg)
Rooting ASP
ASP-style playing with blocks
Logic program
on(a,b).
on(b,c).
above(X,Y) :- above(Z,Y), on(X,Z).
above(X,Y) :- on(X,Y).
Stable Herbrand model (and no others)
on(a, b), on(b, c), above(b, c), above(a, b), above(a, c)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 23 / 432
![Page 60: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/60.jpg)
Rooting ASP
ASP versus LP
ASP Prolog
Model generation Query orientation
Bottom-up Top-down
Modeling language Programming language
Rule-based format
Instantiation UnificationFlat terms Nested terms
(Turing +) NP(NP) Turing
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 24 / 432
![Page 61: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/61.jpg)
Rooting ASP
ASP versus SAT
ASP SAT
Model generation
Bottom-up
Constructive Logic Classical Logic
Closed (and open) Open world reasoningworld reasoning
Modeling language —
Complex reasoning modes Satisfiability testing
Satisfiability SatisfiabilityEnumeration/Projection —Intersection/Union —Optimization —
(Turing +) NP(NP) NP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 25 / 432
![Page 62: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/62.jpg)
ASP solving
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 26 / 432
![Page 63: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/63.jpg)
ASP solving
ASP solving
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 27 / 432
![Page 64: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/64.jpg)
ASP solving
SAT solving
Problem
Formula(CNF) Solver Classical
Models
Solution
- -
?
6
Programming Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 28 / 432
![Page 65: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/65.jpg)
ASP solving
Rooting ASP solving
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 29 / 432
![Page 66: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/66.jpg)
ASP solving
Rooting ASP solving
Problem
LogicProgram
LP
Grounder
DB
Solver
SAT
StableModels
DB+KR+LP
Solution
- - -
?
6
Modeling KR Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 29 / 432
![Page 67: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/67.jpg)
Using ASP
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 30 / 432
![Page 68: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/68.jpg)
Using ASP
Two sides of a coin
ASP as High-level Language
Express problem instance(s) as sets of factsEncode problem (class) as a set of rulesRead off solutions from stable models of facts and rules
ASP as Low-level Language
Compile a problem into a logic programSolve the original problem by solving its compilation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 31 / 432
![Page 69: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/69.jpg)
Using ASP
What is ASP good for?
Combinatorial search problems in the realm of P, NP, and NPNP
(some with substantial amount of data), like
Automated PlanningCode OptimizationComposition of Renaissance MusicDatabase IntegrationDecision Support for NASA shuttle controllersModel CheckingProduct ConfigurationRoboticsSystems BiologySystem Synthesis(industrial) Team-buildingand many many more
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 32 / 432
![Page 70: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/70.jpg)
Using ASP
What is ASP good for?
Combinatorial search problems in the realm of P, NP, and NPNP
(some with substantial amount of data), like
Automated PlanningCode OptimizationComposition of Renaissance MusicDatabase IntegrationDecision Support for NASA shuttle controllersModel CheckingProduct ConfigurationRoboticsSystems BiologySystem Synthesis(industrial) Team-buildingand many many more
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 32 / 432
![Page 71: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/71.jpg)
Using ASP
What does ASP offer?
Integration of DB, KR, and SAT techniques
Succinct, elaboration-tolerant problem representations
Rapid application development tool
Easy handling of dynamic, knowledge intensive applications
including: data, frame axioms, exceptions, defaults, closures, etc
ASP = DB+LP+KR+SAT
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 33 / 432
![Page 72: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/72.jpg)
Using ASP
What does ASP offer?
Integration of DB, KR, and SAT techniques
Succinct, elaboration-tolerant problem representations
Rapid application development tool
Easy handling of dynamic, knowledge intensive applications
including: data, frame axioms, exceptions, defaults, closures, etc
ASP = DB+LP+KR+SAT
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 33 / 432
![Page 73: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/73.jpg)
Using ASP
What does ASP offer?
Integration of DB, KR, and SAT techniques
Succinct, elaboration-tolerant problem representations
Rapid application development tool
Easy handling of dynamic, knowledge intensive applications
including: data, frame axioms, exceptions, defaults, closures, etc
ASP = DB+LP+KR+SMT
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 33 / 432
![Page 74: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/74.jpg)
Introduction: Overview
7 Syntax
8 Semantics
9 Examples
10 Variables
11 Language constructs
12 Reasoning modes
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 34 / 432
![Page 75: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/75.jpg)
Syntax
Outline
7 Syntax
8 Semantics
9 Examples
10 Variables
11 Language constructs
12 Reasoning modes
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 35 / 432
![Page 76: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/76.jpg)
Syntax
Problem solving in ASP: Syntax
Problem
Logic Program
Solution
Stable Models?
-
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 36 / 432
![Page 77: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/77.jpg)
Syntax
Normal logic programs
A logic program, P, over a set A of atoms is a finite set of rules
A (normal) rule, r , is of the form
a0 ← a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai ∈ A is an atom for 0 ≤ i ≤ n
Notation
head(r) = a0
body(r) = a1, . . . , am,∼am+1, . . . ,∼anbody(r)+ = a1, . . . , ambody(r)− = am+1, . . . , anatom(P) =
⋃r∈P
(head(r) ∪ body(r)+ ∪ body(r)−
)body(P) = body(r) | r ∈ P
A program P is positive if body(r)− = ∅ for all r ∈ P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 37 / 432
![Page 78: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/78.jpg)
Syntax
Normal logic programs
A logic program, P, over a set A of atoms is a finite set of rules
A (normal) rule, r , is of the form
a0 ← a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai ∈ A is an atom for 0 ≤ i ≤ n
Notation
head(r) = a0
body(r) = a1, . . . , am,∼am+1, . . . ,∼anbody(r)+ = a1, . . . , ambody(r)− = am+1, . . . , anatom(P) =
⋃r∈P
(head(r) ∪ body(r)+ ∪ body(r)−
)body(P) = body(r) | r ∈ P
A program P is positive if body(r)− = ∅ for all r ∈ P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 37 / 432
![Page 79: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/79.jpg)
Syntax
Normal logic programs
A logic program, P, over a set A of atoms is a finite set of rules
A (normal) rule, r , is of the form
a0 ← a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai ∈ A is an atom for 0 ≤ i ≤ n
Notation
head(r) = a0
body(r) = a1, . . . , am,∼am+1, . . . ,∼anbody(r)+ = a1, . . . , ambody(r)− = am+1, . . . , anatom(P) =
⋃r∈P
(head(r) ∪ body(r)+ ∪ body(r)−
)body(P) = body(r) | r ∈ P
A program P is positive if body(r)− = ∅ for all r ∈ P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 37 / 432
![Page 80: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/80.jpg)
Syntax
Rough notational convention
We sometimes use the following notation interchangeablyin order to stress the respective view:
default classicaltrue, false if and or iff negation negation
source code :- , | not -
logic program ← , ; ∼ ¬formula ⊥,> → ∧ ∨ ↔ ∼ ¬
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 38 / 432
![Page 81: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/81.jpg)
Semantics
Outline
7 Syntax
8 Semantics
9 Examples
10 Variables
11 Language constructs
12 Reasoning modes
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 39 / 432
![Page 82: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/82.jpg)
Semantics
Problem solving in ASP: Semantics
Problem
Logic Program
Solution
Stable Models?
-
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 40 / 432
![Page 83: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/83.jpg)
Semantics
Formal DefinitionStable models of positive programs
A set of atoms X is closed under a positive program P ifffor any r ∈ P, head(r) ∈ X whenever body(r)+ ⊆ X
X corresponds to a model of P (seen as a formula)
The smallest set of atoms which is closed under a positive program Pis denoted by Cn(P)
Cn(P) corresponds to the ⊆-smallest model of P (ditto)
The set Cn(P) of atoms is the stable model of a positive program P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 41 / 432
![Page 84: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/84.jpg)
Semantics
Formal DefinitionStable models of positive programs
A set of atoms X is closed under a positive program P ifffor any r ∈ P, head(r) ∈ X whenever body(r)+ ⊆ X
X corresponds to a model of P (seen as a formula)
The smallest set of atoms which is closed under a positive program Pis denoted by Cn(P)
Cn(P) corresponds to the ⊆-smallest model of P (ditto)
The set Cn(P) of atoms is the stable model of a positive program P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 41 / 432
![Page 85: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/85.jpg)
Semantics
Formal DefinitionStable models of positive programs
A set of atoms X is closed under a positive program P ifffor any r ∈ P, head(r) ∈ X whenever body(r)+ ⊆ X
X corresponds to a model of P (seen as a formula)
The smallest set of atoms which is closed under a positive program Pis denoted by Cn(P)
Cn(P) corresponds to the ⊆-smallest model of P (ditto)
The set Cn(P) of atoms is the stable model of a positive program P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 41 / 432
![Page 86: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/86.jpg)
Semantics
Formal DefinitionStable models of positive programs
A set of atoms X is closed under a positive program P ifffor any r ∈ P, head(r) ∈ X whenever body(r)+ ⊆ X
X corresponds to a model of P (seen as a formula)
The smallest set of atoms which is closed under a positive program Pis denoted by Cn(P)
Cn(P) corresponds to the ⊆-smallest model of P (ditto)
The set Cn(P) of atoms is the stable model of a positive program P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 41 / 432
![Page 87: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/87.jpg)
Semantics
Some “logical” remarks
Positive rules are also referred to as definite clauses
Definite clauses are disjunctions with exactly one positive atom:
a0 ∨ ¬a1 ∨ · · · ∨ ¬am
A set of definite clauses has a (unique) smallest model
Horn clauses are clauses with at most one positive atom
Every definite clause is a Horn clause but not vice versaNon-definite Horn clauses can be regarded as integrity constraints
A set of Horn clauses has a smallest model or none
This smallest model is the intended semantics of such sets of clauses
Given a positive program P, Cn(P) corresponds to the smallest modelof the set of definite clauses corresponding to P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 42 / 432
![Page 88: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/88.jpg)
Semantics
Some “logical” remarks
Positive rules are also referred to as definite clauses
Definite clauses are disjunctions with exactly one positive atom:
a0 ∨ ¬a1 ∨ · · · ∨ ¬am
A set of definite clauses has a (unique) smallest model
Horn clauses are clauses with at most one positive atom
Every definite clause is a Horn clause but not vice versaNon-definite Horn clauses can be regarded as integrity constraints
A set of Horn clauses has a smallest model or none
This smallest model is the intended semantics of such sets of clauses
Given a positive program P, Cn(P) corresponds to the smallest modelof the set of definite clauses corresponding to P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 42 / 432
![Page 89: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/89.jpg)
Semantics
Some “logical” remarks
Positive rules are also referred to as definite clauses
Definite clauses are disjunctions with exactly one positive atom:
a0 ∨ ¬a1 ∨ · · · ∨ ¬am
A set of definite clauses has a (unique) smallest model
Horn clauses are clauses with at most one positive atom
Every definite clause is a Horn clause but not vice versaNon-definite Horn clauses can be regarded as integrity constraints
A set of Horn clauses has a smallest model or none
This smallest model is the intended semantics of such sets of clauses
Given a positive program P, Cn(P) corresponds to the smallest modelof the set of definite clauses corresponding to P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 42 / 432
![Page 90: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/90.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 91: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/91.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 92: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/92.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 93: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/93.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 94: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/94.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 95: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/95.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 96: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/96.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 97: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/97.jpg)
Semantics
Basic idea
Consider the logical formula Φ and its three(classical) models:
HHHH
HHHjp 7→ 1q 7→ 1r 7→ 0
p, q, q, r, and p, q, r
Φ q ∧ (q ∧ ¬r → p)
Formula Φ has one stable model,often called answer set:
p, q
PΦ q ←p ← q, ∼r
Informally, a set X of atoms is a stable model of a logic program P
if X is a (classical) model of P and
if all atoms in X are justified by some rule in P
(rooted in intuitionistic logics HT (Heyting, 1930) and G3 (Godel, 1932))
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 43 / 432
![Page 98: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/98.jpg)
Semantics
Formal DefinitionStable model of normal programs
The reduct, PX , of a program P relative to a set X of atoms isdefined by
PX = head(r)← body(r)+ | r ∈ P and body(r)− ∩ X = ∅
A set X of atoms is a stable model of a program P, if Cn(PX ) = X
Note Cn(PX ) is the ⊆–smallest (classical) model of PX
Note Every atom in X is justified by an “applying rule from P”
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 44 / 432
![Page 99: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/99.jpg)
Semantics
Formal DefinitionStable model of normal programs
The reduct, PX , of a program P relative to a set X of atoms isdefined by
PX = head(r)← body(r)+ | r ∈ P and body(r)− ∩ X = ∅
A set X of atoms is a stable model of a program P, if Cn(PX ) = X
Note Cn(PX ) is the ⊆–smallest (classical) model of PX
Note Every atom in X is justified by an “applying rule from P”
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 44 / 432
![Page 100: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/100.jpg)
Semantics
Formal DefinitionStable model of normal programs
The reduct, PX , of a program P relative to a set X of atoms isdefined by
PX = head(r)← body(r)+ | r ∈ P and body(r)− ∩ X = ∅
A set X of atoms is a stable model of a program P, if Cn(PX ) = X
Note Cn(PX ) is the ⊆–smallest (classical) model of PX
Note Every atom in X is justified by an “applying rule from P”
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 44 / 432
![Page 101: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/101.jpg)
Semantics
A closer look at PX
In other words, given a set X of atoms from P,
PX is obtained from P by deleting
1 each rule having ∼a in its body with a ∈ Xand then
2 all negative atoms of the form ∼ain the bodies of the remaining rules
Note Only negative body literals are evaluated wrt X
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 45 / 432
![Page 102: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/102.jpg)
Semantics
A closer look at PX
In other words, given a set X of atoms from P,
PX is obtained from P by deleting
1 each rule having ∼a in its body with a ∈ Xand then
2 all negative atoms of the form ∼ain the bodies of the remaining rules
Note Only negative body literals are evaluated wrt X
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 45 / 432
![Page 103: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/103.jpg)
Examples
Outline
7 Syntax
8 Semantics
9 Examples
10 Variables
11 Language constructs
12 Reasoning modes
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 46 / 432
![Page 104: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/104.jpg)
Examples
A first example
P = p ← p, q ← ∼p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅
q p ← pq ←
q 4
p, q p ← p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 105: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/105.jpg)
Examples
A first example
P = p ← p, q ← ∼p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅
q p ← pq ←
q 4
p, q p ← p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 106: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/106.jpg)
Examples
A first example
P = p ← p, q ← ∼p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅
q p ← pq ←
q 4
p, q p ← p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 107: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/107.jpg)
Examples
A first example
P = p ← p, q ← ∼p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅
q p ← pq ←
q 4
p, q p ← p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 108: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/108.jpg)
Examples
A first example
P = p ← p, q ← ∼p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅ 8
q p ← pq ←
q 4
p, q p ← p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 109: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/109.jpg)
Examples
A first example
P = p ← p, q ← ∼p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅ 8
q p ← pq ←
q 4
p, q p ← p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 110: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/110.jpg)
Examples
A first example
P = p ← p, q ← ∼p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅ 8
q p ← pq ←
q 4
p, q p ← p ∅ 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 111: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/111.jpg)
Examples
A first example
P = p ← p, q ← ¬p
X PX Cn(PX )
p ← pq ←
q 8
p p ← p ∅ 4
q p ← pq ←
q 4
p, q p ← p ∅ 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 47 / 432
![Page 112: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/112.jpg)
Examples
A second example
P = p ← ∼q, q ← ∼p
X PX Cn(PX )
p ←q ←
p, q 8
p p ← p 4
qq ←
q 4
p, q ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 48 / 432
![Page 113: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/113.jpg)
Examples
A second example
P = p ← ∼q, q ← ∼p
X PX Cn(PX )
p ←q ←
p, q 8
p p ← p 4
qq ←
q 4
p, q ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 48 / 432
![Page 114: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/114.jpg)
Examples
A second example
P = p ← ∼q, q ← ∼p
X PX Cn(PX )
p ←q ←
p, q 8
p p ← p 4
qq ←
q 4
p, q ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 48 / 432
![Page 115: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/115.jpg)
Examples
A second example
P = p ← ∼q, q ← ∼p
X PX Cn(PX )
p ←q ←
p, q 8
p p ← p 4
qq ←
q 4
p, q ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 48 / 432
![Page 116: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/116.jpg)
Examples
A second example
P = p ← ∼q, q ← ∼p
X PX Cn(PX )
p ←q ←
p, q 8
p p ← p 4
qq ←
q 4
p, q ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 48 / 432
![Page 117: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/117.jpg)
Examples
A second example
P = p ← ∼q, q ← ∼p
X PX Cn(PX )
p ←q ←
p, q 8
p p ← p 4
qq ←
q 4
p, q ∅ 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 48 / 432
![Page 118: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/118.jpg)
Examples
A second example
P = p ← ¬q, q ← ¬p
X PX Cn(PX )
p ←q ←
p, q 8
p p ← p 4
qq ←
q 4
p, q ∅ 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 48 / 432
![Page 119: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/119.jpg)
Examples
A third example
P = p ← ∼p
X PX Cn(PX )
p ← p 8
p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 49 / 432
![Page 120: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/120.jpg)
Examples
A third example
P = p ← ∼p
X PX Cn(PX )
p ← p 8
p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 49 / 432
![Page 121: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/121.jpg)
Examples
A third example
P = p ← ∼p
X PX Cn(PX )
p ← p 8
p ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 49 / 432
![Page 122: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/122.jpg)
Examples
A third example
P = p ← ∼p
X PX Cn(PX )
p ← p 8
p ∅ 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 49 / 432
![Page 123: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/123.jpg)
Examples
A third example
P = p ← ¬p
X PX Cn(PX )
p ← p 8
p ∅ 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 49 / 432
![Page 124: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/124.jpg)
Examples
Some properties
A logic program may have zero, one, or multiple stable models!
If X is a stable model of a logic program P,then X is a model of P (seen as a formula)
If X and Y are stable models of a normal program P,then X 6⊂ Y
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 50 / 432
![Page 125: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/125.jpg)
Examples
Some properties
A logic program may have zero, one, or multiple stable models!
If X is a stable model of a logic program P,then X is a model of P (seen as a formula)
If X and Y are stable models of a normal program P,then X 6⊂ Y
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 50 / 432
![Page 126: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/126.jpg)
Variables
Outline
7 Syntax
8 Semantics
9 Examples
10 Variables
11 Language constructs
12 Reasoning modes
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 51 / 432
![Page 127: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/127.jpg)
Variables
Programs with Variables
Let P be a logic program
Let T be a set of (variable-free) terms
(also called Herbrand universe)
Let A be a set of (variable-free) atoms constructable from T
(also called alphabet or Herbrand base)
Ground Instances of r ∈ P: Set of variable-free rules obtained byreplacing all variables in r by elements from T :
ground(r) = rθ | θ : var(r)→ T and var(rθ) = ∅
where var(r) stands for the set of all variables occurring in r ;θ is a (ground) substitution
Ground Instantiation of P: ground(P) =⋃
r∈P ground(r)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 52 / 432
![Page 128: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/128.jpg)
Variables
Programs with Variables
Let P be a logic program
Let T be a set of
(
variable-free
)
terms (also called Herbrand universe)
Let A be a set of (variable-free) atoms constructable from T(also called alphabet or Herbrand base)
Ground Instances of r ∈ P: Set of variable-free rules obtained byreplacing all variables in r by elements from T :
ground(r) = rθ | θ : var(r)→ T and var(rθ) = ∅
where var(r) stands for the set of all variables occurring in r ;θ is a (ground) substitution
Ground Instantiation of P: ground(P) =⋃
r∈P ground(r)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 52 / 432
![Page 129: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/129.jpg)
Variables
Programs with Variables
Let P be a logic program
Let T be a set of (variable-free) terms
(also called Herbrand universe)
Let A be a set of (variable-free) atoms constructable from T
(also called alphabet or Herbrand base)
Ground Instances of r ∈ P: Set of variable-free rules obtained byreplacing all variables in r by elements from T :
ground(r) = rθ | θ : var(r)→ T and var(rθ) = ∅
where var(r) stands for the set of all variables occurring in r ;θ is a (ground) substitution
Ground Instantiation of P: ground(P) =⋃
r∈P ground(r)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 52 / 432
![Page 130: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/130.jpg)
Variables
Programs with Variables
Let P be a logic program
Let T be a set of (variable-free) terms
(also called Herbrand universe)
Let A be a set of (variable-free) atoms constructable from T
(also called alphabet or Herbrand base)
Ground Instances of r ∈ P: Set of variable-free rules obtained byreplacing all variables in r by elements from T :
ground(r) = rθ | θ : var(r)→ T and var(rθ) = ∅
where var(r) stands for the set of all variables occurring in r ;θ is a (ground) substitution
Ground Instantiation of P: ground(P) =⋃
r∈P ground(r)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 52 / 432
![Page 131: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/131.jpg)
Variables
An example
P = r(a, b)←, r(b, c)←, t(X ,Y )← r(X ,Y ) T = a, b, c
A=
r(a, a), r(a, b), r(a, c), r(b, a), r(b, b), r(b, c), r(c , a), r(c , b), r(c , c),t(a, a), t(a, b), t(a, c), t(b, a), t(b, b), t(b, c), t(c , a), t(c , b), t(c , c)
ground(P) =
r(a, b) ← ,r(b, c) ← ,t(a, a) ← r(a, a), t(b, a) ← r(b, a), t(c , a) ← r(c , a),t(a, b) ← r(a, b), t(b, b) ← r(b, b), t(c , b) ← r(c , b),t(a, c) ← r(a, c), t(b, c) ← r(b, c), t(c , c) ← r(c , c)
Intelligent Grounding aims at reducing the ground instantiation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 53 / 432
![Page 132: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/132.jpg)
Variables
An example
P = r(a, b)←, r(b, c)←, t(X ,Y )← r(X ,Y ) T = a, b, c
A=
r(a, a), r(a, b), r(a, c), r(b, a), r(b, b), r(b, c), r(c , a), r(c , b), r(c , c),t(a, a), t(a, b), t(a, c), t(b, a), t(b, b), t(b, c), t(c , a), t(c , b), t(c , c)
ground(P) =
r(a, b) ← ,r(b, c) ← ,t(a, a) ← r(a, a), t(b, a) ← r(b, a), t(c , a) ← r(c , a),t(a, b) ← r(a, b), t(b, b) ← r(b, b), t(c , b) ← r(c , b),t(a, c) ← r(a, c), t(b, c) ← r(b, c), t(c , c) ← r(c , c)
Intelligent Grounding aims at reducing the ground instantiation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 53 / 432
![Page 133: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/133.jpg)
Variables
An example
P = r(a, b)←, r(b, c)←, t(X ,Y )← r(X ,Y ) T = a, b, c
A=
r(a, a), r(a, b), r(a, c), r(b, a), r(b, b), r(b, c), r(c , a), r(c , b), r(c , c),t(a, a), t(a, b), t(a, c), t(b, a), t(b, b), t(b, c), t(c , a), t(c , b), t(c , c)
ground(P) =
r(a, b) ← ,r(b, c) ← ,t(a, a) ← r(a, a), t(b, a) ← r(b, a), t(c , a) ← r(c , a),t(a, b) ← r(a, b), t(b, b) ← r(b, b), t(c , b) ← r(c , b),t(a, c) ← r(a, c), t(b, c) ← r(b, c), t(c , c) ← r(c , c)
Intelligent Grounding aims at reducing the ground instantiation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 53 / 432
![Page 134: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/134.jpg)
Variables
Stable models of programs with Variables
Let P be a normal logic program with variables
A set X of (ground) atoms is a stable model of P,
if Cn(ground(P)X ) = X
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 54 / 432
![Page 135: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/135.jpg)
Variables
Stable models of programs with Variables
Let P be a normal logic program with variables
A set X of (ground) atoms is a stable model of P,
if Cn(ground(P)X ) = X
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 54 / 432
![Page 136: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/136.jpg)
Language constructs
Outline
7 Syntax
8 Semantics
9 Examples
10 Variables
11 Language constructs
12 Reasoning modes
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 55 / 432
![Page 137: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/137.jpg)
Language constructs
Problem solving in ASP: Extended Syntax
Problem
Logic Program
Solution
Stable Models?
-
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 56 / 432
![Page 138: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/138.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 139: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/139.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 140: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/140.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 141: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/141.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 142: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/142.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 143: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/143.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 144: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/144.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 145: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/145.jpg)
Language constructs
Language Constructs
Variables (over the Herbrand Universe)
p(X) :- q(X) over constants a, b, c stands forp(a) :- q(a), p(b) :- q(b), p(c) :- q(c)
Conditional Literals
p :- q(X) : r(X) given r(a), r(b), r(c) stands forp :- q(a), q(b), q(c)
Disjunction
p(X) | q(X) :- r(X)
Integrity Constraints
:- q(X), p(X)
Choice
2 p(X,Y) : q(X) 7 :- r(Y)
Aggregates
s(Y) :- r(Y), 2 #count p(X,Y) : q(X) 7
also: #sum, #avg, #min, #max, #even, #odd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 57 / 432
![Page 146: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/146.jpg)
Reasoning modes
Outline
7 Syntax
8 Semantics
9 Examples
10 Variables
11 Language constructs
12 Reasoning modes
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 58 / 432
![Page 147: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/147.jpg)
Reasoning modes
Problem solving in ASP: Reasoning Modes
Problem
Logic Program
Solution
Stable Models?
-
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 59 / 432
![Page 148: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/148.jpg)
Reasoning modes
Reasoning Modes
Satisfiability
Enumeration†
Projection†
Intersection‡
Union‡
Optimization
and combinations of them
† without solution recording‡ without solution enumeration
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 60 / 432
![Page 149: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/149.jpg)
Basic Modeling: Overview
13 ASP solving process
14 Methodology
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 61 / 432
![Page 150: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/150.jpg)
Modeling and Interpreting
Problem
Logic Program
Solution
Stable Models?
-
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 62 / 432
![Page 151: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/151.jpg)
Modeling
For solving a problem class C for a problem instance I,encode
1 the problem instance I as a set PI of facts and2 the problem class C as a set PC of rules
such that the solutions to C for I can be (polynomially) extractedfrom the stable models of PI ∪ PC
PI is (still) called problem instance
PC is often called the problem encoding
An encoding PC is uniform, if it can be used to solve all itsproblem instancesThat is, PC encodes the solutions to C for any set PI of facts
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 63 / 432
![Page 152: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/152.jpg)
Modeling
For solving a problem class C for a problem instance I,encode
1 the problem instance I as a set PI of facts and2 the problem class C as a set PC of rules
such that the solutions to C for I can be (polynomially) extractedfrom the stable models of PI ∪ PC
PI is (still) called problem instance
PC is often called the problem encoding
An encoding PC is uniform, if it can be used to solve all itsproblem instancesThat is, PC encodes the solutions to C for any set PI of facts
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 63 / 432
![Page 153: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/153.jpg)
Modeling
For solving a problem class C for a problem instance I,encode
1 the problem instance I as a set PI of facts and2 the problem class C as a set PC of rules
such that the solutions to C for I can be (polynomially) extractedfrom the stable models of PI ∪ PC
PI is (still) called problem instance
PC is often called the problem encoding
An encoding PC is uniform, if it can be used to solve all itsproblem instancesThat is, PC encodes the solutions to C for any set PI of facts
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 63 / 432
![Page 154: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/154.jpg)
Attention!
All following examples are writtenin the language of gringo 3 !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 64 / 432
![Page 155: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/155.jpg)
ASP solving process
Outline
13 ASP solving process
14 Methodology
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 65 / 432
![Page 156: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/156.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 66 / 432
![Page 157: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/157.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 66 / 432
![Page 158: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/158.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 66 / 432
![Page 159: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/159.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 66 / 432
![Page 160: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/160.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 66 / 432
![Page 161: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/161.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 66 / 432
![Page 162: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/162.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving6
Elaborating
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 66 / 432
![Page 163: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/163.jpg)
ASP solving process
A case-study: Graph coloring
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 67 / 432
![Page 164: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/164.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 68 / 432
![Page 165: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/165.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 68 / 432
![Page 166: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/166.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
1 2
3
4
5
6
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 68 / 432
![Page 167: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/167.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
1 2
3
4
5
6
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 68 / 432
![Page 168: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/168.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
facts formed by predicate col/1
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 68 / 432
![Page 169: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/169.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
facts formed by predicate col/1
Problem class Assign each node one color such that no two nodesconnected by an edge have the same color
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 68 / 432
![Page 170: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/170.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
facts formed by predicate col/1
Problem class Assign each node one color such that no two nodesconnected by an edge have the same color
In other words,
1 Each node has a unique color2 Two connected nodes must not have the same color
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 68 / 432
![Page 171: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/171.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 69 / 432
![Page 172: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/172.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 173: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/173.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 174: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/174.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 175: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/175.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 176: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/176.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 177: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/177.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 178: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/178.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 179: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/179.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 180: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/180.jpg)
ASP solving process
Graph coloring
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 181: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/181.jpg)
ASP solving process
color.lp
node(1..6).
edge(1,2). edge(1,3). edge(1,4).
edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5).
edge(4,1). edge(4,2).
edge(5,3). edge(5,4). edge(5,6).
edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
Probleminstance
1 color(X,C) : col(C) 1 :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
Problemencoding
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 70 / 432
![Page 182: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/182.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 71 / 432
![Page 183: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/183.jpg)
ASP solving process
Graph coloring: Grounding
$ gringo --text color.lp
node(1). node(2). node(3). node(4). node(5). node(6).
edge(1,2). edge(1,3). edge(1,4). edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5). edge(4,1). edge(4,2). edge(5,3).
edge(5,4). edge(5,6). edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
1 color(1,r), color(1,b), color(1,g) 1.
1 color(2,r), color(2,b), color(2,g) 1.
1 color(3,r), color(3,b), color(3,g) 1.
1 color(4,r), color(4,b), color(4,g) 1.
1 color(5,r), color(5,b), color(5,g) 1.
1 color(6,r), color(6,b), color(6,g) 1.
:- color(1,r), color(2,r). :- color(2,g), color(5,g). ... :- color(6,r), color(2,r).
:- color(1,b), color(2,b). :- color(2,r), color(6,r). :- color(6,b), color(2,b).
:- color(1,g), color(2,g). :- color(2,b), color(6,b). :- color(6,g), color(2,g).
:- color(1,r), color(3,r). :- color(2,g), color(6,g). :- color(6,r), color(3,r).
:- color(1,b), color(3,b). :- color(3,r), color(1,r). :- color(6,b), color(3,b).
:- color(1,g), color(3,g). :- color(3,b), color(1,b). :- color(6,g), color(3,g).
:- color(1,r), color(4,r). :- color(3,g), color(1,g). :- color(6,r), color(5,r).
:- color(1,b), color(4,b). :- color(3,r), color(4,r). :- color(6,b), color(5,b).
:- color(1,g), color(4,g). :- color(3,b), color(4,b). :- color(6,g), color(5,g).
:- color(2,r), color(4,r). :- color(3,g), color(4,g).
:- color(2,b), color(4,b). :- color(3,r), color(5,r).
:- color(2,g), color(4,g). :- color(3,b), color(5,b).
:- color(2,r), color(5,r). :- color(3,g), color(5,g).
:- color(2,b), color(5,b). :- color(4,r), color(1,r).M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 72 / 432
![Page 184: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/184.jpg)
ASP solving process
Graph coloring: Grounding
$ gringo --text color.lp
node(1). node(2). node(3). node(4). node(5). node(6).
edge(1,2). edge(1,3). edge(1,4). edge(2,4). edge(2,5). edge(2,6).
edge(3,1). edge(3,4). edge(3,5). edge(4,1). edge(4,2). edge(5,3).
edge(5,4). edge(5,6). edge(6,2). edge(6,3). edge(6,5).
col(r). col(b). col(g).
1 color(1,r), color(1,b), color(1,g) 1.
1 color(2,r), color(2,b), color(2,g) 1.
1 color(3,r), color(3,b), color(3,g) 1.
1 color(4,r), color(4,b), color(4,g) 1.
1 color(5,r), color(5,b), color(5,g) 1.
1 color(6,r), color(6,b), color(6,g) 1.
:- color(1,r), color(2,r). :- color(2,g), color(5,g). ... :- color(6,r), color(2,r).
:- color(1,b), color(2,b). :- color(2,r), color(6,r). :- color(6,b), color(2,b).
:- color(1,g), color(2,g). :- color(2,b), color(6,b). :- color(6,g), color(2,g).
:- color(1,r), color(3,r). :- color(2,g), color(6,g). :- color(6,r), color(3,r).
:- color(1,b), color(3,b). :- color(3,r), color(1,r). :- color(6,b), color(3,b).
:- color(1,g), color(3,g). :- color(3,b), color(1,b). :- color(6,g), color(3,g).
:- color(1,r), color(4,r). :- color(3,g), color(1,g). :- color(6,r), color(5,r).
:- color(1,b), color(4,b). :- color(3,r), color(4,r). :- color(6,b), color(5,b).
:- color(1,g), color(4,g). :- color(3,b), color(4,b). :- color(6,g), color(5,g).
:- color(2,r), color(4,r). :- color(3,g), color(4,g).
:- color(2,b), color(4,b). :- color(3,r), color(5,r).
:- color(2,g), color(4,g). :- color(3,b), color(5,b).
:- color(2,r), color(5,r). :- color(3,g), color(5,g).
:- color(2,b), color(5,b). :- color(4,r), color(1,r).M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 72 / 432
![Page 185: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/185.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 73 / 432
![Page 186: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/186.jpg)
ASP solving process
Graph coloring: Solving
$ gringo color.lp | clasp 0
clasp version 2.1.0
Reading from stdin
Solving...
Answer: 1
edge(1,2) ... col(r) ... node(1) ... color(6,b) color(5,g) color(4,b) color(3,r) color(2,r) color(1,g)
Answer: 2
edge(1,2) ... col(r) ... node(1) ... color(6,r) color(5,g) color(4,r) color(3,b) color(2,b) color(1,g)
Answer: 3
edge(1,2) ... col(r) ... node(1) ... color(6,g) color(5,b) color(4,g) color(3,r) color(2,r) color(1,b)
Answer: 4
edge(1,2) ... col(r) ... node(1) ... color(6,r) color(5,b) color(4,r) color(3,g) color(2,g) color(1,b)
Answer: 5
edge(1,2) ... col(r) ... node(1) ... color(6,g) color(5,r) color(4,g) color(3,b) color(2,b) color(1,r)
Answer: 6
edge(1,2) ... col(r) ... node(1) ... color(6,b) color(5,r) color(4,b) color(3,g) color(2,g) color(1,r)
SATISFIABLE
Models : 6
Time : 0.002s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.000s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 74 / 432
![Page 187: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/187.jpg)
ASP solving process
Graph coloring: Solving
$ gringo color.lp | clasp 0
clasp version 2.1.0
Reading from stdin
Solving...
Answer: 1
edge(1,2) ... col(r) ... node(1) ... color(6,b) color(5,g) color(4,b) color(3,r) color(2,r) color(1,g)
Answer: 2
edge(1,2) ... col(r) ... node(1) ... color(6,r) color(5,g) color(4,r) color(3,b) color(2,b) color(1,g)
Answer: 3
edge(1,2) ... col(r) ... node(1) ... color(6,g) color(5,b) color(4,g) color(3,r) color(2,r) color(1,b)
Answer: 4
edge(1,2) ... col(r) ... node(1) ... color(6,r) color(5,b) color(4,r) color(3,g) color(2,g) color(1,b)
Answer: 5
edge(1,2) ... col(r) ... node(1) ... color(6,g) color(5,r) color(4,g) color(3,b) color(2,b) color(1,r)
Answer: 6
edge(1,2) ... col(r) ... node(1) ... color(6,b) color(5,r) color(4,b) color(3,g) color(2,g) color(1,r)
SATISFIABLE
Models : 6
Time : 0.002s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.000s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 74 / 432
![Page 188: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/188.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 75 / 432
![Page 189: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/189.jpg)
ASP solving process
A coloring
Answer: 6
edge(1,2) ... col(r) ... node(1) ... \
color(6,b) color(5,r) color(4,b) color(3,g) color(2,g) color(1,r)
1 2
3
4
5
6
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 76 / 432
![Page 190: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/190.jpg)
ASP solving process
A coloring
Answer: 6
edge(1,2) ... col(r) ... node(1) ... \
color(6,b) color(5,r) color(4,b) color(3,g) color(2,g) color(1,r)
1 2
3
4
5
6
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 76 / 432
![Page 191: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/191.jpg)
Methodology
Outline
13 ASP solving process
14 Methodology
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 77 / 432
![Page 192: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/192.jpg)
Methodology
Basic methodology
Methodology
Generate and Test (or: Guess and Check)
Generator Generate potential stable model candidates(typically through non-deterministic constructs)
Tester Eliminate invalid candidates(typically through integrity constraints)
Nutshell
Logic program = Data + Generator + Tester ( + Optimizer)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 78 / 432
![Page 193: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/193.jpg)
Methodology
Basic methodology
Methodology
Generate and Test (or: Guess and Check)
Generator Generate potential stable model candidates(typically through non-deterministic constructs)
Tester Eliminate invalid candidates(typically through integrity constraints)
Nutshell
Logic program = Data + Generator + Tester ( + Optimizer)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 78 / 432
![Page 194: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/194.jpg)
Methodology Satisfiability
Outline
13 ASP solving process
14 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 79 / 432
![Page 195: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/195.jpg)
Methodology Satisfiability
Satisfiability testing
Problem Instance: A propositional formula φ in CNF
Problem Class: Is there an assignment of propositional variables totrue and false such that a given formula φ is true
Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
Logic Program:
Generator Tester Stable models a, b ← ← ∼a, b
← a,∼bX1 = a, bX2 =
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 80 / 432
![Page 196: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/196.jpg)
Methodology Satisfiability
Satisfiability testing
Problem Instance: A propositional formula φ in CNF
Problem Class: Is there an assignment of propositional variables totrue and false such that a given formula φ is true
Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
Logic Program:
Generator Tester Stable models a, b ← ← ∼a, b
← a,∼bX1 = a, bX2 =
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 80 / 432
![Page 197: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/197.jpg)
Methodology Satisfiability
Satisfiability testing
Problem Instance: A propositional formula φ in CNF
Problem Class: Is there an assignment of propositional variables totrue and false such that a given formula φ is true
Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
Logic Program:
Generator Tester Stable models a, b ← ← ∼a, b
← a,∼bX1 = a, bX2 =
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 80 / 432
![Page 198: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/198.jpg)
Methodology Satisfiability
Satisfiability testing
Problem Instance: A propositional formula φ in CNF
Problem Class: Is there an assignment of propositional variables totrue and false such that a given formula φ is true
Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
Logic Program:
Generator Tester Stable models a, b ← ← ∼a, b
← a,∼bX1 = a, bX2 =
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 80 / 432
![Page 199: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/199.jpg)
Methodology Satisfiability
Satisfiability testing
Problem Instance: A propositional formula φ in CNF
Problem Class: Is there an assignment of propositional variables totrue and false such that a given formula φ is true
Example: Consider formula
(a ∨ ¬b) ∧ (¬a ∨ b)
Logic Program:
Generator Tester Stable models a, b ← ← ∼a, b
← a,∼bX1 = a, bX2 =
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 80 / 432
![Page 200: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/200.jpg)
Methodology Queens
Outline
13 ASP solving process
14 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 81 / 432
![Page 201: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/201.jpg)
Methodology Queens
The n-Queens Problem
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 Z0Z0Z
1 2 3 4 5
Place n queens on an n × nchess board
Queens must not attack oneanother
Q Q Q
Q Q
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 82 / 432
![Page 202: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/202.jpg)
Methodology Queens
Defining the Field
queens.lp
row(1..n).
col(1..n).
Create file queens.lp
Define the field
n rowsn columns
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 83 / 432
![Page 203: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/203.jpg)
Methodology Queens
Defining the Field
Running . . .
$ gringo queens.lp --const n=5 | clasp
Answer: 1
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5)
SATISFIABLE
Models : 1
Time : 0.000
Prepare : 0.000
Prepro. : 0.000
Solving : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 84 / 432
![Page 204: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/204.jpg)
Methodology Queens
Placing some Queens
queens.lp
row(1..n).
col(1..n).
queen(I,J) : row(I) : col(J) .
Guess a solution candidate
by placing some queens on the board
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 85 / 432
![Page 205: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/205.jpg)
Methodology Queens
Placing some Queens
Running . . .
$ gringo queens.lp --const n=5 | clasp 3
Answer: 1
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5)
Answer: 2
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5) queen(1,1)
Answer: 3
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5) queen(2,1)
SATISFIABLE
Models : 3+
...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 86 / 432
![Page 206: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/206.jpg)
Methodology Queens
Placing some Queens: Answer 1
Answer 1
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 Z0Z0Z
1 2 3 4 5
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 87 / 432
![Page 207: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/207.jpg)
Methodology Queens
Placing some Queens: Answer 2
Answer 2
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 L0Z0Z
1 2 3 4 5
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 88 / 432
![Page 208: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/208.jpg)
Methodology Queens
Placing some Queens: Answer 3
Answer 3
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 QZ0Z01 Z0Z0Z
1 2 3 4 5
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 89 / 432
![Page 209: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/209.jpg)
Methodology Queens
Placing n Queens
queens.lp
row(1..n).
col(1..n).
queen(I,J) : row(I) : col(J) .
:- not n queen(I,J) n.
Place exactly n queens on the board
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 90 / 432
![Page 210: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/210.jpg)
Methodology Queens
Placing n Queens
Running . . .
$ gringo queens.lp --const n=5 | clasp 2
Answer: 1
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5) \
queen(5,1) queen(4,1) queen(3,1) \
queen(2,1) queen(1,1)
Answer: 2
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5) \
queen(1,2) queen(4,1) queen(3,1) \
queen(2,1) queen(1,1)
...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 91 / 432
![Page 211: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/211.jpg)
Methodology Queens
Placing n Queens: Answer 1
Answer 1
5 L0Z0Z4 QZ0Z03 L0Z0Z2 QZ0Z01 L0Z0Z
1 2 3 4 5
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 92 / 432
![Page 212: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/212.jpg)
Methodology Queens
Placing n Queens: Answer 2
Answer 2
5 Z0Z0Z4 QZ0Z03 L0Z0Z2 QZ0Z01 LQZ0Z
1 2 3 4 5
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 93 / 432
![Page 213: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/213.jpg)
Methodology Queens
Horizontal and Vertical Attack
queens.lp
row(1..n).
col(1..n).
queen(I,J) : row(I) : col(J) .
:- not n queen(I,J) n.
:- queen(I,J), queen(I,JJ), J != JJ.
:- queen(I,J), queen(II,J), I != II.
Forbid horizontal attacks
Forbid vertical attacks
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 94 / 432
![Page 214: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/214.jpg)
Methodology Queens
Horizontal and Vertical Attack
queens.lp
row(1..n).
col(1..n).
queen(I,J) : row(I) : col(J) .
:- not n queen(I,J) n.
:- queen(I,J), queen(I,JJ), J != JJ.
:- queen(I,J), queen(II,J), I != II.
Forbid horizontal attacks
Forbid vertical attacks
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 94 / 432
![Page 215: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/215.jpg)
Methodology Queens
Horizontal and Vertical Attack
Running . . .
$ gringo queens.lp --const n=5 | clasp
Answer: 1
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5) \
queen(5,5) queen(4,4) queen(3,3) \
queen(2,2) queen(1,1)
...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 95 / 432
![Page 216: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/216.jpg)
Methodology Queens
Horizontal and Vertical Attack: Answer 1
Answer 1
5 Z0Z0L4 0Z0L03 Z0L0Z2 0L0Z01 L0Z0Z
1 2 3 4 5
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 96 / 432
![Page 217: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/217.jpg)
Methodology Queens
Diagonal Attack
queens.lp
row(1..n).
col(1..n).
queen(I,J) : row(I) : col(J) .
:- not n queen(I,J) n.
:- queen(I,J), queen(I,JJ), J != JJ.
:- queen(I,J), queen(II,J), I != II.
:- queen(I,J), queen(II,JJ), (I,J) != (II,JJ), I-J == II-JJ.
:- queen(I,J), queen(II,JJ), (I,J) != (II,JJ), I+J == II+JJ.
Forbid diagonal attacks
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 97 / 432
![Page 218: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/218.jpg)
Methodology Queens
Diagonal Attack
Running . . .
$ gringo queens.lp --const n=5 | clasp
Answer: 1
row(1) row(2) row(3) row(4) row(5) \
col(1) col(2) col(3) col(4) col(5) \
queen(4,5) queen(1,4) queen(3,3) queen(5,2) queen(2,1)
SATISFIABLE
Models : 1+
Time : 0.000
Prepare : 0.000
Prepro. : 0.000
Solving : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 98 / 432
![Page 219: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/219.jpg)
Methodology Queens
Diagonal Attack: Answer 1
Answer 1
5 ZQZ0Z4 0Z0ZQ3 Z0L0Z2 QZ0Z01 Z0ZQZ
1 2 3 4 5
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 99 / 432
![Page 220: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/220.jpg)
Methodology Queens
Optimizing
queens-opt.lp
1 queen(I,1..n) 1 :- I = 1..n.
1 queen(1..n,J) 1 :- J = 1..n.
:- 2 queen(D-J,J) , D = 2..2*n.
:- 2 queen(D+J,J) , D = 1-n..n-1.
Encoding can be optimized
Much faster to solve
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 100 / 432
![Page 221: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/221.jpg)
Methodology Queens
And sometimes it rocks$ clingo -c n=5000 queens-opt-diag.lp --config=jumpy -q --stats=3
clingo version 4.1.0
Solving...
SATISFIABLE
Models : 1+
Time : 3758.143s (Solving: 1905.22s 1st Model: 1896.20s Unsat: 0.00s)
CPU Time : 3758.320s
Choices : 288594554
Conflicts : 3442 (Analyzed: 3442)
Restarts : 17 (Average: 202.47 Last: 3442)
Model-Level : 7594728.0
Problems : 1 (Average Length: 0.00 Splits: 0)
Lemmas : 3442 (Deleted: 0)
Binary : 0 (Ratio: 0.00%)
Ternary : 0 (Ratio: 0.00%)
Conflict : 3442 (Average Length: 229056.5 Ratio: 100.00%)
Loop : 0 (Average Length: 0.0 Ratio: 0.00%)
Other : 0 (Average Length: 0.0 Ratio: 0.00%)
Atoms : 75084857 (Original: 75069989 Auxiliary: 14868)
Rules : 100129956 (1: 50059992/100090100 2: 39990/29856 3: 10000/10000)
Bodies : 25090103
Equivalences : 125029999 (Atom=Atom: 50009999 Body=Body: 0 Other: 75020000)
Tight : Yes
Variables : 25024868 (Eliminated: 11781 Frozen: 25000000)
Constraints : 66664 (Binary: 35.6% Ternary: 0.0% Other: 64.4%)
Backjumps : 3442 (Average: 681.19 Max: 169512 Sum: 2344658)
Executed : 3442 (Average: 681.19 Max: 169512 Sum: 2344658 Ratio: 100.00%)
Bounded : 0 (Average: 0.00 Max: 0 Sum: 0 Ratio: 0.00%)M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 101 / 432
![Page 222: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/222.jpg)
Methodology Traveling Salesperson
Outline
13 ASP solving process
14 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 102 / 432
![Page 223: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/223.jpg)
Methodology Traveling Salesperson
Traveling Salesperson
node(1..6).
edge(1,2;3;4). edge(2,4;5;6). edge(3,1;4;5).
edge(4,1;2). edge(5,3;4;6). edge(6,2;3;5).
cost(1,2,2). cost(1,3,3). cost(1,4,1).
cost(2,4,2). cost(2,5,2). cost(2,6,4).
cost(3,1,3). cost(3,4,2). cost(3,5,2).
cost(4,1,1). cost(4,2,2).
cost(5,3,2). cost(5,4,2). cost(5,6,1).
cost(6,2,4). cost(6,3,3). cost(6,5,1).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 103 / 432
![Page 224: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/224.jpg)
Methodology Traveling Salesperson
Traveling Salesperson
node(1..6).
edge(1,2;3;4). edge(2,4;5;6). edge(3,1;4;5).
edge(4,1;2). edge(5,3;4;6). edge(6,2;3;5).
cost(1,2,2). cost(1,3,3). cost(1,4,1).
cost(2,4,2). cost(2,5,2). cost(2,6,4).
cost(3,1,3). cost(3,4,2). cost(3,5,2).
cost(4,1,1). cost(4,2,2).
cost(5,3,2). cost(5,4,2). cost(5,6,1).
cost(6,2,4). cost(6,3,3). cost(6,5,1).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 103 / 432
![Page 225: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/225.jpg)
Methodology Traveling Salesperson
Traveling Salesperson
node(1..6).
edge(1,2;3;4). edge(2,4;5;6). edge(3,1;4;5).
edge(4,1;2). edge(5,3;4;6). edge(6,2;3;5).
cost(1,2,2). cost(1,3,3). cost(1,4,1).
cost(2,4,2). cost(2,5,2). cost(2,6,4).
cost(3,1,3). cost(3,4,2). cost(3,5,2).
cost(4,1,1). cost(4,2,2).
cost(5,3,2). cost(5,4,2). cost(5,6,1).
cost(6,2,4). cost(6,3,3). cost(6,5,1).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 103 / 432
![Page 226: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/226.jpg)
Methodology Traveling Salesperson
Traveling Salesperson
1 cycle(X,Y) : edge(X,Y) 1 :- node(X).
1 cycle(X,Y) : edge(X,Y) 1 :- node(Y).
reached(Y) :- cycle(1,Y).
reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 104 / 432
![Page 227: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/227.jpg)
Methodology Traveling Salesperson
Traveling Salesperson
1 cycle(X,Y) : edge(X,Y) 1 :- node(X).
1 cycle(X,Y) : edge(X,Y) 1 :- node(Y).
reached(Y) :- cycle(1,Y).
reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 104 / 432
![Page 228: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/228.jpg)
Methodology Traveling Salesperson
Traveling Salesperson
1 cycle(X,Y) : edge(X,Y) 1 :- node(X).
1 cycle(X,Y) : edge(X,Y) 1 :- node(Y).
reached(Y) :- cycle(1,Y).
reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 104 / 432
![Page 229: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/229.jpg)
Methodology Traveling Salesperson
Traveling Salesperson
1 cycle(X,Y) : edge(X,Y) 1 :- node(X).
1 cycle(X,Y) : edge(X,Y) 1 :- node(Y).
reached(Y) :- cycle(1,Y).
reached(Y) :- cycle(X,Y), reached(X).
:- node(Y), not reached(Y).
#minimize [ cycle(X,Y) = C : cost(X,Y,C) ].
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 104 / 432
![Page 230: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/230.jpg)
Methodology Reviewer Assignment
Outline
13 ASP solving process
14 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 105 / 432
![Page 231: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/231.jpg)
Methodology Reviewer Assignment
Reviewer Assignmentby Ilkka Niemela
reviewer(r1). paper(p1). classA(r1,p1). classB(r1,p2). coi(r1,p3).
reviewer(r2). paper(p2). classA(r1,p3). classB(r1,p4). coi(r1,p6).
...
3 assigned(P,R) : reviewer(R) 3 :- paper(P).
:- assigned(P,R), coi(R,P).
:- assigned(P,R), not classA(R,P), not classB(R,P).
:- not 6 assigned(P,R) : paper(P) 9, reviewer(R).
assignedB(P,R) :- classB(R,P), assigned(P,R).
:- 3 assignedB(P,R) : paper(P) , reviewer(R).
#minimize assignedB(P,R) : paper(P) : reviewer(R) .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 106 / 432
![Page 232: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/232.jpg)
Methodology Reviewer Assignment
Reviewer Assignmentby Ilkka Niemela
reviewer(r1). paper(p1). classA(r1,p1). classB(r1,p2). coi(r1,p3).
reviewer(r2). paper(p2). classA(r1,p3). classB(r1,p4). coi(r1,p6).
...
3 assigned(P,R) : reviewer(R) 3 :- paper(P).
:- assigned(P,R), coi(R,P).
:- assigned(P,R), not classA(R,P), not classB(R,P).
:- not 6 assigned(P,R) : paper(P) 9, reviewer(R).
assignedB(P,R) :- classB(R,P), assigned(P,R).
:- 3 assignedB(P,R) : paper(P) , reviewer(R).
#minimize assignedB(P,R) : paper(P) : reviewer(R) .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 106 / 432
![Page 233: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/233.jpg)
Methodology Reviewer Assignment
Reviewer Assignmentby Ilkka Niemela
reviewer(r1). paper(p1). classA(r1,p1). classB(r1,p2). coi(r1,p3).
reviewer(r2). paper(p2). classA(r1,p3). classB(r1,p4). coi(r1,p6).
...
3 assigned(P,R) : reviewer(R) 3 :- paper(P).
:- assigned(P,R), coi(R,P).
:- assigned(P,R), not classA(R,P), not classB(R,P).
:- not 6 assigned(P,R) : paper(P) 9, reviewer(R).
assignedB(P,R) :- classB(R,P), assigned(P,R).
:- 3 assignedB(P,R) : paper(P) , reviewer(R).
#minimize assignedB(P,R) : paper(P) : reviewer(R) .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 106 / 432
![Page 234: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/234.jpg)
Methodology Reviewer Assignment
Reviewer Assignmentby Ilkka Niemela
reviewer(r1). paper(p1). classA(r1,p1). classB(r1,p2). coi(r1,p3).
reviewer(r2). paper(p2). classA(r1,p3). classB(r1,p4). coi(r1,p6).
...
3 assigned(P,R) : reviewer(R) 3 :- paper(P).
:- assigned(P,R), coi(R,P).
:- assigned(P,R), not classA(R,P), not classB(R,P).
:- not 6 assigned(P,R) : paper(P) 9, reviewer(R).
assignedB(P,R) :- classB(R,P), assigned(P,R).
:- 3 assignedB(P,R) : paper(P) , reviewer(R).
#minimize assignedB(P,R) : paper(P) : reviewer(R) .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 106 / 432
![Page 235: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/235.jpg)
Methodology Reviewer Assignment
Reviewer Assignmentby Ilkka Niemela
reviewer(r1). paper(p1). classA(r1,p1). classB(r1,p2). coi(r1,p3).
reviewer(r2). paper(p2). classA(r1,p3). classB(r1,p4). coi(r1,p6).
...
3 assigned(P,R) : reviewer(R) 3 :- paper(P).
:- assigned(P,R), coi(R,P).
:- assigned(P,R), not classA(R,P), not classB(R,P).
:- not 6 assigned(P,R) : paper(P) 9, reviewer(R).
assignedB(P,R) :- classB(R,P), assigned(P,R).
:- 3 assignedB(P,R) : paper(P) , reviewer(R).
#minimize assignedB(P,R) : paper(P) : reviewer(R) .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 106 / 432
![Page 236: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/236.jpg)
Methodology Planning
Outline
13 ASP solving process
14 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 107 / 432
![Page 237: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/237.jpg)
Methodology Planning
Simplistic STRIPS Planning
time(1..k). lasttime(T) :- time(T), not time(T+1).
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
1 occ(A,T) : action(A) 1 :- time(T).
:- occ(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occ(A,T), add(A,F).
nolds(F,T) :- occ(A,T), del(A,F).
:- query(F), not holds(F,T), lasttime(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 108 / 432
![Page 238: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/238.jpg)
Methodology Planning
Simplistic STRIPS Planning
time(1..k). lasttime(T) :- time(T), not time(T+1).
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
1 occ(A,T) : action(A) 1 :- time(T).
:- occ(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occ(A,T), add(A,F).
nolds(F,T) :- occ(A,T), del(A,F).
:- query(F), not holds(F,T), lasttime(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 108 / 432
![Page 239: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/239.jpg)
Methodology Planning
Simplistic STRIPS Planning
time(1..k). lasttime(T) :- time(T), not time(T+1).
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
1 occ(A,T) : action(A) 1 :- time(T).
:- occ(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occ(A,T), add(A,F).
nolds(F,T) :- occ(A,T), del(A,F).
:- query(F), not holds(F,T), lasttime(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 108 / 432
![Page 240: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/240.jpg)
Methodology Planning
Simplistic STRIPS Planning
time(1..k). lasttime(T) :- time(T), not time(T+1).
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
1 occ(A,T) : action(A) 1 :- time(T).
:- occ(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occ(A,T), add(A,F).
nolds(F,T) :- occ(A,T), del(A,F).
:- query(F), not holds(F,T), lasttime(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 108 / 432
![Page 241: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/241.jpg)
Language: Overview
15 Motivation
16 Core language
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 109 / 432
![Page 242: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/242.jpg)
Motivation
Outline
15 Motivation
16 Core language
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 110 / 432
![Page 243: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/243.jpg)
Motivation
Basic language extensions
The expressiveness of a language can be enhanced by introducingnew constructs
To this end, we must address the following issues:
What is the syntax of the new language construct?What is the semantics of the new language construct?How to implement the new language construct?
A way of providing semantics is to furnish a translation removing thenew constructs, eg. classical negation
This translation might also be used for implementing the languageextension
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 111 / 432
![Page 244: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/244.jpg)
Motivation
Basic language extensions
The expressiveness of a language can be enhanced by introducingnew constructs
To this end, we must address the following issues:
What is the syntax of the new language construct?What is the semantics of the new language construct?How to implement the new language construct?
A way of providing semantics is to furnish a translation removing thenew constructs, eg. classical negation
This translation might also be used for implementing the languageextension
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 111 / 432
![Page 245: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/245.jpg)
Motivation
Basic language extensions
The expressiveness of a language can be enhanced by introducingnew constructs
To this end, we must address the following issues:
What is the syntax of the new language construct?What is the semantics of the new language construct?How to implement the new language construct?
A way of providing semantics is to furnish a translation removing thenew constructs, eg. classical negation
This translation might also be used for implementing the languageextension
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 111 / 432
![Page 246: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/246.jpg)
Core language
Outline
15 Motivation
16 Core language
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 112 / 432
![Page 247: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/247.jpg)
Core language Integrity constraint
Outline
15 Motivation
16 Core languageIntegrity constraintChoice ruleCardinality ruleWeight rule
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 113 / 432
![Page 248: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/248.jpg)
Core language Integrity constraint
Integrity constraint
Idea Eliminate unwanted solution candidates
Syntax An integrity constraint is of the form
← a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n
Example :- edge(3,7), color(3,red), color(7,red).
Embedding The above integrity constraint can be turned into thenormal rule
x ← a1, . . . , am,∼am+1, . . . ,∼an,∼x
where x is a new symbol, that is, x 6∈ A.
Another example P = a← ∼b, b ← ∼aversus P ′ = P ∪ ← a and P ′′ = P ∪ ← ∼a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 114 / 432
![Page 249: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/249.jpg)
Core language Integrity constraint
Integrity constraint
Idea Eliminate unwanted solution candidates
Syntax An integrity constraint is of the form
← a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n
Example :- edge(3,7), color(3,red), color(7,red).
Embedding The above integrity constraint can be turned into thenormal rule
x ← a1, . . . , am,∼am+1, . . . ,∼an,∼x
where x is a new symbol, that is, x 6∈ A.
Another example P = a← ∼b, b ← ∼aversus P ′ = P ∪ ← a and P ′′ = P ∪ ← ∼a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 114 / 432
![Page 250: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/250.jpg)
Core language Integrity constraint
Integrity constraint
Idea Eliminate unwanted solution candidates
Syntax An integrity constraint is of the form
← a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n
Example :- edge(3,7), color(3,red), color(7,red).
Embedding The above integrity constraint can be turned into thenormal rule
x ← a1, . . . , am,∼am+1, . . . ,∼an,∼x
where x is a new symbol, that is, x 6∈ A.
Another example P = a← ∼b, b ← ∼aversus P ′ = P ∪ ← a and P ′′ = P ∪ ← ∼a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 114 / 432
![Page 251: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/251.jpg)
Core language Choice rule
Outline
15 Motivation
16 Core languageIntegrity constraintChoice ruleCardinality ruleWeight rule
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 115 / 432
![Page 252: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/252.jpg)
Core language Choice rule
Choice rule
Idea Choices over subsets
Syntax A choice rule is of the form
a1, . . . , am ← am+1, . . . , an,∼an+1, . . . ,∼ao
where 0 ≤ m ≤ n ≤ o and each ai is an atom for 1 ≤ i ≤ o
Informal meaning If the body is satisfied by the stable model at hand,then any subset of a1, . . . , am can be included in the stable model
Example buy(pizza), buy(wine), buy(corn) :- at(grocery).
Another Example P = a ← b, b ← has two stable models:b and a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 116 / 432
![Page 253: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/253.jpg)
Core language Choice rule
Choice rule
Idea Choices over subsets
Syntax A choice rule is of the form
a1, . . . , am ← am+1, . . . , an,∼an+1, . . . ,∼ao
where 0 ≤ m ≤ n ≤ o and each ai is an atom for 1 ≤ i ≤ o
Informal meaning If the body is satisfied by the stable model at hand,then any subset of a1, . . . , am can be included in the stable model
Example buy(pizza), buy(wine), buy(corn) :- at(grocery).
Another Example P = a ← b, b ← has two stable models:b and a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 116 / 432
![Page 254: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/254.jpg)
Core language Choice rule
Choice rule
Idea Choices over subsets
Syntax A choice rule is of the form
a1, . . . , am ← am+1, . . . , an,∼an+1, . . . ,∼ao
where 0 ≤ m ≤ n ≤ o and each ai is an atom for 1 ≤ i ≤ o
Informal meaning If the body is satisfied by the stable model at hand,then any subset of a1, . . . , am can be included in the stable model
Example buy(pizza), buy(wine), buy(corn) :- at(grocery).
Another Example P = a ← b, b ← has two stable models:b and a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 116 / 432
![Page 255: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/255.jpg)
Core language Choice rule
Choice rule
Idea Choices over subsets
Syntax A choice rule is of the form
a1, . . . , am ← am+1, . . . , an,∼an+1, . . . ,∼ao
where 0 ≤ m ≤ n ≤ o and each ai is an atom for 1 ≤ i ≤ o
Informal meaning If the body is satisfied by the stable model at hand,then any subset of a1, . . . , am can be included in the stable model
Example buy(pizza), buy(wine), buy(corn) :- at(grocery).
Another Example P = a ← b, b ← has two stable models:b and a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 116 / 432
![Page 256: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/256.jpg)
Core language Choice rule
Embedding in normal rules
A choice rule of form
a1, . . . , am ← am+1, . . . , an,∼an+1, . . . ,∼ao
can be translated into 2m + 1 normal rules
a′ ← am+1, . . . , an,∼an+1, . . . ,∼ao
a1 ← a′,∼a1 . . . am ← a′,∼am
a1 ← ∼a1 . . . am ← ∼am
by introducing new atoms a′, a1, . . . , am.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 117 / 432
![Page 257: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/257.jpg)
Core language Choice rule
Embedding in normal rules
A choice rule of form
a1, . . . , am ← am+1, . . . , an,∼an+1, . . . ,∼ao
can be translated into 2m + 1 normal rules
a′ ← am+1, . . . , an,∼an+1, . . . ,∼ao
a1 ← a′,∼a1 . . . am ← a′,∼am
a1 ← ∼a1 . . . am ← ∼am
by introducing new atoms a′, a1, . . . , am.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 117 / 432
![Page 258: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/258.jpg)
Core language Choice rule
Embedding in normal rules
A choice rule of form
a1, . . . , am ← am+1, . . . , an,∼an+1, . . . ,∼ao
can be translated into 2m + 1 normal rules
a′ ← am+1, . . . , an,∼an+1, . . . ,∼ao
a1 ← a′,∼a1 . . . am ← a′,∼am
a1 ← ∼a1 . . . am ← ∼am
by introducing new atoms a′, a1, . . . , am.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 117 / 432
![Page 259: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/259.jpg)
Core language Cardinality rule
Outline
15 Motivation
16 Core languageIntegrity constraintChoice ruleCardinality ruleWeight rule
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 118 / 432
![Page 260: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/260.jpg)
Core language Cardinality rule
Cardinality rule
Idea Control (lower) cardinality of subsets
Syntax A cardinality rule is the form
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l is a non-negative integer.
Informal meaning The head atom belongs to the stable model,if at least l elements of the body are included in the stable model
Note l acts as a lower bound on the body
Example pass(c42) :- 2 pass(a1), pass(a2), pass(a3) .Another Example P = a← 1b, c, b ← has stable model a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 119 / 432
![Page 261: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/261.jpg)
Core language Cardinality rule
Cardinality rule
Idea Control (lower) cardinality of subsets
Syntax A cardinality rule is the form
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l is a non-negative integer.
Informal meaning The head atom belongs to the stable model,if at least l elements of the body are included in the stable model
Note l acts as a lower bound on the body
Example pass(c42) :- 2 pass(a1), pass(a2), pass(a3) .Another Example P = a← 1b, c, b ← has stable model a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 119 / 432
![Page 262: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/262.jpg)
Core language Cardinality rule
Cardinality rule
Idea Control (lower) cardinality of subsets
Syntax A cardinality rule is the form
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l is a non-negative integer.
Informal meaning The head atom belongs to the stable model,if at least l elements of the body are included in the stable model
Note l acts as a lower bound on the body
Example pass(c42) :- 2 pass(a1), pass(a2), pass(a3) .Another Example P = a← 1b, c, b ← has stable model a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 119 / 432
![Page 263: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/263.jpg)
Core language Cardinality rule
Cardinality rule
Idea Control (lower) cardinality of subsets
Syntax A cardinality rule is the form
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l is a non-negative integer.
Informal meaning The head atom belongs to the stable model,if at least l elements of the body are included in the stable model
Note l acts as a lower bound on the body
Example pass(c42) :- 2 pass(a1), pass(a2), pass(a3) .Another Example P = a← 1b, c, b ← has stable model a, b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 119 / 432
![Page 264: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/264.jpg)
Core language Cardinality rule
Embedding in normal rules
Replace each cardinality rule
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
by a0 ← ctr(1, l)
where atom ctr(i , j) represents the fact that at least j of the literalshaving an equal or greater index than i , are in a stable model
The definition of ctr/2 is given for 0 ≤ k ≤ l by the rules
ctr(i , k+1) ← ctr(i + 1, k), ai
ctr(i , k) ← ctr(i + 1, k) for 1 ≤ i ≤ m
ctr(j , k+1) ← ctr(j + 1, k),∼aj
ctr(j , k) ← ctr(j + 1, k) for m + 1 ≤ j ≤ n
ctr(n + 1, 0) ←
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 120 / 432
![Page 265: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/265.jpg)
Core language Cardinality rule
Embedding in normal rules
Replace each cardinality rule
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
by a0 ← ctr(1, l)
where atom ctr(i , j) represents the fact that at least j of the literalshaving an equal or greater index than i , are in a stable model
The definition of ctr/2 is given for 0 ≤ k ≤ l by the rules
ctr(i , k+1) ← ctr(i + 1, k), ai
ctr(i , k) ← ctr(i + 1, k) for 1 ≤ i ≤ m
ctr(j , k+1) ← ctr(j + 1, k),∼aj
ctr(j , k) ← ctr(j + 1, k) for m + 1 ≤ j ≤ n
ctr(n + 1, 0) ←
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 120 / 432
![Page 266: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/266.jpg)
Core language Cardinality rule
Embedding in normal rules
Replace each cardinality rule
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
by a0 ← ctr(1, l)
where atom ctr(i , j) represents the fact that at least j of the literalshaving an equal or greater index than i , are in a stable model
The definition of ctr/2 is given for 0 ≤ k ≤ l by the rules
ctr(i , k+1) ← ctr(i + 1, k), ai
ctr(i , k) ← ctr(i + 1, k) for 1 ≤ i ≤ m
ctr(j , k+1) ← ctr(j + 1, k),∼aj
ctr(j , k) ← ctr(j + 1, k) for m + 1 ≤ j ≤ n
ctr(n + 1, 0) ←
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 120 / 432
![Page 267: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/267.jpg)
Core language Cardinality rule
Embedding in normal rules
Replace each cardinality rule
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
by a0 ← ctr(1, l)
where atom ctr(i , j) represents the fact that at least j of the literalshaving an equal or greater index than i , are in a stable model
The definition of ctr/2 is given for 0 ≤ k ≤ l by the rules
ctr(i , k+1) ← ctr(i + 1, k), ai
ctr(i , k) ← ctr(i + 1, k) for 1 ≤ i ≤ m
ctr(j , k+1) ← ctr(j + 1, k),∼aj
ctr(j , k) ← ctr(j + 1, k) for m + 1 ≤ j ≤ n
ctr(n + 1, 0) ←
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 120 / 432
![Page 268: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/268.jpg)
Core language Cardinality rule
Embedding in normal rules
Replace each cardinality rule
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
by a0 ← ctr(1, l)
where atom ctr(i , j) represents the fact that at least j of the literalshaving an equal or greater index than i , are in a stable model
The definition of ctr/2 is given for 0 ≤ k ≤ l by the rules
ctr(i , k+1) ← ctr(i + 1, k), ai
ctr(i , k) ← ctr(i + 1, k) for 1 ≤ i ≤ m
ctr(j , k+1) ← ctr(j + 1, k),∼aj
ctr(j , k) ← ctr(j + 1, k) for m + 1 ≤ j ≤ n
ctr(n + 1, 0) ←
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 120 / 432
![Page 269: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/269.jpg)
Core language Cardinality rule
Embedding in normal rules
Replace each cardinality rule
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
by a0 ← ctr(1, l)
where atom ctr(i , j) represents the fact that at least j of the literalshaving an equal or greater index than i , are in a stable model
The definition of ctr/2 is given for 0 ≤ k ≤ l by the rules
ctr(i , k+1) ← ctr(i + 1, k), ai
ctr(i , k) ← ctr(i + 1, k) for 1 ≤ i ≤ m
ctr(j , k+1) ← ctr(j + 1, k),∼aj
ctr(j , k) ← ctr(j + 1, k) for m + 1 ≤ j ≤ n
ctr(n + 1, 0) ←
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 120 / 432
![Page 270: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/270.jpg)
Core language Cardinality rule
Embedding in normal rules
Replace each cardinality rule
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an
by a0 ← ctr(1, l)
where atom ctr(i , j) represents the fact that at least j of the literalshaving an equal or greater index than i , are in a stable model
The definition of ctr/2 is given for 0 ≤ k ≤ l by the rules
ctr(i , k+1) ← ctr(i + 1, k), ai
ctr(i , k) ← ctr(i + 1, k) for 1 ≤ i ≤ m
ctr(j , k+1) ← ctr(j + 1, k),∼aj
ctr(j , k) ← ctr(j + 1, k) for m + 1 ≤ j ≤ n
ctr(n + 1, 0) ←
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 120 / 432
![Page 271: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/271.jpg)
Core language Cardinality rule
An example
Program a←, c ← 1 a, b has the stable model a, cTranslating the cardinality rule yields the rules
a ← c ← ctr(1, 1)ctr(1, 2) ← ctr(2, 1), actr(1, 1) ← ctr(2, 1)ctr(2, 2) ← ctr(3, 1), bctr(2, 1) ← ctr(3, 1)ctr(1, 1) ← ctr(2, 0), actr(1, 0) ← ctr(2, 0)ctr(2, 1) ← ctr(3, 0), bctr(2, 0) ← ctr(3, 0)ctr(3, 0) ←
having stable model a, ctr(3, 0), ctr(2, 0), ctr(1, 0), ctr(1, 1), c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 121 / 432
![Page 272: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/272.jpg)
Core language Cardinality rule
An example
Program a←, c ← 1 a, b has the stable model a, cTranslating the cardinality rule yields the rules
a ← c ← ctr(1, 1)ctr(1, 2) ← ctr(2, 1), actr(1, 1) ← ctr(2, 1)ctr(2, 2) ← ctr(3, 1), bctr(2, 1) ← ctr(3, 1)ctr(1, 1) ← ctr(2, 0), actr(1, 0) ← ctr(2, 0)ctr(2, 1) ← ctr(3, 0), bctr(2, 0) ← ctr(3, 0)ctr(3, 0) ←
having stable model a, ctr(3, 0), ctr(2, 0), ctr(1, 0), ctr(1, 1), c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 121 / 432
![Page 273: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/273.jpg)
Core language Cardinality rule
. . . and vice versa
A normal rule
a0 ← a1, . . . , am,∼am+1, . . . ,∼an,
can be represented by the cardinality rule
a0 ← n a1, . . . , am,∼am+1, . . . ,∼an
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 122 / 432
![Page 274: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/274.jpg)
Core language Cardinality rule
Cardinality rules with upper bounds
A rule of the form
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an u
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l and u are non-negative integers
stands for
a0 ← b,∼cb ← l a1, . . . , am,∼am+1, . . . ,∼an c ← u+1 a1, . . . , am,∼am+1, . . . ,∼an
where b and c are new symbols
The single constraint in the body of the above cardinality rule isreferred to as a cardinality constraint
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 123 / 432
![Page 275: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/275.jpg)
Core language Cardinality rule
Cardinality rules with upper bounds
A rule of the form
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an u
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l and u are non-negative integers
stands for
a0 ← b,∼cb ← l a1, . . . , am,∼am+1, . . . ,∼an c ← u+1 a1, . . . , am,∼am+1, . . . ,∼an
where b and c are new symbols
The single constraint in the body of the above cardinality rule isreferred to as a cardinality constraint
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 123 / 432
![Page 276: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/276.jpg)
Core language Cardinality rule
Cardinality rules with upper bounds
A rule of the form
a0 ← l a1, . . . , am,∼am+1, . . . ,∼an u
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l and u are non-negative integers
stands for
a0 ← b,∼cb ← l a1, . . . , am,∼am+1, . . . ,∼an c ← u+1 a1, . . . , am,∼am+1, . . . ,∼an
where b and c are new symbols
The single constraint in the body of the above cardinality rule isreferred to as a cardinality constraint
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 123 / 432
![Page 277: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/277.jpg)
Core language Cardinality rule
Cardinality constraints
Syntax A cardinality constraint is of the form
l a1, . . . , am,∼am+1, . . . ,∼an u
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l and u are non-negative integers
Informal meaning A cardinality constraint is satisfied by a stablemodel X , if the number of its contained literals satisfied by X isbetween l and u (inclusive)
In other words, if
l ≤ | (a1, . . . , am ∩ X ) ∪ (am+1, . . . , an \ X ) | ≤ u
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 124 / 432
![Page 278: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/278.jpg)
Core language Cardinality rule
Cardinality constraints
Syntax A cardinality constraint is of the form
l a1, . . . , am,∼am+1, . . . ,∼an u
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l and u are non-negative integers
Informal meaning A cardinality constraint is satisfied by a stablemodel X , if the number of its contained literals satisfied by X isbetween l and u (inclusive)
In other words, if
l ≤ | (a1, . . . , am ∩ X ) ∪ (am+1, . . . , an \ X ) | ≤ u
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 124 / 432
![Page 279: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/279.jpg)
Core language Cardinality rule
Cardinality constraints
Syntax A cardinality constraint is of the form
l a1, . . . , am,∼am+1, . . . ,∼an u
where 0 ≤ m ≤ n and each ai is an atom for 1 ≤ i ≤ n;l and u are non-negative integers
Informal meaning A cardinality constraint is satisfied by a stablemodel X , if the number of its contained literals satisfied by X isbetween l and u (inclusive)
In other words, if
l ≤ | (a1, . . . , am ∩ X ) ∪ (am+1, . . . , an \ X ) | ≤ u
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 124 / 432
![Page 280: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/280.jpg)
Core language Cardinality rule
Cardinality constraints as heads
A rule of the form
l a1, . . . , am,∼am+1, . . . ,∼an u ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
where 0 ≤ m ≤ n ≤ o ≤ p and each ai is an atom for 1 ≤ i ≤ p;l and u are non-negative integers
stands for
b ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
a1, . . . , am ← bc ← l a1, . . . , am, ,∼am+1, . . . ,∼an u← b,∼c
where b and c are new symbols
Example 1 color(v42,red),color(v42,green),color(v42,blue) 1.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 125 / 432
![Page 281: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/281.jpg)
Core language Cardinality rule
Cardinality constraints as heads
A rule of the form
l a1, . . . , am,∼am+1, . . . ,∼an u ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
where 0 ≤ m ≤ n ≤ o ≤ p and each ai is an atom for 1 ≤ i ≤ p;l and u are non-negative integers
stands for
b ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
a1, . . . , am ← bc ← l a1, . . . , am, ,∼am+1, . . . ,∼an u← b,∼c
where b and c are new symbols
Example 1 color(v42,red),color(v42,green),color(v42,blue) 1.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 125 / 432
![Page 282: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/282.jpg)
Core language Cardinality rule
Cardinality constraints as heads
A rule of the form
l a1, . . . , am,∼am+1, . . . ,∼an u ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
where 0 ≤ m ≤ n ≤ o ≤ p and each ai is an atom for 1 ≤ i ≤ p;l and u are non-negative integers
stands for
b ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
a1, . . . , am ← bc ← l a1, . . . , am, ,∼am+1, . . . ,∼an u← b,∼c
where b and c are new symbols
Example 1 color(v42,red),color(v42,green),color(v42,blue) 1.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 125 / 432
![Page 283: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/283.jpg)
Core language Cardinality rule
Full-fledged cardinality rules
A rule of the form
l0 S0 u0 ← l1 S1 u1, . . . , ln Sn un
where for 0 ≤ i ≤ n each li Si ui
stands for 0 ≤ i ≤ n
a ← b1, . . . , bn,∼c1, . . . ,∼cn
S0+ ← a← a,∼b0 bi ← li Si
← a, c0 ci ← ui +1 Si
where a, bi , ci are new symbols
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 126 / 432
![Page 284: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/284.jpg)
Core language Cardinality rule
Full-fledged cardinality rules
A rule of the form
l0 S0 u0 ← l1 S1 u1, . . . , ln Sn un
where for 0 ≤ i ≤ n each li Si ui
stands for 0 ≤ i ≤ n
a ← b1, . . . , bn,∼c1, . . . ,∼cn
S0+ ← a← a,∼b0 bi ← li Si
← a, c0 ci ← ui +1 Si
where a, bi , ci are new symbols
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 126 / 432
![Page 285: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/285.jpg)
Core language Cardinality rule
Full-fledged cardinality rules
A rule of the form
l0 S0 u0 ← l1 S1 u1, . . . , ln Sn un
where for 0 ≤ i ≤ n each li Si ui
stands for 0 ≤ i ≤ n
a ← b1, . . . , bn,∼c1, . . . ,∼cn
S0+ ← a← a,∼b0 bi ← li Si
← a, c0 ci ← ui +1 Si
where a, bi , ci are new symbols
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 126 / 432
![Page 286: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/286.jpg)
Core language Cardinality rule
Full-fledged cardinality rules
A rule of the form
l0 S0 u0 ← l1 S1 u1, . . . , ln Sn un
where for 0 ≤ i ≤ n each li Si ui
stands for 0 ≤ i ≤ n
a ← b1, . . . , bn,∼c1, . . . ,∼cn
S0+ ← a← a,∼b0 bi ← li Si
← a, c0 ci ← ui +1 Si
where a, bi , ci are new symbols
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 126 / 432
![Page 287: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/287.jpg)
Core language Cardinality rule
Full-fledged cardinality rules
A rule of the form
l0 S0 u0 ← l1 S1 u1, . . . , ln Sn un
where for 0 ≤ i ≤ n each li Si ui
stands for 0 ≤ i ≤ n
a ← b1, . . . , bn,∼c1, . . . ,∼cn
S0+ ← a← a,∼b0 bi ← li Si
← a, c0 ci ← ui +1 Si
where a, bi , ci are new symbols
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 126 / 432
![Page 288: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/288.jpg)
Core language Cardinality rule
Full-fledged cardinality rules
A rule of the form
l0 S0 u0 ← l1 S1 u1, . . . , ln Sn un
where for 0 ≤ i ≤ n each li Si ui
stands for 0 ≤ i ≤ n
a ← b1, . . . , bn,∼c1, . . . ,∼cn
S0+ ← a← a,∼b0 bi ← li Si
← a, c0 ci ← ui +1 Si
where a, bi , ci are new symbols
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 126 / 432
![Page 289: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/289.jpg)
Core language Weight rule
Outline
15 Motivation
16 Core languageIntegrity constraintChoice ruleCardinality ruleWeight rule
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 127 / 432
![Page 290: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/290.jpg)
Core language Weight rule
Weight rule
Syntax A weight rule is the form
a0 ← l a1 = w1, . . . , am = wm,∼am+1 = wm+1, . . . ,∼an = wn
where 0 ≤ m ≤ n and each ai is an atom;l and wi are integers for 1 ≤ i ≤ n
A weighted literal, `i = wi , associates each literal `i with a weight wi
Note A cardinality rule is a weight rule where wi = 1 for 0 ≤ i ≤ n
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 128 / 432
![Page 291: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/291.jpg)
Core language Weight rule
Weight rule
Syntax A weight rule is the form
a0 ← l a1 = w1, . . . , am = wm,∼am+1 = wm+1, . . . ,∼an = wn
where 0 ≤ m ≤ n and each ai is an atom;l and wi are integers for 1 ≤ i ≤ n
A weighted literal, `i = wi , associates each literal `i with a weight wi
Note A cardinality rule is a weight rule where wi = 1 for 0 ≤ i ≤ n
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 128 / 432
![Page 292: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/292.jpg)
Core language Weight rule
Weight constraints
Syntax A weight constraint is of the form
l a1 = w1, . . . , am = wm,∼am+1 = wm+1, . . . ,∼an = wn u
where 0 ≤ m ≤ n and each ai is an atom;l , u and wi are integers for 1 ≤ i ≤ n
Meaning A weight constraint is satisfied by a stable model X , if
l ≤(∑
1≤i≤m,ai∈X wi +∑
m<i≤n,ai 6∈X wi
)≤ u
Note (Cardinality and) weight constraints amount to constraints on(count and) sum aggregate functions
Example 10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 129 / 432
![Page 293: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/293.jpg)
Core language Weight rule
Weight constraints
Syntax A weight constraint is of the form
l a1 = w1, . . . , am = wm,∼am+1 = wm+1, . . . ,∼an = wn u
where 0 ≤ m ≤ n and each ai is an atom;l , u and wi are integers for 1 ≤ i ≤ n
Meaning A weight constraint is satisfied by a stable model X , if
l ≤(∑
1≤i≤m,ai∈X wi +∑
m<i≤n,ai 6∈X wi
)≤ u
Note (Cardinality and) weight constraints amount to constraints on(count and) sum aggregate functions
Example 10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 129 / 432
![Page 294: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/294.jpg)
Core language Weight rule
Weight constraints
Syntax A weight constraint is of the form
l a1 = w1, . . . , am = wm,∼am+1 = wm+1, . . . ,∼an = wn u
where 0 ≤ m ≤ n and each ai is an atom;l , u and wi are integers for 1 ≤ i ≤ n
Meaning A weight constraint is satisfied by a stable model X , if
l ≤(∑
1≤i≤m,ai∈X wi +∑
m<i≤n,ai 6∈X wi
)≤ u
Note (Cardinality and) weight constraints amount to constraints on(count and) sum aggregate functions
Example 10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 129 / 432
![Page 295: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/295.jpg)
Core language Weight rule
Weight constraints
Syntax A weight constraint is of the form
l a1 = w1, . . . , am = wm,∼am+1 = wm+1, . . . ,∼an = wn u
where 0 ≤ m ≤ n and each ai is an atom;l , u and wi are integers for 1 ≤ i ≤ n
Meaning A weight constraint is satisfied by a stable model X , if
l ≤(∑
1≤i≤m,ai∈X wi +∑
m<i≤n,ai 6∈X wi
)≤ u
Note (Cardinality and) weight constraints amount to constraints on(count and) sum aggregate functions
Example 10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 129 / 432
![Page 296: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/296.jpg)
Extended language
Outline
15 Motivation
16 Core language
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 130 / 432
![Page 297: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/297.jpg)
Extended language Conditional literal
Outline
15 Motivation
16 Core language
17 Extended languageConditional literalOptimization statement
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 131 / 432
![Page 298: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/298.jpg)
Extended language Conditional literal
Conditional literals (in lparse & gringo 3)
Syntax A conditional literal is of the form
` : `1 : · · · : `n
where ` and `i are literals for 0 ≤ i ≤ n
Informal meaning A conditional literal can be regarded as the list ofelements in the set ` | `1, . . . , `nNote The expansion of conditional literals is context dependent
Example Given ‘ p(1). p(2). p(3). q(2).’
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
is instantiated to
r(1); r(3) :- r(1), r(3), 1 r(1), r(3).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 132 / 432
![Page 299: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/299.jpg)
Extended language Conditional literal
Conditional literals (in lparse & gringo 3)
Syntax A conditional literal is of the form
` : `1 : · · · : `n
where ` and `i are literals for 0 ≤ i ≤ n
Informal meaning A conditional literal can be regarded as the list ofelements in the set ` | `1, . . . , `nNote The expansion of conditional literals is context dependent
Example Given ‘ p(1). p(2). p(3). q(2).’
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
is instantiated to
r(1); r(3) :- r(1), r(3), 1 r(1), r(3).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 132 / 432
![Page 300: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/300.jpg)
Extended language Conditional literal
Conditional literals (in lparse & gringo 3)
Syntax A conditional literal is of the form
` : `1 : · · · : `n
where ` and `i are literals for 0 ≤ i ≤ n
Informal meaning A conditional literal can be regarded as the list ofelements in the set ` | `1, . . . , `nNote The expansion of conditional literals is context dependent
Example Given ‘ p(1). p(2). p(3). q(2).’
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
is instantiated to
r(1); r(3) :- r(1), r(3), 1 r(1), r(3).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 132 / 432
![Page 301: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/301.jpg)
Extended language Conditional literal
Conditional literals (in lparse & gringo 3)
Syntax A conditional literal is of the form
` : `1 : · · · : `n
where ` and `i are literals for 0 ≤ i ≤ n
Informal meaning A conditional literal can be regarded as the list ofelements in the set ` | `1, . . . , `nNote The expansion of conditional literals is context dependent
Example Given ‘ p(1). p(2). p(3). q(2).’
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
is instantiated to
r(1); r(3) :- r(1), r(3), 1 r(1), r(3).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 132 / 432
![Page 302: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/302.jpg)
Extended language Conditional literal
Conditional literals (in lparse & gringo 3)
Syntax A conditional literal is of the form
` : `1 : · · · : `n
where ` and `i are literals for 0 ≤ i ≤ n
Informal meaning A conditional literal can be regarded as the list ofelements in the set ` | `1, . . . , `nNote The expansion of conditional literals is context dependent
Example Given ‘ p(1). p(2). p(3). q(2).’
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
is instantiated to
r(1); r(3) :- r(1), r(3), 1 r(1), r(3).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 132 / 432
![Page 303: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/303.jpg)
Extended language Conditional literal
Conditional literals (in lparse & gringo 3)
Syntax A conditional literal is of the form
` : `1 : · · · : `n
where ` and `i are literals for 0 ≤ i ≤ n
Informal meaning A conditional literal can be regarded as the list ofelements in the set ` | `1, . . . , `nNote The expansion of conditional literals is context dependent
Example Given ‘ p(1). p(2). p(3). q(2).’
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
is instantiated to
r(1); r(3) :- r(1), r(3), 1 r(1), r(3).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 132 / 432
![Page 304: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/304.jpg)
Extended language Conditional literal
Conditional literals (in lparse & gringo 3)
Syntax A conditional literal is of the form
` : `1 : · · · : `n
where ` and `i are literals for 0 ≤ i ≤ n
Informal meaning A conditional literal can be regarded as the list ofelements in the set ` | `1, . . . , `nNote The expansion of conditional literals is context dependent
Example Given ‘ p(1). p(2). p(3). q(2).’
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
is instantiated to
r(1); r(3) :- r(1), r(3), 1 r(1), r(3).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 132 / 432
![Page 305: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/305.jpg)
Extended language Optimization statement
Outline
15 Motivation
16 Core language
17 Extended languageConditional literalOptimization statement
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 133 / 432
![Page 306: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/306.jpg)
Extended language Optimization statement
Optimization statement
Idea Express cost functions subject to minimization and/ormaximization
Syntax A minimize statement is of the form
minimize `1 = w1@p1, . . . , `n = wn@pn .
where each `i is a literal; and wi and pi are integers for 1 ≤ i ≤ n
Priority levels, pi , allow for representing lexicographically orderedminimization objectives
Meaning A minimize statement is a directive that instructs the ASPsolver to compute optimal stable models by minimizing a weightedsum of elements
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 134 / 432
![Page 307: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/307.jpg)
Extended language Optimization statement
Optimization statement
Idea Express cost functions subject to minimization and/ormaximization
Syntax A minimize statement is of the form
minimize `1 = w1@p1, . . . , `n = wn@pn .
where each `i is a literal; and wi and pi are integers for 1 ≤ i ≤ n
Priority levels, pi , allow for representing lexicographically orderedminimization objectives
Meaning A minimize statement is a directive that instructs the ASPsolver to compute optimal stable models by minimizing a weightedsum of elements
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 134 / 432
![Page 308: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/308.jpg)
Extended language Optimization statement
Optimization statement
Idea Express cost functions subject to minimization and/ormaximization
Syntax A minimize statement is of the form
minimize `1 = w1@p1, . . . , `n = wn@pn .
where each `i is a literal; and wi and pi are integers for 1 ≤ i ≤ n
Priority levels, pi , allow for representing lexicographically orderedminimization objectives
Meaning A minimize statement is a directive that instructs the ASPsolver to compute optimal stable models by minimizing a weightedsum of elements
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 134 / 432
![Page 309: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/309.jpg)
Extended language Optimization statement
Optimization statement
A maximize statement of the form
maximize `1 = w1@p1, . . . , `n = wn@pn
stands for minimize `1 = −w1@p1, . . . , `n = −wn@pn
Example When configuring a computer, we may want to maximizehard disk capacity, while minimizing price
#maximize[ hd(1)=250@1, hd(2)=500@1, hd(3)=750@1, hd(4)=1000@1 ].
#minimize[ hd(1)=30@2, hd(2)=40@2, hd(3)=60@2, hd(4)=80@2 ].
The priority levels indicate that (minimizing) price is more importantthan (maximizing) capacity
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 135 / 432
![Page 310: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/310.jpg)
Extended language Optimization statement
Optimization statement
A maximize statement of the form
maximize `1 = w1@p1, . . . , `n = wn@pn
stands for minimize `1 = −w1@p1, . . . , `n = −wn@pn
Example When configuring a computer, we may want to maximizehard disk capacity, while minimizing price
#maximize[ hd(1)=250@1, hd(2)=500@1, hd(3)=750@1, hd(4)=1000@1 ].
#minimize[ hd(1)=30@2, hd(2)=40@2, hd(3)=60@2, hd(4)=80@2 ].
The priority levels indicate that (minimizing) price is more importantthan (maximizing) capacity
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 135 / 432
![Page 311: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/311.jpg)
smodels format
Outline
15 Motivation
16 Core language
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 136 / 432
![Page 312: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/312.jpg)
smodels format
smodels format
Logic programs in smodels format consist of
normal ruleschoice rulescardinality rulesweight rulesoptimization statements
Such a format is obtained by grounders lparse and gringo
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 137 / 432
![Page 313: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/313.jpg)
ASP language standard
Outline
15 Motivation
16 Core language
17 Extended language
18 smodels format
19 ASP language standard
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 138 / 432
![Page 314: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/314.jpg)
ASP language standard
ASP-Core-2
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
smodels formatASP-Core-2
smodels format is a machine-oriented standard for ground programs
ASP-Core-2 is a user-oriented standard for (non-ground) programs,extending the input languages of dlv and gringo series 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 139 / 432
![Page 315: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/315.jpg)
ASP language standard
ASP-Core-2
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
smodels formatASP-Core-2
smodels format is a machine-oriented standard for ground programs
ASP-Core-2 is a user-oriented standard for (non-ground) programs,extending the input languages of dlv and gringo series 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 139 / 432
![Page 316: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/316.jpg)
ASP language standard
ASP-Core-2
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
smodels formatASP-Core-2
smodels format is a machine-oriented standard for ground programs
ASP-Core-2 is a user-oriented standard for (non-ground) programs,extending the input languages of dlv and gringo series 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 139 / 432
![Page 317: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/317.jpg)
ASP language standard
ASP-Core-2
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
smodels formatASP-Core-2
smodels format is a machine-oriented standard for ground programs
ASP-Core-2 is a user-oriented standard for (non-ground) programs,extending the input languages of dlv and gringo series 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 139 / 432
![Page 318: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/318.jpg)
ASP language standard
Aggregates
Syntax ASP-Core-2 aggregates are of the form
t1 ≺1 #At11 , . . . , tm1 : `11 , . . . , `n1 ≺2 t2
where#A ∈ #count,#sum,#max,#min≺1,≺2 ∈ <,≤,=, 6=, >,≥t11 , . . . , tm1 and t1, t2 are terms`11 , . . . , `n1 are literals
Example Weight constraint
10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
is written as an ASP-Core-2 aggregate as
10 ≤ #sum6,db:course(db); 6,ai:course(ai);
8,project:course(project); 3,xml:course(xml) ≤ 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 140 / 432
![Page 319: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/319.jpg)
ASP language standard
Aggregates
Syntax ASP-Core-2 aggregates are of the form
t1 ≺1 #At11 , . . . , tm1 : `11 , . . . , `n1 ; . . . ; t1k, . . . , tmk
: `1k, . . . , `nk
≺2 t2
where#A ∈ #count,#sum,#max,#min≺1,≺2 ∈ <,≤,=, 6=, >,≥t11 , . . . , tm1 , . . . , t1k
, . . . , tmk, and t1, t2 are terms
`11 , . . . , `n1 , . . . , `1k, . . . , `nk
are literals
Example Weight constraint
10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
is written as an ASP-Core-2 aggregate as
10 ≤ #sum6,db:course(db); 6,ai:course(ai);
8,project:course(project); 3,xml:course(xml) ≤ 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 140 / 432
![Page 320: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/320.jpg)
ASP language standard
Aggregates
Syntax ASP-Core-2 aggregates are of the form
t1 ≺1 #At11 , . . . , tm1 : `11 , . . . , `n1 ; . . . ; t1k, . . . , tmk
: `1k, . . . , `nk
≺2 t2
where#A ∈ #count,#sum,#max,#min≺1,≺2 ∈ <,≤,=, 6=, >,≥t11 , . . . , tm1 , . . . , t1k
, . . . , tmk, and t1, t2 are terms
`11 , . . . , `n1 , . . . , `1k, . . . , `nk
are literals
Example Weight constraint
10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
is written as an ASP-Core-2 aggregate as
10 ≤ #sum6,db:course(db); 6,ai:course(ai);
8,project:course(project); 3,xml:course(xml) ≤ 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 140 / 432
![Page 321: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/321.jpg)
ASP language standard
Aggregates
Syntax ASP-Core-2 aggregates are of the form
t1 ≺1 #At11 , . . . , tm1 : `11 , . . . , `n1 ; . . . ; t1k, . . . , tmk
: `1k, . . . , `nk
≺2 t2
where#A ∈ #count,#sum,#max,#min≺1,≺2 ∈ <,≤,=, 6=, >,≥t11 , . . . , tm1 , . . . , t1k
, . . . , tmk, and t1, t2 are terms
`11 , . . . , `n1 , . . . , `1k, . . . , `nk
are literals
Example Weight constraint
10 [course(db)=6,course(ai)=6,course(project)=8,course(xml)=3] 20
is written as an ASP-Core-2 aggregate as
10 ≤ #sum6,db:course(db); 6,ai:course(ai);
8,project:course(project); 3,xml:course(xml) ≤ 20
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 140 / 432
![Page 322: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/322.jpg)
ASP language standard
Weak constraints
Syntax A weak constraint is of the form
a1, . . . , am,∼am+1, . . . ,∼an. [w@p, t1, . . . , tm]
wherea1, . . . , an are atomst1, . . . , tm, w , and p are terms
a1, . . . , an may contain ASP-Core-2 aggregates
w and p stand for a weight and priority level (p = 0 if ‘@p’ is omitted)
Example Minimize statement
#minimize[ hd(1)=30@2, hd(2)=40@2, hd(3)=60@2, hd(4)=80@2 ].
can be written in terms of weak constraints as
hd(1). [30@2,1] hd(3). [60@2,3]
hd(2). [40@2,2] hd(4). [80@2,4]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 141 / 432
![Page 323: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/323.jpg)
ASP language standard
Weak constraints
Syntax A weak constraint is of the form
a1, . . . , am,∼am+1, . . . ,∼an. [w@p, t1, . . . , tm]
wherea1, . . . , an are atomst1, . . . , tm, w , and p are terms
a1, . . . , an may contain ASP-Core-2 aggregates
w and p stand for a weight and priority level (p = 0 if ‘@p’ is omitted)
Example Minimize statement
#minimize[ hd(1)=30@2, hd(2)=40@2, hd(3)=60@2, hd(4)=80@2 ].
can be written in terms of weak constraints as
hd(1). [30@2,1] hd(3). [60@2,3]
hd(2). [40@2,2] hd(4). [80@2,4]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 141 / 432
![Page 324: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/324.jpg)
ASP language standard
Weak constraints
Syntax A weak constraint is of the form
a1, . . . , am,∼am+1, . . . ,∼an. [w@p, t1, . . . , tm]
wherea1, . . . , an are atomst1, . . . , tm, w , and p are terms
a1, . . . , an may contain ASP-Core-2 aggregates
w and p stand for a weight and priority level (p = 0 if ‘@p’ is omitted)
Example Minimize statement
#minimize[ hd(1)=30@2, hd(2)=40@2, hd(3)=60@2, hd(4)=80@2 ].
can be written in terms of weak constraints as
hd(1). [30@2,1] hd(3). [60@2,3]
hd(2). [40@2,2] hd(4). [80@2,4]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 141 / 432
![Page 325: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/325.jpg)
ASP language standard
Weak constraints
Syntax A weak constraint is of the form
a1, . . . , am,∼am+1, . . . ,∼an. [w@p, t1, . . . , tm]
wherea1, . . . , an are atomst1, . . . , tm, w , and p are terms
a1, . . . , an may contain ASP-Core-2 aggregates
w and p stand for a weight and priority level (p = 0 if ‘@p’ is omitted)
Example Minimize statement
#minimize[ hd(1)=30@2, hd(2)=40@2, hd(3)=60@2, hd(4)=80@2 ].
can be written in terms of weak constraints as
hd(1). [30@2,1] hd(3). [60@2,3]
hd(2). [40@2,2] hd(4). [80@2,4]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 141 / 432
![Page 326: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/326.jpg)
ASP language standard
gringo 4
The input language of gringo series 4 comprises
ASP-Core-2concepts from gringo 3 (conditional literals, #show directives, . . . )
Example The gringo 3 rule
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
can be written as follows in the language of gringo 4:
r(X):p(X),not q(X) :- r(X):p(X),not q(X);
1 <= #countX:r(X),p(X),not q(X).
New Term-based #show directives as in#show. #show hello. #show X : p(X). 1 p(earth);p(mars);p(venus) 1.
Attention The languages of gringo 3 and 4 are not fully compatible
Many example programs given in this tutorial are written for gringo 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 142 / 432
![Page 327: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/327.jpg)
ASP language standard
gringo 4
The input language of gringo series 4 comprises
ASP-Core-2concepts from gringo 3 (conditional literals, #show directives, . . . )
Example The gringo 3 rule
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
can be written as follows in the language of gringo 4:
r(X):p(X),not q(X) :- r(X):p(X),not q(X);
1 <= #countX:r(X),p(X),not q(X).
New Term-based #show directives as in#show. #show hello. #show X : p(X). 1 p(earth);p(mars);p(venus) 1.
Attention The languages of gringo 3 and 4 are not fully compatible
Many example programs given in this tutorial are written for gringo 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 142 / 432
![Page 328: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/328.jpg)
ASP language standard
gringo 4
The input language of gringo series 4 comprises
ASP-Core-2concepts from gringo 3 (conditional literals, #show directives, . . . )
Example The gringo 3 rule
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
can be written as follows in the language of gringo 4:
r(X):p(X),not q(X) :- r(X):p(X),not q(X);
1 <= #countX:r(X),p(X),not q(X).
New Term-based #show directives as in#show. #show hello. #show X : p(X). 1 p(earth);p(mars);p(venus) 1.
Attention The languages of gringo 3 and 4 are not fully compatible
Many example programs given in this tutorial are written for gringo 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 142 / 432
![Page 329: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/329.jpg)
ASP language standard
gringo 4
The input language of gringo series 4 comprises
ASP-Core-2concepts from gringo 3 (conditional literals, #show directives, . . . )
Example The gringo 3 rule
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
can be written as follows in the language of gringo 4:
r(X):p(X),not q(X) :- r(X):p(X),not q(X);
1 <= #countX:r(X),p(X),not q(X).
New Term-based #show directives as in#show. #show hello. #show X : p(X). 1 p(earth);p(mars);p(venus) 1.
Attention The languages of gringo 3 and 4 are not fully compatible
Many example programs given in this tutorial are written for gringo 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 142 / 432
![Page 330: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/330.jpg)
ASP language standard
gringo 4
The input language of gringo series 4 comprises
ASP-Core-2concepts from gringo 3 (conditional literals, #show directives, . . . )
Example The gringo 3 rule
r(X):p(X):not q(X) :- r(X):p(X):not q(X), 1 r(X):p(X):not q(X).
can be written as follows in the language of gringo 4:
r(X):p(X),not q(X) :- r(X):p(X),not q(X);
1 <= #countX:r(X),p(X),not q(X).
New Term-based #show directives as in#show. #show hello. #show X : p(X). 1 p(earth);p(mars);p(venus) 1.
Attention The languages of gringo 3 and 4 are not fully compatible
Many example programs given in this tutorial are written for gringo 3
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 142 / 432
![Page 331: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/331.jpg)
Language Extensions: Overview
20 Two kinds of negation
21 Disjunctive logic programs
22 Propositional theories
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 143 / 432
![Page 332: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/332.jpg)
Two kinds of negation
Outline
20 Two kinds of negation
21 Disjunctive logic programs
22 Propositional theories
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 144 / 432
![Page 333: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/333.jpg)
Two kinds of negation
Motivation
Classical versus default negation
Symbol ¬ and ∼Idea
¬a ≈ ¬a ∈ X∼a ≈ a /∈ X
Example
cross ← ¬traincross ← ∼train
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 145 / 432
![Page 334: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/334.jpg)
Two kinds of negation
Motivation
Classical versus default negation
Symbol ¬ and ∼Idea
¬a ≈ ¬a ∈ X∼a ≈ a /∈ X
Example
cross ← ¬traincross ← ∼train
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 145 / 432
![Page 335: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/335.jpg)
Two kinds of negation
Motivation
Classical versus default negation
Symbol ¬ and ∼Idea
¬a ≈ ¬a ∈ X∼a ≈ a /∈ X
Example
cross ← ¬traincross ← ∼train
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 145 / 432
![Page 336: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/336.jpg)
Two kinds of negation
Classical negation
We consider logic programs in negation normal form
That is, classical negation is applied to atoms only
Given an alphabet A of atoms, let A = ¬a | a ∈ A such thatA ∩A = ∅Given a program P over A, classical negation is encoded by adding
P¬ = a← b,¬b | a ∈ (A ∪A), b ∈ A
A set X of atoms is a stable model of a program P over A ∪A,if X is a stable model of P ∪ P¬
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 146 / 432
![Page 337: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/337.jpg)
Two kinds of negation
Classical negation
We consider logic programs in negation normal form
That is, classical negation is applied to atoms only
Given an alphabet A of atoms, let A = ¬a | a ∈ A such thatA ∩A = ∅Given a program P over A, classical negation is encoded by adding
P¬ = a← b,¬b | a ∈ (A ∪A), b ∈ A
A set X of atoms is a stable model of a program P over A ∪A,if X is a stable model of P ∪ P¬
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 146 / 432
![Page 338: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/338.jpg)
Two kinds of negation
Classical negation
We consider logic programs in negation normal form
That is, classical negation is applied to atoms only
Given an alphabet A of atoms, let A = ¬a | a ∈ A such thatA ∩A = ∅Given a program P over A, classical negation is encoded by adding
P¬ = a← b,¬b | a ∈ (A ∪A), b ∈ A
A set X of atoms is a stable model of a program P over A ∪A,if X is a stable model of P ∪ P¬
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 146 / 432
![Page 339: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/339.jpg)
Two kinds of negation
Classical negation
We consider logic programs in negation normal form
That is, classical negation is applied to atoms only
Given an alphabet A of atoms, let A = ¬a | a ∈ A such thatA ∩A = ∅Given a program P over A, classical negation is encoded by adding
P¬ = a← b,¬b | a ∈ (A ∪A), b ∈ A
A set X of atoms is a stable model of a program P over A ∪A,if X is a stable model of P ∪ P¬
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 146 / 432
![Page 340: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/340.jpg)
Two kinds of negation
An example
The program
P = a← ∼b, b ← ∼a ∪ c ← b, ¬c ← b
induces
P¬ =
a ← a,¬a a ← b,¬b a ← c ,¬c¬a ← a,¬a ¬a ← b,¬b ¬a ← c,¬c
b ← a,¬a b ← b,¬b b ← c,¬c¬b ← a,¬a ¬b ← b,¬b ¬b ← c ,¬c
c ← a,¬a c ← b,¬b c ← c ,¬c¬c ← a,¬a ¬c ← b,¬b ¬c ← c ,¬c
The stable models of P are given by the ones of P ∪ P¬, viz a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 147 / 432
![Page 341: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/341.jpg)
Two kinds of negation
An example
The program
P = a← ∼b, b ← ∼a ∪ c ← b, ¬c ← b
induces
P¬ =
a ← a,¬a a ← b,¬b a ← c ,¬c¬a ← a,¬a ¬a ← b,¬b ¬a ← c,¬c
b ← a,¬a b ← b,¬b b ← c,¬c¬b ← a,¬a ¬b ← b,¬b ¬b ← c ,¬c
c ← a,¬a c ← b,¬b c ← c ,¬c¬c ← a,¬a ¬c ← b,¬b ¬c ← c ,¬c
The stable models of P are given by the ones of P ∪ P¬, viz a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 147 / 432
![Page 342: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/342.jpg)
Two kinds of negation
An example
The program
P = a← ∼b, b ← ∼a ∪ c ← b, ¬c ← b
induces
P¬ =
a ← a,¬a a ← b,¬b a ← c ,¬c¬a ← a,¬a ¬a ← b,¬b ¬a ← c,¬c
b ← a,¬a b ← b,¬b b ← c,¬c¬b ← a,¬a ¬b ← b,¬b ¬b ← c ,¬c
c ← a,¬a c ← b,¬b c ← c ,¬c¬c ← a,¬a ¬c ← b,¬b ¬c ← c ,¬c
The stable models of P are given by the ones of P ∪ P¬, viz a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 147 / 432
![Page 343: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/343.jpg)
Two kinds of negation
Properties
The only inconsistent stable “model” is X = A ∪ANote Strictly speaking, an inconsistemt set like A ∪A is not a model
For a logic program P over A ∪A, exactly one of the following twocases applies:
1 All stable models of P are consistent or2 X = A ∪A is the only stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 148 / 432
![Page 344: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/344.jpg)
Two kinds of negation
Properties
The only inconsistent stable “model” is X = A ∪ANote Strictly speaking, an inconsistemt set like A ∪A is not a model
For a logic program P over A ∪A, exactly one of the following twocases applies:
1 All stable models of P are consistent or2 X = A ∪A is the only stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 148 / 432
![Page 345: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/345.jpg)
Two kinds of negation
Properties
The only inconsistent stable “model” is X = A ∪ANote Strictly speaking, an inconsistemt set like A ∪A is not a model
For a logic program P over A ∪A, exactly one of the following twocases applies:
1 All stable models of P are consistent or2 X = A ∪A is the only stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 148 / 432
![Page 346: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/346.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 347: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/347.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 348: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/348.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 349: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/349.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 350: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/350.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 351: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/351.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 352: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/352.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 353: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/353.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 354: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/354.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 355: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/355.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 356: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/356.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 357: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/357.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 358: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/358.jpg)
Two kinds of negation
Train spotting
P1 = cross ← ∼trainstable model: cross
P2 = cross ← ¬trainstable model: ∅
P3 = cross ← ¬train, ¬train←stable model: cross,¬train
P4 = cross ← ¬train, ¬train←, ¬cross ←stable model: cross,¬cross, train,¬train
P5 = cross ← ¬train, ¬train← ∼trainstable model: cross,¬train
P6 = cross ← ¬train, ¬train← ∼train, ¬cross ←no stable model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 149 / 432
![Page 359: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/359.jpg)
Two kinds of negation
Default negation in rule heads
We consider logic programs with default negation in rule heads
Given an alphabet A of atoms, let A = a | a ∈ A such thatA ∩ A = ∅Given a program P over A, consider the program
P = r ∈ P | head(r) 6= ∼a∪ ← body(r) ∪ ∼a | r ∈ P and head(r) = ∼a∪ a← ∼a | r ∈ P and head(r) = ∼a
A set X of atoms is a stable model of a program P (with defaultnegation in rule heads) over A,if X = Y ∩ A for some stable model Y of P over A ∪ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 150 / 432
![Page 360: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/360.jpg)
Two kinds of negation
Default negation in rule heads
We consider logic programs with default negation in rule heads
Given an alphabet A of atoms, let A = a | a ∈ A such thatA ∩ A = ∅Given a program P over A, consider the program
P = r ∈ P | head(r) 6= ∼a∪ ← body(r) ∪ ∼a | r ∈ P and head(r) = ∼a∪ a← ∼a | r ∈ P and head(r) = ∼a
A set X of atoms is a stable model of a program P (with defaultnegation in rule heads) over A,if X = Y ∩ A for some stable model Y of P over A ∪ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 150 / 432
![Page 361: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/361.jpg)
Two kinds of negation
Default negation in rule heads
We consider logic programs with default negation in rule heads
Given an alphabet A of atoms, let A = a | a ∈ A such thatA ∩ A = ∅Given a program P over A, consider the program
P = r ∈ P | head(r) 6= ∼a∪ ← body(r) ∪ ∼a | r ∈ P and head(r) = ∼a∪ a← ∼a | r ∈ P and head(r) = ∼a
A set X of atoms is a stable model of a program P (with defaultnegation in rule heads) over A,if X = Y ∩ A for some stable model Y of P over A ∪ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 150 / 432
![Page 362: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/362.jpg)
Two kinds of negation
Default negation in rule heads
We consider logic programs with default negation in rule heads
Given an alphabet A of atoms, let A = a | a ∈ A such thatA ∩ A = ∅Given a program P over A, consider the program
P = r ∈ P | head(r) 6= ∼a∪ ← body(r) ∪ ∼a | r ∈ P and head(r) = ∼a∪ a← ∼a | r ∈ P and head(r) = ∼a
A set X of atoms is a stable model of a program P (with defaultnegation in rule heads) over A,if X = Y ∩ A for some stable model Y of P over A ∪ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 150 / 432
![Page 363: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/363.jpg)
Disjunctive logic programs
Outline
20 Two kinds of negation
21 Disjunctive logic programs
22 Propositional theories
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 151 / 432
![Page 364: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/364.jpg)
Disjunctive logic programs
Disjunctive logic programs
A disjunctive rule, r , is of the form
a1 ; . . . ; am ← am+1, . . . , an,∼an+1, . . . ,∼ao
where 0 ≤ m ≤ n ≤ o and each ai is an atom for 0 ≤ i ≤ o
A disjunctive logic program is a finite set of disjunctive rules
Notation
head(r) = a1, . . . , ambody(r) = am+1, . . . , an,∼an+1, . . . ,∼ao
body(r)+ = am+1, . . . , anbody(r)− = an+1, . . . , aoatom(P) =
⋃r∈P
(head(r) ∪ body(r)+ ∪ body(r)−
)body(P) = body(r) | r ∈ P
A program is called positive if body(r)− = ∅ for all its rules
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 152 / 432
![Page 365: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/365.jpg)
Disjunctive logic programs
Disjunctive logic programs
A disjunctive rule, r , is of the form
a1 ; . . . ; am ← am+1, . . . , an,∼an+1, . . . ,∼ao
where 0 ≤ m ≤ n ≤ o and each ai is an atom for 0 ≤ i ≤ o
A disjunctive logic program is a finite set of disjunctive rules
Notation
head(r) = a1, . . . , ambody(r) = am+1, . . . , an,∼an+1, . . . ,∼ao
body(r)+ = am+1, . . . , anbody(r)− = an+1, . . . , aoatom(P) =
⋃r∈P
(head(r) ∪ body(r)+ ∪ body(r)−
)body(P) = body(r) | r ∈ P
A program is called positive if body(r)− = ∅ for all its rules
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 152 / 432
![Page 366: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/366.jpg)
Disjunctive logic programs
Disjunctive logic programs
A disjunctive rule, r , is of the form
a1 ; . . . ; am ← am+1, . . . , an,∼an+1, . . . ,∼ao
where 0 ≤ m ≤ n ≤ o and each ai is an atom for 0 ≤ i ≤ o
A disjunctive logic program is a finite set of disjunctive rules
Notation
head(r) = a1, . . . , ambody(r) = am+1, . . . , an,∼an+1, . . . ,∼ao
body(r)+ = am+1, . . . , anbody(r)− = an+1, . . . , aoatom(P) =
⋃r∈P
(head(r) ∪ body(r)+ ∪ body(r)−
)body(P) = body(r) | r ∈ P
A program is called positive if body(r)− = ∅ for all its rules
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 152 / 432
![Page 367: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/367.jpg)
Disjunctive logic programs
Stable models
Positive programs
A set X of atoms is closed under a positive program P ifffor any r ∈ P, head(r) ∩ X 6= ∅ whenever body(r)+ ⊆ X
X corresponds to a model of P (seen as a formula)
The set of all ⊆-minimal sets of atoms being closed under a positiveprogram P is denoted by min⊆(P)
min⊆(P) corresponds to the ⊆-minimal models of P (ditto)
Disjunctive programs
The reduct, PX , of a disjunctive program P relative to a set X ofatoms is defined by
PX = head(r)← body(r)+ | r ∈ P and body(r)− ∩ X = ∅
A set X of atoms is a stable model of a disjunctive program P,if X ∈ min⊆(PX )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 153 / 432
![Page 368: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/368.jpg)
Disjunctive logic programs
Stable models
Positive programs
A set X of atoms is closed under a positive program P ifffor any r ∈ P, head(r) ∩ X 6= ∅ whenever body(r)+ ⊆ X
X corresponds to a model of P (seen as a formula)
The set of all ⊆-minimal sets of atoms being closed under a positiveprogram P is denoted by min⊆(P)
min⊆(P) corresponds to the ⊆-minimal models of P (ditto)
Disjunctive programs
The reduct, PX , of a disjunctive program P relative to a set X ofatoms is defined by
PX = head(r)← body(r)+ | r ∈ P and body(r)− ∩ X = ∅
A set X of atoms is a stable model of a disjunctive program P,if X ∈ min⊆(PX )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 153 / 432
![Page 369: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/369.jpg)
Disjunctive logic programs
Stable models
Positive programs
A set X of atoms is closed under a positive program P ifffor any r ∈ P, head(r) ∩ X 6= ∅ whenever body(r)+ ⊆ X
X corresponds to a model of P (seen as a formula)
The set of all ⊆-minimal sets of atoms being closed under a positiveprogram P is denoted by min⊆(P)
min⊆(P) corresponds to the ⊆-minimal models of P (ditto)
Disjunctive programs
The reduct, PX , of a disjunctive program P relative to a set X ofatoms is defined by
PX = head(r)← body(r)+ | r ∈ P and body(r)− ∩ X = ∅
A set X of atoms is a stable model of a disjunctive program P,if X ∈ min⊆(PX )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 153 / 432
![Page 370: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/370.jpg)
Disjunctive logic programs
A “positive” example
P =
a ←b ; c ← a
The sets a, b, a, c, and a, b, c are closed under P
We have min⊆(P) = a, b, a, c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 154 / 432
![Page 371: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/371.jpg)
Disjunctive logic programs
A “positive” example
P =
a ←b ; c ← a
The sets a, b, a, c, and a, b, c are closed under P
We have min⊆(P) = a, b, a, c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 154 / 432
![Page 372: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/372.jpg)
Disjunctive logic programs
A “positive” example
P =
a ←b ; c ← a
The sets a, b, a, c, and a, b, c are closed under P
We have min⊆(P) = a, b, a, c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 154 / 432
![Page 373: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/373.jpg)
Disjunctive logic programs
Graph coloring (reloaded)
node(1..6).
edge(1,2;3;4). edge(2,4;5;6). edge(3,1;4;5).
edge(4,1;2). edge(5,3;4;6). edge(6,2;3;5).
color(X,r) | color(X,b) | color(X,g) :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 155 / 432
![Page 374: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/374.jpg)
Disjunctive logic programs
Graph coloring (reloaded)
node(1..6).
edge(1,2;3;4). edge(2,4;5;6). edge(3,1;4;5).
edge(4,1;2). edge(5,3;4;6). edge(6,2;3;5).
col(r). col(b). col(g).
color(X,C) : col(C) :- node(X).
:- edge(X,Y), color(X,C), color(Y,C).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 155 / 432
![Page 375: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/375.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 376: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/376.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 377: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/377.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 378: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/378.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 379: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/379.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 380: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/380.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 381: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/381.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 382: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/382.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 383: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/383.jpg)
Disjunctive logic programs
More Examples
P1 = a ; b ; c ←stable models a, b, and c
P2 = a ; b ; c ← , ← astable models b and c
P3 = a ; b ; c ← , ← a , b ← c , c ← bstable model b, c
P4 = a ; b ← c , b ← ∼a,∼c , a ; c ← ∼bstable models a and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 156 / 432
![Page 384: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/384.jpg)
Disjunctive logic programs
Some properties
A disjunctive logic program may have zero, one, or multiple stablemodels
If X is a stable model of a disjunctive logic program P,then X is a model of P (seen as a formula)
If X and Y are stable models of a disjunctive logic program P,then X 6⊂ Y
If A ∈ X for some stable model X of a disjunctive logic program P,then there is a rule r ∈ P such thatbody(r)+ ⊆ X , body(r)− ∩ X = ∅, and head(r) ∩ X = A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 157 / 432
![Page 385: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/385.jpg)
Disjunctive logic programs
Some properties
A disjunctive logic program may have zero, one, or multiple stablemodels
If X is a stable model of a disjunctive logic program P,then X is a model of P (seen as a formula)
If X and Y are stable models of a disjunctive logic program P,then X 6⊂ Y
If A ∈ X for some stable model X of a disjunctive logic program P,then there is a rule r ∈ P such thatbody(r)+ ⊆ X , body(r)− ∩ X = ∅, and head(r) ∩ X = A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 157 / 432
![Page 386: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/386.jpg)
Disjunctive logic programs
An example with variables
P =
a(1, 2) ←b(X ) ; c(Y ) ← a(X ,Y ),∼c(Y )
ground(P) =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
For every stable model X of P, we have
a(1, 2) ∈ X and
a(1, 1), a(2, 1), a(2, 2) ∩ X = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 158 / 432
![Page 387: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/387.jpg)
Disjunctive logic programs
An example with variables
P =
a(1, 2) ←b(X ) ; c(Y ) ← a(X ,Y ),∼c(Y )
ground(P) =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
For every stable model X of P, we have
a(1, 2) ∈ X and
a(1, 1), a(2, 1), a(2, 2) ∩ X = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 158 / 432
![Page 388: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/388.jpg)
Disjunctive logic programs
An example with variables
P =
a(1, 2) ←b(X ) ; c(Y ) ← a(X ,Y ),∼c(Y )
ground(P) =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
For every stable model X of P, we have
a(1, 2) ∈ X and
a(1, 1), a(2, 1), a(2, 2) ∩ X = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 158 / 432
![Page 389: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/389.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), b(1)We get min⊆(ground(P)X ) = a(1, 2), b(1), a(1, 2), c(2) X is a stable model of P because X ∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 159 / 432
![Page 390: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/390.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), b(1)We get min⊆(ground(P)X ) = a(1, 2), b(1), a(1, 2), c(2) X is a stable model of P because X ∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 159 / 432
![Page 391: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/391.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), b(1)We get min⊆(ground(P)X ) = a(1, 2), b(1), a(1, 2), c(2) X is a stable model of P because X ∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 159 / 432
![Page 392: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/392.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), b(1)We get min⊆(ground(P)X ) = a(1, 2), b(1), a(1, 2), c(2) X is a stable model of P because X ∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 159 / 432
![Page 393: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/393.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), b(1)We get min⊆(ground(P)X ) = a(1, 2), b(1), a(1, 2), c(2) X is a stable model of P because X ∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 159 / 432
![Page 394: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/394.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), c(2)We get min⊆(ground(P)X ) = a(1, 2) X is no stable model of P because X 6∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 160 / 432
![Page 395: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/395.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), c(2)We get min⊆(ground(P)X ) = a(1, 2) X is no stable model of P because X 6∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 160 / 432
![Page 396: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/396.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), c(2)We get min⊆(ground(P)X ) = a(1, 2) X is no stable model of P because X 6∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 160 / 432
![Page 397: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/397.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), c(2)We get min⊆(ground(P)X ) = a(1, 2) X is no stable model of P because X 6∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 160 / 432
![Page 398: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/398.jpg)
Disjunctive logic programs
An example with variables
ground(P)X =
a(1, 2) ←b(1) ; c(1) ← a(1, 1),∼c(1)b(1) ; c(2) ← a(1, 2),∼c(2)b(2) ; c(1) ← a(2, 1),∼c(1)b(2) ; c(2) ← a(2, 2),∼c(2)
Consider X = a(1, 2), c(2)We get min⊆(ground(P)X ) = a(1, 2) X is no stable model of P because X 6∈ min⊆(ground(P)X )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 160 / 432
![Page 399: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/399.jpg)
Disjunctive logic programs
Default negation in rule heads
Consider disjunctive rules of the form
a1 ; . . . ; am ;∼am+1 ; . . . ;∼an ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
where 0 ≤ m ≤ n ≤ o ≤ p and each ai is an atom for 0 ≤ i ≤ p
Given a program P over A, consider the program
P = head(r)+ ← body(r) ∪ ∼a | a ∈ head(r)− | r ∈ P∪ a← ∼a | r ∈ P and a ∈ head(r)−
A set X of atoms is a stable model of a disjunctive program P(with default negation in rule heads) over A,if X = Y ∩ A for some stable model Y of P over A ∪ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 161 / 432
![Page 400: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/400.jpg)
Disjunctive logic programs
Default negation in rule heads
Consider disjunctive rules of the form
a1 ; . . . ; am ;∼am+1 ; . . . ;∼an ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
where 0 ≤ m ≤ n ≤ o ≤ p and each ai is an atom for 0 ≤ i ≤ p
Given a program P over A, consider the program
P = head(r)+ ← body(r) ∪ ∼a | a ∈ head(r)− | r ∈ P∪ a← ∼a | r ∈ P and a ∈ head(r)−
A set X of atoms is a stable model of a disjunctive program P(with default negation in rule heads) over A,if X = Y ∩ A for some stable model Y of P over A ∪ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 161 / 432
![Page 401: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/401.jpg)
Disjunctive logic programs
Default negation in rule heads
Consider disjunctive rules of the form
a1 ; . . . ; am ;∼am+1 ; . . . ;∼an ← an+1, . . . , ao ,∼ao+1, . . . ,∼ap
where 0 ≤ m ≤ n ≤ o ≤ p and each ai is an atom for 0 ≤ i ≤ p
Given a program P over A, consider the program
P = head(r)+ ← body(r) ∪ ∼a | a ∈ head(r)− | r ∈ P∪ a← ∼a | r ∈ P and a ∈ head(r)−
A set X of atoms is a stable model of a disjunctive program P(with default negation in rule heads) over A,if X = Y ∩ A for some stable model Y of P over A ∪ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 161 / 432
![Page 402: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/402.jpg)
Disjunctive logic programs
An example
The program
P = a ; ∼a←
yields
P = a← ∼a ∪ a← ∼a
P has two stable models, a and aThis induces the stable models a and ∅ of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 162 / 432
![Page 403: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/403.jpg)
Disjunctive logic programs
An example
The program
P = a ; ∼a←
yields
P = a← ∼a ∪ a← ∼a
P has two stable models, a and aThis induces the stable models a and ∅ of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 162 / 432
![Page 404: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/404.jpg)
Disjunctive logic programs
An example
The program
P = a ; ∼a←
yields
P = a← ∼a ∪ a← ∼a
P has two stable models, a and aThis induces the stable models a and ∅ of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 162 / 432
![Page 405: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/405.jpg)
Disjunctive logic programs
An example
The program
P = a ; ∼a←
yields
P = a← ∼a ∪ a← ∼a
P has two stable models, a and aThis induces the stable models a and ∅ of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 162 / 432
![Page 406: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/406.jpg)
Propositional theories
Outline
20 Two kinds of negation
21 Disjunctive logic programs
22 Propositional theories
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 163 / 432
![Page 407: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/407.jpg)
Propositional theories
Propositional theories
Formulas are formed from
atoms in A⊥
using
conjunction (∧)disjunction (∨)implication (→)
Notation
> = (⊥ → ⊥)
∼φ = (φ→ ⊥)
A propositional theory is a finite set of formulas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 164 / 432
![Page 408: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/408.jpg)
Propositional theories
Propositional theories
Formulas are formed from
atoms in A⊥
using
conjunction (∧)disjunction (∨)implication (→)
Notation
> = (⊥ → ⊥)
∼φ = (φ→ ⊥)
A propositional theory is a finite set of formulas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 164 / 432
![Page 409: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/409.jpg)
Propositional theories
Propositional theories
Formulas are formed from
atoms in A⊥
using
conjunction (∧)disjunction (∨)implication (→)
Notation
> = (⊥ → ⊥)
∼φ = (φ→ ⊥)
A propositional theory is a finite set of formulas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 164 / 432
![Page 410: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/410.jpg)
Propositional theories
Reduct
The satisfaction relation X |= φ between a set X of atoms anda (set of) formula(s) φ is defined as in propositional logic
The reduct, φX , of a formula φ relative to a set X of atoms isdefined recursively as follows:
φX = ⊥ if X 6|= φφX = φ if φ ∈ XφX = (ψX HX ) if X |= φ and φ = (ψ H) for ∈ ∧,∨,→
If φ = ∼ψ = (ψ → ⊥),then φX = (⊥ → ⊥) = >, if X 6|= ψ, and φX = ⊥, otherwise
The reduct, ΦX , of a propositional theory Φ relative to a set X ofatoms is defined as ΦX = φX | φ ∈ Φ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 165 / 432
![Page 411: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/411.jpg)
Propositional theories
Reduct
The satisfaction relation X |= φ between a set X of atoms anda (set of) formula(s) φ is defined as in propositional logic
The reduct, φX , of a formula φ relative to a set X of atoms isdefined recursively as follows:
φX = ⊥ if X 6|= φφX = φ if φ ∈ XφX = (ψX HX ) if X |= φ and φ = (ψ H) for ∈ ∧,∨,→
If φ = ∼ψ = (ψ → ⊥),then φX = (⊥ → ⊥) = >, if X 6|= ψ, and φX = ⊥, otherwise
The reduct, ΦX , of a propositional theory Φ relative to a set X ofatoms is defined as ΦX = φX | φ ∈ Φ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 165 / 432
![Page 412: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/412.jpg)
Propositional theories
Reduct
The satisfaction relation X |= φ between a set X of atoms anda (set of) formula(s) φ is defined as in propositional logic
The reduct, φX , of a formula φ relative to a set X of atoms isdefined recursively as follows:
φX = ⊥ if X 6|= φφX = φ if φ ∈ XφX = (ψX HX ) if X |= φ and φ = (ψ H) for ∈ ∧,∨,→
If φ = ∼ψ = (ψ → ⊥),then φX = (⊥ → ⊥) = >, if X 6|= ψ, and φX = ⊥, otherwise
The reduct, ΦX , of a propositional theory Φ relative to a set X ofatoms is defined as ΦX = φX | φ ∈ Φ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 165 / 432
![Page 413: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/413.jpg)
Propositional theories
Reduct
The satisfaction relation X |= φ between a set X of atoms anda (set of) formula(s) φ is defined as in propositional logic
The reduct, φX , of a formula φ relative to a set X of atoms isdefined recursively as follows:
φX = ⊥ if X 6|= φφX = φ if φ ∈ XφX = (ψX HX ) if X |= φ and φ = (ψ H) for ∈ ∧,∨,→
If φ = ∼ψ = (ψ → ⊥),then φX = (⊥ → ⊥) = >, if X 6|= ψ, and φX = ⊥, otherwise
The reduct, ΦX , of a propositional theory Φ relative to a set X ofatoms is defined as ΦX = φX | φ ∈ Φ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 165 / 432
![Page 414: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/414.jpg)
Propositional theories
Reduct
The satisfaction relation X |= φ between a set X of atoms anda (set of) formula(s) φ is defined as in propositional logic
The reduct, φX , of a formula φ relative to a set X of atoms isdefined recursively as follows:
φX = ⊥ if X 6|= φφX = φ if φ ∈ XφX = (ψX HX ) if X |= φ and φ = (ψ H) for ∈ ∧,∨,→
If φ = ∼ψ = (ψ → ⊥),then φX = (⊥ → ⊥) = >, if X 6|= ψ, and φX = ⊥, otherwise
The reduct, ΦX , of a propositional theory Φ relative to a set X ofatoms is defined as ΦX = φX | φ ∈ Φ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 165 / 432
![Page 415: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/415.jpg)
Propositional theories
Reduct
The satisfaction relation X |= φ between a set X of atoms anda (set of) formula(s) φ is defined as in propositional logic
The reduct, φX , of a formula φ relative to a set X of atoms isdefined recursively as follows:
φX = ⊥ if X 6|= φφX = φ if φ ∈ XφX = (ψX HX ) if X |= φ and φ = (ψ H) for ∈ ∧,∨,→
If φ = ∼ψ = (ψ → ⊥),then φX = (⊥ → ⊥) = >, if X 6|= ψ, and φX = ⊥, otherwise
The reduct, ΦX , of a propositional theory Φ relative to a set X ofatoms is defined as ΦX = φX | φ ∈ Φ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 165 / 432
![Page 416: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/416.jpg)
Propositional theories
Reduct
The satisfaction relation X |= φ between a set X of atoms anda (set of) formula(s) φ is defined as in propositional logic
The reduct, φX , of a formula φ relative to a set X of atoms isdefined recursively as follows:
φX = ⊥ if X 6|= φφX = φ if φ ∈ XφX = (ψX HX ) if X |= φ and φ = (ψ H) for ∈ ∧,∨,→
If φ = ∼ψ = (ψ → ⊥),then φX = (⊥ → ⊥) = >, if X 6|= ψ, and φX = ⊥, otherwise
The reduct, ΦX , of a propositional theory Φ relative to a set X ofatoms is defined as ΦX = φX | φ ∈ Φ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 165 / 432
![Page 417: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/417.jpg)
Propositional theories
Stable models
A set X of atoms satisfies a propositional theory Φ, written X |= Φ,if X |= φ for each φ ∈ Φ
The set of all ⊆-minimal sets of atoms satisfying a propositionaltheory Φ is denoted by min⊆(Φ)
A set X of atoms is a stable model of a propositional theory Φ,if X ∈ min⊆(ΦX )
If X is a stable model of Φ, then
X |= Φ andmin⊆(ΦX ) = X
Note In general, this does not imply X ∈ min⊆(Φ)!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 166 / 432
![Page 418: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/418.jpg)
Propositional theories
Stable models
A set X of atoms satisfies a propositional theory Φ, written X |= Φ,if X |= φ for each φ ∈ Φ
The set of all ⊆-minimal sets of atoms satisfying a propositionaltheory Φ is denoted by min⊆(Φ)
A set X of atoms is a stable model of a propositional theory Φ,if X ∈ min⊆(ΦX )
If X is a stable model of Φ, then
X |= Φ andmin⊆(ΦX ) = X
Note In general, this does not imply X ∈ min⊆(Φ)!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 166 / 432
![Page 419: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/419.jpg)
Propositional theories
Stable models
A set X of atoms satisfies a propositional theory Φ, written X |= Φ,if X |= φ for each φ ∈ Φ
The set of all ⊆-minimal sets of atoms satisfying a propositionaltheory Φ is denoted by min⊆(Φ)
A set X of atoms is a stable model of a propositional theory Φ,if X ∈ min⊆(ΦX )
If X is a stable model of Φ, then
X |= Φ andmin⊆(ΦX ) = X
Note In general, this does not imply X ∈ min⊆(Φ)!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 166 / 432
![Page 420: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/420.jpg)
Propositional theories
Stable models
A set X of atoms satisfies a propositional theory Φ, written X |= Φ,if X |= φ for each φ ∈ Φ
The set of all ⊆-minimal sets of atoms satisfying a propositionaltheory Φ is denoted by min⊆(Φ)
A set X of atoms is a stable model of a propositional theory Φ,if X ∈ min⊆(ΦX )
If X is a stable model of Φ, then
X |= Φ andmin⊆(ΦX ) = X
Note In general, this does not imply X ∈ min⊆(Φ)!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 166 / 432
![Page 421: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/421.jpg)
Propositional theories
Stable models
A set X of atoms satisfies a propositional theory Φ, written X |= Φ,if X |= φ for each φ ∈ Φ
The set of all ⊆-minimal sets of atoms satisfying a propositionaltheory Φ is denoted by min⊆(Φ)
A set X of atoms is a stable model of a propositional theory Φ,if X ∈ min⊆(ΦX )
If X is a stable model of Φ, then
X |= Φ andmin⊆(ΦX ) = X
Note In general, this does not imply X ∈ min⊆(Φ)!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 166 / 432
![Page 422: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/422.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 423: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/423.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 424: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/424.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 425: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/425.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 426: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/426.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 427: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/427.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 428: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/428.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 429: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/429.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 430: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/430.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 431: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/431.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 432: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/432.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 433: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/433.jpg)
Propositional theories
Two examples
Φ1 = p ∨ (p → (q ∧ r))For X = p, q, r, we get
Φp,q,r1 = p ∨ (p → (q ∧ r)) and min⊆(Φ
p,q,r1 ) = ∅ 8
For X = ∅, we getΦ∅1 = ⊥ ∨ (⊥ → ⊥) and min⊆(Φ∅1) = ∅ 4
Φ2 = p ∨ (∼p → (q ∧ r))For X = ∅, we getΦ∅2 = ⊥ and min⊆(Φ∅2) = ∅ 8For X = p, we get
Φp2 = p ∨ (⊥ → ⊥) and min⊆(Φ
p2 ) = ∅ 8
For X = q, r, we get
Φq,r2 = ⊥ ∨ (> → (q ∧ r)) and min⊆(Φ
q,r2 ) = q, r 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 167 / 432
![Page 434: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/434.jpg)
Propositional theories
Relationship to logic programs
The translation, τ [(φ← ψ)], of a rule (φ← ψ) is defined as follows:
τ [(φ← ψ)] = (τ [ψ]→ τ [φ])τ [⊥] = ⊥τ [>] = >τ [φ] = φ if φ is an atomτ [∼φ] = ∼τ [φ]τ [(φ, ψ)] = (τ [φ] ∧ τ [ψ])τ [(φ;ψ)] = (τ [φ] ∨ τ [ψ])
The translation of a logic program P is τ [P] = τ [r ] | r ∈ P
Given a logic program P and a set X of atoms,X is a stable model of P iff X is a stable model of τ [P]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 168 / 432
![Page 435: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/435.jpg)
Propositional theories
Relationship to logic programs
The translation, τ [(φ← ψ)], of a rule (φ← ψ) is defined as follows:
τ [(φ← ψ)] = (τ [ψ]→ τ [φ])τ [⊥] = ⊥τ [>] = >τ [φ] = φ if φ is an atomτ [∼φ] = ∼τ [φ]τ [(φ, ψ)] = (τ [φ] ∧ τ [ψ])τ [(φ;ψ)] = (τ [φ] ∨ τ [ψ])
The translation of a logic program P is τ [P] = τ [r ] | r ∈ P
Given a logic program P and a set X of atoms,X is a stable model of P iff X is a stable model of τ [P]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 168 / 432
![Page 436: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/436.jpg)
Propositional theories
Relationship to logic programs
The translation, τ [(φ← ψ)], of a rule (φ← ψ) is defined as follows:
τ [(φ← ψ)] = (τ [ψ]→ τ [φ])τ [⊥] = ⊥τ [>] = >τ [φ] = φ if φ is an atomτ [∼φ] = ∼τ [φ]τ [(φ, ψ)] = (τ [φ] ∧ τ [ψ])τ [(φ;ψ)] = (τ [φ] ∨ τ [ψ])
The translation of a logic program P is τ [P] = τ [r ] | r ∈ P
Given a logic program P and a set X of atoms,X is a stable model of P iff X is a stable model of τ [P]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 168 / 432
![Page 437: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/437.jpg)
Propositional theories
Relationship to logic programs
The translation, τ [(φ← ψ)], of a rule (φ← ψ) is defined as follows:
τ [(φ← ψ)] = (τ [ψ]→ τ [φ])τ [⊥] = ⊥τ [>] = >τ [φ] = φ if φ is an atomτ [∼φ] = ∼τ [φ]τ [(φ, ψ)] = (τ [φ] ∧ τ [ψ])τ [(φ;ψ)] = (τ [φ] ∨ τ [ψ])
The translation of a logic program P is τ [P] = τ [r ] | r ∈ P
Given a logic program P and a set X of atoms,X is a stable model of P iff X is a stable model of τ [P]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 168 / 432
![Page 438: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/438.jpg)
Propositional theories
Logic programs as propositional theories
The normal logic program P = p ← ∼q, q ← ∼pcorresponds to τ [P] = ∼q → p, ∼p → q
stable models: p and q
The disjunctive logic program P = p ; q ←corresponds to τ [P] = > → p ∨ q
stable models: p and q
The nested logic program P = p ← ∼∼pcorresponds to τ [P] = ∼∼p → p
stable models: ∅ and p
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 169 / 432
![Page 439: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/439.jpg)
Propositional theories
Logic programs as propositional theories
The normal logic program P = p ← ∼q, q ← ∼pcorresponds to τ [P] = ∼q → p, ∼p → q
stable models: p and q
The disjunctive logic program P = p ; q ←corresponds to τ [P] = > → p ∨ q
stable models: p and q
The nested logic program P = p ← ∼∼pcorresponds to τ [P] = ∼∼p → p
stable models: ∅ and p
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 169 / 432
![Page 440: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/440.jpg)
Propositional theories
Logic programs as propositional theories
The normal logic program P = p ← ∼q, q ← ∼pcorresponds to τ [P] = ∼q → p, ∼p → q
stable models: p and q
The disjunctive logic program P = p ; q ←corresponds to τ [P] = > → p ∨ q
stable models: p and q
The nested logic program P = p ← ∼∼pcorresponds to τ [P] = ∼∼p → p
stable models: ∅ and p
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 169 / 432
![Page 441: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/441.jpg)
Propositional theories
Logic programs as propositional theories
The normal logic program P = p ← ∼q, q ← ∼pcorresponds to τ [P] = ∼q → p, ∼p → q
stable models: p and q
The disjunctive logic program P = p ; q ←corresponds to τ [P] = > → p ∨ q
stable models: p and q
The nested logic program P = p ← ∼∼pcorresponds to τ [P] = ∼∼p → p
stable models: ∅ and p
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 169 / 432
![Page 442: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/442.jpg)
Propositional theories
Logic programs as propositional theories
The normal logic program P = p ← ∼q, q ← ∼pcorresponds to τ [P] = ∼q → p, ∼p → q
stable models: p and q
The disjunctive logic program P = p ; q ←corresponds to τ [P] = > → p ∨ q
stable models: p and q
The nested logic program P = p ← ∼∼pcorresponds to τ [P] = ∼∼p → p
stable models: ∅ and p
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 169 / 432
![Page 443: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/443.jpg)
Propositional theories
Logic programs as propositional theories
The normal logic program P = p ← ∼q, q ← ∼pcorresponds to τ [P] = ∼q → p, ∼p → q
stable models: p and q
The disjunctive logic program P = p ; q ←corresponds to τ [P] = > → p ∨ q
stable models: p and q
The nested logic program P = p ← ∼∼pcorresponds to τ [P] = ∼∼p → p
stable models: ∅ and p
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 169 / 432
![Page 444: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/444.jpg)
Grounding: Overview
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 170 / 432
![Page 445: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/445.jpg)
Grounding by example
d(a)d(c)d(d)
p(a, b)p(b, c)p(c , d)p(X ,Z )← p(X ,Y ), p(Y ,Z )
q(a)q(b)q(X )← ∼r(X ), d(X )
r(X )← ∼q(X ), d(X )s(X )← ∼r(X ), p(X ,Y ), q(Y )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 171 / 432
![Page 446: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/446.jpg)
Grounding by example
Safe ?d(a)d(c)d(d)
p(a, b)p(b, c)p(c , d)p(X ,Z )← p(X ,Y ), p(Y ,Z )
q(a)q(b)q(X )← ∼r(X ), d(X )
r(X )← ∼q(X ), d(X )s(X )← ∼r(X ), p(X ,Y ), q(Y )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 171 / 432
![Page 447: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/447.jpg)
Grounding by example
Safe ?d(a) 4
d(c) 4
d(d) 4
p(a, b) 4
p(b, c) 4
p(c , d) 4
p(X ,Z )← p(X ,Y ), p(Y ,Z )
q(a) 4
q(b) 4
q(X )← ∼r(X ), d(X )
r(X )← ∼q(X ), d(X )s(X )← ∼r(X ), p(X ,Y ), q(Y )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 171 / 432
![Page 448: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/448.jpg)
Grounding by example
Safe ?d(a) 4
d(c) 4
d(d) 4
p(a, b) 4
p(b, c) 4
p(c , d) 4
p(X ,Z )← p(X ,Y ), p(Y ,Z )
q(a) 4
q(b) 4
q(X )← ∼r(X ), d(X )
r(X )← ∼q(X ), d(X )s(X )← ∼r(X ), p(X ,Y ), q(Y )
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 171 / 432
![Page 449: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/449.jpg)
Grounding by example
Safe ?d(a) 4
d(c) 4
d(d) 4
p(a, b) 4
p(b, c) 4
p(c , d) 4
p(X ,Z )← p(X ,Y ), p(Y ,Z ) 4
q(a) 4
q(b) 4
q(X )← ∼r(X ), d(X ) 4
r(X )← ∼q(X ), d(X ) 4
s(X )← ∼r(X ), p(X ,Y ), q(Y ) 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 171 / 432
![Page 450: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/450.jpg)
Match
A substitution is a mapping from variables to terms
Given sets B and D of atoms, a substitution θ is a match of B in D,if Bθ ⊆ D
Given a set B of atoms and a set D of ground atoms, define
Θ(B,D) = θ | θ is a ⊆-minimal match of B in D
Example X 7→ 1 and X 7→ 2 are ⊆-minimal matches of p(X )in p(1), p(2), p(3), while match X 7→ 1,Y 7→ 2 is not
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 172 / 432
![Page 451: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/451.jpg)
Match
A substitution is a mapping from variables to terms
Given sets B and D of atoms, a substitution θ is a match of B in D,if Bθ ⊆ D
Given a set B of atoms and a set D of ground atoms, define
Θ(B,D) = θ | θ is a ⊆-minimal match of B in D
Example X 7→ 1 and X 7→ 2 are ⊆-minimal matches of p(X )in p(1), p(2), p(3), while match X 7→ 1,Y 7→ 2 is not
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 172 / 432
![Page 452: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/452.jpg)
Match
A substitution is a mapping from variables to terms
Given sets B and D of atoms, a substitution θ is a match of B in D,if Bθ ⊆ D
Given a set B of atoms and a set D of ground atoms, define
Θ(B,D) = θ | θ is a ⊆-minimal match of B in D
Example X 7→ 1 and X 7→ 2 are ⊆-minimal matches of p(X )in p(1), p(2), p(3), while match X 7→ 1,Y 7→ 2 is not
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 172 / 432
![Page 453: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/453.jpg)
Match
A substitution is a mapping from variables to terms
Given sets B and D of atoms, a substitution θ is a match of B in D,if Bθ ⊆ D
Given a set B of atoms and a set D of ground atoms, define
Θ(B,D) = θ | θ is a ⊆-minimal match of B in D
Example X 7→ 1 and X 7→ 2 are ⊆-minimal matches of p(X )in p(1), p(2), p(3), while match X 7→ 1,Y 7→ 2 is not
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 172 / 432
![Page 454: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/454.jpg)
Naive instantiation
Algorithm 1: NaiveInstantiation
Input : A safe (first-order) logic program POutput : A ground logic program P ′
D := ∅P ′ := ∅repeat
D ′ := Dforeach r ∈ P do
B := body(r)+
foreach θ ∈ Θ(B,D) doD := D ∪ head(r)θP ′ := P ′ ∪ rθ
until D = D ′
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 173 / 432
![Page 455: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/455.jpg)
Predicate-rule dependency graph
d(a) d(c) q(a) q(b)
d(d) d/1 q(X )← ∼r(X ), d(X ) q/1
p(a, b) p(b, c) r(X )← ∼q(X ), d(X )
p(c, d) p/2 r/1
p(X ,Z)← p(X ,Y ), p(Y ,Z) s(X )← ∼r(X ), p(X ,Y ), q(Y ) s/1
1 2
34
5 6
7
8 9
10
11 12 13
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 174 / 432
![Page 456: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/456.jpg)
Instantiation
SCC Θ(B,D) D P ′
1 ∅ d(a) d(a)←2 ∅ d(c) d(c)←3 ∅ d(d) d(d)←5 ∅ q(a) q(a)←6 ∅ q(b) q(b)←7 X 7→ a, q(a)← ∼r(a), d(a)
X 7→ c, q(c) q(c)← ∼r(c), d(c)X 7→ d, q(d) q(d)← ∼r(d), d(d)X 7→ a, r(a)← ∼q(a), d(a)X 7→ c, r(c) r(c)← ∼q(c), d(c)X 7→ d r(d) r(d)← ∼q(d), d(d)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 175 / 432
![Page 457: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/457.jpg)
Instantiation
SCC Θ(B,D) D P ′
8 ∅ p(a, b) p(a, b)←9 ∅ p(b, c) p(b, c)←
10 ∅ p(c , d) p(c , d)←11 X 7→ a,Y 7→ b,Z 7→ c, p(a, c) p(a, c)← p(a, b), p(b, c)
X 7→ b,Y 7→ c ,Z 7→ d p(b, d) p(b, d)← p(b, c), p(c , d)X 7→ a,Y 7→ c ,Z 7→ d, p(a, d) p(a, d)← p(a, c), p(c , d)X 7→ a,Y 7→ b,Z 7→ d p(a, d)← p(a, b), p(b, d)
12 X 7→ a,Y 7→ b, s(a) s(a)← ∼r(a), p(a, b), q(b)X 7→ a,Y 7→ c, s(a)← ∼r(a), p(a, c), q(c)X 7→ a,Y 7→ d, s(a)← ∼r(a), p(a, d), q(d)X 7→ b,Y 7→ c, s(b) s(b)← ∼r(b), p(b, c), q(c)X 7→ b,Y 7→ d, s(b)← ∼r(b), p(b, d), q(d)X 7→ c ,Y 7→ d s(c) s(c)← ∼r(c), p(c , d), q(d)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 176 / 432
![Page 458: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/458.jpg)
Computational Aspects: Overview
23 Consequence operator
24 Computation from first principles
25 Complexity
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 177 / 432
![Page 459: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/459.jpg)
Consequence operator
Outline
23 Consequence operator
24 Computation from first principles
25 Complexity
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 178 / 432
![Page 460: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/460.jpg)
Consequence operator
Consequence operator
Let P be a positive program and X a set of atoms
The consequence operator TP is defined as follows:
TP X = head(r) | r ∈ P and body(r) ⊆ X
Iterated applications of TP are written as T jP for j ≥ 0,
where
T 0P X = X and
T iP X = TP T i−1
P X for i ≥ 1
For any positive program P, we have
Cn(P) =⋃
i≥0 T iP∅
X ⊆ Y implies TP X ⊆ TP Y
Cn(P) is the smallest fixpoint of TP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 179 / 432
![Page 461: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/461.jpg)
Consequence operator
Consequence operator
Let P be a positive program and X a set of atoms
The consequence operator TP is defined as follows:
TP X = head(r) | r ∈ P and body(r) ⊆ X
Iterated applications of TP are written as T jP for j ≥ 0,
where
T 0P X = X and
T iP X = TP T i−1
P X for i ≥ 1
For any positive program P, we have
Cn(P) =⋃
i≥0 T iP∅
X ⊆ Y implies TP X ⊆ TP Y
Cn(P) is the smallest fixpoint of TP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 179 / 432
![Page 462: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/462.jpg)
Consequence operator
Consequence operator
Let P be a positive program and X a set of atoms
The consequence operator TP is defined as follows:
TP X = head(r) | r ∈ P and body(r) ⊆ X
Iterated applications of TP are written as T jP for j ≥ 0,
where
T 0P X = X and
T iP X = TP T i−1
P X for i ≥ 1
For any positive program P, we have
Cn(P) =⋃
i≥0 T iP∅
X ⊆ Y implies TP X ⊆ TP Y
Cn(P) is the smallest fixpoint of TP
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 179 / 432
![Page 463: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/463.jpg)
Consequence operator
An example
Consider the program
P = p ←, q ←, r ← p, s ← q, t, t ← r , u ← v
We get
T 0P∅ = ∅
T 1P∅ = p, q = TPT 0
P∅ = TP∅T 2
P∅ = p, q, r = TPT 1P∅ = TPp, q
T 3P∅ = p, q, r , t = TPT 2
P∅ = TPp, q, rT 4
P∅ = p, q, r , t, s = TPT 3P∅ = TPp, q, r , t
T 5P∅ = p, q, r , t, s = TPT 4
P∅ = TPp, q, r , t, sT 6
P∅ = p, q, r , t, s = TPT 5P∅ = TPp, q, r , t, s
Cn(P) = p, q, r , t, s is the smallest fixpoint of TP becauseTPp, q, r , t, s = p, q, r , t, s andTP X 6= X for each X ⊂ p, q, r , t, s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 180 / 432
![Page 464: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/464.jpg)
Consequence operator
An example
Consider the program
P = p ←, q ←, r ← p, s ← q, t, t ← r , u ← v
We get
T 0P∅ = ∅
T 1P∅ = p, q = TPT 0
P∅ = TP∅T 2
P∅ = p, q, r = TPT 1P∅ = TPp, q
T 3P∅ = p, q, r , t = TPT 2
P∅ = TPp, q, rT 4
P∅ = p, q, r , t, s = TPT 3P∅ = TPp, q, r , t
T 5P∅ = p, q, r , t, s = TPT 4
P∅ = TPp, q, r , t, sT 6
P∅ = p, q, r , t, s = TPT 5P∅ = TPp, q, r , t, s
Cn(P) = p, q, r , t, s is the smallest fixpoint of TP becauseTPp, q, r , t, s = p, q, r , t, s andTP X 6= X for each X ⊂ p, q, r , t, s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 180 / 432
![Page 465: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/465.jpg)
Consequence operator
An example
Consider the program
P = p ←, q ←, r ← p, s ← q, t, t ← r , u ← v
We get
T 0P∅ = ∅
T 1P∅ = p, q = TPT 0
P∅ = TP∅T 2
P∅ = p, q, r = TPT 1P∅ = TPp, q
T 3P∅ = p, q, r , t = TPT 2
P∅ = TPp, q, rT 4
P∅ = p, q, r , t, s = TPT 3P∅ = TPp, q, r , t
T 5P∅ = p, q, r , t, s = TPT 4
P∅ = TPp, q, r , t, sT 6
P∅ = p, q, r , t, s = TPT 5P∅ = TPp, q, r , t, s
Cn(P) = p, q, r , t, s is the smallest fixpoint of TP becauseTPp, q, r , t, s = p, q, r , t, s andTP X 6= X for each X ⊂ p, q, r , t, s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 180 / 432
![Page 466: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/466.jpg)
Computation from first principles
Outline
23 Consequence operator
24 Computation from first principles
25 Complexity
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 181 / 432
![Page 467: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/467.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 468: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/468.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 469: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/469.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 470: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/470.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 471: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/471.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 472: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/472.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 473: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/473.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 474: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/474.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 475: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/475.jpg)
Computation from first principles
Approximating stable models
First Idea Approximate a stable model X by two sets of atomsL and U such that L ⊆ X ⊆ U
L and U constitute lower and upper bounds on XL and (A \ U) describe a three-valued model of the program
Observation
X ⊆ Y implies PY ⊆ PX implies Cn(PY ) ⊆ Cn(PX )
Properties Let X be a stable model of normal logic program P
If L ⊆ X , then X ⊆ Cn(PL)
If X ⊆ U, then Cn(PU ) ⊆ X
If L ⊆ X ⊆ U, then L ∪ Cn(PU ) ⊆ X ⊆ U ∩ Cn(PL)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 182 / 432
![Page 476: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/476.jpg)
Computation from first principles
Approximating stable models
Second Idea
repeatreplace L by L ∪ Cn(PU )replace U by U ∩ Cn(PL)
until L and U do not change anymore
ObservationsAt each iteration step
L becomes larger (or equal)U becomes smaller (or equal)
L ⊆ X ⊆ U is invariant for every stable model X of P
If L 6⊆ U, then P has no stable model
If L = U, then L is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 183 / 432
![Page 477: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/477.jpg)
Computation from first principles
Approximating stable models
Second Idea
repeatreplace L by L ∪ Cn(PU )replace U by U ∩ Cn(PL)
until L and U do not change anymore
ObservationsAt each iteration step
L becomes larger (or equal)U becomes smaller (or equal)
L ⊆ X ⊆ U is invariant for every stable model X of P
If L 6⊆ U, then P has no stable model
If L = U, then L is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 183 / 432
![Page 478: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/478.jpg)
Computation from first principles
Approximating stable models
Second Idea
repeatreplace L by L ∪ Cn(PU )replace U by U ∩ Cn(PL)
until L and U do not change anymore
ObservationsAt each iteration step
L becomes larger (or equal)U becomes smaller (or equal)
L ⊆ X ⊆ U is invariant for every stable model X of P
If L 6⊆ U, then P has no stable model
If L = U, then L is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 183 / 432
![Page 479: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/479.jpg)
Computation from first principles
Approximating stable models
Second Idea
repeatreplace L by L ∪ Cn(PU )replace U by U ∩ Cn(PL)
until L and U do not change anymore
ObservationsAt each iteration step
L becomes larger (or equal)U becomes smaller (or equal)
L ⊆ X ⊆ U is invariant for every stable model X of P
If L 6⊆ U, then P has no stable model
If L = U, then L is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 183 / 432
![Page 480: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/480.jpg)
Computation from first principles
The simplistic expand algorithm
expandP(L,U)repeat
L′ ← LU ′ ← U
L← L′ ∪ Cn(PU′)U ← U ′ ∩ Cn(PL′)
if L 6⊆ U then return
until L = L′ and U = U ′
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 184 / 432
![Page 481: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/481.jpg)
Computation from first principles
An example
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 ∅ a a a, b, c , d , e a, b, d , e a, b, d , e2 a a, b a, b a, b, d , e a, b, d , e a, b, d , e3 a, b a, b a, b a, b, d , e a, b, d , e a, b, d , e
Note We have a, b ⊆ X and (A \ a, b, d , e) ∩ X = (c ∩ X ) = ∅for every stable model X of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 185 / 432
![Page 482: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/482.jpg)
Computation from first principles
An example
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 ∅ a a a, b, c , d , e a, b, d , e a, b, d , e2 a a, b a, b a, b, d , e a, b, d , e a, b, d , e3 a, b a, b a, b a, b, d , e a, b, d , e a, b, d , e
Note We have a, b ⊆ X and (A \ a, b, d , e) ∩ X = (c ∩ X ) = ∅for every stable model X of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 185 / 432
![Page 483: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/483.jpg)
Computation from first principles
An example
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 ∅ a a a, b, c , d , e a, b, d , e a, b, d , e2 a a, b a, b a, b, d , e a, b, d , e a, b, d , e3 a, b a, b a, b a, b, d , e a, b, d , e a, b, d , e
Note We have a, b ⊆ X and (A \ a, b, d , e) ∩ X = (c ∩ X ) = ∅for every stable model X of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 185 / 432
![Page 484: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/484.jpg)
Computation from first principles
The simplistic expand algorithm
expandP
tightens the approximation on stable modelsis stable model preserving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 186 / 432
![Page 485: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/485.jpg)
Computation from first principles
Let’s expand with d !
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 d a a, d a, b, c , d , e a, b, d a, b, d2 a, d a, b, d a, b, d a, b, d a, b, d a, b, d3 a, b, d a, b, d a, b, d a, b, d a, b, d a, b, d
Note a, b, d is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 187 / 432
![Page 486: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/486.jpg)
Computation from first principles
Let’s expand with d !
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 d a a, d a, b, c , d , e a, b, d a, b, d2 a, d a, b, d a, b, d a, b, d a, b, d a, b, d3 a, b, d a, b, d a, b, d a, b, d a, b, d a, b, d
Note a, b, d is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 187 / 432
![Page 487: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/487.jpg)
Computation from first principles
Let’s expand with d !
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 d a a, d a, b, c , d , e a, b, d a, b, d2 a, d a, b, d a, b, d a, b, d a, b, d a, b, d3 a, b, d a, b, d a, b, d a, b, d a, b, d a, b, d
Note a, b, d is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 187 / 432
![Page 488: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/488.jpg)
Computation from first principles
Let’s expand with ∼d !
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 ∅ a, e a, e a, b, c , e a, b, d , e a, b, e2 a, e a, b, e a, b, e a, b, e a, b, e a, b, e3 a, b, e a, b, e a, b, e a, b, e a, b, e a, b, e
Note a, b, e is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 188 / 432
![Page 489: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/489.jpg)
Computation from first principles
Let’s expand with ∼d !
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 ∅ a, e a, e a, b, c , e a, b, d , e a, b, e2 a, e a, b, e a, b, e a, b, e a, b, e a, b, e3 a, b, e a, b, e a, b, e a, b, e a, b, e a, b, e
Note a, b, e is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 188 / 432
![Page 490: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/490.jpg)
Computation from first principles
Let’s expand with ∼d !
P =
a←b ← a,∼cd ← b,∼ee ← ∼d
L′ Cn(PU′) L U ′ Cn(PL′) U
1 ∅ a, e a, e a, b, c , e a, b, d , e a, b, e2 a, e a, b, e a, b, e a, b, e a, b, e a, b, e3 a, b, e a, b, e a, b, e a, b, e a, b, e a, b, e
Note a, b, e is a stable model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 188 / 432
![Page 491: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/491.jpg)
Computation from first principles
A simplistic solving algorithm
solveP(L,U)
(L,U)← expandP(L,U) // propagation
if L 6⊆ U then failure // failure
if L = U then output L // success
else choose a ∈ U \ L // choice
solveP(L ∪ a,U)
solveP(L,U \ a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 189 / 432
![Page 492: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/492.jpg)
Computation from first principles
A simplistic solving algorithm
Close to the approach taken by the ASP solver smodels, inspired bythe Davis-Putman-Logemann-Loveland (DPLL) procedure
Backtracking search building a binary search treeA node in the search tree corresponds to a three-valued interpretation
The search space is pruned by
deriving deterministic consequences and detecting conflicts (expand)making one choice at a time by appeal to a heuristic (choose)
Heuristic choices are made on atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 190 / 432
![Page 493: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/493.jpg)
Computation from first principles
A simplistic solving algorithm
Close to the approach taken by the ASP solver smodels, inspired bythe Davis-Putman-Logemann-Loveland (DPLL) procedure
Backtracking search building a binary search treeA node in the search tree corresponds to a three-valued interpretation
The search space is pruned by
deriving deterministic consequences and detecting conflicts (expand)making one choice at a time by appeal to a heuristic (choose)
Heuristic choices are made on atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 190 / 432
![Page 494: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/494.jpg)
Computation from first principles
A simplistic solving algorithm
Close to the approach taken by the ASP solver smodels, inspired bythe Davis-Putman-Logemann-Loveland (DPLL) procedure
Backtracking search building a binary search treeA node in the search tree corresponds to a three-valued interpretation
The search space is pruned by
deriving deterministic consequences and detecting conflicts (expand)making one choice at a time by appeal to a heuristic (choose)
Heuristic choices are made on atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 190 / 432
![Page 495: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/495.jpg)
Computation from first principles
A simplistic solving algorithm
Close to the approach taken by the ASP solver smodels, inspired bythe Davis-Putman-Logemann-Loveland (DPLL) procedure
Backtracking search building a binary search treeA node in the search tree corresponds to a three-valued interpretation
The search space is pruned by
deriving deterministic consequences and detecting conflicts (expand)making one choice at a time by appeal to a heuristic (choose)
Heuristic choices are made on atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 190 / 432
![Page 496: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/496.jpg)
Complexity
Outline
23 Consequence operator
24 Computation from first principles
25 Complexity
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 191 / 432
![Page 497: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/497.jpg)
Complexity
Complexity
Let a be an atom and X be a set of atoms
For a positive normal logic program P:
Deciding whether X is the stable model of P is P-completeDeciding whether a is in the stable model of P is P-complete
For a normal logic program P:
Deciding whether X is a stable model of P is P-completeDeciding whether a is in a stable model of P is NP-complete
For a normal logic program P with optimization statements:
Deciding whether X is an optimal stable model of P is co-NP-completeDeciding whether a is in an optimal stable model of P is ∆p
2-complete
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 192 / 432
![Page 498: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/498.jpg)
Complexity
Complexity
Let a be an atom and X be a set of atoms
For a positive normal logic program P:
Deciding whether X is the stable model of P is P-completeDeciding whether a is in the stable model of P is P-complete
For a normal logic program P:
Deciding whether X is a stable model of P is P-completeDeciding whether a is in a stable model of P is NP-complete
For a normal logic program P with optimization statements:
Deciding whether X is an optimal stable model of P is co-NP-completeDeciding whether a is in an optimal stable model of P is ∆p
2-complete
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 192 / 432
![Page 499: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/499.jpg)
Complexity
Complexity
Let a be an atom and X be a set of atoms
For a positive normal logic program P:
Deciding whether X is the stable model of P is P-completeDeciding whether a is in the stable model of P is P-complete
For a normal logic program P:
Deciding whether X is a stable model of P is P-completeDeciding whether a is in a stable model of P is NP-complete
For a normal logic program P with optimization statements:
Deciding whether X is an optimal stable model of P is co-NP-completeDeciding whether a is in an optimal stable model of P is ∆p
2-complete
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 192 / 432
![Page 500: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/500.jpg)
Complexity
Complexity
Let a be an atom and X be a set of atoms
For a positive normal logic program P:
Deciding whether X is the stable model of P is P-completeDeciding whether a is in the stable model of P is P-complete
For a normal logic program P:
Deciding whether X is a stable model of P is P-completeDeciding whether a is in a stable model of P is NP-complete
For a normal logic program P with optimization statements:
Deciding whether X is an optimal stable model of P is co-NP-completeDeciding whether a is in an optimal stable model of P is ∆p
2-complete
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 192 / 432
![Page 501: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/501.jpg)
Complexity
Complexity
Let a be an atom and X be a set of atoms
For a positive disjunctive logic program P:
Deciding whether X is a stable model of P is co-NP-completeDeciding whether a is in a stable model of P is NPNP -complete
For a disjunctive logic program P:
Deciding whether X is a stable model of P is co-NP-completeDeciding whether a is in a stable model of P is NPNP -complete
For a disjunctive logic program P with optimization statements:
Deciding whether X is an optimal stable model of P isco-NPNP -completeDeciding whether a is in an optimal stable model of P is ∆p
3-complete
For a propositional theory Φ:
Deciding whether X is a stable model of Φ is co-NP-completeDeciding whether a is in a stable model of Φ is NPNP -complete
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 193 / 432
![Page 502: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/502.jpg)
Complexity
Complexity
Let a be an atom and X be a set of atoms
For a positive disjunctive logic program P:
Deciding whether X is a stable model of P is co-NP-completeDeciding whether a is in a stable model of P is NPNP -complete
For a disjunctive logic program P:
Deciding whether X is a stable model of P is co-NP-completeDeciding whether a is in a stable model of P is NPNP -complete
For a disjunctive logic program P with optimization statements:
Deciding whether X is an optimal stable model of P isco-NPNP -completeDeciding whether a is in an optimal stable model of P is ∆p
3-complete
For a propositional theory Φ:
Deciding whether X is a stable model of Φ is co-NP-completeDeciding whether a is in a stable model of Φ is NPNP -complete
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 193 / 432
![Page 503: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/503.jpg)
Axiomatic Characterization: Overview
26 Completion
27 Tightness
28 Loops and Loop Formulas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 194 / 432
![Page 504: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/504.jpg)
Completion
Outline
26 Completion
27 Tightness
28 Loops and Loop Formulas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 195 / 432
![Page 505: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/505.jpg)
Completion
Motivation
Question Is there a propositional formula F (P) such that the modelsof F (P) correspond to the stable models of P ?
Observation Although each atom is defined through a set of rules,each such rule provides only a sufficient condition for its head atom
Idea The idea of program completion is to turn such implications intoa definition by adding the corresponding necessary counterpart
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 196 / 432
![Page 506: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/506.jpg)
Completion
Motivation
Question Is there a propositional formula F (P) such that the modelsof F (P) correspond to the stable models of P ?
Observation Although each atom is defined through a set of rules,each such rule provides only a sufficient condition for its head atom
Idea The idea of program completion is to turn such implications intoa definition by adding the corresponding necessary counterpart
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 196 / 432
![Page 507: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/507.jpg)
Completion
Motivation
Question Is there a propositional formula F (P) such that the modelsof F (P) correspond to the stable models of P ?
Observation Although each atom is defined through a set of rules,each such rule provides only a sufficient condition for its head atom
Idea The idea of program completion is to turn such implications intoa definition by adding the corresponding necessary counterpart
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 196 / 432
![Page 508: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/508.jpg)
Completion
Program completion
Let P be a normal logic program
The completion CF (P) of P is defined as follows
CF (P) =
a↔∨
r∈P,head(r)=aBF (body(r)) | a ∈ atom(P)
where
BF (body(r)) =∧
a∈body(r)+a ∧∧
a∈body(r)−¬a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 197 / 432
![Page 509: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/509.jpg)
Completion
An example
P =
a←b ← ∼ac ← a,∼dd ← ∼c,∼ee ← b,∼fe ← e
CF (P) =
a↔ >b ↔ ¬ac ↔ a ∧ ¬dd ↔ ¬c ∧ ¬ee ↔ (b ∧ ¬f ) ∨ ef ↔ ⊥
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 198 / 432
![Page 510: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/510.jpg)
Completion
An example
P =
a←b ← ∼ac ← a,∼dd ← ∼c,∼ee ← b,∼fe ← e
CF (P) =
a↔ >b ↔ ¬ac ↔ a ∧ ¬dd ↔ ¬c ∧ ¬ee ↔ (b ∧ ¬f ) ∨ ef ↔ ⊥
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 198 / 432
![Page 511: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/511.jpg)
Completion
A closer look
CF (P) is logically equivalent to←−CF (P) ∪
−→CF (P), where
←−CF (P) =
a←
∨B∈bodyP (a)BF (B) | a ∈ atom(P)
−→CF (P) =
a→
∨B∈bodyP (a)BF (B) | a ∈ atom(P)
body P(a) = body(r) | r ∈ P and head(r) = a
←−CF (P) characterizes the classical models of P−→CF (P) completes P by adding necessary conditions for all atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 199 / 432
![Page 512: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/512.jpg)
Completion
A closer look
CF (P) is logically equivalent to←−CF (P) ∪
−→CF (P), where
←−CF (P) =
a←
∨B∈bodyP (a)BF (B) | a ∈ atom(P)
−→CF (P) =
a→
∨B∈bodyP (a)BF (B) | a ∈ atom(P)
body P(a) = body(r) | r ∈ P and head(r) = a
←−CF (P) characterizes the classical models of P−→CF (P) completes P by adding necessary conditions for all atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 199 / 432
![Page 513: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/513.jpg)
Completion
A closer look
P =
a←b ← ∼ac ← a,∼dd ← ∼c,∼ee ← b,∼fe ← e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 200 / 432
![Page 514: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/514.jpg)
Completion
A closer look
P =
a←b ← ∼ac ← a,∼dd ← ∼c,∼ee ← b,∼fe ← e
←−CF (P) =
a← >b ← ¬ac ← a ∧ ¬dd ← ¬c ∧ ¬ee ← (b ∧ ¬f ) ∨ ef ← ⊥
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 200 / 432
![Page 515: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/515.jpg)
Completion
A closer look
←−CF (P) =
a← >b ← ¬ac ← a ∧ ¬dd ← ¬c ∧ ¬ee ← (b ∧ ¬f ) ∨ ef ← ⊥
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 200 / 432
![Page 516: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/516.jpg)
Completion
A closer look
←−CF (P) =
a← >b ← ¬ac ← a ∧ ¬dd ← ¬c ∧ ¬ee ← (b ∧ ¬f ) ∨ ef ← ⊥
a→ >b → ¬ac → a ∧ ¬dd → ¬c ∧ ¬ee → (b ∧ ¬f ) ∨ ef → ⊥
=−→CF (P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 200 / 432
![Page 517: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/517.jpg)
Completion
A closer look
←−CF (P) =
a← >b ← ¬ac ← a ∧ ¬dd ← ¬c ∧ ¬ee ← (b ∧ ¬f ) ∨ ef ← ⊥
a→ >b → ¬ac → a ∧ ¬dd → ¬c ∧ ¬ee → (b ∧ ¬f ) ∨ ef → ⊥
=−→CF (P)
CF (P) =
a↔ >b ↔ ¬ac ↔ a ∧ ¬dd ↔ ¬c ∧ ¬ee ↔ (b ∧ ¬f ) ∨ ef ↔ ⊥
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 200 / 432
![Page 518: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/518.jpg)
Completion
A closer look
←−CF (P) =
a← >b ← ¬ac ← a ∧ ¬dd ← ¬c ∧ ¬ee ← (b ∧ ¬f ) ∨ ef ← ⊥
a→ >b → ¬ac → a ∧ ¬dd → ¬c ∧ ¬ee → (b ∧ ¬f ) ∨ ef → ⊥
=−→CF (P)
CF (P) =
a↔ >b ↔ ¬ac ↔ a ∧ ¬dd ↔ ¬c ∧ ¬ee ↔ (b ∧ ¬f ) ∨ ef ↔ ⊥
≡
←−CF (P) ∪
−→CF (P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 200 / 432
![Page 519: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/519.jpg)
Completion
Supported models
Every stable model of P is a model of CF (P), but not vice versa
Models of CF (P) are called the supported models of P
In other words, every stable model of P is a supported model of P
By definition, every supported model of P is also a model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 201 / 432
![Page 520: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/520.jpg)
Completion
Supported models
Every stable model of P is a model of CF (P), but not vice versa
Models of CF (P) are called the supported models of P
In other words, every stable model of P is a supported model of P
By definition, every supported model of P is also a model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 201 / 432
![Page 521: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/521.jpg)
Completion
Supported models
Every stable model of P is a model of CF (P), but not vice versa
Models of CF (P) are called the supported models of P
In other words, every stable model of P is a supported model of P
By definition, every supported model of P is also a model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 201 / 432
![Page 522: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/522.jpg)
Completion
Supported models
Every stable model of P is a model of CF (P), but not vice versa
Models of CF (P) are called the supported models of P
In other words, every stable model of P is a supported model of P
By definition, every supported model of P is also a model of P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 201 / 432
![Page 523: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/523.jpg)
Completion
An example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has 21 models, including a, c, a, d, but also a, b, c , d , e, f P has 3 supported models, namely a, c, a, d, and a, c , eP has 2 stable models, namely a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 202 / 432
![Page 524: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/524.jpg)
Completion
An example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has 21 models, including a, c, a, d, but also a, b, c , d , e, f P has 3 supported models, namely a, c, a, d, and a, c , eP has 2 stable models, namely a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 202 / 432
![Page 525: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/525.jpg)
Completion
An example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has 21 models, including a, c, a, d, but also a, b, c , d , e, f P has 3 supported models, namely a, c, a, d, and a, c , eP has 2 stable models, namely a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 202 / 432
![Page 526: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/526.jpg)
Completion
An example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has 21 models, including a, c, a, d, but also a, b, c , d , e, f P has 3 supported models, namely a, c, a, d, and a, c , eP has 2 stable models, namely a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 202 / 432
![Page 527: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/527.jpg)
Tightness
Outline
26 Completion
27 Tightness
28 Loops and Loop Formulas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 203 / 432
![Page 528: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/528.jpg)
Tightness
The mismatch
Question What causes the mismatch between supported models andstable models?
Hint Consider the unstable yet supported model a, c , e of P !
Answer Cyclic derivations are causing the mismatch betweensupported and stable models
Atoms in a stable model can be “derived” from a program in a finitenumber of stepsAtoms in a cycle (not being “supported from outside the cycle”)cannot be “derived” from a program in a finite number of stepsNote But such atoms do not contradict the completion of a programand do thus not eliminate an unstable supported model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 204 / 432
![Page 529: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/529.jpg)
Tightness
The mismatch
Question What causes the mismatch between supported models andstable models?
Hint Consider the unstable yet supported model a, c , e of P !
Answer Cyclic derivations are causing the mismatch betweensupported and stable models
Atoms in a stable model can be “derived” from a program in a finitenumber of stepsAtoms in a cycle (not being “supported from outside the cycle”)cannot be “derived” from a program in a finite number of stepsNote But such atoms do not contradict the completion of a programand do thus not eliminate an unstable supported model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 204 / 432
![Page 530: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/530.jpg)
Tightness
The mismatch
Question What causes the mismatch between supported models andstable models?
Hint Consider the unstable yet supported model a, c , e of P !
Answer Cyclic derivations are causing the mismatch betweensupported and stable models
Atoms in a stable model can be “derived” from a program in a finitenumber of stepsAtoms in a cycle (not being “supported from outside the cycle”)cannot be “derived” from a program in a finite number of stepsNote But such atoms do not contradict the completion of a programand do thus not eliminate an unstable supported model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 204 / 432
![Page 531: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/531.jpg)
Tightness
The mismatch
Question What causes the mismatch between supported models andstable models?
Hint Consider the unstable yet supported model a, c , e of P !
Answer Cyclic derivations are causing the mismatch betweensupported and stable models
Atoms in a stable model can be “derived” from a program in a finitenumber of stepsAtoms in a cycle (not being “supported from outside the cycle”)cannot be “derived” from a program in a finite number of stepsNote But such atoms do not contradict the completion of a programand do thus not eliminate an unstable supported model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 204 / 432
![Page 532: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/532.jpg)
Tightness
The mismatch
Question What causes the mismatch between supported models andstable models?
Hint Consider the unstable yet supported model a, c , e of P !
Answer Cyclic derivations are causing the mismatch betweensupported and stable models
Atoms in a stable model can be “derived” from a program in a finitenumber of stepsAtoms in a cycle (not being “supported from outside the cycle”)cannot be “derived” from a program in a finite number of stepsNote But such atoms do not contradict the completion of a programand do thus not eliminate an unstable supported model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 204 / 432
![Page 533: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/533.jpg)
Tightness
The mismatch
Question What causes the mismatch between supported models andstable models?
Hint Consider the unstable yet supported model a, c , e of P !
Answer Cyclic derivations are causing the mismatch betweensupported and stable models
Atoms in a stable model can be “derived” from a program in a finitenumber of stepsAtoms in a cycle (not being “supported from outside the cycle”)cannot be “derived” from a program in a finite number of stepsNote But such atoms do not contradict the completion of a programand do thus not eliminate an unstable supported model
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 204 / 432
![Page 534: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/534.jpg)
Tightness
Non-cyclic derivations
Let X be a stable model of normal logic program P
For every atom A ∈ X , there is a finite sequence of positive rules
〈r1, . . . , rn〉
such that
1 head(r1) = A2 body(ri )
+ ⊆ head(rj ) | i < j ≤ n for 1 ≤ i ≤ n3 ri ∈ PX for 1 ≤ i ≤ n
That is, each atom of X has a non-cyclic derivation from PX
Example There is no finite sequence of rules providing a derivationfor e from Pa,c,e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 205 / 432
![Page 535: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/535.jpg)
Tightness
Non-cyclic derivations
Let X be a stable model of normal logic program P
For every atom A ∈ X , there is a finite sequence of positive rules
〈r1, . . . , rn〉
such that
1 head(r1) = A2 body(ri )
+ ⊆ head(rj ) | i < j ≤ n for 1 ≤ i ≤ n3 ri ∈ PX for 1 ≤ i ≤ n
That is, each atom of X has a non-cyclic derivation from PX
Example There is no finite sequence of rules providing a derivationfor e from Pa,c,e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 205 / 432
![Page 536: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/536.jpg)
Tightness
Non-cyclic derivations
Let X be a stable model of normal logic program P
For every atom A ∈ X , there is a finite sequence of positive rules
〈r1, . . . , rn〉
such that
1 head(r1) = A2 body(ri )
+ ⊆ head(rj ) | i < j ≤ n for 1 ≤ i ≤ n3 ri ∈ PX for 1 ≤ i ≤ n
That is, each atom of X has a non-cyclic derivation from PX
Example There is no finite sequence of rules providing a derivationfor e from Pa,c,e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 205 / 432
![Page 537: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/537.jpg)
Tightness
Positive atom dependency graph
The origin of (potential) circular derivations can be read off thepositive atom dependency graph G (P) of a logic program P given by
(atom(P), (a, b) | r ∈ P, a ∈ body(r)+, head(r) = b)
A logic program P is called tight, if G (P) is acyclic
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 206 / 432
![Page 538: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/538.jpg)
Tightness
Positive atom dependency graph
The origin of (potential) circular derivations can be read off thepositive atom dependency graph G (P) of a logic program P given by
(atom(P), (a, b) | r ∈ P, a ∈ body(r)+, head(r) = b)
A logic program P is called tight, if G (P) is acyclic
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 206 / 432
![Page 539: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/539.jpg)
Tightness
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
G (P) = (a, b, c , d , e, (a, c), (b, e), (e, e))
a c d
b e f
P has supported models: a, c, a, d, and a, c , eP has stable models: a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 207 / 432
![Page 540: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/540.jpg)
Tightness
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
G (P) = (a, b, c , d , e, (a, c), (b, e), (e, e))
a c d
b e f
P has supported models: a, c, a, d, and a, c , eP has stable models: a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 207 / 432
![Page 541: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/541.jpg)
Tightness
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
G (P) = (a, b, c , d , e, (a, c), (b, e), (e, e))
a c d
b e f
P has supported models: a, c, a, d, and a, c , eP has stable models: a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 207 / 432
![Page 542: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/542.jpg)
Tightness
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
G (P) = (a, b, c , d , e, (a, c), (b, e), (e, e))
a c d
b e f
P has supported models: a, c, a, d, and a, c , eP has stable models: a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 207 / 432
![Page 543: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/543.jpg)
Tightness
Tight programs
A logic program P is called tight, if G (P) is acyclic
For tight programs, stable and supported models coincide:
Fages’ Theorem
Let P be a tight normal logic program and X ⊆ atom(P)Then, X is a stable model of P iff X |= CF (P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 208 / 432
![Page 544: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/544.jpg)
Tightness
Tight programs
A logic program P is called tight, if G (P) is acyclic
For tight programs, stable and supported models coincide:
Fages’ Theorem
Let P be a tight normal logic program and X ⊆ atom(P)Then, X is a stable model of P iff X |= CF (P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 208 / 432
![Page 545: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/545.jpg)
Tightness
Tight programs
A logic program P is called tight, if G (P) is acyclic
For tight programs, stable and supported models coincide:
Fages’ Theorem
Let P be a tight normal logic program and X ⊆ atom(P)Then, X is a stable model of P iff X |= CF (P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 208 / 432
![Page 546: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/546.jpg)
Tightness
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
G (P) = (a, b, c , d , e, (a, c), (a, d), (b, c), (b, d), (c, d), (d , c))
d a c e
b
P has supported models: a, c, d, b, and b, c , dP has stable models: a, c , d and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 209 / 432
![Page 547: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/547.jpg)
Tightness
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
G (P) = (a, b, c , d , e, (a, c), (a, d), (b, c), (b, d), (c, d), (d , c))
d a c e
b
P has supported models: a, c, d, b, and b, c , dP has stable models: a, c , d and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 209 / 432
![Page 548: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/548.jpg)
Tightness
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
G (P) = (a, b, c , d , e, (a, c), (a, d), (b, c), (b, d), (c, d), (d , c))
d a c e
b
P has supported models: a, c, d, b, and b, c , dP has stable models: a, c , d and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 209 / 432
![Page 549: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/549.jpg)
Tightness
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
G (P) = (a, b, c , d , e, (a, c), (a, d), (b, c), (b, d), (c, d), (d , c))
d a c e
b
P has supported models: a, c, d, b, and b, c , dP has stable models: a, c , d and b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 209 / 432
![Page 550: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/550.jpg)
Loops and Loop Formulas
Outline
26 Completion
27 Tightness
28 Loops and Loop Formulas
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 210 / 432
![Page 551: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/551.jpg)
Loops and Loop Formulas
Motivation
Question Is there a propositional formula F (P) such that the modelsof F (P) correspond to the stable models of P ?
Observation Starting from the completion of a program,the problem boils down to eliminating the circular support of atomsholding in the supported models of the program
Idea Add formulas prohibiting circular support of sets of atoms
Note Circular support between atoms a and b is possible,if a has a path to b and b has a path to ain the program’s positive atom dependency graph
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 211 / 432
![Page 552: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/552.jpg)
Loops and Loop Formulas
Motivation
Question Is there a propositional formula F (P) such that the modelsof F (P) correspond to the stable models of P ?
Observation Starting from the completion of a program,the problem boils down to eliminating the circular support of atomsholding in the supported models of the program
Idea Add formulas prohibiting circular support of sets of atoms
Note Circular support between atoms a and b is possible,if a has a path to b and b has a path to ain the program’s positive atom dependency graph
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 211 / 432
![Page 553: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/553.jpg)
Loops and Loop Formulas
Motivation
Question Is there a propositional formula F (P) such that the modelsof F (P) correspond to the stable models of P ?
Observation Starting from the completion of a program,the problem boils down to eliminating the circular support of atomsholding in the supported models of the program
Idea Add formulas prohibiting circular support of sets of atoms
Note Circular support between atoms a and b is possible,if a has a path to b and b has a path to ain the program’s positive atom dependency graph
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 211 / 432
![Page 554: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/554.jpg)
Loops and Loop Formulas
Motivation
Question Is there a propositional formula F (P) such that the modelsof F (P) correspond to the stable models of P ?
Observation Starting from the completion of a program,the problem boils down to eliminating the circular support of atomsholding in the supported models of the program
Idea Add formulas prohibiting circular support of sets of atoms
Note Circular support between atoms a and b is possible,if a has a path to b and b has a path to ain the program’s positive atom dependency graph
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 211 / 432
![Page 555: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/555.jpg)
Loops and Loop Formulas
Loops
Let P be a normal logic program, andlet G (P) = (atom(P),E ) be the positive atom dependency graph of P
A set ∅ ⊂ L ⊆ atom(P) is a loop of Pif it induces a non-trivial strongly connected subgraph of G (P)
That is, each pair of atoms in L is connected by a path of non-zerolength in (L,E ∩ (L× L))
We denote the set of all loops of P by loop(P)
Note A program P is tight iff loop(P) = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 212 / 432
![Page 556: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/556.jpg)
Loops and Loop Formulas
Loops
Let P be a normal logic program, andlet G (P) = (atom(P),E ) be the positive atom dependency graph of P
A set ∅ ⊂ L ⊆ atom(P) is a loop of Pif it induces a non-trivial strongly connected subgraph of G (P)
That is, each pair of atoms in L is connected by a path of non-zerolength in (L,E ∩ (L× L))
We denote the set of all loops of P by loop(P)
Note A program P is tight iff loop(P) = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 212 / 432
![Page 557: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/557.jpg)
Loops and Loop Formulas
Loops
Let P be a normal logic program, andlet G (P) = (atom(P),E ) be the positive atom dependency graph of P
A set ∅ ⊂ L ⊆ atom(P) is a loop of Pif it induces a non-trivial strongly connected subgraph of G (P)
That is, each pair of atoms in L is connected by a path of non-zerolength in (L,E ∩ (L× L))
We denote the set of all loops of P by loop(P)
Note A program P is tight iff loop(P) = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 212 / 432
![Page 558: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/558.jpg)
Loops and Loop Formulas
Loops
Let P be a normal logic program, andlet G (P) = (atom(P),E ) be the positive atom dependency graph of P
A set ∅ ⊂ L ⊆ atom(P) is a loop of Pif it induces a non-trivial strongly connected subgraph of G (P)
That is, each pair of atoms in L is connected by a path of non-zerolength in (L,E ∩ (L× L))
We denote the set of all loops of P by loop(P)
Note A program P is tight iff loop(P) = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 212 / 432
![Page 559: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/559.jpg)
Loops and Loop Formulas
Loops
Let P be a normal logic program, andlet G (P) = (atom(P),E ) be the positive atom dependency graph of P
A set ∅ ⊂ L ⊆ atom(P) is a loop of Pif it induces a non-trivial strongly connected subgraph of G (P)
That is, each pair of atoms in L is connected by a path of non-zerolength in (L,E ∩ (L× L))
We denote the set of all loops of P by loop(P)
Note A program P is tight iff loop(P) = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 212 / 432
![Page 560: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/560.jpg)
Loops and Loop Formulas
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
a c d
b e f
loop(P) = e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 213 / 432
![Page 561: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/561.jpg)
Loops and Loop Formulas
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
a c d
b e f
loop(P) = e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 213 / 432
![Page 562: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/562.jpg)
Loops and Loop Formulas
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
d a c e
b
loop(P) = c , d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 214 / 432
![Page 563: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/563.jpg)
Loops and Loop Formulas
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
d a c e
b
loop(P) = c , d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 214 / 432
![Page 564: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/564.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 215 / 432
![Page 565: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/565.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 215 / 432
![Page 566: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/566.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 215 / 432
![Page 567: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/567.jpg)
Loops and Loop Formulas
Loop formulas
Let P be a normal logic program
For L ⊆ atom(P), define the external supports of L for P as
ESP(L) = r ∈ P | head(r) ∈ L and body(r)+ ∩ L = ∅
Define the external bodies of L in P as EBP(L) = body(ESP(L))
The (disjunctive) loop formula of L for P is
LFP(L) =(∨
a∈La)→(∨
B∈EBP (L)BF (B))
≡(∧
B∈EBP (L)¬BF (B))→(∧
a∈L¬a)
Note The loop formula of L enforces all atoms in L to be falsewhenever L is not externally supported
Define LF (P) = LFP(L) | L ∈ loop(P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 216 / 432
![Page 568: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/568.jpg)
Loops and Loop Formulas
Loop formulas
Let P be a normal logic program
For L ⊆ atom(P), define the external supports of L for P as
ESP(L) = r ∈ P | head(r) ∈ L and body(r)+ ∩ L = ∅
Define the external bodies of L in P as EBP(L) = body(ESP(L))
The (disjunctive) loop formula of L for P is
LFP(L) =(∨
a∈La)→(∨
B∈EBP (L)BF (B))
≡(∧
B∈EBP (L)¬BF (B))→(∧
a∈L¬a)
Note The loop formula of L enforces all atoms in L to be falsewhenever L is not externally supported
Define LF (P) = LFP(L) | L ∈ loop(P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 216 / 432
![Page 569: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/569.jpg)
Loops and Loop Formulas
Loop formulas
Let P be a normal logic program
For L ⊆ atom(P), define the external supports of L for P as
ESP(L) = r ∈ P | head(r) ∈ L and body(r)+ ∩ L = ∅
Define the external bodies of L in P as EBP(L) = body(ESP(L))
The (disjunctive) loop formula of L for P is
LFP(L) =(∨
a∈La)→(∨
B∈EBP (L)BF (B))
≡(∧
B∈EBP (L)¬BF (B))→(∧
a∈L¬a)
Note The loop formula of L enforces all atoms in L to be falsewhenever L is not externally supported
Define LF (P) = LFP(L) | L ∈ loop(P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 216 / 432
![Page 570: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/570.jpg)
Loops and Loop Formulas
Loop formulas
Let P be a normal logic program
For L ⊆ atom(P), define the external supports of L for P as
ESP(L) = r ∈ P | head(r) ∈ L and body(r)+ ∩ L = ∅
Define the external bodies of L in P as EBP(L) = body(ESP(L))
The (disjunctive) loop formula of L for P is
LFP(L) =(∨
a∈La)→(∨
B∈EBP (L)BF (B))
≡(∧
B∈EBP (L)¬BF (B))→(∧
a∈L¬a)
Note The loop formula of L enforces all atoms in L to be falsewhenever L is not externally supported
Define LF (P) = LFP(L) | L ∈ loop(P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 216 / 432
![Page 571: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/571.jpg)
Loops and Loop Formulas
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
a c d
b e f
loop(P) = eLF (P) = e → b ∧ ¬f
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 217 / 432
![Page 572: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/572.jpg)
Loops and Loop Formulas
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
a c d
b e f
loop(P) = eLF (P) = e → b ∧ ¬f
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 217 / 432
![Page 573: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/573.jpg)
Loops and Loop Formulas
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
d a c e
b
loop(P) = c , dLF (P) = c ∨ d → (a ∧ b) ∨ a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 218 / 432
![Page 574: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/574.jpg)
Loops and Loop Formulas
Another example
P =
a← ∼b c ← a, b d ← a e ← ∼a,∼bb ← ∼a c ← d d ← b, c
d a c e
b
loop(P) = c , dLF (P) = c ∨ d → (a ∧ b) ∨ a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 218 / 432
![Page 575: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/575.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
LF (P) =
c ∨ d → a ∨ ed ∨ e → (b ∧ c) ∨ (b ∧ ¬a)c ∨ d ∨ e → a ∨ (b ∧ ¬a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 219 / 432
![Page 576: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/576.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
LF (P) =
c ∨ d → a ∨ ed ∨ e → (b ∧ c) ∨ (b ∧ ¬a)c ∨ d ∨ e → a ∨ (b ∧ ¬a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 219 / 432
![Page 577: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/577.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
LF (P) =
c ∨ d → a ∨ ed ∨ e → (b ∧ c) ∨ (b ∧ ¬a)c ∨ d ∨ e → a ∨ (b ∧ ¬a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 219 / 432
![Page 578: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/578.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
LF (P) =
c ∨ d → a ∨ ed ∨ e → (b ∧ c) ∨ (b ∧ ¬a)c ∨ d ∨ e → a ∨ (b ∧ ¬a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 219 / 432
![Page 579: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/579.jpg)
Loops and Loop Formulas
Yet another example
P =
a← ∼b c ← a d ← b, c e ← b,∼ab ← ∼a c ← b, d d ← e e ← c, d
b
a c d e
loop(P) = c , d, d , e, c , d , e
LF (P) =
c ∨ d → a ∨ ed ∨ e → (b ∧ c) ∨ (b ∧ ¬a)c ∨ d ∨ e → a ∨ (b ∧ ¬a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 219 / 432
![Page 580: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/580.jpg)
Loops and Loop Formulas
Lin-Zhao Theorem
Theorem
Let P be a normal logic program and X ⊆ atom(P)Then, X is a stable model of P iff X |= CF (P) ∪ LF (P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 220 / 432
![Page 581: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/581.jpg)
Loops and Loop Formulas
Loops and loop formulas: Properties
Let X be a supported model of normal logic program P
Then, X is a stable model of P iff
X |= LFP (U) | U ⊆ atom(P);X |= LFP (U) | U ⊆ X;X |= LFP (L) | L ∈ loop(P), that is, X |= LF (P);X |= LFP (L) | L ∈ loop(P) and L ⊆ X
Note If X is not a stable model of P,then there is a loop L ⊆ X \ Cn(PX ) such that X 6|= LFP(L)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 221 / 432
![Page 582: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/582.jpg)
Loops and Loop Formulas
Loops and loop formulas: Properties
Let X be a supported model of normal logic program P
Then, X is a stable model of P iff
X |= LFP (U) | U ⊆ atom(P);X |= LFP (U) | U ⊆ X;X |= LFP (L) | L ∈ loop(P), that is, X |= LF (P);X |= LFP (L) | L ∈ loop(P) and L ⊆ X
Note If X is not a stable model of P,then there is a loop L ⊆ X \ Cn(PX ) such that X 6|= LFP(L)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 221 / 432
![Page 583: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/583.jpg)
Loops and Loop Formulas
Loops and loop formulas: Properties
Let X be a supported model of normal logic program P
Then, X is a stable model of P iff
X |= LFP (U) | U ⊆ atom(P);X |= LFP (U) | U ⊆ X;X |= LFP (L) | L ∈ loop(P), that is, X |= LF (P);X |= LFP (L) | L ∈ loop(P) and L ⊆ X
Note If X is not a stable model of P,then there is a loop L ⊆ X \ Cn(PX ) such that X 6|= LFP(L)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 221 / 432
![Page 584: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/584.jpg)
Loops and Loop Formulas
Loops and loop formulas: Properties (ctd)
Result If P 6⊆ NC1/poly ,1 then there is no translation T from logicprograms to propositional formulas such that, for each normal logicprogram P, both of the following conditions hold:
1 The propositional variables in T [P] are a subset of atom(P)2 The size of T [P] is polynomial in the size of P
Note Every vocabulary-preserving translation from normal logicprograms to propositional formulas must be exponential(in the worst case)
Observations
Translation CF (P) ∪ LF (P) preserves the vocabulary of PThe number of loops in loop(P) may be exponential in |atom(P)|
1A conjecture from complexity theory that is believed to be true.M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 222 / 432
![Page 585: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/585.jpg)
Loops and Loop Formulas
Loops and loop formulas: Properties (ctd)
Result If P 6⊆ NC1/poly ,1 then there is no translation T from logicprograms to propositional formulas such that, for each normal logicprogram P, both of the following conditions hold:
1 The propositional variables in T [P] are a subset of atom(P)2 The size of T [P] is polynomial in the size of P
Note Every vocabulary-preserving translation from normal logicprograms to propositional formulas must be exponential(in the worst case)
Observations
Translation CF (P) ∪ LF (P) preserves the vocabulary of PThe number of loops in loop(P) may be exponential in |atom(P)|
1A conjecture from complexity theory that is believed to be true.M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 222 / 432
![Page 586: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/586.jpg)
Loops and Loop Formulas
Loops and loop formulas: Properties (ctd)
Result If P 6⊆ NC1/poly ,1 then there is no translation T from logicprograms to propositional formulas such that, for each normal logicprogram P, both of the following conditions hold:
1 The propositional variables in T [P] are a subset of atom(P)2 The size of T [P] is polynomial in the size of P
Note Every vocabulary-preserving translation from normal logicprograms to propositional formulas must be exponential(in the worst case)
Observations
Translation CF (P) ∪ LF (P) preserves the vocabulary of PThe number of loops in loop(P) may be exponential in |atom(P)|
1A conjecture from complexity theory that is believed to be true.M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 222 / 432
![Page 587: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/587.jpg)
Operational Characterization: Overview
29 Partial Interpretations
30 Fitting Operator
31 Unfounded Sets
32 Well-Founded Operator
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 223 / 432
![Page 588: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/588.jpg)
Partial Interpretations
Outline
29 Partial Interpretations
30 Fitting Operator
31 Unfounded Sets
32 Well-Founded Operator
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 224 / 432
![Page 589: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/589.jpg)
Partial Interpretations
Interlude: Partial interpretationsor: 3-valued interpretations
A partial interpretation maps atoms onto truth values true, false,and unknown
Representation 〈T ,F 〉, where
T is the set of all true atoms andF is the set of all false atomsTruth of atoms in A \ (T ∪ F ) is unknown
Properties
〈T ,F 〉 is conflicting if T ∩ F 6= ∅〈T ,F 〉 is total if T ∪ F = A and T ∩ F = ∅
Definition For 〈T1,F1〉 and 〈T2,F2〉, define
〈T1,F1〉 v 〈T2,F2〉 iff T1 ⊆ T2 and F1 ⊆ F2
〈T1,F1〉 t 〈T2,F2〉 = 〈T1 ∪ T2,F1 ∪ F2〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 225 / 432
![Page 590: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/590.jpg)
Partial Interpretations
Interlude: Partial interpretationsor: 3-valued interpretations
A partial interpretation maps atoms onto truth values true, false,and unknown
Representation 〈T ,F 〉, where
T is the set of all true atoms andF is the set of all false atomsTruth of atoms in A \ (T ∪ F ) is unknown
Properties
〈T ,F 〉 is conflicting if T ∩ F 6= ∅〈T ,F 〉 is total if T ∪ F = A and T ∩ F = ∅
Definition For 〈T1,F1〉 and 〈T2,F2〉, define
〈T1,F1〉 v 〈T2,F2〉 iff T1 ⊆ T2 and F1 ⊆ F2
〈T1,F1〉 t 〈T2,F2〉 = 〈T1 ∪ T2,F1 ∪ F2〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 225 / 432
![Page 591: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/591.jpg)
Partial Interpretations
Interlude: Partial interpretationsor: 3-valued interpretations
A partial interpretation maps atoms onto truth values true, false,and unknown
Representation 〈T ,F 〉, where
T is the set of all true atoms andF is the set of all false atomsTruth of atoms in A \ (T ∪ F ) is unknown
Properties
〈T ,F 〉 is conflicting if T ∩ F 6= ∅〈T ,F 〉 is total if T ∪ F = A and T ∩ F = ∅
Definition For 〈T1,F1〉 and 〈T2,F2〉, define
〈T1,F1〉 v 〈T2,F2〉 iff T1 ⊆ T2 and F1 ⊆ F2
〈T1,F1〉 t 〈T2,F2〉 = 〈T1 ∪ T2,F1 ∪ F2〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 225 / 432
![Page 592: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/592.jpg)
Partial Interpretations
Interlude: Partial interpretationsor: 3-valued interpretations
A partial interpretation maps atoms onto truth values true, false,and unknown
Representation 〈T ,F 〉, where
T is the set of all true atoms andF is the set of all false atomsTruth of atoms in A \ (T ∪ F ) is unknown
Properties
〈T ,F 〉 is conflicting if T ∩ F 6= ∅〈T ,F 〉 is total if T ∪ F = A and T ∩ F = ∅
Definition For 〈T1,F1〉 and 〈T2,F2〉, define
〈T1,F1〉 v 〈T2,F2〉 iff T1 ⊆ T2 and F1 ⊆ F2
〈T1,F1〉 t 〈T2,F2〉 = 〈T1 ∪ T2,F1 ∪ F2〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 225 / 432
![Page 593: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/593.jpg)
Fitting Operator
Outline
29 Partial Interpretations
30 Fitting Operator
31 Unfounded Sets
32 Well-Founded Operator
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 226 / 432
![Page 594: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/594.jpg)
Fitting Operator
Basic idea
Idea Extend TP to normal logic programs
Logical background The idea is to turn a program’s completioninto an operator such that
the head atom of a rule must be trueif the rule’s body is truean atom must be falseif the body of each rule having it as head is false
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 227 / 432
![Page 595: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/595.jpg)
Fitting Operator
Definition
Let P be a normal logic program
Define
ΦP〈T ,F 〉 = 〈TP〈T ,F 〉,FP〈T ,F 〉〉
where
TP〈T ,F 〉 = head(r) | r ∈ P, body(r)+ ⊆ T , body(r)− ⊆ FFP〈T ,F 〉 = a ∈ atom(P) |
body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅for each r ∈ P such that head(r) = a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 228 / 432
![Page 596: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/596.jpg)
Fitting Operator
Definition
Let P be a normal logic program
Define
ΦP〈T ,F 〉 = 〈TP〈T ,F 〉,FP〈T ,F 〉〉
where
TP〈T ,F 〉 = head(r) | r ∈ P, body(r)+ ⊆ T , body(r)− ⊆ FFP〈T ,F 〉 = a ∈ atom(P) |
body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅for each r ∈ P such that head(r) = a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 228 / 432
![Page 597: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/597.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Let’s iterate ΦP on 〈a, d〉:
ΦP〈a, d〉 = 〈a, c, b, f 〉ΦP〈a, c, b, f 〉 = 〈a, b, d , f 〉ΦP〈a, b, d , f 〉 = 〈a, c, b, f 〉
...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 229 / 432
![Page 598: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/598.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Let’s iterate ΦP on 〈a, d〉:
ΦP〈a, d〉 = 〈a, c, b, f 〉ΦP〈a, c, b, f 〉 = 〈a, b, d , f 〉ΦP〈a, b, d , f 〉 = 〈a, c, b, f 〉
...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 229 / 432
![Page 599: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/599.jpg)
Fitting Operator
Fitting semantics
Define the iterative variant of ΦP analogously to TP :
Φ0P〈T ,F 〉 = 〈T ,F 〉 Φi+1
P 〈T ,F 〉 = ΦPΦiP〈T ,F 〉
Define the Fitting semantics of a normal logic program Pas the partial interpretation:⊔
i≥0ΦiP〈∅, ∅〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 230 / 432
![Page 600: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/600.jpg)
Fitting Operator
Fitting semantics
Define the iterative variant of ΦP analogously to TP :
Φ0P〈T ,F 〉 = 〈T ,F 〉 Φi+1
P 〈T ,F 〉 = ΦPΦiP〈T ,F 〉
Define the Fitting semantics of a normal logic program Pas the partial interpretation:⊔
i≥0ΦiP〈∅, ∅〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 230 / 432
![Page 601: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/601.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Φ0〈∅, ∅〉 = 〈∅, ∅〉Φ1〈∅, ∅〉 = Φ〈∅, ∅〉 = 〈a, f 〉Φ2〈∅, ∅〉 = Φ〈a, f 〉 = 〈a, b, f 〉Φ3〈∅, ∅〉 = Φ〈a, b, f 〉 = 〈a, b, f 〉⊔
i≥0 Φi 〈∅, ∅〉 = 〈a, b, f 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 231 / 432
![Page 602: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/602.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Φ0〈∅, ∅〉 = 〈∅, ∅〉Φ1〈∅, ∅〉 = Φ〈∅, ∅〉 = 〈a, f 〉Φ2〈∅, ∅〉 = Φ〈a, f 〉 = 〈a, b, f 〉Φ3〈∅, ∅〉 = Φ〈a, b, f 〉 = 〈a, b, f 〉⊔
i≥0 Φi 〈∅, ∅〉 = 〈a, b, f 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 231 / 432
![Page 603: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/603.jpg)
Fitting Operator
Properties
Let P be a normal logic program
ΦP〈∅, ∅〉 is monotonicThat is, Φi
P〈∅, ∅〉 v Φi+1P 〈∅, ∅〉
The Fitting semantics of P is
not conflicting,and generally not total
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 232 / 432
![Page 604: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/604.jpg)
Fitting Operator
Fitting fixpoints
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Define 〈T ,F 〉 as a Fitting fixpoint of P if ΦP〈T ,F 〉 = 〈T ,F 〉
The Fitting semantics is the v-least Fitting fixpoint of PAny other Fitting fixpoint extends the Fitting semanticsTotal Fitting fixpoints correspond to supported models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 233 / 432
![Page 605: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/605.jpg)
Fitting Operator
Fitting fixpoints
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Define 〈T ,F 〉 as a Fitting fixpoint of P if ΦP〈T ,F 〉 = 〈T ,F 〉
The Fitting semantics is the v-least Fitting fixpoint of PAny other Fitting fixpoint extends the Fitting semanticsTotal Fitting fixpoints correspond to supported models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 233 / 432
![Page 606: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/606.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has three total Fitting fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉3 〈a, c , e, b, d〉
P has three supported models, two of them are stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 234 / 432
![Page 607: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/607.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has three total Fitting fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉3 〈a, c , e, b, d〉
P has three supported models, two of them are stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 234 / 432
![Page 608: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/608.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has three total Fitting fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉3 〈a, c , e, b, d〉
P has three supported models, two of them are stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 234 / 432
![Page 609: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/609.jpg)
Fitting Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has three total Fitting fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉3 〈a, c , e, b, d〉
P has three supported models, two of them are stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 234 / 432
![Page 610: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/610.jpg)
Fitting Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΦP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΦP is stable model preserving
Hence, ΦP can be used for approximating stable models and so forpropagation in ASP-solvers
However, ΦP is still insufficient, because total fixpoints correspond tosupported models, not necessarily stable models
Note The problem is the same as with program completion
The missing piece is non-circularity of derivations !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 235 / 432
![Page 611: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/611.jpg)
Fitting Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΦP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΦP is stable model preserving
Hence, ΦP can be used for approximating stable models and so forpropagation in ASP-solvers
However, ΦP is still insufficient, because total fixpoints correspond tosupported models, not necessarily stable models
Note The problem is the same as with program completion
The missing piece is non-circularity of derivations !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 235 / 432
![Page 612: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/612.jpg)
Fitting Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΦP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΦP is stable model preserving
Hence, ΦP can be used for approximating stable models and so forpropagation in ASP-solvers
However, ΦP is still insufficient, because total fixpoints correspond tosupported models, not necessarily stable models
Note The problem is the same as with program completion
The missing piece is non-circularity of derivations !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 235 / 432
![Page 613: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/613.jpg)
Fitting Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΦP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΦP is stable model preserving
Hence, ΦP can be used for approximating stable models and so forpropagation in ASP-solvers
However, ΦP is still insufficient, because total fixpoints correspond tosupported models, not necessarily stable models
Note The problem is the same as with program completion
The missing piece is non-circularity of derivations !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 235 / 432
![Page 614: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/614.jpg)
Fitting Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΦP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΦP is stable model preserving
Hence, ΦP can be used for approximating stable models and so forpropagation in ASP-solvers
However, ΦP is still insufficient, because total fixpoints correspond tosupported models, not necessarily stable models
Note The problem is the same as with program completion
The missing piece is non-circularity of derivations !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 235 / 432
![Page 615: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/615.jpg)
Fitting Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΦP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΦP is stable model preserving
Hence, ΦP can be used for approximating stable models and so forpropagation in ASP-solvers
However, ΦP is still insufficient, because total fixpoints correspond tosupported models, not necessarily stable models
Note The problem is the same as with program completion
The missing piece is non-circularity of derivations !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 235 / 432
![Page 616: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/616.jpg)
Fitting Operator
Example
P =
a ← bb ← a
Φ0P〈∅, ∅〉 = 〈∅, ∅〉
Φ1P〈∅, ∅〉 = 〈∅, ∅〉
That is, Fitting semantics cannot assign false to a and b,although they can never become true !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 236 / 432
![Page 617: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/617.jpg)
Fitting Operator
Example
P =
a ← bb ← a
Φ0P〈∅, ∅〉 = 〈∅, ∅〉
Φ1P〈∅, ∅〉 = 〈∅, ∅〉
That is, Fitting semantics cannot assign false to a and b,although they can never become true !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 236 / 432
![Page 618: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/618.jpg)
Fitting Operator
Example
P =
a ← bb ← a
Φ0P〈∅, ∅〉 = 〈∅, ∅〉
Φ1P〈∅, ∅〉 = 〈∅, ∅〉
That is, Fitting semantics cannot assign false to a and b,although they can never become true !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 236 / 432
![Page 619: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/619.jpg)
Unfounded Sets
Outline
29 Partial Interpretations
30 Fitting Operator
31 Unfounded Sets
32 Well-Founded Operator
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 237 / 432
![Page 620: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/620.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 621: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/621.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 622: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/622.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 623: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/623.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 624: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/624.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 625: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/625.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 626: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/626.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 627: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/627.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 628: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/628.jpg)
Unfounded Sets
Unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
A set U ⊆ atom(P) is an unfounded set of P wrt 〈T ,F 〉,if we have for each rule r ∈ P such that head(r) ∈ U either
1 body(r)+ ∩ F 6= ∅ or body(r)− ∩ T 6= ∅ or2 body(r)+ ∩ U 6= ∅
Intuitively, 〈T ,F 〉 is what we already know about P
Rules satisfying Condition 1 are not usable for further derivations
Condition 2 is the unfounded set condition treating cyclic derivations:All rules still being usable to derive an atom in U require an(other)atom in U to be true
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 238 / 432
![Page 629: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/629.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 630: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/630.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 631: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/631.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 632: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/632.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 633: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/633.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 634: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/634.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 635: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/635.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 636: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/636.jpg)
Unfounded Sets
Example
P =
a ← bb ← a
∅ is an unfounded set (by definition)
a is not an unfounded set of P wrt 〈∅, ∅〉a is an unfounded set of P wrt 〈∅, b〉a is not an unfounded set of P wrt 〈b, ∅〉
Analogously for b
a, b is an unfounded set of P wrt 〈∅, ∅〉a, b is an unfounded set of P wrt any partial interpretation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 239 / 432
![Page 637: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/637.jpg)
Unfounded Sets
Greatest unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation The union of two unfounded sets is an unfounded set
The greatest unfounded set of P wrt 〈T ,F 〉 is the union of allunfounded sets of P wrt 〈T ,F 〉It is denoted by UP〈T ,F 〉Alternatively, we may define
UP〈T ,F 〉 = atom(P) \ Cn(r ∈ P | body(r)+ ∩ F = ∅T )
Note Cn(r ∈ P | body(r)+ ∩ F = ∅T ) contains all non-circularlyderivable atoms from P wrt 〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 240 / 432
![Page 638: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/638.jpg)
Unfounded Sets
Greatest unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation The union of two unfounded sets is an unfounded set
The greatest unfounded set of P wrt 〈T ,F 〉 is the union of allunfounded sets of P wrt 〈T ,F 〉It is denoted by UP〈T ,F 〉Alternatively, we may define
UP〈T ,F 〉 = atom(P) \ Cn(r ∈ P | body(r)+ ∩ F = ∅T )
Note Cn(r ∈ P | body(r)+ ∩ F = ∅T ) contains all non-circularlyderivable atoms from P wrt 〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 240 / 432
![Page 639: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/639.jpg)
Unfounded Sets
Greatest unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation The union of two unfounded sets is an unfounded set
The greatest unfounded set of P wrt 〈T ,F 〉 is the union of allunfounded sets of P wrt 〈T ,F 〉It is denoted by UP〈T ,F 〉Alternatively, we may define
UP〈T ,F 〉 = atom(P) \ Cn(r ∈ P | body(r)+ ∩ F = ∅T )
Note Cn(r ∈ P | body(r)+ ∩ F = ∅T ) contains all non-circularlyderivable atoms from P wrt 〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 240 / 432
![Page 640: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/640.jpg)
Unfounded Sets
Greatest unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation The union of two unfounded sets is an unfounded set
The greatest unfounded set of P wrt 〈T ,F 〉 is the union of allunfounded sets of P wrt 〈T ,F 〉It is denoted by UP〈T ,F 〉Alternatively, we may define
UP〈T ,F 〉 = atom(P) \ Cn(r ∈ P | body(r)+ ∩ F = ∅T )
Note Cn(r ∈ P | body(r)+ ∩ F = ∅T ) contains all non-circularlyderivable atoms from P wrt 〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 240 / 432
![Page 641: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/641.jpg)
Unfounded Sets
Greatest unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation The union of two unfounded sets is an unfounded set
The greatest unfounded set of P wrt 〈T ,F 〉 is the union of allunfounded sets of P wrt 〈T ,F 〉It is denoted by UP〈T ,F 〉Alternatively, we may define
UP〈T ,F 〉 = atom(P) \ Cn(r ∈ P | body(r)+ ∩ F = ∅T )
Note Cn(r ∈ P | body(r)+ ∩ F = ∅T ) contains all non-circularlyderivable atoms from P wrt 〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 240 / 432
![Page 642: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/642.jpg)
Unfounded Sets
Greatest unfounded sets
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation The union of two unfounded sets is an unfounded set
The greatest unfounded set of P wrt 〈T ,F 〉 is the union of allunfounded sets of P wrt 〈T ,F 〉It is denoted by UP〈T ,F 〉Alternatively, we may define
UP〈T ,F 〉 = atom(P) \ Cn(r ∈ P | body(r)+ ∩ F = ∅T )
Note Cn(r ∈ P | body(r)+ ∩ F = ∅T ) contains all non-circularlyderivable atoms from P wrt 〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 240 / 432
![Page 643: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/643.jpg)
Well-Founded Operator
Outline
29 Partial Interpretations
30 Fitting Operator
31 Unfounded Sets
32 Well-Founded Operator
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 241 / 432
![Page 644: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/644.jpg)
Well-Founded Operator
Well-founded operator
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation Condition 1 (in the definition of an unfounded set)corresponds to FP〈T ,F 〉 of Fitting’s ΦP〈T ,F 〉Idea Extend (negative part of) Fitting’s operator ΦP
That is,
keep definition of TP〈T ,F 〉 from ΦP〈T ,F 〉 andreplace FP〈T ,F 〉 from ΦP〈T ,F 〉 by UP〈T ,F 〉
In words, an atom must be falseif it belongs to the greatest unfounded set
Definition ΩP〈T ,F 〉 = 〈TP〈T ,F 〉,UP〈T ,F 〉〉Property ΦP〈T ,F 〉 v ΩP〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 242 / 432
![Page 645: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/645.jpg)
Well-Founded Operator
Well-founded operator
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation Condition 1 (in the definition of an unfounded set)corresponds to FP〈T ,F 〉 of Fitting’s ΦP〈T ,F 〉Idea Extend (negative part of) Fitting’s operator ΦP
That is,
keep definition of TP〈T ,F 〉 from ΦP〈T ,F 〉 andreplace FP〈T ,F 〉 from ΦP〈T ,F 〉 by UP〈T ,F 〉
In words, an atom must be falseif it belongs to the greatest unfounded set
Definition ΩP〈T ,F 〉 = 〈TP〈T ,F 〉,UP〈T ,F 〉〉Property ΦP〈T ,F 〉 v ΩP〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 242 / 432
![Page 646: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/646.jpg)
Well-Founded Operator
Well-founded operator
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation Condition 1 (in the definition of an unfounded set)corresponds to FP〈T ,F 〉 of Fitting’s ΦP〈T ,F 〉Idea Extend (negative part of) Fitting’s operator ΦP
That is,
keep definition of TP〈T ,F 〉 from ΦP〈T ,F 〉 andreplace FP〈T ,F 〉 from ΦP〈T ,F 〉 by UP〈T ,F 〉
In words, an atom must be falseif it belongs to the greatest unfounded set
Definition ΩP〈T ,F 〉 = 〈TP〈T ,F 〉,UP〈T ,F 〉〉Property ΦP〈T ,F 〉 v ΩP〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 242 / 432
![Page 647: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/647.jpg)
Well-Founded Operator
Well-founded operator
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation Condition 1 (in the definition of an unfounded set)corresponds to FP〈T ,F 〉 of Fitting’s ΦP〈T ,F 〉Idea Extend (negative part of) Fitting’s operator ΦP
That is,
keep definition of TP〈T ,F 〉 from ΦP〈T ,F 〉 andreplace FP〈T ,F 〉 from ΦP〈T ,F 〉 by UP〈T ,F 〉
In words, an atom must be falseif it belongs to the greatest unfounded set
Definition ΩP〈T ,F 〉 = 〈TP〈T ,F 〉,UP〈T ,F 〉〉Property ΦP〈T ,F 〉 v ΩP〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 242 / 432
![Page 648: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/648.jpg)
Well-Founded Operator
Well-founded operator
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Observation Condition 1 (in the definition of an unfounded set)corresponds to FP〈T ,F 〉 of Fitting’s ΦP〈T ,F 〉Idea Extend (negative part of) Fitting’s operator ΦP
That is,
keep definition of TP〈T ,F 〉 from ΦP〈T ,F 〉 andreplace FP〈T ,F 〉 from ΦP〈T ,F 〉 by UP〈T ,F 〉
In words, an atom must be falseif it belongs to the greatest unfounded set
Definition ΩP〈T ,F 〉 = 〈TP〈T ,F 〉,UP〈T ,F 〉〉Property ΦP〈T ,F 〉 v ΩP〈T ,F 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 242 / 432
![Page 649: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/649.jpg)
Well-Founded Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Let’s iterate ΩP1 on 〈c, ∅〉:
ΩP〈c, ∅〉 = 〈a, d , f 〉ΩP〈a, d , f 〉 = 〈a, c, b, e, f 〉
ΩP〈a, c, b, e, f 〉 = 〈a, b, d , e, f 〉ΩP〈a, b, d , e, f 〉 = 〈a, c, b, e, f 〉
...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 243 / 432
![Page 650: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/650.jpg)
Well-Founded Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Let’s iterate ΩP1 on 〈c, ∅〉:
ΩP〈c, ∅〉 = 〈a, d , f 〉ΩP〈a, d , f 〉 = 〈a, c, b, e, f 〉
ΩP〈a, c, b, e, f 〉 = 〈a, b, d , e, f 〉ΩP〈a, b, d , e, f 〉 = 〈a, c, b, e, f 〉
...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 243 / 432
![Page 651: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/651.jpg)
Well-Founded Operator
Well-founded semantics
Define the iterative variant of ΩP analogously to ΦP :
Ω0P〈T ,F 〉 = 〈T ,F 〉 Ωi+1
P 〈T ,F 〉 = ΩPΩiP〈T ,F 〉
Define the well-founded semantics of a normal logic program Pas the partial interpretation:⊔
i≥0ΩiP〈∅, ∅〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 244 / 432
![Page 652: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/652.jpg)
Well-Founded Operator
Well-founded semantics
Define the iterative variant of ΩP analogously to ΦP :
Ω0P〈T ,F 〉 = 〈T ,F 〉 Ωi+1
P 〈T ,F 〉 = ΩPΩiP〈T ,F 〉
Define the well-founded semantics of a normal logic program Pas the partial interpretation:⊔
i≥0ΩiP〈∅, ∅〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 244 / 432
![Page 653: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/653.jpg)
Well-Founded Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Ω0〈∅, ∅〉 = 〈∅, ∅〉Ω1〈∅, ∅〉 = Ω〈∅, ∅〉 = 〈a, f 〉Ω2〈∅, ∅〉 = Ω〈a, f 〉 = 〈a, b, e, f 〉Ω3〈∅, ∅〉 = Ω〈a, b, e, f 〉 = 〈a, b, e, f 〉⊔
i≥0 Ωi 〈∅, ∅〉 = 〈a, b, e, f 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 245 / 432
![Page 654: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/654.jpg)
Well-Founded Operator
Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
Ω0〈∅, ∅〉 = 〈∅, ∅〉Ω1〈∅, ∅〉 = Ω〈∅, ∅〉 = 〈a, f 〉Ω2〈∅, ∅〉 = Ω〈a, f 〉 = 〈a, b, e, f 〉Ω3〈∅, ∅〉 = Ω〈a, b, e, f 〉 = 〈a, b, e, f 〉⊔
i≥0 Ωi 〈∅, ∅〉 = 〈a, b, e, f 〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 245 / 432
![Page 655: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/655.jpg)
Well-Founded Operator
Properties
Let P be a normal logic program
ΩP〈∅, ∅〉 is monotonicThat is, Ωi
P〈∅, ∅〉 v Ωi+1P 〈∅, ∅〉
The well-founded semantics of P is
not conflicting,and generally not total
We have⊔
i≥0 ΦiP〈∅, ∅〉 v
⊔i≥0 Ωi
P〈∅, ∅〉
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 246 / 432
![Page 656: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/656.jpg)
Well-Founded Operator
Well-founded fixpoints
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Define 〈T ,F 〉 as a well-founded fixpoint of P if ΩP〈T ,F 〉 = 〈T ,F 〉
The well-founded semantics is the v-least well-founded fixpoint of PAny other well-founded fixpoint extends the well-founded semanticsTotal well-founded fixpoints correspond to stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 247 / 432
![Page 657: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/657.jpg)
Well-Founded Operator
Well-founded fixpoints
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Define 〈T ,F 〉 as a well-founded fixpoint of P if ΩP〈T ,F 〉 = 〈T ,F 〉
The well-founded semantics is the v-least well-founded fixpoint of PAny other well-founded fixpoint extends the well-founded semanticsTotal well-founded fixpoints correspond to stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 247 / 432
![Page 658: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/658.jpg)
Well-Founded Operator
Well-founded fixpoints: Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has two total well-founded fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉
Both of them represent stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 248 / 432
![Page 659: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/659.jpg)
Well-Founded Operator
Well-founded fixpoints: Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has two total well-founded fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉
Both of them represent stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 248 / 432
![Page 660: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/660.jpg)
Well-Founded Operator
Well-founded fixpoints: Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has two total well-founded fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉
Both of them represent stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 248 / 432
![Page 661: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/661.jpg)
Well-Founded Operator
Well-founded fixpoints: Example
P =
a← c ← a,∼d e ← b,∼fb ← ∼a d ← ∼c ,∼e e ← e
P has two total well-founded fixpoints:
1 〈a, c, b, d , e〉2 〈a, d, b, c , e〉
Both of them represent stable models
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 248 / 432
![Page 662: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/662.jpg)
Well-Founded Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΩP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΩP is stable model preserving
Hence, ΩP can be used for approximating stable models and so forpropagation in ASP-solvers
In contrast to ΦP , operator ΩP is sufficient for propagation becausetotal fixpoints correspond to stable models
Note In addition to ΩP , most ASP-solvers apply backwardpropagation, originating from program completion(although this is unnecessary from a formal point of view)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 249 / 432
![Page 663: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/663.jpg)
Well-Founded Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΩP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΩP is stable model preserving
Hence, ΩP can be used for approximating stable models and so forpropagation in ASP-solvers
In contrast to ΦP , operator ΩP is sufficient for propagation becausetotal fixpoints correspond to stable models
Note In addition to ΩP , most ASP-solvers apply backwardpropagation, originating from program completion(although this is unnecessary from a formal point of view)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 249 / 432
![Page 664: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/664.jpg)
Well-Founded Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΩP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΩP is stable model preserving
Hence, ΩP can be used for approximating stable models and so forpropagation in ASP-solvers
In contrast to ΦP , operator ΩP is sufficient for propagation becausetotal fixpoints correspond to stable models
Note In addition to ΩP , most ASP-solvers apply backwardpropagation, originating from program completion(although this is unnecessary from a formal point of view)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 249 / 432
![Page 665: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/665.jpg)
Well-Founded Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΩP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΩP is stable model preserving
Hence, ΩP can be used for approximating stable models and so forpropagation in ASP-solvers
In contrast to ΦP , operator ΩP is sufficient for propagation becausetotal fixpoints correspond to stable models
Note In addition to ΩP , most ASP-solvers apply backwardpropagation, originating from program completion(although this is unnecessary from a formal point of view)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 249 / 432
![Page 666: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/666.jpg)
Well-Founded Operator
Properties
Let P be a normal logic program,and let 〈T ,F 〉 be a partial interpretation
Let ΩP〈T ,F 〉 = 〈T ′,F ′〉If X is a stable model of P such that T ⊆ X and X ∩ F = ∅,then T ′ ⊆ X and X ∩ F ′ = ∅That is, ΩP is stable model preserving
Hence, ΩP can be used for approximating stable models and so forpropagation in ASP-solvers
In contrast to ΦP , operator ΩP is sufficient for propagation becausetotal fixpoints correspond to stable models
Note In addition to ΩP , most ASP-solvers apply backwardpropagation, originating from program completion(although this is unnecessary from a formal point of view)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 249 / 432
![Page 667: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/667.jpg)
Proof-theoretic Characterization:Overview
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 250 / 432
![Page 668: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/668.jpg)
Motivation
Goal Analyze computations in ASP solvers
Wanted A declarative and fine-grained instrument forcharacterizing operations as well as strategies of ASP solvers
Idea View stable model computations as derivations inan inference system
Consider Tableau-based proof systems for analyzing ASP solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 251 / 432
![Page 669: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/669.jpg)
Motivation
Goal Analyze computations in ASP solvers
Wanted A declarative and fine-grained instrument forcharacterizing operations as well as strategies of ASP solvers
Idea View stable model computations as derivations inan inference system
Consider Tableau-based proof systems for analyzing ASP solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 251 / 432
![Page 670: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/670.jpg)
Motivation
Goal Analyze computations in ASP solvers
Wanted A declarative and fine-grained instrument forcharacterizing operations as well as strategies of ASP solvers
Idea View stable model computations as derivations inan inference system
Consider Tableau-based proof systems for analyzing ASP solving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 251 / 432
![Page 671: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/671.jpg)
Tableau calculi
Traditionally, tableau calculi are used for
automated theorem proving andproof theoretical analysis
in classical as well as non-classical logics
General idea Given an input, prove some property by decompositionDecomposition is done by applying deduction rules
For details, see Handbook of Tableau Methods, Kluwer, 1999
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 252 / 432
![Page 672: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/672.jpg)
General definitions
A tableau is a (mostly binary) tree
A branch in a tableau is a path from the root to a leaf
A branch containing γ1, . . . , γm can be extended by applyingtableau rules of form
γ1, . . . , γm
α1...αn
γ1, . . . , γm
β1 | . . . | βn
Rules of the former format append entries α1, . . . , αn to the branch
Rules of the latter format create multiple sub-branches for β1, . . . , βn
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 253 / 432
![Page 673: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/673.jpg)
General definitions
A tableau is a (mostly binary) tree
A branch in a tableau is a path from the root to a leaf
A branch containing γ1, . . . , γm can be extended by applyingtableau rules of form
γ1, . . . , γm
α1...αn
γ1, . . . , γm
β1 | . . . | βn
Rules of the former format append entries α1, . . . , αn to the branch
Rules of the latter format create multiple sub-branches for β1, . . . , βn
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 253 / 432
![Page 674: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/674.jpg)
General definitions
A tableau is a (mostly binary) tree
A branch in a tableau is a path from the root to a leaf
A branch containing γ1, . . . , γm can be extended by applyingtableau rules of form
γ1, . . . , γm
α1...αn
γ1, . . . , γm
β1 | . . . | βn
Rules of the former format append entries α1, . . . , αn to the branch
Rules of the latter format create multiple sub-branches for β1, . . . , βn
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 253 / 432
![Page 675: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/675.jpg)
Example
A simple tableau calculus for proving unsatisfiability of propositionalformulas, composed from ¬, ∧, and ∨, consists of rules
¬¬αα
α1 ∧ α2
α1α2
β1 ∨ β2
β1 | β2
All rules are semantically valid, when interpreting entries in a branchconjunctively and distinct (sub-)branches as connected disjunctively
A propositional formula ϕ is unsatisfiable iff there is a tableau withϕ as the root node such that
1 all other entries can be produced by tableau rules and2 every branch contains some formulas α and ¬α
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 254 / 432
![Page 676: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/676.jpg)
Example
A simple tableau calculus for proving unsatisfiability of propositionalformulas, composed from ¬, ∧, and ∨, consists of rules
¬¬αα
α1 ∧ α2
α1α2
β1 ∨ β2
β1 | β2
All rules are semantically valid, when interpreting entries in a branchconjunctively and distinct (sub-)branches as connected disjunctively
A propositional formula ϕ is unsatisfiable iff there is a tableau withϕ as the root node such that
1 all other entries can be produced by tableau rules and2 every branch contains some formulas α and ¬α
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 254 / 432
![Page 677: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/677.jpg)
Example
A simple tableau calculus for proving unsatisfiability of propositionalformulas, composed from ¬, ∧, and ∨, consists of rules
¬¬αα
α1 ∧ α2
α1α2
β1 ∨ β2
β1 | β2
All rules are semantically valid, when interpreting entries in a branchconjunctively and distinct (sub-)branches as connected disjunctively
A propositional formula ϕ is unsatisfiable iff there is a tableau withϕ as the root node such that
1 all other entries can be produced by tableau rules and2 every branch contains some formulas α and ¬α
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 254 / 432
![Page 678: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/678.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 679: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/679.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 680: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/680.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 681: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/681.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 682: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/682.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 683: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/683.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 684: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/684.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 685: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/685.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 686: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/686.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 687: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/687.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 688: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/688.jpg)
Example
(1) a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) [ϕ](2) a [1](3) (¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a [1]
(4) ¬b ∧ (¬a ∨ b) [3] (9) ¬¬¬a [3](5) ¬b [4] (10) ¬a [9](6) ¬a ∨ b [4]
(7) ¬a [6] (8) b [6]
All three branches of the tableau are contradictory (cf 2, 5, 7, 8, 10)
Hence, a ∧ ((¬b ∧ (¬a ∨ b)) ∨ ¬¬¬a) is unsatisfiable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 255 / 432
![Page 689: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/689.jpg)
Tableaux and ASP
A tableau rule captures an elementary inference scheme in anASP solver
A branch in a tableau corresponds to a successful or unsuccessfulcomputation of a stable model
An entire tableau represents a traversal of the search space
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 256 / 432
![Page 690: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/690.jpg)
Tableaux and ASP
A tableau rule captures an elementary inference scheme in anASP solver
A branch in a tableau corresponds to a successful or unsuccessfulcomputation of a stable model
An entire tableau represents a traversal of the search space
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 256 / 432
![Page 691: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/691.jpg)
Tableaux and ASP
A tableau rule captures an elementary inference scheme in anASP solver
A branch in a tableau corresponds to a successful or unsuccessfulcomputation of a stable model
An entire tableau represents a traversal of the search space
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 256 / 432
![Page 692: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/692.jpg)
ASP-specific definitions
A (signed) tableau for a logic program P is a binary tree such that
the root node of the tree consists of the rules in P;the other nodes in the tree are entries of the form Tv or Fv , calledsigned literals, where v is a variable,generated by extending a tableau using deduction rules (given below)
An entry Tv (Fv) reflects that variable v is true (false) in acorresponding variable assignment
A set of signed literals constitutes a partial assignment
For a normal logic program P,
atoms of P in atom(P) andbodies of P in body(P)
can occur as variables in signed literals
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 257 / 432
![Page 693: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/693.jpg)
ASP-specific definitions
A (signed) tableau for a logic program P is a binary tree such that
the root node of the tree consists of the rules in P;the other nodes in the tree are entries of the form Tv or Fv , calledsigned literals, where v is a variable,generated by extending a tableau using deduction rules (given below)
An entry Tv (Fv) reflects that variable v is true (false) in acorresponding variable assignment
A set of signed literals constitutes a partial assignment
For a normal logic program P,
atoms of P in atom(P) andbodies of P in body(P)
can occur as variables in signed literals
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 257 / 432
![Page 694: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/694.jpg)
ASP-specific definitions
A (signed) tableau for a logic program P is a binary tree such that
the root node of the tree consists of the rules in P;the other nodes in the tree are entries of the form Tv or Fv , calledsigned literals, where v is a variable,generated by extending a tableau using deduction rules (given below)
An entry Tv (Fv) reflects that variable v is true (false) in acorresponding variable assignment
A set of signed literals constitutes a partial assignment
For a normal logic program P,
atoms of P in atom(P) andbodies of P in body(P)
can occur as variables in signed literals
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 257 / 432
![Page 695: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/695.jpg)
Tableau rules for ASP at a glance
(FTB)p ← l1, . . . , ln
tl1, . . . , tlnTl1, . . . , ln
(BFB)Fl1, . . . , li , . . . , ln
tl1, . . . , tli−1, tli+1, . . . , tlnf li
(FTA)p ← l1, . . . , lnTl1, . . . , ln
Tp(BFA)
p ← l1, . . . , lnFp
Fl1, . . . , ln
(FFB)p ← l1, . . . , li , . . . , ln
f liFl1, . . . , li , . . . , ln
(BTB)Tl1, . . . , li , . . . , ln
tli
(FFA)FB1, . . . ,FBm
Fp (§)(BTA)
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
TBi(§)
(WFN)FB1, . . . ,FBm
Fp (†)(WFJ)
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
TBi(†)
(FL)FB1, . . . ,FBm
Fp (‡)(BL)
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
TBi(‡)
(Cut[X ])Tv | Fv (][X ])
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 258 / 432
![Page 696: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/696.jpg)
More concepts
A tableau calculus is a set of tableau rules
A branch in a tableau is conflicting,if it contains both Tv and Fv for some variable v
A branch in a tableau is total for a program P,if it contains either Tv or Fv for each v ∈ atom(P) ∪ body(P)
A branch in a tableau of some calculus T is closed,if no rule in T other than Cut can produce any new entries
A branch in a tableau is complete,if it is either conflicting or both total and closed
A tableau is complete, if all its branches are complete
A tableau of some calculus T is a refutation of T for a program P,if every branch in the tableau is conflicting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 259 / 432
![Page 697: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/697.jpg)
More concepts
A tableau calculus is a set of tableau rules
A branch in a tableau is conflicting,if it contains both Tv and Fv for some variable v
A branch in a tableau is total for a program P,if it contains either Tv or Fv for each v ∈ atom(P) ∪ body(P)
A branch in a tableau of some calculus T is closed,if no rule in T other than Cut can produce any new entries
A branch in a tableau is complete,if it is either conflicting or both total and closed
A tableau is complete, if all its branches are complete
A tableau of some calculus T is a refutation of T for a program P,if every branch in the tableau is conflicting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 259 / 432
![Page 698: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/698.jpg)
More concepts
A tableau calculus is a set of tableau rules
A branch in a tableau is conflicting,if it contains both Tv and Fv for some variable v
A branch in a tableau is total for a program P,if it contains either Tv or Fv for each v ∈ atom(P) ∪ body(P)
A branch in a tableau of some calculus T is closed,if no rule in T other than Cut can produce any new entries
A branch in a tableau is complete,if it is either conflicting or both total and closed
A tableau is complete, if all its branches are complete
A tableau of some calculus T is a refutation of T for a program P,if every branch in the tableau is conflicting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 259 / 432
![Page 699: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/699.jpg)
More concepts
A tableau calculus is a set of tableau rules
A branch in a tableau is conflicting,if it contains both Tv and Fv for some variable v
A branch in a tableau is total for a program P,if it contains either Tv or Fv for each v ∈ atom(P) ∪ body(P)
A branch in a tableau of some calculus T is closed,if no rule in T other than Cut can produce any new entries
A branch in a tableau is complete,if it is either conflicting or both total and closed
A tableau is complete, if all its branches are complete
A tableau of some calculus T is a refutation of T for a program P,if every branch in the tableau is conflicting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 259 / 432
![Page 700: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/700.jpg)
More concepts
A tableau calculus is a set of tableau rules
A branch in a tableau is conflicting,if it contains both Tv and Fv for some variable v
A branch in a tableau is total for a program P,if it contains either Tv or Fv for each v ∈ atom(P) ∪ body(P)
A branch in a tableau of some calculus T is closed,if no rule in T other than Cut can produce any new entries
A branch in a tableau is complete,if it is either conflicting or both total and closed
A tableau is complete, if all its branches are complete
A tableau of some calculus T is a refutation of T for a program P,if every branch in the tableau is conflicting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 259 / 432
![Page 701: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/701.jpg)
More concepts
A tableau calculus is a set of tableau rules
A branch in a tableau is conflicting,if it contains both Tv and Fv for some variable v
A branch in a tableau is total for a program P,if it contains either Tv or Fv for each v ∈ atom(P) ∪ body(P)
A branch in a tableau of some calculus T is closed,if no rule in T other than Cut can produce any new entries
A branch in a tableau is complete,if it is either conflicting or both total and closed
A tableau is complete, if all its branches are complete
A tableau of some calculus T is a refutation of T for a program P,if every branch in the tableau is conflicting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 259 / 432
![Page 702: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/702.jpg)
More concepts
A tableau calculus is a set of tableau rules
A branch in a tableau is conflicting,if it contains both Tv and Fv for some variable v
A branch in a tableau is total for a program P,if it contains either Tv or Fv for each v ∈ atom(P) ∪ body(P)
A branch in a tableau of some calculus T is closed,if no rule in T other than Cut can produce any new entries
A branch in a tableau is complete,if it is either conflicting or both total and closed
A tableau is complete, if all its branches are complete
A tableau of some calculus T is a refutation of T for a program P,if every branch in the tableau is conflicting
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 259 / 432
![Page 703: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/703.jpg)
Example
Consider the program
P =
a←c ← ∼b,∼dd ← a,∼c
having stable models a, c and a, d
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 260 / 432
![Page 704: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/704.jpg)
(Previewed) Example
a←c ← ∼b,∼dd ← a,∼c
(FTB) T∅(FTA) Ta(FFA) Fb
(Cut[atom(P)]) Tc Fc(BTA) T∼b,∼d (BFA) F∼b,∼d(BTB) Fd (BFB) Td(FFB) Fa,∼c (FTB) Ta,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 261 / 432
![Page 705: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/705.jpg)
(Previewed) Example
a←c ← ∼b,∼dd ← a,∼c
(FTB) T∅(FTA) Ta(FFA) Fb
(Cut[atom(P)]) Tc Fc(BTA) T∼b,∼d (BFA) F∼b,∼d(BTB) Fd (BFB) Td(FFB) Fa,∼c (FTB) Ta,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 261 / 432
![Page 706: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/706.jpg)
(Previewed) Example
a←c ← ∼b,∼dd ← a,∼c
(FTB) T∅(FTA) Ta(FFA) Fb
(Cut[atom(P)]) Tc Fc(BTA) T∼b,∼d (BFA) F∼b,∼d(BTB) Fd (BFB) Td(FFB) Fa,∼c (FTB) Ta,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 261 / 432
![Page 707: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/707.jpg)
(Previewed) Example
a←c ← ∼b,∼dd ← a,∼c
(FTB) T∅(FTA) Ta(FFA) Fb
(Cut[atom(P)]) Tc Fc(BTA) T∼b,∼d (BFA) F∼b,∼d(BTB) Fd (BFB) Td(FFB) Fa,∼c (FTB) Ta,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 261 / 432
![Page 708: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/708.jpg)
(Previewed) Example
a←c ← ∼b,∼dd ← a,∼c
(FTB) T∅(FTA) Ta(FFA) Fb
(Cut[atom(P)]) Tc Fc(BTA) T∼b,∼d (BFA) F∼b,∼d(BTB) Fd (BFB) Td(FFB) Fa,∼c (FTB) Ta,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 261 / 432
![Page 709: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/709.jpg)
(Previewed) Example
a←c ← ∼b,∼dd ← a,∼c
(FTB) T∅(FTA) Ta(FFA) Fb
(Cut[atom(P)]) Tc Fc(BTA) T∼b,∼d (BFA) F∼b,∼d(BTB) Fd (BFB) Td(FFB) Fa,∼c (FTB) Ta,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 261 / 432
![Page 710: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/710.jpg)
Auxiliary definitions
For a literal l , define conjugation functions t and f as follows
tl =
Tl if l is an atomFa if l = ∼a for an atom a
f l =
Fl if l is an atomTa if l = ∼a for an atom a
Examples ta = Ta, fa = Fa, t∼a = Fa, and f∼a = Ta
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 262 / 432
![Page 711: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/711.jpg)
Auxiliary definitions
For a literal l , define conjugation functions t and f as follows
tl =
Tl if l is an atomFa if l = ∼a for an atom a
f l =
Fl if l is an atomTa if l = ∼a for an atom a
Examples ta = Ta, fa = Fa, t∼a = Fa, and f∼a = Ta
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 262 / 432
![Page 712: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/712.jpg)
Auxiliary definitions
Some tableau rules require conditions for their application
Such conditions are specified as provisos
prerequisites(proviso)
consequenceproviso: some condition(s)
Note All tableau rules given in the sequel are stable model preserving
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 263 / 432
![Page 713: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/713.jpg)
Forward True Body (FTB)
Prerequisites All of a body’s literals are true
Consequence The body is true
Tableau Rule FTB
p ← l1, . . . , lntl1, . . . , tln
Tl1, . . . , ln
Example
a← b,∼cTbFc
Tb,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 264 / 432
![Page 714: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/714.jpg)
Forward True Body (FTB)
Prerequisites All of a body’s literals are true
Consequence The body is true
Tableau Rule FTB
p ← l1, . . . , lntl1, . . . , tln
Tl1, . . . , ln
Example
a← b,∼cTbFc
Tb,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 264 / 432
![Page 715: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/715.jpg)
Backward False Body (BFB)
Prerequisites A body is false, and all its literals except for one are true
Consequence The residual body literal is false
Tableau Rule BFB
Fl1, . . . , li , . . . , lntl1, . . . , tli−1, tli+1, . . . , tln
f li
Examples
Fb,∼cTb
Tc
Fb,∼cFc
Fb
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 265 / 432
![Page 716: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/716.jpg)
Backward False Body (BFB)
Prerequisites A body is false, and all its literals except for one are true
Consequence The residual body literal is false
Tableau Rule BFB
Fl1, . . . , li , . . . , lntl1, . . . , tli−1, tli+1, . . . , tln
f li
Examples
Fb,∼cTb
Tc
Fb,∼cFc
Fb
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 265 / 432
![Page 717: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/717.jpg)
Forward False Body (FFB)
Prerequisites Some literal of a body is false
Consequence The body is false
Tableau Rule FFB
p ← l1, . . . , li , . . . , lnf li
Fl1, . . . , li , . . . , ln
Examples
a← b,∼cFb
Fb,∼c
a← b,∼cTc
Fb,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 266 / 432
![Page 718: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/718.jpg)
Forward False Body (FFB)
Prerequisites Some literal of a body is false
Consequence The body is false
Tableau Rule FFB
p ← l1, . . . , li , . . . , lnf li
Fl1, . . . , li , . . . , ln
Examples
a← b,∼cFb
Fb,∼c
a← b,∼cTc
Fb,∼c
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 266 / 432
![Page 719: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/719.jpg)
Backward True Body (BTB)
Prerequisites A body is true
Consequence The body’s literals are true
Tableau Rule BTB
Tl1, . . . , li , . . . , lntli
Examples
Tb,∼cTb
Tb,∼cFc
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 267 / 432
![Page 720: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/720.jpg)
Backward True Body (BTB)
Prerequisites A body is true
Consequence The body’s literals are true
Tableau Rule BTB
Tl1, . . . , li , . . . , lntli
Examples
Tb,∼cTb
Tb,∼cFc
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 267 / 432
![Page 721: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/721.jpg)
Tableau rules for bodies
Consider rule body B = l1, . . . , ln
Rules FTB and BFB amount to implication
l1 ∧ · · · ∧ ln → B
Rules FFB and BTB amount to implication
B → l1 ∧ · · · ∧ ln
Together they yield
B ≡ l1 ∧ · · · ∧ ln
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 268 / 432
![Page 722: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/722.jpg)
Tableau rules for bodies
Consider rule body B = l1, . . . , ln
Rules FTB and BFB amount to implication
l1 ∧ · · · ∧ ln → B
Rules FFB and BTB amount to implication
B → l1 ∧ · · · ∧ ln
Together they yield
B ≡ l1 ∧ · · · ∧ ln
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 268 / 432
![Page 723: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/723.jpg)
Tableau rules for bodies
Consider rule body B = l1, . . . , ln
Rules FTB and BFB amount to implication
l1 ∧ · · · ∧ ln → B
Rules FFB and BTB amount to implication
B → l1 ∧ · · · ∧ ln
Together they yield
B ≡ l1 ∧ · · · ∧ ln
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 268 / 432
![Page 724: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/724.jpg)
Forward True Atom (FTA)
Prerequisites Some of an atom’s bodies is true
Consequence The atom is true
Tableau Rule FTA
p ← l1, . . . , lnTl1, . . . , ln
Tp
Examples
a← b,∼cTb,∼c
Ta
a← d ,∼eTd ,∼e
Ta
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 269 / 432
![Page 725: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/725.jpg)
Forward True Atom (FTA)
Prerequisites Some of an atom’s bodies is true
Consequence The atom is true
Tableau Rule FTA
p ← l1, . . . , lnTl1, . . . , ln
Tp
Examples
a← b,∼cTb,∼c
Ta
a← d ,∼eTd ,∼e
Ta
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 269 / 432
![Page 726: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/726.jpg)
Backward False Atom (BFA)
Prerequisites An atom is false
Consequence The bodies of all rules with the atom as head are false
Tableau Rule BFA
p ← l1, . . . , lnFp
Fl1, . . . , ln
Examples
a← b,∼cFa
Fb,∼c
a← d ,∼eFa
Fd ,∼e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 270 / 432
![Page 727: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/727.jpg)
Backward False Atom (BFA)
Prerequisites An atom is false
Consequence The bodies of all rules with the atom as head are false
Tableau Rule BFA
p ← l1, . . . , lnFp
Fl1, . . . , ln
Examples
a← b,∼cFa
Fb,∼c
a← d ,∼eFa
Fd ,∼e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 270 / 432
![Page 728: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/728.jpg)
Forward False Atom (FFA)
Prerequisites For some atom, the bodies of all rules with the atom ashead are false
Consequence The atom is false
Tableau Rule FFA
FB1, . . . ,FBm(body P(p) = B1, . . . ,Bm)Fp
Example
Fb,∼cFd ,∼e
(body P(a) = b,∼c, d ,∼e)Fa
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 271 / 432
![Page 729: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/729.jpg)
Forward False Atom (FFA)
Prerequisites For some atom, the bodies of all rules with the atom ashead are false
Consequence The atom is false
Tableau Rule FFA
FB1, . . . ,FBm(body P(p) = B1, . . . ,Bm)Fp
Example
Fb,∼cFd ,∼e
(body P(a) = b,∼c, d ,∼e)Fa
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 271 / 432
![Page 730: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/730.jpg)
Backward True Atom (BTA)
Prerequisites An atom is true, and the bodies of all rules with theatom as head except for one are false
Consequence The residual body is true
Tableau Rule BTA
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
(body P(p) = B1, . . . ,Bm)TBi
Examples
TaFb,∼c
(∗)Td ,∼e
TaFd ,∼e
(∗)Tb,∼c
(∗) body P(a) = b,∼c, d ,∼e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 272 / 432
![Page 731: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/731.jpg)
Backward True Atom (BTA)
Prerequisites An atom is true, and the bodies of all rules with theatom as head except for one are false
Consequence The residual body is true
Tableau Rule BTA
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
(body P(p) = B1, . . . ,Bm)TBi
Examples
TaFb,∼c
(∗)Td ,∼e
TaFd ,∼e
(∗)Tb,∼c
(∗) body P(a) = b,∼c, d ,∼e
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 272 / 432
![Page 732: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/732.jpg)
Tableau rules for atoms
Consider an atom p such that body P(p) = B1, . . . ,Bm
Rules FTA and BFA amount to implication
B1 ∨ · · · ∨ Bm → p
Rules FFA and BTA amount to implication
p → B1 ∨ · · · ∨ Bm
Together they yield
p ≡ B1 ∨ · · · ∨ Bm
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 273 / 432
![Page 733: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/733.jpg)
Tableau rules for atoms
Consider an atom p such that body P(p) = B1, . . . ,Bm
Rules FTA and BFA amount to implication
B1 ∨ · · · ∨ Bm → p
Rules FFA and BTA amount to implication
p → B1 ∨ · · · ∨ Bm
Together they yield
p ≡ B1 ∨ · · · ∨ Bm
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 273 / 432
![Page 734: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/734.jpg)
Tableau rules for atoms
Consider an atom p such that body P(p) = B1, . . . ,Bm
Rules FTA and BFA amount to implication
B1 ∨ · · · ∨ Bm → p
Rules FFA and BTA amount to implication
p → B1 ∨ · · · ∨ Bm
Together they yield
p ≡ B1 ∨ · · · ∨ Bm
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 273 / 432
![Page 735: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/735.jpg)
Relationship with program completion
Let P be a normal logic program
The eight tableau rules introduced so far essentially provide(straightforward) inferences from CF (P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 274 / 432
![Page 736: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/736.jpg)
Preliminaries for unfounded sets
Let P be a normal logic program
For P ′ ⊆ P, define the greatest unfounded set of P wrt P ′ as
UP(P ′) = atom(P) \ Cn((P ′)∅)
For a loop L ∈ loop(P), define the external bodies of L as
EBP(L) = body(r) | r ∈ P, head(r) ∈ L, body(r)+ ∩ L = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 275 / 432
![Page 737: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/737.jpg)
Preliminaries for unfounded sets
Let P be a normal logic program
For P ′ ⊆ P, define the greatest unfounded set of P wrt P ′ as
UP(P ′) = atom(P) \ Cn((P ′)∅)
For a loop L ∈ loop(P), define the external bodies of L as
EBP(L) = body(r) | r ∈ P, head(r) ∈ L, body(r)+ ∩ L = ∅
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 275 / 432
![Page 738: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/738.jpg)
Well-Founded Negation (WFN)
Prerequisites An atom is in the greatest unfounded set wrt ruleswhose bodies are false
Consequence The atom is false
Tableau Rule WFN
FB1, . . . ,FBm(p ∈ UP(r ∈ P | body(r) 6∈ B1, . . . ,Bm))Fp
Examples
a← ∼bF∼b
(∗)Fa
a← aa← ∼bF∼b
(∗)Fa
(∗) a ∈ UP(P \ a← ∼b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 276 / 432
![Page 739: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/739.jpg)
Well-Founded Negation (WFN)
Prerequisites An atom is in the greatest unfounded set wrt ruleswhose bodies are false
Consequence The atom is false
Tableau Rule WFN
FB1, . . . ,FBm(p ∈ UP(r ∈ P | body(r) 6∈ B1, . . . ,Bm))Fp
Examples
a← ∼bF∼b
(∗)Fa
a← aa← ∼bF∼b
(∗)Fa
(∗) a ∈ UP(P \ a← ∼b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 276 / 432
![Page 740: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/740.jpg)
Well-Founded Justification (WFJ)
Prerequisites A true atom is in the greatest unfounded set wrt ruleswhose bodies are false, if a particular body is made false
Consequence The respective body is true
Tableau Rule WFJ
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
(p ∈ UP (r ∈ P | body(r) 6∈ B1, . . . ,Bm))TBi
Examples
a← ∼bTa
(∗)T∼b
a← aa← ∼b
Ta(∗)T∼b
(∗) a ∈ UP(P \ a← ∼b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 277 / 432
![Page 741: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/741.jpg)
Well-Founded Justification (WFJ)
Prerequisites A true atom is in the greatest unfounded set wrt ruleswhose bodies are false, if a particular body is made false
Consequence The respective body is true
Tableau Rule WFJ
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
(p ∈ UP (r ∈ P | body(r) 6∈ B1, . . . ,Bm))TBi
Examples
a← ∼bTa
(∗)T∼b
a← aa← ∼b
Ta(∗)T∼b
(∗) a ∈ UP(P \ a← ∼b)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 277 / 432
![Page 742: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/742.jpg)
Well-founded tableau rules
Tableau rules WFN and WFJ ensure non-circular support for trueatoms
Note
1 WFN subsumes falsifying atoms via FFA,2 WFJ can be viewed as “backward propagation” for unfounded sets,3 WFJ subsumes backward propagation of true atoms via BTA
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 278 / 432
![Page 743: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/743.jpg)
Well-founded tableau rules
Tableau rules WFN and WFJ ensure non-circular support for trueatoms
Note
1 WFN subsumes falsifying atoms via FFA,2 WFJ can be viewed as “backward propagation” for unfounded sets,3 WFJ subsumes backward propagation of true atoms via BTA
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 278 / 432
![Page 744: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/744.jpg)
Relationship with well-founded operator
Let P be a normal logic program, 〈T ,F 〉 a partial interpretation, andP ′ = r ∈ P | body(r)+ ∩ F = ∅ and body(r)− ∩ T = ∅.
The following conditions are equivalent
1 p ∈ UP〈T ,F 〉2 p ∈ UP (P ′)
Hence, the well-founded operator Ω and WFN coincide
Note In contrast to Ω, WFN does not necessarily require a rule bodyto contain a false literal for the rule being inapplicable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 279 / 432
![Page 745: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/745.jpg)
Relationship with well-founded operator
Let P be a normal logic program, 〈T ,F 〉 a partial interpretation, andP ′ = r ∈ P | body(r)+ ∩ F = ∅ and body(r)− ∩ T = ∅.
The following conditions are equivalent
1 p ∈ UP〈T ,F 〉2 p ∈ UP (P ′)
Hence, the well-founded operator Ω and WFN coincide
Note In contrast to Ω, WFN does not necessarily require a rule bodyto contain a false literal for the rule being inapplicable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 279 / 432
![Page 746: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/746.jpg)
Relationship with well-founded operator
Let P be a normal logic program, 〈T ,F 〉 a partial interpretation, andP ′ = r ∈ P | body(r)+ ∩ F = ∅ and body(r)− ∩ T = ∅.
The following conditions are equivalent
1 p ∈ UP〈T ,F 〉2 p ∈ UP (P ′)
Hence, the well-founded operator Ω and WFN coincide
Note In contrast to Ω, WFN does not necessarily require a rule bodyto contain a false literal for the rule being inapplicable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 279 / 432
![Page 747: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/747.jpg)
Relationship with well-founded operator
Let P be a normal logic program, 〈T ,F 〉 a partial interpretation, andP ′ = r ∈ P | body(r)+ ∩ F = ∅ and body(r)− ∩ T = ∅.
The following conditions are equivalent
1 p ∈ UP〈T ,F 〉2 p ∈ UP (P ′)
Hence, the well-founded operator Ω and WFN coincide
Note In contrast to Ω, WFN does not necessarily require a rule bodyto contain a false literal for the rule being inapplicable
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 279 / 432
![Page 748: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/748.jpg)
Forward Loop (FL)
Prerequisites The external bodies of a loop are false
Consequence The atoms in the loop are false
Tableau Rule FL
FB1, . . . ,FBm(p ∈ L, L ∈ loop(P),EBP(L) = B1, . . . ,Bm)Fp
Example
a← aa← ∼bF∼b
(EBP(a) = ∼b)Fa
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 280 / 432
![Page 749: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/749.jpg)
Forward Loop (FL)
Prerequisites The external bodies of a loop are false
Consequence The atoms in the loop are false
Tableau Rule FL
FB1, . . . ,FBm(p ∈ L, L ∈ loop(P),EBP(L) = B1, . . . ,Bm)Fp
Example
a← aa← ∼bF∼b
(EBP(a) = ∼b)Fa
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 280 / 432
![Page 750: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/750.jpg)
Backward Loop (BL)
Prerequisites An atom of a loop is true, and all external bodies exceptfor one are false
Consequence The residual external body is true
Tableau Rule BL
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
(p ∈ L, L ∈ loop(P),EBP (L) = B1, . . . ,Bm)TBi
Example
a← aa← ∼b
Ta(EBP(a) = ∼b)T∼b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 281 / 432
![Page 751: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/751.jpg)
Backward Loop (BL)
Prerequisites An atom of a loop is true, and all external bodies exceptfor one are false
Consequence The residual external body is true
Tableau Rule BL
TpFB1, . . . ,FBi−1,FBi+1, . . . ,FBm
(p ∈ L, L ∈ loop(P),EBP (L) = B1, . . . ,Bm)TBi
Example
a← aa← ∼b
Ta(EBP(a) = ∼b)T∼b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 281 / 432
![Page 752: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/752.jpg)
Tableau rules for loops
Tableau rules FL and BL ensure non-circular support for true atoms
For a loop L such that EBP(L) = B1, . . . ,Bm,they amount to implications of form∨
p∈L p → B1 ∨ · · · ∨ Bm
Comparison to well-founded tableau rules yields
FL (plus FFA and FFB) is equivalent to WFN (plus FFB),BL cannot simulate inferences via WFJ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 282 / 432
![Page 753: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/753.jpg)
Tableau rules for loops
Tableau rules FL and BL ensure non-circular support for true atoms
For a loop L such that EBP(L) = B1, . . . ,Bm,they amount to implications of form∨
p∈L p → B1 ∨ · · · ∨ Bm
Comparison to well-founded tableau rules yields
FL (plus FFA and FFB) is equivalent to WFN (plus FFB),BL cannot simulate inferences via WFJ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 282 / 432
![Page 754: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/754.jpg)
Tableau rules for loops
Tableau rules FL and BL ensure non-circular support for true atoms
For a loop L such that EBP(L) = B1, . . . ,Bm,they amount to implications of form∨
p∈L p → B1 ∨ · · · ∨ Bm
Comparison to well-founded tableau rules yields
FL (plus FFA and FFB) is equivalent to WFN (plus FFB),BL cannot simulate inferences via WFJ
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 282 / 432
![Page 755: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/755.jpg)
Relationship with loop formulas
Tableau rules FL and BL essentially provide (straightforward)inferences from loop formulas
Impractical to precompute exponentially many loop formulas
In practice, ASP solvers such as smodels and clasp
exploit strongly connected components of positive atomdependency graphs
can be viewed as an interpolation of FL
do not directly implement BL (and neither WFJ)
probably difficult to do efficiently
could simulate BL via FL/WFN by means of failed-literal detection(lookahead)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 283 / 432
![Page 756: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/756.jpg)
Relationship with loop formulas
Tableau rules FL and BL essentially provide (straightforward)inferences from loop formulas
Impractical to precompute exponentially many loop formulas
In practice, ASP solvers such as smodels and clasp
exploit strongly connected components of positive atomdependency graphs
can be viewed as an interpolation of FL
do not directly implement BL (and neither WFJ)
probably difficult to do efficiently
could simulate BL via FL/WFN by means of failed-literal detection(lookahead)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 283 / 432
![Page 757: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/757.jpg)
Relationship with loop formulas
Tableau rules FL and BL essentially provide (straightforward)inferences from loop formulas
Impractical to precompute exponentially many loop formulas
In practice, ASP solvers such as smodels and clasp
exploit strongly connected components of positive atomdependency graphs
can be viewed as an interpolation of FL
do not directly implement BL (and neither WFJ)
probably difficult to do efficiently
could simulate BL via FL/WFN by means of failed-literal detection(lookahead)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 283 / 432
![Page 758: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/758.jpg)
Relationship with loop formulas
Tableau rules FL and BL essentially provide (straightforward)inferences from loop formulas
Impractical to precompute exponentially many loop formulas
In practice, ASP solvers such as smodels and clasp
exploit strongly connected components of positive atomdependency graphs
can be viewed as an interpolation of FL
do not directly implement BL (and neither WFJ)
probably difficult to do efficiently
could simulate BL via FL/WFN by means of failed-literal detection(lookahead)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 283 / 432
![Page 759: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/759.jpg)
Case analysis by Cut
Up to now, all tableau rules are deterministic
That is, rules extend a single branch but cannot create sub-branches
In general, closing a branch leads to a partial assignment
Case analysis is done by Cut[C] where C ⊆ atom(P) ∪ body(P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 284 / 432
![Page 760: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/760.jpg)
Case analysis by Cut
Up to now, all tableau rules are deterministic
That is, rules extend a single branch but cannot create sub-branches
In general, closing a branch leads to a partial assignment
Case analysis is done by Cut[C] where C ⊆ atom(P) ∪ body(P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 284 / 432
![Page 761: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/761.jpg)
Case analysis by Cut
Up to now, all tableau rules are deterministic
That is, rules extend a single branch but cannot create sub-branches
In general, closing a branch leads to a partial assignment
Case analysis is done by Cut[C] where C ⊆ atom(P) ∪ body(P)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 284 / 432
![Page 762: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/762.jpg)
Case analysis by Cut
Prerequisites None
Consequence Two alternative (complementary) entries
Tableau Rule Cut[C]
(v ∈ C)Tv | Fv
Examples
a← ∼bb ← ∼a
(C = atom(P))Ta | Fa
a← ∼bb ← ∼a
(C = body(P))T∼b | F∼b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 285 / 432
![Page 763: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/763.jpg)
Case analysis by Cut
Prerequisites None
Consequence Two alternative (complementary) entries
Tableau Rule Cut[C]
(v ∈ C)Tv | Fv
Examples
a← ∼bb ← ∼a
(C = atom(P))Ta | Fa
a← ∼bb ← ∼a
(C = body(P))T∼b | F∼b
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 285 / 432
![Page 764: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/764.jpg)
Well-known tableau calculi
Fitting’s operator Φ applies forward propagation withoutsophisticated unfounded set checks
TΦ = FTB,FTA,FFB,FFA
Well-founded operator Ω replaces negation of single atoms withnegation of unfounded sets
TΩ = FTB,FTA,FFB,WFN
“Local” propagation via a program’s completion can be determinedby elementary inferences on atoms and rule bodies
Tcompletion = FTB,FTA,FFB,FFA,BTB,BTA,BFB,BFA
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 286 / 432
![Page 765: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/765.jpg)
Well-known tableau calculi
Fitting’s operator Φ applies forward propagation withoutsophisticated unfounded set checks
TΦ = FTB,FTA,FFB,FFA
Well-founded operator Ω replaces negation of single atoms withnegation of unfounded sets
TΩ = FTB,FTA,FFB,WFN
“Local” propagation via a program’s completion can be determinedby elementary inferences on atoms and rule bodies
Tcompletion = FTB,FTA,FFB,FFA,BTB,BTA,BFB,BFA
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 286 / 432
![Page 766: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/766.jpg)
Well-known tableau calculi
Fitting’s operator Φ applies forward propagation withoutsophisticated unfounded set checks
TΦ = FTB,FTA,FFB,FFA
Well-founded operator Ω replaces negation of single atoms withnegation of unfounded sets
TΩ = FTB,FTA,FFB,WFN
“Local” propagation via a program’s completion can be determinedby elementary inferences on atoms and rule bodies
Tcompletion = FTB,FTA,FFB,FFA,BTB,BTA,BFB,BFA
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 286 / 432
![Page 767: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/767.jpg)
Tableau calculi characterizing ASP solvers
ASP solvers combine propagation with case analysis
We obtain the following tableau calculi characterizing
Tcmodels-1 = Tcompletion ∪ Cut[atom(P) ∪ body(P)]Tassat = Tcompletion ∪ FL ∪ Cut[atom(P) ∪ body(P)]Tsmodels = Tcompletion ∪ WFN ∪ Cut[atom(P)]TnoMoRe = Tcompletion ∪ WFN ∪ Cut[body(P)]Tnomore++ = Tcompletion ∪ WFN ∪ Cut[atom(P) ∪ body(P)]
SAT-based ASP solvers, assat and cmodels,incrementally add loop formulas to a program’s completion
Native ASP solvers, smodels, dlv, noMoRe, and nomore++,essentially differ only in their Cut rules
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 287 / 432
![Page 768: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/768.jpg)
Tableau calculi characterizing ASP solvers
ASP solvers combine propagation with case analysis
We obtain the following tableau calculi characterizing
Tcmodels-1 = Tcompletion ∪ Cut[atom(P) ∪ body(P)]Tassat = Tcompletion ∪ FL ∪ Cut[atom(P) ∪ body(P)]Tsmodels = Tcompletion ∪ WFN ∪ Cut[atom(P)]TnoMoRe = Tcompletion ∪ WFN ∪ Cut[body(P)]Tnomore++ = Tcompletion ∪ WFN ∪ Cut[atom(P) ∪ body(P)]
SAT-based ASP solvers, assat and cmodels,incrementally add loop formulas to a program’s completion
Native ASP solvers, smodels, dlv, noMoRe, and nomore++,essentially differ only in their Cut rules
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 287 / 432
![Page 769: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/769.jpg)
Tableau calculi characterizing ASP solvers
ASP solvers combine propagation with case analysis
We obtain the following tableau calculi characterizing
Tcmodels-1 = Tcompletion ∪ Cut[atom(P) ∪ body(P)]Tassat = Tcompletion ∪ FL ∪ Cut[atom(P) ∪ body(P)]Tsmodels = Tcompletion ∪ WFN ∪ Cut[atom(P)]TnoMoRe = Tcompletion ∪ WFN ∪ Cut[body(P)]Tnomore++ = Tcompletion ∪ WFN ∪ Cut[atom(P) ∪ body(P)]
SAT-based ASP solvers, assat and cmodels,incrementally add loop formulas to a program’s completion
Native ASP solvers, smodels, dlv, noMoRe, and nomore++,essentially differ only in their Cut rules
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 287 / 432
![Page 770: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/770.jpg)
Tableau calculi characterizing ASP solvers
ASP solvers combine propagation with case analysis
We obtain the following tableau calculi characterizing
Tcmodels-1 = Tcompletion ∪ Cut[atom(P) ∪ body(P)]Tassat = Tcompletion ∪ FL ∪ Cut[atom(P) ∪ body(P)]Tsmodels = Tcompletion ∪ WFN ∪ Cut[atom(P)]TnoMoRe = Tcompletion ∪ WFN ∪ Cut[body(P)]Tnomore++ = Tcompletion ∪ WFN ∪ Cut[atom(P) ∪ body(P)]
SAT-based ASP solvers, assat and cmodels,incrementally add loop formulas to a program’s completion
Native ASP solvers, smodels, dlv, noMoRe, and nomore++,essentially differ only in their Cut rules
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 287 / 432
![Page 771: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/771.jpg)
Proof complexity
Proof complexity is used for describing the relative efficiency ofdifferent proof systems
It compares proof systems based on minimal refutations
It is independent of heuristics
A proof system T polynomially simulates a proof system T ′, if everyrefutation of T ′ can be polynomially mapped to a refutation of TOtherwise, T does not polynomially simulate T ′
For showing that proof system T does not polynomially simulate T ′,we have to provide an infinite witnessing family of programs such thatminimal refutations of T asymptotically are exponentially larger thanminimal refutations of T ′
The size of tableaux is simply the number of their entries
We do not need to know the precise number of entries:Counting required Cut applications is sufficient !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 288 / 432
![Page 772: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/772.jpg)
Proof complexity
Proof complexity is used for describing the relative efficiency ofdifferent proof systems
It compares proof systems based on minimal refutations
It is independent of heuristics
A proof system T polynomially simulates a proof system T ′, if everyrefutation of T ′ can be polynomially mapped to a refutation of TOtherwise, T does not polynomially simulate T ′
For showing that proof system T does not polynomially simulate T ′,we have to provide an infinite witnessing family of programs such thatminimal refutations of T asymptotically are exponentially larger thanminimal refutations of T ′
The size of tableaux is simply the number of their entries
We do not need to know the precise number of entries:Counting required Cut applications is sufficient !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 288 / 432
![Page 773: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/773.jpg)
Proof complexity
Proof complexity is used for describing the relative efficiency ofdifferent proof systems
It compares proof systems based on minimal refutations
It is independent of heuristics
A proof system T polynomially simulates a proof system T ′, if everyrefutation of T ′ can be polynomially mapped to a refutation of TOtherwise, T does not polynomially simulate T ′
For showing that proof system T does not polynomially simulate T ′,we have to provide an infinite witnessing family of programs such thatminimal refutations of T asymptotically are exponentially larger thanminimal refutations of T ′
The size of tableaux is simply the number of their entries
We do not need to know the precise number of entries:Counting required Cut applications is sufficient !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 288 / 432
![Page 774: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/774.jpg)
Proof complexity
Proof complexity is used for describing the relative efficiency ofdifferent proof systems
It compares proof systems based on minimal refutations
It is independent of heuristics
A proof system T polynomially simulates a proof system T ′, if everyrefutation of T ′ can be polynomially mapped to a refutation of TOtherwise, T does not polynomially simulate T ′
For showing that proof system T does not polynomially simulate T ′,we have to provide an infinite witnessing family of programs such thatminimal refutations of T asymptotically are exponentially larger thanminimal refutations of T ′
The size of tableaux is simply the number of their entries
We do not need to know the precise number of entries:Counting required Cut applications is sufficient !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 288 / 432
![Page 775: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/775.jpg)
Proof complexity
Proof complexity is used for describing the relative efficiency ofdifferent proof systems
It compares proof systems based on minimal refutations
It is independent of heuristics
A proof system T polynomially simulates a proof system T ′, if everyrefutation of T ′ can be polynomially mapped to a refutation of TOtherwise, T does not polynomially simulate T ′
For showing that proof system T does not polynomially simulate T ′,we have to provide an infinite witnessing family of programs such thatminimal refutations of T asymptotically are exponentially larger thanminimal refutations of T ′
The size of tableaux is simply the number of their entries
We do not need to know the precise number of entries:Counting required Cut applications is sufficient !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 288 / 432
![Page 776: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/776.jpg)
Proof complexity
Proof complexity is used for describing the relative efficiency ofdifferent proof systems
It compares proof systems based on minimal refutations
It is independent of heuristics
A proof system T polynomially simulates a proof system T ′, if everyrefutation of T ′ can be polynomially mapped to a refutation of TOtherwise, T does not polynomially simulate T ′
For showing that proof system T does not polynomially simulate T ′,we have to provide an infinite witnessing family of programs such thatminimal refutations of T asymptotically are exponentially larger thanminimal refutations of T ′
The size of tableaux is simply the number of their entries
We do not need to know the precise number of entries:Counting required Cut applications is sufficient !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 288 / 432
![Page 777: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/777.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 778: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/778.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 779: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/779.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 780: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/780.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 781: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/781.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 782: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/782.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 783: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/783.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 784: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/784.jpg)
Tsmodels versus TnoMoRe
Tsmodels restricts Cut to atom(P) and TnoMoRe to body(P)Are both approaches similar or is one of them superior to the other?
Let Pna , Pn
b, and Pnc be infinite families of programs where
Pna =
x ← ∼xx ← a1, b1
...x ← an, bn
Pnb =
x ← c1, . . . , cn,∼xc1 ← a1 c1 ← b1
......
cn ← an cn ← bn
Pnc =
a1 ← ∼b1
b1 ← ∼a1
...an ← ∼bn
bn ← ∼an
In minimal refutations for Pn
a ∪ Pnc , the number of applications of
Cut[body(Pna ∪ Pn
c )] with TnoMoRe is linear in n, whereas Tsmodels
requires exponentially many applications of Cut[atom(Pna ∪ Pn
c )]
Vice versa, minimal refutations for Pnb ∪ Pn
c require linearly manyapplications of Cut[atom(Pn
b ∪ Pnc )] with Tsmodels and exponentially
many applications of Cut[body(Pnb ∪ Pn
c )] with TnoMoRe
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 289 / 432
![Page 785: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/785.jpg)
Relative efficiency
As witnessed by Pna ∪ Pn
c and Pnb ∪ Pn
c , respectively,Tsmodels and TnoMoRe do not polynomially simulate one another
Any refutation of Tsmodels or TnoMoRe is a refutation of Tnomore++
(but not vice versa)
Hence
both Tsmodels and TnoMoRe are polynomially simulated by Tnomore++ andTnomore++ is polynomially simulated by neither Tsmodels nor TnoMoRe
More generally, the proof system obtained withCut[atom(P) ∪ body(P)] is exponentially stronger thanthe ones with either Cut[atom(P)] or Cut[body(P)]
Case analyses (at least) on atoms and bodies are mandatory inpowerful ASP solvers
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 290 / 432
![Page 786: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/786.jpg)
Relative efficiency
As witnessed by Pna ∪ Pn
c and Pnb ∪ Pn
c , respectively,Tsmodels and TnoMoRe do not polynomially simulate one another
Any refutation of Tsmodels or TnoMoRe is a refutation of Tnomore++
(but not vice versa)
Hence
both Tsmodels and TnoMoRe are polynomially simulated by Tnomore++ andTnomore++ is polynomially simulated by neither Tsmodels nor TnoMoRe
More generally, the proof system obtained withCut[atom(P) ∪ body(P)] is exponentially stronger thanthe ones with either Cut[atom(P)] or Cut[body(P)]
Case analyses (at least) on atoms and bodies are mandatory inpowerful ASP solvers
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 290 / 432
![Page 787: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/787.jpg)
Relative efficiency
As witnessed by Pna ∪ Pn
c and Pnb ∪ Pn
c , respectively,Tsmodels and TnoMoRe do not polynomially simulate one another
Any refutation of Tsmodels or TnoMoRe is a refutation of Tnomore++
(but not vice versa)
Hence
both Tsmodels and TnoMoRe are polynomially simulated by Tnomore++ andTnomore++ is polynomially simulated by neither Tsmodels nor TnoMoRe
More generally, the proof system obtained withCut[atom(P) ∪ body(P)] is exponentially stronger thanthe ones with either Cut[atom(P)] or Cut[body(P)]
Case analyses (at least) on atoms and bodies are mandatory inpowerful ASP solvers
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 290 / 432
![Page 788: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/788.jpg)
Relative efficiency
As witnessed by Pna ∪ Pn
c and Pnb ∪ Pn
c , respectively,Tsmodels and TnoMoRe do not polynomially simulate one another
Any refutation of Tsmodels or TnoMoRe is a refutation of Tnomore++
(but not vice versa)
Hence
both Tsmodels and TnoMoRe are polynomially simulated by Tnomore++ andTnomore++ is polynomially simulated by neither Tsmodels nor TnoMoRe
More generally, the proof system obtained withCut[atom(P) ∪ body(P)] is exponentially stronger thanthe ones with either Cut[atom(P)] or Cut[body(P)]
Case analyses (at least) on atoms and bodies are mandatory inpowerful ASP solvers
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 290 / 432
![Page 789: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/789.jpg)
Relative efficiency
As witnessed by Pna ∪ Pn
c and Pnb ∪ Pn
c , respectively,Tsmodels and TnoMoRe do not polynomially simulate one another
Any refutation of Tsmodels or TnoMoRe is a refutation of Tnomore++
(but not vice versa)
Hence
both Tsmodels and TnoMoRe are polynomially simulated by Tnomore++ andTnomore++ is polynomially simulated by neither Tsmodels nor TnoMoRe
More generally, the proof system obtained withCut[atom(P) ∪ body(P)] is exponentially stronger thanthe ones with either Cut[atom(P)] or Cut[body(P)]
Case analyses (at least) on atoms and bodies are mandatory inpowerful ASP solvers
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 290 / 432
![Page 790: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/790.jpg)
Tsmodels: Example tableau
(r1) a← ∼b (r2) b ← d ,∼a (r3) c ← b, d(r4) c ← g (r5) d ← c (r6) d ← g(r7) e ← f ,∼c (r8) f ← ∼g (r9) g ← ∼a,∼f
(1) Ta [Cut](2) T∼b [BTA: r1, 1](3) Fb [BTB: 2](4) Fd,∼a [BFA: r2, 3](5) F∼a,∼f [FFB: r9, 1](6) Fg [FFA: r9, 5](7) T∼g [FTB: r8, 6](8) Tf [FTA: r8, 7](9) Fb, d [FFB: r3, 3](10) Fg [FFB: r4, r6, 6](11) Fc [FFA: r3, r4, 9, 10](12) Fc [FFB: r5, 11](13) Fd [FFA: r5, r6, 10, 12](14) Tf ,∼c [FTB: r7, 8, 11](15) Te [FTA: r7, 14]
(16) Fa [Cut](17) F∼b [BFA: r1, 16](18) Tb [BFB: 17](19) Td,∼a [BTA: r2, 18](20) Td [BTB: 19](21) Tb, d [FTB: r3, 18, 20](22) Tc [FTA: r3, 21](23) Ff ,∼c [FFB: r7, 22](24) Fe [FFA: r7, 23](25) Tc [FTB: r5, 22]
(26) Tf [Cut](27) F∼a,∼f [FFB: r9, 26](28) Fc [WFN: 27]
(29) Ff [Cut](30) T∼a,∼f [FTB: r9, 16, 29](31) Tg [FTA: r9, 30](32) Tg [FTB: r4, r6, 31](33) F∼g [FFB: r8, 31]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 291 / 432
![Page 791: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/791.jpg)
TnoMoRe: Example tableau
(r1) a← ∼b (r2) b ← d ,∼a (r3) c ← b, d(r4) c ← g (r5) d ← c (r6) d ← g(r7) e ← f ,∼c (r8) f ← ∼g (r9) g ← ∼a,∼f
(1) T∼b [Cut](2) Ta [FTA: r1, 1](3) Fb [BTB: 1](4) Fd,∼a [BFA: r2, 3](5) F∼a,∼f [FFB: r9, 2](6) Fg [FFA: r9, 5](7) T∼g [FTB: r8, 6](8) Tf [FTA: r8, 7](9) Fb, d [FFB: r3, 3](10) Fg [FFB: r4, r6, 6](11) Fc [FFA: r3, r4, 9, 10](12) Fc [FFB: r5, 11](13) Fd [FFA: r5, r6, 10, 12](14) Tf ,∼c [FTB: r7, 8, 11](15) Te [FTA: r7, 14]
(16) F∼b [Cut](17) Fa [FFA: r1, 16](18) Tb [BFB: 16](19) Td,∼a [BTA: r2, 18](20) Td [BTB: 19](21) Tb, d [FTB: r3, 18, 20](22) Tc [FTA: r3, 21](23) Ff ,∼c [FFB: r7, 22](24) Fe [FFA: r7, 23](25) Tc [FTB: r5, 22]
(26) T∼g [Cut](27) Fg [BTB: 26](28) Fg [FFB: r4, r6, 27](29) Fc [WFN: 28]
(30) F∼g [Cut](31) Tg [BFB: 30](32) Tg [FTB: r4, r6, 31](33) Ff [FFA: r8, 30](34) T∼a,∼f [FTB: r9, 17, 33]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 292 / 432
![Page 792: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/792.jpg)
Tnomore++: Example tableau
(r1) a← ∼b (r2) b ← d ,∼a (r3) c ← b, d(r4) c ← g (r5) d ← c (r6) d ← g(r7) e ← f ,∼c (r8) f ← ∼g (r9) g ← ∼a,∼f
(1) Ta [Cut](2) T∼b [BTA: r1, 1](3) Fb [BTB: 2](4) Fd,∼a [BFA: r2, 3](5) F∼a,∼f [FFB: r9, 1](6) Fg [FFA: r9, 5](7) T∼g [FTB: r8, 6](8) Tf [FTA: r8, 7](9) Fb, d [FFB: r3, 3](10) Fg [FFB: r4, r6, 6](11) Fc [FFA: r3, r4, 9, 10](12) Fc [FFB: r5, 11](13) Fd [FFA: r5, r6, 10, 12](14) Tf ,∼c [FTB: r7, 8, 11](15) Te [FTA: r7, 14]
(16) Fa [Cut](17) F∼b [BFA: r1, 16](18) Tb [BFB: 17](19) Td,∼a [BTA: r2, 18](20) Td [BTB: 19](21) Tb, d [FTB: r3, 18, 20](22) Tc [FTA: r3, 21](23) Ff ,∼c [FFB: r7, 22](24) Fe [FFA: r7, 23](25) Tc [FTB: r5, 22]
(26) T∼g [Cut](27) Fg [BTB: 26](28) Fg [FFB: r4, r6, 27](29) Fc [WFN: 28]
(30) F∼g [Cut](31) Tg [BFB: 30](32) Tg [FTB: r4, r6, 31](33) Ff [FFA: r8, 30](34) T∼a,∼f [FTB: r9, 16, 33]
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 293 / 432
![Page 793: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/793.jpg)
Conflict-driven ASP Solving: Overview
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 294 / 432
![Page 794: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/794.jpg)
Motivation
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 295 / 432
![Page 795: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/795.jpg)
Motivation
Motivation
Goal Approach to computing stable models of logic programs,based on concepts from
Constraint Processing (CP) andSatisfiability Testing (SAT)
Idea View inferences in ASP as unit propagation on nogoods
Benefits
A uniform constraint-based framework for differentkinds of inferences in ASPAdvanced techniques from the areas of CP and SATHighly competitive implementation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 296 / 432
![Page 796: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/796.jpg)
Boolean constraints
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 297 / 432
![Page 797: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/797.jpg)
Boolean constraints
Assignments
An assignment A over dom(A) = atom(P) ∪ body(P) is a sequence
(σ1, . . . , σn)
of signed literals σi of form Tv or Fv for v ∈ dom(A) and 1 ≤ i ≤ n
Tv expresses that v is true and Fv that it is false
The complement, σ, of a literal σ is defined as Tv = Fv and Fv = Tv
A σ stands for the result of appending σ to A
Given A = (σ1, . . . , σk−1, σk , . . . , σn), we let A[σk ] = (σ1, . . . , σk−1)
We sometimes identify an assignment with the set of its literals
Given this, we access true and false propositions in A via
AT = v ∈ dom(A) | Tv ∈ A and AF = v ∈ dom(A) | Fv ∈ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 298 / 432
![Page 798: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/798.jpg)
Boolean constraints
Assignments
An assignment A over dom(A) = atom(P) ∪ body(P) is a sequence
(σ1, . . . , σn)
of signed literals σi of form Tv or Fv for v ∈ dom(A) and 1 ≤ i ≤ n
Tv expresses that v is true and Fv that it is false
The complement, σ, of a literal σ is defined as Tv = Fv and Fv = Tv
A σ stands for the result of appending σ to A
Given A = (σ1, . . . , σk−1, σk , . . . , σn), we let A[σk ] = (σ1, . . . , σk−1)
We sometimes identify an assignment with the set of its literals
Given this, we access true and false propositions in A via
AT = v ∈ dom(A) | Tv ∈ A and AF = v ∈ dom(A) | Fv ∈ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 298 / 432
![Page 799: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/799.jpg)
Boolean constraints
Assignments
An assignment A over dom(A) = atom(P) ∪ body(P) is a sequence
(σ1, . . . , σn)
of signed literals σi of form Tv or Fv for v ∈ dom(A) and 1 ≤ i ≤ n
Tv expresses that v is true and Fv that it is false
The complement, σ, of a literal σ is defined as Tv = Fv and Fv = Tv
A σ stands for the result of appending σ to A
Given A = (σ1, . . . , σk−1, σk , . . . , σn), we let A[σk ] = (σ1, . . . , σk−1)
We sometimes identify an assignment with the set of its literals
Given this, we access true and false propositions in A via
AT = v ∈ dom(A) | Tv ∈ A and AF = v ∈ dom(A) | Fv ∈ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 298 / 432
![Page 800: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/800.jpg)
Boolean constraints
Assignments
An assignment A over dom(A) = atom(P) ∪ body(P) is a sequence
(σ1, . . . , σn)
of signed literals σi of form Tv or Fv for v ∈ dom(A) and 1 ≤ i ≤ n
Tv expresses that v is true and Fv that it is false
The complement, σ, of a literal σ is defined as Tv = Fv and Fv = Tv
A σ stands for the result of appending σ to A
Given A = (σ1, . . . , σk−1, σk , . . . , σn), we let A[σk ] = (σ1, . . . , σk−1)
We sometimes identify an assignment with the set of its literals
Given this, we access true and false propositions in A via
AT = v ∈ dom(A) | Tv ∈ A and AF = v ∈ dom(A) | Fv ∈ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 298 / 432
![Page 801: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/801.jpg)
Boolean constraints
Assignments
An assignment A over dom(A) = atom(P) ∪ body(P) is a sequence
(σ1, . . . , σn)
of signed literals σi of form Tv or Fv for v ∈ dom(A) and 1 ≤ i ≤ n
Tv expresses that v is true and Fv that it is false
The complement, σ, of a literal σ is defined as Tv = Fv and Fv = Tv
A σ stands for the result of appending σ to A
Given A = (σ1, . . . , σk−1, σk , . . . , σn), we let A[σk ] = (σ1, . . . , σk−1)
We sometimes identify an assignment with the set of its literals
Given this, we access true and false propositions in A via
AT = v ∈ dom(A) | Tv ∈ A and AF = v ∈ dom(A) | Fv ∈ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 298 / 432
![Page 802: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/802.jpg)
Boolean constraints
Assignments
An assignment A over dom(A) = atom(P) ∪ body(P) is a sequence
(σ1, . . . , σn)
of signed literals σi of form Tv or Fv for v ∈ dom(A) and 1 ≤ i ≤ n
Tv expresses that v is true and Fv that it is false
The complement, σ, of a literal σ is defined as Tv = Fv and Fv = Tv
A σ stands for the result of appending σ to A
Given A = (σ1, . . . , σk−1, σk , . . . , σn), we let A[σk ] = (σ1, . . . , σk−1)
We sometimes identify an assignment with the set of its literals
Given this, we access true and false propositions in A via
AT = v ∈ dom(A) | Tv ∈ A and AF = v ∈ dom(A) | Fv ∈ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 298 / 432
![Page 803: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/803.jpg)
Boolean constraints
Assignments
An assignment A over dom(A) = atom(P) ∪ body(P) is a sequence
(σ1, . . . , σn)
of signed literals σi of form Tv or Fv for v ∈ dom(A) and 1 ≤ i ≤ n
Tv expresses that v is true and Fv that it is false
The complement, σ, of a literal σ is defined as Tv = Fv and Fv = Tv
A σ stands for the result of appending σ to A
Given A = (σ1, . . . , σk−1, σk , . . . , σn), we let A[σk ] = (σ1, . . . , σk−1)
We sometimes identify an assignment with the set of its literals
Given this, we access true and false propositions in A via
AT = v ∈ dom(A) | Tv ∈ A and AF = v ∈ dom(A) | Fv ∈ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 298 / 432
![Page 804: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/804.jpg)
Boolean constraints
Nogoods, solutions, and unit propagation
A nogood is a set σ1, . . . , σn of signed literals,expressing a constraint violated by any assignmentcontaining σ1, . . . , σn
An assignment A such that AT ∪ AF = dom(A) and AT ∩ AF = ∅is a solution for a set ∆ of nogoods, if δ 6⊆ A for all δ ∈ ∆
For a nogood δ, a literal σ ∈ δ, and an assignment A, we say thatσ is unit-resulting for δ wrt A, if
1 δ \ A = σ and2 σ 6∈ A
For a set ∆ of nogoods and an assignment A, unit propagation is theiterated process of extending A with unit-resulting literals until nofurther literal is unit-resulting for any nogood in ∆
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 299 / 432
![Page 805: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/805.jpg)
Boolean constraints
Nogoods, solutions, and unit propagation
A nogood is a set σ1, . . . , σn of signed literals,expressing a constraint violated by any assignmentcontaining σ1, . . . , σn
An assignment A such that AT ∪ AF = dom(A) and AT ∩ AF = ∅is a solution for a set ∆ of nogoods, if δ 6⊆ A for all δ ∈ ∆
For a nogood δ, a literal σ ∈ δ, and an assignment A, we say thatσ is unit-resulting for δ wrt A, if
1 δ \ A = σ and2 σ 6∈ A
For a set ∆ of nogoods and an assignment A, unit propagation is theiterated process of extending A with unit-resulting literals until nofurther literal is unit-resulting for any nogood in ∆
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 299 / 432
![Page 806: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/806.jpg)
Boolean constraints
Nogoods, solutions, and unit propagation
A nogood is a set σ1, . . . , σn of signed literals,expressing a constraint violated by any assignmentcontaining σ1, . . . , σn
An assignment A such that AT ∪ AF = dom(A) and AT ∩ AF = ∅is a solution for a set ∆ of nogoods, if δ 6⊆ A for all δ ∈ ∆
For a nogood δ, a literal σ ∈ δ, and an assignment A, we say thatσ is unit-resulting for δ wrt A, if
1 δ \ A = σ and2 σ 6∈ A
For a set ∆ of nogoods and an assignment A, unit propagation is theiterated process of extending A with unit-resulting literals until nofurther literal is unit-resulting for any nogood in ∆
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 299 / 432
![Page 807: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/807.jpg)
Boolean constraints
Nogoods, solutions, and unit propagation
A nogood is a set σ1, . . . , σn of signed literals,expressing a constraint violated by any assignmentcontaining σ1, . . . , σn
An assignment A such that AT ∪ AF = dom(A) and AT ∩ AF = ∅is a solution for a set ∆ of nogoods, if δ 6⊆ A for all δ ∈ ∆
For a nogood δ, a literal σ ∈ δ, and an assignment A, we say thatσ is unit-resulting for δ wrt A, if
1 δ \ A = σ and2 σ 6∈ A
For a set ∆ of nogoods and an assignment A, unit propagation is theiterated process of extending A with unit-resulting literals until nofurther literal is unit-resulting for any nogood in ∆
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 299 / 432
![Page 808: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/808.jpg)
Nogoods from logic programs
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 300 / 432
![Page 809: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/809.jpg)
Nogoods from logic programs Nogoods from program completion
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programsNogoods from program completionNogoods from loop formulas
36 Conflict-driven nogood learning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 301 / 432
![Page 810: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/810.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsvia program completion
The completion of a logic program P can be defined as follows:
vB ↔ a1 ∧ · · · ∧ am ∧ ¬am+1 ∧ · · · ∧ ¬an |B ∈ body(P) and B = a1, . . . , am,∼am+1, . . . ,∼an
∪ a↔ vB1 ∨ · · · ∨ vBk|
a ∈ atom(P) and body P(a) = B1, . . . ,Bk ,
where body P(a) = body(r) | r ∈ P and head(r) = a
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 302 / 432
![Page 811: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/811.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsvia program completion
The (body-oriented) equivalence
vB ↔ a1 ∧ · · · ∧ am ∧ ¬am+1 ∧ · · · ∧ ¬an
can be decomposed into two implications:
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 303 / 432
![Page 812: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/812.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsvia program completion
The (body-oriented) equivalence
vB ↔ a1 ∧ · · · ∧ am ∧ ¬am+1 ∧ · · · ∧ ¬an
can be decomposed into two implications:
1 vB → a1 ∧ · · · ∧ am ∧ ¬am+1 ∧ · · · ∧ ¬an
is equivalent to the conjunction of
¬vB ∨ a1, . . . , ¬vB ∨ am, ¬vB ∨ ¬am+1, . . . , ¬vB ∨ ¬an
and induces the set of nogoods
∆(B) = TB,Fa1, . . . , TB,Fam, TB,Tam+1, . . . , TB,Tan
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 303 / 432
![Page 813: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/813.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsvia program completion
The (body-oriented) equivalence
vB ↔ a1 ∧ · · · ∧ am ∧ ¬am+1 ∧ · · · ∧ ¬an
can be decomposed into two implications:
2 a1 ∧ · · · ∧ am ∧ ¬am+1 ∧ · · · ∧ ¬an → vB
gives rise to the nogood
δ(B) = FB,Ta1, . . . ,Tam,Fam+1, . . . ,Fan
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 303 / 432
![Page 814: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/814.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsvia program completion
Analogously, the (atom-oriented) equivalence
a↔ vB1 ∨ · · · ∨ vBk
yields the nogoods
1 ∆(a) = Fa,TB1, . . . , Fa,TBk and
2 δ(a) = Ta,FB1, . . . ,FBk
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 304 / 432
![Page 815: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/815.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 816: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/816.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 817: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/817.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 818: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/818.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 819: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/819.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 820: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/820.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 821: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/821.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 822: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/822.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 823: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/823.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 824: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/824.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 825: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/825.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 826: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/826.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 827: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/827.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 828: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/828.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsatom-oriented nogoods
For an atom a where body P(a) = B1, . . . ,Bk, we get
Ta,FB1, . . . ,FBk and Fa,TB1, . . . , Fa,TBk
Example Given Atom x with body(x) = y, ∼z, we obtain
x ← yx ← ∼z
Tx ,Fy,F∼z Fx ,Ty, Fx ,T∼z
For nogood Tx ,Fy,F∼z, the signed literal
Fx is unit-resulting wrt assignment (Fy,F∼z) andT∼z is unit-resulting wrt assignment (Tx ,Fy)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 305 / 432
![Page 829: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/829.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsbody-oriented nogoods
For a body B = a1, . . . , am,∼am+1, . . . ,∼an, we get
FB,Ta1, . . . ,Tam,Fam+1, . . . ,Fan TB,Fa1, . . . , TB,Fam, TB,Tam+1, . . . , TB,Tan
Example Given Body x ,∼y, we obtain
. . .← x ,∼y...
. . .← x ,∼y
Fx ,∼y,Tx ,Fy Tx ,∼y,Fx, Tx ,∼y,Ty
For nogood δ(x ,∼y) = Fx ,∼y,Tx ,Fy, the signed literal
Tx ,∼y is unit-resulting wrt assignment (Tx ,Fy) andTy is unit-resulting wrt assignment (Fx ,∼y,Tx)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 306 / 432
![Page 830: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/830.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsbody-oriented nogoods
For a body B = a1, . . . , am,∼am+1, . . . ,∼an, we get
FB,Ta1, . . . ,Tam,Fam+1, . . . ,Fan TB,Fa1, . . . , TB,Fam, TB,Tam+1, . . . , TB,Tan
Example Given Body x ,∼y, we obtain
. . .← x ,∼y...
. . .← x ,∼y
Fx ,∼y,Tx ,Fy Tx ,∼y,Fx, Tx ,∼y,Ty
For nogood δ(x ,∼y) = Fx ,∼y,Tx ,Fy, the signed literal
Tx ,∼y is unit-resulting wrt assignment (Tx ,Fy) andTy is unit-resulting wrt assignment (Fx ,∼y,Tx)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 306 / 432
![Page 831: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/831.jpg)
Nogoods from logic programs Nogoods from program completion
Nogoods from logic programsbody-oriented nogoods
For a body B = a1, . . . , am,∼am+1, . . . ,∼an, we get
FB,Ta1, . . . ,Tam,Fam+1, . . . ,Fan TB,Fa1, . . . , TB,Fam, TB,Tam+1, . . . , TB,Tan
Example Given Body x ,∼y, we obtain
. . .← x ,∼y...
. . .← x ,∼y
Fx ,∼y,Tx ,Fy Tx ,∼y,Fx, Tx ,∼y,Ty
For nogood δ(x ,∼y) = Fx ,∼y,Tx ,Fy, the signed literal
Tx ,∼y is unit-resulting wrt assignment (Tx ,Fy) andTy is unit-resulting wrt assignment (Fx ,∼y,Tx)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 306 / 432
![Page 832: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/832.jpg)
Nogoods from logic programs Nogoods from program completion
Characterization of stable modelsfor tight logic programs
Let P be a logic program and
∆P = δ(a) | a ∈ atom(P) ∪ δ ∈ ∆(a) | a ∈ atom(P)∪ δ(B) | B ∈ body(P) ∪ δ ∈ ∆(B) | B ∈ body(P)
Theorem
Let P be a tight logic program. Then,X ⊆ atom(P) is a stable model of P iffX = AT ∩ atom(P) for a (unique) solution A for ∆P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 307 / 432
![Page 833: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/833.jpg)
Nogoods from logic programs Nogoods from program completion
Characterization of stable modelsfor tight logic programs
Let P be a logic program and
∆P = δ(a) | a ∈ atom(P) ∪ δ ∈ ∆(a) | a ∈ atom(P)∪ δ(B) | B ∈ body(P) ∪ δ ∈ ∆(B) | B ∈ body(P)
Theorem
Let P be a tight logic program. Then,X ⊆ atom(P) is a stable model of P iffX = AT ∩ atom(P) for a (unique) solution A for ∆P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 307 / 432
![Page 834: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/834.jpg)
Nogoods from logic programs Nogoods from program completion
Characterization of stable modelsfor tight logic programs, ie. free of positive recursion
Let P be a logic program and
∆P = δ(a) | a ∈ atom(P) ∪ δ ∈ ∆(a) | a ∈ atom(P)∪ δ(B) | B ∈ body(P) ∪ δ ∈ ∆(B) | B ∈ body(P)
Theorem
Let P be a tight logic program. Then,X ⊆ atom(P) is a stable model of P iffX = AT ∩ atom(P) for a (unique) solution A for ∆P
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 307 / 432
![Page 835: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/835.jpg)
Nogoods from logic programs Nogoods from loop formulas
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programsNogoods from program completionNogoods from loop formulas
36 Conflict-driven nogood learning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 308 / 432
![Page 836: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/836.jpg)
Nogoods from logic programs Nogoods from loop formulas
Nogoods from logic programsvia loop formulas
Let P be a normal logic program and recall that:
For L ⊆ atom(P), the external supports of L for P are
ESP(L) = r ∈ P | head(r) ∈ L and body(r)+ ∩ L = ∅The (disjunctive) loop formula of L for P is
LFP(L) =(∨
A∈LA)→(∨
r∈ESP (L)body(r))
≡(∧
r∈ESP (L)¬body(r))→(∧
A∈L¬A)
Note The loop formula of L enforces all atoms in L to be falsewhenever L is not externally supported
The external bodies of L for P are
EBP(L) = body(r) | r ∈ ESP(L)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 309 / 432
![Page 837: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/837.jpg)
Nogoods from logic programs Nogoods from loop formulas
Nogoods from logic programsvia loop formulas
Let P be a normal logic program and recall that:
For L ⊆ atom(P), the external supports of L for P are
ESP(L) = r ∈ P | head(r) ∈ L and body(r)+ ∩ L = ∅The (disjunctive) loop formula of L for P is
LFP(L) =(∨
A∈LA)→(∨
r∈ESP (L)body(r))
≡(∧
r∈ESP (L)¬body(r))→(∧
A∈L¬A)
Note The loop formula of L enforces all atoms in L to be falsewhenever L is not externally supported
The external bodies of L for P are
EBP(L) = body(r) | r ∈ ESP(L)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 309 / 432
![Page 838: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/838.jpg)
Nogoods from logic programs Nogoods from loop formulas
Nogoods from logic programsvia loop formulas
Let P be a normal logic program and recall that:
For L ⊆ atom(P), the external supports of L for P are
ESP(L) = r ∈ P | head(r) ∈ L and body(r)+ ∩ L = ∅The (disjunctive) loop formula of L for P is
LFP(L) =(∨
A∈LA)→(∨
r∈ESP (L)body(r))
≡(∧
r∈ESP (L)¬body(r))→(∧
A∈L¬A)
Note The loop formula of L enforces all atoms in L to be falsewhenever L is not externally supported
The external bodies of L for P are
EBP(L) = body(r) | r ∈ ESP(L)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 309 / 432
![Page 839: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/839.jpg)
Nogoods from logic programs Nogoods from loop formulas
Nogoods from logic programsloop nogoods
For a logic program P and some ∅ ⊂ U ⊆ atom(P),define the loop nogood of an atom a ∈ U as
λ(a,U) = Ta,FB1, . . . ,FBkwhere EBP(U) = B1, . . . ,Bk
We get the following set of loop nogoods for P:
ΛP =⋃∅⊂U⊆atom(P)λ(a,U) | a ∈ U
The set ΛP of loop nogoods denies cyclic support among true atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 310 / 432
![Page 840: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/840.jpg)
Nogoods from logic programs Nogoods from loop formulas
Nogoods from logic programsloop nogoods
For a logic program P and some ∅ ⊂ U ⊆ atom(P),define the loop nogood of an atom a ∈ U as
λ(a,U) = Ta,FB1, . . . ,FBkwhere EBP(U) = B1, . . . ,Bk
We get the following set of loop nogoods for P:
ΛP =⋃∅⊂U⊆atom(P)λ(a,U) | a ∈ U
The set ΛP of loop nogoods denies cyclic support among true atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 310 / 432
![Page 841: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/841.jpg)
Nogoods from logic programs Nogoods from loop formulas
Nogoods from logic programsloop nogoods
For a logic program P and some ∅ ⊂ U ⊆ atom(P),define the loop nogood of an atom a ∈ U as
λ(a,U) = Ta,FB1, . . . ,FBkwhere EBP(U) = B1, . . . ,Bk
We get the following set of loop nogoods for P:
ΛP =⋃∅⊂U⊆atom(P)λ(a,U) | a ∈ U
The set ΛP of loop nogoods denies cyclic support among true atoms
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 310 / 432
![Page 842: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/842.jpg)
Nogoods from logic programs Nogoods from loop formulas
Example
Consider the program x ← ∼yy ← ∼x
u ← xu ← vv ← u, y
For u in the set u, v, we obtain the loop nogood:
λ(u, u, v) = Tu,FxSimilarly for v in u, v, we get:
λ(v , u, v) = Tv ,Fx
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 311 / 432
![Page 843: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/843.jpg)
Nogoods from logic programs Nogoods from loop formulas
Example
Consider the program x ← ∼yy ← ∼x
u ← xu ← vv ← u, y
For u in the set u, v, we obtain the loop nogood:
λ(u, u, v) = Tu,FxSimilarly for v in u, v, we get:
λ(v , u, v) = Tv ,Fx
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 311 / 432
![Page 844: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/844.jpg)
Nogoods from logic programs Nogoods from loop formulas
Example
Consider the program x ← ∼yy ← ∼x
u ← xu ← vv ← u, y
For u in the set u, v, we obtain the loop nogood:
λ(u, u, v) = Tu,FxSimilarly for v in u, v, we get:
λ(v , u, v) = Tv ,Fx
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 311 / 432
![Page 845: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/845.jpg)
Nogoods from logic programs Nogoods from loop formulas
Characterization of stable models
Theorem
Let P be a logic program. Then,X ⊆ atom(P) is a stable model of P iffX = AT ∩ atom(P) for a (unique) solution A for ∆P ∪ ΛP
Some remarks
Nogoods in ΛP augment ∆P with conditions checkingfor unfounded sets, in particular, those being loopsWhile |∆P | is linear in the size of P, ΛP may containexponentially many (non-redundant) loop nogoods
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 312 / 432
![Page 846: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/846.jpg)
Nogoods from logic programs Nogoods from loop formulas
Characterization of stable models
Theorem
Let P be a logic program. Then,X ⊆ atom(P) is a stable model of P iffX = AT ∩ atom(P) for a (unique) solution A for ∆P ∪ ΛP
Some remarks
Nogoods in ΛP augment ∆P with conditions checkingfor unfounded sets, in particular, those being loopsWhile |∆P | is linear in the size of P, ΛP may containexponentially many (non-redundant) loop nogoods
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 312 / 432
![Page 847: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/847.jpg)
Conflict-driven nogood learning
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learning
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 313 / 432
![Page 848: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/848.jpg)
Conflict-driven nogood learning
Towards conflict-driven search
Boolean constraint solving algorithms pioneered for SAT led to:
Traditional DPLL-style approach(DPLL stands for ‘Davis-Putnam-Logemann-Loveland’)
(Unit) propagation(Chronological) backtracking
in ASP, eg smodels
Modern CDCL-style approach(CDCL stands for ‘Conflict-Driven Constraint Learning’)
(Unit) propagationConflict analysis (via resolution)Learning + Backjumping + Assertion
in ASP, eg clasp
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 314 / 432
![Page 849: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/849.jpg)
Conflict-driven nogood learning
DPLL-style solving
loop
propagate // deterministically assign literals
if no conflict thenif all variables assigned then return solutionelse decide // non-deterministically assign some literal
elseif top-level conflict then return unsatisfiableelse
backtrack // unassign literals propagated after last decisionflip // assign complement of last decision literal
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 315 / 432
![Page 850: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/850.jpg)
Conflict-driven nogood learning
CDCL-style solving
loop
propagate // deterministically assign literals
if no conflict thenif all variables assigned then return solutionelse decide // non-deterministically assign some literal
elseif top-level conflict then return unsatisfiableelse
analyze // analyze conflict and add conflict constraintbackjump // unassign literals until conflict constraint is unit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 316 / 432
![Page 851: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/851.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learningCDNL-ASP AlgorithmNogood PropagationConflict Analysis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 317 / 432
![Page 852: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/852.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Outline of CDNL-ASP algorithm
Keep track of deterministic consequences by unit propagation on:
Program completion [∆P ]Loop nogoods, determined and recorded on demand [ΛP ]Dynamic nogoods, derived from conflicts and unfounded sets [∇]
When a nogood in ∆P ∪∇ becomes violated:
Analyze the conflict by resolution(until reaching a Unique Implication Point, short: UIP)Learn the derived conflict nogood δBackjump to the earliest (heuristic) choice such that thecomplement of the UIP is unit-resulting for δAssert the complement of the UIP and proceed(by unit propagation)
Terminate when either:
Finding a stable model (a solution for ∆P ∪ ΛP )Deriving a conflict independently of (heuristic) choices
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 318 / 432
![Page 853: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/853.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Outline of CDNL-ASP algorithm
Keep track of deterministic consequences by unit propagation on:
Program completion [∆P ]Loop nogoods, determined and recorded on demand [ΛP ]Dynamic nogoods, derived from conflicts and unfounded sets [∇]
When a nogood in ∆P ∪∇ becomes violated:
Analyze the conflict by resolution(until reaching a Unique Implication Point, short: UIP)Learn the derived conflict nogood δBackjump to the earliest (heuristic) choice such that thecomplement of the UIP is unit-resulting for δAssert the complement of the UIP and proceed(by unit propagation)
Terminate when either:
Finding a stable model (a solution for ∆P ∪ ΛP )Deriving a conflict independently of (heuristic) choices
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 318 / 432
![Page 854: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/854.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Outline of CDNL-ASP algorithm
Keep track of deterministic consequences by unit propagation on:
Program completion [∆P ]Loop nogoods, determined and recorded on demand [ΛP ]Dynamic nogoods, derived from conflicts and unfounded sets [∇]
When a nogood in ∆P ∪∇ becomes violated:
Analyze the conflict by resolution(until reaching a Unique Implication Point, short: UIP)Learn the derived conflict nogood δBackjump to the earliest (heuristic) choice such that thecomplement of the UIP is unit-resulting for δAssert the complement of the UIP and proceed(by unit propagation)
Terminate when either:
Finding a stable model (a solution for ∆P ∪ ΛP )Deriving a conflict independently of (heuristic) choices
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 318 / 432
![Page 855: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/855.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Algorithm 2: CDNL-ASP
Input : A normal program POutput : A stable model of P or “no stable model”
A := ∅ // assignment over atom(P) ∪ body(P)∇ := ∅ // set of recorded nogoodsdl := 0 // decision level
loop(A,∇) := NogoodPropagation(P,∇,A)
if ε ⊆ A for some ε ∈ ∆P ∪∇ then // conflict
if max(dlevel(σ) | σ ∈ ε ∪ 0) = 0 then return no stable model(δ, dl) := ConflictAnalysis(ε,P,∇,A)∇ := ∇∪ δ // (temporarily) record conflict nogoodA := A \ σ ∈ A | dl < dlevel(σ) // backjumping
else if AT ∪ AF = atom(P) ∪ body(P) then // stable modelreturn AT ∩ atom(P)
elseσd := Select(P,∇,A) // decisiondl := dl + 1dlevel(σd ) := dlA := A σd
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 319 / 432
![Page 856: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/856.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Observations
Decision level dl , initially set to 0, is used to count the number ofheuristically chosen literals in assignment A
For a heuristically chosen literal σd = Ta or σd = Fa, respectively, werequire a ∈ (atom(P) ∪ body(P)) \ (AT ∪ AF)
For any literal σ ∈ A, dl(σ) denotes the decision level of σ, viz. thevalue dl had when σ was assigned
A conflict is detected from violation of a nogood ε ⊆ ∆P ∪∇A conflict at decision level 0 (where A contains no heuristicallychosen literals) indicates non-existence of stable models
A nogood δ derived by conflict analysis is asserting, that is,some literal is unit-resulting for δ at a decision level k < dl
After learning δ and backjumping to decision level k,at least one literal is newly derivable by unit propagationNo explicit flipping of heuristically chosen literals !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 320 / 432
![Page 857: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/857.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Observations
Decision level dl , initially set to 0, is used to count the number ofheuristically chosen literals in assignment A
For a heuristically chosen literal σd = Ta or σd = Fa, respectively, werequire a ∈ (atom(P) ∪ body(P)) \ (AT ∪ AF)
For any literal σ ∈ A, dl(σ) denotes the decision level of σ, viz. thevalue dl had when σ was assigned
A conflict is detected from violation of a nogood ε ⊆ ∆P ∪∇A conflict at decision level 0 (where A contains no heuristicallychosen literals) indicates non-existence of stable models
A nogood δ derived by conflict analysis is asserting, that is,some literal is unit-resulting for δ at a decision level k < dl
After learning δ and backjumping to decision level k,at least one literal is newly derivable by unit propagationNo explicit flipping of heuristically chosen literals !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 320 / 432
![Page 858: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/858.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Observations
Decision level dl , initially set to 0, is used to count the number ofheuristically chosen literals in assignment A
For a heuristically chosen literal σd = Ta or σd = Fa, respectively, werequire a ∈ (atom(P) ∪ body(P)) \ (AT ∪ AF)
For any literal σ ∈ A, dl(σ) denotes the decision level of σ, viz. thevalue dl had when σ was assigned
A conflict is detected from violation of a nogood ε ⊆ ∆P ∪∇A conflict at decision level 0 (where A contains no heuristicallychosen literals) indicates non-existence of stable models
A nogood δ derived by conflict analysis is asserting, that is,some literal is unit-resulting for δ at a decision level k < dl
After learning δ and backjumping to decision level k,at least one literal is newly derivable by unit propagationNo explicit flipping of heuristically chosen literals !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 320 / 432
![Page 859: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/859.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)...
...Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 321 / 432
![Page 860: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/860.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)...
...Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 321 / 432
![Page 861: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/861.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)...
...Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 321 / 432
![Page 862: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/862.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)...
...Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 321 / 432
![Page 863: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/863.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)...
...Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 321 / 432
![Page 864: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/864.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)...
...Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 321 / 432
![Page 865: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/865.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)...
...Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 321 / 432
![Page 866: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/866.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 TuTx Tu,Fx ∈ ∇...
...Tv Fv ,Tx ∈ ∆(v)Fy Ty ,F∼x = δ(y)Fw Tw ,F∼x ,∼y = δ(w)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 322 / 432
![Page 867: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/867.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 TuTx Tu,Fx ∈ ∇...
...Tv Fv ,Tx ∈ ∆(v)Fy Ty ,F∼x = δ(y)Fw Tw ,F∼x ,∼y = δ(w)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 322 / 432
![Page 868: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/868.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 TuTx Tu,Fx ∈ ∇...
...Tv Fv ,Tx ∈ ∆(v)Fy Ty ,F∼x = δ(y)Fw Tw ,F∼x ,∼y = δ(w)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 322 / 432
![Page 869: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/869.jpg)
Conflict-driven nogood learning CDNL-ASP Algorithm
Example: CDNL-ASP
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 TuTx Tu,Fx ∈ ∇...
...Tv Fv ,Tx ∈ ∆(v)Fy Ty ,F∼x = δ(y)Fw Tw ,F∼x ,∼y = δ(w)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 322 / 432
![Page 870: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/870.jpg)
Conflict-driven nogood learning Nogood Propagation
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learningCDNL-ASP AlgorithmNogood PropagationConflict Analysis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 323 / 432
![Page 871: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/871.jpg)
Conflict-driven nogood learning Nogood Propagation
Outline of NogoodPropagation
Derive deterministic consequences via:
Unit propagation on ∆P and ∇;Unfounded sets U ⊆ atom(P)
Note that U is unfounded if EBP(U) ⊆ AF
Note For any a ∈ U, we have (λ(a,U) \ Ta) ⊆ A
An “interesting” unfounded set U satisfies:
∅ ⊂ U ⊆ (atom(P) \ AF)
Wrt a fixpoint of unit propagation,such an unfounded set contains some loop of P
Note Tight programs do not yield “interesting” unfounded sets !
Given an unfounded set U and some a ∈ U, adding λ(a,U) to ∇triggers a conflict or further derivations by unit propagation
Note Add loop nogoods atom by atom to eventually falsify all a ∈ U
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 324 / 432
![Page 872: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/872.jpg)
Conflict-driven nogood learning Nogood Propagation
Outline of NogoodPropagation
Derive deterministic consequences via:
Unit propagation on ∆P and ∇;Unfounded sets U ⊆ atom(P)
Note that U is unfounded if EBP(U) ⊆ AF
Note For any a ∈ U, we have (λ(a,U) \ Ta) ⊆ A
An “interesting” unfounded set U satisfies:
∅ ⊂ U ⊆ (atom(P) \ AF)
Wrt a fixpoint of unit propagation,such an unfounded set contains some loop of P
Note Tight programs do not yield “interesting” unfounded sets !
Given an unfounded set U and some a ∈ U, adding λ(a,U) to ∇triggers a conflict or further derivations by unit propagation
Note Add loop nogoods atom by atom to eventually falsify all a ∈ U
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 324 / 432
![Page 873: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/873.jpg)
Conflict-driven nogood learning Nogood Propagation
Outline of NogoodPropagation
Derive deterministic consequences via:
Unit propagation on ∆P and ∇;Unfounded sets U ⊆ atom(P)
Note that U is unfounded if EBP(U) ⊆ AF
Note For any a ∈ U, we have (λ(a,U) \ Ta) ⊆ A
An “interesting” unfounded set U satisfies:
∅ ⊂ U ⊆ (atom(P) \ AF)
Wrt a fixpoint of unit propagation,such an unfounded set contains some loop of P
Note Tight programs do not yield “interesting” unfounded sets !
Given an unfounded set U and some a ∈ U, adding λ(a,U) to ∇triggers a conflict or further derivations by unit propagation
Note Add loop nogoods atom by atom to eventually falsify all a ∈ U
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 324 / 432
![Page 874: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/874.jpg)
Conflict-driven nogood learning Nogood Propagation
Outline of NogoodPropagation
Derive deterministic consequences via:
Unit propagation on ∆P and ∇;Unfounded sets U ⊆ atom(P)
Note that U is unfounded if EBP(U) ⊆ AF
Note For any a ∈ U, we have (λ(a,U) \ Ta) ⊆ A
An “interesting” unfounded set U satisfies:
∅ ⊂ U ⊆ (atom(P) \ AF)
Wrt a fixpoint of unit propagation,such an unfounded set contains some loop of P
Note Tight programs do not yield “interesting” unfounded sets !
Given an unfounded set U and some a ∈ U, adding λ(a,U) to ∇triggers a conflict or further derivations by unit propagation
Note Add loop nogoods atom by atom to eventually falsify all a ∈ U
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 324 / 432
![Page 875: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/875.jpg)
Conflict-driven nogood learning Nogood Propagation
Algorithm 3: NogoodPropagation
Input : A normal program P, a set ∇ of nogoods, and an assignment A.Output : An extended assignment and set of nogoods.
U := ∅ // unfounded set
looprepeat
if δ ⊆ A for some δ ∈ ∆P ∪∇ then return (A,∇) // conflictΣ := δ ∈ ∆P ∪∇ | δ \ A = σ, σ /∈ A // unit-resulting nogoodsif Σ 6= ∅ then let σ ∈ δ \ A for some δ ∈ Σ in
dlevel(σ) := max(dlevel(ρ) | ρ ∈ δ \ σ ∪ 0)A := A σ
until Σ = ∅if loop(P) = ∅ then return (A,∇)
U := U \ AF
if U = ∅ then U := UnfoundedSet(P,A)
if U = ∅ then return (A,∇) // no unfounded set ∅ ⊂ U ⊆ atom(P) \ AF
let a ∈ U in∇ := ∇∪ Ta ∪ FB | B ∈ EBP (U) // record loop nogood
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 325 / 432
![Page 876: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/876.jpg)
Conflict-driven nogood learning Nogood Propagation
Requirements for UnfoundedSet
Implementations of UnfoundedSet must guarantee the followingfor a result U
1 U ⊆ (atom(P) \ AF)2 EBP (U) ⊆ AF
3 U = ∅ iff there is no nonempty unfounded subset of (atom(P) \ AF)
Beyond that, there are various alternatives, such as:
Calculating the greatest unfounded setCalculating unfounded sets within strongly connected components ofthe positive atom dependency graph of P
Usually, the latter option is implemented in ASP solvers
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 326 / 432
![Page 877: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/877.jpg)
Conflict-driven nogood learning Nogood Propagation
Requirements for UnfoundedSet
Implementations of UnfoundedSet must guarantee the followingfor a result U
1 U ⊆ (atom(P) \ AF)2 EBP (U) ⊆ AF
3 U = ∅ iff there is no nonempty unfounded subset of (atom(P) \ AF)
Beyond that, there are various alternatives, such as:
Calculating the greatest unfounded setCalculating unfounded sets within strongly connected components ofthe positive atom dependency graph of P
Usually, the latter option is implemented in ASP solvers
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 326 / 432
![Page 878: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/878.jpg)
Conflict-driven nogood learning Nogood Propagation
Example: NogoodPropagation
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ
1 Tu
2 F∼x ,∼yFw Tw ,F∼x ,∼y = δ(w)
3 F∼yFx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x)Fx , y Tx , y,Fx ∈ ∆(x , y)T∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 327 / 432
![Page 879: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/879.jpg)
Conflict-driven nogood learning Conflict Analysis
Outline
33 Motivation
34 Boolean constraints
35 Nogoods from logic programs
36 Conflict-driven nogood learningCDNL-ASP AlgorithmNogood PropagationConflict Analysis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 328 / 432
![Page 880: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/880.jpg)
Conflict-driven nogood learning Conflict Analysis
Outline of ConflictAnalysis
Conflict analysis is triggered whenever some nogood δ ∈ ∆P ∪∇becomes violated, viz. δ ⊆ A, at a decision level dl > 0
Note that all but the first literal assigned at dl have been unit-resultingfor nogoods ε ∈ ∆P ∪∇If σ ∈ δ has been unit-resulting for ε, we obtain a new violated nogoodby resolving δ and ε as follows:
(δ \ σ) ∪ (ε \ σ)
Resolution is directed by resolving first over the literal σ ∈ δ derivedlast, viz. (δ \ A[σ]) = σ
Iterated resolution progresses in inverse order of assignment
Iterated resolution stops as soon as it generates a nogood δcontaining exactly one literal σ assigned at decision level dl
This literal σ is called First Unique Implication Point (First-UIP)All literals in (δ \ σ) are assigned at decision levels smaller than dl
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 329 / 432
![Page 881: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/881.jpg)
Conflict-driven nogood learning Conflict Analysis
Outline of ConflictAnalysis
Conflict analysis is triggered whenever some nogood δ ∈ ∆P ∪∇becomes violated, viz. δ ⊆ A, at a decision level dl > 0
Note that all but the first literal assigned at dl have been unit-resultingfor nogoods ε ∈ ∆P ∪∇If σ ∈ δ has been unit-resulting for ε, we obtain a new violated nogoodby resolving δ and ε as follows:
(δ \ σ) ∪ (ε \ σ)
Resolution is directed by resolving first over the literal σ ∈ δ derivedlast, viz. (δ \ A[σ]) = σ
Iterated resolution progresses in inverse order of assignment
Iterated resolution stops as soon as it generates a nogood δcontaining exactly one literal σ assigned at decision level dl
This literal σ is called First Unique Implication Point (First-UIP)All literals in (δ \ σ) are assigned at decision levels smaller than dl
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 329 / 432
![Page 882: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/882.jpg)
Conflict-driven nogood learning Conflict Analysis
Outline of ConflictAnalysis
Conflict analysis is triggered whenever some nogood δ ∈ ∆P ∪∇becomes violated, viz. δ ⊆ A, at a decision level dl > 0
Note that all but the first literal assigned at dl have been unit-resultingfor nogoods ε ∈ ∆P ∪∇If σ ∈ δ has been unit-resulting for ε, we obtain a new violated nogoodby resolving δ and ε as follows:
(δ \ σ) ∪ (ε \ σ)
Resolution is directed by resolving first over the literal σ ∈ δ derivedlast, viz. (δ \ A[σ]) = σ
Iterated resolution progresses in inverse order of assignment
Iterated resolution stops as soon as it generates a nogood δcontaining exactly one literal σ assigned at decision level dl
This literal σ is called First Unique Implication Point (First-UIP)All literals in (δ \ σ) are assigned at decision levels smaller than dl
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 329 / 432
![Page 883: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/883.jpg)
Conflict-driven nogood learning Conflict Analysis
Algorithm 4: ConflictAnalysis
Input : A non-empty violated nogood δ, a normal program P, a set ∇ ofnogoods, and an assignment A.
Output : A derived nogood and a decision level.
looplet σ ∈ δ such that δ \ A[σ] = σ in
k := max(dlevel(ρ) | ρ ∈ δ \ σ ∪ 0)if k = dlevel(σ) then
let ε ∈ ∆P ∪∇ such that ε \ A[σ] = σ inδ := (δ \ σ) ∪ (ε \ σ) // resolution
else return (δ, k)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 330 / 432
![Page 884: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/884.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 885: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/885.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 886: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/886.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 887: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/887.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 888: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/888.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 889: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/889.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 890: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/890.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 891: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/891.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 892: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/892.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 893: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/893.jpg)
Conflict-driven nogood learning Conflict Analysis
Example: ConflictAnalysis
Consider
P =
x ← ∼yy ← ∼x
u ← x , yu ← v
v ← xv ← u, y
w ← ∼x ,∼y
dl σd σ δ1 Tu2 F∼x ,∼y
Fw Tw ,F∼x ,∼y = δ(w)3 F∼y
Fx Tx ,F∼y = δ(x)Fx Tx,Fx ∈ ∆(x) Tu,FxFx , y Tx , y,Fx ∈ ∆(x , y) Tu,Fx ,FxT∼x F∼x,Fx = δ(∼x)Ty F∼y,Fy = δ(∼y)Tv Tu,Fx , y,Fv = δ(u)Tu, y Fu, y,Tu,Ty = δ(u, y)Tv Fv ,Tu, y ∈ ∆(v)
Tu,Fx,Fx , y = λ(u, u, v) 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 331 / 432
![Page 894: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/894.jpg)
Conflict-driven nogood learning Conflict Analysis
Remarks
There always is a First-UIP at which conflict analysis terminates
In the worst, resolution stops at the heuristically chosen literalassigned at decision level dl
The nogood δ containing First-UIP σ is violated by A, viz. δ ⊆ A
We have k = max(dl(ρ) | ρ ∈ δ \ σ ∪ 0) < dl
After recording δ in ∇ and backjumping to decision level k,σ is unit-resulting for δ !Such a nogood δ is called asserting
Asserting nogoods direct conflict-driven search into a different regionof the search space than traversed before,without explicitly flipping any heuristically chosen literal !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 332 / 432
![Page 895: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/895.jpg)
Conflict-driven nogood learning Conflict Analysis
Remarks
There always is a First-UIP at which conflict analysis terminates
In the worst, resolution stops at the heuristically chosen literalassigned at decision level dl
The nogood δ containing First-UIP σ is violated by A, viz. δ ⊆ A
We have k = max(dl(ρ) | ρ ∈ δ \ σ ∪ 0) < dl
After recording δ in ∇ and backjumping to decision level k,σ is unit-resulting for δ !Such a nogood δ is called asserting
Asserting nogoods direct conflict-driven search into a different regionof the search space than traversed before,without explicitly flipping any heuristically chosen literal !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 332 / 432
![Page 896: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/896.jpg)
Conflict-driven nogood learning Conflict Analysis
Remarks
There always is a First-UIP at which conflict analysis terminates
In the worst, resolution stops at the heuristically chosen literalassigned at decision level dl
The nogood δ containing First-UIP σ is violated by A, viz. δ ⊆ A
We have k = max(dl(ρ) | ρ ∈ δ \ σ ∪ 0) < dl
After recording δ in ∇ and backjumping to decision level k,σ is unit-resulting for δ !Such a nogood δ is called asserting
Asserting nogoods direct conflict-driven search into a different regionof the search space than traversed before,without explicitly flipping any heuristically chosen literal !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 332 / 432
![Page 897: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/897.jpg)
Conflict-driven nogood learning Conflict Analysis
Remarks
There always is a First-UIP at which conflict analysis terminates
In the worst, resolution stops at the heuristically chosen literalassigned at decision level dl
The nogood δ containing First-UIP σ is violated by A, viz. δ ⊆ A
We have k = max(dl(ρ) | ρ ∈ δ \ σ ∪ 0) < dl
After recording δ in ∇ and backjumping to decision level k,σ is unit-resulting for δ !Such a nogood δ is called asserting
Asserting nogoods direct conflict-driven search into a different regionof the search space than traversed before,without explicitly flipping any heuristically chosen literal !
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 332 / 432
![Page 898: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/898.jpg)
Systems: Overview
37 Potassco
38 gringo
39 clasp
40 Siblings
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 333 / 432
![Page 899: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/899.jpg)
Potassco
Outline
37 Potassco
38 gringo
39 clasp
40 Siblings
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 334 / 432
![Page 900: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/900.jpg)
Potassco
potassco.sourceforge.net
Potassco, the Potsdam Answer Set Solving Collection,bundles tools for ASP developed at the University of Potsdam,for instance:
Grounder gringo, lingo, pyngo
Solver clasp, a,h,unclasp, claspD, claspfolio, claspar, aspeed
Grounder+Solver Clingo, iClingo, rosoClingo, Clingcon
Further Tools aspuncud, coala, fimo, metasp, plasp, etc
Benchmark repository asparagus.cs.uni-potsdam.de
Teaching material potassco.sourceforge.net/teaching.html
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 335 / 432
![Page 901: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/901.jpg)
Potassco
potassco.sourceforge.net
Potassco, the Potsdam Answer Set Solving Collection,bundles tools for ASP developed at the University of Potsdam,for instance:
Grounder gringo, lingo, pyngo
Solver clasp, a,h,unclasp, claspD, claspfolio, claspar, aspeed
Grounder+Solver Clingo, iClingo, rosoClingo, Clingcon
Further Tools aspuncud, coala, fimo, metasp, plasp, etc
Benchmark repository asparagus.cs.uni-potsdam.de
Teaching material potassco.sourceforge.net/teaching.html
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 335 / 432
![Page 902: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/902.jpg)
Potassco
potassco.sourceforge.net
Potassco, the Potsdam Answer Set Solving Collection,bundles tools for ASP developed at the University of Potsdam,for instance:
Grounder gringo, lingo, pyngo
Solver clasp, a,h,unclasp, claspD, claspfolio, claspar, aspeed
Grounder+Solver Clingo, iClingo, rosoClingo, Clingcon
Further Tools aspuncud, coala, fimo, metasp, plasp, etc
Benchmark repository asparagus.cs.uni-potsdam.de
Teaching material potassco.sourceforge.net/teaching.html
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 335 / 432
![Page 903: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/903.jpg)
gringo
Outline
37 Potassco
38 gringo
39 clasp
40 Siblings
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 336 / 432
![Page 904: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/904.jpg)
gringo
gringo
Accepts safe programs with aggregates
Tolerates unrestricted use of function symbols(as long as it yields a finite ground instantiation :)
Expressive power of a Turing machine
Basic architecture of gringo:
Parser Preprocessor Grounder Output
--lparse--text--reify
--ground
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 337 / 432
![Page 905: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/905.jpg)
clasp
Outline
37 Potassco
38 gringo
39 clasp
40 Siblings
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 338 / 432
![Page 906: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/906.jpg)
clasp
clasp
clasp is a native ASP solver combining conflict-driven search withsophisticated reasoning techniques:
advanced preprocessing, including equivalence reasoninglookback-based decision heuristicsrestart policiesnogood deletionprogress savingdedicated data structures for binary and ternary nogoodslazy data structures (watched literals) for long nogoodsdedicated data structures for cardinality and weight constraintslazy unfounded set checking based on “source pointers”tight integration of unit propagation and unfounded set checkingvarious reasoning modesparallel search. . .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 339 / 432
![Page 907: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/907.jpg)
clasp
clasp
clasp is a native ASP solver combining conflict-driven search withsophisticated reasoning techniques:
advanced preprocessing, including equivalence reasoninglookback-based decision heuristicsrestart policiesnogood deletionprogress savingdedicated data structures for binary and ternary nogoodslazy data structures (watched literals) for long nogoodsdedicated data structures for cardinality and weight constraintslazy unfounded set checking based on “source pointers”tight integration of unit propagation and unfounded set checkingvarious reasoning modesparallel search. . .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 339 / 432
![Page 908: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/908.jpg)
clasp
clasp
clasp is a native ASP solver combining conflict-driven search withsophisticated reasoning techniques:
advanced preprocessing, including equivalence reasoninglookback-based decision heuristicsrestart policiesnogood deletionprogress savingdedicated data structures for binary and ternary nogoodslazy data structures (watched literals) for long nogoodsdedicated data structures for cardinality and weight constraintslazy unfounded set checking based on “source pointers”tight integration of unit propagation and unfounded set checkingvarious reasoning modesparallel search. . .
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 339 / 432
![Page 909: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/909.jpg)
clasp
Reasoning modes of clasp
Beyond deciding (stable) model existence, clasp allows for:
OptimizationEnumeration (without solution recording)Projective enumeration (without solution recording)Intersection and Union (linear solution computation)and combinations thereof
clasp allows for
ASP solving (smodels format)MaxSAT and SAT solving (extended dimacs format)PB solving (opb and wbo format)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 340 / 432
![Page 910: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/910.jpg)
clasp
Reasoning modes of clasp
Beyond deciding (stable) model existence, clasp allows for:
OptimizationEnumeration (without solution recording)Projective enumeration (without solution recording)Intersection and Union (linear solution computation)and combinations thereof
clasp allows for
ASP solving (smodels format)MaxSAT and SAT solving (extended dimacs format)PB solving (opb and wbo format)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 340 / 432
![Page 911: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/911.jpg)
clasp
Parallel search in clasp
clasp
pursues a coarse-grained, task-parallel approach to parallel searchvia shared memory multi-threading
up to 64 configurable (non-hierarchic) threads
allows for parallel solving via search space splittingand/or competing strategies
both supported by solver portfolios
features different nogood exchange policies
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 341 / 432
![Page 912: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/912.jpg)
clasp
Parallel search in clasp
clasp
pursues a coarse-grained, task-parallel approach to parallel searchvia shared memory multi-threading
up to 64 configurable (non-hierarchic) threads
allows for parallel solving via search space splittingand/or competing strategies
both supported by solver portfolios
features different nogood exchange policies
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 341 / 432
![Page 913: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/913.jpg)
clasp
Parallel search in clasp
clasp
pursues a coarse-grained, task-parallel approach to parallel searchvia shared memory multi-threading
up to 64 configurable (non-hierarchic) threads
allows for parallel solving via search space splittingand/or competing strategies
both supported by solver portfolios
features different nogood exchange policies
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 341 / 432
![Page 914: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/914.jpg)
clasp
Parallel search in clasp
clasp
pursues a coarse-grained, task-parallel approach to parallel searchvia shared memory multi-threading
up to 64 configurable (non-hierarchic) threads
allows for parallel solving via search space splittingand/or competing strategies
both supported by solver portfolios
features different nogood exchange policies
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 341 / 432
![Page 915: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/915.jpg)
clasp
Sequential CDCL-style solving
loop
propagate // deterministically assign literals
if no conflict thenif all variables assigned then return solutionelse decide // non-deterministically assign some literal
elseif top-level conflict then return unsatisfiableelse
analyze // analyze conflict and add conflict constraintbackjump // unassign literals until conflict constraint is unit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 342 / 432
![Page 916: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/916.jpg)
clasp
Parallel CDCL-style solving in clasp
while work availablewhile no (result) message to send
communicate // exchange information with other solver
propagate // deterministically assign literals
if no conflict thenif all variables assigned then send solutionelse decide // non-deterministically assign some literal
elseif root-level conflict then send unsatisfiableelse if external conflict then send unsatisfiableelse
analyze // analyze conflict and add conflict constraintbackjump // unassign literals until conflict constraint is unit
communicate // exchange results (and receive work)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 343 / 432
![Page 917: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/917.jpg)
clasp
Parallel CDCL-style solving in clasp
while work availablewhile no (result) message to send
communicate // exchange information with other solver
propagate // deterministically assign literals
if no conflict thenif all variables assigned then send solutionelse decide // non-deterministically assign some literal
elseif root-level conflict then send unsatisfiableelse if external conflict then send unsatisfiableelse
analyze // analyze conflict and add conflict constraintbackjump // unassign literals until conflict constraint is unit
communicate // exchange results (and receive work)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 343 / 432
![Page 918: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/918.jpg)
clasp
Parallel CDCL-style solving in clasp
while work availablewhile no (result) message to send
communicate // exchange information with other solver
propagate // deterministically assign literals
if no conflict thenif all variables assigned then send solutionelse decide // non-deterministically assign some literal
elseif root-level conflict then send unsatisfiableelse if external conflict then send unsatisfiableelse
analyze // analyze conflict and add conflict constraintbackjump // unassign literals until conflict constraint is unit
communicate // exchange results (and receive work)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 343 / 432
![Page 919: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/919.jpg)
clasp
Parallel CDCL-style solving in clasp
while work availablewhile no (result) message to send
communicate // exchange information with other solver
propagate // deterministically assign literals
if no conflict thenif all variables assigned then send solutionelse decide // non-deterministically assign some literal
elseif root-level conflict then send unsatisfiableelse if external conflict then send unsatisfiableelse
analyze // analyze conflict and add conflict constraintbackjump // unassign literals until conflict constraint is unit
communicate // exchange results (and receive work)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 343 / 432
![Page 920: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/920.jpg)
clasp
Parallel CDCL-style solving in clasp
while work availablewhile no (result) message to send
communicate // exchange information with other solver
propagate // deterministically assign literals
if no conflict thenif all variables assigned then send solutionelse decide // non-deterministically assign some literal
elseif root-level conflict then send unsatisfiableelse if external conflict then send unsatisfiableelse
analyze // analyze conflict and add conflict constraintbackjump // unassign literals until conflict constraint is unit
communicate // exchange results (and receive work)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 343 / 432
![Page 921: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/921.jpg)
clasp
Multi-threaded architecture of clasp
Solver 1. . . n
DecisionHeuristicDecisionHeuristic
ConflictResolution
ConflictResolution
AssignmentAtoms/Bodies
Recorded Nogoods
Propagation
UnitPropagation
UnitPropagation
PostPropagation
PostPropagation
PostPropagation
PostPropagation
Coordination
SharedContext
PropositionalVariables
Atoms Bodies
Static Nogoods
Implication Graph
ParallelContext
Threads S1 S2. . . Sn
Counter T W . . . S
Queue P1 P2. . . Pn
Shared Nogoods
EnumeratorEnumerator
NogoodDistributor
NogoodDistributor
LogicProgram
Preprocessing
ProgramBuilder
ProgramBuilder
PreprocessorPreprocessorPreprocessorPreprocessor
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 344 / 432
![Page 922: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/922.jpg)
clasp
Multi-threaded architecture of clasp
Solver 1. . . n
DecisionHeuristicDecisionHeuristic
ConflictResolution
ConflictResolution
AssignmentAtoms/Bodies
Recorded Nogoods
Propagation
UnitPropagation
UnitPropagation
PostPropagation
PostPropagation
PostPropagation
PostPropagation
Coordination
SharedContext
PropositionalVariables
Atoms Bodies
Static Nogoods
Implication Graph
ParallelContext
Threads S1 S2. . . Sn
Counter T W . . . S
Queue P1 P2. . . Pn
Shared Nogoods
EnumeratorEnumerator
NogoodDistributor
NogoodDistributor
LogicProgram
Preprocessing
ProgramBuilder
ProgramBuilder
PreprocessorPreprocessorPreprocessorPreprocessor
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 344 / 432
![Page 923: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/923.jpg)
clasp
Multi-threaded architecture of clasp
Solver 1. . . n
DecisionHeuristicDecisionHeuristic
ConflictResolution
ConflictResolution
AssignmentAtoms/Bodies
Recorded Nogoods
Propagation
UnitPropagation
UnitPropagation
PostPropagation
PostPropagation
PostPropagation
PostPropagation
Coordination
SharedContext
PropositionalVariables
Atoms Bodies
Static Nogoods
Implication Graph
ParallelContext
Threads S1 S2. . . Sn
Counter T W . . . S
Queue P1 P2. . . Pn
Shared Nogoods
EnumeratorEnumerator
NogoodDistributor
NogoodDistributor
LogicProgram
Preprocessing
ProgramBuilder
ProgramBuilder
PreprocessorPreprocessorPreprocessorPreprocessor
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 344 / 432
![Page 924: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/924.jpg)
clasp
Multi-threaded architecture of clasp
Solver 1. . . n
DecisionHeuristicDecisionHeuristic
ConflictResolution
ConflictResolution
AssignmentAtoms/Bodies
Recorded Nogoods
Propagation
UnitPropagation
UnitPropagation
PostPropagation
PostPropagation
PostPropagation
PostPropagation
Coordination
SharedContext
PropositionalVariables
Atoms Bodies
Static Nogoods
Implication Graph
ParallelContext
Threads S1 S2. . . Sn
Counter T W . . . S
Queue P1 P2. . . Pn
Shared Nogoods
EnumeratorEnumerator
NogoodDistributor
NogoodDistributor
LogicProgram
Preprocessing
ProgramBuilder
ProgramBuilder
PreprocessorPreprocessorPreprocessorPreprocessor
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 344 / 432
![Page 925: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/925.jpg)
clasp
clasp in context
Compare clasp (2.0.5) to the multi-threaded SAT solvers
cryptominisat (2.9.2)manysat (1.1)miraxt (2009)plingeling (587f)
all run with four and eight threads in their default settings
160/300 benchmarks from crafted category at SAT’11
all solvable by ppfolio in 1000 secondscrafted SAT benchmarks are closest to ASP benchmarks
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 345 / 432
![Page 926: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/926.jpg)
clasp
clasp in context
20
40
60
80
100
120
1 10 100 1000
So
lve
d in
sta
nce
s
Time in seconds
clasp-t1 -t4 -t8
cryptominisat-2.9.2-t4 -t8miraxt-2009-t4
-t8plingeling-587-t4
-t8manysat-1.1-t4
-t8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 346 / 432
![Page 927: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/927.jpg)
clasp
Using clasp
--help[=<n>],-h : Print 1=basic|2=more|3=full help and exit
--parallel-mode,-t <arg>: Run parallel search with given number of threads
<arg>: <n 1..64>[,<mode compete|split>]
<n> : Number of threads to use in search
<mode>: Run competition or splitting based search [compete]
--configuration=<arg> : Configure default configuration [frumpy]
<arg>: frumpy|jumpy|handy|crafty|trendy|chatty
frumpy: Use conservative defaults
jumpy : Use aggressive defaults
handy : Use defaults geared towards large problems
crafty: Use defaults geared towards crafted problems
trendy: Use defaults geared towards industrial problems
chatty: Use 4 competing threads initialized via the default portfolio
--print-portfolio,-g : Print default portfolio and exit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 347 / 432
![Page 928: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/928.jpg)
clasp
Using clasp
--help[=<n>],-h : Print 1=basic|2=more|3=full help and exit
--parallel-mode,-t <arg>: Run parallel search with given number of threads
<arg>: <n 1..64>[,<mode compete|split>]
<n> : Number of threads to use in search
<mode>: Run competition or splitting based search [compete]
--configuration=<arg> : Configure default configuration [frumpy]
<arg>: frumpy|jumpy|handy|crafty|trendy|chatty
frumpy: Use conservative defaults
jumpy : Use aggressive defaults
handy : Use defaults geared towards large problems
crafty: Use defaults geared towards crafted problems
trendy: Use defaults geared towards industrial problems
chatty: Use 4 competing threads initialized via the default portfolio
--print-portfolio,-g : Print default portfolio and exit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 347 / 432
![Page 929: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/929.jpg)
clasp
Using clasp
--help[=<n>],-h : Print 1=basic|2=more|3=full help and exit
--parallel-mode,-t <arg>: Run parallel search with given number of threads
<arg>: <n 1..64>[,<mode compete|split>]
<n> : Number of threads to use in search
<mode>: Run competition or splitting based search [compete]
--configuration=<arg> : Configure default configuration [frumpy]
<arg>: frumpy|jumpy|handy|crafty|trendy|chatty
frumpy: Use conservative defaults
jumpy : Use aggressive defaults
handy : Use defaults geared towards large problems
crafty: Use defaults geared towards crafted problems
trendy: Use defaults geared towards industrial problems
chatty: Use 4 competing threads initialized via the default portfolio
--print-portfolio,-g : Print default portfolio and exit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 347 / 432
![Page 930: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/930.jpg)
clasp
Using clasp
--help[=<n>],-h : Print 1=basic|2=more|3=full help and exit
--parallel-mode,-t <arg>: Run parallel search with given number of threads
<arg>: <n 1..64>[,<mode compete|split>]
<n> : Number of threads to use in search
<mode>: Run competition or splitting based search [compete]
--configuration=<arg> : Configure default configuration [frumpy]
<arg>: frumpy|jumpy|handy|crafty|trendy|chatty
frumpy: Use conservative defaults
jumpy : Use aggressive defaults
handy : Use defaults geared towards large problems
crafty: Use defaults geared towards crafted problems
trendy: Use defaults geared towards industrial problems
chatty: Use 4 competing threads initialized via the default portfolio
--print-portfolio,-g : Print default portfolio and exit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 347 / 432
![Page 931: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/931.jpg)
clasp
Using clasp
--help[=<n>],-h : Print 1=basic|2=more|3=full help and exit
--parallel-mode,-t <arg>: Run parallel search with given number of threads
<arg>: <n 1..64>[,<mode compete|split>]
<n> : Number of threads to use in search
<mode>: Run competition or splitting based search [compete]
--configuration=<arg> : Configure default configuration [frumpy]
<arg>: frumpy|jumpy|handy|crafty|trendy|chatty
frumpy: Use conservative defaults
jumpy : Use aggressive defaults
handy : Use defaults geared towards large problems
crafty: Use defaults geared towards crafted problems
trendy: Use defaults geared towards industrial problems
chatty: Use 4 competing threads initialized via the default portfolio
--print-portfolio,-g : Print default portfolio and exit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 347 / 432
![Page 932: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/932.jpg)
clasp
Comparing configurationson queensA.lp
n frumpy jumpy handy crafty trendy chatty
50 0.063 0.023 3.416 0.030 1.805 0.061100 20.364 0.099 7.891 0.136 7.321 0.121150 60.000 0.212 14.522 0.271 19.883 0.347200 60.000 0.415 15.026 0.667 32.476 0.753500 60.000 3.199 60.000 7.471 60.000 6.104
(times in seconds, cut-off at 60 seconds)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 348 / 432
![Page 933: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/933.jpg)
clasp
Comparing configurationson queensA.lp
n frumpy jumpy handy crafty trendy chatty
50 0.063 0.023 3.416 0.030 1.805 0.061100 20.364 0.099 7.891 0.136 7.321 0.121150 60.000 0.212 14.522 0.271 19.883 0.347200 60.000 0.415 15.026 0.667 32.476 0.753500 60.000 3.199 60.000 7.471 60.000 6.104
(times in seconds, cut-off at 60 seconds)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 348 / 432
![Page 934: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/934.jpg)
clasp
Comparing configurationson queensA.lp
n frumpy jumpy handy crafty trendy chatty
50 0.063 0.023 3.416 0.030 1.805 0.061100 20.364 0.099 7.891 0.136 7.321 0.121150 60.000 0.212 14.522 0.271 19.883 0.347200 60.000 0.415 15.026 0.667 32.476 0.753500 60.000 3.199 60.000 7.471 60.000 6.104
(times in seconds, cut-off at 60 seconds)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 348 / 432
![Page 935: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/935.jpg)
clasp
Comparing configurationson queensA.lp
n frumpy jumpy handy crafty trendy chatty
50 0.063 0.023 3.416 0.030 1.805 0.061100 20.364 0.099 7.891 0.136 7.321 0.121150 60.000 0.212 14.522 0.271 19.883 0.347200 60.000 0.415 15.026 0.667 32.476 0.753500 60.000 3.199 60.000 7.471 60.000 6.104
(times in seconds, cut-off at 60 seconds)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 348 / 432
![Page 936: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/936.jpg)
clasp
Comparing configurationson queensA.lp
n frumpy jumpy handy crafty trendy chatty
50 default
0.063 0.023 3.416 0.030 1.805 0.061100 20.364 0.099 7.891 0.136 7.321 0.121150 60.000 0.212 14.522 0.271 19.883 0.347200 60.000 0.415 15.026 0.667 32.476 0.753500 60.000 3.199 60.000 7.471 60.000 6.104
(times in seconds, cut-off at 60 seconds)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 348 / 432
![Page 937: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/937.jpg)
clasp
Comparing configurationson queensA.lp
n frumpy jumpy handy crafty trendy chatty
50 0.063 0.023 3.416 0.030 1.805 0.061100 20.364 0.099 7.891 0.136 7.321 0.121150 60.000 0.212 14.522 0.271 19.883 0.347200 60.000 0.415 15.026 0.667 32.476 0.753500 60.000 3.199 60.000 7.471 60.000 6.104
(times in seconds, cut-off at 60 seconds)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 348 / 432
![Page 938: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/938.jpg)
clasp Parallel solving
Outline
37 Potassco
38 gringo
39 claspParallel solving
40 Siblings
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 349 / 432
![Page 939: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/939.jpg)
clasp Parallel solving
clasp’s default portfolio for parallel solvingvia clasp --print-portfolio
[CRAFTY]: --heuristic=vsids --restarts=x,128,1.5 --deletion=3,75,10.0 --del-init-r=1000,9000 --del-grow=1.1,20.0 --del-cfl=+,10000,1000 --del-algo=basic --del-glue=2 --otfs=2 --reverse-arcs=1 --counter-restarts=3 --contraction=250 --opt-heu=1
[TRENDY]: --heuristic=vsids --restarts=d,100,0.7 --deletion=3,50 --del-init=500,19500 --del-grow=1.1,20.0,x,100,1.5 --del-cfl=+,10000,2000 --del-algo=basic --del-glue=2 --strengthen=recursive --update-lbd --otfs=2 --save-p=75 --counter-restarts=3 --counter-bump=1023 --reverse-arcs=2 --contraction=250 --loops=common --opt-heu=1
[FRUMPY]: --heuristic=berkmin --restarts=x,100,1.5 --deletion=1,75 --del-init-r=200,40000 --del-max=400000 --del-algo=basic --contraction=250 --loops=common --save-p=180 --del-grow=1.1 --strengthen=local
[JUMPY]: --heuristic=vsids --restarts=l,100 --del-init-r=1000,20000 --del-algo=basic,2 --deletion=3,75 --del-grow=1.1,25,x,100,1.5 --del-cfl=x,10000,1.1 --del-glue=2 --update-lbd=3 --strengthen=recursive --otfs=2 --save-p=70 --opt-heu=3
[STRONG]: --heuristic=berkmin --restarts=x,100,1.5 --deletion=1,75 --del-init-r=200,40000 --del-max=400000 --del-algo=basic --contraction=250 --loops=common --save-p=180 --berk-max=512 --del-grow=1.1,25 --otfs=2 --reverse-arcs=2 --strengthen=recursive --init-w=2 --lookahead=atom,10
[HANDY]: --heuristic=vsids --restarts=d,100,0.7 --deletion=2,50,20.0 --del-max=200000 --del-algo=sort,2 --del-init-r=1000,14000 --del-cfl=+,4000,600 --del-glue=2 --update-lbd --strengthen=recursive --otfs=2 --save-p=20 --contraction=600 --loops=distinct --counter-restarts=7 --counter-bump=1023 --reverse-arcs=2
[S2]: --heuristic=vsids --reverse-arcs=1 --otfs=1 --local-restarts --save-progress=0 --contraction=250 --counter-restart=7 --counter-bump=200 --restarts=x,100,1.5 --del-init=800,-1 --del-algo=basic,0 --deletion=3,60 --strengthen=local --del-grow=1.0,1.0 --del-glue=4 --del-cfl=+,4000,300,100
[S4]: --heuristic=vsids --restarts=l,256 --counter-restart=3 --strengthen=recursive --update-lbd --del-glue=2 --otfs=2 --del-algo=inp_sort,2 --deletion=1,75,20 --del-init=1000,19000
[SLOW]: --heuristic=berkmin --berk-max=512 --restarts=f,16000 --lookahead=atom,50
[VMTF]: --heuristic=vmtf --str=no --contr=0 --restarts=x,100,1.3 --del-init-r=800,9200
[SIMPLE]: --heuristic=vsids --strengthen=recursive --restarts=x,100,1.5,15 --contraction=0
[LUBY-SP]: --heuristic=vsids --restarts=l,128 --save-p --otfs=1 --init-w=2 --contr=0 --opt-heu=3
[LOCAL-R]: --berk-max=512 --restarts=x,100,1.5,6 --local-restarts --init-w=2 --contr=0
clasp’s portfolio is fully customizable
configurations are assigned in a round-robin fashion to threads
during parallel solving
chatty uses four threads with CRAFTY, TRENDY, FRUMPY, and JUMPY
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 350 / 432
![Page 940: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/940.jpg)
clasp Parallel solving
clasp’s default portfolio for parallel solvingvia clasp --print-portfolio
[CRAFTY]: --heuristic=vsids --restarts=x,128,1.5 --deletion=3,75,10.0 --del-init-r=1000,9000 --del-grow=1.1,20.0 --del-cfl=+,10000,1000 --del-algo=basic --del-glue=2 --otfs=2 --reverse-arcs=1 --counter-restarts=3 --contraction=250 --opt-heu=1
[TRENDY]: --heuristic=vsids --restarts=d,100,0.7 --deletion=3,50 --del-init=500,19500 --del-grow=1.1,20.0,x,100,1.5 --del-cfl=+,10000,2000 --del-algo=basic --del-glue=2 --strengthen=recursive --update-lbd --otfs=2 --save-p=75 --counter-restarts=3 --counter-bump=1023 --reverse-arcs=2 --contraction=250 --loops=common --opt-heu=1
[FRUMPY]: --heuristic=berkmin --restarts=x,100,1.5 --deletion=1,75 --del-init-r=200,40000 --del-max=400000 --del-algo=basic --contraction=250 --loops=common --save-p=180 --del-grow=1.1 --strengthen=local
[JUMPY]: --heuristic=vsids --restarts=l,100 --del-init-r=1000,20000 --del-algo=basic,2 --deletion=3,75 --del-grow=1.1,25,x,100,1.5 --del-cfl=x,10000,1.1 --del-glue=2 --update-lbd=3 --strengthen=recursive --otfs=2 --save-p=70 --opt-heu=3
[STRONG]: --heuristic=berkmin --restarts=x,100,1.5 --deletion=1,75 --del-init-r=200,40000 --del-max=400000 --del-algo=basic --contraction=250 --loops=common --save-p=180 --berk-max=512 --del-grow=1.1,25 --otfs=2 --reverse-arcs=2 --strengthen=recursive --init-w=2 --lookahead=atom,10
[HANDY]: --heuristic=vsids --restarts=d,100,0.7 --deletion=2,50,20.0 --del-max=200000 --del-algo=sort,2 --del-init-r=1000,14000 --del-cfl=+,4000,600 --del-glue=2 --update-lbd --strengthen=recursive --otfs=2 --save-p=20 --contraction=600 --loops=distinct --counter-restarts=7 --counter-bump=1023 --reverse-arcs=2
[S2]: --heuristic=vsids --reverse-arcs=1 --otfs=1 --local-restarts --save-progress=0 --contraction=250 --counter-restart=7 --counter-bump=200 --restarts=x,100,1.5 --del-init=800,-1 --del-algo=basic,0 --deletion=3,60 --strengthen=local --del-grow=1.0,1.0 --del-glue=4 --del-cfl=+,4000,300,100
[S4]: --heuristic=vsids --restarts=l,256 --counter-restart=3 --strengthen=recursive --update-lbd --del-glue=2 --otfs=2 --del-algo=inp_sort,2 --deletion=1,75,20 --del-init=1000,19000
[SLOW]: --heuristic=berkmin --berk-max=512 --restarts=f,16000 --lookahead=atom,50
[VMTF]: --heuristic=vmtf --str=no --contr=0 --restarts=x,100,1.3 --del-init-r=800,9200
[SIMPLE]: --heuristic=vsids --strengthen=recursive --restarts=x,100,1.5,15 --contraction=0
[LUBY-SP]: --heuristic=vsids --restarts=l,128 --save-p --otfs=1 --init-w=2 --contr=0 --opt-heu=3
[LOCAL-R]: --berk-max=512 --restarts=x,100,1.5,6 --local-restarts --init-w=2 --contr=0
clasp’s portfolio is fully customizable
configurations are assigned in a round-robin fashion to threads
during parallel solving
chatty uses four threads with CRAFTY, TRENDY, FRUMPY, and JUMPY
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 350 / 432
![Page 941: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/941.jpg)
clasp Parallel solving
clasp’s default portfolio for parallel solvingvia clasp --print-portfolio
[CRAFTY]: --heuristic=vsids --restarts=x,128,1.5 --deletion=3,75,10.0 --del-init-r=1000,9000 --del-grow=1.1,20.0 --del-cfl=+,10000,1000 --del-algo=basic --del-glue=2 --otfs=2 --reverse-arcs=1 --counter-restarts=3 --contraction=250 --opt-heu=1
[TRENDY]: --heuristic=vsids --restarts=d,100,0.7 --deletion=3,50 --del-init=500,19500 --del-grow=1.1,20.0,x,100,1.5 --del-cfl=+,10000,2000 --del-algo=basic --del-glue=2 --strengthen=recursive --update-lbd --otfs=2 --save-p=75 --counter-restarts=3 --counter-bump=1023 --reverse-arcs=2 --contraction=250 --loops=common --opt-heu=1
[FRUMPY]: --heuristic=berkmin --restarts=x,100,1.5 --deletion=1,75 --del-init-r=200,40000 --del-max=400000 --del-algo=basic --contraction=250 --loops=common --save-p=180 --del-grow=1.1 --strengthen=local
[JUMPY]: --heuristic=vsids --restarts=l,100 --del-init-r=1000,20000 --del-algo=basic,2 --deletion=3,75 --del-grow=1.1,25,x,100,1.5 --del-cfl=x,10000,1.1 --del-glue=2 --update-lbd=3 --strengthen=recursive --otfs=2 --save-p=70 --opt-heu=3
[STRONG]: --heuristic=berkmin --restarts=x,100,1.5 --deletion=1,75 --del-init-r=200,40000 --del-max=400000 --del-algo=basic --contraction=250 --loops=common --save-p=180 --berk-max=512 --del-grow=1.1,25 --otfs=2 --reverse-arcs=2 --strengthen=recursive --init-w=2 --lookahead=atom,10
[HANDY]: --heuristic=vsids --restarts=d,100,0.7 --deletion=2,50,20.0 --del-max=200000 --del-algo=sort,2 --del-init-r=1000,14000 --del-cfl=+,4000,600 --del-glue=2 --update-lbd --strengthen=recursive --otfs=2 --save-p=20 --contraction=600 --loops=distinct --counter-restarts=7 --counter-bump=1023 --reverse-arcs=2
[S2]: --heuristic=vsids --reverse-arcs=1 --otfs=1 --local-restarts --save-progress=0 --contraction=250 --counter-restart=7 --counter-bump=200 --restarts=x,100,1.5 --del-init=800,-1 --del-algo=basic,0 --deletion=3,60 --strengthen=local --del-grow=1.0,1.0 --del-glue=4 --del-cfl=+,4000,300,100
[S4]: --heuristic=vsids --restarts=l,256 --counter-restart=3 --strengthen=recursive --update-lbd --del-glue=2 --otfs=2 --del-algo=inp_sort,2 --deletion=1,75,20 --del-init=1000,19000
[SLOW]: --heuristic=berkmin --berk-max=512 --restarts=f,16000 --lookahead=atom,50
[VMTF]: --heuristic=vmtf --str=no --contr=0 --restarts=x,100,1.3 --del-init-r=800,9200
[SIMPLE]: --heuristic=vsids --strengthen=recursive --restarts=x,100,1.5,15 --contraction=0
[LUBY-SP]: --heuristic=vsids --restarts=l,128 --save-p --otfs=1 --init-w=2 --contr=0 --opt-heu=3
[LOCAL-R]: --berk-max=512 --restarts=x,100,1.5,6 --local-restarts --init-w=2 --contr=0
clasp’s portfolio is fully customizable
configurations are assigned in a round-robin fashion to threads
during parallel solving
chatty uses four threads with CRAFTY, TRENDY, FRUMPY, and JUMPY
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 350 / 432
![Page 942: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/942.jpg)
Siblings
Outline
37 Potassco
38 gringo
39 clasp
40 Siblings
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 351 / 432
![Page 943: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/943.jpg)
Siblings hclasp
Outline
37 Potassco
38 gringo
39 clasp
40 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 352 / 432
![Page 944: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/944.jpg)
Siblings hclasp
hclasp
hclasp allows for incorporating domain-specific heuristicsinto ASP solving
input language for expressing domain-specific heuristicssolving capacities for integrating domain-specific heuristics
Example
_heuristics(occ(A,T),factor,T) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 353 / 432
![Page 945: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/945.jpg)
Siblings hclasp
hclasp
hclasp allows for incorporating domain-specific heuristicsinto ASP solving
input language for expressing domain-specific heuristicssolving capacities for integrating domain-specific heuristics
Example
_heuristics(occ(A,T),factor,T) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 353 / 432
![Page 946: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/946.jpg)
Siblings hclasp
Basic CDCL decision algorithm
loop
propagate // compute deterministic consequences
if no conflict thenif all variables assigned then return variable assignmentelse decide // non-deterministically assign some literal
elseif top-level conflict then return unsatisfiableelse
analyze // analyze conflict and add a conflict constraintbackjump // undo assignments until conflict constraint is unit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 354 / 432
![Page 947: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/947.jpg)
Siblings hclasp
Basic CDCL decision algorithm
loop
propagate // compute deterministic consequences
if no conflict thenif all variables assigned then return variable assignmentelse decide // non-deterministically assign some literal
elseif top-level conflict then return unsatisfiableelse
analyze // analyze conflict and add a conflict constraintbackjump // undo assignments until conflict constraint is unit
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 354 / 432
![Page 948: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/948.jpg)
Siblings hclasp
Inside decide
Heuristic functions
h : A → [0,+∞) and s : A → T,F
Algorithmic scheme
1 h(a) := α× h(a) + β(a) for each a ∈ A2 U := A \ (AT ∪ AF)3 C := argmaxa∈U h(a)4 a := τ(C )5 A := A ∪ a 7→ s(a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 355 / 432
![Page 949: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/949.jpg)
Siblings hclasp
Inside decide
Heuristic functions
h : A → [0,+∞) and s : A → T,F
Algorithmic scheme
1 h(a) := α× h(a) + β(a) for each a ∈ A2 U := A \ (AT ∪ AF)3 C := argmaxa∈U h(a)4 a := τ(C )5 A := A ∪ a 7→ s(a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 355 / 432
![Page 950: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/950.jpg)
Siblings hclasp
Inside decide
Heuristic functions
h : A → [0,+∞) and s : A → T,F
Algorithmic scheme
1 h(a) := α× h(a) + β(a) for each a ∈ A2 U := A \ (AT ∪ AF)3 C := argmaxa∈U h(a)4 a := τ(C )5 A := A ∪ a 7→ s(a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 355 / 432
![Page 951: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/951.jpg)
Siblings hclasp
Heuristic language elements
Heuristic predicate heuristic
Heuristic modifiers (atom, a, and integer, v)
init for initializing the heuristic value of a with vfactor for amplifying the heuristic value of a by factor vlevel for ranking all atoms; the rank of a is vsign for attributing the sign of v as truth value to a
Heuristic atoms
_heuristic(occurs(A,T),factor,T) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 356 / 432
![Page 952: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/952.jpg)
Siblings hclasp
Heuristic language elements
Heuristic predicate heuristic
Heuristic modifiers (atom, a, and integer, v)
init for initializing the heuristic value of a with vfactor for amplifying the heuristic value of a by factor vlevel for ranking all atoms; the rank of a is vsign for attributing the sign of v as truth value to a
Heuristic atoms
_heuristic(occurs(A,T),factor,T) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 356 / 432
![Page 953: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/953.jpg)
Siblings hclasp
Heuristic language elements
Heuristic predicate heuristic
Heuristic modifiers (atom, a, and integer, v)
init for initializing the heuristic value of a with vfactor for amplifying the heuristic value of a by factor vlevel for ranking all atoms; the rank of a is vsign for attributing the sign of v as truth value to a
Heuristic atoms
_heuristic(occurs(A,T),factor,T) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 356 / 432
![Page 954: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/954.jpg)
Siblings hclasp
Heuristic language elements
Heuristic predicate heuristic
Heuristic modifiers (atom, a, and integer, v)
init for initializing the heuristic value of a with vfactor for amplifying the heuristic value of a by factor vlevel for ranking all atoms; the rank of a is vsign for attributing the sign of v as truth value to a
Heuristic atoms
_heuristic(occurs(mv,5),factor,5) :- action(mv), time(5).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 356 / 432
![Page 955: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/955.jpg)
Siblings hclasp
Heuristic language elements
Heuristic predicate heuristic
Heuristic modifiers (atom, a, and integer, v)
init for initializing the heuristic value of a with vfactor for amplifying the heuristic value of a by factor vlevel for ranking all atoms; the rank of a is vsign for attributing the sign of v as truth value to a
Heuristic atoms
_heuristic(occurs(mv,5),factor,5) :- action(mv), time(5).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 356 / 432
![Page 956: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/956.jpg)
Siblings hclasp
Heuristic language elements
Heuristic predicate heuristic
Heuristic modifiers (atom, a, and integer, v)
init for initializing the heuristic value of a with vfactor for amplifying the heuristic value of a by factor vlevel for ranking all atoms; the rank of a is vsign for attributing the sign of v as truth value to a
Heuristic atoms
_heuristic(occurs(mv,5),factor,5) :- action(mv), time(5).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 356 / 432
![Page 957: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/957.jpg)
Siblings hclasp
Heuristic language elements
Heuristic predicate heuristic
Heuristic modifiers (atom, a, and integer, v)
init for initializing the heuristic value of a with vfactor for amplifying the heuristic value of a by factor vlevel for ranking all atoms; the rank of a is vsign for attributing the sign of v as truth value to a
Heuristic atoms
_heuristic(occurs(mv,5),factor,5) :- action(mv), time(5).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 356 / 432
![Page 958: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/958.jpg)
Siblings hclasp
Simple STRIPS planner
time(1..t).
holds(P,0) :- init(P).
1 occurs(A,T) : action(A) 1 :- time(T).
:- occurs(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occurs(A,T), add(A,F).
nolds(F,T) :- occurs(A,T), del(A,F).
:- query(F), not holds(F,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 357 / 432
![Page 959: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/959.jpg)
Siblings hclasp
Simple STRIPS planner
time(1..t).
holds(P,0) :- init(P).
1 occurs(A,T) : action(A) 1 :- time(T).
:- occurs(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occurs(A,T), add(A,F).
nolds(F,T) :- occurs(A,T), del(A,F).
:- query(F), not holds(F,t).
_heuristic(occurs(A,T),factor,2) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 357 / 432
![Page 960: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/960.jpg)
Siblings hclasp
Simple STRIPS planner
time(1..t).
holds(P,0) :- init(P).
1 occurs(A,T) : action(A) 1 :- time(T).
:- occurs(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occurs(A,T), add(A,F).
nolds(F,T) :- occurs(A,T), del(A,F).
:- query(F), not holds(F,t).
_heuristic(occurs(A,T),level,1) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 357 / 432
![Page 961: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/961.jpg)
Siblings hclasp
Simple STRIPS planner
time(1..t).
holds(P,0) :- init(P).
1 occurs(A,T) : action(A) 1 :- time(T).
:- occurs(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occurs(A,T), add(A,F).
nolds(F,T) :- occurs(A,T), del(A,F).
:- query(F), not holds(F,t).
_heuristic(occurs(A,T),factor,T) :- action(A), time(T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 357 / 432
![Page 962: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/962.jpg)
Siblings hclasp
Simple STRIPS planner
time(1..t).
holds(P,0) :- init(P).
1 occurs(A,T) : action(A) 1 :- time(T).
:- occurs(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occurs(A,T), add(A,F).
nolds(F,T) :- occurs(A,T), del(A,F).
:- query(F), not holds(F,t).
_heuristic(A,level,V) :- _heuristic(A,true, V).
_heuristic(A,sign, 1) :- _heuristic(A,true, V).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 357 / 432
![Page 963: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/963.jpg)
Siblings hclasp
Simple STRIPS planner
time(1..t).
holds(P,0) :- init(P).
1 occurs(A,T) : action(A) 1 :- time(T).
:- occurs(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occurs(A,T), add(A,F).
nolds(F,T) :- occurs(A,T), del(A,F).
:- query(F), not holds(F,t).
_heuristic(A,level,V) :- _heuristic(A,false,V).
_heuristic(A,sign,-1) :- _heuristic(A,false,V).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 357 / 432
![Page 964: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/964.jpg)
Siblings hclasp
Simple STRIPS planner
time(1..t).
holds(P,0) :- init(P).
1 occurs(A,T) : action(A) 1 :- time(T).
:- occurs(A,T), pre(A,F), not holds(F,T-1).
holds(F,T) :- holds(F,T-1), not nolds(F,T), time(T).
holds(F,T) :- occurs(A,T), add(A,F).
nolds(F,T) :- occurs(A,T), del(A,F).
:- query(F), not holds(F,t).
_heuristic(holds(F,T-1),true, t-T+1) :- holds(F,T).
_heuristic(holds(F,T-1),false,t-T+1) :-
fluent(F), time(T), not holds(F,T).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 357 / 432
![Page 965: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/965.jpg)
Siblings hclasp
Heuristic modifications to functions h and s
ν(Va,m(A)) — “value for modifier m on atom a wrt assignment A”
init and factor
d0(a) = ν(Va,init(A0)) + h0(a)
di (a) =
ν(Va,factor(Ai ))× hi (a) if Va,factor(Ai ) 6= ∅
hi (a) otherwise
sign
ti (a) =
T if ν(Va,sign(Ai )) > 0F if ν(Va,sign(Ai )) < 0
si (a) otherwise
level `Ai(A′) = argmaxa∈A′ν(Va,level(Ai )) A′ ⊆ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 358 / 432
![Page 966: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/966.jpg)
Siblings hclasp
Heuristic modifications to functions h and s
ν(Va,m(A)) — “value for modifier m on atom a wrt assignment A”
init and factor
d0(a) = ν(Va,init(A0)) + h0(a)
di (a) =
ν(Va,factor(Ai ))× hi (a) if Va,factor(Ai ) 6= ∅
hi (a) otherwise
sign
ti (a) =
T if ν(Va,sign(Ai )) > 0F if ν(Va,sign(Ai )) < 0
si (a) otherwise
level `Ai(A′) = argmaxa∈A′ν(Va,level(Ai )) A′ ⊆ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 358 / 432
![Page 967: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/967.jpg)
Siblings hclasp
Heuristic modifications to functions h and s
ν(Va,m(A)) — “value for modifier m on atom a wrt assignment A”
init and factor
d0(a) = ν(Va,init(A0)) + h0(a)
di (a) =
ν(Va,factor(Ai ))× hi (a) if Va,factor(Ai ) 6= ∅
hi (a) otherwise
sign
ti (a) =
T if ν(Va,sign(Ai )) > 0F if ν(Va,sign(Ai )) < 0
si (a) otherwise
level `Ai(A′) = argmaxa∈A′ν(Va,level(Ai )) A′ ⊆ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 358 / 432
![Page 968: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/968.jpg)
Siblings hclasp
Heuristic modifications to functions h and s
ν(Va,m(A)) — “value for modifier m on atom a wrt assignment A”
init and factor
d0(a) = ν(Va,init(A0)) + h0(a)
di (a) =
ν(Va,factor(Ai ))× hi (a) if Va,factor(Ai ) 6= ∅
hi (a) otherwise
sign
ti (a) =
T if ν(Va,sign(Ai )) > 0F if ν(Va,sign(Ai )) < 0
si (a) otherwise
level `Ai(A′) = argmaxa∈A′ν(Va,level(Ai )) A′ ⊆ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 358 / 432
![Page 969: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/969.jpg)
Siblings hclasp
Heuristic modifications to functions h and s
ν(Va,m(A)) — “value for modifier m on atom a wrt assignment A”
init and factor
d0(a) = ν(Va,init(A0)) + h0(a)
di (a) =
ν(Va,factor(Ai ))× hi (a) if Va,factor(Ai ) 6= ∅
hi (a) otherwise
sign
ti (a) =
T if ν(Va,sign(Ai )) > 0F if ν(Va,sign(Ai )) < 0
si (a) otherwise
level `Ai(A′) = argmaxa∈A′ν(Va,level(Ai )) A′ ⊆ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 358 / 432
![Page 970: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/970.jpg)
Siblings hclasp
Heuristic modifications to functions h and s
ν(Va,m(A)) — “value for modifier m on atom a wrt assignment A”
init and factor
d0(a) = ν(Va,init(A0)) + h0(a)
di (a) =
ν(Va,factor(Ai ))× hi (a) if Va,factor(Ai ) 6= ∅
hi (a) otherwise
sign
ti (a) =
T if ν(Va,sign(Ai )) > 0F if ν(Va,sign(Ai )) < 0
si (a) otherwise
level `Ai(A′) = argmaxa∈A′ν(Va,level(Ai )) A′ ⊆ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 358 / 432
![Page 971: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/971.jpg)
Siblings hclasp
Heuristic modifications to functions h and s
ν(Va,m(A)) — “value for modifier m on atom a wrt assignment A”
init and factor
d0(a) = ν(Va,init(A0)) + h0(a)
di (a) =
ν(Va,factor(Ai ))× hi (a) if Va,factor(Ai ) 6= ∅
hi (a) otherwise
sign
ti (a) =
T if ν(Va,sign(Ai )) > 0F if ν(Va,sign(Ai )) < 0
si (a) otherwise
level `Ai(A′) = argmaxa∈A′ν(Va,level(Ai )) A′ ⊆ A
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 358 / 432
![Page 972: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/972.jpg)
Siblings hclasp
Inside decide, heuristically modified
0 h(a) := d(a) for each a ∈ A1 h(a) := α× h(a) + β(a) for each a ∈ A2 U := `A(A \ (AT ∪ AF))
3 C := argmaxa∈Ud(a)
4 a := τ(C )
5 A := A ∪ a 7→ t(a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 359 / 432
![Page 973: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/973.jpg)
Siblings hclasp
Inside decide, heuristically modified
0 h(a) := d(a) for each a ∈ A1 h(a) := α× h(a) + β(a) for each a ∈ A2 U := `A(A \ (AT ∪ AF))
3 C := argmaxa∈Ud(a)
4 a := τ(C )
5 A := A ∪ a 7→ t(a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 359 / 432
![Page 974: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/974.jpg)
Siblings hclasp
Inside decide, heuristically modified
0 h(a) := d(a) for each a ∈ A1 h(a) := α× h(a) + β(a) for each a ∈ A2 U := `A(A \ (AT ∪ AF))
3 C := argmaxa∈Ud(a)
4 a := τ(C )
5 A := A ∪ a 7→ t(a)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 359 / 432
![Page 975: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/975.jpg)
Siblings hclasp
Selected high scores fromsystematic experiments
Setting Labyrinth Sokoban Hanoi Tower
base configuration 9,108s (14) 2,844s (3) 9,137s (11)24,545,667 19,371,267 41,016,235
a, init, 2 95% (12) 94% 91% (1) 84% 85% (9) 89%a, factor, 4 78% (8) 30% 120% (1) 107% 109% (11) 110%
a, factor, 16 78% (10) 23% 120% (1) 107% 109% (11) 110%a, level, 1 90% (12) 5% 119% (2) 91% 126% (15) 120%
f , init, 2 103% (14) 123% 74% (2) 71% 97% (10) 109%f , factor, 2 98% (12) 49% 116% (3) 134% 55% (6) 70%
f , sign, -1 94% (13) 89% 105% (1) 100% 92% (12) 92%
base configuration versus 38 (static) heuristic modifications(action, a, and fluent, f)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 360 / 432
![Page 976: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/976.jpg)
Siblings hclasp
Selected high scores fromsystematic experiments
Setting Labyrinth Sokoban Hanoi Tower
base configuration 9,108s (14) 2,844s (3) 9,137s (11)24,545,667 19,371,267 41,016,235
a, init, 2 95% (12) 94% 91% (1) 84% 85% (9) 89%a, factor, 4 78% (8) 30% 120% (1) 107% 109% (11) 110%
a, factor, 16 78% (10) 23% 120% (1) 107% 109% (11) 110%a, level, 1 90% (12) 5% 119% (2) 91% 126% (15) 120%
f , init, 2 103% (14) 123% 74% (2) 71% 97% (10) 109%f , factor, 2 98% (12) 49% 116% (3) 134% 55% (6) 70%
f , sign, -1 94% (13) 89% 105% (1) 100% 92% (12) 92%
base configuration versus 38 (static) heuristic modifications(action, a, and fluent, f)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 360 / 432
![Page 977: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/977.jpg)
Siblings hclasp
Abductive problems with optimization
Setting Diagnosis Expansion Repair (H) Repair (S)
base configuration 111.1s (115) 161.5s (100) 101.3s (113) 33.3s (27)
sign,-1 324.5s (407) 7.6s (3) 8.4s (5) 3.1s (0)sign,-1 factor,2 310.1s (387) 7.4s (2) 3.5s (0) 3.2s (1)sign,-1 factor,8 305.9s (376) 7.7s (2) 3.1s (0) 2.9s (0)sign,-1 level,1 76.1s (83) 6.6s (2) 0.8s (0) 2.2s (1)
level,1 77.3s (86) 12.9s (5) 3.4s (0) 2.1s (0)
(abducibles subject to optimization)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 361 / 432
![Page 978: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/978.jpg)
Siblings hclasp
Abductive problems with optimization
Setting Diagnosis Expansion Repair (H) Repair (S)
base configuration 111.1s (115) 161.5s (100) 101.3s (113) 33.3s (27)
sign,-1 324.5s (407) 7.6s (3) 8.4s (5) 3.1s (0)sign,-1 factor,2 310.1s (387) 7.4s (2) 3.5s (0) 3.2s (1)sign,-1 factor,8 305.9s (376) 7.7s (2) 3.1s (0) 2.9s (0)sign,-1 level,1 76.1s (83) 6.6s (2) 0.8s (0) 2.2s (1)
level,1 77.3s (86) 12.9s (5) 3.4s (0) 2.1s (0)
(abducibles subject to optimization)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 361 / 432
![Page 979: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/979.jpg)
Siblings hclasp
Planning Competition Benchmarks
_heuristic(holds(F,T-1),true, t-T+1) :- holds(F,T).
_heuristic(holds(F,T-1),false,t-T+1) :-
fluent(F), time(T), not holds(F,T).
Problem base configuration heuristic base c. (SAT) heur. (SAT)Blocks’00 134.4s (180/61) 9.2s (239/3) 163.2s (59) 2.6s (0)
Elevator’00 3.1s (279/0) 0.0s (279/0) 3.4s (0) 0.0s (0)Freecell’00 288.7s (147/115) 184.2s (194/74) 226.4s (47) 52.0s (0)
Logistics’00 145.8s (148/61) 115.3s (168/52) 113.9s (23) 15.5s (3)Depots’02 400.3s (51/184) 297.4s (115/135) 389.0s (64) 61.6s (0)
Driverlog’02 308.3s (108/143) 189.6s (169/92) 245.8s (61) 6.1s (0)Rovers’02 245.8s (138/112) 165.7s (179/79) 162.9s (41) 5.7s (0)
Satellite’02 398.4s (73/186) 229.9s (155/106) 364.6s (82) 30.8s (0)Zenotravel’02 350.7s (101/169) 239.0s (154/116) 224.5s (53) 6.3s (0)
Total 252.8s (1225/1031) 158.9s (1652/657) 187.2s (430) 17.1s (3)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 362 / 432
![Page 980: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/980.jpg)
Siblings hclasp
Planning Competition Benchmarks
_heuristic(holds(F,T-1),true, t-T+1) :- holds(F,T).
_heuristic(holds(F,T-1),false,t-T+1) :-
fluent(F), time(T), not holds(F,T).
Problem base configuration heuristic base c. (SAT) heur. (SAT)Blocks’00 134.4s (180/61) 9.2s (239/3) 163.2s (59) 2.6s (0)
Elevator’00 3.1s (279/0) 0.0s (279/0) 3.4s (0) 0.0s (0)Freecell’00 288.7s (147/115) 184.2s (194/74) 226.4s (47) 52.0s (0)
Logistics’00 145.8s (148/61) 115.3s (168/52) 113.9s (23) 15.5s (3)Depots’02 400.3s (51/184) 297.4s (115/135) 389.0s (64) 61.6s (0)
Driverlog’02 308.3s (108/143) 189.6s (169/92) 245.8s (61) 6.1s (0)Rovers’02 245.8s (138/112) 165.7s (179/79) 162.9s (41) 5.7s (0)
Satellite’02 398.4s (73/186) 229.9s (155/106) 364.6s (82) 30.8s (0)Zenotravel’02 350.7s (101/169) 239.0s (154/116) 224.5s (53) 6.3s (0)
Total 252.8s (1225/1031) 158.9s (1652/657) 187.2s (430) 17.1s (3)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 362 / 432
![Page 981: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/981.jpg)
Siblings hclasp
Planning Competition Benchmarks
_heuristic(holds(F,T-1),true, t-T+1) :- holds(F,T).
_heuristic(holds(F,T-1),false,t-T+1) :-
fluent(F), time(T), not holds(F,T).
Problem base configuration heuristic base c. (SAT) heur. (SAT)Blocks’00 134.4s (180/61) 9.2s (239/3) 163.2s (59) 2.6s (0)
Elevator’00 3.1s (279/0) 0.0s (279/0) 3.4s (0) 0.0s (0)Freecell’00 288.7s (147/115) 184.2s (194/74) 226.4s (47) 52.0s (0)
Logistics’00 145.8s (148/61) 115.3s (168/52) 113.9s (23) 15.5s (3)Depots’02 400.3s (51/184) 297.4s (115/135) 389.0s (64) 61.6s (0)
Driverlog’02 308.3s (108/143) 189.6s (169/92) 245.8s (61) 6.1s (0)Rovers’02 245.8s (138/112) 165.7s (179/79) 162.9s (41) 5.7s (0)
Satellite’02 398.4s (73/186) 229.9s (155/106) 364.6s (82) 30.8s (0)Zenotravel’02 350.7s (101/169) 239.0s (154/116) 224.5s (53) 6.3s (0)
Total 252.8s (1225/1031) 158.9s (1652/657) 187.2s (430) 17.1s (3)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 362 / 432
![Page 982: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/982.jpg)
Siblings claspfolio
Outline
37 Potassco
38 gringo
39 clasp
40 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 363 / 432
![Page 983: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/983.jpg)
Siblings claspfolio
claspfolio
Automatic selection of some clasp configuration amongseveral predefined ones via (learned) classifiers
Basic architecture of claspfolio:
gringo clasp Prediction clasp
Models claspfolio
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 364 / 432
![Page 984: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/984.jpg)
Siblings claspfolio
Instance Feature Clusters (after PCA)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 365 / 432
![Page 985: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/985.jpg)
Siblings claspfolio
Solving with clasp (as usual)
$ clasp queens500 --quiet
clasp version 2.0.2
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 11.445s (Solving: 10.58s 1st Model: 10.55s Unsat: 0.00s)
CPU Time : 11.410s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 366 / 432
![Page 986: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/986.jpg)
Siblings claspfolio
Solving with clasp (as usual)
$ clasp queens500 --quiet
clasp version 2.0.2
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 11.445s (Solving: 10.58s 1st Model: 10.55s Unsat: 0.00s)
CPU Time : 11.410s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 366 / 432
![Page 987: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/987.jpg)
Siblings claspfolio
Solving with claspfolio
$ claspfolio queens500 --quiet
PRESOLVING
Reading from queens500
Solving...
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.785s (Solving: 3.96s 1st Model: 3.92s Unsat: 0.00s)
CPU Time : 4.780s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 367 / 432
![Page 988: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/988.jpg)
Siblings claspfolio
Solving with claspfolio
$ claspfolio queens500 --quiet
PRESOLVING
Reading from queens500
Solving...
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.785s (Solving: 3.96s 1st Model: 3.92s Unsat: 0.00s)
CPU Time : 4.780s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 367 / 432
![Page 989: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/989.jpg)
Siblings claspfolio
Solving with claspfolio
$ claspfolio queens500 --quiet
PRESOLVING
Reading from queens500
Solving...
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.785s (Solving: 3.96s 1st Model: 3.92s Unsat: 0.00s)
CPU Time : 4.780s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 367 / 432
![Page 990: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/990.jpg)
Siblings claspfolio
Solving with claspfolio
$ claspfolio queens500 --quiet
PRESOLVING
Reading from queens500
Solving...
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.785s (Solving: 3.96s 1st Model: 3.92s Unsat: 0.00s)
CPU Time : 4.780s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 367 / 432
![Page 991: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/991.jpg)
Siblings claspfolio
Feature-extraction with claspfolio
$ claspfolio --features queens500
PRESOLVING
Reading from queens500
Solving...
UNKNOWN
Features : 84998,3994,0,250000,1.020,62.594,63.844,21.281,84998, \
3994,100,250000,1.020,62.594,63.844,21.281,84998,3994,250,250000, \
1.020,62.594,63.844,21.281,84998,3994,475,250000,1.020,62.594, \
63.844,21.281,757989,757989,0,510983,506992,3990,1,0,127.066,9983, \
1023958,502993,1994,518971,1,0,0,254994,0,3990,0.100,0.000,99.900, \
0,270303,812,4,0,812,2223,2223,262,262,2.738,2.738,0.000,812,812, \
2270.982,0,0.000
$ claspfolio --list-features
maxLearnt,Constraints,LearntConstraints,FreeVars,Vars/FreeVars, ...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 368 / 432
![Page 992: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/992.jpg)
Siblings claspfolio
Feature-extraction with claspfolio
$ claspfolio --features queens500
PRESOLVING
Reading from queens500
Solving...
UNKNOWN
Features : 84998,3994,0,250000,1.020,62.594,63.844,21.281,84998, \
3994,100,250000,1.020,62.594,63.844,21.281,84998,3994,250,250000, \
1.020,62.594,63.844,21.281,84998,3994,475,250000,1.020,62.594, \
63.844,21.281,757989,757989,0,510983,506992,3990,1,0,127.066,9983, \
1023958,502993,1994,518971,1,0,0,254994,0,3990,0.100,0.000,99.900, \
0,270303,812,4,0,812,2223,2223,262,262,2.738,2.738,0.000,812,812, \
2270.982,0,0.000
$ claspfolio --list-features
maxLearnt,Constraints,LearntConstraints,FreeVars,Vars/FreeVars, ...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 368 / 432
![Page 993: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/993.jpg)
Siblings claspfolio
Feature-extraction with claspfolio
$ claspfolio --features queens500
PRESOLVING
Reading from queens500
Solving...
UNKNOWN
Features : 84998,3994,0,250000,1.020,62.594,63.844,21.281,84998, \
3994,100,250000,1.020,62.594,63.844,21.281,84998,3994,250,250000, \
1.020,62.594,63.844,21.281,84998,3994,475,250000,1.020,62.594, \
63.844,21.281,757989,757989,0,510983,506992,3990,1,0,127.066,9983, \
1023958,502993,1994,518971,1,0,0,254994,0,3990,0.100,0.000,99.900, \
0,270303,812,4,0,812,2223,2223,262,262,2.738,2.738,0.000,812,812, \
2270.982,0,0.000
$ claspfolio --list-features
maxLearnt,Constraints,LearntConstraints,FreeVars,Vars/FreeVars, ...
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 368 / 432
![Page 994: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/994.jpg)
Siblings claspfolio
Prediction with claspfolio
$ claspfolio queens500 --decisionvalues
PRESOLVING
Reading from queens500
Solving...
Portfolio Decision Values:
[1] : 3.437538 [10] : 3.639444 [19] : 3.726391
[2] : 3.501728 [11] : 3.483334 [20] : 3.020325
[3] : 3.784733 [12] : 3.271890 [21] : 3.220219
[4] : 3.672955 [13] : 3.344085 [22] : 3.998709
[5] : 3.557408 [14] : 3.315235 [23] : 3.961214
[6] : 3.942037 [15] : 3.620479 [24] : 3.512924
[7] : 3.335304 [16] : 3.396838 [25] : 3.078143
[8] : 3.375315 [17] : 3.238764
[9] : 3.432931 [18] : 3.403484
UNKNOWN
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 369 / 432
![Page 995: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/995.jpg)
Siblings claspfolio
Prediction with claspfolio
$ claspfolio queens500 --decisionvalues
PRESOLVING
Reading from queens500
Solving...
Portfolio Decision Values:
[1] : 3.437538 [10] : 3.639444 [19] : 3.726391
[2] : 3.501728 [11] : 3.483334 [20] : 3.020325
[3] : 3.784733 [12] : 3.271890 [21] : 3.220219
[4] : 3.672955 [13] : 3.344085 [22] : 3.998709
[5] : 3.557408 [14] : 3.315235 [23] : 3.961214
[6] : 3.942037 [15] : 3.620479 [24] : 3.512924
[7] : 3.335304 [16] : 3.396838 [25] : 3.078143
[8] : 3.375315 [17] : 3.238764
[9] : 3.432931 [18] : 3.403484
UNKNOWN
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 369 / 432
![Page 996: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/996.jpg)
Siblings claspfolio
Prediction with claspfolio
$ claspfolio queens500 --decisionvalues
PRESOLVING
Reading from queens500
Solving...
Portfolio Decision Values:
[1] : 3.437538 [10] : 3.639444 [19] : 3.726391
[2] : 3.501728 [11] : 3.483334 [20] : 3.020325
[3] : 3.784733 [12] : 3.271890 [21] : 3.220219
[4] : 3.672955 [13] : 3.344085 [22] : 3.998709
[5] : 3.557408 [14] : 3.315235 [23] : 3.961214
[6] : 3.942037 [15] : 3.620479 [24] : 3.512924
[7] : 3.335304 [16] : 3.396838 [25] : 3.078143
[8] : 3.375315 [17] : 3.238764
[9] : 3.432931 [18] : 3.403484
UNKNOWN
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 369 / 432
![Page 997: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/997.jpg)
Siblings claspfolio
Solving with claspfolio (slightly verbosely)
$ claspfolio queens500 --quiet --autoverbose=1
PRESOLVING
Reading from queens500
Solving...
Chosen configuration: [20]
clasp --configurations=./models/portfolio.txt \
--modelpath=./models/ \
queens500 --quiet --autoverbose=1 \
--heu=VSIDS --sat-pre=20,25,120 --trans-ext=integ
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.783s (Solving: 3.96s 1st Model: 3.93s Unsat: 0.00s)
CPU Time : 4.760s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 370 / 432
![Page 998: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/998.jpg)
Siblings claspfolio
Solving with claspfolio (slightly verbosely)
$ claspfolio queens500 --quiet --autoverbose=1
PRESOLVING
Reading from queens500
Solving...
Chosen configuration: [20]
clasp --configurations=./models/portfolio.txt \
--modelpath=./models/ \
queens500 --quiet --autoverbose=1 \
--heu=VSIDS --sat-pre=20,25,120 --trans-ext=integ
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.783s (Solving: 3.96s 1st Model: 3.93s Unsat: 0.00s)
CPU Time : 4.760s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 370 / 432
![Page 999: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/999.jpg)
Siblings claspfolio
Solving with claspfolio (slightly verbosely)
$ claspfolio queens500 --quiet --autoverbose=1
PRESOLVING
Reading from queens500
Solving...
Chosen configuration: [20]
clasp --configurations=./models/portfolio.txt \
--modelpath=./models/ \
queens500 --quiet --autoverbose=1 \
--heu=VSIDS --sat-pre=20,25,120 --trans-ext=integ
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.783s (Solving: 3.96s 1st Model: 3.93s Unsat: 0.00s)
CPU Time : 4.760s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 370 / 432
![Page 1000: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1000.jpg)
Siblings claspfolio
Solving with claspfolio (slightly verbosely)
$ claspfolio queens500 --quiet --autoverbose=1
PRESOLVING
Reading from queens500
Solving...
Chosen configuration: [20]
clasp --configurations=./models/portfolio.txt \
--modelpath=./models/ \
queens500 --quiet --autoverbose=1 \
--heu=VSIDS --sat-pre=20,25,120 --trans-ext=integ
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.783s (Solving: 3.96s 1st Model: 3.93s Unsat: 0.00s)
CPU Time : 4.760s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 370 / 432
![Page 1001: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1001.jpg)
Siblings claspfolio
Solving with claspfolio (slightly verbosely)
$ claspfolio queens500 --quiet --autoverbose=1
PRESOLVING
Reading from queens500
Solving...
Chosen configuration: [20]
clasp --configurations=./models/portfolio.txt \
--modelpath=./models/ \
queens500 --quiet --autoverbose=1 \
--heu=VSIDS --sat-pre=20,25,120 --trans-ext=integ
claspfolio version 1.0.1 (based on clasp version 2.0.2)
Reading from queens500
Solving...
SATISFIABLE
Models : 1+
Time : 4.783s (Solving: 3.96s 1st Model: 3.93s Unsat: 0.00s)
CPU Time : 4.760s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 370 / 432
![Page 1002: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1002.jpg)
Siblings claspD
Outline
37 Potassco
38 gringo
39 clasp
40 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 371 / 432
![Page 1003: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1003.jpg)
Siblings claspD
claspD
claspD is a multi-threaded solver for disjunctive logic programs
aiming at an equitable interplay between “generating” and “testing”solver units
allowing for a bidirectional dynamic information exchange betweensolver units for orthogonal tasks
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 372 / 432
![Page 1004: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1004.jpg)
Siblings claspD
claspD
claspD is a multi-threaded solver for disjunctive logic programs
aiming at an equitable interplay between “generating” and “testing”solver units
allowing for a bidirectional dynamic information exchange betweensolver units for orthogonal tasks
Preprocessing
SharedData
HCC1Data
HCCkData
Solver1 Solver1 Solver1
Solvern Solvern Solvern
Generator Tester1 Testerk
Non-HCF SCCs
Generator Configuration
Tester Configuration
...
...
. .
.
. .
.
. .
.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 372 / 432
![Page 1005: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1005.jpg)
Siblings clingcon
Outline
37 Potassco
38 gringo
39 clasp
40 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 373 / 432
![Page 1006: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1006.jpg)
Siblings clingcon
clingcon
Hybrid grounding and solving
Solving in hybrid domains, like Bio-Informatics
Basic architecture of clingcon:
TheoryLanguage
gringo clasp
TheoryPropagator
TheorySolver
clingcon
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 374 / 432
![Page 1007: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1007.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
1 $<= amount(B,T) :- pour(B,T), T < t.
amount(B,T) $<= 30 :- pour(B,T), T < t.
amount(B,T) $== 0 :- not pour(B,T), bucket(B), time(T), T < t.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1008: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1008.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
1 $<= amount(B,T) :- pour(B,T), T < t.
amount(B,T) $<= 30 :- pour(B,T), T < t.
amount(B,T) $== 0 :- not pour(B,T), bucket(B), time(T), T < t.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1009: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1009.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
1 $<= amount(B,T) :- pour(B,T), T < t.
amount(B,T) $<= 30 :- pour(B,T), T < t.
amount(B,T) $== 0 :- not pour(B,T), bucket(B), time(T), T < t.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1010: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1010.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
1 $<= amount(B,T) :- pour(B,T), T < t.
amount(B,T) $<= 30 :- pour(B,T), T < t.
amount(B,T) $== 0 :- not pour(B,T), bucket(B), time(T), T < t.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1011: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1011.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
:- pour(B,T), T < t, not (1 $<= amount(B,T)).
amount(B,T) $<= 30 :- pour(B,T), T < t.
amount(B,T) $== 0 :- not pour(B,T), bucket(B), time(T), T < t.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1012: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1012.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
:- pour(B,T), T < t, 1 $> amount(B,T).
amount(B,T) $<= 30 :- pour(B,T), T < t.
amount(B,T) $== 0 :- not pour(B,T), bucket(B), time(T), T < t.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1013: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1013.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
:- pour(B,T), T < t, 1 $> amount(B,T).
:- pour(B,T), T < t, amount(B,T) $> 30.
amount(B,T) $== 0 :- not pour(B,T), bucket(B), time(T), T < t.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1014: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1014.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
:- pour(B,T), T < t, 1 $> amount(B,T).
:- pour(B,T), T < t, amount(B,T) $> 30.
:- not pour(B,T), bucket(B), time(T), T < t, amount(B,T) $!= 0.
volume(B,T+1) $== volume(B,T) $+ amount(B,T) :- bucket(B), time(T), T < t.
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1015: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1015.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
time(0..t). $domain(0..500).
bucket(a). volume(a,0) $== 0.
bucket(b). volume(b,0) $== 100.
1 pour(B,T) : bucket(B) 1 :- time(T), T < t.
:- pour(B,T), T < t, 1 $> amount(B,T).
:- pour(B,T), T < t, amount(B,T) $> 30.
:- not pour(B,T), bucket(B), time(T), T < t, amount(B,T) $!= 0.
:- bucket(B), time(T), T < t, volume(B,T+1) $!= volume(B,T)$+amount(B,T).
down(B,T) :- volume(C,T) $< volume(B,T), bucket(B;C), time(T).
up(B,T) :- not down(B,T), bucket(B), time(T).
:- up(a,t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 375 / 432
![Page 1016: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1016.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --text
time(0). ... time(4). $domain(0..500).
bucket(a). :- volume(a,0) $!= 0.
bucket(b). :- volume(b,0) $!= 100.
1 pour(b,0), pour(a,0) 1. ... 1 pour(b,3), pour(a,3) 1.
:- pour(a,0), 1 $> amount(a,0). ... :- pour(a,3), 1 $> amount(a,3).
:- pour(b,0), 1 $> amount(b,0). ... :- pour(b,3), 1 $> amount(b,3).
:- pour(a,0), amount(a,0) $> 30. ... :- pour(a,3), amount(a,3) $> 30.
:- pour(b,0), amount(b,0) $> 30. ... :- pour(b,3), amount(b,3) $> 30.
:- not pour(a,0), amount(a,0) $!= 0. ... :- not pour(a,3), amount(a,3) $!= 0.
:- not pour(b,0), amount(b,0) $!= 0. ... :- not pour(b,3), amount(b,3) $!= 0.
:- volume(a,1) $!= (volume(a,0) $+ amount(a,0)). ... :- volume(a,4) $!= (volume(a,3) $+ amount(a,3)).
:- volume(b,1) $!= (volume(b,0) $+ amount(b,0)). ... :- volume(b,4) $!= (volume(b,3) $+ amount(b,3)).
down(a,0) :- volume(a,0) $< volume(a,0). ... down(a,4) :- volume(a,4) $< volume(a,4).
down(a,0) :- volume(b,0) $< volume(a,0). ... down(a,4) :- volume(b,4) $< volume(a,4).
down(b,0) :- volume(a,0) $< volume(b,0). ... down(b,4) :- volume(a,4) $< volume(b,4).
down(b,0) :- volume(b,0) $< volume(b,0). ... down(b,4) :- volume(b,4) $< volume(b,4).
up(a,0) :- not down(a,0). ... up(a,4) :- not down(a,4).
up(b,0) :- not down(b,0). ... up(b,4) :- not down(b,4).
:- up(a,4).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 376 / 432
![Page 1017: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1017.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --text
time(0). ... time(4). $domain(0..500).
bucket(a). :- volume(a,0) $!= 0.
bucket(b). :- volume(b,0) $!= 100.
1 pour(b,0), pour(a,0) 1. ... 1 pour(b,3), pour(a,3) 1.
:- pour(a,0), 1 $> amount(a,0). ... :- pour(a,3), 1 $> amount(a,3).
:- pour(b,0), 1 $> amount(b,0). ... :- pour(b,3), 1 $> amount(b,3).
:- pour(a,0), amount(a,0) $> 30. ... :- pour(a,3), amount(a,3) $> 30.
:- pour(b,0), amount(b,0) $> 30. ... :- pour(b,3), amount(b,3) $> 30.
:- not pour(a,0), amount(a,0) $!= 0. ... :- not pour(a,3), amount(a,3) $!= 0.
:- not pour(b,0), amount(b,0) $!= 0. ... :- not pour(b,3), amount(b,3) $!= 0.
:- volume(a,1) $!= (volume(a,0) $+ amount(a,0)). ... :- volume(a,4) $!= (volume(a,3) $+ amount(a,3)).
:- volume(b,1) $!= (volume(b,0) $+ amount(b,0)). ... :- volume(b,4) $!= (volume(b,3) $+ amount(b,3)).
down(a,0) :- volume(a,0) $< volume(a,0). ... down(a,4) :- volume(a,4) $< volume(a,4).
down(a,0) :- volume(b,0) $< volume(a,0). ... down(a,4) :- volume(b,4) $< volume(a,4).
down(b,0) :- volume(a,0) $< volume(b,0). ... down(b,4) :- volume(a,4) $< volume(b,4).
down(b,0) :- volume(b,0) $< volume(b,0). ... down(b,4) :- volume(b,4) $< volume(b,4).
up(a,0) :- not down(a,0). ... up(a,4) :- not down(a,4).
up(b,0) :- not down(b,0). ... up(b,4) :- not down(b,4).
:- up(a,4).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 376 / 432
![Page 1018: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1018.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --text
time(0). ... time(4). $domain(0..500).
bucket(a). :- volume(a,0) $!= 0.
bucket(b). :- volume(b,0) $!= 100.
1 pour(b,0), pour(a,0) 1. ... 1 pour(b,3), pour(a,3) 1.
:- pour(a,0), 1 $> amount(a,0). ... :- pour(a,3), 1 $> amount(a,3).
:- pour(b,0), 1 $> amount(b,0). ... :- pour(b,3), 1 $> amount(b,3).
:- pour(a,0), amount(a,0) $> 30. ... :- pour(a,3), amount(a,3) $> 30.
:- pour(b,0), amount(b,0) $> 30. ... :- pour(b,3), amount(b,3) $> 30.
:- not pour(a,0), amount(a,0) $!= 0. ... :- not pour(a,3), amount(a,3) $!= 0.
:- not pour(b,0), amount(b,0) $!= 0. ... :- not pour(b,3), amount(b,3) $!= 0.
:- volume(a,1) $!= (volume(a,0) $+ amount(a,0)). ... :- volume(a,4) $!= (volume(a,3) $+ amount(a,3)).
:- volume(b,1) $!= (volume(b,0) $+ amount(b,0)). ... :- volume(b,4) $!= (volume(b,3) $+ amount(b,3)).
down(a,0) :- volume(a,0) $< volume(a,0). ... down(a,4) :- volume(a,4) $< volume(a,4).
down(a,0) :- volume(b,0) $< volume(a,0). ... down(a,4) :- volume(b,4) $< volume(a,4).
down(b,0) :- volume(a,0) $< volume(b,0). ... down(b,4) :- volume(a,4) $< volume(b,4).
down(b,0) :- volume(b,0) $< volume(b,0). ... down(b,4) :- volume(b,4) $< volume(b,4).
up(a,0) :- not down(a,0). ... up(a,4) :- not down(a,4).
up(b,0) :- not down(b,0). ... up(b,4) :- not down(b,4).
:- up(a,4).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 376 / 432
![Page 1019: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1019.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --text
time(0). ... time(4). $domain(0..500).
bucket(a). :- volume(a,0) $!= 0.
bucket(b). :- volume(b,0) $!= 100.
1 pour(b,0), pour(a,0) 1. ... 1 pour(b,3), pour(a,3) 1.
:- pour(a,0), 1 $> amount(a,0). ... :- pour(a,3), 1 $> amount(a,3).
:- pour(b,0), 1 $> amount(b,0). ... :- pour(b,3), 1 $> amount(b,3).
:- pour(a,0), amount(a,0) $> 30. ... :- pour(a,3), amount(a,3) $> 30.
:- pour(b,0), amount(b,0) $> 30. ... :- pour(b,3), amount(b,3) $> 30.
:- not pour(a,0), amount(a,0) $!= 0. ... :- not pour(a,3), amount(a,3) $!= 0.
:- not pour(b,0), amount(b,0) $!= 0. ... :- not pour(b,3), amount(b,3) $!= 0.
:- volume(a,1) $!= (volume(a,0) $+ amount(a,0)). ... :- volume(a,4) $!= (volume(a,3) $+ amount(a,3)).
:- volume(b,1) $!= (volume(b,0) $+ amount(b,0)). ... :- volume(b,4) $!= (volume(b,3) $+ amount(b,3)).
down(a,0) :- volume(a,0) $< volume(a,0). ... down(a,4) :- volume(a,4) $< volume(a,4).
down(a,0) :- volume(b,0) $< volume(a,0). ... down(a,4) :- volume(b,4) $< volume(a,4).
down(b,0) :- volume(a,0) $< volume(b,0). ... down(b,4) :- volume(a,4) $< volume(b,4).
down(b,0) :- volume(b,0) $< volume(b,0). ... down(b,4) :- volume(b,4) $< volume(b,4).
up(a,0) :- not down(a,0). ... up(a,4) :- not down(a,4).
up(b,0) :- not down(b,0). ... up(b,4) :- not down(b,4).
:- up(a,4).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 376 / 432
![Page 1020: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1020.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --text
time(0). ... time(4). $domain(0..500).
bucket(a). :- volume(a,0) $!= 0.
bucket(b). :- volume(b,0) $!= 100.
1 pour(b,0), pour(a,0) 1. ... 1 pour(b,3), pour(a,3) 1.
:- pour(a,0), 1 $> amount(a,0). ... :- pour(a,3), 1 $> amount(a,3).
:- pour(b,0), 1 $> amount(b,0). ... :- pour(b,3), 1 $> amount(b,3).
:- pour(a,0), amount(a,0) $> 30. ... :- pour(a,3), amount(a,3) $> 30.
:- pour(b,0), amount(b,0) $> 30. ... :- pour(b,3), amount(b,3) $> 30.
:- not pour(a,0), amount(a,0) $!= 0. ... :- not pour(a,3), amount(a,3) $!= 0.
:- not pour(b,0), amount(b,0) $!= 0. ... :- not pour(b,3), amount(b,3) $!= 0.
:- volume(a,1) $!= (volume(a,0) $+ amount(a,0)). ... :- volume(a,4) $!= (volume(a,3) $+ amount(a,3)).
:- volume(b,1) $!= (volume(b,0) $+ amount(b,0)). ... :- volume(b,4) $!= (volume(b,3) $+ amount(b,3)).
down(a,0) :- volume(a,0) $< volume(a,0). ... down(a,4) :- volume(a,4) $< volume(a,4).
down(a,0) :- volume(b,0) $< volume(a,0). ... down(a,4) :- volume(b,4) $< volume(a,4).
down(b,0) :- volume(a,0) $< volume(b,0). ... down(b,4) :- volume(a,4) $< volume(b,4).
down(b,0) :- volume(b,0) $< volume(b,0). ... down(b,4) :- volume(b,4) $< volume(b,4).
up(a,0) :- not down(a,0). ... up(a,4) :- not down(a,4).
up(b,0) :- not down(b,0). ... up(b,4) :- not down(b,4).
:- up(a,4).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 376 / 432
![Page 1021: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1021.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp 0
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=[11..30] amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=[11..30] amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=[11..30] amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=[11..30] amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=[11..30] volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=[41..60] volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=[71..90] volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=[101..120] volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 377 / 432
![Page 1022: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1022.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp 0
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=[11..30] amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=[11..30] amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=[11..30] amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=[11..30] amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=[11..30] volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=[41..60] volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=[71..90] volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=[101..120] volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 377 / 432
![Page 1023: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1023.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp 0
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=[11..30] amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=[11..30] amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=[11..30] amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=[11..30] amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=[11..30] volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=[41..60] volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=[71..90] volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=[101..120] volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 377 / 432
![Page 1024: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1024.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp 0
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=[11..30] amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=[11..30] amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=[11..30] amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=[11..30] amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=[11..30] volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=[41..60] volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=[71..90] volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=[101..120] volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 377 / 432
![Page 1025: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1025.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp 0
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=[11..30] amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=[11..30] amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=[11..30] amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=[11..30] amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=[11..30] volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=[41..60] volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=[71..90] volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=[101..120] volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1
Time : 0.000 Boolean variables
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 377 / 432
![Page 1026: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1026.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp 0
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=[11..30] amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=[11..30] amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=[11..30] amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=[11..30] amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=[11..30] volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=[41..60] volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=[71..90] volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=[101..120] volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1
Time : 0.000 Non-Boolean variables
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 377 / 432
![Page 1027: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1027.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --csp-num-as=1
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=11 amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=30 amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=30 amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=30 amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=11 volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=41 volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=71 volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=101 volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1+
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 378 / 432
![Page 1028: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1028.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --csp-num-as=1
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=11 amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=30 amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=30 amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=30 amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=11 volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=41 volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=71 volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=101 volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1+
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 378 / 432
![Page 1029: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1029.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --csp-num-as=1
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=11 amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=30 amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=30 amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=30 amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=11 volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=41 volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=71 volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=101 volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1+
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 378 / 432
![Page 1030: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1030.jpg)
Siblings clingcon
Pouring Water into Buckets on a Scale
$ clingcon --const t=4 balance.lp --csp-num-as=1
Answer: 1
pour(a,0) pour(a,1) pour(a,2) pour(a,3)
amount(a,0)=11 amount(b,0)=0 1 $> amount(b,0) amount(a,0) $!= 0
amount(a,1)=30 amount(b,1)=0 1 $> amount(b,1) amount(a,1) $!= 0
amount(a,2)=30 amount(b,2)=0 1 $> amount(b,2) amount(a,2) $!= 0
amount(a,3)=30 amount(b,3)=0 1 $> amount(b,3) amount(a,3) $!= 0
volume(a,0)=0 volume(b,0)=100 volume(a,0) $< volume(b,0)
volume(a,1)=11 volume(b,1)=100 volume(a,1) $< volume(b,1)
volume(a,2)=41 volume(b,2)=100 volume(a,2) $< volume(b,2)
volume(a,3)=71 volume(b,3)=100 volume(a,3) $< volume(b,3)
volume(a,4)=101 volume(b,4)=100 volume(b,4) $< volume(a,4)
SATISFIABLE
Models : 1+
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 378 / 432
![Page 1031: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1031.jpg)
Siblings iclingo
Outline
37 Potassco
38 gringo
39 clasp
40 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 379 / 432
![Page 1032: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1032.jpg)
Siblings iclingo
iclingo
Incremental grounding and solving
Offline solving in dynamic domains, like Automated Planning
Basic architecture of iclingo:
gringo clasp
iclingo
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 380 / 432
![Page 1033: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1033.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder Solver
StableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
Q1
P1
B
8?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1034: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1034.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder Solver
StableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
Q1
P1
B
8?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1035: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1035.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram
Grounder SolverStableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
Q1
P1
B
8?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1036: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1036.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram
Grounder SolverStableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
Q1
P1
B
8?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1037: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1037.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
Q1
P1
B
8?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1038: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1038.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1039: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1039.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1040: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1040.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1041: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1041.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1042: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1042.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1043: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1043.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8
P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1044: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1044.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1045: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1045.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8
P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1046: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1046.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8
P3
Q3
8
...Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1047: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1047.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8
P3
Q3
8...
Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1048: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1048.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8
P3
Q3
8
...Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1049: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1049.jpg)
Siblings iclingo
Incremental ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
Q1
P1
B
8
?
P2
Q2
8
P3
Q3
8
...Pn
Qn
4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 381 / 432
![Page 1050: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1050.jpg)
Siblings iclingo
Simplistic STRIPS Planning
#base.
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
#cumulative t.
1 occ(A,t) : action(A) 1.
:- occ(A,t), pre(A,F), not holds(F,t-1).
holds(F,t) :- holds(F,t-1), not nolds(F,t).
holds(F,t) :- occ(A,t), add(A,F).
nolds(F,t) :- occ(A,t), del(A,F).
#volatile t.
:- query(F), not holds(F,t).
#hide. #show occ/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 382 / 432
![Page 1051: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1051.jpg)
Siblings iclingo
Simplistic STRIPS Planning
#base.
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
#cumulative t.
1 occ(A,t) : action(A) 1.
:- occ(A,t), pre(A,F), not holds(F,t-1).
holds(F,t) :- holds(F,t-1), not nolds(F,t).
holds(F,t) :- occ(A,t), add(A,F).
nolds(F,t) :- occ(A,t), del(A,F).
#volatile t.
:- query(F), not holds(F,t).
#hide. #show occ/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 382 / 432
![Page 1052: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1052.jpg)
Siblings iclingo
Simplistic STRIPS Planning
#base.
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
#cumulative t.
1 occ(A,t) : action(A) 1.
:- occ(A,t), pre(A,F), not holds(F,t-1).
holds(F,t) :- holds(F,t-1), not nolds(F,t).
holds(F,t) :- occ(A,t), add(A,F).
nolds(F,t) :- occ(A,t), del(A,F).
#volatile t.
:- query(F), not holds(F,t).
#hide. #show occ/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 382 / 432
![Page 1053: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1053.jpg)
Siblings iclingo
Simplistic STRIPS Planning
#base.
fluent(p). action(a). action(b). init(p).
fluent(q). pre(a,p). pre(b,q).
fluent(r). add(a,q). add(b,r). query(r).
del(a,p). del(b,q).
holds(P,0) :- init(P).
#cumulative t.
1 occ(A,t) : action(A) 1.
:- occ(A,t), pre(A,F), not holds(F,t-1).
holds(F,t) :- holds(F,t-1), not nolds(F,t).
holds(F,t) :- occ(A,t), add(A,F).
nolds(F,t) :- occ(A,t), del(A,F).
#volatile t.
:- query(F), not holds(F,t).
#hide. #show occ/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 382 / 432
![Page 1054: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1054.jpg)
Siblings iclingo
Simplistic STRIPS Planning
$ iclingo iplanning.lp
Answer: 1
occ(a,1) occ(b,2)
SATISFIABLE
Models : 1
Total Steps : 2
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 383 / 432
![Page 1055: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1055.jpg)
Siblings iclingo
Simplistic STRIPS Planning
$ iclingo iplanning.lp
Answer: 1
occ(a,1) occ(b,2)
SATISFIABLE
Models : 1
Total Steps : 2
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 383 / 432
![Page 1056: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1056.jpg)
Siblings iclingo
Simplistic STRIPS Planning
$ iclingo iplanning.lp --istats
=============== step 1 ===============
Models : 0
Time : 0.000 (g: 0.000, p: 0.000, s: 0.000)
Rules : 27
Choices : 0
Conflicts: 0
=============== step 2 ===============
Answer: 1
occ(a,1) occ(b,2)
Models : 1
Time : 0.000 (g: 0.000, p: 0.000, s: 0.000)
Rules : 16
Choices : 0
Conflicts: 0
=============== Summary ===============
SATISFIABLE
Models : 1
Total Steps : 2
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 384 / 432
![Page 1057: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1057.jpg)
Siblings iclingo
Simplistic STRIPS Planning
$ iclingo iplanning.lp --istats
=============== step 1 ===============
Models : 0
Time : 0.000 (g: 0.000, p: 0.000, s: 0.000)
Rules : 27
Choices : 0
Conflicts: 0
=============== step 2 ===============
Answer: 1
occ(a,1) occ(b,2)
Models : 1
Time : 0.000 (g: 0.000, p: 0.000, s: 0.000)
Rules : 16
Choices : 0
Conflicts: 0
=============== Summary ===============
SATISFIABLE
Models : 1
Total Steps : 2
Time : 0.000
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 384 / 432
![Page 1058: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1058.jpg)
Siblings oclingo
Outline
37 Potassco
38 gringo
39 clasp
40 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 385 / 432
![Page 1059: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1059.jpg)
Siblings oclingo
oclingo
Reactive grounding and solving
Online solving in dynamic domains, like Robotics
Basic architecture of oclingo:
gringo clasp
oclingo
Controller
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 386 / 432
![Page 1060: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1060.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder Solver
StableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1061: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1061.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder Solver
StableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1062: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1062.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram
Grounder SolverStableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1063: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1063.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram
Grounder SolverStableModels
- - -
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1064: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1064.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1065: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1065.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1066: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1066.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
GrounderQk
Pk
B
6
E1
F1
E1
F1
B
P1...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1067: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1067.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1068: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1068.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1069: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1069.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1070: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1070.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1071: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1071.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1072: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1072.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1073: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1073.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4
Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1074: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1074.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4
Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41
F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1075: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1075.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4
Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41
F41
...
E42
F42
Pn42
Qn42
4
UpdateQuery
Erasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1076: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1076.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4
Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
Update
QueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1077: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1077.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4
Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
Update
Query
Erasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1078: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1078.jpg)
Siblings oclingo
Reactive ASP Solving Process
LogicProgram Grounder
SolverStableModels
- -
-
6
Modeling
Qk
Pk
B
Grounder
Qk
Pk
B
6
E1
F1
E1
F1
BP1
...
Pn1
Qn1
4
E2
F2
E1
F1
E2
F2
Pn2
Qn2
4
E3
F3
E2
F2
E1
F1
E3
F3
Pn3
Qn3
4Pn41
Qn41
E42
F42
E41
F41
E40
F40
E39
F39
E38
F38
E37
F37
E36
F36
E35
F35
E41
F41F41
...
E42
F42
Pn42
Qn42
4
UpdateQueryErasure
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 387 / 432
![Page 1079: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1079.jpg)
Siblings oclingo
Elevator Control
#base.
floor(1..3).
atFloor(1,0).
#cumulative t.
#external request(F,t) : floor(F).
1 atFloor(F-1;F+1,t) 1 :- atFloor(F,t-1), floor(F).
:- atFloor(F,t), not floor(F).
requested(F,t) :- request(F,t), floor(F), not atFloor(F,t).
requested(F,t) :- requested(F,t-1), floor(F), not atFloor(F,t).
goal(t) :- not requested(F,t) : floor(F).
#volatile t.
:- not goal(t).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 388 / 432
![Page 1080: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1080.jpg)
Siblings oclingo
Pushing a button
oClingo acts as a server listening on a portwaiting for client requests
To issue such requests, a separate controller programsends online progressions using network sockets
For instance,
#step 1.
request(3,1).
#endstep.
This process terminates when the client sends
#stop.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 389 / 432
![Page 1081: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1081.jpg)
Siblings oclingo
Pushing a button
oClingo acts as a server listening on a portwaiting for client requests
To issue such requests, a separate controller programsends online progressions using network sockets
For instance,
#step 1.
request(3,1).
#endstep.
This process terminates when the client sends
#stop.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 389 / 432
![Page 1082: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1082.jpg)
Siblings oclingo
Pushing a button
oClingo acts as a server listening on a portwaiting for client requests
To issue such requests, a separate controller programsends online progressions using network sockets
For instance,
#step 1.
request(3,1).
#endstep.
This process terminates when the client sends
#stop.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 389 / 432
![Page 1083: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1083.jpg)
Siblings oclingo
Pushing a button
oClingo acts as a server listening on a portwaiting for client requests
To issue such requests, a separate controller programsends online progressions using network sockets
For instance,
#step 1.
request(3,1).
#endstep.
This process terminates when the client sends
#stop.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 389 / 432
![Page 1084: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1084.jpg)
Siblings clavis
Outline
37 Potassco
38 gringo
39 clasp
40 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 390 / 432
![Page 1085: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1085.jpg)
Siblings clavis
clavis
Analysis and visualization toolchain for clasp
clavis
Event logger integrated in claspRecords CDCL events like propagation, conflicts, restarts, . . .Generated logfiles readable with different backendsEasily configurableApplicable to clasp variants like hclasp
insight
Visualization backend for clavisCombines information about problem structure and solving processNetworks for structural and aggregated informationPlots for temporal information and navigation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 391 / 432
![Page 1086: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1086.jpg)
Siblings clavis
clavis
Analysis and visualization toolchain for clasp
clavis
Event logger integrated in claspRecords CDCL events like propagation, conflicts, restarts, . . .Generated logfiles readable with different backendsEasily configurableApplicable to clasp variants like hclasp
insight
Visualization backend for clavisCombines information about problem structure and solving processNetworks for structural and aggregated informationPlots for temporal information and navigation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 391 / 432
![Page 1087: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1087.jpg)
Siblings clavis
clavis
Analysis and visualization toolchain for clasp
clavis
Event logger integrated in claspRecords CDCL events like propagation, conflicts, restarts, . . .Generated logfiles readable with different backendsEasily configurableApplicable to clasp variants like hclasp
insight
Visualization backend for clavisCombines information about problem structure and solving processNetworks for structural and aggregated informationPlots for temporal information and navigation
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 391 / 432
![Page 1088: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1088.jpg)
Siblings clavis
Visualization Examples
8-Queens: program interaction graph
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 392 / 432
![Page 1089: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1089.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: program interaction graphColors showing flipped assignments
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 393 / 432
![Page 1090: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1090.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: flipped assignments between decisions
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 394 / 432
![Page 1091: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1091.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: flipped assignments between decisions (zoomed in)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 395 / 432
![Page 1092: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1092.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: learned nogoods during zoomed in segmentprojected onto program interaction graph layout
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 396 / 432
![Page 1093: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1093.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: learned nogoods during zoomed in segmentcompared to program interaction graph
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 397 / 432
![Page 1094: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1094.jpg)
Siblings clavis
Interactive View
Symbol table shows additional information about variables
Search bar and symbol table allow for dynamic change of the view
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 398 / 432
![Page 1095: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1095.jpg)
Siblings clavis
Interactive View
Symbol table shows additional information about variables
Search bar and symbol table allow for dynamic change of the view
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 398 / 432
![Page 1096: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1096.jpg)
Siblings clavis
Interactive View
Symbol table shows additional information about variables
Search bar and symbol table allow for dynamic change of the view
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 398 / 432
![Page 1097: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1097.jpg)
Advanced Modeling: Overview
41 Tweaking N-Queens
42 Do’s and Dont’s
43 Hints
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 399 / 432
![Page 1098: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1098.jpg)
Anything left to worry about?
ASP offers
rich yet easy modeling languagesefficient instantiation procedurespowerful search engines
BUT The problem encoding (still) matters!
Example Sort a list with 8 elements
divide-and-conquer ∼ 8(log28) = 16 “operations”permutation guessing ∼ 8!/2 = 20160 “operations”
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 400 / 432
![Page 1099: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1099.jpg)
Anything left to worry about?
ASP offers
rich yet easy modeling languagesefficient instantiation procedurespowerful search engines
BUT The problem encoding (still) matters!
Example Sort a list with 8 elements
divide-and-conquer ∼ 8(log28) = 16 “operations”permutation guessing ∼ 8!/2 = 20160 “operations”
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 400 / 432
![Page 1100: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1100.jpg)
Anything left to worry about?
ASP offers
rich yet easy modeling languagesefficient instantiation procedurespowerful search engines
BUT The problem encoding (still) matters!
Example Sort a list with 8 elements
divide-and-conquer ∼ 8(log28) = 16 “operations”permutation guessing ∼ 8!/2 = 20160 “operations”
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 400 / 432
![Page 1101: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1101.jpg)
Anything left to worry about?
ASP offers
rich yet easy modeling languagesefficient instantiation procedurespowerful search engines
BUT The problem encoding (still) matters!
Example Sort a list with 8 elements
divide-and-conquer ∼ 8(log28) = 16 “operations”permutation guessing ∼ 8!/2 = 20160 “operations”
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 400 / 432
![Page 1102: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1102.jpg)
Tweaking N-Queens
Outline
41 Tweaking N-Queens
42 Do’s and Dont’s
43 Hints
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 401 / 432
![Page 1103: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1103.jpg)
Tweaking N-Queens
N-Queens Problem
Problem Specification
Given an N×N chessboard,place N queens such that they do not attack each other(neither horizontally, vertically, nor diagonally)
N = 4
Chessboard
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
Placement
4 0ZQZ3 L0Z02 0Z0L1 ZQZ0
1 2 3 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 402 / 432
![Page 1104: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1104.jpg)
Tweaking N-Queens
N-Queens Problem
Problem Specification
Given an N×N chessboard,place N queens such that they do not attack each other(neither horizontally, vertically, nor diagonally)
N = 4
Chessboard
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
Placement
4 0ZQZ3 L0Z02 0Z0L1 ZQZ0
1 2 3 4
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 402 / 432
![Page 1105: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1105.jpg)
Tweaking N-Queens
A First Encoding
1 Each square may host a queen
2 No row, column, or diagonal hosts two queens
3 A placement is given by instances of queen in a stable model
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- queen(X1,Y1), queen(X1,Y2), Y1 < Y2.
% DISPLAY
#hide. #show queen/2.
Anything missing?
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 403 / 432
![Page 1106: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1106.jpg)
Tweaking N-Queens
A First Encoding
1 Each square may host a queen
2 No row, column, or diagonal hosts two queens
3 A placement is given by instances of queen in a stable model
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- queen(X1,Y1), queen(X1,Y2), Y1 < Y2.
% DISPLAY
#hide. #show queen/2.
Anything missing?
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 403 / 432
![Page 1107: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1107.jpg)
Tweaking N-Queens
A First Encoding
1 Each square may host a queen
2 No row, column, or diagonal hosts two queens
3 A placement is given by instances of queen in a stable model
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- queen(X1,Y1), queen(X2,Y1), X1 < X2.
% DISPLAY
#hide. #show queen/2.
Anything missing?
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 403 / 432
![Page 1108: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1108.jpg)
Tweaking N-Queens
A First Encoding
1 Each square may host a queen
2 No row, column, or diagonal hosts two queens
3 A placement is given by instances of queen in a stable model
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|.
% DISPLAY
#hide. #show queen/2.
Anything missing?
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 403 / 432
![Page 1109: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1109.jpg)
Tweaking N-Queens
A First Encoding
1 Each square may host a queen
2 No row, column, or diagonal hosts two queens
3 A placement is given by instances of queen in a stable model
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
[...]
% DISPLAY
#hide. #show queen/2.
Anything missing?
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 403 / 432
![Page 1110: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1110.jpg)
Tweaking N-Queens
A First Encoding
1 Each square may host a queen
2 No row, column, or diagonal hosts two queens
3 A placement is given by instances of queen in a stable model
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
[...]
% DISPLAY
#hide. #show queen/2.
Anything missing?
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 403 / 432
![Page 1111: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1111.jpg)
Tweaking N-Queens
A First Encoding
1 Each square may host a queen2 No row, column, or diagonal hosts two queens3 A placement is given by instances of queen in a stable model4 We have to place (at least) N queens
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
[...]
:- not n #count queen(X,Y) .
% DISPLAY
#hide. #show queen/2.
Anything missing?
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 403 / 432
![Page 1112: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1112.jpg)
Tweaking N-Queens
A First EncodingLet’s Place 8 Queens!
gringo -c n=8 queens_0.lp | clasp --stats
Answer: 1
queen(1,6) queen(2,3) queen(3,1) queen(4,7)
queen(5,5) queen(6,8) queen(7,2) queen(8,4)
SATISFIABLE
Models : 1+
Time : 0.006s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.000s
Choices : 18
Conflicts : 13
Restarts : 0
Variables : 793
Constraints : 729
8 0Z0L0Z0Z7 ZQZ0Z0Z06 0Z0Z0Z0L5 Z0Z0L0Z04 0Z0Z0ZQZ3 L0Z0Z0Z02 0ZQZ0Z0Z1 Z0Z0ZQZ0
1 2 3 4 5 6 7 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 404 / 432
![Page 1113: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1113.jpg)
Tweaking N-Queens
A First EncodingLet’s Place 8 Queens!
gringo -c n=8 queens_0.lp | clasp --stats
Answer: 1
queen(1,6) queen(2,3) queen(3,1) queen(4,7)
queen(5,5) queen(6,8) queen(7,2) queen(8,4)
SATISFIABLE
Models : 1+
Time : 0.006s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.000s
Choices : 18
Conflicts : 13
Restarts : 0
Variables : 793
Constraints : 729
8 0Z0L0Z0Z7 ZQZ0Z0Z06 0Z0Z0Z0L5 Z0Z0L0Z04 0Z0Z0ZQZ3 L0Z0Z0Z02 0ZQZ0Z0Z1 Z0Z0ZQZ0
1 2 3 4 5 6 7 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 404 / 432
![Page 1114: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1114.jpg)
Tweaking N-Queens
A First EncodingLet’s Place 8 Queens!
gringo -c n=8 queens_0.lp | clasp --stats
Answer: 1
queen(1,6) queen(2,3) queen(3,1) queen(4,7)
queen(5,5) queen(6,8) queen(7,2) queen(8,4)
SATISFIABLE
Models : 1+
Time : 0.006s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.000s
Choices : 18
Conflicts : 13
Restarts : 0
Variables : 793
Constraints : 729
8 0Z0L0Z0Z7 ZQZ0Z0Z06 0Z0Z0Z0L5 Z0Z0L0Z04 0Z0Z0ZQZ3 L0Z0Z0Z02 0ZQZ0Z0Z1 Z0Z0ZQZ0
1 2 3 4 5 6 7 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 404 / 432
![Page 1115: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1115.jpg)
Tweaking N-Queens
A First EncodingLet’s Place 8 Queens!
gringo -c n=8 queens_0.lp | clasp --stats
Answer: 1
queen(1,6) queen(2,3) queen(3,1) queen(4,7)
queen(5,5) queen(6,8) queen(7,2) queen(8,4)
SATISFIABLE
Models : 1+
Time : 0.006s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.000s
Choices : 18
Conflicts : 13
Restarts : 0
Variables : 793
Constraints : 729
8 0Z0L0Z0Z7 ZQZ0Z0Z06 0Z0Z0Z0L5 Z0Z0L0Z04 0Z0Z0ZQZ3 L0Z0Z0Z02 0ZQZ0Z0Z1 Z0Z0ZQZ0
1 2 3 4 5 6 7 8
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 404 / 432
![Page 1116: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1116.jpg)
Tweaking N-Queens
A First EncodingLet’s Place 22 Queens!
gringo -c n=22 queens_0.lp | clasp --stats
Answer: 1
queen(1,10) queen(2,6) queen(3,16) queen(4,14) queen(5,8) ...
SATISFIABLE
Models : 1+
Time : 150.531s (Solving: 150.37s 1st Model: 150.34s Unsat: 0.00s)
CPU Time : 147.480s
Choices : 594960
Conflicts : 574565
Restarts : 19
Variables : 17271
Constraints : 16787
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 405 / 432
![Page 1117: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1117.jpg)
Tweaking N-Queens
A First EncodingLet’s Place 22 Queens!
gringo -c n=22 queens_0.lp | clasp --stats
Answer: 1
queen(1,10) queen(2,6) queen(3,16) queen(4,14) queen(5,8) ...
SATISFIABLE
Models : 1+
Time : 150.531s (Solving: 150.37s 1st Model: 150.34s Unsat: 0.00s)
CPU Time : 147.480s
Choices : 594960
Conflicts : 574565
Restarts : 19
Variables : 17271
Constraints : 16787
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 405 / 432
![Page 1118: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1118.jpg)
Tweaking N-Queens
A First Refinement
At least N queens? Exactly one queen per row and column!
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- queen(X1,Y1), queen(X1,Y2), Y1 < Y2.
:- queen(X1,Y1), queen(X2,Y1), X1 < X2.
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|.
:- not n #count queen(X,Y) .
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 406 / 432
![Page 1119: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1119.jpg)
Tweaking N-Queens
A First Refinement
At least N queens? Exactly one queen per row and column!
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- queen(X1,Y1), queen(X2,Y1), X1 < X2.
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|.
:- not n #count queen(X,Y) .
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 406 / 432
![Page 1120: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1120.jpg)
Tweaking N-Queens
A First Refinement
At least N queens? Exactly one queen per row and column!
queens_0.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|.
:- not n #count queen(X,Y) .
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 406 / 432
![Page 1121: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1121.jpg)
Tweaking N-Queens
A First Refinement
At least N queens? Exactly one queen per row and column!
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|.
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 406 / 432
![Page 1122: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1122.jpg)
Tweaking N-Queens
A First RefinementLet’s Place 22 Queens!
gringo -c n=22 queens_1.lp | clasp --stats
Answer: 1
queen(1,18) queen(2,10) queen(3,21) queen(4,3) queen(5,5) ...
SATISFIABLE
Models : 1+
Time : 0.113s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.020s
Choices : 132
Conflicts : 105
Restarts : 1
Variables : 7238
Constraints : 6710
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 407 / 432
![Page 1123: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1123.jpg)
Tweaking N-Queens
A First RefinementLet’s Place 22 Queens!
gringo -c n=22 queens_1.lp | clasp --stats
Answer: 1
queen(1,18) queen(2,10) queen(3,21) queen(4,3) queen(5,5) ...
SATISFIABLE
Models : 1+
Time : 0.113s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
CPU Time : 0.020s
Choices : 132
Conflicts : 105
Restarts : 1
Variables : 7238
Constraints : 6710
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 407 / 432
![Page 1124: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1124.jpg)
Tweaking N-Queens
A First RefinementLet’s Place 122 Queens!
gringo -c n=122 queens_1.lp | clasp --stats
Answer: 1
queen(1,24) queen(2,52) queen(3,37) queen(4,60) queen(5,76) ...
SATISFIABLE
Models : 1+
Time : 79.475s (Solving: 1.06s 1st Model: 1.06s Unsat: 0.00s)
CPU Time : 6.930s
Choices : 1373
Conflicts : 845
Restarts : 4
Variables : 1211338
Constraints : 1196210
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 408 / 432
![Page 1125: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1125.jpg)
Tweaking N-Queens
A First RefinementLet’s Place 122 Queens!
gringo -c n=122 queens_1.lp | clasp --stats
Answer: 1
queen(1,24) queen(2,52) queen(3,37) queen(4,60) queen(5,76) ...
SATISFIABLE
Models : 1+
Time : 79.475s (Solving: 1.06s 1st Model: 1.06s Unsat: 0.00s)
CPU Time : 6.930s
Choices : 1373
Conflicts : 845
Restarts : 4
Variables : 1211338
Constraints : 1196210
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 408 / 432
![Page 1126: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1126.jpg)
Tweaking N-Queens
A First RefinementLet’s Place 122 Queens!
gringo -c n=122 queens_1.lp | clasp --stats
Answer: 1
queen(1,24) queen(2,52) queen(3,37) queen(4,60) queen(5,76) ...
SATISFIABLE
Models : 1+
Time : 79.475s (Solving: 1.06s 1st Model: 1.06s Unsat: 0.00s)
CPU Time : 6.930s
Choices : 1373
Conflicts : 845
Restarts : 4
Variables : 1211338
Constraints : 1196210
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 408 / 432
![Page 1127: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1127.jpg)
Tweaking N-Queens
A First RefinementWhere Time Has Gone
time(gringo -c n=122 queens_1.lp | clasp --stats
1241358 7402724 24950848
real 1m15.468s
user 1m15.980s
sys 0m0.090s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 409 / 432
![Page 1128: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1128.jpg)
Tweaking N-Queens
A First RefinementWhere Time Has Gone
time(gringo -c n=122 queens_1.lp | wc)
1241358 7402724 24950848
real 1m15.468s
user 1m15.980s
sys 0m0.090s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 409 / 432
![Page 1129: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1129.jpg)
Tweaking N-Queens
A First RefinementWhere Time Has Gone
time(gringo -c n=122 queens_1.lp | wc)
1241358 7402724 24950848
real 1m15.468s
user 1m15.980s
sys 0m0.090s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 409 / 432
![Page 1130: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1130.jpg)
Tweaking N-Queens
A First RefinementWhere Time Has Gone
time(gringo -c n=122 queens_1.lp | wc)
1241358 7402724 24950848
real 1m15.468s
user 1m15.980s
sys 0m0.090s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 409 / 432
![Page 1131: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1131.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1132: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1132.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1133: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1133.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1134: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1134.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1135: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1135.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1136: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1136.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1137: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1137.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1138: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1138.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1139: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1139.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1140: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1140.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2.
Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1141: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1141.jpg)
Tweaking N-Queens
A First RefinementGrounding Time ∼ Space
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n). O(n×n)
% GENERATE
queen(X,Y) :- square(X,Y). O(n×n)
% TEST
:- X := 1..n, not 1 #count queen(X,Y) 1. O(n×n):- Y := 1..n, not 1 #count queen(X,Y) 1. O(n×n)
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|. O(n2×n2)
% DISPLAY
#hide. #show queen/2. Diagonals make trouble!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 410 / 432
![Page 1142: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1142.jpg)
Tweaking N-Queens
Enumerating Diagonals
N = 4
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
#diagonal1 =(#row + #column)− 1
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
#diagonal2 =(#row−#column) + N
Note For each N, indexes 1, . . . , (2∗N)−1 refer to squares on#diagonal1/2
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 411 / 432
![Page 1143: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1143.jpg)
Tweaking N-Queens
Enumerating Diagonals
N = 4
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
1
2
2
3
3
3
4
4
4
4
5
5
5
6
6
7
#diagonal1 =(#row + #column)− 1
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
7
6
6
5
5
5
4
4
4
4
3
3
3
2
2
1
#diagonal2 =(#row−#column) + N
Note For each N, indexes 1, . . . , (2∗N)−1 refer to squares on#diagonal1/2
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 411 / 432
![Page 1144: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1144.jpg)
Tweaking N-Queens
Enumerating Diagonals
N = 4
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
1
2
2
3
3
3
4
4
4
4
5
5
5
6
6
7
#diagonal1 =(#row + #column)− 1
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
7
6
6
5
5
5
4
4
4
4
3
3
3
2
2
1
#diagonal2 =(#row−#column) + N
Note For each N, indexes 1, . . . , (2∗N)−1 refer to squares on#diagonal1/2
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 411 / 432
![Page 1145: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1145.jpg)
Tweaking N-Queens
Enumerating Diagonals
N = 4
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
1
2
2
3
3
3
4
4
4
4
5
5
5
6
6
7
#diagonal1 =(#row + #column)− 1
4 0Z0Z3 Z0Z02 0Z0Z1 Z0Z0
1 2 3 4
7
6
6
5
5
5
4
4
4
4
3
3
3
2
2
1
#diagonal2 =(#row−#column) + N
Note For each N, indexes 1, . . . , (2∗N)−1 refer to squares on#diagonal1/2
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 411 / 432
![Page 1146: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1146.jpg)
Tweaking N-Queens
A Second RefinementLet’s go for Diagonals!
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- queen(X1,Y1), queen(X2,Y2), X1 < X2, X2-X1 == |Y2-Y1|.
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 412 / 432
![Page 1147: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1147.jpg)
Tweaking N-Queens
A Second RefinementLet’s go for Diagonals!
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X+Y)-1 . % Diagonal 1
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 412 / 432
![Page 1148: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1148.jpg)
Tweaking N-Queens
A Second RefinementLet’s go for Diagonals!
queens_1.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X+Y)-1 . % Diagonal 1
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X-Y)+n . % Diagonal 2
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 412 / 432
![Page 1149: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1149.jpg)
Tweaking N-Queens
A Second RefinementLet’s go for Diagonals!
queens_2.lp
% DOMAIN
#const n=4. square(1..n,1..n).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X+Y)-1 . % Diagonal 1
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X-Y)+n . % Diagonal 2
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 412 / 432
![Page 1150: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1150.jpg)
Tweaking N-Queens
A Second RefinementLet’s Place 122 Queens!
gringo -c n=122 queens_2.lp | clasp --stats
Answer: 1
queen(1,98) queen(2,54) queen(3,89) queen(4,83) queen(5,59) ...
SATISFIABLE
Models : 1+
Time : 2.211s (Solving: 0.13s 1st Model: 0.13s Unsat: 0.00s)
CPU Time : 0.210s
Choices : 11036
Conflicts : 499
Restarts : 3
Variables : 16098
Constraints : 970
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 413 / 432
![Page 1151: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1151.jpg)
Tweaking N-Queens
A Second RefinementLet’s Place 122 Queens!
gringo -c n=122 queens_2.lp | clasp --stats
Answer: 1
queen(1,98) queen(2,54) queen(3,89) queen(4,83) queen(5,59) ...
SATISFIABLE
Models : 1+
Time : 2.211s (Solving: 0.13s 1st Model: 0.13s Unsat: 0.00s)
CPU Time : 0.210s
Choices : 11036
Conflicts : 499
Restarts : 3
Variables : 16098
Constraints : 970
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 413 / 432
![Page 1152: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1152.jpg)
Tweaking N-Queens
A Second RefinementLet’s Place 122 Queens!
gringo -c n=122 queens_2.lp | clasp --stats
Answer: 1
queen(1,98) queen(2,54) queen(3,89) queen(4,83) queen(5,59) ...
SATISFIABLE
Models : 1+
Time : 2.211s (Solving: 0.13s 1st Model: 0.13s Unsat: 0.00s)
CPU Time : 0.210s
Choices : 11036
Conflicts : 499
Restarts : 3
Variables : 16098
Constraints : 970
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 413 / 432
![Page 1153: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1153.jpg)
Tweaking N-Queens
A Second RefinementLet’s Place 300 Queens!
gringo -c n=300 queens_2.lp | clasp --stats
Answer: 1
queen(1,62) queen(2,232) queen(3,176) queen(4,241) queen(5,207) ...
SATISFIABLE
Models : 1+
Time : 35.450s (Solving: 6.69s 1st Model: 6.68s Unsat: 0.00s)
CPU Time : 7.250s
Choices : 141445
Conflicts : 7488
Restarts : 9
Variables : 92994
Constraints : 2394
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 414 / 432
![Page 1154: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1154.jpg)
Tweaking N-Queens
A Second RefinementLet’s Place 300 Queens!
gringo -c n=300 queens_2.lp | clasp --stats
Answer: 1
queen(1,62) queen(2,232) queen(3,176) queen(4,241) queen(5,207) ...
SATISFIABLE
Models : 1+
Time : 35.450s (Solving: 6.69s 1st Model: 6.68s Unsat: 0.00s)
CPU Time : 7.250s
Choices : 141445
Conflicts : 7488
Restarts : 9
Variables : 92994
Constraints : 2394
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 414 / 432
![Page 1155: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1155.jpg)
Tweaking N-Queens
A Second RefinementLet’s Place 300 Queens!
gringo -c n=300 queens_2.lp | clasp --stats
Answer: 1
queen(1,62) queen(2,232) queen(3,176) queen(4,241) queen(5,207) ...
SATISFIABLE
Models : 1+
Time : 35.450s (Solving: 6.69s 1st Model: 6.68s Unsat: 0.00s)
CPU Time : 7.250s
Choices : 141445
Conflicts : 7488
Restarts : 9
Variables : 92994
Constraints : 2394
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 414 / 432
![Page 1156: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1156.jpg)
Tweaking N-Queens
A Third RefinementLet’s Precalculate Indexes!
queens_2.lp
% DOMAIN
#const n=4. square(1..n,1..n).
diag1(X,Y,(X+Y)-1) :- square(X,Y). diag2(X,Y,(X-Y)+n) :- square(X,Y).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X+Y)-1 . % Diagonal 1
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X-Y)+n . % Diagonal 2
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 415 / 432
![Page 1157: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1157.jpg)
Tweaking N-Queens
A Third RefinementLet’s Precalculate Indexes!
queens_2.lp
% DOMAIN
#const n=4. square(1..n,1..n).
diag1(X,Y,(X+Y)-1) :- square(X,Y). diag2(X,Y,(X-Y)+n) :- square(X,Y).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X+Y)-1 . % Diagonal 1
:- D = 1..2*n-1, 2 #count queen(X,Y) : D == (X-Y)+n . % Diagonal 2
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 415 / 432
![Page 1158: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1158.jpg)
Tweaking N-Queens
A Third RefinementLet’s Precalculate Indexes!
queens_2.lp
% DOMAIN
#const n=4. square(1..n,1..n).
diag1(X,Y,(X+Y)-1) :- square(X,Y). diag2(X,Y,(X-Y)+n) :- square(X,Y).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- D = 1..2*n-1, 2 #count queen(X,Y) : diag1(X,Y,D) . % Diagonal 1
:- D = 1..2*n-1, 2 #count queen(X,Y) : diag2(X,Y,D) . % Diagonal 2
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 415 / 432
![Page 1159: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1159.jpg)
Tweaking N-Queens
A Third RefinementLet’s Precalculate Indexes!
queens_3.lp
% DOMAIN
#const n=4. square(1..n,1..n).
diag1(X,Y,(X+Y)-1) :- square(X,Y). diag2(X,Y,(X-Y)+n) :- square(X,Y).
% GENERATE
0 #count queen(X,Y) 1 :- square(X,Y).
% TEST
:- X = 1..n, not 1 #count queen(X,Y) 1.
:- Y = 1..n, not 1 #count queen(X,Y) 1.
:- D = 1..2*n-1, 2 #count queen(X,Y) : diag1(X,Y,D) . % Diagonal 1
:- D = 1..2*n-1, 2 #count queen(X,Y) : diag2(X,Y,D) . % Diagonal 2
% DISPLAY
#hide. #show queen/2.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 415 / 432
![Page 1160: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1160.jpg)
Tweaking N-Queens
A Third RefinementLet’s Place 300 Queens!
gringo -c n=300 queens_3.lp | clasp --stats
Answer: 1
queen(1,62) queen(2,232) queen(3,176) queen(4,241) queen(5,207) ...
SATISFIABLE
Models : 1+
Time : 8.889s (Solving: 6.61s 1st Model: 6.60s Unsat: 0.00s)
CPU Time : 7.320s
Choices : 141445
Conflicts : 7488
Restarts : 9
Variables : 92994
Constraints : 2394
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 416 / 432
![Page 1161: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1161.jpg)
Tweaking N-Queens
A Third RefinementLet’s Place 300 Queens!
gringo -c n=300 queens_3.lp | clasp --stats
Answer: 1
queen(1,62) queen(2,232) queen(3,176) queen(4,241) queen(5,207) ...
SATISFIABLE
Models : 1+
Time : 8.889s (Solving: 6.61s 1st Model: 6.60s Unsat: 0.00s)
CPU Time : 7.320s
Choices : 141445
Conflicts : 7488
Restarts : 9
Variables : 92994
Constraints : 2394
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 416 / 432
![Page 1162: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1162.jpg)
Tweaking N-Queens
A Third RefinementLet’s Place 300 Queens!
gringo -c n=300 queens_3.lp | clasp --stats
Answer: 1
queen(1,62) queen(2,232) queen(3,176) queen(4,241) queen(5,207) ...
SATISFIABLE
Models : 1+
Time : 8.889s (Solving: 6.61s 1st Model: 6.60s Unsat: 0.00s)
CPU Time : 7.320s
Choices : 141445
Conflicts : 7488
Restarts : 9
Variables : 92994
Constraints : 2394
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 416 / 432
![Page 1163: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1163.jpg)
Tweaking N-Queens
A Third RefinementLet’s Place 600 Queens!
gringo -c n=600 queens_3.lp | clasp --stats
Answer: 1
queen(1,477) queen(2,365) queen(3,455) queen(4,470) queen(5,237) ...
SATISFIABLE
Models : 1+
Time : 76.798s (Solving: 65.81s 1st Model: 65.75s Unsat: 0.00s)
CPU Time : 68.620s
Choices : 869379
Conflicts : 25746
Restarts : 12
Variables : 365994
Constraints : 4794
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 417 / 432
![Page 1164: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1164.jpg)
Tweaking N-Queens
A Third RefinementLet’s Place 600 Queens!
gringo -c n=600 queens_3.lp | clasp --stats
Answer: 1
queen(1,477) queen(2,365) queen(3,455) queen(4,470) queen(5,237) ...
SATISFIABLE
Models : 1+
Time : 76.798s (Solving: 65.81s 1st Model: 65.75s Unsat: 0.00s)
CPU Time : 68.620s
Choices : 869379
Conflicts : 25746
Restarts : 12
Variables : 365994
Constraints : 4794
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 417 / 432
![Page 1165: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1165.jpg)
Tweaking N-Queens
A Case for OraclesLet’s Place 600 Queens!
gringo -c n=600 queens_3.lp | clasp --stats
--heuristic=vsids --trans-ext=dynamic
Answer: 1
queen(1,477) queen(2,365) queen(3,455) queen(4,470) queen(5,237) ...
SATISFIABLE
Models : 1+
Time : 76.798s (Solving: 65.81s 1st Model: 65.75s Unsat: 0.00s)
CPU Time : 68.620s
Choices : 869379
Conflicts : 25746
Restarts : 12
Variables : 365994
Constraints : 4794
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 418 / 432
![Page 1166: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1166.jpg)
Tweaking N-Queens
A Case for OraclesLet’s Place 600 Queens!
gringo -c n=600 queens_3.lp | clasp --stats
--heuristic=vsids --trans-ext=dynamic
Answer: 1
queen(1,477) queen(2,365) queen(3,455) queen(4,470) queen(5,237) ...
SATISFIABLE
Models : 1+
Time : 76.798s (Solving: 65.81s 1st Model: 65.75s Unsat: 0.00s)
CPU Time : 68.620s
Choices : 869379
Conflicts : 25746
Restarts : 12
Variables : 365994
Constraints : 4794
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 418 / 432
![Page 1167: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1167.jpg)
Tweaking N-Queens
A Case for OraclesLet’s Place 600 Queens!
gringo -c n=600 queens_3.lp | clasp --stats
--heuristic=vsids --trans-ext=dynamic
Answer: 1
queen(1,422) queen(2,458) queen(3,224) queen(4,408) queen(5,405) ...
SATISFIABLE
Models : 1+
Time : 37.454s (Solving: 26.38s 1st Model: 26.26s Unsat: 0.00s)
CPU Time : 29.580s
Choices : 961315
Conflicts : 3222
Restarts : 7
Variables : 365994
Constraints : 4794
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 418 / 432
![Page 1168: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1168.jpg)
Tweaking N-Queens
A Case for OraclesLet’s Place 600 Queens!
gringo -c n=600 queens_3.lp | clasp --stats
--heuristic=vsids --trans-ext=dynamic
Answer: 1
queen(1,422) queen(2,458) queen(3,224) queen(4,408) queen(5,405) ...
SATISFIABLE
Models : 1+
Time : 37.454s (Solving: 26.38s 1st Model: 26.26s Unsat: 0.00s)
CPU Time : 29.580s
Choices : 961315
Conflicts : 3222
Restarts : 7
Variables : 365994
Constraints : 4794
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 418 / 432
![Page 1169: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1169.jpg)
Tweaking N-Queens
A Case for OraclesLet’s Place 600 Queens!
gringo -c n=600 queens_3.lp | clasp --stats
--heuristic=vsids --trans-ext=dynamic
Answer: 1
queen(1,90) queen(2,452) queen(3,494) queen(4,145) queen(5,84) ...
SATISFIABLE
Models : 1+
Time : 22.654s (Solving: 10.53s 1st Model: 10.47s Unsat: 0.00s)
CPU Time : 15.750s
Choices : 1058729
Conflicts : 2128
Restarts : 6
Variables : 403123
Constraints : 49636
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 418 / 432
![Page 1170: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1170.jpg)
Do’s and Dont’s
Outline
41 Tweaking N-Queens
42 Do’s and Dont’s
43 Hints
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 419 / 432
![Page 1171: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1171.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap).
pro(asparagus,fresh). pro(cucumber,fresh).
pro(asparagus,tasty). pro(cucumber,tasty).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1172: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1172.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap).
pro(asparagus,fresh). pro(cucumber,fresh).
pro(asparagus,tasty). pro(cucumber,tasty).
buy(X) :- veg(X), pro(X,cheap), pro(X,fresh), pro(X,tasty).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1173: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1173.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap).
pro(asparagus,fresh). pro(cucumber,fresh).
pro(asparagus,tasty). pro(cucumber,tasty).
pro(asparagus,clean).
buy(X) :- veg(X), pro(X,cheap), pro(X,fresh), pro(X,tasty), pro(X,clean).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1174: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1174.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap).
pro(asparagus,fresh). pro(cucumber,fresh).
pro(asparagus,tasty). pro(cucumber,tasty).
pro(asparagus,clean).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1175: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1175.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap). pre(cheap).
pro(asparagus,fresh). pro(cucumber,fresh). pre(fresh).
pro(asparagus,tasty). pro(cucumber,tasty). pre(tasty).
pro(asparagus,clean).
buy(X) :- veg(X), pro(X,P) : pre(P).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1176: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1176.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap). pre(cheap).
pro(asparagus,fresh). pro(cucumber,fresh). pre(fresh).
pro(asparagus,tasty). pro(cucumber,tasty). pre(tasty).
pro(asparagus,clean). pre(clean).
buy(X) :- veg(X), pro(X,P) : pre(P).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1177: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1177.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap). pre(cheap).
pro(asparagus,fresh). pro(cucumber,fresh). pre(fresh).
pro(asparagus,tasty). pro(cucumber,tasty). pre(tasty).
pro(asparagus,clean).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1178: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1178.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap). pre(cheap).
pro(asparagus,fresh). pro(cucumber,fresh). pre(fresh).
pro(asparagus,tasty). pro(cucumber,tasty). pre(tasty).
pro(asparagus,clean).
buy(X) :- veg(X), not bye(X). bye(X) :- veg(X), pre(P), not pro(X,P).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1179: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1179.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap). pre(cheap).
pro(asparagus,fresh). pro(cucumber,fresh). pre(fresh).
pro(asparagus,tasty). pro(cucumber,tasty). pre(tasty).
pro(asparagus,clean). pre(clean).
buy(X) :- veg(X), not bye(X). bye(X) :- veg(X), pre(P), not pro(X,P).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1180: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1180.jpg)
Do’s and Dont’s
Implementing Universal Quantification
Goal: identify objects such that ALL properties from a “list” hold
1 check all properties explicitly . . . obsolete if properties change 8
2 use variable-sized conjunction (via ‘:’) . . . adapts to changing facts 4
3 use negation of complement . . . adapts to changing facts 4
Example: vegetables to buy
veg(asparagus). veg(cucumber).
pro(asparagus,cheap). pro(cucumber,cheap). pre(cheap).
pro(asparagus,fresh). pro(cucumber,fresh). pre(fresh).
pro(asparagus,tasty). pro(cucumber,tasty). pre(tasty).
pro(asparagus,clean). pre(clean).
buy(X) :- veg(X), not bye(X). bye(X) :- veg(X), pre(P), not pro(X,P).
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 420 / 432
![Page 1181: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1181.jpg)
Do’s and Dont’s
Running Example: Latin Square
Given: an N×N board
123456
1 2 3 4 5 6
represented by facts:
square(1,1). ... square(1,6).
square(2,1). ... square(2,6).
square(3,1). ... square(3,6).
square(4,1). ... square(4,6).
square(5,1). ... square(5,6).
square(6,1). ... square(6,6).
Wanted: assignment of 1, . . . ,N
1 1 2 3 4 5 62 2 3 4 5 6 13 3 4 5 6 1 24 4 5 6 1 2 35 5 6 1 2 3 46 6 1 2 3 4 5
1 2 3 4 5 6
represented by atoms:
num(1,1,1) num(1,2,2) ... num(1,6,6)
num(2,1,2) num(2,2,3) ... num(2,6,1)
num(3,1,3) num(3,2,4) ... num(3,6,2)
num(4,1,4) num(4,2,5) ... num(4,6,3)
num(5,1,5) num(5,2,6) ... num(5,6,4)
num(6,1,6) num(6,2,1) ... num(6,6.5)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 421 / 432
![Page 1182: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1182.jpg)
Do’s and Dont’s
Running Example: Latin Square
Given: an N×N board
123456
1 2 3 4 5 6
represented by facts:
square(1,1). ... square(1,6).
square(2,1). ... square(2,6).
square(3,1). ... square(3,6).
square(4,1). ... square(4,6).
square(5,1). ... square(5,6).
square(6,1). ... square(6,6).
Wanted: assignment of 1, . . . ,N
1 1 2 3 4 5 62 2 3 4 5 6 13 3 4 5 6 1 24 4 5 6 1 2 35 5 6 1 2 3 46 6 1 2 3 4 5
1 2 3 4 5 6
represented by atoms:
num(1,1,1) num(1,2,2) ... num(1,6,6)
num(2,1,2) num(2,2,3) ... num(2,6,1)
num(3,1,3) num(3,2,4) ... num(3,6,2)
num(4,1,4) num(4,2,5) ... num(4,6,3)
num(5,1,5) num(5,2,6) ... num(5,6,4)
num(6,1,6) num(6,2,1) ... num(6,6.5)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 421 / 432
![Page 1183: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1183.jpg)
Do’s and Dont’s
Projecting Irrelevant Details Out
A Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- square(X1,Y1), N = 1..n, not num(X1,Y2,N) : square(X1,Y2).
:- square(X1,Y1), N = 1..n, not num(X2,Y1,N) : square(X2,Y1).
Note unreused “singleton variables”
gringo latin_0.lp | wc
105480 2558984 14005258
gringo latin_1.lp | wc
42056 273672 1690522
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 422 / 432
![Page 1184: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1184.jpg)
Do’s and Dont’s
Projecting Irrelevant Details Out
A Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- square(X1,Y1), N = 1..n, not num(X1,Y2,N) : square(X1,Y2).
:- square(X1,Y1), N = 1..n, not num(X2,Y1,N) : square(X2,Y1).
Note unreused “singleton variables”
gringo latin_0.lp | wc
105480 2558984 14005258
gringo latin_1.lp | wc
42056 273672 1690522
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 422 / 432
![Page 1185: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1185.jpg)
Do’s and Dont’s
Projecting Irrelevant Details Out
A Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- square(X1,Y1), N = 1..n, not num(X1,Y2,N) : square(X1,Y2).
:- square(X1,Y1), N = 1..n, not num(X2,Y1,N) : square(X2,Y1).
Note unreused “singleton variables”
gringo latin_0.lp | wc
105480 2558984 14005258
gringo latin_1.lp | wc
42056 273672 1690522
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 422 / 432
![Page 1186: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1186.jpg)
Do’s and Dont’s
Projecting Irrelevant Details Out
A Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
squareX(X) :- square(X,Y). squareY(Y) :- square(X,Y).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- squareX(X1) , N = 1..n, not num(X1,Y2,N) : square(X1,Y2).
:- squareY(Y1) , N = 1..n, not num(X2,Y1,N) : square(X2,Y1).
Note unreused “singleton variables”
gringo latin_0.lp | wc
105480 2558984 14005258
gringo latin_1.lp | wc
42056 273672 1690522
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 422 / 432
![Page 1187: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1187.jpg)
Do’s and Dont’s
Projecting Irrelevant Details Out
A Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
squareX(X) :- square(X,Y). squareY(Y) :- square(X,Y).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- squareX(X1) , N = 1..n, not num(X1,Y2,N) : square(X1,Y2).
:- squareY(Y1) , N = 1..n, not num(X2,Y1,N) : square(X2,Y1).
Note unreused “singleton variables”
gringo latin_0.lp | wc
105480 2558984 14005258
gringo latin_1.lp | wc
42056 273672 1690522
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 422 / 432
![Page 1188: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1188.jpg)
Do’s and Dont’s
Unraveling Symmetric Inequalities
Another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 != Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 != X2.
Note duplicate ground rules (swapping Y1/Y2 and X1/X2 gives the“same”)
gringo latin_2.lp | wc
2071560 12389384 40906946
gringo latin_3.lp | wc
1055752 6294536 21099558
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 423 / 432
![Page 1189: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1189.jpg)
Do’s and Dont’s
Unraveling Symmetric Inequalities
Another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 != Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 != X2.
Note duplicate ground rules (swapping Y1/Y2 and X1/X2 gives the“same”)
gringo latin_2.lp | wc
2071560 12389384 40906946
gringo latin_3.lp | wc
1055752 6294536 21099558
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 423 / 432
![Page 1190: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1190.jpg)
Do’s and Dont’s
Unraveling Symmetric Inequalities
Another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 != Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 != X2.
Note duplicate ground rules (swapping Y1/Y2 and X1/X2 gives the“same”)
gringo latin_2.lp | wc
2071560 12389384 40906946
gringo latin_3.lp | wc
1055752 6294536 21099558
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 423 / 432
![Page 1191: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1191.jpg)
Do’s and Dont’s
Unraveling Symmetric Inequalities
Another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 < Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 < X2.
Note duplicate ground rules (swapping Y1/Y2 and X1/X2 gives the“same”)
gringo latin_2.lp | wc
2071560 12389384 40906946
gringo latin_3.lp | wc
1055752 6294536 21099558
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 423 / 432
![Page 1192: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1192.jpg)
Do’s and Dont’s
Unraveling Symmetric Inequalities
Another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 < Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 < X2.
Note duplicate ground rules (swapping Y1/Y2 and X1/X2 gives the“same”)
gringo latin_2.lp | wc
2071560 12389384 40906946
gringo latin_3.lp | wc
1055752 6294536 21099558
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 423 / 432
![Page 1193: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1193.jpg)
Do’s and Dont’s
Linearizing Existence Tests
Still another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 < Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 < X2.
Note uniqueness of N in a row/column checked by ENUMERATINGPAIRS!
gringo latin_3.lp | wc
1055752 6294536 21099558
gringo latin_4.lp | wc
228360 1205256 4780744M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 424 / 432
![Page 1194: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1194.jpg)
Do’s and Dont’s
Linearizing Existence Tests
Still another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 < Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 < X2.
Note uniqueness of N in a row/column checked by ENUMERATINGPAIRS!
gringo latin_3.lp | wc
1055752 6294536 21099558
gringo latin_4.lp | wc
228360 1205256 4780744M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 424 / 432
![Page 1195: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1195.jpg)
Do’s and Dont’s
Linearizing Existence Tests
Still another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- num(X1,Y1,N), num(X1,Y2,N), Y1 < Y2.
:- num(X1,Y1,N), num(X2,Y1,N), X1 < X2.
Note uniqueness of N in a row/column checked by ENUMERATINGPAIRS!
gringo latin_3.lp | wc
1055752 6294536 21099558
gringo latin_4.lp | wc
228360 1205256 4780744M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 424 / 432
![Page 1196: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1196.jpg)
Do’s and Dont’s
Linearizing Existence Tests
Still another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
gtX(X-1,Y,N) :- num(X,Y,N), 1 < X. gtY(X,Y-1,N) :- num(X,Y,N), 1 < Y.
gtX(X-1,Y,N) :- gtX(X,Y,N), 1 < X. gtY(X,Y-1,N) :- gtY(X,Y,N), 1 < Y.
:- num(X,Y,N), gtX(X,Y,N). :- num(X,Y,N), gtY(X,Y,N).
Note uniqueness of N in a row/column checked by ENUMERATINGPAIRS!
gringo latin_3.lp | wc
1055752 6294536 21099558
gringo latin_4.lp | wc
228360 1205256 4780744M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 424 / 432
![Page 1197: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1197.jpg)
Do’s and Dont’s
Linearizing Existence Tests
Still another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
gtX(X-1,Y,N) :- num(X,Y,N), 1 < X. gtY(X,Y-1,N) :- num(X,Y,N), 1 < Y.
gtX(X-1,Y,N) :- gtX(X,Y,N), 1 < X. gtY(X,Y-1,N) :- gtY(X,Y,N), 1 < Y.
:- num(X,Y,N), gtX(X,Y,N). :- num(X,Y,N), gtY(X,Y,N).
Note uniqueness of N in a row/column checked by ENUMERATINGPAIRS!
gringo latin_3.lp | wc
1055752 6294536 21099558
gringo latin_4.lp | wc
228360 1205256 4780744M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 424 / 432
![Page 1198: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1198.jpg)
Do’s and Dont’s
Linearizing Existence Tests
Still another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
gtX(X-1,Y,N) :- num(X,Y,N), 1 < X. gtY(X,Y-1,N) :- num(X,Y,N), 1 < Y.
gtX(X-1,Y,N) :- gtX(X,Y,N), 1 < X. gtY(X,Y-1,N) :- gtY(X,Y,N), 1 < Y.
:- num(X,Y,N), gtX(X,Y,N). :- num(X,Y,N), gtY(X,Y,N).
Note uniqueness of N in a row/column checked by ENUMERATINGPAIRS!
gringo latin_3.lp | wc
1055752 6294536 21099558
gringo latin_4.lp | wc
228360 1205256 4780744M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 424 / 432
![Page 1199: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1199.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
sigma(S) :- S = #sum[ square(X,n) = X ].
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C = #count num(X,Y,N) .
occY(Y,N,C) :- Y = 1..n, N = 1..n, C = #count num(X,Y,N) .
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3. #show sigma/1.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
48136 373768 2185042M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1200: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1200.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
sigma(S) :- S = #sum[ square(X,n) = X ].
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C = #count num(X,Y,N) .
occY(Y,N,C) :- Y = 1..n, N = 1..n, C = #count num(X,Y,N) .
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3. #show sigma/1.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
48136 373768 2185042M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1201: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1201.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
sigma(S) :- S = #sum[ square(X,n) = X ]. 4
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C = #count num(X,Y,N) .
occY(Y,N,C) :- Y = 1..n, N = 1..n, C = #count num(X,Y,N) .
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3. #show sigma/1.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
48136 373768 2185042M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1202: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1202.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
sigma(S) :- S = #sum[ square(X,n) = X ].
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C = #count num(X,Y,N) .
occY(Y,N,C) :- Y = 1..n, N = 1..n, C = #count num(X,Y,N) .
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3. #show sigma/1.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
48136 373768 2185042M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1203: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1203.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
sigma(S) :- S = #sum[ square(X,n) = X ].
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C #count num(X,Y,N) C, C = 0..n.
occY(Y,N,C) :- Y = 1..n, N = 1..n, C #count num(X,Y,N) C, C = 0..n.
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3. #show sigma/1.
Note internal transformation by gringo
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1204: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1204.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
sigma(S) :- S = #sum[ square(X,n) = X ].
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C = #count num(X,Y,N) . 7
occY(Y,N,C) :- Y = 1..n, N = 1..n, C = #count num(X,Y,N) . 7
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3. #show sigma/1.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
48136 373768 2185042M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1205: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1205.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C = #count num(X,Y,N) .
occY(Y,N,C) :- Y = 1..n, N = 1..n, C = #count num(X,Y,N) .
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3.
gringo latin_5.lp | wc gringo latin_6.lp | wc
48136 373768 2185042
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1206: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1206.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% DEFINE + TEST
occX(X,N,C) :- X = 1..n, N = 1..n, C = #count num(X,Y,N) .
occY(Y,N,C) :- Y = 1..n, N = 1..n, C = #count num(X,Y,N) .
:- occX(X,N,C), C != 1. :- occY(Y,N,C), C != 1.
% DISPLAY
#hide. #show num/3.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
48136 373768 2185042
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1207: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1207.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
% DISPLAY
#hide. #show num/3.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1208: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1208.jpg)
Do’s and Dont’s
Assigning Aggregate Values
Yet another Latin square encoding
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
% DISPLAY
#hide. #show num/3.
gringo latin_5.lp | wc
304136 5778440 30252505
gringo latin_6.lp | wc
48136 373768 2185042
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 425 / 432
![Page 1209: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1209.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
% DISPLAY
#hide. #show num/3.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1210: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1210.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
% DISPLAY
#hide. #show num/3.
Note many symmetric solutions (mirroring, rotation, valuepermutation)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1211: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1211.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
% DISPLAY
#hide. #show num/3.
Note easy and safe to fix a full row/column!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1212: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1212.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- square(1,Y), not num(1,Y,Y). % Symmetry Breaking
% DISPLAY
#hide. #show num/3.
Note easy and safe to fix a full row/column!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1213: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1213.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- square(1,Y), not num(1,Y,Y). % Symmetry Breaking
% DISPLAY
#hide. #show num/3.
Note Let’s compare enumeration speed!
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1214: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1214.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
% DISPLAY
#hide. #show num/3.
gringo -c n=5 latin_6.lp | clasp -q 0
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1215: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1215.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
% DISPLAY
#hide. #show num/3.
gringo -c n=5 latin_6.lp | clasp -q 0
Models : 161280 Time : 2.078s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1216: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1216.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- square(1,Y), not num(1,Y,Y). % Symmetry Breaking
% DISPLAY
#hide. #show num/3.
gringo -c n=5 latin_7.lp | clasp -q 0
Models : 161280 Time : 2.078s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1217: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1217.jpg)
Do’s and Dont’s
Breaking Symmetries
The ultimate Latin square encoding?
% DOMAIN
#const n=32. square(1..n,1..n).
% GENERATE
1 #count num(X,Y,N) : N = 1..n 1 :- square(X,Y).
% TEST
:- X = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- Y = 1..n, N = 1..n, not 1 #count num(X,Y,N) 1.
:- square(1,Y), not num(1,Y,Y). % Symmetry Breaking
% DISPLAY
#hide. #show num/3.
gringo -c n=5 latin_7.lp | clasp -q 0
Models : 1344 Time : 0.024s
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 426 / 432
![Page 1218: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1218.jpg)
Hints
Outline
41 Tweaking N-Queens
42 Do’s and Dont’s
43 Hints
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 427 / 432
![Page 1219: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1219.jpg)
Hints
Encode With Care!
1 Create a working encoding
Q1: Do you need to modify the encoding if the facts change?Q2: Are all variables significant (or statically functionally dependent)?Q3: Can there be (many) identic ground rules?Q4: Do you enumerate pairs of values (to test uniqueness)?Q5: Do you assign dynamic aggregate values (to check a fixed bound)?Q6: Do you admit (obvious) symmetric solutions?Q7: Do you have additional domain knowledge simplifying the problem?Q8: Are you aware of anything else that, if encoded, would reduce
grounding and/or solving efforts?
2 Revise until no “Yes” answer!
Note If the format of facts makes encoding painful (for instance,abusing grounding for “scientific calculations”), revise the fact formatas well.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 428 / 432
![Page 1220: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1220.jpg)
Hints
Encode With Care!
1 Create a working encoding
Q1: Do you need to modify the encoding if the facts change?Q2: Are all variables significant (or statically functionally dependent)?Q3: Can there be (many) identic ground rules?Q4: Do you enumerate pairs of values (to test uniqueness)?Q5: Do you assign dynamic aggregate values (to check a fixed bound)?Q6: Do you admit (obvious) symmetric solutions?Q7: Do you have additional domain knowledge simplifying the problem?Q8: Are you aware of anything else that, if encoded, would reduce
grounding and/or solving efforts?
2 Revise until no “Yes” answer!
Note If the format of facts makes encoding painful (for instance,abusing grounding for “scientific calculations”), revise the fact formatas well.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 428 / 432
![Page 1221: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1221.jpg)
Hints
Encode With Care!
1 Create a working encoding
Q1: Do you need to modify the encoding if the facts change?Q2: Are all variables significant (or statically functionally dependent)?Q3: Can there be (many) identic ground rules?Q4: Do you enumerate pairs of values (to test uniqueness)?Q5: Do you assign dynamic aggregate values (to check a fixed bound)?Q6: Do you admit (obvious) symmetric solutions?Q7: Do you have additional domain knowledge simplifying the problem?Q8: Are you aware of anything else that, if encoded, would reduce
grounding and/or solving efforts?
2 Revise until no “Yes” answer!
Note If the format of facts makes encoding painful (for instance,abusing grounding for “scientific calculations”), revise the fact formatas well.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 428 / 432
![Page 1222: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1222.jpg)
Hints
Encode With Care!
1 Create a working encoding
Q1: Do you need to modify the encoding if the facts change?Q2: Are all variables significant (or statically functionally dependent)?Q3: Can there be (many) identic ground rules?Q4: Do you enumerate pairs of values (to test uniqueness)?Q5: Do you assign dynamic aggregate values (to check a fixed bound)?Q6: Do you admit (obvious) symmetric solutions?Q7: Do you have additional domain knowledge simplifying the problem?Q8: Are you aware of anything else that, if encoded, would reduce
grounding and/or solving efforts?
2 Revise until no “Yes” answer!
Note If the format of facts makes encoding painful (for instance,abusing grounding for “scientific calculations”), revise the fact formatas well.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 428 / 432
![Page 1223: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1223.jpg)
Hints
Encode With Care!
1 Create a working encoding
Q1: Do you need to modify the encoding if the facts change?Q2: Are all variables significant (or statically functionally dependent)?Q3: Can there be (many) identic ground rules?Q4: Do you enumerate pairs of values (to test uniqueness)?Q5: Do you assign dynamic aggregate values (to check a fixed bound)?Q6: Do you admit (obvious) symmetric solutions?Q7: Do you have additional domain knowledge simplifying the problem?Q8: Are you aware of anything else that, if encoded, would reduce
grounding and/or solving efforts?
2 Revise until no “Yes” answer!
Note If the format of facts makes encoding painful (for instance,abusing grounding for “scientific calculations”), revise the fact formatas well.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 428 / 432
![Page 1224: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1224.jpg)
Hints
Encode With Care!
1 Create a working encoding
Q1: Do you need to modify the encoding if the facts change?Q2: Are all variables significant (or statically functionally dependent)?Q3: Can there be (many) identic ground rules?Q4: Do you enumerate pairs of values (to test uniqueness)?Q5: Do you assign dynamic aggregate values (to check a fixed bound)?Q6: Do you admit (obvious) symmetric solutions?Q7: Do you have additional domain knowledge simplifying the problem?Q8: Are you aware of anything else that, if encoded, would reduce
grounding and/or solving efforts?
2 Revise until no “Yes” answer!
Note If the format of facts makes encoding painful (for instance,abusing grounding for “scientific calculations”), revise the fact formatas well.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 428 / 432
![Page 1225: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1225.jpg)
Hints
Some Hints on (Preventing) Debugging
Kinds of errors
syntactic . . . follow error messages by the grounder
semantic . . . (most likely) encoding/intention mismatch
Ways to identify semantic errors (early)
1 develop and test incrementally
prepare toy instances with “interesting features”build the encoding bottom-up and verify additions (eg. new predicates)
2 compare the encoded to the intended meaning
check whether the grounding fits (use gringo -t)if stable models are unintended, investigate conditions that fail to holdif stable models are missing, examine integrity constraints (add heads)
3 ask tools (eg. http://www.kr.tuwien.ac.at/research/projects/mmdasp/)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 429 / 432
![Page 1226: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1226.jpg)
Hints
Some Hints on (Preventing) Debugging
Kinds of errors
syntactic . . . follow error messages by the grounder
semantic . . . (most likely) encoding/intention mismatch
Ways to identify semantic errors (early)
1 develop and test incrementally
prepare toy instances with “interesting features”build the encoding bottom-up and verify additions (eg. new predicates)
2 compare the encoded to the intended meaning
check whether the grounding fits (use gringo -t)if stable models are unintended, investigate conditions that fail to holdif stable models are missing, examine integrity constraints (add heads)
3 ask tools (eg. http://www.kr.tuwien.ac.at/research/projects/mmdasp/)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 429 / 432
![Page 1227: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1227.jpg)
Hints
Some Hints on (Preventing) Debugging
Kinds of errors
syntactic . . . follow error messages by the grounder
semantic . . . (most likely) encoding/intention mismatch
Ways to identify semantic errors (early)
1 develop and test incrementally
prepare toy instances with “interesting features”build the encoding bottom-up and verify additions (eg. new predicates)
2 compare the encoded to the intended meaning
check whether the grounding fits (use gringo -t)if stable models are unintended, investigate conditions that fail to holdif stable models are missing, examine integrity constraints (add heads)
3 ask tools (eg. http://www.kr.tuwien.ac.at/research/projects/mmdasp/)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 429 / 432
![Page 1228: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1228.jpg)
Hints
Some Hints on (Preventing) Debugging
Kinds of errors
syntactic . . . follow error messages by the grounder
semantic . . . (most likely) encoding/intention mismatch
Ways to identify semantic errors (early)
1 develop and test incrementally
prepare toy instances with “interesting features”build the encoding bottom-up and verify additions (eg. new predicates)
2 compare the encoded to the intended meaning
check whether the grounding fits (use gringo -t)if stable models are unintended, investigate conditions that fail to holdif stable models are missing, examine integrity constraints (add heads)
3 ask tools (eg. http://www.kr.tuwien.ac.at/research/projects/mmdasp/)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 429 / 432
![Page 1229: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1229.jpg)
Hints
Some Hints on (Preventing) Debugging
Kinds of errors
syntactic . . . follow error messages by the grounder
semantic . . . (most likely) encoding/intention mismatch
Ways to identify semantic errors (early)
1 develop and test incrementally
prepare toy instances with “interesting features”build the encoding bottom-up and verify additions (eg. new predicates)
2 compare the encoded to the intended meaning
check whether the grounding fits (use gringo -t)if stable models are unintended, investigate conditions that fail to holdif stable models are missing, examine integrity constraints (add heads)
3 ask tools (eg. http://www.kr.tuwien.ac.at/research/projects/mmdasp/)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 429 / 432
![Page 1230: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1230.jpg)
Hints
Some Hints on (Preventing) Debugging
Kinds of errors
syntactic . . . follow error messages by the grounder
semantic . . . (most likely) encoding/intention mismatch
Ways to identify semantic errors (early)
1 develop and test incrementally
prepare toy instances with “interesting features”build the encoding bottom-up and verify additions (eg. new predicates)
2 compare the encoded to the intended meaning
check whether the grounding fits (use gringo -t)if stable models are unintended, investigate conditions that fail to holdif stable models are missing, examine integrity constraints (add heads)
3 ask tools (eg. http://www.kr.tuwien.ac.at/research/projects/mmdasp/)
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 429 / 432
![Page 1231: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1231.jpg)
Hints
Overcoming Performance Bottlenecks
Grounding
monitor time spent by and output size of gringo
1 system tools (eg. time(gringo [. . . ] | wc))2 profiling info (eg. gringo --gstats --verbose=3 [. . . ] > /dev/null)
Note once identified, reformulate “critical” logic program parts
Solving
check solving statistics (use clasp --stats)
Note if great search efforts (Conflicts/Choices/Restarts), then
1 try prefabricated settings (using clasp option ‘--configuration’)2 try auto-configuration (offered by claspfolio)3 try manual fine-tuning (requires expert knowledge!)4 if possible, reformulate the problem or add domain knowledge
(“redundant” constraints) to help the solver
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 430 / 432
![Page 1232: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1232.jpg)
Hints
Overcoming Performance Bottlenecks
Grounding
monitor time spent by and output size of gringo
1 system tools (eg. time(gringo [. . . ] | wc))2 profiling info (eg. gringo --gstats --verbose=3 [. . . ] > /dev/null)
Note once identified, reformulate “critical” logic program parts
Solving
check solving statistics (use clasp --stats)
Note if great search efforts (Conflicts/Choices/Restarts), then
1 try prefabricated settings (using clasp option ‘--configuration’)2 try auto-configuration (offered by claspfolio)3 try manual fine-tuning (requires expert knowledge!)4 if possible, reformulate the problem or add domain knowledge
(“redundant” constraints) to help the solver
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 430 / 432
![Page 1233: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1233.jpg)
Hints
Overcoming Performance Bottlenecks
Grounding
monitor time spent by and output size of gringo
1 system tools (eg. time(gringo [. . . ] | wc))2 profiling info (eg. gringo --gstats --verbose=3 [. . . ] > /dev/null)
Note once identified, reformulate “critical” logic program parts
Solving
check solving statistics (use clasp --stats)
Note if great search efforts (Conflicts/Choices/Restarts), then
1 try prefabricated settings (using clasp option ‘--configuration’)2 try auto-configuration (offered by claspfolio)3 try manual fine-tuning (requires expert knowledge!)4 if possible, reformulate the problem or add domain knowledge
(“redundant” constraints) to help the solver
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 430 / 432
![Page 1234: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1234.jpg)
Hints
Overcoming Performance Bottlenecks
Grounding
monitor time spent by and output size of gringo
1 system tools (eg. time(gringo [. . . ] | wc))2 profiling info (eg. gringo --gstats --verbose=3 [. . . ] > /dev/null)
Note once identified, reformulate “critical” logic program parts
Solving
check solving statistics (use clasp --stats)
Note if great search efforts (Conflicts/Choices/Restarts), then
1 try prefabricated settings (using clasp option ‘--configuration’)2 try auto-configuration (offered by claspfolio)3 try manual fine-tuning (requires expert knowledge!)4 if possible, reformulate the problem or add domain knowledge
(“redundant” constraints) to help the solver
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 430 / 432
![Page 1235: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1235.jpg)
Hints
Overcoming Performance Bottlenecks
Grounding
monitor time spent by and output size of gringo
1 system tools (eg. time(gringo [. . . ] | wc))2 profiling info (eg. gringo --gstats --verbose=3 [. . . ] > /dev/null)
Note once identified, reformulate “critical” logic program parts
Solving
check solving statistics (use clasp --stats)
Note if great search efforts (Conflicts/Choices/Restarts), then
1 try prefabricated settings (using clasp option ‘--configuration’)2 try auto-configuration (offered by claspfolio)3 try manual fine-tuning (requires expert knowledge!)4 if possible, reformulate the problem or add domain knowledge
(“redundant” constraints) to help the solver
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 430 / 432
![Page 1236: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1236.jpg)
Hints
Overcoming Performance Bottlenecks
Grounding
monitor time spent by and output size of gringo
1 system tools (eg. time(gringo [. . . ] | wc))2 profiling info (eg. gringo --gstats --verbose=3 [. . . ] > /dev/null)
Note once identified, reformulate “critical” logic program parts
Solving
check solving statistics (use clasp --stats)
Note if great search efforts (Conflicts/Choices/Restarts), then
1 try prefabricated settings (using clasp option ‘--configuration’)2 try auto-configuration (offered by claspfolio)3 try manual fine-tuning (requires expert knowledge!)4 if possible, reformulate the problem or add domain knowledge
(“redundant” constraints) to help the solver
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 430 / 432
![Page 1237: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1237.jpg)
Summary
Outline
44 Summary
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 431 / 432
![Page 1238: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1238.jpg)
Summary
Summary
ASP is a viable tool for Knowledge Representation and Reasoning
ASP offers efficient and versatile off-the-shelf solving technology
ASP offers an expanding functionality and ease of use
Rapid application development tool
ASP has a growing range of applications
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1239: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1239.jpg)
Summary
Summary
ASP is a viable tool for Knowledge Representation and Reasoning
ASP offers efficient and versatile off-the-shelf solving technology
ASP offers an expanding functionality and ease of use
Rapid application development tool
ASP has a growing range of applications
ASP = DB+LP+KR+SAT
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1240: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1240.jpg)
Summary
Summary
ASP is a viable tool for Knowledge Representation and Reasoning
ASP offers efficient and versatile off-the-shelf solving technology
ASP offers an expanding functionality and ease of use
Rapid application development tool
ASP has a growing range of applications
ASP = DB+LP+KR+SMT
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1241: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1241.jpg)
Summary
Summary
ASP is a viable tool for Knowledge Representation and Reasoning
ASP offers efficient and versatile off-the-shelf solving technology
ASP offers an expanding functionality and ease of use
Rapid application development tool
ASP has a growing range of applications
http://potassco.sourceforge.net
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1242: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1242.jpg)
[1] C. Anger, M. Gebser, T. Linke, A. Neumann, and T. Schaub.The nomore++ approach to answer set solving.In G. Sutcliffe and A. Voronkov, editors, Proceedings of the TwelfthInternational Conference on Logic for Programming, ArtificialIntelligence, and Reasoning (LPAR’05), volume 3835 of LectureNotes in Artificial Intelligence, pages 95–109. Springer-Verlag, 2005.
[2] C. Anger, K. Konczak, T. Linke, and T. Schaub.A glimpse of answer set programming.Kunstliche Intelligenz, 19(1):12–17, 2005.
[3] Y. Babovich and V. Lifschitz.Computing answer sets using program completion.Unpublished draft, 2003.
[4] C. Baral.Knowledge Representation, Reasoning and Declarative ProblemSolving.Cambridge University Press, 2003.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1243: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1243.jpg)
[5] C. Baral, G. Brewka, and J. Schlipf, editors.Proceedings of the Ninth International Conference on LogicProgramming and Nonmonotonic Reasoning (LPNMR’07), volume4483 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 2007.
[6] C. Baral and M. Gelfond.Logic programming and knowledge representation.Journal of Logic Programming, 12:1–80, 1994.
[7] S. Baselice, P. Bonatti, and M. Gelfond.Towards an integration of answer set and constraint solving.In M. Gabbrielli and G. Gupta, editors, Proceedings of theTwenty-first International Conference on Logic Programming(ICLP’05), volume 3668 of Lecture Notes in Computer Science, pages52–66. Springer-Verlag, 2005.
[8] A. Biere.Adaptive restart strategies for conflict driven SAT solvers.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1244: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1244.jpg)
In H. Kleine Buning and X. Zhao, editors, Proceedings of theEleventh International Conference on Theory and Applications ofSatisfiability Testing (SAT’08), volume 4996 of Lecture Notes inComputer Science, pages 28–33. Springer-Verlag, 2008.
[9] A. Biere.PicoSAT essentials.Journal on Satisfiability, Boolean Modeling and Computation,4:75–97, 2008.
[10] A. Biere, M. Heule, H. van Maaren, and T. Walsh, editors.Handbook of Satisfiability, volume 185 of Frontiers in ArtificialIntelligence and Applications.IOS Press, 2009.
[11] G. Brewka, T. Eiter, and M. Truszczynski.Answer set programming at a glance.Communications of the ACM, 54(12):92–103, 2011.
[12] K. Clark.Negation as failure.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1245: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1245.jpg)
In H. Gallaire and J. Minker, editors, Logic and Data Bases, pages293–322. Plenum Press, 1978.
[13] M. D’Agostino, D. Gabbay, R. Hahnle, and J. Posegga, editors.Handbook of Tableau Methods.Kluwer Academic Publishers, 1999.
[14] E. Dantsin, T. Eiter, G. Gottlob, and A. Voronkov.Complexity and expressive power of logic programming.In Proceedings of the Twelfth Annual IEEE Conference onComputational Complexity (CCC’97), pages 82–101. IEEE ComputerSociety Press, 1997.
[15] M. Davis, G. Logemann, and D. Loveland.A machine program for theorem-proving.Communications of the ACM, 5:394–397, 1962.
[16] M. Davis and H. Putnam.A computing procedure for quantification theory.Journal of the ACM, 7:201–215, 1960.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1246: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1246.jpg)
[17] C. Drescher, M. Gebser, T. Grote, B. Kaufmann, A. Konig,M. Ostrowski, and T. Schaub.Conflict-driven disjunctive answer set solving.In G. Brewka and J. Lang, editors, Proceedings of the EleventhInternational Conference on Principles of Knowledge Representationand Reasoning (KR’08), pages 422–432. AAAI Press, 2008.
[18] C. Drescher, M. Gebser, B. Kaufmann, and T. Schaub.Heuristics in conflict resolution.In M. Pagnucco and M. Thielscher, editors, Proceedings of theTwelfth International Workshop on Nonmonotonic Reasoning(NMR’08), number UNSW-CSE-TR-0819 in School of ComputerScience and Engineering, The University of New South Wales,Technical Report Series, pages 141–149, 2008.
[19] N. Een and N. Sorensson.An extensible SAT-solver.In E. Giunchiglia and A. Tacchella, editors, Proceedings of the SixthInternational Conference on Theory and Applications of Satisfiability
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1247: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1247.jpg)
Testing (SAT’03), volume 2919 of Lecture Notes in ComputerScience, pages 502–518. Springer-Verlag, 2004.
[20] T. Eiter and G. Gottlob.On the computational cost of disjunctive logic programming:Propositional case.Annals of Mathematics and Artificial Intelligence, 15(3-4):289–323,1995.
[21] T. Eiter, G. Ianni, and T. Krennwallner.Answer Set Programming: A Primer.In S. Tessaris, E. Franconi, T. Eiter, C. Gutierrez, S. Handschuh,M. Rousset, and R. Schmidt, editors, Fifth International ReasoningWeb Summer School (RW’09), volume 5689 of Lecture Notes inComputer Science, pages 40–110. Springer-Verlag, 2009.
[22] F. Fages.Consistency of Clark’s completion and the existence of stable models.Journal of Methods of Logic in Computer Science, 1:51–60, 1994.
[23] P. Ferraris.M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1248: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1248.jpg)
Answer sets for propositional theories.In C. Baral, G. Greco, N. Leone, and G. Terracina, editors,Proceedings of the Eighth International Conference on LogicProgramming and Nonmonotonic Reasoning (LPNMR’05), volume3662 of Lecture Notes in Artificial Intelligence, pages 119–131.Springer-Verlag, 2005.
[24] P. Ferraris and V. Lifschitz.Mathematical foundations of answer set programming.In S. Artemov, H. Barringer, A. d’Avila Garcez, L. Lamb, andJ. Woods, editors, We Will Show Them! Essays in Honour of DovGabbay, volume 1, pages 615–664. College Publications, 2005.
[25] M. Fitting.A Kripke-Kleene semantics for logic programs.Journal of Logic Programming, 2(4):295–312, 1985.
[26] M. Gebser, R. Kaminski, B. Kaufmann, M. Ostrowski, T. Schaub,and S. Thiele.A user’s guide to gringo, clasp, clingo, and iclingo.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1249: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1249.jpg)
[27] M. Gebser, R. Kaminski, B. Kaufmann, M. Ostrowski, T. Schaub,and S. Thiele.Engineering an incremental ASP solver.In M. Garcia de la Banda and E. Pontelli, editors, Proceedings of theTwenty-fourth International Conference on Logic Programming(ICLP’08), volume 5366 of Lecture Notes in Computer Science, pages190–205. Springer-Verlag, 2008.
[28] M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub.On the implementation of weight constraint rules in conflict-drivenASP solvers.In Hill and Warren [44], pages 250–264.
[29] M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub.Answer Set Solving in Practice.Synthesis Lectures on Artificial Intelligence and Machine Learning.Morgan and Claypool Publishers, 2012.
[30] M. Gebser, B. Kaufmann, A. Neumann, and T. Schaub.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1250: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1250.jpg)
clasp: A conflict-driven answer set solver.In Baral et al. [5], pages 260–265.
[31] M. Gebser, B. Kaufmann, A. Neumann, and T. Schaub.Conflict-driven answer set enumeration.In Baral et al. [5], pages 136–148.
[32] M. Gebser, B. Kaufmann, A. Neumann, and T. Schaub.Conflict-driven answer set solving.In Veloso [68], pages 386–392.
[33] M. Gebser, B. Kaufmann, A. Neumann, and T. Schaub.Advanced preprocessing for answer set solving.In M. Ghallab, C. Spyropoulos, N. Fakotakis, and N. Avouris, editors,Proceedings of the Eighteenth European Conference on ArtificialIntelligence (ECAI’08), pages 15–19. IOS Press, 2008.
[34] M. Gebser, B. Kaufmann, and T. Schaub.The conflict-driven answer set solver clasp: Progress report.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1251: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1251.jpg)
In E. Erdem, F. Lin, and T. Schaub, editors, Proceedings of theTenth International Conference on Logic Programming andNonmonotonic Reasoning (LPNMR’09), volume 5753 of LectureNotes in Artificial Intelligence, pages 509–514. Springer-Verlag, 2009.
[35] M. Gebser, B. Kaufmann, and T. Schaub.Solution enumeration for projected Boolean search problems.In W. van Hoeve and J. Hooker, editors, Proceedings of the SixthInternational Conference on Integration of AI and OR Techniques inConstraint Programming for Combinatorial Optimization Problems(CPAIOR’09), volume 5547 of Lecture Notes in Computer Science,pages 71–86. Springer-Verlag, 2009.
[36] M. Gebser, M. Ostrowski, and T. Schaub.Constraint answer set solving.In Hill and Warren [44], pages 235–249.
[37] M. Gebser and T. Schaub.Tableau calculi for answer set programming.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1252: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1252.jpg)
In S. Etalle and M. Truszczynski, editors, Proceedings of theTwenty-second International Conference on Logic Programming(ICLP’06), volume 4079 of Lecture Notes in Computer Science, pages11–25. Springer-Verlag, 2006.
[38] M. Gebser and T. Schaub.Generic tableaux for answer set programming.In V. Dahl and I. Niemela, editors, Proceedings of the Twenty-thirdInternational Conference on Logic Programming (ICLP’07), volume4670 of Lecture Notes in Computer Science, pages 119–133.Springer-Verlag, 2007.
[39] M. Gelfond.Answer sets.In V. Lifschitz, F. van Harmelen, and B. Porter, editors, Handbook ofKnowledge Representation, chapter 7, pages 285–316. ElsevierScience, 2008.
[40] M. Gelfond and N. Leone.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1253: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1253.jpg)
Logic programming and knowledge representation — the A-Prologperspective.Artificial Intelligence, 138(1-2):3–38, 2002.
[41] M. Gelfond and V. Lifschitz.The stable model semantics for logic programming.In R. Kowalski and K. Bowen, editors, Proceedings of the FifthInternational Conference and Symposium of Logic Programming(ICLP’88), pages 1070–1080. MIT Press, 1988.
[42] M. Gelfond and V. Lifschitz.Logic programs with classical negation.In D. Warren and P. Szeredi, editors, Proceedings of the SeventhInternational Conference on Logic Programming (ICLP’90), pages579–597. MIT Press, 1990.
[43] E. Giunchiglia, Y. Lierler, and M. Maratea.Answer set programming based on propositional satisfiability.Journal of Automated Reasoning, 36(4):345–377, 2006.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1254: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1254.jpg)
[44] P. Hill and D. Warren, editors.Proceedings of the Twenty-fifth International Conference on LogicProgramming (ICLP’09), volume 5649 of Lecture Notes in ComputerScience. Springer-Verlag, 2009.
[45] J. Huang.The effect of restarts on the efficiency of clause learning.In Veloso [68], pages 2318–2323.
[46] K. Konczak, T. Linke, and T. Schaub.Graphs and colorings for answer set programming.Theory and Practice of Logic Programming, 6(1-2):61–106, 2006.
[47] J. Lee.A model-theoretic counterpart of loop formulas.In L. Kaelbling and A. Saffiotti, editors, Proceedings of theNineteenth International Joint Conference on Artificial Intelligence(IJCAI’05), pages 503–508. Professional Book Center, 2005.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1255: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1255.jpg)
[48] N. Leone, G. Pfeifer, W. Faber, T. Eiter, G. Gottlob, S. Perri, andF. Scarcello.The DLV system for knowledge representation and reasoning.ACM Transactions on Computational Logic, 7(3):499–562, 2006.
[49] V. Lifschitz.Answer set programming and plan generation.Artificial Intelligence, 138(1-2):39–54, 2002.
[50] V. Lifschitz.Introduction to answer set programming.Unpublished draft, 2004.
[51] V. Lifschitz and A. Razborov.Why are there so many loop formulas?ACM Transactions on Computational Logic, 7(2):261–268, 2006.
[52] F. Lin and Y. Zhao.ASSAT: computing answer sets of a logic program by SAT solvers.Artificial Intelligence, 157(1-2):115–137, 2004.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1256: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1256.jpg)
[53] V. Marek and M. Truszczynski.Nonmonotonic logic: context-dependent reasoning.Artifical Intelligence. Springer-Verlag, 1993.
[54] V. Marek and M. Truszczynski.Stable models and an alternative logic programming paradigm.In K. Apt, V. Marek, M. Truszczynski, and D. Warren, editors, TheLogic Programming Paradigm: a 25-Year Perspective, pages 375–398.Springer-Verlag, 1999.
[55] J. Marques-Silva, I. Lynce, and S. Malik.Conflict-driven clause learning SAT solvers.In Biere et al. [10], chapter 4, pages 131–153.
[56] J. Marques-Silva and K. Sakallah.GRASP: A search algorithm for propositional satisfiability.IEEE Transactions on Computers, 48(5):506–521, 1999.
[57] V. Mellarkod and M. Gelfond.Integrating answer set reasoning with constraint solving techniques.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1257: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1257.jpg)
In J. Garrigue and M. Hermenegildo, editors, Proceedings of theNinth International Symposium on Functional and LogicProgramming (FLOPS’08), volume 4989 of Lecture Notes inComputer Science, pages 15–31. Springer-Verlag, 2008.
[58] V. Mellarkod, M. Gelfond, and Y. Zhang.Integrating answer set programming and constraint logicprogramming.Annals of Mathematics and Artificial Intelligence, 53(1-4):251–287,2008.
[59] D. Mitchell.A SAT solver primer.Bulletin of the European Association for Theoretical ComputerScience, 85:112–133, 2005.
[60] M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik.Chaff: Engineering an efficient SAT solver.In Proceedings of the Thirty-eighth Conference on DesignAutomation (DAC’01), pages 530–535. ACM Press, 2001.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1258: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1258.jpg)
[61] I. Niemela.Logic programs with stable model semantics as a constraintprogramming paradigm.Annals of Mathematics and Artificial Intelligence, 25(3-4):241–273,1999.
[62] R. Nieuwenhuis, A. Oliveras, and C. Tinelli.Solving SAT and SAT modulo theories: From an abstractDavis-Putnam-Logemann-Loveland procedure to DPLL(T).Journal of the ACM, 53(6):937–977, 2006.
[63] K. Pipatsrisawat and A. Darwiche.A lightweight component caching scheme for satisfiability solvers.In J. Marques-Silva and K. Sakallah, editors, Proceedings of theTenth International Conference on Theory and Applications ofSatisfiability Testing (SAT’07), volume 4501 of Lecture Notes inComputer Science, pages 294–299. Springer-Verlag, 2007.
[64] L. Ryan.Efficient algorithms for clause-learning SAT solvers.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432
![Page 1259: Answer Set Solving in Practice - Max Planck Societyresources.mpi-inf.mpg.de/departments/rg1/conferences/vtsa13/slide… · Answer Set Solving in Practice Martin Gebser and Torsten](https://reader033.fdocuments.us/reader033/viewer/2022052011/60275817b41fe16aea585757/html5/thumbnails/1259.jpg)
Master’s thesis, Simon Fraser University, 2004.
[65] P. Simons, I. Niemela, and T. Soininen.Extending and implementing the stable model semantics.Artificial Intelligence, 138(1-2):181–234, 2002.
[66] T. Syrjanen.Lparse 1.0 user’s manual.
[67] A. Van Gelder, K. Ross, and J. Schlipf.The well-founded semantics for general logic programs.Journal of the ACM, 38(3):620–650, 1991.
[68] M. Veloso, editor.Proceedings of the Twentieth International Joint Conference onArtificial Intelligence (IJCAI’07). AAAI/MIT Press, 2007.
[69] L. Zhang, C. Madigan, M. Moskewicz, and S. Malik.Efficient conflict driven learning in a Boolean satisfiability solver.In Proceedings of the International Conference on Computer-AidedDesign (ICCAD’01), pages 279–285. ACM Press, 2001.
M. Gebser and T. Schaub (KRR@UP) Answer Set Solving in Practice September 4, 2013 432 / 432