Stap 2: Korte op fuzzy logic
Voor het begin heb ik om iets te schrijven over fuzzy logica.
Variabelen in digitale (booleaanse) logica kunnen waarheid of FALSE of "1" en "0" respectievelijk. Dus er slechts twee waarden zijn: in het gebied (comfortabele) of buiten een bepaald gebied (ongemakkelijk). Dus kan oplossing voor ons probleem met digitale logica voorzien ons alleen grens waarden. Maar wat als we een waarde tussen 1 en 0 kon bereiken? Ja mijn vrienden, vage logica kan enkel dat doen!
Er zijn drie stadia in de fuzzy logic: fuzzification, voorspelling en defuzzification. Ten eerste iets over fuzzification. Fuzzification is het proces waarmee we aansluiting van invoervariabele op een bepaalde fuzzy volk of lidmaatschap functie berekenen. Er kunnen vele verschillende vormen van lidmaatschapfuncties: trapeze, driehoek, Gauss,... In de voorspelling fase gebruiken we vooraf bepaald aantal regels (die zijn ingesteld door de ontwerper) om te voorspellen wat de output kan worden of welke lidmaatschap functie uitgangsniveau variabele affiliate whit wat. Deze cijfers worden niet gebruikt als ze zit. In de derde fase, defuzzification, kunnen we combineren alle niveaus van aansluiting bij slechts één waarde. Dit proces heet ook verscherping van de output waarde. Één output waarde kan vervolgens worden gebruikt in de verdere verwerking. Meer over fuzzy logic.
Voorspellingen is wat maakt fuzzy logic zeer nuttig als wiskundige verbindingen tussen variabelen numeriek of algebraïsch kunnen worden vastgesteld. Er zijn verschillende vage systemen beschikbaar voor ons om te gebruiken:
- Mamdani systeem (taalkundige uitvoer variabelen, defuzzification kunnen complex)
- Sugeno systeem (uitgang variabelen zijn functies of singleton/constant, meer geschikt voor de uitvoering van op microcontrollers)