Contents:
We will use the following schedule for the course. See Canvas for more details on the individual activities. We might add additional online (question answering) sessions to the schedule if necessary.
Note: this is a tentative schedule, and might still change.
Week 1:
- Tuesday June 2: Pre-recorded lectures about problem solving & search available on Canvas
- Wednesday June 3, 14:00–15:00: Online question answering session
- Thursday June 4, 19:00: Pass/fail quiz on reading material about problem solving & search due
- Friday June 5: Pre-recorded lectures about non-monotonic reasoning and answer set programming available on Canvas
Week 2:
- Monday June 8, 11:00–12:00: Online question answering session
- Tuesday June 9, 19:00: Pass/fail quiz on reading material about non-monotonic reasoning and answer set programming due
- Wednesday June 10, 19:00: Homework assignment 1 due
- Thursday June 11: Pre-recorded lectures about automated planning available on Canvas
- Friday June 12, 11:00–12:00: Online question answering session
Week 3:
- Monday June 15, 19:00: Pass/fail quiz on reading material about automated planning due
- Tuesday June 16, 19:00: Homework assignment 2 due
- Wednesday June 17: Pre-recorded lectures about description logics and OWL available on Canvas
- Thursday June 18, 11:00–12:00: Online question answering session
- Friday June 19, 19:00: Homework assignment 3 due
Week 4:
- Monday June 22, 19:00: Pass/fail quiz on reading material about description logics and OWL due
- Tuesday June 23, 11:00–12:00: Online question answering session
- Wednesday June 24, 19:00: Homework assignment 4 due
- Thursday June 25, 11:00–12:00: Online question answering session
- Friday June 26, 9:00–11:00: Final (online) exam
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)
- Assignment 4
- Coming..
Here is a LaTeX template that works nicely for submitting your homework solutions (for the non-programming assignments).