O.A. Mazhara
ABSTRACT
Implementation of the logical inference by the applied knowledge base based on Rete and Treat match algorithms for choosing optimal one in terms of resources usage and performance has been proposed. Treat algorithm implementation, which allows saving current approaches for data representation and optimizations by hashing, precompile network representation and knowledge base representation, was formalized for CLIPS. The proposed approach allows further extension of the CLIPS programming environment by additional incremental match algorithms.
KEYWORDS
match, Rete algorithm, Treat algorithm, production system, inference, CLIPS.
REFERENCES
1. Forgy, C.L. (1979), “On the Efficient Implementation of Production System”, Doctor’s Degree, Carnegie Mellon University, Pittsburgh, USA.
2. Miranker, D.P. (1987), “TREAT: A New and Efficient Match Algorithm for AI Production System”, Doctor’s degree, Pitman / Morgan Kaufmann, London, UK.
3. Sanjay, K. (2015), “Importance of Expert System Shell in Development of Expert System”, International Journal of Innovative Research and Development, Vol. 4 no. 3, pp. 128-133, available at: http://www.ijird.com/index.php/ijird/article/view/62073 (accessed September 1, 2015).
4. Stefano, A. Gangemi, F. and Santoro, C. (2005), “ERESYE: artificial intelligence in Erlang programs”, Proceedings of the ACM SIGPLAN workshop on Erlan, Tallinn, Estonia, September 26-28, 2005. New York: ACM, available at: http://dl.acm.org/citation.cfm?id=1088373&dl=ACM&coll=DL&CFID=542447529&CFTOKEN=27514249 (accessed August
10, 2015).
5. CLIPS Rule Based Programming Language, available at: http://sourceforge.net/projects/clipsrules/files/CLIPS/6.30/ (accessed August 30, 2015).
6. Doorenbos, R. (1995), “Production Matching for Large Learning Systems”, Doctor’s Degree, Carnegie Mellon University , Pittsburgh, USA.
7. Riley, G. (2009), “CLIPS Implementation of Rete”, Proceedings of the October Rules Conference, Chantilly, Virginia, USA, October 25-26, 2009, available at: http://sourceforge.net/p/clipsrules/discussion/776945/thread/8460f0d6/e8cb/attachment/CLIPS_Implementation_of_Rete.pdf (accessed September 2, 2015).
8. Sellis, T. Lin, C.C. and Raschid, L. (1988), “Implementing large production systems in a DBMS environment: Concept and algorithms”, Proceedings of the ACM SIGMOD International conference Management of data, Chicago, Illinois, June 1-3, 1988, pp. 404-423.
9. Berstel, B. (2002), “Extending the RETE algorithm for event management”, Proceedings of the Ninth International Symposium on Temporal Representation and Reasoning, IEEE Computer Society, Washington, DC, USA , pp. 49-51.
10. Kang, J.A., Mo, A. and Cheng, K. (2004), “Shortening Matching Time in OPS5 Production Systems”, IEEE Transactions on Software Engineering, Vol. 30 , no.7, pp. 448-457.
11. Mazhara, O.O. (2014), “Comparison of the Treat and Rete match algorithms”, Adaptyvni Systemy Avtomatychnogo Upravlinnya: Mizhvidomchyy naukovo-tehnichny zbirnyk, Kiev, KPI, Vol. 1, no. 24, pp. 53-61.
12. Proctor, M. (2008), “Symmetrical and Asymmetrical Rete”, available at: http://blog.athico.com/2008/10/symmetrical-and-asymmetrical-rete.html (accessed September 3, 2015).
13. Giarratano, J. and Riley, G. (2007), Ekspertnye sistemy: printsipy razrabotki i programirovanie [Expert systems: design principles and programming], OOO «I.D. Vil’yams», Moscow, Russia.