CHAPTER 12
Artificial Intelligence and Parallel
Processing
Artificial Intelligence (AI) has been defined as an area of computer science that
is concerned with computer systems that exhibit human intelligence, meaning
they allow computers to emulate human behavior. The activities that are in-
volved in AI are classified as: natural language processing, automatic program-
ming and theorem proving, robotics, machine vision and pattern recognition,
modeling and representing knowledge, learning new information, intelligent
data retrieval, expert systems, problem solving and planning, and game playing
[Winston 92]. In general, there are two components associated with artificial
intelligence: knowledge and reasoning. There are different methods to represent
knowledge and various approaches of reasoning this knowledge. The computer
programs that perform this process are said to exhibit artificial intelligence.
There are several aspects of .artificial intelligence which suggest that the ap-
plication of some form of parallel computation and distributed systems might be
appropriate. Parallel processing techniques not only can improve the processing
speed, but also can make possible the tackling of large applications that are of-
ten difficult if not impossible to handle on a single-processor machine. There are
two main areas in which parallel processing can contribute to the study of intel-
ligence systems:
• Production Systems
• Reasoning Systems
In this chapter, the goal is to identify specific processing requirements for
these two important AI paradigms. In production systems, the sources of paral-
lelism are identified and parallel execution models and parallel programming
languages are presented. In reasoning systems, also called knowledge process-
ing, which are composed of a set of separate modules and a set of communica-
tion paths between them, semantic networks represent a viable approach to the
adoption of parallel processing. Both general-purpose parallel computers and
special-purpose parallel computers may be used for reasoning systems.
S. H. Roosta, Parallel Processing and Parallel Algorithms
© Springer Science+Business Media New York 2000
502 Parallel Processing and Parallel Algorithms
12.1 Production Systems
The production system was proposed as a model of human information proc-
essing, and it continues to play an important role in AI. Some production system
models stress the sequential nature of production systems; for example, the
manner in which short-term memory is modified over time by the rules. Other
models stress the parallel aspect, in which all productions match an~ fire simul-
taneously, no matter how many there are. Both types of models have been used
to explain timing data from experiments on human problem solving. A produc-
tion system program consists of an unordered collection of If-Then statements
and is characterized by three components as follows:
• System State, also called the database of knowledge or declarative
knowledge, is one of the core concepts of AI-based systems. It is also
called working memory and stores various facts and rules about the
particular application.
• Production Rules, which allow the system to change from one state to
another, are also called production memory or procedural knowledge.
Each rule has a precondition, and when it is satisfied by any rules in the
database, the rule itself can be applied.
• Control System. which manages the execution of production rules.
allowing the system to evolve according to some desired criteria. is
also called the inference engine or control knowledge. In general. the
control system chooses which applicable rule in the working memory
should be applied.
In general, databases fall into two classes, databases of objects and databases of
rules. It is worth noting that the effectiveness of an AI system depends heavily
on the size of its database, so that there is continual pressure to increase the
amount of data involved. To solve real and complex production systems often
requires tens of thousands of facts and rules which is very difficult to implement
on sequential computers. The applicability of production systems has been lim-
ited by their slow execution speed. A production rule has the following form:
If Then A.& ~& ... & Am
where B I, B2 , ... , Bn are conditions that constitute the left-hand side of the pro-
duction rule, and AI' ~, ... , Am are the operations that constitute the right-hand
side of a production rule. If the conditions are satisfied, then the rule is applica-
ble. meaning that the database knowledge can be modified according to the op-
erations. By convention, the If part of a production rule is called its LHS (left-
hand side), and its Then part is called its RHS (right-hand side). The inference
engine (interpreter) is responsible for matching production conditions to the da-
tabase and deciding which rule should be activated in order to produce the solu-