Язык нечеткого управления - Fuzzy Control Language

Язык нечеткого управления, или же FCL, это язык для реализации нечеткая логика, особенно нечеткое управление. Он был стандартизирован IEC 61131-7. Это предметно-ориентированный язык программирования: в нем нет функций, не связанных с нечеткой логикой, поэтому невозможно даже распечатать "Привет, мир! ". Следовательно, программу на FCL не пишут, но можно написать часть его в FCL.

Пример

ПРАВИЛО 0: ЕСЛИ (температура низкая) ТО (выходная мощность низкая) ПРАВИЛО 1: ЕСЛИ (температура очень низкая) ТО (выходная мощность высокая)

Ограничения

FCL не является полностью законченным нечетким языком, например, он не поддерживает «изгороди», которые представляют собой наречия, изменяющие набор. Например, программист не может написать:

ПРАВИЛО 0: Если (Температура ОЧЕНЬ ХОЛОДНАЯ), то (Выход ОЧЕНЬ ВЫСОКИЙ)

Однако программист может просто определить новые наборы для «очень холодного» и «очень высокого». FCL также не поддерживает нечеткие наборы, подмножества и т. Д. Более высокого порядка. Ни одна из этих функций не является существенной для нечеткого управления, хотя они могут быть полезны.

внешняя ссылка

  • fuzzyTECH, коммерческая система разработки нечеткой логики, содержащая документ спецификации для IEC1131-7 (выберите Fuzzy Application Library)
  • IEC 1131-7 CD1 IEC 1131-7 CD1 PDF
  • фуззилит, Библиотека контроллеров нечеткой логики, написанная на C ++.
  • Бесплатная библиотека нечеткой логики (FFLL), библиотека реализации, написанная на C ++.
  • JFuzzyLogic, открытый исходный код FCL + Fuzzy Logic Package (sourceforge, java)
  • AwiFuzz, реализация с открытым исходным кодом, написанная на C ++, охватывающая все три уровня языка нечетких контроллеров IEC 61131-7 IEC 1131-7 CD1
  • пухлый, реализация с открытым исходным кодом, написанная на Python.