Subject: | Problems with implication when the same output set is used for more than one rule |
Distribution: AI-FuzzyInference-0.04
Perl version: 5.6.1
OS: SunOS 5.9 Generic_118558-21 sun4u sparc SUNW,Sun-Fire-880
I have observed that when the same output fuzzy set is used for two
different rules, the current implication method will overwrite one of this
results, in case both rules are fired. For instance, in the example:
'service=excellent & food=poor' => 'tip=good',
'service=amazing & food=poor' => 'tip=good',
The problem appears in private method _implicate(): when a new set under
the name "$var:$ts:implicated" is added, previous values for this set
are overwritten in the hash table.
This problem can be easily overcome by using different labels for each
instance of the output set: i.e. 'good1','good2', and so on.