Next: Artificial Intelligence Programming Up: Introduction Previous: Search

About This Course

This course will have four main components:

Ai Programming in Prolog
(3-4 lectures) We will introduce AI programming, and particularly Prolog (a language based on predicate logic). The coursework will involve writing simple AI programs in Prolog.
Coure AI Techniques (Knowledge Representation and Search)
(6-7 lectures) Here we will introduce techniques that are important throughout Artificial Intelligence.
Expert Systems
(2 lectures) We will briefly introduce expert system development, and a particular kind of simple expert system.
Natural Language and Vision
(4 lectures) Having looked at expert problem solving, we will look at two mundane tasks: understanding language and understanding visual scenes.

In fact, expert systems will follow from knowledge representation, before search. Otherwise the course will follow the order above. There will be short assessed exercises on expert systems, search, and natural language.

The course is NOT intended to cover all of AI. Some tasks and techqniques are completely ignored, simply because of lack of time. These include:

This is not to say that these techqnies/tasks are unimportant. We just don't have time. Some will be covered in AI4.

The coursework will consist of six programming exercises, the last three of which will be assessed. There will also be a small number of additional tutorial (non-programming) exercises, which will not be assessed, and a few optional exercises may be included in the lecture notes. (Some of the ``tutorial'' exercises will be to try within lectures.) Exercises 2 and 3 may be handed in, though the mark will not contriute to your final grade. Feedback on these exercises may be useful both to you and me - I want to be able to tell in time if people are having problems.

The first three non-assessed exercises will be handed out on 21st Oct, 28th Oct, and 4th Nov, and will be marked if returned one week later. The assessed exercises will (probably) be handed out on the 11th Nov, 18th Nov and 2nd Dec, and collected 2 weeks after being handed out. For labs you will be divided into two groups, and will have an hour each in the lab. Your demonstrator will be Daniel Chan, and I will be in the lab at least part of the time every week. The assessment of the different execrises will vary a bit, and the first two can be done in groups. I'll try and specify precisely how each will be assessed on the individual exercises. (The last one will have a higher proportion of the marks - 50%, as it is an individual exercise and I can't give too many marks to group efforts). I plan to have optional tutorial sessions most weeks, mainly to go over previous exercises attempted in lectures or labs. These will have to overlap with the lab session.

There are two Prologs available for doing the coursework. Mac Prolog is recommended, and is installed on all the Macs. However, if there is a shortage of machines, or if you prefer using Suns then you can use C Prolog. Let us know if you decide to use C Prolog, and we will tell you how to get started.

You will be provided with fairly full lecture notes for this course. However, it will be helpful if you can at least look at two text books. One is a good introduction to AI programming in Prolog:

Bratko, I. Artificial Intelligence Programming in Prolog (second edition), Addison Wesley, 1991.

This book will be extremely useful for the coursework.
You are also recommended to look at a general introduction to AI in general. Two books are recommended:

Rich, E. and Knight, K. Artificial Intelligence (second edition), McGraw Hill, 1991.

Luger, G.F. and Stubblefield, W.A. Artificial Intelligence: Structures and Strategies for Complex Problem Solving (second edition), Chapman Hall, 1993.

Both books cover most of the non-Prolog bits of the course. Luger &Stubblefield also has a short introduction to Prolog. The first edition of Luger &Stubblefield should be OK and maybe cheaper, but the second will be referred to in AI4. Both books give more detail than you may want, but have good coverage and are technically sound. (Although you won't be explicitly asked about anything not in the notes, some evidence of understanding beyond the notes will help you do even better in the exam!).

This course is very similar to last year, but will be changed in a few small ways in response to student feedback last year. In particular, I plan to cut some of the material on search (as its not very exciting); to make available more exam-like questions throughout; and have more breaks in lectures (where you may be asked to try a short exercise) so you don't have to listen to me drivelling non-stop for 50 minutes.

Please email me (or talk to me!) if there are things that I explain particularly badly in lectures or in the notes, or exercises which you all find too difficult or unclear (email: alison). I can then try going over it again. Also feel free to let me know if there are any topics that you would really like covered in the lectures, that aren't mentioned above.

Notes and exercises for the course are in postscript form, and will be placed in alison/AI3 on the Suns (when I remember). There will be a file ``notes.ps'' which contains all 80ish pages of notes (use ghostview to browse) - bits that I havent covered yet may not be in their final state, but you are welcome to read ahead. There should be files for the sections just covered (e.g., intro.ps, prolog.ps etc, placed there just after the notes in that section have been all handed out, in case you miss a lecture. Similarly exercises will be in files ex1.ps etc.



Next: Artificial Intelligence Programming Up: Introduction Previous: Search


alison@
Fri Aug 19 10:42:17 BST 1994