FuzzyLogic.jl

InfoBuild statusDocumentationContributing
versionCI StatusStable docscontributing guidelines
Licese: MITCoverageDev docsSciML Code Style
downloadsPkgEvalgitter-chat

A Julia library for fuzzy inference.

Installation

To install the package, open a Julia session and run

using Pkg; Pkg.add("FuzzyLogic")

the package can then be loaded with

using FuzzyLogic

Features

Quickstart example

fis = @mamfis function tipper(service, food)::tip
    service := begin
      domain = 0:10
      poor = GaussianMF(0.0, 1.5)
      good = GaussianMF(5.0, 1.5)
      excellent = GaussianMF(10.0, 1.5)
    end

    food := begin
      domain = 0:10
      rancid = TrapezoidalMF(-2, 0, 1, 3)
      delicious = TrapezoidalMF(7, 9, 10, 12)
    end

    tip := begin
      domain = 0:30
      cheap = TriangularMF(0, 5, 10)
      average = TriangularMF(10, 15, 20)
      generous = TriangularMF(20, 25, 30)
    end

    service == poor || food == rancid --> tip == cheap
    service == good --> tip == average
    service == excellent || food == delicious --> tip == generous
end

fis(service=1, food=2)