Fuzzy Control Language: Difference between revisions

Content deleted Content added
Wtlo (talk | contribs)
m Capitalization matches second example
Bender the Bot (talk | contribs)
m External links: HTTP to HTTPS for SourceForge
 
(5 intermediate revisions by 4 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 61131-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 ==
 
RULE 0: IfIF (Temperaturetemperature isIS COLDcold) thenTHEN (Outputoutput isIS HIGHlow)
RULE 1: IfIF (Temperaturetemperature isIS MEDIUMvery cold) thenTHEN (Outputoutput isIS LOWhigh)
 
== Limitations ==
Line 10 ⟶ 11:
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)
* [httphttps://sourceforge.net/projects/awifuzz AwiFuzz], open source implementation written in C++ covering all three levels of IEC 61131-7 Fuzzy Controller Language
*[httphttps://pyfuzzy.sourceforge.net/ pyfuzzy], open source implementation written in python.
 
[[Category:Domain-specific programming languages]] IEC 1131-7 CD1
*[http://pyfuzzy.sourceforge.net/ pyfuzzy], open source implementation written in python.
 
[[Category:Fuzzy logic]]
[[Category:Domain-specific programming languages]] IEC 1131-7 CD1
 
 
{{Compu-lang-stub}}