This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
An Optimization Algorithm for Production Systems
August 1994 (vol. 6 no. 4)
pp. 549-558

As the scale of rule-based expert systems increases, the efficiency of production systems becomes a pressing concern. Recently developed production systems thus enable users to specify an appropriate ordering or clustering of join operations. Various efficiency heuristics have been introduced to optimize production rules manually. However, since the heuristics often conflict With each other, users have to proceed by trial and error. The problem addressed in this paper is how to automatically determine efficient join structures for production system programs. Our algorithm does not directly apply efficiency heuristics to programs, but rather enumerates possible join structures under various constraints and selects the best one. For this purpose, the cost model for production systems is introduced to estimate the run-time cost of join operations. Evaluation results demonstrate that the proposed algorithm can generate programs that are as efficient as those obtained by manual optimization, and thus can reduce the burden of manual optimization.

[1] L. Brownston et al.,Programming Expert Systems in OPS5, An Introduction to Rule-Based Programming, Addison Wesley, Reading, Mass., 1985, Chapter 4, pp. 161- 164.
[2] B. D. Clayton,ART Programming Tutorial: Advanced Topics in ART, vol. 3, Inference Corp., 1987.
[3] C. L. Forgy,OPS5 User's Manual, Tech. Rep. CS-81-135, Carnegie Mellon Univ., 1981.
[4] C. L. Forgy, "RETE: A fast algorithm for the many pattern/many object pattern match problem,"Artificial Intell., vol. 19, pp. 17-37, 1982.
[5] A. Gupta, C. L. Forgy, D. Kalp, A. Newell, and M. Tambe, "Results of parallel implementation of OPS5 on the encore multiprocessor," Tech. Rep. CS-87-146, Carnegie Mellon Univ., 1987.
[6] T. Ishida and S. J. Stolfo, "Toward the parallel execution of rules in production system programs," inProc. Int. Conf. Parallel Processing, 1985, pp. 568-575.
[7] T. Ishida, "Optimizing rules in production system programs,"Proc. AAAI-88, 1988, pp. 699-704.
[8] T. Ishida, "Parallel rule firing in production systems,"IEEE Trans. Knowl. Data Eng., vol. 3, pp. 11-17, 1991.
[9] Y. Ishikawa, H. Nakanishi, and Y. Nakamura, "An expert system for optimizing logic circuits," inProc. 34th National Convention of Inform. Processing Soc. of Jap.(in Japanese), 1987, pp. 1391-1392.
[10] M. Jarke and J. Koch, "Query optimization in database systems,"ACM Comput. Surveys, vol. 16, no. 2, June 1984.
[11] D. P. Miranker, "TREAT: A better match algorithm for AI production systems," inProc. AAAI-87, 1987, pp. 42-47.
[12] D. Scales, "Efficient matching algorithms for the SOAR/OPS5 production system," Tech. Rep., Knowledge Systems Lab., Comput. Sci. Dep., Stanford Univ., 1986.
[13] M. I. Schor, T. P. Daly, H. S. Lee, and B. R. Tibbitts, "Advances in RETE pattern matching" inProc. AAAI-86, 1986, pp. 226-232.
[14] D. E. Smith and M. R. Genesereth, "Ordering conjunctive queries,"Artificial Intell., vol. 26, pp. 171-215, 1985.
[15] D. H. D. Warren, "Efficient processing of interactive relational database queries expressed in Logic," inProc. 7th VLDB, 1981, pp. 272-281.

Index Terms:
expert systems; optimisation; inference mechanisms; software cost estimation; optimization algorithm; production systems; rule-based expert systems; clustering; ordering; join operations; efficiency heuristics; cost model; run-time cost; optimization; problem solving; expert system
Citation:
T. Ishida, "An Optimization Algorithm for Production Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 6, no. 4, pp. 549-558, Aug. 1994, doi:10.1109/69.298172
Usage of this product signifies your acceptance of the Terms of Use.