Contents:
Here is a short overview of the different topics that we will cover in the course, together with pointers to reading material.
Subtopics:
- Problem solving and search in rational agents
- Propositional logic and SAT solving
- Constraint programming
- Integer linear programming
Reading material:
- Sections 3.1–3.4 of [Russell, Norvig, 2016].
- Sections 6.1–6.3 of [Russell, Norvig, 2016].
- Sections 7.1–7.6.1 of [Russell, Norvig, 2016].
- Appendix A.1 of [Russell, Norvig, 2016].
- Sections 2.0–2.2.2 of [Van Harmelen, Lifschitz, Porter, 2008].
Subtopics:
- Non-monotonic reasoning
- Default logic
- Answer set programming (ASP)
- Problem solving using ASP
Reading material:
- Sections 6.0–6.2 of [Van Harmelen, Lifschitz, Porter, 2008].
- Sections 7.1–7.3.1 and 7.3.4–7.4 of [Van Harmelen, Lifschitz, Porter, 2008].
- Sections 2.0–2.3 of [Gebser, Kaminski, Kaufmann, Schaub, 2012].
- Chapter 3 of [Gebser, Kaminski, Kaufmann, Schaub, 2012].
Subtopics:
- Classical planning
- Planning using problem solving (in particular: ASP)
- Extensions of classical planning
Reading material:
- Sections 10.0–10.2 and 10.4 of [Russell, Norvig, 2016].
- Section 11.3 of [Russell, Norvig, 2016].
- Chapter 8 of [Gebser, Kaminski, Kaufmann, Schaub, 2012]—for the homework assignment.
Subtopics:
- Description logics
- Web Ontology Language (OWL)
- Modelling and reasoning with ontologies
Reading material:
- Sections 8.0–8.2 of [Russell, Norvig, 2016].
- Sections 12.1–12.2 of [Russell, Norvig, 2016].
- Sections 3.0–3.2 and 3.7 of [Van Harmelen, Lifschitz, Porter, 2008].
- [Russell, Norvig, 2016]: Stuart Russell, and Peter Norvig. Artificial Intelligence: A Modern Approach (3rd Ed.), Prentice Hall, 2016.
- [Van Harmelen, Lifschitz, Porter, 2008]: Frank van Harmelen, Vladimir Lifschitz, and Bruce Porter (Eds.). Handbook of Knowledge Representation, Elsevier, 2008.
- [Gebser, Kaminski, Kaufmann, Schaub, 2012]: Martin Gebser, Roland Kaminski, Benjamin Kaufmann, and Torsten Schaub. Answer Set Solving in Practice, Morgan & Claypool, 2012.
Here are some Python notebooks that illustrate how to use various of the techniques that we cover in the course.
- How to call solvers for different search problems from Python:
- A very short guide to integer linear programming
- A short guide to answer set programming (using clingo and Python)
- How to solve 3-Coloring using SAT solving
- How to solve 3-Coloring using CSP solving
- How to solve 3-Coloring using ILP solving
- How to solve 3-Coloring using answer set programming
- How to solve Dominating Set using answer set programming
- Assignment 1 (programming)
- Assignment 2
- Assignment 3 (programming)