home Forums # Technical Support handling sets for inputs

This topic contains 1 reply, has 2 voices, and was last updated by Juan Rada-Vilela Juan Rada-Vilela 2 years, 11 months ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #976

    jbc
    Participant

    I am very new to fuzzy logic and fuzzylite but I started playing around with the library and found it very useful. One question i had was how to include sets, so for example, instead of:

    RuleBlock *ruleblock = new RuleBlock;
    ruleblock->addRule( FuzzyRule::parse(“if Ambient is DARK then Power is HIGH”,engine));
    ruleblock->addRule( FuzzyRule::parse(“if Ambient is MEDIUM then Power is MEDIUM”,engine));
    ruleblock->addRule( FuzzyRule::parse(“if Ambient is BRIGHT then Power is LOW”,engine) );

    Would it be possible to have a RuleBlock, and then parsed where:

    ruleBlock->addRule( FuzzyRule::parse(“if keyword is in SET_1 then Liklihood is MODERATE”,engine));
    ruleBlock->addRule( FuzzyRule::parse(“if keyword is in SET_2 then Liklihood is HIGH”,engine));

    Where SET_1 is group of strings?

    Or something similar, the exact phrasing isn’t that important but the general goal of testing how to bound value sets is what I’m interested in.

    #977
    Juan Rada-Vilela
    Juan Rada-Vilela
    Keymaster

    Hi,

    given SET_1 = {LOW, MEDIUM, HIGH}, where each item is a membership function, you are looking for rules stated as:

    if keyword is LOW or keyword is MEDIUM then Likelihood is MODERATE.

    You group propositions utilizing the or connector, and you will need to set an S-Norm as a disjunction operator to handle the propositions in the antecedent linked with or.

    Cheers.

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.