Predstavte si program simulujúci správanie sa motorového vozidla na vozovke a situáciu, ktorú by pozorovateľ popísal asi takto: „Vozovka prudko stúpa a keďže výkon motora vozidla je malý, tak postupuje pomaly.“ Počítač by mal pravdepodobne veľké problémy porozumieť takémuto popisu; minimálne by požadoval zadať vstupné údaje, že strmosť vozovky je 14 % a výkon motora je 50kW a z výsledku svojej simulácie by odvodil rýchlosť auta 35km/hod., ale nevedel by posúdiť, či je to veľa alebo málo.
Z uvedeného vyplýva, že niekedy by bolo výhodné, aby počítač vedel spracovávať neurčité údaje, aby vedel použiť kvalitatívne pojmy namiesto kvantitatívneho popisu. Rozvoj v tejto oblasti computer science započal profesor Zadeh zavedením teórie fuzzy množín (anglicky fuzzy sets). Pôvodne sa fuzzy množiny (ďalej FM) a fuzzy logika používali pri klasifikácii, v súčasnosti majú svoje pevné miesto aj v riadení. Ich široké využitie je možné v spojení s ďalšími „inteligentnými“ technológiami, ako sú neurónové siete alebo optimalizačné algoritmy.
Logika aj množiny
Formálne sú FM zovšeobecnením klasických množín. Matematicky ide o pomerne dobre preskúmanú a viac-menej uzavretú oblasť. Existujú teoretické dôkazy o fuzzy systéme ako o univerzálnom aproximátore funkcií. Aj v praxi sa dostalo značného využitia najmä fuzzy regulátorom.
Pod pojmom fuzzy množín sa zvyčajne rozumie matematický aparát, ktorý definuje samotný pojem fuzzy množiny a operácie, ktoré možno s fuzzy množinami robiť. Fuzzy logika je širší pojem, ktorý sa používa najmä v súvislosti s využitím teórie FM v praktických aplikáciách. FM sú zovšeobecnením klasických množín. Ak uvažujeme klasické množiny, môžeme pre každý prvok x rozhodnúť, že do množiny A buď patrí (1) alebo nepatrí (0). Príslušnosť prvku x do FM A udáva tzv. hodnota funkcia príslušnosti, ktorá môže nadobúdať hodnoty z intervalu [0;1]. Je potrebné rozlíšiť, že nejde o pravdepodobnosť, s ktorou prvok patrí do FM, ale skôr o silu, s ktorou do nej patrí.
Názorne to možno vidieť na našom obrázku. Majme jeden pojem (tzv. lingvistickú premennú) rýchlosť (speed), ktorú chceme popísať tromi kvalitatívnymi pojmami (tzv. lingvistickými hodnotami): slow, middle a fast. Chceme teda prvok z množiny rýchlostí zaradiť do troch FM, pričom hranice medzi týmito množinami nie sú ostré – preto sú to fuzzy množiny. Každá z týchto FM je definovaná svojou funkciou príslušnosti (ďalej FP), tak ako je znázornené na obrázku. Pre rýchlosť 40km/hod môžeme vidieť, že jej príslušnosť do FM „slow“ je 0,75, príslušnosť do FM „middle“ je 0,25 a príslušnosť do FM „fast“ je 0.
Odkiaľ sa však vzali uvedené definície FP a prečo vyzerajú práve takto? Návrh tvaru, druhu a počtu FP býva obyčajne najzložitejšia časť návrhu každého fuzzy systému. Čo sa týka počtu lingvistických hodnôt pre jednu fuzzy premennú, používa sa zvyčajne 3 až 5; viac ako 7 hodnôt zvyčajne človek nedokáže rozlíšiť. Tvar FP sa pokiaľ možno používa čo najjednoduchší, kvôli zníženiu výpočtovej náročnosti pri ich vyhodnocovaní; zvyčajne sú to tzv. trojuholníkové alebo lichobežníkové FP.
Špeciálne FP nazývané singletony sa používajú najmä na výstupe niektorých fuzzy regulátorov – vyznačujú sa tým, že majú nenulovú hodnotu iba v jedinom bode. Pokiaľ uvedené jednoduché druhy FP nepostačujú na požadovanú činnosť fuzzy systému, používajú sa „hladké“ (spojité a spojito diferencovateľné) FP. Na návrh samotného tvaru FP sa používajú rôzne metódy počínajúc odhadom, cez transformáciu frekvenčných a štatistických údajov spracovávaných dát, fyzikálne merania až po metódy založené na adaptácii, učení a ladení parametrov.
Doposiaľ sme predpokladali, že funkcia príslušnosti je definovaná pomocou klasickej analytickej funkcie. Ak je aj funkcia príslušnosti definovaná pomocou fuzzy premennej, hovoríme o fuzzy množine druhého rádu. Podobne môžeme dostať fuzzy množiny vyšších rádov.
Činnosť systému
Samotná činnosť fuzzy systému je založená na odvodzovacích (inferenčných) pravidlách IF-THEN, podobne ako je tomu v expertných systémoch. Výhodou takejto reprezentácie vedomostí je prehľadnosť a ľahká „čitateľnosť“ človekom. Báza znalostí fuzzy systému je rozdelená do dvoch častí: prvou sú už spomínané definície FM, druhou sú pravidlá pre odvodzovanie, ktoré sú zvyčajne uložené v tzv. look-up table. Ak sa vrátime k príkladu z úvodu článku s rýchlosťou auta v závislosti od strmosti stúpania vozovky a výkonu motora, môže look-up tabuľka vyzerať napríklad tak, ako je zobrazené v tabuľke.
Rýchlosť vozidla ako funkcia strmosti svahu a výkonu motora:
Svah/výkon | nízky | stredný | vysoký |
mierny | stredná | veľká | veľká |
stredný | malá | stredná | veľká |
strmý | malá | malá | stredná |
Look-up tabuľka pre fuzzy inferenčný systém s dvomi vstupmi (strmosť svahu a výkon motora) a jedným výstupom (rýchlosť vozidla). Ak teda na vstupe bude kombinácia „nízky výkon motora“ a „strmý svah“, podľa uvedenej look-up tabuľky sa odvodí, že „rýchlosť je malá“.
Koncept regulátora
Úspešnou aplikáciou teórie FM je koncept fuzzy regulátora. Bol navrhnutý v roku 1973 profesorom Mandanim, podľa ktorého je aj pomenovaný jeden druh fuzzy regulátorov (ďalej FR). Rozvoj FR bol zaznamenaný až v 80. rokoch; najmä v Japonsku sa stal hitom. Napriek tomu, že sa začal používať aj v aplikáciách, kde sa s úspechom používali klasické regulátory, existujú prípady, kedy je použitie FR žiadané a opodstatnené. Je to najma vtedy, keď:
- Riadená sústava je komplikovaná a/alebo matematicky ťažko popísateľná. Klasické riadiace algoritmy totiž vyžadujú presný matematický opis sústavy, ktorý je častokrát obtiažne získať.
- Riadená sústava je silne nelineárna. Teória klasických lineárnych regulátorov je veľmi dobre rozpracovaná. Regulácia nelineárnych sústav je často založená na linearizácii v okolí pracovného bodu. Ashby odvodil, že výkonnosť (zložitosť) regulátora musí byť primeraná výkonnosti (zložitosti) regulovanej sústavy, a teda nelineárnu sústavu nemožno dostatočne dobre regulovať lineárnym regulátorom. FR je prirodzene nelineárny (viď možnosti definície FP), a je teda vhodným a dostatočne silným nástrojom na reguláciu nelineárnych sústav.
- Riadená sústava je citlivá na zmeny akčného zásahu. FR dokáže poskytovať plynulo sa meniace výstupy, najmä pri použití „hladkých“ FP a fuzzy partícií. Táto vlastnosť má význam pri regulácií zariadení, kde by skokové zmeny vstupných veličín mohli viesť k ich poškodeniu (napr. elektromotory a pod.).
- Existuje predpoklad zásahov do regulátora počas jeho nasadenia. Reprezentácia inferenčných pravidiel – look-up table – je pre človeka ľahko pochopiteľná, prehľadná a teda ľahko modifikovateľná. Táto skutočnosť umožňuje robiť zásahy do FR aj po jeho uvedení do činnosti.
- Vyžaduje sa robustnosť riadiaceho systému. Vhodnou definíciou FP možno FR nastaviť tak, aby regulácia bola odolná tak voči malým zmenám parametrov riadeného systému a vstupov, ako aj voči „neobvyklým“ a/alebo „kritickým“ hodnotám vstupných veličín.
Ako sa učiť?
Okrem nesporných výhod, ktoré priniesla implementácia teórie fuzzy množín, trpia čisté fuzzy systémy aj niektorými nedostatkami. Za zmienku stojí najmä neschopnosť učiť sa (t.j. vytvoriť look-up tabuľku a/alebo definície FP iba na základe spracovávaných údajov) ako je tomu napríklad u neurónových sietí. Tento nedostatok je však možné odstrániť použitím hybridných systémov rôznymi spôsobmi kombinujúcich neurónové siete a fuzzy systémy.
Zkrácená verze tohoto článku vyjde v Computerworldu