Документация Engee

FuzzyLogic.jl

Библиотека Julia для нечеткой логики и приложений.

Если вы используете ее в своих исследованиях, пожалуйста, ссылайтесь на нее следующим образом:

@INPROCEEDINGS{ferranti2023fuzzylogicjl,
  author={Ferranti, Luca and Boutellier, Jani},
  booktitle={2023 IEEE International Conference on Fuzzy Systems (FUZZ)},
  title={FuzzyLogic.jl: A Flexible Library for Efficient and Productive Fuzzy Inference},
  year={2023},
  pages={1-5},
  doi={10.1109/FUZZ52849.2023.10309777}}

Возможности

  • Широкая функциональность! Доступны системы вывода Мамдани и Сугено 1-го и 2-го типов, несколько функций принадлежности и параметры алгоритмов.

  • Совместимость! Считывайте модели из файлов IEC 61131-7 Fuzzy Control Language, IEEE 1855-2016 Fuzzy Markup Language и Matlab Fuzzy toolbox .fis.

  • Выразительность! Четкий предметно-ориентированный язык для написания модели в виде понятного пользователю кода Julia.

  • Производительность! Несколько инструментов визуализации для отладки и настройки модели.

  • Переносимость! Компилируйте конечную модель в код Julia.

Пример быстрого начала работы

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)

Авторское право

  • Copyright (c) 2022 Luca Ferranti, выпущено по лицензии MIT.