Path: utzoo!attcan!uunet!peregrine!elroy.jpl.nasa.gov!usc!wuarchive!udel!burdvax!finin@hamlet From: finin@hamlet (Tim Finin) Newsgroups: comp.lang.prolog Subject: Re: Demons in Prolog Message-ID: <15880@burdvax.PRC.Unisys.COM> Date: 5 Dec 90 19:39:08 GMT References: <4716@mahendo.Jpl.Nasa.Gov> Sender: news@PRC.Unisys.COM Reply-To: finin@hamlet (Tim Finin) Organization: Unisys Center for Advanced Information Technology Lines: 36 In-reply-to: alan@nereid.jpl.nasa.gov (Alan Quan) In article <4716@mahendo.Jpl.Nasa.Gov>, alan@nereid (Alan Quan) writes: > > >I need to find out if it's possible to implement demons in Prolog in an >efficient manner. These can be simple triggers which respond to >pre-specified situations in the input data and then initiate a standard >backward-chained Prolog inference (I'm also interested in efficient >Prolog forward chaining in general, but this is not essential). We've implemented a very flexible forward chaining system in Prolog called Pfc that also contains an integrated justification truth maintenance system. It not meet your needs for efficiency, however. The system alows one to write horn-clause rules which mix forward and backward chaining. This was described in: Finin, Tim, Rich Fritzson and Dave Matuzsek, ``Adding Forward Chaining and Truth Maintenance to Prolog'', IEEE Artificial Intelligence Applications Conference, (pp. 123 - 130), Miami, March 1989. >I'd like to use such a technique for a real-time application so it has >to be relatively fast--- any comments you can provide on suitability of >Prolog for real-time environments (Prolog alone or Prolog in conjuction >with C) will be of considerable interest. To achieve high efficiency, you might consider a hybrid system using a fast production system like CLIPS, if what you want to do is have data-driven rules which are triggered by input data which are streaming into Prolog. You could have the same data stream into a system implemented in CLIPS and have the CLIPS output piped into the Prolog as a stream of queries. Tim +----------------------------------------------------------------------+ | Tim Finin finin@prc.unisys.com | | Center for Advanced Information Technology 215-648-2840, -2288(fax) | | Unisys, PO Box 517, Paoli, PA 19301 USA 215-386-1749 (home) |