yk@a.nl.cs.cmu.edu (Yasusi Kanada) (02/26/89)
Here's the summary of the replies to my question. Thank you for everyone who replied to it. -Yasusi Kanada yk@a.nl.cs.cmu.edu [Question] There are a lot of backward chaining production systems implemented in Prolog, because they match the nature of Prolog and it's quite easy to implement them. On the other hand, as far as I know, there are rather few implementation of forward chaining production systems such as OPS5 implemented in Prolog. The following are the examples. Coelho, H., and Cotta, J. C.: Prolog by Example, Problem 97, Springer- Verlag, 1988. Shintani, T.: A Fast Prolog-Based Production System KORE/IE, Proc. of the Fifth International Conference and Symposium on Logic Programming, pp.26-42, 1988. I know some other references written in Japanese. Most of them are naiive implementation. The second paper above is the only one that uses RETE-like network, so it's the only one practical. Do you know other references? Thanks in advance. [Replies] From: finin@hamlet (Tim Finin) Date: 19 Feb 89 04:43:22 GMT Sender: news@PRC.Unisys.COM Reply-To: finin@hamlet (Tim Finin) ... (omitted) We've devloped one which is described in: @inproceedings{Finin89a, AUTHOR = "Tim Finin and Rich Fritzson and Dave Matuzsek", TITLE = "Adding Forward Chaining and Truth Maintenance to Prolog", BOOKTITLE = "IEEE Conference on Artificial Intelligence Applications", MONTH = "March", YEAR = "1989"} -- Tim Finin finin@prc.unisys.com (internet) Unisys Paoli Research Center ..!{psuvax1,sdcrdcf,cbmvax}!burdvax!finin (uucp) PO Box 517 215-648-7446 (office), 215-386-1749 (home), Paoli, PA 19301 215-648-7412 (fax) ------------- From: novick@uoregon.uoregon.edu (David G. Novick) Date: 20 Feb 89 18:55:03 GMT ... (omitted) As noted in earlier articles, backward-chaining systems are very straight-forward in Prolog. Forward-chaining systems, while not quite as directly implementable, are nevertheless fairly easy to write in Prolog. As part of my doctoral work, I wrote a forward- chaining system on top of SICTStus Prolog. A complete listing of the system is available as an appendix in Novick, D. G. 1988. "Control of mixed-initiative discourse through meta-locutionary acts: A computational model," Tech. Rep. CIS-TR-88-18, Department of Computer and Information Science, University of Oregon. This work relied on my earlier Lisp-based contributions to the ORBS system. Some of the nice feature of writing a rule-based system in Prolog are that (1) conflict resolution can be described in predicate form, so CR strategies can be domain-customized rather easily, (2) most of the unification chores are handled by the language, (3) it is trivial to add control information to rules, and (4) there is a good correspondence between "test" clauses in a rule and the idea that something is provable. ============================================================================== David G. Novick | internet: novick@cs.uoregon.edu Computer and Information Science | uucp: {tek|hp-pcd}!uoregon!fog!novick University of Oregon | home: (503) 687-9506 Eugene, Oregon 97403-1202 | office: (503) 686-4408 ============================================================================== -------------- Date: Tue, 21 Feb 89 11:43:09 PST From: quintus!don@Sun.COM (Don Ferguson) The system "SunPRESS" written by Sun Microsystems implements a forward chaining procedural reasoning system in Quintus Prolog. The leader of this project is Kevin Whiting, who you should be able to contact at: kwhiting@sun.com. -------------- Date: Wed, 22 Feb 89 10:52:08 GMT From: Jerry Harper <mcvax!euroies!jharper@uunet.UU.NET> BTW, your request for information on forward-chaining in Prolog reminded me of my experience of Flex last year. Produced by LPA, Flex is an integrated production rules and frames system; inferencing is primarily forward-chaining. Versions are available for both the Mac and IBM-compatibles, I suggest you contact your nearest LPA expert for further information. I must admit that it is a very well engineered system. Further aside: Flex is available in both object modules and as source code. The latter release costs considerably more. Cheers. -------------- From: munnari!ditsyda.oz.au!baird@uunet.UU.NET (from baird@ditsyda.oz for uunet!yk@a.nl.cs.cmu.edu) +1000 Date: Thu, 23 Feb 89 16:06:11 EST ... (omitted) See also: Design of a forward chaining reasoning system using content-addressable memory. By: Robert M. Colomb Charles CYC Chung Technical Report: TR-FB-88-02 This is available from the CSIRO here is Australia. If you want I can send you a copy. It is based on a content addressable memory we are building, but may be relavent anyway. John Baird ------------- CSIRO Division of Information Technology PO BOX 1599 Macquarie Centre North Ryde Australia 2113 --