modeling and solving in answer set programmingsatsmt2013.ics.aalto.fi/slides/schaub.pdf · asp is...
TRANSCRIPT
![Page 1: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/1.jpg)
Modeling and Solving in Answer Set Programming
Torsten Schaub
SAT/SMT School
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 1 / 142
![Page 2: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/2.jpg)
Motivation: Overview
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 2 / 142
![Page 3: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/3.jpg)
Motivation
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 3 / 142
![Page 4: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/4.jpg)
Motivation
Informatics
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 4 / 142
![Page 5: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/5.jpg)
Motivation
Informatics
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 4 / 142
![Page 6: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/6.jpg)
Motivation
Traditional programming
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 4 / 142
![Page 7: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/7.jpg)
Motivation
Traditional programming
“What is the problem?” versus “How to solve the problem?”
Problem
Program
Solution
Output?
-
6
Programming Interpreting
Executing
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 4 / 142
![Page 8: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/8.jpg)
Motivation
Declarative problem solving
“What is the problem?” versus “How to solve the problem?”
Problem
Computer
Solution
Output?
-
6
Interpreting
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 4 / 142
![Page 9: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/9.jpg)
Motivation
Declarative problem solving
“What is the problem?” versus “How to solve the problem?”
Problem
Representation
Solution
Output?
-
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 4 / 142
![Page 10: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/10.jpg)
Motivation
Declarative problem solving
“What is the problem?” versus “How to solve the problem?”
Problem
Representation
Solution
Output?
-
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 4 / 142
![Page 11: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/11.jpg)
Nutshell
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 5 / 142
![Page 12: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/12.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 6 / 142
![Page 13: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/13.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 6 / 142
![Page 14: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/14.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 6 / 142
![Page 15: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/15.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 6 / 142
![Page 16: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 6 / 142
![Page 17: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 6 / 142
![Page 18: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/18.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 7 / 142
![Page 19: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/19.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 7 / 142
![Page 20: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/20.jpg)
Shifting paradigms
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 8 / 142
![Page 21: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/21.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 9 / 142
![Page 22: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/22.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 9 / 142
![Page 23: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/23.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 9 / 142
![Page 24: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/24.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 9 / 142
![Page 25: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/25.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
......
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 10 / 142
![Page 26: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/26.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
......
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 10 / 142
![Page 27: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/27.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
......
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 10 / 142
![Page 28: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 11 / 142
![Page 29: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/29.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 11 / 142
![Page 30: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/30.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 12 / 142
![Page 31: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/31.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 12 / 142
![Page 32: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/32.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 12 / 142
![Page 33: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/33.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 12 / 142
![Page 34: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/34.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 13 / 142
![Page 35: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/35.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 13 / 142
![Page 36: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/36.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 13 / 142
![Page 37: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/37.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 14 / 142
![Page 38: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/38.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 14 / 142
![Page 39: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/39.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{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)
}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 15 / 142
![Page 40: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/40.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{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)
}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 15 / 142
![Page 41: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/41.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)
}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 15 / 142
![Page 42: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/42.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)
}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 15 / 142
![Page 43: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/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 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)
}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 15 / 142
![Page 44: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/44.jpg)
Rooting ASP
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 16 / 142
![Page 45: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/45.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 17 / 142
![Page 46: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/46.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 17 / 142
![Page 47: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/47.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
......
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 18 / 142
![Page 48: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/48.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
......
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 18 / 142
![Page 49: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/49.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
......
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 18 / 142
![Page 50: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/50.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
......
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 18 / 142
![Page 51: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/51.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 18 / 142
![Page 52: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/52.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) }
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 19 / 142
![Page 53: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/53.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) }
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 19 / 142
![Page 54: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/54.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) }
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 19 / 142
![Page 55: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/55.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) }
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 19 / 142
![Page 56: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/56.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 20 / 142
![Page 57: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/57.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 —Optimization —Intersection/Union —
(Turing +) NP(NP) NP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 21 / 142
![Page 58: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/58.jpg)
ASP solving
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 22 / 142
![Page 59: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/59.jpg)
ASP solving
ASP solving
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 23 / 142
![Page 60: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/60.jpg)
ASP solving
SAT solving
Problem
Formula(CNF) Solver Classical
Models
Solution
- -
?
6
Programming Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 24 / 142
![Page 61: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/61.jpg)
ASP solving
Rooting ASP solving
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 25 / 142
![Page 62: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/62.jpg)
ASP solving
Rooting ASP solving
Problem
LogicProgram
LP
Grounder
DB
Solver
SAT
StableModels
DB+KR+LP
Solution
- - -
?
6
Modeling KR Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 25 / 142
![Page 63: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/63.jpg)
Using ASP
Outline
1 Motivation
2 Nutshell
3 Shifting paradigms
4 Rooting ASP
5 ASP solving
6 Using ASP
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 26 / 142
![Page 64: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/64.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 27 / 142
![Page 65: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/65.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 ConfigurationRoboticsSystem BiologySystem Synthesis(industrial) Team-buildingand many many more
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 28 / 142
![Page 66: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/66.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 ConfigurationRoboticsSystem BiologySystem Synthesis(industrial) Team-buildingand many many more
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 28 / 142
![Page 67: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/67.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 29 / 142
![Page 68: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/68.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 29 / 142
![Page 69: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/69.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 29 / 142
![Page 70: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/70.jpg)
Basic Modeling: Overview
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 30 / 142
![Page 71: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/71.jpg)
Modeling and Interpreting
Problem
Logic Program
Solution
Stable Models?
-
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 31 / 142
![Page 72: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/72.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 32 / 142
![Page 73: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/73.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 32 / 142
![Page 74: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/74.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 32 / 142
![Page 75: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/75.jpg)
ASP solving process
Outline
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 33 / 142
![Page 76: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/76.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 34 / 142
![Page 77: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/77.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 34 / 142
![Page 78: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/78.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 34 / 142
![Page 79: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/79.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 34 / 142
![Page 80: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/80.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 34 / 142
![Page 81: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/81.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 34 / 142
![Page 82: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/82.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving6
Elaborating
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 34 / 142
![Page 83: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/83.jpg)
ASP solving process
A case-study: Graph coloring
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 35 / 142
![Page 84: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/84.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 36 / 142
![Page 85: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/85.jpg)
ASP solving process
Graph coloring
Problem instance A graph consisting of nodes and edges
facts formed by predicates node/1 and edge/2
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 36 / 142
![Page 86: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/86.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 36 / 142
![Page 87: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/87.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 36 / 142
![Page 88: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/88.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 36 / 142
![Page 89: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/89.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 36 / 142
![Page 90: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/90.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 36 / 142
![Page 91: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/91.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 37 / 142
![Page 92: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/92.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 93: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/93.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 94: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/94.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 95: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/95.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 96: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/96.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 97: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/97.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 98: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/98.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 99: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/99.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 100: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/100.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 101: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/101.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 38 / 142
![Page 102: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/102.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 39 / 142
![Page 103: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/103.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).Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 40 / 142
![Page 104: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/104.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).Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 40 / 142
![Page 105: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/105.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 41 / 142
![Page 106: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/106.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 42 / 142
![Page 107: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/107.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 42 / 142
![Page 108: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/108.jpg)
ASP solving process
ASP solving process
Problem
LogicProgram Grounder Solver Stable
Models
Solution
- - -
?
6
Modeling Interpreting
Solving
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 43 / 142
![Page 109: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/109.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 44 / 142
![Page 110: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/110.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 44 / 142
![Page 111: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/111.jpg)
Methodology
Outline
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 45 / 142
![Page 112: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/112.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 46 / 142
![Page 113: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/113.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 46 / 142
![Page 114: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/114.jpg)
Methodology Satisfiability
Outline
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 47 / 142
![Page 115: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/115.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, b}X2 = {}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 48 / 142
![Page 116: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/116.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, b}X2 = {}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 48 / 142
![Page 117: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/117.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, b}X2 = {}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 48 / 142
![Page 118: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/118.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, b}X2 = {}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 48 / 142
![Page 119: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/119.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, b}X2 = {}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 48 / 142
![Page 120: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/120.jpg)
Methodology Queens
Outline
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 49 / 142
![Page 121: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/121.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 50 / 142
![Page 122: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/122.jpg)
Methodology Queens
Defining the Field
queens.lp
row (1..n).
col (1..n).
Create file queens.lp
Define the field
n rowsn columns
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 51 / 142
![Page 123: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/123.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 52 / 142
![Page 124: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/124.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 53 / 142
![Page 125: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/125.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+
...
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 54 / 142
![Page 126: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/126.jpg)
Methodology Queens
Placing some Queens: Answer 1
Answer 1
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 Z0Z0Z
1 2 3 4 5
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 55 / 142
![Page 127: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/127.jpg)
Methodology Queens
Placing some Queens: Answer 2
Answer 2
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 0Z0Z01 L0Z0Z
1 2 3 4 5
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 56 / 142
![Page 128: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/128.jpg)
Methodology Queens
Placing some Queens: Answer 3
Answer 3
5 Z0Z0Z4 0Z0Z03 Z0Z0Z2 QZ0Z01 Z0Z0Z
1 2 3 4 5
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 57 / 142
![Page 129: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/129.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 58 / 142
![Page 130: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/130.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)
...
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 59 / 142
![Page 131: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/131.jpg)
Methodology Queens
Placing n Queens: Answer 1
Answer 1
5 L0Z0Z4 QZ0Z03 L0Z0Z2 QZ0Z01 L0Z0Z
1 2 3 4 5
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 60 / 142
![Page 132: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/132.jpg)
Methodology Queens
Placing n Queens: Answer 2
Answer 2
5 Z0Z0Z4 QZ0Z03 L0Z0Z2 QZ0Z01 LQZ0Z
1 2 3 4 5
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 61 / 142
![Page 133: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/133.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 62 / 142
![Page 134: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/134.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 62 / 142
![Page 135: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/135.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)
...
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 63 / 142
![Page 136: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/136.jpg)
Methodology Queens
Horizontal and Vertical Attack: Answer 1
Answer 1
5 Z0Z0L4 0Z0L03 Z0L0Z2 0L0Z01 L0Z0Z
1 2 3 4 5
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 64 / 142
![Page 137: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/137.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 65 / 142
![Page 138: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/138.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 66 / 142
![Page 139: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/139.jpg)
Methodology Queens
Diagonal Attack: Answer 1
Answer 1
5 ZQZ0Z4 0Z0ZQ3 Z0L0Z2 QZ0Z01 Z0ZQZ
1 2 3 4 5
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 67 / 142
![Page 140: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/140.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 68 / 142
![Page 141: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/141.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%)Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 69 / 142
![Page 142: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/142.jpg)
Methodology Traveling Salesperson
Outline
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 70 / 142
![Page 143: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/143.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 71 / 142
![Page 144: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/144.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 71 / 142
![Page 145: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/145.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 71 / 142
![Page 146: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/146.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) ].
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 72 / 142
![Page 147: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/147.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) ].
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 72 / 142
![Page 148: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/148.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) ].
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 72 / 142
![Page 149: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/149.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) ].
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 72 / 142
![Page 150: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/150.jpg)
Methodology Reviewer Assignment
Outline
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 73 / 142
![Page 151: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/151.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) }.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 74 / 142
![Page 152: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/152.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) }.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 74 / 142
![Page 153: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/153.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) }.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 74 / 142
![Page 154: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/154.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) }.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 74 / 142
![Page 155: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/155.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) }.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 74 / 142
![Page 156: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/156.jpg)
Methodology Planning
Outline
7 ASP solving process
8 MethodologySatisfiabilityQueensTraveling SalespersonReviewer AssignmentPlanning
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 75 / 142
![Page 157: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/157.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 76 / 142
![Page 158: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/158.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 76 / 142
![Page 159: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/159.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 76 / 142
![Page 160: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/160.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 76 / 142
![Page 161: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/161.jpg)
Systems: Overview
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 77 / 142
![Page 162: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/162.jpg)
Potassco
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 78 / 142
![Page 163: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/163.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,pb,un}clasp, claspD, claspfolio, claspar, aspeed
Grounder+Solver Clingo, iClingo, {ros}oClingo, Clingcon
Further Tools asp{un}cud, coala, fimo, metasp, plasp, etc
Benchmark repository asparagus.cs.uni-potsdam.de
Teaching material potassco.sourceforge.net/teaching.html
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 79 / 142
![Page 164: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/164.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,pb,un}clasp, claspD, claspfolio, claspar, aspeed
Grounder+Solver Clingo, iClingo, {ros}oClingo, Clingcon
Further Tools asp{un}cud, coala, fimo, metasp, plasp, etc
Benchmark repository asparagus.cs.uni-potsdam.de
Teaching material potassco.sourceforge.net/teaching.html
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 79 / 142
![Page 165: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/165.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,pb,un}clasp, claspD, claspfolio, claspar, aspeed
Grounder+Solver Clingo, iClingo, {ros}oClingo, Clingcon
Further Tools asp{un}cud, coala, fimo, metasp, plasp, etc
Benchmark repository asparagus.cs.uni-potsdam.de
Teaching material potassco.sourceforge.net/teaching.html
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 79 / 142
![Page 166: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/166.jpg)
gringo
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 80 / 142
![Page 167: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/167.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 81 / 142
![Page 168: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/168.jpg)
clasp
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 82 / 142
![Page 169: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/169.jpg)
clasp
clasp
clasp is a native ASP solver combining conflict-driven search withsophisticated reasoning techniques:
Advanced preprocessing including, like 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. . .
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 83 / 142
![Page 170: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/170.jpg)
clasp
clasp
clasp is a native ASP solver combining conflict-driven search withsophisticated reasoning techniques:
Advanced preprocessing including, like 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. . .
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 83 / 142
![Page 171: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/171.jpg)
clasp
clasp
clasp is a native ASP solver combining conflict-driven search withsophisticated reasoning techniques:
Advanced preprocessing including, like 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. . .
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 83 / 142
![Page 172: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/172.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 84 / 142
![Page 173: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/173.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 84 / 142
![Page 174: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/174.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 85 / 142
![Page 175: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/175.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 85 / 142
![Page 176: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/176.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 85 / 142
![Page 177: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/177.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 85 / 142
![Page 178: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/178.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 86 / 142
![Page 179: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/179.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 87 / 142
![Page 180: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/180.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 87 / 142
![Page 181: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/181.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 87 / 142
![Page 182: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/182.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 87 / 142
![Page 183: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/183.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 87 / 142
![Page 184: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/184.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 88 / 142
![Page 185: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/185.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 88 / 142
![Page 186: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/186.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 88 / 142
![Page 187: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/187.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 88 / 142
![Page 188: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/188.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 89 / 142
![Page 189: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/189.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 90 / 142
![Page 190: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/190.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 91 / 142
![Page 191: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/191.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 91 / 142
![Page 192: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/192.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 91 / 142
![Page 193: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/193.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 91 / 142
![Page 194: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/194.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 91 / 142
![Page 195: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/195.jpg)
Siblings
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 92 / 142
![Page 196: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/196.jpg)
Siblings hclasp
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 93 / 142
![Page 197: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/197.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 94 / 142
![Page 198: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/198.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 94 / 142
![Page 199: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/199.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 95 / 142
![Page 200: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/200.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 95 / 142
![Page 201: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/201.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)}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 96 / 142
![Page 202: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/202.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)}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 96 / 142
![Page 203: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/203.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)}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 96 / 142
![Page 204: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/204.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 97 / 142
![Page 205: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/205.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 97 / 142
![Page 206: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/206.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 97 / 142
![Page 207: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/207.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 97 / 142
![Page 208: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/208.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 97 / 142
![Page 209: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/209.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 97 / 142
![Page 210: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/210.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 97 / 142
![Page 211: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/211.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 98 / 142
![Page 212: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/212.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 98 / 142
![Page 213: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/213.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 98 / 142
![Page 214: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/214.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 98 / 142
![Page 215: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/215.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 98 / 142
![Page 216: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/216.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 98 / 142
![Page 217: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/217.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 98 / 142
![Page 218: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/218.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 99 / 142
![Page 219: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/219.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 99 / 142
![Page 220: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/220.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 99 / 142
![Page 221: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/221.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 99 / 142
![Page 222: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/222.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 99 / 142
![Page 223: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/223.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 99 / 142
![Page 224: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/224.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 99 / 142
![Page 225: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/225.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)}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 100 / 142
![Page 226: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/226.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)}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 100 / 142
![Page 227: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/227.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)}
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 100 / 142
![Page 228: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/228.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 101 / 142
![Page 229: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/229.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 101 / 142
![Page 230: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/230.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 102 / 142
![Page 231: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/231.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 102 / 142
![Page 232: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/232.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 103 / 142
![Page 233: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/233.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 103 / 142
![Page 234: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/234.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)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 103 / 142
![Page 235: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/235.jpg)
Siblings claspfolio
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 104 / 142
![Page 236: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/236.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 105 / 142
![Page 237: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/237.jpg)
Siblings claspfolio
Instance Feature Clusters (after PCA)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 106 / 142
![Page 238: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/238.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 107 / 142
![Page 239: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/239.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 107 / 142
![Page 240: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/240.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 108 / 142
![Page 241: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/241.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 108 / 142
![Page 242: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/242.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 108 / 142
![Page 243: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/243.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 108 / 142
![Page 244: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/244.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, ...
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 109 / 142
![Page 245: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/245.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, ...
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 109 / 142
![Page 246: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/246.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, ...
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 109 / 142
![Page 247: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/247.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 110 / 142
![Page 248: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/248.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 110 / 142
![Page 249: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/249.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 110 / 142
![Page 250: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/250.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 111 / 142
![Page 251: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/251.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 111 / 142
![Page 252: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/252.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 111 / 142
![Page 253: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/253.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 111 / 142
![Page 254: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/254.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 111 / 142
![Page 255: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/255.jpg)
Siblings claspD
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 112 / 142
![Page 256: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/256.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
...
...
. .
.
. .
.
. .
.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 113 / 142
![Page 257: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/257.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
...
...
. .
.
. .
.
. .
.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 113 / 142
![Page 258: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/258.jpg)
Siblings clingcon
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 114 / 142
![Page 259: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/259.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 115 / 142
![Page 260: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/260.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 261: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/261.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 262: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/262.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 263: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/263.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 264: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/264.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 265: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/265.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 266: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/266.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 267: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/267.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 268: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/268.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 116 / 142
![Page 269: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/269.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 117 / 142
![Page 270: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/270.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 117 / 142
![Page 271: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/271.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 117 / 142
![Page 272: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/272.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 117 / 142
![Page 273: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/273.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 117 / 142
![Page 274: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/274.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 118 / 142
![Page 275: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/275.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 118 / 142
![Page 276: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/276.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 118 / 142
![Page 277: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/277.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 118 / 142
![Page 278: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/278.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 118 / 142
![Page 279: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/279.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 118 / 142
![Page 280: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/280.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 119 / 142
![Page 281: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/281.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 119 / 142
![Page 282: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/282.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 119 / 142
![Page 283: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/283.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 119 / 142
![Page 284: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/284.jpg)
Siblings iclingo
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 120 / 142
![Page 285: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/285.jpg)
Siblings iclingo
iclingo
Incremental grounding and solving
Offline solving in dynamic domains, like Automated Planning
Basic architecture of iclingo:
gringo clasp
iclingo
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 121 / 142
![Page 286: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/286.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 287: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/287.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 288: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/288.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 289: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/289.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 290: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/290.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 291: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/291.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 292: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/292.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 293: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/293.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 294: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/294.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 295: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/295.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 296: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/296.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 297: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/297.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 298: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/298.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 299: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/299.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 300: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/300.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 301: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/301.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 302: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/302.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 122 / 142
![Page 303: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/303.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 123 / 142
![Page 304: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/304.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 123 / 142
![Page 305: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/305.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 123 / 142
![Page 306: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/306.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 123 / 142
![Page 307: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/307.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 124 / 142
![Page 308: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/308.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 124 / 142
![Page 309: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/309.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 125 / 142
![Page 310: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/310.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 125 / 142
![Page 311: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/311.jpg)
Siblings oclingo
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 126 / 142
![Page 312: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/312.jpg)
Siblings oclingo
oclingo
Reactive grounding and solving
Online solving in dynamic domains, like Robotics
Basic architecture of oclingo:
gringo clasp
oclingo
Controller
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 127 / 142
![Page 313: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/313.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 314: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/314.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 315: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/315.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 316: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/316.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 317: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/317.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 318: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/318.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 319: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/319.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 320: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/320.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 321: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/321.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 322: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/322.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 323: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/323.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 324: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/324.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 325: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/325.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 326: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/326.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 327: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/327.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 328: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/328.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 329: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/329.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
E42...
F42
Pn42
Qn42
4
UpdateQueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 330: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/330.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
E42...
F42
Pn42
Qn42
4
Update
QueryErasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 331: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/331.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
E42...
F42
Pn42
Qn42
4
Update
Query
Erasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 332: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/332.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
E42...
F42
Pn42
Qn42
4
UpdateQuery
Erasure
8
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 128 / 142
![Page 333: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/333.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).
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 129 / 142
![Page 334: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/334.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 130 / 142
![Page 335: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/335.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 130 / 142
![Page 336: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/336.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 130 / 142
![Page 337: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/337.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.
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 130 / 142
![Page 338: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/338.jpg)
Siblings clavis
Outline
9 Potassco
10 gringo
11 clasp
12 SiblingshclaspclaspfolioclaspDclingconiclingooclingoclavis
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 131 / 142
![Page 339: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/339.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 132 / 142
![Page 340: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/340.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 132 / 142
![Page 341: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/341.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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 132 / 142
![Page 342: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/342.jpg)
Siblings clavis
Visualization Examples
8-Queens: program interaction graph
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 133 / 142
![Page 343: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/343.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: program interaction graphColors showing flipped assignments
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 134 / 142
![Page 344: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/344.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: flipped assignments between decisions
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 135 / 142
![Page 345: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/345.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: flipped assignments between decisions (zoomed in)
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 136 / 142
![Page 346: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/346.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: learned nogoods during zoomed in segmentprojected onto program interaction graph layout
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 137 / 142
![Page 347: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/347.jpg)
Siblings clavis
Visualization Examples
Towers of Hanoi: learned nogoods during zoomed in segmentcompared to program interaction graph
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 138 / 142
![Page 348: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/348.jpg)
Siblings clavis
Interactive View
Symbol table shows additional information about variables
Search bar and symbol table allow for dynamic change of the view
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 139 / 142
![Page 349: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/349.jpg)
Siblings clavis
Interactive View
Symbol table shows additional information about variables
Search bar and symbol table allow for dynamic change of the view
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 139 / 142
![Page 350: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/350.jpg)
Siblings clavis
Interactive View
Symbol table shows additional information about variables
Search bar and symbol table allow for dynamic change of the view
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 139 / 142
![Page 351: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/351.jpg)
Summary
Outline
13 Summary
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 140 / 142
![Page 352: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/352.jpg)
Summary
Summary
ASP is emerging as a viable tool for Knowledge Representationand Reasoning
ASP offers efficient and versatile off-the-shelf solving technology
http://potassco.sourceforge.net
ASP, CASC, MISC, PB, and SAT competitions
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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 141 / 142
![Page 353: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/353.jpg)
Summary
Summary
ASP is emerging as a viable tool for Knowledge Representationand Reasoning
ASP offers efficient and versatile off-the-shelf solving technology
http://potassco.sourceforge.net
ASP, CASC, MISC, PB, and SAT competitions
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
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 141 / 142
![Page 354: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/354.jpg)
Summary
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&
Visit the Potassco project !
Sourceforge potassco.sourceforge.net
Google+ plus.google.com
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 142 / 142
![Page 355: Modeling and Solving in Answer Set Programmingsatsmt2013.ics.aalto.fi/slides/Schaub.pdf · ASP is an approach todeclarative problem solving, combining a rich yet simple modeling language](https://reader034.vdocument.in/reader034/viewer/2022050508/5f9943dbabdede5c0f1ad137/html5/thumbnails/355.jpg)
Summary
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&
Visit the Potassco project !
Sourceforge potassco.sourceforge.net
Google+ plus.google.com
Torsten Schaub (KRR@UP) Modeling and Solving in ASP SAT/SMT School 142 / 142