Just a couple of comments on Marco's expectations of CLIPS and Jess.
(inserted below)

Marco Colombetti wrote:

> Dear Ernest,
>
> >The term 'pseudo time tags' is rather confusing ...
>
> The term is used in the CLIPS documentation, but I agree with you.
>
> >Reference the following rule:
> >
> >(defrule foo-2
> >        (A ?X)
> >        (not (B ?X))
> >        =>)
> >
> >Now assume that (A 1) is asserted. The (A AND (NOT B)) test succeeds,
> >so foo-2 becomes activated. Now supose that before foo-2 fires, (B 1)
> >is asserted. (A AND (NOT B)), which was true, is now false, so an "(A
> >AND (NOT B)) is no longer true" message is sent to foo-2, which is
> >thus deactivated. Now suppose (B 1) is retracted again. An "(A AND (NOT
> >B)) is true" message goes to foo-2, which is activated.
>
> Now I understand the mechanism and how it depends on the implementation,
> thank you.
>
> However, as a "rule programmer" I am not satisfied with it. My
> understanding of the principle of refractoriness (or my desires about it)
> is that no activation identical to one which has already been executed
> should enter the agenda. By "identical activations" I mean activations
> which are described by the same rule name and the same fact-address list.
> Here is where "pseudo tags" come in: conceptually the two activations of
> foo-2 corresponding to the SAME fact (A 1) differ only in terms of a
> "pseudo tag" corresponding to the absence of a fact (B 1) (the comma at the
> end of the fact-address list suggests there is something more which cannot
> be displayed ...)
>

In many (perhaps most?) cases the behaviour of Jess is exactly what you
want to happen. In an application a situation may occur many times
and each time you want to take some action to deal with it ... eg. apply
the brakes on an automobile. The fact that the rule was activated before
for the same situation (fact (A 1) and no fact (B 1)) should not stop
the rule from firing. The rule based approach does require a different
way of thinking about a problem than does a procedural, OOP or prolog
solution. Trying to force a rule based system to perform like prolog
may be useful for the problem at hand but expecting the rule based system
to modify its behaviour to accomplish that would perhaps be expecting
too much. There actually is no 'pseudo tag' in CLIPS (or in Jess I expect).
The CLIPS docs are liklely using this to help the user to understand
the concepts.

... now of course I could be entirely wrong about all this, in which case
I'm sure someone will let me know.

Cheers, Bob.
begin:          vcard
fn:             Bob Orchard
n:              Orchard;Bob
org:            National Research Council of Canada
adr:            Institute for Information Technology;;Montreal Road, Building M-50;Ottawa;ON;K1A 0R6;Canada
email;internet: [EMAIL PROTECTED]
title:          Research Officer
tel;work:       613-993-8557
tel;fax:        613-952-7151
x-mozilla-cpt:  ;0
x-mozilla-html: TRUE
version:        2.1
end:            vcard

Reply via email to