Esempio n. 1
0
         fl.Sigmoid("c", 0.830, 30.000)
     ]
 ),
 fl.OutputVariable(
     name="ZSShapes",
     description="",
     enabled=True,
     minimum=0.000,
     maximum=1.000,
     lock_range=False,
     aggregation=None,
     defuzzifier=fl.WeightedAverage("Automatic"),
     lock_previous=False,
     terms=[
         fl.ZShape("b", 0.300, 0.600),
         fl.SShape("a", 0.000, 0.250),
         fl.SShape("c", 0.700, 1.000)
     ]
 ),
 fl.OutputVariable(
     name="Concaves",
     description="",
     enabled=True,
     minimum=0.000,
     maximum=1.000,
     lock_range=False,
     aggregation=None,
     defuzzifier=fl.WeightedAverage("Automatic"),
     lock_previous=False,
     terms=[
         fl.Concave("b", 0.500, 0.400),
Esempio n. 2
0
import fuzzylite as fl

engine = fl.Engine(name="sltbu_fl", description="")
engine.input_variables = [
    fl.InputVariable(name="distance",
                     description="",
                     enabled=True,
                     minimum=0.000,
                     maximum=25.000,
                     lock_range=False,
                     terms=[
                         fl.ZShape("near", 1.000, 2.000),
                         fl.SShape("far", 1.000, 2.000)
                     ]),
    fl.InputVariable(name="control1",
                     description="",
                     enabled=True,
                     minimum=-0.785,
                     maximum=0.785,
                     lock_range=False),
    fl.InputVariable(name="control2",
                     description="",
                     enabled=True,
                     minimum=-0.785,
                     maximum=0.785,
                     lock_range=False)
]
engine.output_variables = [
    fl.OutputVariable(name="control",
                      description="",
                      enabled=True,
Esempio n. 3
0
    )
]
engine.output_variables = [
    fl.OutputVariable(
        name="steer",
        description="direction to steer the vehicle to",
        enabled=True,
        minimum=0.000000000,
        maximum=1.000000000,
        lock_range=False,
        aggregation=fl.Maximum(),
        defuzzifier=fl.Centroid(100),
        lock_previous=False,
        terms=[
            fl.ZShape("left", 0.000000000, 1.000000000),
            fl.SShape("right", 0.000000000, 1.000000000)
        ]
    )
]
engine.rule_blocks = [
    fl.RuleBlock(
        name="steer_away",
        description="steer away from obstacles",
        enabled=True,
        conjunction=None,
        disjunction=None,
        implication=fl.Minimum(),
        activation=fl.General(),
        rules=[
            fl.Rule.create("if obstacle is left then steer is right", engine),
            fl.Rule.create("if obstacle is right then steer is left", engine)
Esempio n. 4
0
                     enabled=True,
                     minimum=0.500,
                     maximum=1.500,
                     lock_range=False,
                     terms=[
                         fl.ZShape("mf1", 0.500, 0.600),
                         fl.PiShape("mf2", 0.500, 0.600, 0.600, 0.700),
                         fl.PiShape("mf3", 0.600, 0.700, 0.700, 0.800),
                         fl.PiShape("mf4", 0.700, 0.800, 0.800, 0.900),
                         fl.PiShape("mf5", 0.800, 0.900, 0.900, 1.000),
                         fl.PiShape("mf6", 0.900, 1.000, 1.000, 1.100),
                         fl.PiShape("mf7", 1.000, 1.100, 1.100, 1.200),
                         fl.PiShape("mf8", 1.100, 1.200, 1.200, 1.300),
                         fl.PiShape("mf9", 1.200, 1.300, 1.300, 1.400),
                         fl.PiShape("mf10", 1.300, 1.400, 1.400, 1.500),
                         fl.SShape("mf11", 1.400, 1.500)
                     ])
]
engine.output_variables = [
    fl.OutputVariable(
        name="out",
        description="",
        enabled=True,
        minimum=-10.000,
        maximum=10.000,
        lock_range=False,
        aggregation=None,
        defuzzifier=fl.WeightedAverage("TakagiSugeno"),
        lock_previous=False,
        terms=[
            fl.Linear("outmf1", [
Esempio n. 5
0
                         fl.Discrete("H", [
                             2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750,
                             1.000, 3.000, 0.000
                         ]),
                         fl.Gaussian("I", 3.000, 0.200),
                         fl.Cosine("J", 3.250, 0.650),
                         fl.GaussianProduct("K", 3.500, 0.100, 3.300, 0.300),
                         fl.Spike("L", 3.640, 1.040),
                         fl.Bell("M", 4.000, 0.250, 3.000),
                         fl.PiShape("N", 4.000, 4.500, 4.500, 5.000),
                         fl.Concave("O", 5.650, 6.250),
                         fl.SigmoidDifference("P", 4.750, 10.000, 30.000,
                                              5.250),
                         fl.SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750),
                         fl.Ramp("R", 5.500, 6.500),
                         fl.SShape("S", 5.500, 6.500),
                         fl.Sigmoid("T", 6.000, 20.000)
                     ])
]
engine.output_variables = [
    fl.OutputVariable(name="AllOutputTerms",
                      description="",
                      enabled=True,
                      minimum=0.000,
                      maximum=6.500,
                      lock_range=False,
                      aggregation=fl.Maximum(),
                      defuzzifier=fl.Centroid(200),
                      lock_previous=False,
                      terms=[
                          fl.Sigmoid("A", 0.500, -20.000),
import fuzzylite as fl

engine = fl.Engine(name="investment_portfolio", description="")
engine.input_variables = [
    fl.InputVariable(name="Age",
                     description="",
                     enabled=True,
                     minimum=20.000,
                     maximum=100.000,
                     lock_range=False,
                     terms=[
                         fl.ZShape("Young", 30.000, 90.000),
                         fl.SShape("Old", 30.000, 90.000)
                     ]),
    fl.InputVariable(name="RiskTolerance",
                     description="",
                     enabled=True,
                     minimum=0.000,
                     maximum=10.000,
                     lock_range=False,
                     terms=[
                         fl.ZShape("Low", 2.000, 8.000),
                         fl.SShape("High", 2.000, 8.000)
                     ])
]
engine.output_variables = [
    fl.OutputVariable(name="PercentageInStocks",
                      description="",
                      enabled=True,
                      minimum=0.000,
                      maximum=100.000,