From: mailbox@dmitry-kazakov.de   
      
   On 6 Jun 2004 20:53:11 GMT, Gioele Barabucci    
   wrote:   
      
   >Il Sun, 06 Jun 2004 21:51:58 +0200, Dmitry A. Kazakov scriveva:   
   >>> I need some help understanding (basic) rule evaluation.   
   >>>   
   >>> I read two book and the FAQ of the NG, but still I can't fully   
   >>> understand how rules are evaluated.   
   >> 1) is called activation, 2) is aggregation. As for concrete operations used   
   >> there, I am afraid you will get as many answers as you might wish. (:-))   
   >I hope :)   
   >   
   >> 1. The meaning of the membership function   
   >I've got this.   
   >   
   >> 3. The meaning of logical values   
   >I've got this.   
   >   
   >> 2. The meaning of the operation "==", when x is not a crisp singleton   
   >I've got this.   
   >   
   >> 3. The meaning of => (implication) and modus ponens rule (there are tons of   
   >> variants here.   
   >I miss this! Every doc I read, every book I looked in, even the FAQ, do   
   >some magic when it comes to rule activation.   
      
   Technically you define A=>B and then solve (A=>B)=1 equation.   
   For example, in Boolean logic: (A=>B)=(~AVB)=1. And the equation is   
   solved as follows: if A=1 then B=1, else B is any. [ Note that when   
   rules have "weights", then this is how those might come into the play:   
   (A=>B)=Rule_weight.]   
      
   [ In activation there is no magic. B=(y=MORE). You have said that you   
   have defined == (:-)). Usually y=MOREactually means "y includes MORE".   
   This is why activation touches only MORE in y and no other parts.   
   Observe that when MORE, EQUAL and LESS intersect, then accumulation   
   will show it later.]   
      
   >OK, in IF A(x) THEN B(y) if A(x) is .3 then also B(y) is .3 . So I think   
   >B(y) becomes the B-set cut at .3... Am I wrong?   
   >Is it all that simple? (say yes, say yes :))   
      
   If you try to do something like above in a logic based on [0,1]   
   values, you will soon run into problems, because the difference   
   between 1 and 0 becomes blurry. So when you say that B=A (alpha-cut),   
   then it is an equivalence <=>, not implication =>. And if A=0, then   
   B=0, nonsense. You need something more fine here. To express shades of   
   known-unknown in addition to true-false. For example, in   
   intuitionistic logic it is less problematic because it is capable to   
   express "unknown". So you could define modus ponens as:   
      
   (Pos(B), Nec(B)) = (1, Nec(A))   
      
   That is my explanation of what William Siler does in his system,   
   however he might disagree. (:-))   
      
   --   
   Regards,   
   Dmitry Kazakov   
   www.dmitry-kazakov.de   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|