Search This Blog

Artificial Intelligence


Artificial Intelligence

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:

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;

Tutorial Questions and Answers

Tutorial 1 (WordPDF)
Tutorial 2 (WordPDF)
Tutorial 3 (WordPDF)
Tutorial 4 (WordPDF)
Tutorial 5 (WordPDF)
Tutorial 6 (WordPDF)
Tutorial 7 (WordPDF)

Notes and Slides


LectureNotesSlides (PPT)
1F1: Characterisations of AIS0 S1
2F2: AI AgentsS2
3F3: SearchS3
4F4: Knowledge RepresentationS4
5F5: Game PlayingS5
6AR1: First-Order LogicS6 (PDF)
7AR2: Making Deductive InferencesS7
8AR3: The Resolution MethodS8
9AR4: Resolution Theorem ProvingS9
10ML1: Machine Learning OverviewS10
11ML2: Decision Tree LearningS11
12ML3: Two Layer ANNsS12
13ML4: Multi-layer ANNsS13
14ML5: Inductive Logic ProgrammingS14
15Constraint Satisfaction ProblemsS15
16E1: Genetic AlgorithmsS16
17E2: Genetic ProgrammingS17
18Revision Lecture (slides only)S18
19Exam Lecture (slides only)S19