Current Approaches to
Today, our implementation of ANI can be loosely classified into two
categories: expert systems and neural networks.
Originally developed for use in the 1980's, expert (or knowledge-based)
systems really came into their own as computing power got strong enough in the
1990's. An expert system is a program running on a computer that uses a set of
rules to answer a question (typically in the form of IF…THEN).
a question, an ES will filter a set of data, based on rules, to establish a sub-set
of what it believes is the answer.
As a general rule, the more rules that
can be used to answer the question, the stronger the chance that a correct answer
will be given. When determining what type of animal, simply running "IF number_of_legs
= 2" doesn't narrow down our search enough to give us a useful answer given
the large number of animals with 2 legs. String this to an additional set
of questions relating to height, weight, habitat, pouch, etc. and we can quickly
deduce a reasonable answer.
An expert system comprises a knowledge base
and inference engine. For a project-planning tool, the Knowledge Base may contain
data pertaining to activities and their durations for different types of projects.
The inference engine is then responsible for trying to return a sub-set of this
knowledge base back to the planner based on the question they may ask. For example,
what activities should I include for my engineering scope of my hospital project?
The relationship between computer and operator is shown in Figure 2.
2: Interaction between Expert System and Human
In this example, it is also
useful to understand how confident the computer is that the returned suggestion
is correct. This is where the likes of fuzzy logic come into play. Rather than
returning a definitive list of activities, the AI engine should return a sub-set
of activities with associated degrees of confidence about their relevance.