tag:blogger.com,1999:blog-7831813422886730737.post8492074004961991712..comments2023-10-08T10:44:28.524+03:00Comments on Event Processing Thinking: On Forward and Backward CEPOpher Etzionhttp://www.blogger.com/profile/10791357917675270335noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-7831813422886730737.post-58432098908033388692008-03-11T17:03:00.000+02:002008-03-11T17:03:00.000+02:00Hello Paul. The forward and backward chaining (AK...Hello Paul. The forward and backward chaining (AKA - top-down vs. bottom-up in deductive databases) are indeed quite old. While "agent" is a kind of implementation, the "pattern" is a declerative specification - and the goal can be stated as: find events that match the pattern, similar to the "prove that a certain assertion is true" (and in the way substitute the variables in constants). The difference is that in event processing -- under "pattern detection" the pattern is predetermined -- unlike pattern mining, in which it is not. I'll make specific posting about it soon.<BR/><BR/>cheers,<BR/><BR/>OpherOpher Etzionhttps://www.blogger.com/profile/17070103285719046013noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-17538494689008685972008-03-11T16:08:00.000+02:002008-03-11T16:08:00.000+02:00Interesting perspective! The key distinction betw...Interesting perspective! The key distinction between foward and backward "chaining" (rather than "processing") in AI is the latter requires goals while the latter is more reactive and may be implemented in a data-driven manner without regard to goals.<BR/><BR/>In CEP, one would want goals not to be transient within the processing of a single event, as they are in Prolog, but persistent and declaratively represented. <BR/><BR/>At the request of the Drools team, I posted an IJCAI-87 paper today that discusses precisely this issue. Perhaps they are working on it? Do you think Drools could make a good CEP tool?Unknownhttps://www.blogger.com/profile/08698607666213142654noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-22485896225096155642008-03-11T16:01:00.000+02:002008-03-11T16:01:00.000+02:00Interesting perspective. In general AI parlance b...Interesting perspective. In general AI parlance backward chaining involves trying to find a path "backwards" from goals to the current state (rather than trying to find a path forward from the current state that achieves goals). By representing goals declaratively, they can persist over a longer period of time and support some of what you are talking about. This is distinct from most implementations, such as Prolog, in which goals are transient. Such goals would evaporate within the processing of only a single event and could not affect events over time! If you're interested, I just put up a paper on this from IJCAI-87 at request of the Drools team. Perhaps they will be implementing something along these lines?Unknownhttps://www.blogger.com/profile/08698607666213142654noreply@blogger.com