Fuzzy Control Language: Difference between revisions

Content deleted Content added
Owl-syme (talk | contribs)
Bender the Bot (talk | contribs)
m External links: HTTP to HTTPS for SourceForge
 
(20 intermediate revisions by 16 users not shown)
Line 1:
{{unref |date=April 2024}}
'''Fuzzy Control Language''', or '''FCL''', is a language for implementing [[fuzzy logic]], especially [[fuzzy control]]. It was standardized by IEC 113161131-7. It is a [[___domain-specific programming language]]: it has no features unrelated to fuzzy logic, so it is impossible to even print "[[Hello world program|Hello, world!]]". Therefore, one does not write a program in FCL, but one may write ''part'' of it in FCL.
 
== Example ==
FCL allows the programmer to specify [[fuzzy set]]s, which are lists of points on a graph, as well as IF-THEN rules, for example:
 
RULE 0: IF (Temperaturetemperature IS Coldcold) THEN (Outputoutput IS Highlow)
RULE 1: IF (temperature IS very cold) THEN (output IS high)
 
== Limitations ==
 
FCL is not an entirely complete fuzzy language, for instance, it does not support "hedges", which are adverbs that modify the set. For instance, the programmer cannot write:
 
RULE 0: IFIf (Temperature ISis VERY ColdCOLD) THENthen (Output ISis VERY HighHIGH)
 
However, the programmer can simply define new sets for "very cold" and "very high". FCL also lacks support for higher-order fuzzy sets, subsets, and so on. None of these features are essential to fuzzy control, although they may be nice to have.
 
 
==References==
{{reflist}}
 
==External links==
* [http://www.fuzzytech.com fuzzyTECH], a commercial fuzzy logic development system containing the specification document for IEC1131-7 (select Fuzzy Application Library)
* [http://www.fuzzytech.com/binaries/ieccd1.pdf IEC 1131-7 CD1] {{Webarchive|url=https://web.archive.org/web/20210304150537/https://www.fuzzytech.com/binaries/ieccd1.pdf |date=2021-03-04 }} IEC 1131-7 CD1 PDF
* [http://code.google.com/p/fuzzylite fuzzylite], A fuzzy logic controller library written in C++.
* [http://ffll.sourceforge.net Free Fuzzy Logic Library (FFLL)], an implementation library written in C++.
* [http://jfuzzylogic.sourceforge.net JFuzzyLogic], open source FCL + Fuzzy Logic Package (sourceforge, java)
* [https://sourceforge.net/projects/awifuzz AwiFuzz], open source implementation written in C++ covering all three levels of IEC 61131-7 Fuzzy Controller Language
*[https://pyfuzzy.sourceforge.net/ pyfuzzy], open source implementation written in python.
 
[[Category:Domain-specific programming languages]]
[[Category:Fuzzy logic]]
[[Category:Domain-specific programming languages]]
 
{{Compu-lang-stub}}
 
{{Compu-lang-stub}}
[[zh:模糊控制語言]]