Department of Computing, Imperial College, London

Artificial Intelligence

Course V231



The AI course homepage is here:

http://www.doc.ic.ac.uk/~sgc/teaching/v231/

Course Overview

Artificial intelligence has a unique place in science, sharing borders with mathematics, computer science, philosophy, psychology, biology, cognitive science and others. The aim of the course is to give a broad overview of AI techniques, so that when students go into industry or research, they will be able to choose the correct AI techniques for the problems which arise.

A lot of rubbish is talked about AI in popular science and science fiction books. For instance, Roger "the Emporer's new Mind" Penrose thinks that computers will never be intelligent, whereas Kevin "the March of the Machines" Warwick thinks that they will be intelligent enough to take over the earth. Mark "the Human Computer" Jeffery thinks that computers will evolve to be human, whereas Ray "the Age of Spiritual Machines" Kurzweil thinks that humans will eventually choose to be computers. Therefore, another aim for the course is to get across an impression of the aims, achievements, motivations, origins and methodologies in AI, in order to overcome some common misconceptions.

There will be four main parts to the course: (1) Fundamentals - the basic notions of AI, in particular search and knowledge representation, and we'll apply this to game playing (2) Automated reasoning - how to get a program to deduce new facts and prove things for you (3) Machine learning - how to get a program to induce hypotheses from data and make discoveries for you, and (4) Evolutionary approaches - how to evolve programs for intelligent tasks by breeding them using crossover and mutation.

Recommended Texts

The course notes are fairly self contained. A good source of supplementary reading is Russell and Norvig's textbook:

Artificial Intelligence: A Modern Approach

Lectures

Simon Colton and Jeremy Gow will be lecturing this course. We can be found in room 407 (the Computational Bioinformatics Laboratory), of the Huxley building.

There will be 17 lectures and 1 revision lecture spread over 9 weeks. The lectures are at 12pm on Mondays and 11am on Tuesdays. With the exception of the first week, there will be a tutorial at 12pm on Tuesdays every week. All lectures and tutorials are in room 144.

There will be one assessed practical for the course, which will be an application to game playing using Prolog.

Syllabus

  1. Fundamentals
    • 1. Characterisations of AI
      1.1 Long term goals; 1.2 Inspirations; 1.3 Methodologies; 1.4 Tasks;
      1.5 Techniques; 1.6 Representations; 1.7 Applications; 1.8 Products;
    • 2. Intelligent agents
      2.1 Autonomous rational; 2.2 Museum tour guide; 2.3 Internal structure;
      2.4 Environments;
    • 3. Search
      3.1 Specifying problems; 3.2 General considerations; 3.3 Uninformed strategies;
      3.4 Using values; 3.5 Heuristic strategies; 3.6 Assessing heuristic searches;
      3.7 Designing search agents;
    • 4. Knowledge representation
      4.1 Logical representations; 4.2 Semantic networks; 4.3 Production rules;
      4.4 Frames;
    • 5. Game playing
      5.1 Minimax search; 5.2 Cutoff search; 5.3 Pruning; 5.4 Games with chance;
  2. Automated reasoning
    • 6. Predicate logic representations
      6.1 Syntax and semantics; 6.2 Prolog; 6.3 Expert systems;
    • 7. Making deductive inferences
      7.1 Truth tables; 7.2 Equivalence rules; 7.3 Worked example;
      7.4 Propositional rules; 7.5 First order rules; 7.6 Chains of inference;
    • 8. The resolution method
      8.1 Conjunctive normal form; 8.2 Worked example; 8.3 Unification;
      8.4 Worked example; 8.5 The resolution rule;
    • 9. Resolution theorem proving
      9.1 Overview; 9.2 Example proofs; 9.3 Getting resolution to work;
      9.4 Applications to mathematics; 9.5 Other topics;
  3. Machine learning
    • 10. Overview of machine learning
      10.1 Aims; 10.2 Problem constituents; 10.3 Method constituents;
      10.4 The FIND-S method; 10.5 Assessing hypotheses and methods;
      10.6 Representations;
    • 11. Decision tree learning
      11.1 Decision trees; 11.2 ID3 method; 11.3 Worked example;
      11.4 Avoiding overfitting; 11.5 Appropriate problems;
    • 12. Two layer artificial neural networks
      12.1 Biological motivation; 12.2 ANN representation; 12.3 Perceptrons;
      12.4 Worked example; 12.5 The learning abilities of perceptrons;
    • 13. Multi-layer artificial neural networks
      13.1 Architectures; 13.2 Backpropagation; 13.3 Worked example;
      13.4 Avoiding local minima; 13.5 Overfitting considerations;
      13.6 Appropriate problems for ANNs;
    • 14. Inductive logic programming
      14.1 Problem specification; 14.2 Inverting resolution;
      14.3 Search considerations; 14.4 Example session with Progol;
      14.5 Applications;
  4. Problem Solving
    • 15. Constraint satisfaction solvers
      15.1 Specifying problems; 15.2 Example; 15.3 Formal definition;
      15.4 Binary constraints; 15.5 Backtracking; 15.6 Forward checking;
      15.7 Arc consistency; 15.8 Heuristic methods; 15.9 Applications;
  5. Evolutionary Approaches
    • 16. Genetic algorithms
      16.1 Motivation; 16.2 Specifying a problem; 16.3 Encoding solutions;
      16.4 Crossover; 16.5 Mutation; 16.6 Canonical algorithm; 16.7 Applications;
    • 17. Genetic programming
      17.1 Representation of programs; 17.2 Function set; 17.3 Crossover;
      17.4 Mutation; 17.5 Algorithm; 17.6 Applications;
 

Coursework

You will need these files:

war_of_life.pl (right click in Windows)

v231_coursework2009.doc [Word document, right click in Windows]

Or, alternatively as a PDF document:
v231_coursework2009.pdf

 

Tutorial Questions and Answers

Tutorial 1 (Word, PDF)

Tutorial 2 (Word, PDF)

Tutorial 3 (Word, PDF)

Tutorial 4 (Word, PDF)

Tutorial 5 (Word, PDF)

Tutorial 6 (Word, PDF)

Tutorial 7 (Word, PDF)

Notes and Slides

Lecture Notes Slides (PPT)
1 F1: Characterisations of AI S0 S1
2 F2: AI Agents S2
3 F3: Search S3
4 F4: Knowledge Representation S4
5 F5: Game Playing S5
6 AR1: First-Order Logic S6 (PDF)
7 AR2: Making Deductive Inferences S7
8 AR3: The Resolution Method S8
9 AR4: Resolution Theorem Proving S9
10 ML1: Machine Learning Overview S10
11 ML2: Decision Tree Learning S11
12 ML3: Two Layer ANNs S12
13 ML4: Multi-layer ANNs S13
14 ML5: Inductive Logic Programming S14
15 Constraint Satisfaction Problems S15
16 E1: Genetic Algorithms S16
17 E2: Genetic Programming S17
18 Revision Lecture (slides only) S18
19 Exam Lecture (slides only) S19

 
 

© Simon Colton 2007