Level: 3 Credit points: 30
Artificial intelligence - trying to make computers behave more like human beings - has produced some useful software tools. This course concentrates on two kinds of software tool. Knowledge-based systems introduces the concepts and applications of knowledge-based systems, particularly the use of rules, object-oriented systems, uncertainty, fuzzy logic and Prolog. Neural networks explains the functioning of several different types of neural network. Examples illustrate the practical uses of both types of software tool. A computer-based project, on which you will write a report, draws together the main themes of the course. The project report replaces a conventional examination.
Artificial intelligence - trying to make computers behave more like human beings - has given rise to some useful software techniques. This course is for those who want to study the principles of those techniques and some of their applications in technology. It emphasises the development and application of software tools for solving technological problems, and does not deal with the philosophical, biological or psychological implications of artificial intelligence.
The course is divided into three parts: knowledge-based systems, neural networks, and a project in which you apply knowledge-based system and neural-network techniques to a technological problem. Smaller examples appear throughout the course, and software is provided so that you can try them out for yourself. Computer conferencing with the supplied FirstClass software is an integral part of the course. You are encouraged to use the computer conference to discuss course-related issues with other students, and you will need it to receive ‘stop press' messages from the course team and computer files for assignments.
Knowledge-based systems The topic is based on Knowledge-Based Systems for Engineers and Scientists by Hopgood, CRC Press. (This text and the book by Picton - see below - are both provided as part of the course materials.) The book and its study guide show how knowledge can be represented using rules, objects, and other techniques. Rules can take on a variety of guises from simple ‘if … then …' statements to complex statements that take account of uncertainty. Objects provide a convenient programming style for handling complex information. The Prolog language and fuzzy logic are also introduced. All these techniques are demonstrated with the software. This part of the course also introduces the idea of machine-learning: computer programs that can alter their knowledge in the light of experience. Various techniques for achieving this are described. The most important of these are neural networks, which form the next part of the course.
Neural networks This topic is based on Introduction to Neural Networks by Picton, MacMillan Press. The book and its study guide explain the functioning of many of the currently used neural networks such as the multi-layer perceptron and the Kohonen network, as well as some of the more specialised networks such as the Hopfield network. Each chapter describes a network and gives simple examples of how it can be used. The software allows you to build, train and test your own networks.
The project In this part of the course you will carry out a small project, using the techniques that you have learnt to tackle a practical technological problem. You might, for example, be asked to investigate the automatic recognition of hand-written postcodes. You will be expected to develop your own prototype software, using the packages supplied, and to write a project report. For your guidance, one of the course texts describes a variety of applications of knowledge-based systems and neural networks under the broad headings of interpretation, diagnosis, design, selection, planning and control.