Many intelligent systems must respond to sensory data or critical environmental conditions in fixed, predictable time. Rule-based systems, including those based on the efficient Rete matching algorithm, cannot guarantee this result. Improvement in execution-time efficiency is not all that is needed here; it is important to ensure constant, 0(1) time limits for portions of the matching process. Our approach is inspired by two observations about human performance. First, cognitive psychologists distinguish between automatic and controlled processing. Analogously, we partition the matching process across two networks. The first is the automatic partition; it is characterized by predictable 0(1) time and space complexity, lack of persistent memory, and is reactive in nature. The second is the controlled partition; it includes the search-based goal-driven and data-driven processing typical of most production system programming. The former is responsible for recognition and response to critical environmental conditions. The latter is responsible for the more flexible problem-solving behaviors consistent with the notion of intelligence. Support for learning and refining the automatic partition can be placed in the controlled partition. Our second observation is that people are able to attend to more critical stimuli or requirements selectively. Our match algorithm uses priorities to focus matching. It compares priority of information during matching, rather than deferring this comparison until conflict resolution. Messages from the automatic partition are able to interrupt the controlled partition, enhancing system responsiveness. Our algorithm has numerous applications for systems that must exhibit time-constrained behavior.
[1]
Daniel J. Scales.
Efficient matching algorithms for the Soar/OPS5 production system
,
1986
.
[2]
Allen Newell,et al.
Production Systems: Models of Control Structures
,
1973
.
[3]
Walter Schneider,et al.
Controlled and automatic human information processing: II. Perceptual learning, automatic attending and a general theory.
,
1977
.
[4]
Niklaus Wirth,et al.
PASCAL User Manual and Report
,
1974,
Lecture Notes in Computer Science.
[5]
Niklaus Wirth,et al.
Pascal User Manual and Report
,
1991,
Springer New York.
[6]
A. D. Fisk,et al.
Memory as a function of attention, level of processing, and automatization.
,
1984,
Journal of experimental psychology. Learning, memory, and cognition.
[7]
Charles L. Forgy,et al.
OPS5 user's manual
,
1981
.
[8]
Charles L. Forgy,et al.
Rete: a fast algorithm for the many pattern/many object pattern match problem
,
1991
.
[9]
Walter Schneider,et al.
Controlled and Automatic Human Information Processing: 1. Detection, Search, and Attention.
,
1977
.
[10]
A. D. Fisk,et al.
Attention Theory and Mechanisms for Skilled Performance.
,
1983
.
[11]
Norbert Theuretzbacher,et al.
The Challenge of Real-Time Process Control for Production Systems
,
1988,
AAAI.
[12]
Charles Lanny Forgy,et al.
On the efficient implementation of production systems.
,
1979
.
[13]
Nancy Martin,et al.
Programming Expert Systems in OPS5 - An Introduction to Rule-Based Programming(1)
,
1985,
Int. CMG Conference.
[14]
Anoop Gupta.
Parallelism in production systems
,
1987
.