This module provides an introduction to three fundamental areas of artificial intelligence: search, knowledge representation and learning. These underpin all more advanced areas of artificial intelligence and are of central importance to related fields such as computer games and robotics. Within each area, a range of methodologies and techniques are presented; emphasis is placed on understanding their strengths and weaknesses and hence on assessing which is most suited to a particular task. The module also provides an introduction to the philosophical arguments about the possibility of a machine being able to think. It concludes with a brief overview of systems based on interacting intelligent agents.

Learning Outcomes

After completing this module, students will be expected to be able to:

1. Explain and criticise the arguments that have been advanced both for and against the possibility of artificial intelligence.
2. Explain and implement standard blind and heuristic search procedures, demonstrate an understanding of their strengths and weaknesses and of how they may be applied to solve well-defined problems.
3. Explain the operation of standard production system interpreters, and demonstrate an understanding of their relative merits.
4. Explain the operation of a range of established machine learning procedures and demonstrate an understanding of the types of problems for which they are appropriate.
5. Demonstrate an understanding of the agent-oriented approach to artificial intelligence, and explain how a multi-agent system of purely reactive agents may be built using a subsumption architecture.

Outline Syllabus

. Introduction
What AI is and is not
The debate about whether AI is possible

. Solving problems by searching
State space representation
Search trees and graphs
Blind search strategies - depth first, breadth first and iterative deepening
Heuristic search - greedy search and A* search
Hill climbing
Game playing - minimax search
Means ends analysis
Implementing search

. Using knowledge to solve problems
The importance of domain knowledge
Rule based systems
Forward chaining rule interpreters
Backward chaining rule interpreters

. Acquiring knowledge - machine learning
Decision tree induction
Neural networks - back propagation
Clustering - k means algorithm
Reinforcement learning - Q algorithm
Genetic algorithms

. Intelligent agents
Reactive v. deliberative agents
Subsumption architectures for purely reactive agents