answer set solving in practice
play

Answer Set Solving in Practice Torsten Schaub University of Potsdam - PowerPoint PPT Presentation

Answer Set Solving in Practice Torsten Schaub University of Potsdam torsten@cs.uni-potsdam.de Potassco Slide Packages are licensed under a Creative Commons Attribution 3.0 Unported License. Torsten Schaub (KRR@UP) Answer Set Solving in


  1. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? Problems consisting of (many) decisions and constraints Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  2. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? Problems consisting of (many) decisions and constraints Examples Sudoku, Configuration, Diagnosis, Music composition, Planning, System design, Time tabling, etc. Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  3. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? — And industrial ones ? Problems consisting of (many) decisions and constraints Examples Sudoku, Configuration, Diagnosis, Music composition, Planning, System design, Time tabling, etc. Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  4. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? — And industrial ones ? Debian, Ubuntu: Linux package configuration Exeura: Call routing Fcc: Radio frequency auction Gioia Tauro: Workforce management Nasa: Decision support for Space Shuttle Siemens: Partner units configuration Variantum: Product configuration Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  5. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? — And industrial ones ? Debian, Ubuntu: Linux package configuration Exeura: Call routing Fcc: Radio frequency auction Gioia Tauro: Workforce management Nasa: Decision support for Space Shuttle Siemens: Partner units configuration Variantum: Product configuration Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  6. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? — And industrial ones ? Debian, Ubuntu: Linux package configuration Exeura: Call routing Fcc: Radio frequency auction � ✒ Gioia Tauro: Workforce management Nasa: Decision support for Space Shuttle Siemens: Partner units configuration Variantum: Product configuration Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  7. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? Problems consisting of (many) decisions and constraints What are ASP’s distinguishing features? High level, versatile modeling language High performance solvers Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  8. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? Problems consisting of (many) decisions and constraints What are ASP’s distinguishing features? High level, versatile modeling language High performance solvers Any industrial impact? ASP Tech companies: dlv systems and potassco solutions Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  9. Nutshell Answer Set Programming (ASP) What is ASP? ASP is an approach for declarative problem solving What is ASP good for? Solving knowledge-intense combinatorial (optimization) problems What problems are this? Problems consisting of (many) decisions and constraints What are ASP’s distinguishing features? High level, versatile modeling language High performance solvers Any industrial impact? ASP Tech companies: dlv systems and potassco solutions Anything not so good for ASP? Number crunching Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 12 / 540

  10. Evolution Outline 1 Motivation 2 Nutshell 3 Evolution 4 Foundation 5 Workflow 6 Engine 7 Usage 8 Summary Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 13 / 540

  11. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  12. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  13. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Axiomatic characterization Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  14. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Axiomatic characterization Logic programming Negation as failure Herbrand interpretations Fix-point characterizations Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  15. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Axiomatic characterization Logic programming Negation as failure Herbrand interpretations Fix-point characterizations Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription Extensions of first-order logic Modalities, fix-points, second-order logic Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  16. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  17. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  18. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics Stable models semantics derived from non-monotonic logics Alternating fix-point theory ASP solving “Stable models = Well-founded semantics + Branch” Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  19. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics Stable models semantics derived from non-monotonic logics Alternating fix-point theory ASP solving “Stable models = Well-founded semantics + Branch” Modeling — Grounding — Solving Icebreakers: lparse and smodels Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  20. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” ’00 Applications and semantic rediscoveries Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  21. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” ’00 Applications and semantic rediscoveries Growing dissemination Decision Support for Space Shuttle Constructive logics Equilibrium Logic Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  22. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” ’00 Applications and semantic rediscoveries Growing dissemination Decision Support for Space Shuttle Bio-informatics, Linux Package Configuration, Music composition, Robotics, System Design, etc Constructive logics Equilibrium Logic Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  23. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” ’00 Applications and semantic rediscoveries Growing dissemination Decision Support for Space Shuttle Constructive logics Equilibrium Logic Roots: Logic of Here-and-There , G3 Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  24. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” ’00 Applications and semantic rediscoveries Growing dissemination Decision Support for Space Shuttle Constructive logics Equilibrium Logic ’10 Integration Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  25. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” ’00 Applications and semantic rediscoveries Growing dissemination Decision Support for Space Shuttle Constructive logics Equilibrium Logic ’10 Integration — let’s see . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  26. Evolution Some biased moments in time ’70/’80 Capturing incomplete information Databases Closed world assumption Logic programming Negation as failure Non-monotonic reasoning Auto-epistemic and Default logics, Circumscription ’90 Amalgamation and computation Logic programming semantics Well-founded and stable models semantics ASP solving “Stable models = Well-founded semantics + Branch” ’00 Applications and semantic rediscoveries Growing dissemination Decision Support for Space Shuttle Constructive logics Equilibrium Logic ’10 Integration Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 14 / 540

  27. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Automated planning, Kautz and Selman (ECAI’92) Represent planning problems as propositional theories so that models not proofs describe solutions Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 15 / 540

  28. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Automated planning, Kautz and Selman (ECAI’92) Represent planning problems as propositional theories so that models not proofs describe solutions Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 15 / 540

  29. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Automated planning, Kautz and Selman (ECAI’92) Represent planning problems as propositional theories so that models not proofs describe solutions Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 15 / 540

  30. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Automated planning, Kautz and Selman (ECAI’92) Represent planning problems as propositional theories so that models not proofs describe solutions Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 15 / 540

  31. Evolution Model Generation based Problem Solving Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions . . . . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 16 / 540

  32. Evolution Model Generation based Problem Solving Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions . . . . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 16 / 540

  33. Evolution Model Generation based Problem Solving Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models SAT propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions . . . . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 16 / 540

  34. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 17 / 540

  35. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 17 / 540

  36. Evolution 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) Answer Set Solving in Practice October 20, 2018 18 / 540

  37. Evolution 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) Answer Set Solving in Practice October 20, 2018 18 / 540

  38. Evolution 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) Answer Set Solving in Practice October 20, 2018 18 / 540

  39. Evolution 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) Answer Set Solving in Practice October 20, 2018 18 / 540

  40. Evolution 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) Answer Set Solving in Practice October 20, 2018 19 / 540

  41. Evolution 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) Answer Set Solving in Practice October 20, 2018 19 / 540

  42. Evolution 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) Answer Set Solving in Practice October 20, 2018 19 / 540

  43. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 20 / 540

  44. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 20 / 540

  45. Evolution 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) Answer Set Solving in Practice October 20, 2018 21 / 540

  46. Evolution 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) Answer Set Solving in Practice October 20, 2018 21 / 540

  47. Evolution 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) Answer Set Solving in Practice October 20, 2018 21 / 540

  48. Evolution 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) Answer Set Solving in Practice October 20, 2018 21 / 540

  49. Evolution 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) Answer Set Solving in Practice October 20, 2018 21 / 540

  50. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 22 / 540

  51. Evolution Paradigm shift Theorem Proving based approach (eg. Prolog) 1 Provide a representation of the problem 2 A solution is given by a derivation of a query Model Generation based approach (eg. SATisfiability testing) 1 Provide a representation of the problem 2 A solution is given by a model of the representation ➥ Answer Set Programming (ASP) Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 22 / 540

  52. Evolution Model Generation based Problem Solving Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions . . . . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 23 / 540

  53. Evolution Answer Set Programming at large Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions . . . . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 23 / 540

  54. Evolution Answer Set Programming commonly Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions . . . . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 23 / 540

  55. Evolution Answer Set Programming in practice Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions . . . . . . Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 23 / 540

  56. Evolution Answer Set Programming in practice Representation Solution constraint satisfaction problem assignment propositional horn theories smallest model propositional theories models propositional theories minimal models propositional theories stable models propositional programs minimal models propositional programs supported models propositional programs stable models first-order theories models first-order theories minimal models first-order theories stable models first-order theories Herbrand models auto-epistemic theories expansions default theories extensions first-order programs stable Herbrand models Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 23 / 540

  57. Evolution 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) Answer Set Solving in Practice October 20, 2018 24 / 540

  58. Evolution 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) Answer Set Solving in Practice October 20, 2018 24 / 540

  59. Evolution 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) Answer Set Solving in Practice October 20, 2018 24 / 540

  60. Evolution 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) Answer Set Solving in Practice October 20, 2018 24 / 540

  61. Evolution ASP versus LP ASP Prolog Model generation Query orientation Bottom-up Top-down Modeling language Programming language Rule-based format Instantiation Unification Flat terms Nested terms (Turing +) NP ( NP ) Turing Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 25 / 540

  62. Evolution ASP versus SAT ASP SAT Model generation Bottom-up Constructive Logic Classical Logic Closed (and open) Open world reasoning world reasoning Modeling language — Complex reasoning modes Satisfiability testing Satisfiability Satisfiability Enumeration/Projection — Intersection/Union — Optimization — (Turing +) NP ( NP ) NP Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 26 / 540

  63. Foundation Outline 1 Motivation 2 Nutshell 3 Evolution 4 Foundation 5 Workflow 6 Engine 7 Usage 8 Summary Torsten Schaub (KRR@UP) Answer Set Solving in Practice October 20, 2018 27 / 540

Recommend


More recommend