7.2. Expert systems

A lot of research has gone into the subject of artificial intelligence in computing and a discussion of the merits of various approaches to solving this problem is beyond the scope of this work. This section presents a very brief overview of the common methods by which artificial intelligence is implemented in order to provide some of the background for Section 7.3.

7.2.1. Rule based systems

The simplest of the artificial intelligence approaches is that of rule based systems. These systems attempt to mimic the logical steps that go into solving a specific task. They have a predefined set of questions and a set of options that form the answer to each question. As each question is answered, a set of rules is applied to the answer in order to determine what the next step will be [Patterson, 1990].

Rule based systems have no ability to automatically learn from their mistakes, nor do they have any way of determining information from their environment. As such, their use is usually limited to very simple problems that have a finite, known set of possible states.

7.2.2. Expert systems

Expert systems provide a way of using the knowledge of one or more experts in a field to solve a problem in a particular domain. Each expert system has a limited amount of knowledge derived from these experts which make it, in turn, an expert in the same field as the experts from which it obtained its knowledge. Expert systems are based on the rule based systems described in the previous section with one notable exception: the set of rules that an expert system applies are known as heuristic rules — that is, they are based on knowledge known to the collective expertise in that domain rather than simple facts that are accepted as common knowledge [Levine, 1990].

As they derive from rule based systems, expert systems suffer from some of the same limitations as their simpler relatives. It is generally quite difficult to expand their knowledge base, for example. They are also limited to problems that have clear cut, "black and white" solutions, rather than problems for which there are a number of possible intermediate solutions. Expert systems are, however, able to solve complex problems in the domain for which they have expert knowledge.

7.2.3. Pattern recognition

Ford argues that from a philosophical point of view, one cannot have true intelligence until one implements some form of pattern recognition [Ford, 1987]. Thus he dismisses the rule based approaches to artificial intelligence as being commercial oddities and not real intelligence at all. In many ways he has a point; most real world problems are not particularly clear cut, and the use of pattern recognition is an attempt to solve this.

Rather than applying a predefined set of rules, systems employing pattern recognition take all the information they have been supplied and attempt to match it to information that they already know. In this way, a best-match approach can be taken to try and solve problems for which there is no exact information available.

Systems that employ pattern recognition techniques tend to be much better at solving problems for which they have existing information than either expert systems or rule based systems. Like their predecessors, however, they lack the ability to easily learn new information.

7.2.4. Neural networks

Neural networks, as their name suggests, attempt to mimic the way the human brain operates. They provide intelligence in the conventional sense of the word, by combining sophisticated pattern matching with the ability to learn from their mistakes and apply new knowledge. Over time, neural networks become experts in the field in which they have been trained — that is, they apply past knowledge to new problems in an attempt to find a solution.

While they are good at solving complex, "fuzzy" problems, neural networks are a lot more complex to implement than any of previous approaches to artificial intelligence. Part of the reason for this is that neural networks need to be trained rather than just acquiring a predefined set of knowledge.

Neural networks are often used to solve complex problems that are beyond the realm of human understanding, for example, making accurate predictions of weather systems. They are good at providing solutions to these problems because there are vast amounts of historical data available from which to aquire a knowledge base.