Course content
The LPA course is split into a series of units. Some of these are independent of the others and some are closely linked. These units and the approximate number of lectures per unit are outlined below:
- General introduction: (2 lectures) Overview of the module. Introduction to declarative programming and artificial intelligence. Anatomy of an AI system. Introduction to intelligent agents.
- Introduction to problem solving and search: (3 lectures) Problem solving and problem representations. Uninformed search methods.
- Introduction to first-order logic: (5 lectures) Logical arguments and entailment. Review of propositional logic. Syntax and semantics. Formulating a domain.
- Deduction with Horn clauses: (6 lectures) The Horn-clause subset of logic. SLD resolution and the SLD search space. Soundness and completeness. Answer extraction.The limitations of Horn clauses.
- Programming with logic: (8 lectures) The PROLOG programming language. Recursive programs and recursive data types, especially lists. Controlling search, arithmetic, input/output and negation as failure.
- Advanced problem solving and search: (4 lectures) Informed search methods. Constraint satisfaction.
- Reasoning about change: (3 lectures) Using situation calculus to represent dynamic domains. The STRIPS representation of the planning problem. From situation space planning to partial-order planning.
- Intelligent Agents: (3 lectures) Reactive vs. Logic-based AI. Hybrid Agents. Multi-Agent Systems.