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- 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;
- 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;
- 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;
- 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;
- 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 AnswersTutorial 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
|