The more detailed overview is given in section C, as an indication of the scope of the field. This might be used by reviewers considering degrees in AI, not in order to define what should or should not be in such a degree, but in order to provide some background that might be useful when assessing an AI degree course, or possibly when designing one. There is no implication that everything mentioned here must be included in a degree with "Artificial Intelligence" in its title, or that topics not included here are excluded. The subject is changing too fast for any rigid definition to be acceptable.
No attempt is made here to define standards required for various degree classes though it should be stressed that in AI, as in any other science, the highest standards of achievement require considerable mathematical sophistication. This is sometimes not so important in applications of AI.
Section D gives some information about AI tools and languages, how they differ from some other programming languages and tools, and why they are needed. It is not intended to give a complete overview of AI tools or languages.
The final section E gives pointers to further information, including the ACM classification of areas of Computing, and information about some well known national and international AI Professional Organisations, some of which include information about the scope of AI in their own web pages. It is hoped that these pointers will help to compensate for any omissions or distortions found here.
Not all practitioners will agree with the characterisation of AI given below, which is deliberately broad, encompassing both AI as science and AI as engineering. For instance, some people who work in the field regard it as a branch of engineering, and would not include the study of human intelligence, whereas that is a central focus of many AI researchers, including some of the founders of the discipline.
The overview lists a number of sub-fields of AI which are sometimes regarded as parts of AI, and sometimes simply as ordinary applications of computer science, e.g. image interpretation. It has often happened that a technique originally developed for AI purposes has been accepted as part of "mainstream" computer science or software engineering, and it is likely that this will continue to happen.
It is clear that AI is still in its infancy: there have been many interesting theoretical developments and useful applications, but many hard problems remain unsolved, and the subject can be expected to evolve rapidly in coming years, especially as developments in the power and costs of computers both enable more effective research and also increase the need for AI.
AI has two main strands, a scientific strand and an engineering strand, which overlap considerably in their concepts, methods, and tools, though their objectives are very different.
There is another nascent engineering application of AI: using the results of the scientific strand to help design machines and environments, and educational strategies that can help human beings. This may, but need not, including the production of intelligent machines. It could include the design of therapies or teaching strategies which engage more effectively with the information processing capabilities of patients or learners. Engineers also often need to take into account theories of natural intelligence when designing systems to interact usefully with humans.
Besides the contrast between Science and Engineering, there are other ways of dividing approaches to AI, e.g. according to the types of mechanisms or forms of representations thought to be most useful, or according to whether AI systems are explicitly designed or bootstrapped by some learning or evolutionary mechanism. New approaches often become fashionable for while and then are simply absorbed into the larger pattern of research and teaching.
Because humans and other animals, and equally robots and other intelligent artefacts, have a wide variety of capabilities, all of them very complex and hard to explain or model, both the scientific and engineering work in AI has spawned several sub-fields, dealing with particular aspects of intelligence.
Because the applications of AI are many and diverse some of the sub-fields are clustered around techniques relevant to a class of problems.
o Perception, especially vision but also auditory and tactile perception, and more recently taste and smell. This breaks down into the study of different types of processes including physical transduction, analysis and pattern recognition, segmentation and "parsing" of complex sensory data, interpretation, and control of attention. This is a huge sub-field and could be broken down into more specialised sub-sub-fields according to the sensory modality, the kinds of things being perceived, the forms of representations used, whether perception is purely data-driven or includes top-down processes, the mechanisms used (e.g. neural or symbolic), larger architecture which contains the perceptual system, and the application domain.
o Natural language processing, including production and interpretation of spoken and written language, whether hand-written, printed, or electronic throughout (e.g. email).
o Learning and development, including symbolic learning processes (e.g. rule induction), the use of neural nets (sometimes described as sub-symbolic), the use of evolutionary algorithms, self-debugging systems, and various kinds of self-organisation.
o Planning, problem solving, automatic design: given a complex problem and a collection of resources, constraints and evaluation criteria create a solution which meets the constraints and does well or is optimal according to the criteria, or if that cannot be done propose some good alternatives.
o Varieties of reasoning: This includes studies both of informal common sense reasoning, and specialised expert reasoning. The former includes the study of analogical reasoning, defeasible inferences, case based reasoning. The latter includes logical and mathematical reasoning, including design of theorem proving and inference systems either with the intention of modelling various kinds of human mathematical and inferential capabilities, or for practical purposes, e.g. in symbolic algebra toolkits, or reasoning in robots or autonomous control systems.
o Study of representations: investigating the formal properties of various sorts of representations, the mechanisms required for them to operate, and the kinds of tasks for which they are good or bad. This can include the study of ontologies of various kinds. Some mechanisms are sometimes claimed not to use any representations (e.g. neural nets) while a counter-claim is that they are simply a particular type of representation, e.g. numerical and continuous as opposed to structural and discrete.
o Memory mechanisms and techniques: analysis of requirements for various kinds of memory, including very large knowledge stores containing diverse types of knowledge, either for modelling human knowledge or for use in various sorts of applications.
o Multi agent systems: the study of various kinds of communication (linguistic and non-linguistic, explicit and implicit, intentional and unintended), types of cooperation and conflict, recognition of plans and intentions in others, etc. Some studies of multi-agent systems are concerned with understanding human social interactions, whereas others are concerned with the design of applications involving multiple robots or multiple concurrent software systems. Some multi-agent systems are proposed as an architecture for a single complex intelligent agent.
o Affective mechanisms: during the late 1990s there has been a growing interest in the role of motivation and emotions in intelligence. This is sometimes studied as a topic in its own right, and sometimes as part of the study of complete architectures for autonomous intelligent systems.
o Robotics: one of the oldest sub-fields of AI. This is sometimes studied for the purpose of producing new kinds of useful machines (which is why this heading is also in section D, below), and sometimes because designing complete working robots provides a test bed for integrating theories and techniques from various sub-areas of AI, e.g. perception, learning, memory, motor control, planning, etc. I.e. it is a context for exploring ideas about complete systems. Sometimes robot designers attempt to show that certain sorts of mechanisms are not required in systems with a certain type of intelligence, e.g. showing what robots using no planning or deliberative capabilities can do. o Development of languages and tools listed below in D.
The above is not intended to be a complete list. There are many other sub-fields which could be listed. For a more comprehensive survey follow the pointers given in the final section, below.
o AI in medicine, including interpretation of medical images, diagnosis, expert systems to aid GPs, monitoring and control in intensive care units, design of prosthetics, design of drugs, intelligent tutoring systems for various aspects of medicine.
o AI in robotics: including vision, motor control, learning, planning, linguistic communication, cooperative behaviour
o AI in many aspects of engineering: fault diagnosis, intelligent control systems, intelligent manufacturing systems, intelligent design aids, integrated systems for sales, design, production, maintenance, expert configuration tools (e.g. ensuring sales staff don't sell system that won't work). AI in software engineering includes work on program synthesis, verification, debugging, testing and monitoring of software.
o AI in interfaces and "help" systems: as computers are used for more and more applications that involve interaction with human beings, there are ever growing pressures to make the machines easier for non-experts to use. One approach to this is to give machines more intelligence so that they can guide, or advise users. This type of application can include many of the sub-fields listed above in section C.4.(a)
o AI in education: including various kinds of intelligent tutoring systems and student management systems. Particular applications might include diagnosis of a student's knowledge gaps, various kinds of drill and practice tutors, automatic marking of programming assignments and essays, etc.
o AI in information management: this includes the use of AI in data mining, web crawling, email filtering, etc.
o AI in mathematics: design of tools to help with various kinds of mathematical tasks, now used so widely that they are not recognised as AI products.
o AI in entertainment: increasingly AI is being used in computer games and in systems for generating and controlling synthetic characters either for textual interaction or generating films with cartoon characters or interactive avatars in virtual worlds.
o AI in biology: there are many hard problems in biology where more or less intelligent computer-based systems are being developed, e.g. analysis of DNA, prediction of folded structure of complex molecules, prediction, modelling many biological processes, evolution, development of embryos, behaviours of various organisms.
o AI in Law: e.g. expert systems to help lawyers, or systems to give legal advice and help to non-lawyers.
o AI in architecture, urban design, traffic management: tools to help solve design problems involving multiple constraints, helping to predict the behaviours of people in new environments, tools to analyse patterns in observed phenomena.
o AI in literature, art and music: identification of authors, modelling of processes of generation and appreciation, teaching applications.
o AI in crime prevention and detection: e.g. detection of forgeries, learning to detect evidence of crooked police officers, software to monitor internet transactions, helping to plan police operations, searching police databases for evidence that crimes are committed by the same person, etc.
o AI in commerce: a fast growing application area of AI enabled by the internet involves commerce, especially electronic commerce and the use of software agents of various sorts to provide, search for, analyse or interpret information, take decisions, negotiate with other agents, etc.
o AI in space: control of space vehicles and autonomous robots too far from earth to be directly manipulated by humans on earth, because of transmission delays.
o AI in military activities. This may be the area in which most funds have been spent. It is also not easy to learn about the details.
Again this is not intended to be a complete list. It is also not claimed that there are no other useful ways of dividing AI into possible course topics or research areas. Many of the above sub-headings were chosen simply because there are groups of researchers, conferences, journals, or books that focus on the topics given.
Some of the reasons for the special requirements are
These requirements have led to the development of languages which
Some of the specialised languages developed to support AI research and applications include Prolog, Scheme, Smalltalk, OPS-5 and other production system interpreters, several varieties of Lisp including Common Lisp, Pop2 and its derivatives, e.g. Pop-11, hybrid systems supporting more than one language, e.g. Loglisp, Poplog.
Using these and other languages, various tools have been developed to support knowledge acquisition and testing, theorem provers, planners, problem solvers, parsers and other forms of software for manipulating natural language, neural net toolkits, image processing tools, robot development tools, tools for designing and testing cognitively rich agents, tools for developing multi-agent systems, rule induction and learning systems, automatic program generating and testing tools, tools for doing experiments in artificial life, and tools for supporting evolutionary computation.
Some of the tools are closely related to particular theories, or intended to support particular types of techniques, e.g. constraint-manipulation toolkits, tools for building cognitive models based on SOAR, or ACT-R.
There have been some experiments in designing new forms of hardware to support AI, e.g. hardware tailored to playing chess, hardware for vision, hardware for implementing AI languages like Lisp or Prolog, hardware for neural computation, in addition to robots and robot components. In future there may be AI models or applications using entirely new forms of computers, e.g. quantum computers or DNA computers.
Many of the tools required for AI as engineering overlap with those required for AI as science, since the task of producing intelligent applied systems has much in common with the task of producing models of natural intelligent systems. Of course there are some AI researchers who would dispute that.
A particularly important one pointed out to me by Phil Husbands is a failure to emphasise the importance of search and how to control it as a common problem in many sub-areas of AI (vision, language, planning, theorem proving, problem-solving, etc.) and also in many application areas of AI. I have a draft incomplete document on the nature of search and some of the means that have been used to control it: http://www.cs.bham.ac.uk/~axs/misc/combinatorics.text
It is possible that this might best have been remedied by having an additional section in the document on AI techniques and representations.
The 1998 version is available as a single document at
The overview of AI is in section I2, listed (strangely) under "Computing Methodologies", and can be accessed here: http://www.acm.org/class/1998/I.2.html
It has the following main headings:
The main UK AI organisation, The Society for the Study of Artificial Intelligence and Simulation of Behaviour, claims to be the oldest AI society in the world. See http://www.cogs.sussex.ac.uk/aisb/
The British Computer Society Specialist Group on Expert Systems (BCS-SGES) has a focus on knowledge engineering, though its seminars and annual conferences are often broader than that. See http://www.bcs-sges.org/
Unfortunately both of those web sites work only with graphical browsers.
The main European AI organisation is ECCAI (European Coordinating Committee on AI), to which national AI organisations are affiliated. See http://www.eccai.org
The largest AI organisation is the American Association for Artificial Intelligence, which, despite its name, has many members from outside the USA. Information about it is at http://www.aaai.org It includes a pointer to a collection of Web pages (under continual development) that attempt to characterise the scope of AI.
The major regular international conference on AI is The International Joint Conference on AI (IJCAI) held every two years since 1969. See http://www.ijcai.org
There is a growing collection of web sites providing information about AI, some compiled by individuals and some by firms or organisations, for example the New Scientist AI web site http://www.newscientist.com/nsplus/insight/ai/ai.html
A document was put together in 1998 for a conference of school careers advisers in England giving a more discursive overview of AI: http://www.cs.bham.ac.uk/~axs/misc/aiforschools.html
This includes pointers to several other sources of information about AI, including summaries by some of the founders of the field (e.g. Minsky, McCarthy), some textbooks, and UK universities known to be offering undergraduate degrees with AI in the title in May 1998.
This file maintained by
Last changed: 29 Aug 2001