Fuzzy Control Language
Fuzzy Control Language , eller FCL , är ett språk för att implementera fuzzy logic , speciellt fuzzy control . Den standardiserades av IEC 61131-7. Det är ett domänspecifikt programmeringsspråk : det har inga funktioner som inte är relaterade till luddig logik, så det är omöjligt att ens skriva ut " Hej, värld! ". Därför skriver man inte ett program i FCL, utan man kan skriva en del av det i FCL.
Exempel
REGEL 0: OM (temperaturen ÄR kall) DÅ (utgången ÄR låg) REGEL 1: OM (temperaturen ÄR mycket kall) DÅ (utgången ÄR hög)
Begränsningar
FCL är inte ett helt otydligt språk, till exempel stöder det inte "hedges", som är adverb som modifierar uppsättningen. Till exempel kan programmeraren inte skriva:
REGEL 0: Om (Temperaturen är MYCKET KALL) då (Utgången är MYCKET HÖG)
Men programmeraren kan helt enkelt definiera nya uppsättningar för "mycket kallt" och "mycket högt". FCL saknar också stöd för fuzzy set av högre ordning, delmängder och så vidare. Ingen av dessa funktioner är nödvändiga för suddig kontroll, även om de kan vara bra att ha.
externa länkar
- fuzzyTECH , ett kommersiellt utvecklingssystem för fuzzy logic som innehåller specifikationsdokumentet för IEC1131-7 (välj Fuzzy Application Library)
- IEC 1131-7 CD1 Arkiverad 2021-03-04 på Wayback Machine IEC 1131-7 CD1 PDF
- fuzzylite , Ett fuzzy logic controller-bibliotek skrivet i C++.
- Gratis Fuzzy Logic Library (FFLL) , ett implementeringsbibliotek skrivet i C++.
- JFuzzyLogic , öppen källkod FCL + Fuzzy Logic Package (sourceforge, java)
- AwiFuzz , implementering med öppen källkod skriven i C++ som täcker alla tre nivåerna av IEC 61131-7 Fuzzy Controller Language IEC 1131-7 CD1
- pyfuzzy , implementering med öppen källkod skriven i python.