RE: JESS: Help on Jess under the hood! :) ..

2003-11-26 Thread James Owen








Not to be a nit-picker, but the Ph.D. dissertation was 1979. The 1982 reference is a four-pager in AI
magazine that had, basically, the same title.
Since then, to my knowledge, Dr. Forgy has not published anything on the
subject of the Rete algorithm.





SDG

jco







-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Dusan Sormaz
Sent: Wednesday, November 05, 2003 6:40 PM
To: [EMAIL PROTECTED]
Subject: Re: JESS: Help on Jess
under the hood! :) ..



Mechanism for saving patterns and matchings is rete network.
Done by Charels Forgy in his dissertation (1982-3).
Good explanation in JIA book, chapter 8.

Dusan Sormaz

At 05:56 PM 11/5/2003 -0600, you wrote:




Hi everybody ...

Let assume the following rule base rb, function save, and working
memory wm:

rb = {
 (defrule r1
 (foo ?x ?y)
 (bar ?y ?z)
 =
 (save ?x ?y ?z))
}

wm = {(foo p q), (bar q w), (bar q t)}.

Now, it is easy to see that the first and second facts in wm, (foo p q)
(bar q w), filter all the way down to the bottom of the rete network,
associated to this example, and then become a new activation record. In other
words when rule r1 fires, then the tuple {p,q,w} is going to be saved. Right
... based on the current example:

Q1. What kind of data structure Jess uses for partially storing the facts
(foo p q) (bar q w) activating r1?
Q2. Given that the facts (foo p q) (bar q t) activate r1 as well,
which Jess' method (class) is in charge of iterating over the working
memory for finding more facts, like (bar q t), that activate r1 as well?
Q3. How, tecnically speaking, Jess manages for not testing again facts
which were already used for activating a rule?

Q4. By looking at this example one can see that the fact (foo p q) is in some
sense partially kept in Jess' mind in order to test facts like (bar q w)
and (bar q t) which can activate rule r1. Therefore my question is which
strategy, tecnically speaking, is implemented in Jess for partially keeping in
mind facts such as (foo p q) in order to test complementary facts such as (bar
q w), (bar q t) that could potencially activate a given rule?

Finally, regarding Q4 I know that the overall proccess can be explained via a
forward chaining. Nevertheless, how Jess under the hood deals with this issues?

thank you
Jose Antonio


To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]


***
* Duan ormaz, PhD, Associate
Professor

* Ohio University
* Industrial and Manufacturing Systems Engineering Department
* 277 Stocker Center, Athens, OH 45701-2979
* phone: (740) 593-1545 
* fax: (740) 593-0778 
* e-mail: [EMAIL PROTECTED] 
* url: http://www.ent.ohiou.edu/~sormaz

***









Re: JESS: Help on Jess under the hood! :) ..

2003-11-05 Thread ejfried
I think =?ISO-8859-1?Q?Antonio_Avi=F1a?= wrote:
 

First, let me suggest you read chapter 8 of the manual or
(coincidentally) the chapter with the same number in Jess in Action,
because they answer all these questions. The rest of the manual (and
especially of the book) contains lots more information about how Jess
works. 

 Q1.  What kind of data structure Jess uses for partially storing the 
 facts (foo p q) (bar q w) activating r1?

The jess.Token class; this is why when you do a query, you get back
Tokens, and why the Strategy interface deals in Tokens, etc. The
jess.Activation class associates a Token and a Defrule activated by
it. 

 Q2. Given that the facts  (foo p q) (bar q t) activate r1 as well, 
 which  Jess' method (class) is in charge of iterating over the working 
 memory for finding more facts, like (bar q t),  that activate r1 as well?

Nothing ever iterates over all of working memory. Jess uses the Rete
algorithm, as described in the above-mentioned references.

 Q3. How, tecnically speaking,  Jess manages for not testing again facts 
 which were already used for activating a rule?

Ch. 8, Op Cit.

 
 Q4. By looking at this example one can see that the fact (foo p q) is in 
 some sense partially kept in Jess' mind  in order to test facts like 
 (bar q w) and (bar q t) which can activate rule r1. Therefore my 
 question is which strategy, tecnically speaking, is implemented in Jess 
 for partially keeping in mind facts such as (foo p q) in order to test 
 complementary facts such as (bar q w), (bar q t)  that could potencially 
 activate a given rule?

Ibid.

 
 Finally, regarding Q4 I know that the overall proccess can be explained 
 via a forward chaining. Nevertheless, how Jess under the hood deals with 
 this issues?

Forward chaining has nothing to do with pattern-matching, so I don't
understand this last question. Anyway, go read the manual.


-
Ernest Friedman-Hill  
Science and Engineering PSEsPhone: (925) 294-2154
Sandia National LabsFAX:   (925) 294-2234
PO Box 969, MS 9012 [EMAIL PROTECTED]
Livermore, CA 94550 http://herzberg.ca.sandia.gov


To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]




Re: JESS: Help on Jess under the hood! :) ..

2003-11-05 Thread Dusan Sormaz


Mechanism for saving patterns and matchings is rete network. Done by
Charels Forgy in his dissertation (1982-3).
Good explanation in JIA book, chapter 8.
Dusan Sormaz
At 05:56 PM 11/5/2003 -0600, you wrote:
Hi everybody ...
Let assume the following rule base rb, function save, and
working memory wm:
rb = {
 (defrule r1
 (foo ?x ?y)
 (bar ?y ?z)
 =
 (save ?x ?y ?z))
}
wm = {(foo p q), (bar q w), (bar q t)}.
Now, it is easy to see that the first and second facts in wm, (foo
p q) (bar q w), filter all the way down to the bottom of the rete
network, associated to this example, and then become a new activation
record. In other words when rule r1 fires, then the tuple {p,q,w} is
going to be saved. Right ... based on the current example:
Q1. What kind of data structure Jess uses for partially storing the
facts (foo p q) (bar q w) activating r1?
Q2. Given that the facts (foo p q) (bar q t) activate r1 as well,
which Jess' method (class) is in charge of iterating over the
working memory for finding more facts, like (bar q t), that
activate r1 as well?
Q3. How, tecnically speaking, Jess manages for not testing again
facts which were already used for activating a rule?
Q4. By looking at this example one can see that the fact (foo p q) is in
some sense partially kept in Jess' mind in order to test facts like
(bar q w) and (bar q t) which can activate rule r1. Therefore my question
is which strategy, tecnically speaking, is implemented in Jess for
partially keeping in mind facts such as (foo p q) in order to test
complementary facts such as (bar q w), (bar q t) that could
potencially activate a given rule?
Finally, regarding Q4 I know that the overall proccess can be explained
via a forward chaining. Nevertheless, how Jess under the hood deals with
this issues?
thank you
Jose Antonio

To unsubscribe, send the words 'unsubscribe jess-users
[EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify
[EMAIL PROTECTED]



***
* Dušan Šormaz, PhD, Associate
Professor

* Ohio University
* Industrial and Manufacturing Systems Engineering Department
* 277 Stocker Center, Athens, OH 45701-2979
* phone: (740) 593-1545 
* fax: (740) 593-0778 
* e-mail: [EMAIL PROTECTED] 
* url:
http://www.ent.ohiou.edu/~sormaz

*** 



Re: JESS: Help on Jess under the hood! :) ..

2003-11-05 Thread Dusan Sormaz


Let me make acomment on Rete network.
Though, algorithm is rather old, 20 years, not many books gave examples
and graphs of the network. Few exceptions are:
Brownston at all, Programming Expert Systems in OPS5, Addison, 1985
Russel, Norvig, AIMA, Prentice, 1995
Freidman, JIA, Manning, 2003
Dusan Sormaz
At 04:15 PM 11/5/2003 -0800, you wrote:
I think
=?ISO-8859-1?Q?Antonio_Avi=F1a?= wrote:
 
First, let me suggest you read chapter 8 of the manual or
(coincidentally) the chapter with the same number in Jess in
Action,
because they answer all these questions. The rest of the manual 
(and
especially of the book) contains lots more information about how
Jess
works. 

[.. rest omitted ...]

***
* Dušan Šormaz, PhD, Associate
Professor

* Ohio University
* Industrial and Manufacturing Systems Engineering Department
* 277 Stocker Center, Athens, OH 45701-2979
* phone: (740) 593-1545 
* fax: (740) 593-0778 
* e-mail: [EMAIL PROTECTED] 
* url:
http://www.ent.ohiou.edu/~sormaz

*** 



RE: JESS: Help on Jess under the hood! :) ..

2003-11-05 Thread Alan Moore
For a graphical view of a modern Rete network try:

(load-package jess.ViewFunctions)
(view)

alan

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of Dusan Sormaz
Sent: Wednesday, November 05, 2003 4:50 PM
To: [EMAIL PROTECTED]
Subject: Re: JESS: Help on Jess under the hood! :) ..


Let me make acomment on Rete network.

Though, algorithm is rather old, 20 years, not many books gave examples and
graphs of the network. Few exceptions are:
Brownston at all, Programming Expert Systems in OPS5, Addison, 1985
Russel, Norvig, AIMA, Prentice, 1995
Freidman, JIA, Manning, 2003

Dusan Sormaz

At 04:15 PM 11/5/2003 -0800, you wrote:

I think =?ISO-8859-1?Q?Antonio_Avi=F1a?= wrote:
 

First, let me suggest you read chapter 8 of the manual or
(coincidentally) the chapter with the same number in Jess in Action,
because they answer all these questions. The rest of the manual (and
especially of the book) contains lots more information about how Jess
works. 


[.. rest omitted ...]


***
* Dusan Sormaz, PhD, Associate Professor  
* Ohio University
* Industrial and Manufacturing Systems Engineering Department
* 277 Stocker Center, Athens, OH 45701-2979
* phone: (740) 593-1545 
* fax:   (740) 593-0778  
* e-mail: [EMAIL PROTECTED] 
* url: http://www.ent.ohiou.edu/~sormaz 
*** 


To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]