Язык нечеткого управления
Язык нечеткого управления , или FCL , — это язык для реализации нечеткой логики , особенно нечеткого управления . Он был стандартизирован IEC 61131-7. Это предметно-ориентированный язык программирования : в нем нет особенностей, не связанных с нечеткой логикой, поэтому невозможно даже напечатать « Hello, world! ». Следовательно, программу на FCL не пишут, но можно написать часть ее на FCL.
Пример
[ редактировать ]RULE 0: IF (temperature IS cold) THEN (output IS low) RULE 1: IF (temperature IS very cold) THEN (output IS high)
Ограничения
[ редактировать ]FCL не является полностью полным нечетким языком, например, он не поддерживает «хеджирование», то есть наречия, изменяющие набор. Например, программист не может написать:
ПРАВИЛО 0: Если (Температура ОЧЕНЬ ХОЛОДНАЯ), то (Выходной сигнал ОЧЕНЬ ВЫСОКИЙ)
Однако программист может просто определить новые наборы для «очень холодных» и «очень высоких». В FCL также отсутствует поддержка нечетких множеств, подмножеств и т. д. более высокого порядка. Ни одна из этих функций не является существенной для нечеткого управления, хотя их наличие может быть полезно.
Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]- fuzzyTECH , коммерческая система разработки нечеткой логики, содержащая документ спецификации для IEC1131-7 (выберите библиотеку нечетких приложений)
- IEC 1131-7 CD1. Архивировано 4 марта 2021 г. на Wayback Machine. IEC 1131-7 CD1 PDF.
- fuzzylite — библиотека контроллера нечеткой логики, написанная на C++.
- Бесплатная библиотека нечеткой логики (FFLL) — библиотека реализации, написанная на C++.
- JFuzzyLogic , FCL с открытым исходным кодом + пакет Fuzzy Logic (sourceforge, Java)
- AwiFuzz , реализация с открытым исходным кодом, написанная на C++, охватывающая все три уровня языка нечетких контроллеров IEC 61131-7.
- pyfuzzy , реализация с открытым исходным кодом, написанная на Python.