Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.ai.fuzzy    |    Fuzzy logic... all warm and fuzzy-like    |    1,275 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 529 of 1,275    |
|    Dmitry A. Kazakov to Ernst Murnleitner    |
|    Re: Is FFLL still alive?    |
|    19 Dec 05 10:28:19    |
      From: mailbox@dmitry-kazakov.de              On Mon, 19 Dec 2005 00:59:35 +0100, Ernst Murnleitner wrote:              >> What do you mean under nested rules?       >       > I meant cascaded rule bases. The output of one rule base should be used       > as input for the next without need of defuzzyfication.              I see. I can imagine three ways to handle it.              1. To introduce an intermediate variable, which is neither input nor       output. (It would be no problem to introduce a new type of variable block.)       But this would open a can of worms. The intermediate variables need to be       defined, so rules should be fired in a definitive order. Thus one would       need to introduce rule firing constraints. These constraints need to be       managed, checked etc (what if there is a circle?) I don't like it.              2. Syntactically nested rules. I didn't think this idea through.              3. One rules block can act as an input variable for another. This should       already be possible in my version of FCL. Both fuzzification of the output       and defuzzification of the input need to be turned off. This is easy.              > I am not sure, if       > it is supported. Mabe it is supported in FFLL.              I don't know.              > I didn't have a close look, because last time I missed some things,       > which are part of level 2 of FCL and not included in FFLL, e.g.       >       > OR in the condition              I have it, and XOR too.              > NOT in the (sub)condition              Ditto.              [ My compiler converts conditions into a DNF, it also tries some heuristics       to simplify the expressions. All disjuncts become independent rules. ]              > WITH for weighting rules              Hmm, I think that WITH isn't actually required. The weight just cuts the       conclusion parts. So               if ... then X is A with W              is equivalent to               if ... then X is (A and W)              > I know, I can work around this but it makes the rules less natural.       > Users should be able to use "OR" and "NOT" as they do in the real world.              Sure              >> I have extended FCL for the case of       >> intuitionistic logic. The compiler is ready, but I"m interested in       >> proposals to make the language better.       >       > I had not heard about it before.              Probably because I didn't publish it yet. (:-))              > Could you provide an example?              Function block:               var_input        Distance : real [m];        Angle : real [°];        I : integer 1..20; (* Integer variable range 1..20 *)        Color : nominal (red, blue, white);        T : real [°C];        V : float [°C] 10 range 1..2*10; -- 10 intervals of 1..20        end_var               fuzzify T        term Chill := (-10,1)(-4,0); -- °C is assumed when missing        term Cold := ( 11,1)(17,0) [°C];        term Tepid := ( 3,0)( 8,1)(21,1)(28,0) [°C];        term Warm := ( 15,0)(21,1)(29,1)(35,0) [°C];        term Hot := ( 25,0)(28,1) [°C];        end_fuzzify              Dimensioned variables are supported. Expressions are allowed everywhere a       constant may appear.              I have introduced operations: >, <, <=, =>, =, /=.               if I > 2 and I < 4 ...              is equivalent to               I is (3,1) ... -- (3,1) is a singleton 3              Ranges, sets, intuitionistic sets are allowed. Supporting expressions has       required a lot of predefined types. Anyway the following is legal:               T is 2.5..6.5 [°C] ... -- equivalent to square membership function:        T is (2.5°C,0)(2.5°C,1)(6.5°C,1)(6.5°C,0)              The approach is fully intuitionistic, so (not X) is considered       non-deducible from X. Both can be used in the rules. For example the       following conditions are all different:               X is A        A is X        (not A) is X        (not X) is A              --       Regards,       Dmitry A. Kazakov       http://www.dmitry-kazakov.de              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca