+ All Categories
Home > Documents > Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf ·...

Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf ·...

Date post: 07-Feb-2018
Category:
Upload: truongnhi
View: 245 times
Download: 4 times
Share this document with a friend
230
Vysoká škola báňská – Technická univerzita Ostrava ZNALOSTNÍ SYSTÉMY ŘÍZENÍ učební text a návody do cvičení Prof. Dr. Ing. Miroslav Pokorný Ing. Vilém Srovnal, Ph.D. Ostrava 2012
Transcript
Page 1: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

Vysoká škola báňská – Technická univerzita Ostrava

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ

učební text a návody do cvičení

Prof. Dr. Ing. Miroslav Pokorný Ing. Vilém Srovnal, Ph.D.

Ostrava 2012

Page 2: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ

2

Recenze: Doc. RNDr. Jindřich Černohorský, CSc. Název: Znalostní systémy řízení Autoři: Miroslav Pokorný, Vilém Srovnal Vydání: první, 2012 Počet stran: Náklad: Studijní materiály pro studijní obor Měřicí a řídicí technika Fakulty

elektrotechniky a informatiky Jazyková korektura: nebyla provedena. Určeno pro projekt: Operační program Vzdělávání pro konkurenceschopnost Název: Inovace oboru Měřicí a řídicí technika na FEI, VŠB - TU Ostrava Číslo: CZ.1.07/2.2.00/15.0113 Realizace: VŠB – Technická univerzita Ostrava Projekt je spolufinancován z prostředků ESF a státního rozpočtu ČR © Miroslav Pokorný, Vilém Srovnal © VŠB – Technická univerzita Ostrava ISBN

Page 3: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ - Obsah

3

OBSAH Pokyny ke studiu 1. ÚVOD 2. AUTOMATICKÁ REGULACE A UMĚLÁ INTELIGENCE 2.1 Problematika řízení složitých systémů 3. ZÁKLADY FUZZY MNOŽINOVÉ TEORIE 3.1 Základy teorie fuzzy množin 3.2 Fuzzy množinová formalizace vágnosti 4. VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové modely řízení 4.3 Aproximativní vyvozování 4.4 Problematika využití fuzzy modelu 5. FUZZY REGULAČNÍ SYSTÉMY 5.1 Principy regulačního systému FLC 5.2 Funkce fuzzy regulátoru FLC 6. SUGENOVSKÉ REGULÁTORY 6.1 Jazyková aproximace nelineárních funkcí 6.2 Struktura a parametry Sugenovského regulátoru 7. STABILITA SYSTÉMů S FUZZY REGULÁTORY 7.1 Stabilita regulačních obvodů s fuzzy regulátory 8. FUZZY STAVOVÁ REGULACE 8.1 Fuzzy stavové regulátory 9. INTELIGENTNÍ REGULÁTORY 9.1 Struktura a funkce inteligentního regulátoru

Page 4: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ - Obsah

4

KLÍČ K ŘEŠENÍ CVIČENÍ 1 Fuzzy množiny a operace s nimi v programovacím jazyku C# CVIČENÍ 2 Fuzzy systém regulující teplotu vody ve sprše (Model Mamdani) CVIČENÍ 3 Fuzzy řízení automatické pračky (Model Mamdani) CVIČENÍ 4 Fuzzy řízení 4. stupňové automatické převodovky (Model

Takagi‐Sugeno) CVIČENÍ 5 Expertní systém pro regulaci teploty tepelné soustavy v PLC

Siemens (S7 3xx) CVIČENÍ 6 Expertní systém pro regulaci teploty s chlazením tepelné soustavy

v PLC Siemens (S7 3xx) a řízením otáček 3. fázového motoru pomocí měniče Siemens Micromaster

CVIČENÍ 7 Expertní systém pro regulaci teploty tepelné soustavy v PLC

Bernecker & Reiner (B&R System 2003) CVIČENÍ 8 Fuzzy regulátor typu PS (Mamdani a Sugeno) určený pro regulaci

soustavy 2. řádu a porovnání s klasickým PI regulátorem CVIČENÍ 9 Fuzzy regulátor typu PD (Mamdani a Sugeno) určený pro regulaci

soustavy 2. řádu a porovnání s klasickým PD regulátorem CVIČENÍ 10 Fuzzy regulátor typu PSD (Mamdani a Sugeno) určený pro regulaci

soustavy 2. řádu a porovnání s klasickým PID regulátorem CVIČENÍ 11 Automatická metoda hledání optimálních parametru fuzzy

regulátorů typu PS, PD, PSD (Mamdani a Sugeno) soustav do 2. řádu

CVIČENÍ 12 Řízení náklonu letadla pomoci automatického hledání optimálních

parametru fuzzy regulátorů typu PS (Mamdani) CVIČENÍ 13 Fuzzy regulace magneticky levitující kuličky v prostoru virtuální

reality CVIČENÍ 14 Expertní systém určený pro fuzzy regulace teploty v místnosti v

programovacím jazyku C#

Page 5: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Pokyny pro studium

5

POKYNY KE STUDIU

Znalostní systémy řízení Pro předmět zimního semestru oboru Měřicí a řídicí technika jste obdrželi studijní balík obsahující

• integrované skriptum pro distanční studium obsahující i pokyny ke studiu • CD-ROM s doplňkovými animacemi vybraných částí kapitol • harmonogram průběhu semestru a rozvrh prezenční části • rozdělení studentů do skupin k jednotlivým tutorům a kontakty na tutory • kontakt na studijní oddělení

Předpoklady studia Pro studium tohoto předmětu se předpokládá absolvování předmětu (bude doplněno) Cílem předmětu je seznámení se základními pojmy vědního oboru Umělá inteligence a aplikačních systémů, které využívají jejích přístupů. Po prostudování modulu by měl student být schopen porozumět principům systémů s prvky umělé inteligence a pochopit výhody jejich použití v technické praxi. Pro koho je předmět určen Modul je zařazen do bakalářského / magisterského studia oborů (bude doplněno) studijního programu Měřicí a řídicí technika, ale může jej studovat i zájemce z kteréhokoliv jiného oboru, pokud splňuje požadované předpoklady kurzu. Skriptum se dělí na části, kapitoly, které odpovídají logickému dělení studované látky, ale nejsou stejně obsáhlé. Předpokládaná doba ke studiu kapitoly se může výrazně lišit, proto jsou velké kapitoly děleny dále na číslované podkapitoly a těm odpovídá níže popsaná struktura. Při studiu každé kapitoly doporučujeme následující postup:

Čas ke studiu: xx hodin

Na úvod kapitoly je uveden čas potřebný k prostudování látky. Čas je orientační a může vám sloužit jako hrubé vodítko pro rozvržení studia celého předmětu či kapitoly. Někomu se čas může zdát příliš dlouhý, někomu naopak. Jsou studenti, kteří se s touto problematikou ještě nikdy nesetkali a naopak takoví, kteří již v tomto oboru mají bohaté zkušenosti.

Cíl:

Page 6: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Pokyny pro studium

6

Po prostudování tohoto odstavce budete umět • popsat ... • definovat ... • vyřešit ...

Ihned potom jsou uvedeny cíle, kterých máte dosáhnout po prostudování této kapitoly – konkrétní dovednosti, znalosti.

Výklad

Následuje vlastní výklad studované látky, zavedení nových pojmů, jejich vysvětlení, vše doprovázeno obrázky, tabulkami, řešenými příklady, odkazy na animace.

Shrnutí pojmů

Na závěr kapitoly jsou zopakovány hlavní pojmy, které si v ní máte osvojit. Pokud některému z nich ještě nerozumíte, vraťte se k nim ještě jednou.

Otázky

Pro ověření, že jste dobře a úplně látku kapitoly zvládli, máte k dispozici několik teoretických otázek.

Další zdroje

Seznam další literatury, www odkazů ap. pro zájemce o dobrovolné rozšíření znalostí popisované problematiky.

CD-ROM

Informace o doplňujících animacích, videosekvencích apod., které si může student vyvolat z CD-ROMu připojeného k tomuto materiálu.

Klíč k řešení

Výsledky zadaných příkladů i teoretických otázek výše jsou uvedeny v závěru učebnice v Klíči k řešení. Používejte je až po vlastním vyřešení úloh, jen tak si samokontrolou ověříte, že jste obsah kapitoly skutečně úplně zvládli. Úspěšné a příjemné studium s touto učebnicí Vám přejí autoři výukového materiálu

Miroslav Pokorný Vilém Srovnal

Page 7: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Úvod

7

1 ÚVOD Teorie i praxe tvorby klasických matematických modelů a jejich využívání v řídící technice jsou dnes všeobecně akceptovány. Matematické modely jsou vhodnou formou pro popis chování i řízení objektů a spolu s prostředky výpočetní techniky reprezentují velmi efektivní nástroj k hlubšímu poznání skutečnosti.

Metodologie řídicích systémů, využívajících klasických matematických analyticko-statistických modelů, je dnes dobře popsána. Základní přístupy při tvorbě takových modelů se opírají o znalosti fyzikálních principů a podstaty funkcí modelovaných a řízených objektů. Jsou to modely, postavené na bázi objektivních, kvantitativních znalostí.

Matematické modely, reflektující exaktní, objektivně platné přírodní zákony, jsou z principu modely precizními. Takové modely však nejsou zcela a vždy adekvátní chování popisovaných složitých reálných soustav, které může být přirozeně ne zcela přesné, více či méně neurčité. Snaha o zvýšení preciznosti matematického modelu vede ke zvýšení jeho komplikovanosti, provázené zvýšenými nároky na přesnost vstupních dat a snížením celkové robustnosti modelu. Nároky takových modelů mohou přesáhnout míru praktické realizovatelnosti (např. možnost měření vstupních dat). Profesor univerzity v Berkeley, Lotfi A.Zadeh (zakladatel fuzzy matematiky), vyslovil v této souvislosti velmi důležitý závěr - princip inkompatibility: „To, jak roste složitost nějakého systému, klesá naše schopnost činit precizní a přitom ještě použitelná tvrzení o jeho chování, dokud není dosaženo prahu, za nímž se stávají preciznost a použitelnost (relevantnost) téměř vzájemně se vylučujícími charakteristikami“ Tyto problémy se vyskytují hlavně v případech, kdy popisujeme chování soustavy složité, neurčité, těžko popsatelné a obtížně měřitelné. Kvalita reálného modelu objektu a tudíž i kvalita jeho regulace je v takových případech dána především tím, jak se použitá metodologie vyrovná s reprezentací a efektivním využitím velmi důležité vlastnosti reality - neurčitosti.

Klasickou formou reprezentace neurčitosti je aparát matematické statistiky. Přes svoji popularitu však trpí řadou omezení. Je to především schopnost reflektovat pouze neurčitost typu stochastičnost, dále pak problém časté nedostupnosti dostatečného počtu pozorování (důvody časové, technické, ekonomické a pod.) a problémy s platností řady apriorních předpokladů o datech. Nemáme-li k dispozici dostatečný počet pozorování za reprodukovatelných podmínek, nelze variabilitu přírodních dějů eliminovat tím, že vyhovíme požadavkům reprodukovatelnosti stanovením příliš obecných podmínek. Získáme tím výsledky, jejichž rozptyl či konfidenční intervaly jsou natolik široké, že výsledky znehodnotí.

Potíže přetrvávají tehdy, pokud se snažíme pracovat pouze s objektivně zjištěnými informacemi. Problémy řeší metody, které připouštějí využití informací subjektivních - znalostí.

Problémy adekvátnosti matematických modelů při jejich využití pro studium chování

složitých soustav se přenášejí i do oblasti automatické regulace. Syntéza konvenčního regulátoru (typu P, PS, PD, PSD) využívá standardních lineárních přenosů a pro určení

Page 8: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Úvod

8

optimální velikosti jeho parametrů je nezbytná identifikace regulované soustav, vedoucí ke stanovení jejího přenosu.

Zde narážíme na první problém – identifikace složitých reálných soustav je obtížná a

získané přenosy jsou obvykle přibližné, zatížené řadou nutných zjednodušení. Získané přenosy pak trpí sníženou adekvátností a jejich využití vede k syntéze regulátoru, který nesplňuje požadavky na kvalitu regulace v dostatečné míře.

Dalším problémem konvenčních regulátorů je jejich nízká robustnost. Reálné soustavy

často mění průběžně své parametry, což při požadavku na dodržení kvality regulačního pochodu vyžaduje adaptaci parametrů regulátoru pomocí složitých a v praxi obvykle omezeně účinných adaptačních procedur.

V řadě případů, zvláště při řízení složitých a obtížně měřitelných soustav, jsou v praxi

úspěšně využívány závěry, které získává zkušený operátor (expert) jako výsledek rozhodovacích procesů ve svém mozku. Jde při tom jak o operátorské stanovení okamžiku, druhu a velikosti akčního zásahu, tak i o rozhodování při změněn nastavení – tedy operátorské adaptaci – použitých regulátorů.

I když jsou tyto závěry postaveny, stejně jako v případě klasické matematické analýzy,

na porovnávání vstupů a výstupů a uvážení vlastností regulované soustavy, využívá k jejich vyvození zkušený operátor (expert) zcela jiného než běžného matematicko-statistického a matematicko-logického aparátu.

Expert vyvozuje závěry na základě operacemi nad mentálními modely, které jsou

vytvořeny a uloženy v jeho mozku. Přitom efektivně využívá svých intelektuálních schopností. Mentální modely nejsou numerické, nýbrž jazykové. Jsou-li matematicko-analytické a-logické modely typicky numerické a precizní, jsou naopak jazykové modely nenumerické a typicky neurčité - vágní. Kvalita lidských úsudků pak spočívá ve schopnosti člověka takové neurčité a vágní modely efektivně využívat.

Pokud uvažujeme modely řízení, pak platí toto konstatování v plné míře. Operativní

rozhodování člověka o regulačních zásazích pří řízení složitých soustav (rozhodování řidiče pří řízení motorového vozidla ve složitých dopravních situacích, rozhodování provozního operátora při řízení složitých technologických procesů) je postaveno na jeho mozkových modelech a schopnostech.

Jestliže řešíme problém vytvoření počítačových systémů, které by řídily takové

procesy stejně kvalitně jako expert, musíme řešit dva základní problémy: a) jak počítačově formalizovat vágní jazykové mentální modely expertů b) jak formalizovat algoritmy, jejichž využití při operacích nad takovými modely

dosáhneme stejně kvalitních závěrů jako expert, kdyby řešil stejnou situaci V případě automatického řízení jde tedy o formulaci a formalizaci jazykových mentálních řídicích modelů (nenumerická formalizace a implementace zákona řízení) a vytvoření algoritmů pro vyvozování velikosti akčních veličin při respektování konkrétních stavů řízené soustavy. Tyto problémy řeší vědní disciplína Umělá inteligence.

Page 9: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Úvod

9

Pro řešení uvedených problémů jsou nejčastěji použity přístupy jazykového fuzzy modelování a jazykové fuzzy logiky. Vzniká teorie fuzzy množinové matematiky, fuzzy logiky a její promítnutí do aplikační oblasti fuzzy regulace. Praktickým produktem jsou fuzzy, případně inteligentní (znalostní) regulátory. Jejich problematice budou věnovány následující kapitoly.

Page 10: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence

10

2 AUTOMATICKÁ REGULACE A UMĚLÁ INTELIGENCE 2.1 Problematika řízení složitých systémů

Čas ke studiu: 2 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vysvětlit problematiku modelování složitých soustav • význam znalostí pro metody umělé inteligence • definovat základní přístupy a metody umělé inteligence • definovat typy znalostí • vysvětlit pojem nenumerického abstraktního modelu • vysvětlit význam vágních pojmů a jejich použití v jazykových

modelech • vysvětlit poslání jazykových modelů a fuzzy reprezentace

vágnosti • zdůvodnit použití vícehodnotové fuzzy logiky • nakreslit a vysvětlit schémata fuzzy a inteligentního regulátoru ...

Výklad

Umělá inteligence a její přístupy Kvalita lidských úsudků je podmíněna (a snad i dána) schopností efektivního zpracování ne zcela přesných informací, přičemž jejich neurčitost má jiný charakter než neurčitost stochastická. Tato schopnost, spolu s dalšími vlastnostmi lidského uvažování jako projevy lidského intelektu, se v posledních desetiletích stává středem zájmu nové vědní disciplíny - Umělé inteligence. Vědní disciplina Umělá inteligence se snaží o vytvoření algoritmů a systémů, projevujících v jistém smyslu inteligentní chování a schopnosti [5]. Vychází-li klasická matematická statistika ze zákonů empirické pravděpodobnosti s využitím rozložení pravděpodobnosti náhodných jevů, vychází metody pro práci s vágností ze zákonů distribuce možnosti. I když mezi možností a pravděpodobností existují kvalitativní vztahy, jde o dva zcela odlišné přístupy [jev, že v osobním automobilu Felícia bude cestovat 8 dospělých osob, je (technicky) vysoce možný; naproti tomu skutečnost, že v nejbližších 10 minutách pojede po sledovaném úseku ulice takto obsazený automobil, má pravděpodobnost téměř nulovou]. Označíme-li

Page 11: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence

11

možnost takového jevu J jako ( ) 1,0∈JM a pravděpodobnost takového jevu

jako ( ) 1,0∈JN , potom mezi jejich hodnotami musí platit vztah

( ) ( )JNJM ≥ . Umělá inteligence, která se ve své dílčí oblasti zabývá metodami rozhodování a řešení složitých problémů, poskytla prostředky, které se pro efektivní zpracování neurčitosti zdají velmi nadějné. Jsou postaveny na principech zpracování především nenumerických informací - znalostí. Prakticky nejvíce je rozpracována metodologie expertních systémů [6] a s nimi souvisejících fuzzy regulátorů [7], [11]. Přechod od zpracování dat ke zpracování znalostí V souladu s rozvojem aplikací metod umělé inteligence vzniká trend přechodu od zpracování objektivních dat ke zpracování subjektivních znalostí [8]. Lidské znalosti můžeme přitom rozdělit do dvou kategorií: a) v první jsou tak zvané znalosti hluboké, jejichž zdrojem je vlastní poznání přírodních dějů ve formě přírodních zákonů. Jsou to znalosti objektivní, dostupné více či méně široké odborné veřejnosti. Jsou produktem analytických, abstraktních a teoretických postupů zkoumání jevů reality. Hluboké znalosti jsou vyjadřovány formou analytických matematických vztahů; b) druhou kategorii znalostí označujeme jako znalosti mělké, povrchové (nikoli však povrchní !). Jsou to poznatky, jejichž zdrojem je dlouhodobá zkušenost, praxe a vlastní experimentování. Jsou to znalosti subjektivní, které kvalifikují úroveň experta. Mělké znalosti jsou vyjádřitelné různými formami, např. formou predikátových kalkulů, rámců, kvalitativních vztahů či heuristických pravidel, jak bude uvedeno dále. Využití hlubokých znalostí je typické pro metody konstrukce konvenčních, matematických statisticko-analytických modelů. Tyto modely, formalizované soustavami algebraických či diferenciálních rovnic, odrážejí díky aplikaci objektivních znalostí a metod obvykle širší třídy problémů a mají ponejvíce obecnou platnost. Uplatnění subjektivních znalostí v takových modelech není typické. Snížená účinnost takových modelů v případech popisu a řízení složitých, špatně objektivně popsatelných a obtížně měřitelných soustav, vedla E. Feigenbauma [8] k vyslovení této teze: „Příslibem úspěšného řešení problémů jsou specifické, na danou problémovou oblast zaměřené znalosti (metody), kterými je třeba nahradit slabé metody všeobecné.“ Cesta uplatnění specifických (subjektivních, heuristických) znalostí vede k metodám tvorby nekonvenčních nenumerických modelů, které využívají vícehodnotovou logiku a různé formální aparáty jak pro reprezentaci neurčitých pojmů, tak i pro přibližné (aproximativní) vyvozování závisle proměnných veličin. Tyto modely se stávají i základem pro metodologii řídících systémů, které je využívají.

Page 12: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence

12

Formalizace neurčitosti v systémech řízení Neurčitost chování řízených objektů, vyjadřovaná pojmy jako „velmi velký“, „téměř nulový“, „asi deset“ má charakter slovní (pojmové, jazykové) neurčitosti - vágnosti. Její formalizace je pro konstrukci jazykových (slovních, lingvistických, nenumerických) popisů objektů základním problémem. Určité řešení zavedla intervalová matematika použitím číselných intervalů. Věrohodnost reprezentace pojmové neurčitosti je však narušena v okolí intervalových mezí. Ostrá číselná horní mez 10,00 interpretuje číslo 9,99 jako hodnotu do intervalu zcela jistě náležející, zatímco číslo 10,01 jako hodnotu do intervalu zcela jistě nepatřící. Jestli bychom takovým intervalem formalizovali např. slovní pojem „vysoký strom“ a číselné hodnoty by vyjadřovaly jeho výšku v [m], potom je rozpor takové reprezentace s lidským uvažováním evidentní. Pro formalizaci vágnosti bylo vyvinuto několik metod, z nichž největšího rozšíření doznala metoda tzv. mlhavých, neostrých neboli fuzzy množin. Fuzzy množiny se ukázaly jako přirozený a velmi efektivní nástroj pro počítačovou formalizaci a reprezentaci významu slov. Fuzzy množinová teorie je dnes dobře propracována a jejím výzkumem a rozvojem se zabývá řada zahraničních a dnes již i domácích pracovišť (Ústav pro výzkum a aplikace fuzzy modelování při Ostravské univerzitě v Ostravě). Zakladatelem fuzzy množinové matematiky je již výše zmíněný profesor univerzity v Berkeley Lotfi A. Zadeh. Ve své výchozí práci [2] zobecnil klasickou teorii množin a vyslovil fuzzy množinovou teorii, která je dnes v aplikačních oblastech umělé inteligence často využívána. Aplikace fuzzy přístupů v oblasti automatického řízení vedla ke vzniku tzv. fuzzy regulace, jinak řečeno - regulace s využíváním lidských zkušeností, znalostí. Fuzzy pojetí regulace Úvodní kapitola 1.1 pojednává o problémech dosažení dostatečné adekvátnosti a současného zachování praktické použitelnosti modelů složitých soustav (Zadehův princip inkompatibility). Tento problém se přenáší do problematiky automatického řízení tam, kde je použito principů řízení s matematickým modelem. Podobně jako modely matematické mohou být použity i modely slovní, jazykové. Slovní modely popisují chování soustavy prostředky přirozeného jazyka. Popisují chování řízené soustavy na základě znalostí svého tvůrce - experta a vytvářejí tzv. báze znalostí. Vágnost slovního popisu bude v našem případě formalizována pomocí aparátu fuzzy množinové matematiky. Pro vyhodnocování velikosti výstupních proměnných ze slovních (fuzzy) modelů - bází znalostí - je přitom využívána vícehodnotová lingvistická (fuzzy) logika [9].

Page 13: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence

13

Báze znalostí, orientovaná obecně na řešení určitého problému, spolu s aparátem vyhodnocování odpovědí (velikosti závisle proměnných veličin) na dotaz (tvořený konkrétními hodnotami vstupních veličin) tvoří základ expertních systémů. Lze tedy říci, že řídící systémy se znalostní bází jsou jejich speciálními případy. V inženýrské praxi automatického řízení, zvláště složitých procesů, je totiž známo, že zkušený operátor dosahuje při manuálním řízení nebo manuální adaptaci parametrů klasického regulátoru často lepších výsledků, než řídící počítač. Pro regulaci v uzavřené smyčce pomocí fuzzy regulátorů a specializovaných fuzzy expertních systémů jsou tak známy dva přístupy.

1) Přístup fuzzy - pravidlový (FLC - Fuzzy Logic Control) [4], který je pokusem modelovat manuální řídící funkci zkušeného operátora procesu. Řídící model je vyjádřen slovními řídícími pravidly, která popisují, jak vybírat řídící signál (akční veličinu) v různých situacích. Tento přístup si klade za cíl reprezentovat empirické znalosti řízení procesu. Jeho schéma je na Obr.1.

Fuzzy regulátor Regulovaná soustavau(t)e(t)

(t)

+-

v(t)

y(t)ω

Obr.1

2) Přístup expertního (znalostního) řízení [10], který pomocí expertních systémů rozšiřuje možnosti klasických řídících algoritmů (PI, PID). Používá obecných znalostí (jazykových modelů) pro řízení k nastavení a adaptaci struktury i parametrů klasického regulátoru pomocí dohlížecích expertních systémů. Jeho schéma je na Obr.2.

PID Regulovaná soustavau(t)e(t)+

-

v(t)

Dohlížecí expertní systém

y(t)

e(t)u(t)

y(t)

(t)ω

Obr.2

Page 14: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence

14

Problematika, uvedená v dalších kapitolách, je rozpracována v těchto oblastech:

- základy fuzzy množinové teorie, - základy vícehodnotové lingvistické logiky, - fuzzy pravidlový přístup k řízení (Fuzzy Logic Control), - přístup znalostního (expertního) řízení,

Kapitoly obsahují teoretické pozadí i zásady praktické realizace fuzzy regulátorů i systémů znalostní regulace.

Řešené úlohy 2.1

Příklad 2.1.1 Jako příklad schématu méně rozšířeného inteligentního regulátoru uveďme systém znalostního adaptivního regulátoru.

Shrnutí pojmů

Matematické modely jsou z principu modely precizními. Takové modely však

nejsou zcela a vždy adekvátní chování popisovaných soustav, které může být přirozeně ne zcela přesné, více či méně neurčité. Snaha o zvýšení preciznosti matematického modelu vede ke zvýšení jeho komplikovanost a omezuje jeho použitelnost, což formuluje princip inkompatibility. Potíže přetrvávají tehdy, pokud se snažíme pracovat pouze s objektivně zjištěnými numerickými informacemi. Problémy řeší metody, které připouštějí využití informací subjektivních, nenumerických - znalostí.

Page 15: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence

15

Kvalita lidských úsudků je podmíněna schopností efektivního zpracování ne

zcela přesných informací, přičemž jejich neurčitost má jiný charakter než neurčitost stochastická. Tato schopnost, spolu s dalšími vlastnostmi lidského uvažování jako projevy lidského intelektu, se v posledních desetiletích stala středem zájmu vědní discipliny - umělé inteligence. Metody a nástroje umělé inteligence, jsou postaveny na principech zpracování především nenumerických informací - znalostí. Prakticky nejvíce je rozpracována metodologie expertních systémů a s nimi souvisejících fuzzy regulátorů.

Metod umělé inteligence jsou příkladem přechodu od zpracování objektivních dat ke zpracování subjektivních znalostí. Lidské znalosti můžeme přitom rozdělit do dvou kategorií: znalosti hluboké a znalosti mělké. Hluboké znalosti jsou vyjadřovány formou analytických matematických vztahů, mělké znalosti jsou vyjádřitelné např. formou predikátových kalkulů, rámců, kvalitativních vztahů či heuristických pravidel. Jsou základem tzv. jazykových (nenumerických) modelů.

Neurčitost chování řízených objektů má charakter slovní (pojmové, jazykové) neurčitosti - vágnosti. Její formalizace je pro konstrukci jazykových (slovních, lingvistických, nenumerických) popisů objektů základním problémem. Nejrozšířenějším způsobem je reprezentace pomocí fuzzy množin.

Slovní modely popisují chování řízené soustavy na základě znalostí experta a pomocí tzv. báze znalostí. Vágnost slovního popisu je formalizována pomocí aparátu fuzzy množinové matematiky. Pro vyhodnocování velikosti výstupních proměnných ze slovních (fuzzy) modelů je využívána vícehodnotová lingvistická fuzzy logika. Pro regulaci v uzavřené smyčce jsou tak známy dva přístupy - přístup fuzzy regulátoru (FLC) a přístup inteligentního řízení.

Otázky 2.1

2.1.1 Jaká omezení plynoucí z principu inkompatibility platí pro matematické

modely ? 2.1.2 Co je cílem vědního oboru Umělá inteligence ? 2.1.3 Jaká relace platí mezi možností a pravděpodobností jevu ? 2.1.4 Čím jsou typické nenumerické modely ? 2.1.5 Jaký je rozdíl mezi znalostmi objektivními a subjektivními ? 2.1.6 Co je to vágnost a jaký je její vztah k fuzzy množinám ? 2.1.7 Jaké typy fuzzy regulačních systémů znáte ?

Úlohy k řešení 2.1

2.1.1 Vymyslete sami matematickou rovnici (nebo soustavu rovnic), reprezentující fyzikální soustavu. Určete parametry takto napsaného modelu soustavy a pouvažujte o možnosti přesného stanovení jejich číselných hodnot!

Page 16: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence

16

2.1.2 Uveďte objekt, který považujete z hlediska jeho matematického modelování za složitý. 2.1.3 Promyslete vyjádření 1. Newtonova pohybového zákona formou matematického vztahu a formou slovního vyjádření (popisu)! 2.1.4 Uveďte příklad mělké a hluboké znalosti v oboru, který je Vám blízký (řízení automobilu, hra v šachy apod.). 2.1.5 Pokuste se slovně popsat průběh regulace teploty v peci na zadanou hodnotu změnami topného příkonu! Další řešené příklady naleznete v kapitole: CVIČENÍ 1 Fuzzy množiny a operace s nimi v programovacím jazyku C#

Další zdroje

[1] Mařík, V. a kol.: Umělá inteligence I, II, Academia Praha, 1997. ISBN 80-200-0504-8 [2] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. ISBN 80- 901984-4-9 [3] Zadeh,L.A.: Fuzzy Sets, Inf. & Control, 8, 1965 [4] Lee,Ch.Ch.: Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part I,II, IEEE Trans., MAC, 2, 1990 [5] Arzen, A.E.: An Architecture for Expert System Based Feedback Control. Automatica, 1989. Vol. 25, No.6. pp 813-827. ISSN 0005-1098

Page 17: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

17

3 ZÁKLADY FUZZY MNOŽINOVÉ TEORIE 3.1 Základy teorie fuzzy množin

Čas ke studiu: 3 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • definovat princip fuzzy množiny • popsat fuzzy množinu jejími parametry • vyjmenovat a vysvětlit základní fuzzy množinové operace • vysvětlit princip rozšíření operací nad obyčejnými množinami

na fuzzy množiny

Výklad

Definice a vlastnosti fuzzy množiny V teorii klasických množin prvek x do množiny A buď patří (prvek x1), nebo nepatří (prvek x2), Obr. 3.1.1.

Obr 3.1.1 Obr 3.1.2 V Zadehově fuzzy množinové teorii, která je zobecněním teorie abstraktních množin [1], [2], je fuzzy množina Bx definována jako třída, která přiřazuje prvkům svého univerza x neurčitost pomocí vlastnosti jejich částečné příslušnosti formou tzv. míry příslušnosti B(x). Tak na Obr.3.1.2 prvek x1 do fuzzy množiny Bx určitě a zcela jistě patří a prvek x2 zcela jistě a určitě nepatří. Takové zobecnělé množiny se nazývají fuzzy množinami (fuzzy znamená mlhavý, neurčitý, ne zcela přesně ohraničený – viz Obr. 3.1.2). Míru příslušnosti prvku x1 k fuzzy množině Bx pak vyjádříme hodnotou B(x1) = 1, zatímco míru příslušnosti prvku x2 k fuzzy množině Bx vyjádříme hodnotou

Page 18: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

18

B(x2) = 0. Uvažujme dále prvky např. x3 a x4, které k fuzzy množině Bx patří zřejmě jenom částečně. To je vyjádřeno u prvku x3 mírou příslušnosti např. B(x3) = 0,3 a u prvku x4 mírou příslušnosti B(x4) = 0,7. Uveďme důležitý poznatek: V teorii klasických množin prvek do množiny buď patří nebo nepatří. Hovoříme pak o (plné) příslušnosti nebo o nepříslušnosti prvku do dané množiny. V Zadehově fuzzy množinové teorii, která je zobecněním teorie abstraktních množin, je fuzzy množina definována jako třída, která přiřazuje prvkům neurčitost pomocí vlastnosti jejich částečné příslušnosti formou tzv. míry příslušnosti. Nechť X ≠ 0 je klasická množina a µA : X → <0,1> nechť je zobrazení. Fuzzy množinou pak budeme nazývat uspořádanou dvojici

( )AXA μ,= Množinu X přitom nazveme univerzem fuzzy množiny A , µA nazveme funkcí příslušnosti fuzzy množiny A. Pro každé x∈ X nazveme reálné číslo µA(x) stupněm příslušnosti prvku x k fuzzy množině A, přičemž µA(x) budeme interpretovat takto: µA(x) = 0 ..…... prvek x do množiny A nepatří µA(x) = 1 ..…... prvek x do množiny A patří µA(x)∈ (0,1) ... nelze s jistotou určit, zda x patří do A, přičemž velikost µA(x) je vyjádřením stupně příslušnosti x k A. Významná je skutečnost, kterou si musíme velmi dobře uvědomit, že: Klasifikace určitého objektu stupněm příslušnosti k určité fuzzy množině je ryze subjektivní a její velikost záleží čistě na vnitřním přesvědčení lidského experta. Z tohoto hlediska nelze zaměňovat stupeň příslušnosti µ(x) se statistickou, objektivně vypočitatelnou hodnotou pravděpodobnosti P(x)∈ <0,1> ! Příklad průběhu charakteristické funkce (funkce nebo míry příslušnosti, někdy stupně nebo míry náležení) A(x) fuzzy množiny Ax v závislosti na velikosti prvků x je na Obr. 3.1.3. Tímto průběhem bývá často fuzzy množina Ax graficky popsána. Čárkovanou čarou je naznačena velmi často používaná aproximace průběhu A(x) = f(x) přímkovými úseky. Fuzzy množina Ax je tak parametrizována a bývá zadávána hodnotami bodů zlomů Ax = {a, b, c, d}.

Page 19: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

19

A(x)

x

A(x0)

0

1 hgt A

Ax

a b c dx0ker A

supp AC (A)

Obr.3.1.3 Definujme základní vlastnosti fuzzy množin, které budeme potřebovat ve výkladu jejich aplikací v řízení (Obr.3.1.3) [2], [3]. Funkce příslušnosti takové fuzzy množiny má tyto důležité parametry, které nazýváme:

a) Výškou fuzzy množiny Ax nazveme reálné číslo, definované vztahem ( )xAhgtA

Xx∈= sup ;

b) Fuzzy množinu Ax nazveme normální, pokud hgt A = 1;

c) Fuzzy množinu nazveme prázdnou, platí-li hgt A = 0;

d) Nosičem fuzzy množiny Ax nazveme množinu supp A = ( ){ }0/ ≠∈ xAXx .

e) α - řezem fuzzy množiny Ax nazveme množinu ( ) ( ){ }αα ≥∈= xAXxAC / ; α - řezy jsou zajímavé tím, že pomocí nich (jako klasických množin) lze vyjádřit fuzzy množinu vztahem

( )∫ ⋅= ACAx αα ;

f) Jádrem fuzzy množiny Ax nazveme množinu ( ){ }1/ker =∈= xAXxA . Základní fuzzy množinové operace Stejně jako v konvenční množinové matematice, která definuje operace mezi obyčejnými množinami, jsou ve fuzzy množinové matematice definovány operace mezi fuzzy množinami.

Operace s fuzzy množinami definovanými na jednom univerzu

Uvažujme dvě fuzzy množiny A a B s prvky x, definovanými na univerzu U, s funkcemi příslušnosti A(x) a B(x) a stupni příslušnosti )(xAμ resp. )(xBμ 1,0∈ .

Page 20: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

20

Operace sjednocení Sjednocením dvou fuzzy množin A a B nazýváme fuzzy množinu BAC ∪= , jejíž funkci příslušnosti určíme podle vztahu

[ ])(),(max)()()( xBxAxBxAxCx

=∨= , Ux∪ . (3.1.1)

Ve fuzzy množinové matematice však můžeme definovat operaci sjednocení i pomocí jiných vztahů než (3.1.1). Velmi často je používána operace Lukasiewiczova sjednocení, definovaného vztahem

))()((1)()()( xBxAxBxAxC +∨=⊕= , Ux∪ . (3.1.2)

Operace průnik Sjednocením dvou fuzzy množin A a B nazýváme fuzzy množinu BAC ∩= , jejíž funkci příslušnosti určíme podle vztahu

[ ])(),(min)()()( xBxAxBxAxCx

=∧= , Ux∪ . (.1.3)

Poznamenejme opět, že operace minima, použitá v takové definici průniku, odpovídá v matematické logice konjunkci dvou logických tvrzení.

Podobně jako v případě operace sjednocení, můžeme ve fuzzy množinové matematice definovat operaci průniku i pomocí jiných vztahů než (3.1.3). Velmi často je používána operace Lukasiewiczova průniku, definovaného vztahem

)1)()((0)()()( −+∨=⊗= xBxAxBxAxC , Ux∪ (3.1.4)

Operace doplněk Doplněk A fuzzy množiny A je definován nejčastěji používaným vztahem (3.1.5)

)(1)( xAxA −= , Ux∪ . Inkluze fuzzy množin

Inkluzí fuzzy množin ( )[ ]xAXAx ,= , ( )[ ]xBXBx ,= nazveme stav, kdy

( ) ( )xBxA ≤ (3.1.6) pro všechna Xx∈ (Ax je podmnožinou Bx).

Rovnost fuzzy množin Rovností fuzzy množin ( )[ ]xAXAx ,= , ( )[ ]xBXBx ,= nazveme stav, kdy

Page 21: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

21

A(x) = B(x) (3.1.7)

pro všechna Xx∈ . Rozšíření fuzzy množinových operací

Přirozený jazyk, který používáme k vzájemné komunikaci, je tak složitý, že interpretace významu jeho výrazů pomocí fuzzy množin a významu jeho jazykových konstrukcí s použitím základních operací (3.1.1) až (3.1.5) je mnohdy nedostačující.

Základní fuzzy množinové operace jsou proto rozšířeny o jejich další varianty, které vzniknou jejich zobecněním. Tato skutečnost je pro fuzzy množinovou matematiku (a také, jak bude uvedeno dále, fuzzy logiku) specifická a v konvenční matematice nemá obdobu.

Variantní operace se definují pomocí tzv. t-norem (triangulační normy) [1] [2]. Binární funkce T : [0,1] x [0,1] → [0,1] se nazývá t-norma, pokud splňuje pro všechna x, y, z ∈ [0,1] následující vztahy:

T(x,y) = T(y,x) komutativnost T(x, T(y,z)) = T( T(x,y), z) asociativnost jestliže x ≤ y, pak T(x,z) ≤ T(y,z) monotónnost T (0,x) = 0 a T(1,x) = x omezenost

Platí,že t-normy mohou být spojité i nespojité. Základní t-normy jsou:

),min(),( yxyxyxM =∧= obyčejná (minimum) konjunkce

yxyxP .),( = Larsenova konjunkce

)1(0),( −+∨=∞ yxyxT Lukasiewiczova konjunkce

1,),( =∨→∧= yxyxyxW 0 jinak drastický součin

Pro jednotlivé t-normy platí vztah uspořádání

),(),(),( yxMyxyxW ≤≤ T . Drastický součin dává tedy nejmenší a minimum největší hodnotu mezi všemi t-normami.

Prakticky významné je, že pomocí t-norem se pak definují operace, realizující ve fuzzy systémech průnik fuzzy množin

BAC T∩= , právě když )(),(()( xBxAxC T= ).

Page 22: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

22

Obdobně jako pomocí t-norem se definují operace realizující průnik fuzzy množin, sjednocení fuzzy množin může být definováno pomocí odpovídajících t-konorem (s-norem). Vztahy mezi t-normami a s-normami můžeme vyjádřit pomocí výrazu

)1(),1(1),( yxyx −−−= TS Základní t-konormy odpovídají základním t-normám a jsou vyjádřeny vztahy

),max(),( yxyxyxN =∨= obyčejná (maximum) disjunkce

yxyxyxQ .-),( += Larsenova disjunkce

)1(0),( −+∨=∞ yxyxT Lukasiewiczova disjunkce

0,),( =∧→∨= yxyxyxW 1 jinak drastický součet

Pro jednotlivé t-konormy platí vztah uspořádání

),(),(),( yxVyxyxN ≤≤ S . Jak již byl uvedeno, prakticky významné je, že pomocí t-konorem se pak definují operace, realizující ve fuzzy systémech sjednocení fuzzy množin

BAC S∪= , právě když )(),(()( xBxAxC S= ). Třídy funkcí t-norem a t-konorem mají obdobnou platnost pro formalizaci operací mezi fuzzy logickými výroky, jak uvidíme dále. Operace s fuzzy množinami definovanými na různých univerzech Kartézský součin

Jsou-li VBUA ⊆⊆ , fuzzy množiny, pak jejich kartézským součinem je fuzzy množina VUBA ×⊆× definovaná jako

)()(),)(( yBxAyxBA ∧=× pro všechna x∈ U a y∈ V. Symbol yx, pak představuje uspořádanou dvojici prvků x a y. Tato definice představuje základ definice fuzzy relací.

Namísto operace minima∧ můžeme obecně použít kteroukoliv t-normu. Pak lze definovat kartézský součin dvou fuzzy množin vztahem

)()(),)(( yBxAyxBA T T=× .

Page 23: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

23

Fuzzy relace

Obecně n-ární fuzzy relace je definována jako fuzzy množina na vícerozměrném (n-rozměrném) univerzu U1, … , Un.

nUUR ××⊆ ...1 . Fuzzy relace R je neostrá relace mezi prvky vybíranými z univerz U1, … , Un. Stupeň příslušnosti R(x1, … ,xn) ∈<0,1> vyjadřuje náležení prvku n-rozměrného univerza k této relaci.

Graficky si můžeme fuzzy relaci představit jako vícerozměrnou fuzzy množinu, jejíž funkce příslušnosti je reprezentována vícerozměrnou plochou. Dalšími důležitými fuzzy relacemi jsou projekce, cylindrické rozšíření a kompozice, které jsou výsledkem oprací nad fuzzy relacemi.. Operace nad fuzzy relacemi

Uvažujme dvě binární relace R a S definované na kartézském součinu X × Y. Definujme nad těmito relacemi operace jejich průniku a sjednocení.

Funkce příslušnosti výsledné fuzzy množiny průniku relací R a S je

definována vztahem

( ) ( ) ( )( )yxyxyx SRSR ,,,min, μμμ =∩ pro všechna x, y. Uvědomíme si, že místo operace minima lze užít libovolné operace t-normy.

Funkce příslušnosti výsledné fuzzy množiny operace sjednocení relací R a S je dána vztahem

( ) ( ) ( )( )yxyxyx SRSR ,,,max, μμμ =∪ pro všechna x, y. Místo operace maxima lze užít libovolné operace s-normy. Uvedené binární operace mohou být jednoduše rozšířeny na operace n-ární.

Významnou roli ve fuzzy množinové matematice zaujímají operace projekce a

operace cylindrické rozšíření. Uvažujme binární relaci R definovanou na univerzu X × Y. Pak definujeme

projekci R na Y jako fuzzy množinu

( ) yyxYnaRprojY

Rx

/,sup∫∀

= μ

Operace projekce vytváří obecně z n-ární relace relaci l-ární, např. z ternární relace relaci binární, z binární relaci unární (obyčejnou fuzzy množinu).

Page 24: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

24

Opačnou operací k operaci projekce je operace cylindrické rozšíření.

Uvažujme fuzzy množinu F definovanou na univerzu Y. Cylindrickým rozšířením F na X × Y je množina všech dvojic (x, y) ∈ X × Y s funkcí příslušnosti danou vztahem

( ) ( ) ( )∫×

=YX

F yxyFcyl ,/μ

Velmi důležitou fuzzy relací je relace kompozice. Kompozice je dána kombinací cylindricky rozšířené fuzzy množiny, fuzzy relace a následné projekce.

Uvažujme dvě fuzzy množiny A1 a B1, které jsou definovány na spojitých univerzech X, Y. Na Obr.3.1.4. je nakreslena konstrukce jejich fuzzy relace R, která vznikne jako průnik jejich cylindrických rozšíření.

Obr.3.1.4

Uvažujme fuzzy množinu A definovanou na univerzu X a R jako fuzzy relaci definovanou na X × Y. Potom kompozicí fuzzy množiny A a relace R je fuzzy množina B, definovaná na Y, pro kterou platí

( )( ) YnaRAcylprojRAB ∩== o Je-li průnik vytvořen pomocí operace min a projekce pomocí operace max pak funkce příslušnosti fuzzy množiny B jako kompozice A a R je dána vztahem

( ) ( ) ( )( )yxxy RAxB ,,minmax μμμ∀

=

a nazývá se min-max (minimaxová, někdy max-min) kompozice. Je-li průnik vytvořen pomocí operace součinu a projekce pomocí operace max potom funkce příslušnosti relace kompozice má tvar

Page 25: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

25

( ) ( ) ( )( )yxxy RAxB ,max μμμ ⋅=∀

a kompozice se nazývá max-produkt kompozicí.

Význam relace kompozice vyplyne v Kap.4, věnované vyvozování tvaru fuzzy

množin výstupní proměnné Mamdaniho fuzzy modelů a tedy i fuzzy regulátorů.

Shrnutí pojmů

V Zadehově fuzzy množinové teorii, která je zobecněním teorie abstraktních množin, je fuzzy množina definována jako třída, která přiřazuje prvkům svého univerza neurčitost pomocí vlastnosti jejich absolutní příslušnosti nebo nepříslušnosti, ale i formou částečné příslušnosti pomocí stupně příslušnosti jako reálného čísla z uzavřeného intervalu 1,0 . Fuzzy množinu popisujeme jejím univerzem, nosičem, alfa-řezy, výškou a jádrem. Fuzzy množina může být normální, konvexní, prázdná. Speciálním typem normální konvexní fuzzy množiny je fuzzy číslo (fuzzy singleton). Základní operace mezi fuzzy množinami definovanými na jednom univerzu jsou fuzzy sjednocení, průnik a doplněk. Rozšířené operace mezi fuzzy množinami zahrnují třídy funkcí t-niormy (fuzzy průnik) a t-konormy (fuzzy sjednocení). Pro fuzzy množiny s různými univerzy jsou definovány fuzzy relace, z nichž důležité jsou kartézský součin, cylindrické rozšíření, projekce a kompozice.

Otázky 3.1

3.1.1 Jaký je hlavní rozdíl mezi obyčejnou a fuzzy množinou ? 3.1.2 Jaký charakter mají operace t-normy ? 3.1.3 Jaký charakter mají operace s-normy ? 3.1.4 Co je to fuzzy relace ? 3.1.5 Jaký význam mají ve fuzzy logice třídy operací t-normy a t-konormy ? 3.1.6 Jaký význam má víceznačnost interpretace fuzzy logických funkcí ?

Úlohy k řešení 3.1

3.1.1 Navrhněte fuzzy množinu a určete stupně příslušnosti jejích významných

prvků! 3.1.2 Popište parametry obyčejné (klasické) množiny!

Page 26: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

26

Další řešené příklady naleznete v kapitole:

CVIČENÍ 2 Fuzzy systém regulující teplotu vody ve sprše (Model Mamdani)

Další zdroje

[1] Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300-09-1 [2] Novák, V.: Fuzzy množiny a jejich aplikace, SNTL Praha, 1992. ISBN 80-03-00325-3 [3] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. ISBN 80-901984-4-9

Page 27: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

27

3.2 Fuzzy množinová formalizace vágnosti

Čas ke studiu: 2 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vysvětlit princip použití fuzzy množin pro formalizaci

významu vágních slovních pojmů • provádět aproximace funkcí příslušnosti analytickými

funkcemi • navrhovat fuzzy množiny pro formalizaci významu vágních

slovních pojmů ...

Výklad

Neurčitý fenomén má v případě slovních popisů chování řízené soustavy

charakter vágnosti. Vágnost je průvodní jev všech složitých, špatně popsatelných objektů, případně systémů, v jejichž funkci se uplatňuje lidský faktor. Pro její formalizaci je v našem případě použito adekvátního aparátu fuzzy množinové teorie [1], [2]. Fuzzy množinový aparát je přirozeným (nikoliv však jediným) prostředkem pro formalizaci vágnosti. Funkce příslušnosti fuzzy množiny

V praxi je fuzzy množina F prvků u ztotožněna s její funkci příslušnosti μF(u). Při popisu grafického průběhu funkce příslušnosti μF(u) vyjdeme nejprve z průběhu funkce příslušnosti μA(u) klasické množiny A, nakresleného na Obr.3.2.1.

Obr.3.2.1

u1 u2

1

0 u

AμA(u)

Page 28: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

28

Prvky u∈ U z uzavřeného intervalu <u1, u2> do množiny A zcela jistě patří, ostatní prvky univerza do množiny A zcela jistě nepatří.

Na Obr.3.2.2 je nakreslena funkce příslušnosti fuzzy množiny F, definované

opět na univerzu U. Prvky <u1, u2> opět do fuzzy množiny F zcela jistě patří, prvky u z intervalu (-∞, u3⟩ a prvky u z intervalu ⟨u4 , ∞) do fuzzy množiny F zcela jistě nepatří.

Obr.3.2.2 Prvkům u z intervalů (u3, u1) a (u2, u4) je funkcí μF(u) přiřazena hodnota jejich příslušnosti do fuzzy množiny F reálným číslem z intervalu (0, 1) a vyjadřuje tedy jejich příslušení částečné.

Praktické použití fuzzy množin vyžaduje analytické vyjádření funkce μF(u).

V praxi používáme nejčastěji jejich aproximaci lomenými přímkami. Příklady takových aproximací a jejich analytické odpovídající aproximaci jsou uvedeny na Obr.3.2.3 až Obr.3.2.6. Funkce příslušnosti jsou parametrizovány jejich čtyřmi body zlomu, tedy hodnotami [a, b, c, d].

Obr.3.2.3

( ) ( ) ( )⎪⎩

⎪⎨

>≤≤−−

<=Γ

bu1buaab/au

au0ba,u,

1

0

F

a b u

μF(

u2 u4 u

1

0

μF(u F

u3 u1

Page 29: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

29

Obr.3.2.4

Obr.3.2.5

Obr.3.2.6

1

0

μF(u F

c ua b d

a u0 b c

1F μF(u)

u

( ) ( ) ( )⎪⎩

⎪⎨

>≤≤−−

<=

bu0buaab/ub

au1ba,u,L

( ) ( ) ( )( ) ( )⎪⎪⎩

⎪⎪⎨

>≤≤−−≤≤−−

<

cu0cubbc/ucbuaab/au

au0

cb,a,u,

( )( ) ( )

( ) ( )⎪⎪⎪

⎪⎪⎪

>≤≤−−≤≤

≤≤−−<

du0ducdc/ud

cub1buaab/au

au0

dc,b,a,u,

1

0

μF(u) F

a b

Page 30: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

30

Případ fuzzy množiny, jejíž funkce příslušnosti má trojúhelníkový tvar (Obr.3.2.5), má zvláštní důležitost. Taková fuzzy množina totiž formalizuje ne zcela přesné, tzv. fuzzy číslo, v daném případě reprezentované jazykovým výrazem „asi b“. Fuzzy čísla (vedle čísel obyčejných, ostrých – zde „přesně b“) mají velký praktický význam, jak uvidíme dále.

Fuzzy množinu A definovanou na univerzu X nazýváme normální, pokud má

výšku 1, neboli

∃ x∈ X, μA(x) = 1. Uvědomíme si, že ostré číslo můžeme rovněž reprezentovat fuzzy množinou (normální fuzzy množina definovaná na jediném prvku univerza). Takovou fuzzy množinu pak nazýváme singleton. Singletonem je fuzzy množina, odpovídající obyčejnému ostrému číslu.

Aproximace funkce příslušnosti fuzzy množiny spojitou funkcí je uvedena na

Ob.3.2.7 a Obr.3.2.8. Křivky jsou parametrizovány dvěma hodnotami – [a,c] resp. [b,c].

Obr.3.2.7

ua b c

1

0,5

0

μF( F

( ) ( ) ( )( ) ( )

⎪⎪

⎪⎪

>≤<−−−

≤<−−

=

cu1cubac/cu21

buaac/au2

au0

ca,u,S22

22

Page 31: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

31

Obr.3.2.8

Fuzzy reprezentace jazykových hodnot Pokusme se popsat pomocí fuzzy množiny vágní pojem "středně vysoký strom". Každé výšce, která připadá v úvahu, přiřadíme číslo <0,1> vyjadřující stupeň našeho přesvědčení, že takový strom je "středně vysoký". Tento stupeň vyplývá z toho, jak rozumíme pojmu "vysoký strom", jak hluboká je v tomto ohledu naše zkušenost, jak dalece jsme v této oblasti experty. Přiřazení takových stupňů (měr příslušnosti) závisí tedy na subjektu a také na kontextu. Po přiřazení funkce příslušnosti prvkům fuzzy množiny je z principu subjektivní a odráží obecně koncept, z něhož je problém posuzován. Pokusme se tedy definovat fuzzy množinu, formalizující vágní pojem "středně vysoký strom". Jedna z možností znázornění takové fuzzy množiny je grafický způsob, kdy na vodorovnou osu budeme vynášet výšky, na svislou osu odpovídající míry příslušnosti. Naše definice je takto zobrazena na Obr. 3.2.9. Takto jsou definovány jako "zcela určitě středně vysoké" stromy s výškou mezi 3m a 5m, (míra příslušnosti 1); naproti tomu mezi "středně vysoké" nejsou zařazeny zcela určitě stromy nižší než 2m a vyšší než 7m (míra příslušnosti 0). Čtenář si zcela určitě vytvoří podobné fuzzy množiny sám ("staré auto", "mladý člověk", "hodně peněz" a pod.). Spojitá křivka zvonového tvaru, představující průběh velikosti míry příslušnosti v závislosti na velikosti prvku univerza, je nazývána funkcí příslušnosti fuzzy množiny formalizovaného pojmu (Obr. 3.2.9).

uc- c+

1

0,5

0

μF( F

c

( ) ( )( )⎩

⎨⎧

≥+−≤−

=Πbubcc,u,S1cucb,cu,S

cb,u,

Page 32: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

32

Obr.3.2.9

Taková křivka bývá často parametrizována čtyřmi body zlomu (2, 3, 5, 7) a aproximována lomenými přímkovými úseky, jak je uvedeno na Obr.3.2.10.

Obr.3.2.10

Nyní definujme funkci příslušnosti µJi(x) takto: µ (x) = (x - ai)/(bi - ai) pro ai< x < bi; µ (x) = (x - di)/(ci - di) pro ci< x < di; µ (x) = 1 pro bi > x < ci µ (x) = 0 pro ai;< x > di Každá jazyková hodnota Ji je pak určena uspořádanou čtveřicí (ai,bi,ci,di). Uspořádaná čtveřice představuje body zlomu aproximační přímky a čtyři hodnoty tvoří v takovém případě čtyři parametry zde lichoběžníkové fuzzy množiny. Jako příklad můžeme uvést již zmíněnou jazykovou proměnnou "výška stromu", která může nabývat tří jazykových hodnot "nízký" J1, "středně vysoký" J2 a "vysoký" J3. Tyto tři jazykové hodnoty jsou reprezentovány třemi fuzzy množinami, a to typy Z, Π a S, podle Obr.3.2.11.

Page 33: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

33

Obr.3.2.11

Přeneseme-li problém do oblasti formalizace vágních proměnných regulačního obvodu, pak musíme uvážit, že regulační odchylka e a akční veličina Δu nabývají hodnot kladných i záporných. Navíc je třeba definovat pro vyregulovaný stav fuzzy hodnotu PŘIBLIŽNĚ NULA. Příklad takové jazykové proměnné je uveden na Obr. 5.2.2, který pro názornost zopakujeme v následujícím příkladu.

Řešené úlohy 3.2

Příklad 3.2.1 Jako příklad praktického použití uvedeme návrh tvarů funkcí příslušnosti fuzzy množin, které formalizují jazykové hodnoty jazykové proměnné „Změna akční veličiny“.

Page 34: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

34

Shrnutí pojmů

Neurčitý fenomén má v případě slovních popisů chování řízené soustavy

charakter vágnosti. Vágnost je průvodní jev všech složitých, špatně popsatelných objektů, případně systémů, v jejichž funkci se uplatňuje lidský faktor. Pro její formalizaci je v našem případě použito adekvátního aparátu fuzzy množinové teorie – fuzzy množin.

Praktické použití fuzzy množin vyžaduje analytické vyjádření funkce μF(u). V praxi používáme nejčastěji jejich aproximaci lomenými přímkami.

Případ fuzzy množiny, jejíž funkce příslušnosti má trojúhelníkový tvar má zvláštní důležitost. Taková fuzzy množina totiž formalizuje ne zcela přesné, tzv. fuzzy číslo. Singletonem je fuzzy množina, odpovídající obyčejnému ostrému číslu.

Přiřazení funkce příslušnosti prvkům fuzzy množiny je z principu subjektivní a odráží obecně koncept, z něhož je problém posuzován. Jazykové hodnoty formalizujeme nejčastěji lichoběžníkovými fuzzy množinami. Každá taková fuzzy množina je pak určena uspořádanou čtveřicí (a, b, c, d). Uspořádaná čtveřice představuje body zlomu aproximační přímky a čtyři hodnoty tvoří v takovém případě čtyři parametry fuzzy množiny.

Otázky 3.2

3.2.1 Jaký je rozdíl mezi funkcí příslušnosti obyčejné a fuzzy množin ?

3.2.2 Jak jsou nejčastěji aproximovány spojité funkce příslušnosti ? 3.2.3 Napište parametrizovaný tvar fuzzy množiny „Vysoká teplota v lednu“ !

Úlohy k řešení 3.2

3.2.1 Napište možné parametrické vyjádření trojúhelníkového fuzzy čísla „velmi zhruba 3,0“!

3.2.2 Napište možné parametrické vyjádření čísla „přesně 100,5“! 3.2.3 Nakreslete možný tvar funkcí příslušnosti jazykových hodnot jazykových proměnných u(t) a Δu(t) !

Další řešené příklady naleznete v kapitole:

CVIČENÍ 4 Fuzzy řízení 4. stupňové automatické převodovky (Model

Takagi‐Sugeno)

Page 35: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie

35

Další zdroje

[1] Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300-009-1 [2] Novák, V.: Fuzzy množiny a jejich aplikace, SNTL Praha, 1992. ISBN 80-03-00325-3

Page 36: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

36

4 VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky

Čas ke studiu: 2 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vysvětlit pojem formule vícehodnotové logiky • definovat pravdivostní ohodnocení výsledků základních fuzzy

logických operací • definovat lingvistickou proměnnou a její atributy • formalizovat jazykové hodnoty lingvistické proměnné fuzzy

množinami

Výklad

Jazyková fuzzy logika Binární ohodnocování situací, které je typické pro klasickou logiku (ano-ne, černý-bílý, 0-1), se - jak jsme již konstatovali - stává na určité úrovni popisu chování a řízení systémů neefektivním. Je-li naším cílem vybudovat formální aparát pro reprezentaci a efektivní využití neurčitosti, je nezbytné nahradit binární logiku logikou vícehodnotovou. Vícehodnotová logika je jedním z typických nástrojů metod umělé inteligence. Vícehodnotovou nazýváme logiku, jejíž pravdivostní hodnoty mohou nabývat více než dvou stavů, nejčastěji z intervalu <0,1>. Jazykovou je pak nazývána taková vícehodnotová logika, ve které jsou pravdivostní hodnoty vyjádřeny pomocí slovního ohodnocení. Interpretace jednotlivých pravdivostních hodnot je přitom vágní. Logickou proměnnou je zde tedy nazývána taková proměnná, která může nabývat hodnot z intervalu <0,1>. Fuzzy logika je vícehodnotová jazyková logika, která využívá aparát a zákony fuzzy množinové matematiky. Pro potřebu fuzzy logiky budeme dále uvažovat množinu logických spojek {and, or, =>} jako fuzzy konjunkci (fuzzy logický součin), fuzzy disjunkci (fuzzy logický součet) a fuzzy implikaci (fuzzy logické vyplývání). Spojením logických proměnných pomocí logických spojek získáme fuzzy logické složené výroky.

Page 37: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

37

Formule jazykové logiky Logickou proměnnou je v teorii vícehodnotové logiky nazývána taková proměnná, která může, na rozdíl od logiky klasické (dvouhodnotové), nabývat obecně libovolných hodnot z intervalu 1,0 . Označme množinu fuzzy logických spojek [1]

{ }=>= &, or, and,S jako fuzzy konjunkci, fuzzy disjunkci, odvážnou konjunkci a fuzzy implikaci. Nechť D je konečná množina fuzzy logických proměnných a S je množina fuzzy logických spojek. Pak můžeme definovat formuli vícehodnotové logiky pomocí rekurzivní definice

1) jestliže Dx∈ , pak x je formule; 2) jestliže 1,0∈π , pak π je formule; 3) jestliže ΓΘ, jsou formule a S∈* , pak ( )ΓΘ* je formule.

Formulí rozumíme např. takový výrok:“TEPLOTA je NÍZKÁ“. Interpretací formule nazveme přiřazení pravdivostních hodnot všem logickým proměnným dané formule.

Pravdivostním ohodnocením formule nazveme zobrazení ( ).V , které každé interpretaci formule Θ přiřadí pravdivostní hodnotu ( )ΘV . Pravdivostní hodnoty jsou definovány takto:

1) ( ) ππ =V pro každé 1,0∈π ; 2) ( ) ( ) ( )( )ΓΘ=ΓΘ VVandV ,min pro každé dvě formule ΓΘ, ; 3) ( ) ( ) ( )( )ΓΘ=ΓΘ VVorV ,max pro každé dvě formule ΓΘ, ; 4) ( ) ( ) ( )( )1;0max& −Γ+Θ=ΓΘ VVV pro každé dvě formule ΓΘ, ; 5) ( ) ( ) ( )( )Γ+Θ−=Γ⇒Θ VVV 1;1min pro každé dvě formule ΓΘ, ; 6) ( ) ( ) ( )( )ΓΘ=Γ⇒Θ VVV ,min pro každé dvě formule ΓΘ, .

Předpis ad 5) představuje jednu z možných interpretací fuzzy implikace ve vícehodnotové fuzy logice, kterou navrhl L.A.Zadeh [2]. Jinou interpretaci, ad 6), navrhuje např. Mamdani [3]. Velice důležitou problematiku interpretace spojky fuzzy mplikace probereme dále. Jazyková proměnná veličina Lingvistická proměnná p je jedním ze základních pojmů nenumerické matematiky; je základním kamenem slovních (jazykových) modelů - popisů chování vyšetřovaných nebo řízených soustav. Podle definice [4] nazýváme lingvistickou proměnnou uspořádanou pětici

( )( )MGUPTPp ,,,,: ,

Page 38: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

38

kde P je jméno (identifikátor) jazykové proměnné p, T(P) je množina jazykových hodnot, kterých může P nabývat, U je univerzum, G je syntaktické pravidlo, pomocí kterého jsou generovány prvky T(P) a M je sémantické pravidlo, které přiřazuje každé jazykové hodnotě její význam ve formě fuzzy množiny s univerzem U. V našem případě interpretujeme jazykovou proměnnou takto:

a) T(P) je konečná množina jazykových hodnot hs, s = 1, 2, 3, ...

b) Syntaktické pravidlo G je výčtem prvků množiny T(P).

c) Sémantické pravidlo M interpretuje každou jazykovou hodnotu hs, s = 1, 2, 3, ... jako konvexní fuzzy množinu na univerzu R

( )[ ] RrrHRrH SS ∈= ,, .

Znamená to tedy, že pravidlo M označuje jednotlivé fuzzy množiny přímo názvy jejich odpovídajících jazykových hodnot. Tím je každá jazyková hodnota hs jazykové proměnné p formalizována pomocí fuzzy množiny Hsr. Tak je realizována fuzzy interpretace neurčitosti, kterou každá jazyková hodnota představuje.

d) Pro každé s = 1, 2, 3, ... platí: hgtHs = 1

Jako příklad uvedeme interpretaci jazykové proměnné „RYCHLOST VOZIDLA“, definovaná na univerzu v [km/hod]. Pro nenumerickou (jazykovou) kvantifikaci této proměnné zvolíme tyto tři lingvistické hodnoty:

h1: NÍZKÁ → H1v h2: STŘEDNÍ → H2v h3: VYSOKÁ → H3v

Podle sémantického pravidla (expertní posouzení) interpretujeme každou jazykovou hodnotu hs, s = 1,2,3, jako konvexní normální fuzzy množinu Hsv. Možná interpretace je uvedena na Obr.4.1.1.

Obr. 4.1.1

Page 39: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

39

Jazykové proměnné a jejich hodnoty budou využity jako proměnné fuzzy jazykových modelů vyšetřovaných soustav (expertní systémy) nebo řízených soustav (fuzzy regulátory). Podle výše uvedené definice je každá jazyková hodnota

( )[ ]rHRrH SS ,= konvexní normální fuzzy množinou (hgtHs= 1). Vyvstává tedy problém určení funkce příslušnosti této fuzzy množiny. Praktické aplikace ukázaly, že je poměrně jednoduché určení množin suppHs a kerHs, zatímco určení α - řezů pro ( )1,0 je velmi problematické; tak se v praxi zadávají pouze množiny suppHs a kerHs jako intervaly, přičemž suppHs je interval otevřený a kerHs interval uzavřený. Položme tedy (analogicky k Obr. 4.1.1, kde r je prvkem univerza reálných čísel R)

suppHs = ( )ss d,a , kerHs = ss c,b Nyní definujme funkci příslušnosti Hsr takto:

( ) SSSS

SS bra

abar

rH <<−−

= , ;

( ) SSSS

SS drc

dcdr

rH <<−−

= , ;

( ) SSS crbrH ≤≤= ,1 ;

( ) SSS ardrH ≤≤= ,0 .

Znamená to, že funkce Hs(r) je lineární na všech intervalech, kde její hodnota není určena zadáním množin suppHs a kerHs. Každá jazyková hodnota Hsr je pak určena uspořádanou čtveřicí {as, bs ,cs, ds}. Uspořádaná čtveřice představuje body zlomu aproximační přímky a čtyři hodnoty tvoří v takovém případě čtyři parametry zde lichoběžníkové fuzzy množiny. S využitím aproximace lomenými přímkovými úseky lze tak definovat celkem 9 typů aproximovaných fuzzy množin [5]. Fuzzy logické funkce

Fuzzy logické funkce mají formálně velmi úzký vztah k fuzzy množinovým operacím t-normy a s-normy. Rozšiřme tedy úvahy z Kap.3.1 do oblasti fuzzy logiky.

Je-li ϕ výrok se stupněm pravdivosti a ∈ <0,1> a ψ výrok se stupněm

pravdivosti b ∈ <0,1>, pak v případě stupeň pravdivosti fuzzy konjunkce obou výroků platí ϕ a současně ψ

Page 40: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

40

lze vypočítat pomocí kterékoliv T(a,b), kde T je nějaká t-norma. Analogicky je pomocí s-norem interpretována fuzzy logická disjunkce. Stupeň pravdivosti výroku

platí ϕ nebo ψ lze vypočítat pomocí kterékoliv S(a,b), kde S je nějaká s-norma. Tak operace průnik [ ]uxux ,min=∧ algebraický součin xuux =⋅ omezený průnik x [ ]1,0max −+= uxu

odvážný průnik x ⎪⎩

⎪⎨

<==

=0,0

11

uxxuux

u

jsou příklady operací triangulární normy (t/normy), zatímco operace sjednocení [ ]uxux ,max=∨ algebraický součet xuuxux −+=+ omezený součet x [ ]uxu += ,1min

odvážný součet x ⎪⎩

⎪⎨

>==

=0,1

00

uxxuux

u

rozpojený součet x ( ) ( )[ ]uxuxu ,1min,1,minmax −−= jsou příklady operacemi triangulární ko-normy (t-konormy, někdy s-normy).

Podívejme se nyní na složenou fuzzy logickou funkci – fuzzy implikaci. Narozdíl od klasické logiky není interpretace fuzzy implikace (podobně jako tomu bylo v případě fuzzy konjunkce, fuzzy disjunkce a fuzzy negace) jednoznačná. Při její konstrukci vyjdeme z analogie ve dvouhodnotové logice. Uvažujme dva klasické (ostré) výroky p a q. Jejich implikaci

p → q je v klasické logice možno vyjádřit pomocí jednoduchých logických funkcí vztahem

( ) qorpnotqp =→ (4.1.1) nebo

p → q = (p and q) or (not p) (4.1.2)

Page 41: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

41

Uvažujeme-li nyní výroky p a q jako fuzzy výroky, můžeme pro operaci and a or použít libovolné t-normy resp. t-konormy. Podle konkrétně zvolené normy pak získáme celou řadu možných interpretací fuzzy implikace (někdy nazývané fuzzy implikačními funkcemi [2]).

Předpokládejme, že fuzzy výrok p obsahuje fuzzy množinu A ⊆ UA a fuzzy

výrok q fuzzy množinu B ⊆ UB. Před vlastní aplikací příslušných norem je opět nutno provést cylindrické rozšíření fuzzy množin A a B na dvojrozměrné univerzum UA × UB.

V současné době je tak známo asi 40 druhů různých fuzzy implikací. Uveďme

alespoň nejvýznamnější z nich. Implikace Kleene-Dienesova (booleovská)

V interpretaci této implikace je ve vztahu (4.1.1) použito pro funktor not operátoru (1 – a) a pro funktor or t-konormy max. Před aplikací operátoru or je opět třeba provést cylindrické rozšíření.

( ) ( ) ( ) ( )( ) ( )

( ) ( ) ( )( )yxyx

yxyxBcylAcylR

BAR

YXBAb

bμμμ

μμ

,1max,

,/,1max

−=

−=∪′= ∫×

Implikace Lukasiewiczova

V interpretaci této implikace je ve vztahu (4.1.1) použito pro funktor not operátoru (1 – a) a pro funktor or s-normy omezený součet. Před aplikací operátoru or je opět třeba provést cylindrické rozšíření.

( ) ( ) ( ) ( )( ) ( )

( ) ( ) ( )( )yxyx

yxyxBceAcylR

BAR

YXBAa

aμμμ

μμ

+−=

+−=⊕′= ∫×

1,1min,

,/1,1min

Implikace Zadehova

V interpretaci této implikace je ve vztahu (4.1.2) použito pro funktor not operátoru (1 – a), pro funktor and je použito t-normy min a pro operaci or je využito s-normy max.

( ) ( )( ) ( ) ( ) ( )( ) ( )( ) ( )

( ) ( ) ( )( ) ( )( )xyxyx

yxxyxAcylBcylAcylR

ABAR

YXABAm

mμμμμ

μμμ

−=

−=′∪∩= ∫×

1,,minmax,

,/1,,minmax

Implikace Larsenova

Page 42: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

42

Využívá vztahu p → q = (p and q), kde pro operaci and je použito t-normy

algebraický součin. Z matematického hlediska se pro tuto relaci nejedná o implikaci, je však v literatuře takto nazývána a pro její funkci příslušnosti platí

( ) ( ) ( ) ( ) ( )

( ) ( ) ( )yxyx

yxxxBcylAcylR

BAR

BYX

Ap

pμμμ

μμ

⋅=

⋅=∩= ∫×

,

,/

Implikace Mamdaniho

Tato velmi často používaná implikace využívá opět vztahu p → q = (p and q), v němž operace and je reprezentována t-normou min. Z matematického hlediska se opět nejedná o implikaci.

( ) ( ) ( ) ( )( ) ( )

( ) ( ) ( )( )yxyx

yxyxBcylAcylR

BAR

YXBAc

cμμμ

μμ

,min,

,/,min

=

=∩= ∫×

Fuzzy implikační funkce interpretují ve fuzzy modelech funkci THEN mezi antecedentem a konsekventem pravidel. Nejčastěji používanou implikační funkcí jsou implikace Mamdaniho a Larsenova. Využití variantních interpretací fuzzy logických funkcí v praxi bude uvedeno v následujících kapitolách o fuzzy modelování a aproximativním vyvozování.

Řešené úlohy 4.1

Příklad 4.1.1 Uveďme rozdíl, který plyne z použití Mamdaniko implikace a Larsenovy implikace ve ttvaru výstupní fuzzy množiny fuzzy modelu.

Mamdaniho implikace Larsenova implikace

Page 43: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

43

Shrnutí pojmů

Logickou proměnnou je v teorii vícehodnotové logiky nazývána taková

proměnná, která může nabývat obecně libovolných hodnot z intervalu <0,1>. Nejdůležitější fuzzy logické operace jsou konjunkce, disjunkce, odvážnou konjunkce a implikace.Definujeme formuli vícehodnotové logiky, její interpretací nazveme přiřazení pravdivostních hodnot všem jejím logickým proměnným. Jazyková proměnná je základním kamenem slovních modelů. je definována jménem, množinou svých jazykových hodnot, univerzem, syntaktickým a sémantickým pravidlem. Touto definicí je realizována fuzzy interpretace neurčitosti (vágnosti), kterou každá vágní lingvistická hodnota představuje. Jazykové hodnoty jsou formalizovány fuzzy množinami, jejichž funkce příslušnosti jsou nejčastěji aproximovány lomenými přímkovými úseky (lichoběžníková fuzzy množina). Vícehodnotová logika je jedním z typických nástrojů metod umělé inteligence. Vícehodnotovou nazýváme logiku, jejíž pravdivostní hodnoty mohou nabývat více než dvou stavů, nejčastěji z intervalu <0,1>. Fuzzy logika je vícehodnotová jazyková logika, která využívá aparát a zákony fuzzy množinové matematiky. Pro potřebu fuzzy logiky budeme dále uvažovat množinu logických spojek {and, or, =>} jako konjunkci, disjunkci a implikaci.

V klasické logice je význam (interpretace) všech logických spojek jednoznačná. Fuzzy logika se naopak vyznačuje tím, že interpretace fuzzy logických spojek jednoznačná není, každá spojka může být interpretována (vyhodnocována) několika možnými způsoby. Fuzzy logika tedy umožňuje pro každý řešený případ použít takové interpretace logických spojek modelu, které „doladí“ chování modelu přesně podle vlastností a chování modelované soustavy.

Otázky 4.1

4.1.1 Co je to vícehodnotová jazyková logika ? 4.1.2 Jaký je rozdíl mezi ostrým (obyčejným) logickým a fuzzy logickým výrokem ? 4.1.3 Jaká je pravdivostní hodnota dvou fuzzy tvrzení spojených fuzzy logickou spojkou „algebraický součin“ ? 4.1.4 Jak se jmenují třídy funkcí fuzzy logických konjunkcí a fuzzy logických disjunkcí ? 4.1.5 Může být Mamdaniho implikace považována za obyčejnou konjunkci ? 4.1.6 Čím je typická fuzzy logika ?

Page 44: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

44

Úlohy k řešení 4.1

4.1.1 Jaké je vyjádření složité logické funkce implikace pomocí logických funkcí

jednoduchých! 4.1.2 Nakreslete fuzzy funkci příslušnosti množiny, která vznikne fuzzy

sjednocením dvou fuzzy množin s použitím operace sjednocení a omezený součet.

Další řešené příklady naleznete v kapitole: CVIČENÍ 5 Expertní systém pro regulaci teploty tepelné soustavy v PLC

Siemens (S7 3xx)

Další zdroje

[1] Druckmüller,M.: Technicky orientované lingvistické modely reálných funkcí

více proměnných, VUT Brno, KOVS, sv. B-119, 1988 [2] Zadeh,L.A.: The Role of Fuzzy Logic in the Management of Uncertainty in

Expert Systems, Fuzzy Sets and Systems, 11, 1983 [3] Mamdani,A., Gaines,B.R.: Fuzzy Reasoning and Its Applications, Academic

Press, New York, 1981 [4] Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300-009-1 [5] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. I

SBN 80-901984-4-9

Page 45: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

45

4.2 Fuzzy-logické jazykové modely

Čas ke studiu: 3 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vytvořit jazykový model pomocí vět přirozeného jazyka • definovat strukturu a parametry jazykového fuzzy modelu • sestavit jazykový pravidlový model jednoduché funkce

Výklad

Jazykové modely Základem nenumerických popisů chování složitých soustav, v našem případě nenumerických popisů zákona řízení, jsou jazykové modely [1], [2]..

Jazykový model můžeme definovat jako výrok, v němž se vyskytují jazykové proměnné p, jejich jména P, jména jejich jazykových hodnot hs, logické spojky S a pravdivostní hodnoty ( ) 1,0. ∈V . Popisujeme-li jazykovým modelem chování reálné funkce f(x1, x2, ..., xn) o n proměnných, potom, řečeno intuitivně, je jazykový model „pravdivý výrok o chování funkce f“. Významnou výhodou jazykového modelu je možnost vytvoření formálního zápisu, který nám umožní zapsat jazykový model tak, jak je běžným způsobem napsána česká věta. Nechť p = (P, hs, U) je jazyková proměnná, kde P je její jméno (identifikátor), hs je množina jejich jazykových hodnot a U je univerzum, na němž je proměnná p definována. Místo Hsp pak píšeme:

„P je hs“ Máme-li např. jazykovou proměnnou

p = (TEPLOTA, hs, R) a množina hs jejích jazykových hodnot je

hs = {NÍZKÁ, STŘEDNÍ, VYSOKÁ}, s = 1, 2, 3, potom místo zápisu funkce příslušnosti

(VYSOKÁ)p

Page 46: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

46

píšeme větu

„TEPLOTA p je VYSOKÁ“. (4.1.1) Dosadíme-li za p konkrétní hodnotu p0, pak tento výrok bude mít pravdivostní hodnotu rovnu míře příslušnosti hodnoty p0 k fuzzy množině (VYSOKÁ)p, tedy (VYSOKÁ)(p0). Proveďme nyní formální úpravu zápisu s využitím logického spojení ⇒ (implikace). Napsanou implikaci logických formulí ΓΘ,

„ Γ⇒Θ „ interpretujeme ve formě podmíněného výrazu Mamdaniho IF-THEN pravidla

JESTLIŽE (IF) Θ PAK (THEN) Γ (4.2.2) Podmíněné výrazy nám umožňují, aby se formální zápis lingvistického modelu ještě více přiblížil běžnému vyjadřování v přirozené lidské řeči, než je jednoduchá věta (4.1.1) . K tomu používáme skládání jednoduchých podmíněných výrazů (4.2.2) do výrazů složených.

Složený podmíněný výraz představuje např. tato věta, která je lingvistickým modelem (popisuje jednu, dílčí stránku chování jakési technologické soustavy: „Jestliže (IF) (TEPLOTA t je NÍZKÁ) a (TLAK p je VYSOKÝ) a (RYCHLOST PROUDĚNÍ v je VYSOKÁ), pak (THEN) (STABILITA SOUSTAVY s je MALÁ)“ (4.2.3) Část podmíněného výrazu vlevo od implikace „pak“ se nazývá jeho podmínkovou částí (antecedentem, premisou), pravá část pak jeho důsledkovou částí (konsekventem). Složený podmíněný výraz (4.2.3) je zapsán ve formě tzv. „IF-THEN“ pravidla. Obecně má takové pravidlo tvar, jehož antecedent tvoří konjunkce jednoduchých tvrzení Γ (xj) o chování jazykových proměnných xj (vstupní, nezávisle proměnné modelu) a jeho konsekventem je tvrzení Ω (y) o odpovídajícím chování proměnné y (výstupní, závisle proměnná modelu):

IF ( ) ( ) ( )[ ]nxandandxandx ΓΓΓ ...21 THEN ( )[ ]yΩ (4.2.4) Užití logické spojky „and - konjunkce“ v tomto vztahu je zdůvodněno tím, že jsou-li x1, x2, ..., xn nezávisle proměnné, neexistuje mezi nimi vnitřní souvislost. Reálný jazykový model je vytvořen složením množiny prohlášení. Jednotlivá prohlášení jsou spojována logickou spojkou fuzzy disjunkce nebo fuzzy konjunkce. Tím vznikne model tvaru vícenásobného (multi) prohlášení disjunktivního (součtového) resp. konjunktivního (součinového) typu. Tak např. model konjunktivní model s m prohlášeními má tvar

Page 47: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

47

IF ( ) ( ) ( )[ ]nn xandandxandx 1221111 ... ΓΓΓ THEN ( )[ ]y1Ω and IF ( ) ( ) ( )[ ]nn xandandxandx 2222112 ... ΓΓΓ THEN ( )[ ]y2Ω and . . . and IF ( ) ( ) ( )[ ]nnmmm xandandxandx ΓΓΓ ...2211 THEN ( )[ ]ymΩ

zatímco model disjunktivní má za stejných podmínek tvar

IF ( ) ( ) ( )[ ]nn xandandxandx 1221111 ... ΓΓΓ THEN ( )[ ]y1Ω or IF ( ) ( ) ( )[ ]nn xandandxandx 2222112 ... ΓΓΓ THEN ( )[ ]y2Ω or . . . or IF ( ) ( ) ( )[ ]nnmmm xandandxandx ΓΓΓ ...2211 THEN ( )[ ]ymΩ

Pro fuzzy logické spojení pravidel modelu můžeme použít kteroukoliv funkci t-konormy nebo t-normy. Obvykle je však použita obyčejná disjunkce (max) nebo, a to čestěji, obyčejná konjunkce (min) [2]. Aproximace neurčité funkce fuzzy modelem

Uvažujme ne zcela určitou relaci mezi dvěma veličinami, x a y (Obr. 4.2.1. Obě proměnné jsou vázány ne zcela určitým vztahem, reprezentovaný tolerančním pásem možných hodnot.

Page 48: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

48

Obr. 4.2.1 Pro každé x = a, y = b můžeme pouze konstatovat, že „Jestliže (x je a) pak (y je b)“. Uvažujme hodnoty a, b jako fuzzy čísla (fuzzy množiny) A ,B. Nepřesnou funkci y = f(x) budeme chápat jako fuzzy relaci R(X,Y), její funkci příslušnosti ),( yxRμ . Definujme průnik cylindrického rozšíření A na R(x,y) – viz Obr. 4.2.1, černé pole.

),()(),()(),( yxxyxxyx RARcylcylARcylA μμμμμ ∩=∩=∩ Provedeme-li projekci výsledného průniku do osy y, dostaneme pro funkci příslušnosti fuzzy množiny B ),()()( yxxy RAxB μμμ ∩∪= Budeme-li interpretovat sjednocení jako maximum a průnik jako minimum, dostaneme vztah [ ]),(),(minmax)( yxxy RAxB μμμ =

Jde o kompozici fuzzy množiny s binárnní relací. Pokud bychom průnik a sjednocení definovali pomocí jiné funkce t-normy a t-konormy, dostali bychom jiný typ kompozice. Nejnázornější a v praxi nejužívanější je právě uvedená max-min kompozice. Odtud plyne již uvedené kompoziční vyvozovací pravidlo AB = o B Uvažujme soustavu s dvěma vstupními a jednou výstupní proměnnou [6]. Tuto soustavu budeme modelovat s využitím fuzzy modelu Mamdani, který bude mít dvě vstupní a jednu výstupní jazykovou proměnnou. Všechny proměnné nechť mají dvě jazykové hodnoty – MALÝ a VELKÝ.

Sestavíme jazykový model soustavy s použitím dvou pravidel, z nichž první se

bude vyjadřovat k situaci, v níž je hodnota výstupní proměnné MALÁ a druhé k situaci v níž je hodnota výstupní proměnné VELKÁ. R1: IF(x1 is MALÝ) and (x2 is VELKÝ) THEN (y is MALÝ) R2: IF(x1 is VELKÝ) and (x2 is VELKÝ) THEN (y is VELKÝ) Jazykové proměnné vstupních veličin x1 a x2 a výstupní veličiny y jsou nakresleny na obrázku Obr.4.2.2, který současně reprezentuje graficky obě pravidla modelu. Fuzzy množiny jazykových hodnot, které jsou aktuální v jednotlivých pravidlech jsou zdůrazněny tučnými čarami.

Page 49: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

49

Obr.4.2.2 Struktura a parametry jazykového fuzzy modelu Struktura pravidlového fuzzy modelu jr určena

- typem fuzzy modelu - počtem a typem vstupních jazykových proměnných, - počtem a typem výstupních jazykových proměnných, - počtem a typem jazykových hodnot, - počtem a typem podmíněných pravidel modelu.

Parametry pravidlového fuzzy modelu jsou dány - parametry fuzzy množin jazykových hodnot vstupních proměnných - parametry fuzzy množin jazykových hodnot výstupních proměnných

- typem interpretace fuzzy logických funkcí v modelu - typem defuzifikační procedury - parametry analytické funkce v konsekventu pravidel (pokud je použita). V dosavadním výkladu jsme uvedli pouze jeden (řekněme základní) typ plavidlového fuzzy modelu – model Mamdaniho. Kromě tohoto modelu je v teorii i praxi fuzzy modelů velmi rozšířený model typu Takagi-Sugeno. Tento model zaujímá významné místo i v technologii fuzzy regulace a je mu věnována zvláštní kapitola (Kap.6.1).

Řešené úlohy 4.2

Příklad 4.2.1 Uveďme příklad sestavení modelu Mamdani pro jednorozměrnou nelineární funkci f(x) s průběhem podle obrázku Obr.1.

Page 50: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

50

Obr.1

Obor hodnot vstupní proměnné x rozdělme do dvou částí, které pojmenujeme jazykově jako MALÁ a VELKÁ. Tyto jazykové hodnoty vyjádříme pomocí dvou fuzzy množin, a to Mx a Vx. Obdobně obor hodnot závisle proměnné rozdělíme na dvě části – MALÁ a VELKÁ. Tyto jazykové hodnoty budeme formalizovat fuzzy množinami My a Vy.

Čárkované přímky rozdělují obor hodnot funkce f(x) na čtyři části, přičemž

funkce probíhá oblastí označenou I a II. V těchto dvou částech podprostorech) je funkce f(x) definována dvěma fuzzy pravidly typu Mamdani

IF (x is Mx) THEN (y is My) IF (x is Vx) THEN (y is Vy)

Shrnutí pojmů

Jazykový model můžeme definovat jako výrok, v němž se vyskytují jazykové

proměnné, jejich jména, jména jejich jazykových hodnot, logické spojky a pravdivostní hodnoty. Základem nenumerických popisů chování složitých soustav, v našem případě nenumerických popisů zákona řízení, jsou jazykové modely

Významnou výhodou jazykového modelu je možnost vytvoření formálního zápisu, který nám umožní zapsat model tak, jak je běžným způsobem napsána česká věta. Podmíněné výrazy Jestliže-Pak nám umožňují, aby se formální zápis lingvistického modelu ještě více přiblížil běžnému vyjadřování v přirozené lidské řeči, než je jednoduchá věta. Část podmíněného výrazu vlevo od implikace „pak“ se nazývá jeho podmínkovou částí (antecedentem, premisou), pravá část pak jeho důsledkovou částí (konsekventem). Jazykový model je vytvořen složením množiny prohlášení, čímž vznikne model tvaru vícenásobného (multi) prohlášení.

Page 51: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

51

Jazykový model pak můžeme definovat jako výrok, v němž se vyskytují jména jazykových proměnných, jména jejich jazykových hodnot, logické spojky a pravdivostní hodnoty <0,1>. Významnou výhodou jazykového modelu je možnost vytvoření formálního zápisu, který nám umožní zapsat jazykový model tak, jak je běžným způsobem napsána česká věta.

Pro formalizaci zkušeností (znalostí) mají zásadní význam tzv. podmíněná tvrzení – fuzzy pravidla IF-THEN.. Množině fuzzy pravidel říkáme pravidlový fuzzy model. Konsekventy pravidel takového fuzzy modelu mají tvar fuzzy výroku o velikosti výstupní jazykové proměnné a model je nazýván podle svého tvůrce pravidlovým modelem typu Mamdani.

Otázky 4.2

4.2.1 Jakou výhodu má formální zápis jazykového modelu oproti modelu

matematickému ? 4.2.2 Z jakých částí se skládá podmíněné jazykové pravidlo ? 4.2.3 Jakou fuzzy logickou spojkou mohou být spojena dílčí pravidla fuzzy

modelu ?

Úkoly k řešení 4.2

4.2.1 Sestavte jednoduchý jazykový model stability automobilu na kluzké

vozovce ! 4.2.2 Formalizujte jazykovou proměnnou „TEPLOTA V PECI“ a navrhněte tři její

jazykové hodnoty vyjádřené fuzzy množinami!

Další řešené příklady naleznete v kapitole: CVIČENÍ 6 Expertní systém pro regulaci teploty s chlazením tepelné

soustavy v PLC Siemens (S7 3xx) a řízením otáček 3. fázového motoru pomocí měniče Siemens Micromaster

Další zdroje

[1] Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300-009-1 [2] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. ISBN 80-901984-4-9 [3] Vysoký,P.: Fuzzy řízení, ČVUT Praha, FEL, 1996. ISBN 80-01-01429-8..

Page 52: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

52

4.3 Aproximativní vyvozování

Čas ke studiu: 3 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vysvětlit vyvozovací metodu Fuzzy Modus Ponens • vysvětlit algoritmus Mamdaniho metody vyvozování • vysvětlit algoritmus Takali-Sugenovy metody vyvozování • vysvětlit algoritmus Tsukamotovy metody vyvozování

Výklad

Metoda Fuzzy Modus Ponens Rozvineme úvahu o aproximativním vyvozování odpovědi z kap. 4.1. Pro stanovení aproximace výstupní hodnoty modelu (odpověď) při známých vstupních hodnotách (dotaz) by bylo velmi výhodné, kdybychom mohli nalézt „přenos“ mezi vstupním dotazem a výstupní odpovědí, např. ve formě transformační matice R tak, aby platilo

Xr o R = Yr pro r = 1, 2, ... m Funktorem „o“ označíme novou operaci kompozice (superpozice) fuzzy relací Xr a R. Tato operace kompozice je definována takto: nechť F je fuzzy relace na univerzu (kartézském součinu)

21 UUU ×= a G je fuzzy relace na univerzu (kartézském součinu)

32 UUV ×= . Potom kompozice

F o G je fuzzy relace na univerzu

31 UU × , pro jejíž funkci příslušnosti platí

Page 53: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

53

( )( ) ( ) ( )( )[ ]322131 ,,,minmax,

22

uuGuuFuuFoGUu ∈

= .

Operace kompozice dvou fuzzy relací je analogická operaci násobení dvou matic. Namísto součinu dvou prvků matice zde vystupuje minimum dvou stupňů příslušnosti a namísto součtu je jejich maximum. Známe-li transformační matici R, můžeme pro každý diskretizovaný dotaz Q = (x1, x2, ..., xn) pomocí kompozice (Q o R) vypočítat diskretizovanou odpověď pravidla Bry, r = 1, 2, ..., m. Skutečnou (globální) odpověď modelu B nalezneme jako sjednocení přes všechny lingvistické hodnoty závisle proměnné, jak bude uvedeno dále. Jak již bylo řečeno, přístup odvození odpovědi fuzzy modelu pomocí transformační matice R a operace kompozice odpovídá postupu vyvozování závěrů v klasické logice pomocí pravidla Modus Ponens. Toto pravidlo je pomocí uvedené operace zobecněno do formy pravidla fuzzy Modus Ponens a lze je vyjádřit tímto schématem:

antecedent 1 : x is A'x (DOTAZ Q) antecedent 2 : IF x is Ax THEN y is By (MODEL) ------------------------------------------------------------------------------------- konsekvent : y is Boy (ODPOVĚĎ Boy)

Toto schéma je v teorii aproximativního vyvozování formalizováno výrazem [1]

Q, R __________ Boy = (Q o R)

v němž (Q o R) je hledaný důsledek Boy (výsledek vyvození, odpověď) dotazu Q při platnosti fuzzy mnohonásobného multiprohlášení R jako fuzzy lingvistického modelu (transformační matice). Je-li y libovolný bod univerza U závisle proměnné, pak pro hodnotu funkce příslušnosti v tomto bodě platí vztah [13]

( ) ( )( ) ( ) ( )( ) ⎟⎠

⎞⎜⎝

⎛⎟⎠⎞

⎜⎝⎛

⎟⎠⎞

⎜⎝⎛ ⎟

⎠⎞⎜

⎝⎛=

<<<<<<∈yBuAuAyB rjrjnjmrjjnjUu

,minminmax,minminsup111

(4.3.1)

kde u = (u1, u2, ..., un) je libovolný bod univerza U jako kartézského součinu univerz antecedentu prohlášení. Uvedený vztah vyžaduje, aby supremum na jeho pravé straně bylo počítáno přes celý kartézský součin (n-rozměrný prostor), což je algoritmicky i časově velmi náročné. Proto v používaném algoritmu výpočtu pro disjunktivní model CCD je vztah (4.3.1) optimalizován pomocí funkce fuzzy konzistence Cons [1]. Uvažujme dvě tvrzení

R1: x is Au (4.3.2) R2: x is Bu

Page 54: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

54

přičemž budeme považovat tvrzení R2 jako platné, referenční. Hledejme míru souhlasu tvrzení R1 za předpokladu platnosti referenčního tvrzení R2. Tato míra konzistencí obou tvrzení a je dána vztahem

( ) ( ) ( ) ( )[ ]uBuASupBuAuConsRRConsUu

×==∈

,, 21 (4.3.3)

Konzistence dvou tvrzení je dána velikostí maximální hodnoty míry příslušnosti průniku fuzzy množin, formalizujících lingvistické hodnoty jejich jazykových proměnných. Aplikace této operace na výraz (4.3.1) redukuje prohledávaný prostor na dvojrozměrný [1]

( ) ( ) ( )( ) ⎟⎠⎞

⎜⎝⎛ ⎟

⎠⎞⎜

⎝⎛=

<<<<xAxAConsyByB rjjnjrmr

,min,minmax11

.

Poznamenejme, že takováto optimalizace výpočtového algoritmu (4.3.1) je použitelná pouze pro modely využívající Mamdaniho inference (viz dále). Mamdaniho vvozovací metoda

Ukážeme Mamdaniho vyvozovací metodu na jednoduchém řídicím fuzzy modelu, sestávající ze dvou pravidel:

R1: IF (x1 is A11x1) and (x2 is A12x2) THEN (u1 is B1u)

R2: IF (x1 is A21x1) and (x2 is A22x2) THEN (u2 is B2u) Označme naměřené aktuální hodnoty vstupních proměnných jako fuzzy čísla „asi“x1

0“ = Ax10 a „asi“x2

0 = Ax20.

Použijeme implikační funkci typu t-norma pro operaci „průnik“ s použitím Mamdaniho relace:

Ax → Bu = ( ) ( ) ( )uxuBxABuAxUX

,/∫ ×∧=×

Zaveďme označení, týkající se r-tého pravidla, r = 1, 2, ..., m:

g1 = Cons [Ax10, Ar1x1]

g2 = Cons [Ax2

0, Ar2x2] Crisp koeficienty g1, g2 představují pravdivostní hodnoty obou dílčích výroků v antecendentu r-tého pravidla. Dále označme

gr = min [g1, g2], (4.3.4) což je vlastně výsledná hodnota ořezávacího koeficientu fuzzy množiny jazykové hodnoty závisle proměnné r-tého pravidla. Výsledkem implikace je tedy průnik

Page 55: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

55

Bgru = [gr ×Bru],

což je vlastně „ořezání“ fuzzy množiny Bru na úrovni gr . Pro r = 1, 2, ..., m pravidel je pak výsledek inference

[ ]UUm

rrr

m

r

grc uBguBBuR

11

:==

×== ,

tedy sjednocení (disjunkce) fuzzy množin výsledků vyvození dílčích pravidel Bgru. Ořezávací koeficient gr je váhovým koeficientem, který představuje příspěvek r-tého pravidla fuzzy akční veličině. Grafická interpretace vyvození fuzzy akční veličiny Bgru je na Obr.4.3.1

Obr.4.3.1 Uveďme jiný způsob formálního zápisu procedury Mamdaniho vyvozovací metody a připojme její grafickou interpretaci [2]

Podmínka: Jestliže je rajské jablíčko červené pak je zralé Premisa: Jablíčko je velmi červené Závěr: Jablíčko je velmi zralé

tedy

Podmínka: Jestliže x je A pak y je B Premisa: x je Am (4.3.5) Závěr: y je Bm

Fuzzy výroky A a B byly v našem příkladu modifikovány jazykovým operátorem „velmi“. Uveďme [2], že závěr přibližného úsudku (tj. tvar fuzzy množiny Bm) lze získat pomocí operace kompozice

Page 56: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

56

( )( ) YnaRAcylprojRAB mmm ∩== o kde R je fuzzy relace, reprezentující fuzzy implikaci

IF(x is A) THEN (y is B) V případě, že tato implikace je typu Mamdani, platí pro funkci příslušnosti výsledné fuzzy množiny

( ) ( ) ( )[ ]{ }yxxy RAx

B ,,minsup22

μμμ = (4.3.6)

Velmi častým případem je situace, kdy modifikovaná fuzzy množina Am (1) je fuzzy množina typu singleton – ostré číslo a fuzzy množiny A1, B1 jsou definovány na spojitých univerzech. V případě použití Mamdaniho implikace je možno proceduru přibližného usuzování (vyvození závěru Bm znázornit graficky, jak je uvedeno na Obr.1.

Obr.4.3.2

Supremum v rovnici (2) tvoří ostrá hodnota x* a pro funkci příslušnosti výstupní fuzzy množiny B2 platí

( ) ( )[ ]{ } ( )yxyxx RRAB ,,,min12

∗∗∗ == μμμμ Rovina, proložená vstupním singletonem x* vytne v relaci R lichoběžník, který je pak promítnut operací projekce na univerzum Y. V jedné rovině pak lze Obr.1 nakreslit jednodušeji - viz Obr.2.

B1

A1

x

yY

X

Am

Bm

R

Page 57: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

57

Obr. 4.3.3 Larsenova vyvozovací metoda Použijme stejný jednoduchý řídicí fuzzy model. Larsenova vyvozovací metoda používá fuzzy implikační funkci typu t-normy s operací aritmetický součin (Larsenova relace)

Ax → Bu = ( ) ( ) ( )uxuBxABuAxUX

,/∫ ×⋅=⋅

V tomto případě vede r-té pravidlo k řídícímu rozhodnutí

Bru = [gr . Bru] a výsledek pro r = 1, 2, ..., m je dán funkcí příslušnosti

[ ]Um

rrrp uBgBuR

1

:=

⋅=

Proces vyvozování je ilustrován na Obr.4.3.2. Rozdíl oproti metodě Mamdani je zřejmý.

Page 58: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

58

A(x1)

A(x1)

A(x2)

A(x2)

B(u)

B(u) B0(u)

x1

x1

x2

x2

u

u

u

g11g12

g21

g22

Ax10 A11x1 Ax2

0A12x2 B1u

B1

B2

B2uAx10 A21x1 Ax2

0A22x2

B1u B2u

x10 x2

0

Obr.4.3.2 Tsukamotova vyvozovací metoda Je zjednodušením metody Mamdani pro případ, kdy funkce příslušnosti jazykových hodnot lingvistických proměnných jsou monotónní. Výsledek, vyvozený z prvního pravidla je g1, takže g1 = B1(u1), z druhého pravidla pak je g2 takže g2 = B2(u2). Crisp řídící veličina může být vyjádřena váhovou kombinací

21

2211

ggugug

u o

++

=

jak ukazuje Obr. 4.3.3. Vstupní hodnoty x1

0, x20 jsou uvažovány jako obyčejná (crisp)

čísla.

Obr. 4.3.3

Page 59: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

59

Řešené úlohy 4.3

Příklad 4.3.1 Provedeme algoritmizaci Mamdaniho inferenční metody s použitím alternativní symboliky fuzzy množin jako funkcí příslušnosti 1. Uvažujme kompoziční vyvozovací pravidlo

RyB =)(0 o )( 0jxA

kde )(0 yB je vyvozená (výstupní, globální) hodnota z modelu R, R je Mamdaniho

pravidlový fuzzy model, o je fuzzy relace kompozice a )( 0jxA je vektor aktuálních

hodnot vstupních proměnných (dotaz), j = 1 ,…, n. Tvar r-tého pravidla Mamdaniho fuzzy modelu IF [ 1x is )( 1xAr and 2x is )( 2xAr and … and nx is )( nr xA ] THEN [ y is )(yBr ] 2. Pravdivostní hodnota j-tého dílčího fuzzy tvrzení o velikosti j-té vstupní proměnné xj v r-tém pravidle max, =jrμ {

jxmin [ )(),( 0

jrj xAxA ] = Cons [ )(),( 0jrj xAxA ] }

kde Cons je fuzzy relace konzistence. 3. Pravdivostní hodnota antecedentu r-tého pravidla je vypočtena jako fuzzy konjunkce jednotlivých fuzzy tvrzení v antecedentu pravidla, interpretovaného jako Godelova konjunkce (minimum), tedy

jr min=μ { jr ,μ } = j

min {Cons [ )(),( 0jrj xAxA ]}

4. Vyvozená (výstupní, dílčí) hodnota z r-tého pravidla fuzzy modelu R je vypočtena s použitím fuzzy implikační funkce THEN interpretované jako Mamdaniho implikační funkce (minimum)

)(0 yBr = y

min{ rμ , )(yBr } = y

min{j

min {Cons [ )(),( 0jrj xAxA ], )(yBr }}

5. Vyvozená (výstupní, globální) hodnota z modelu fuzzy modelu R je vypočtena za předpokladu fuzzy disjunktivního spojení jednotlivých pravidel modelu, kdy fuzzy disjunkce je interpretována jako Godelova disjunkce (maximum)

)(0 yB = y

max{ )(0 yBr } = y

max{y

min{j

min {Cons [ )(),( 0jrj xAxA ], )(yBr }}}

Page 60: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

60

Uvedená metoda se nazývá podle operací, použitých ve vztahu pro stanovení tvaru funkce příslušnosti výsledku, rovněž metodou mini-maxovou.

Shrnutí pojmů

Tvar fuzzy množiny výstupní jazykové hodnoty fuzzy modelu (odpověď) při

zadání konkrétních hodnot proměnných vstupních (dotaz) je vypočítán (vyvozen) procedurou aproximativního (přibližného) vyvození. Jeho principem je logické vyvozovací pravidlo Modus Ponens, které je pro potřebu použití ve fuzzy logice zobecněno zavedením neurčitosti. K vyvození je odvozena speciální fuzzy relace – kompozice. Výsledný tvar je variantní, závislý na konkrétní interpretaci fuzzy logických spojek.

Základní vyvozovací metodou je metoda Mamdaniho, jejímž výstupem je fuzzy množina. Výstupem metody Takagi-Sugenovy metody a metody Tsukamotovy je obyčejné ostré číslo.

Otázky 4.3

4.3.1 Co je procedura aproximativního vyvozování ? 4.3.2 Jaký je rozdíl mezi obyčejnou a fuzzy verzí vyvazovacího pravidla Modus Ponens ? 4.3.2 Jaký je postup vyvození fuzzy množiny závisle proměnné veličiny u modelu Mamdani ? 4.3.3 Jaký je principiální rozdíl mezi vyvazovacími metodami Mamdani a Takagi-Sugeno ?

Úlohy k řešení 4.3

4.3.1 Vyslovte příklad vyvazovacího pravidla Fuzzy Modus Ponens v ostré a fuzzy verzi ! 4.3.2 Jako výhodu má tvar výstupu modelu Takagi-Sugeno oproti modelu mandami, jsou-li použity jako fuzzy regulátor ? 4.3.3 Uvažujme fuzzy systém, který umožňuje vyvozovat množství vznikající biomasy ve fermentoru v závislosti na teplotě reakčního prostoru. Jazykový model fermentoru typu mandami má jednu vstupní jazykovou proměnnou A - teplota reakčního prostoru a jednu výstupní jazykovou proměnnou B - množství biomasy. Vstupní proměnná má dvě jazykové hodnoty: A1- SNÍŽENÁ, A2 - ZVÝŠENÁ, výstupní proměnná má jazykové hodnoty: B1-

Page 61: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely

61

NIŽŠÍ, B2 - VYŠŠÍ. Expert vyslovil o chování systému dvě tvrzení, tvořící model typu CCD:

R1: Jestliže(TEPLOTA je SNÍŽENÁ)pak(MNOŽSTVÍ BIOMASY je NIŽŠÍ) or R2: Jestliže(TEPLOTA je ZVÝŠENÁ)pak(MNOŽSTVÍ BIOMASY je VYŠŠÍ)

Zápisem formou IF-THEN pravidel dostaneme CCD model R1: IF (x is A1x) THEN (y is B1y) or R2: IF (x is A2x) THEN (y is B2y)

Dále expert definoval pro vstupní i výstupní proměnnou lingvistické hodnoty A1, A2, B1, B2 a stanovil parametry jejich fuzzy reprezentací A1x, A2x, B1y, B2y.

A1x = {0.1/15, 0.4/16, 0.8/17, 1.0/18, 0.9/19, 0.6/20 } A2x = {0.3/15, 1.0/16, 0.6/17, 0.35/18, 0.05/19, 0.0/20 } B1y = {0.15/2, 1.0/3, 0.2/4, 0.0/5 } B2y = {0.9/2, 0.7/3, 0.25/4, 0.12/5 }

Pro simulaci byl definován následující dotaz ADx: ADx = {0.0/15, 0.0/16, 0.2/17, 0.92/18, 0.65/19, 0.0/20 }

Stanovte funkci příslušnosti odpovědi BOy na dotaz ADx ve formě: BOy = {?/2, ?/3, ?/4, ?/5 }

Další řešené příklady naleznete v kapitole:

CVIČENÍ 7 Expertní systém pro regulaci teploty tepelné soustavy v PLC Bernecker & Reiner (B&R System 2003)

Další zdroje

[1] Pokorný,M. Řídicí systémy se znalostní bází. VŠB – Technická univerzita Ostrava. 1995. ISBN 80-7078-275-7 [2] Vysoký,P.: Fuzzy řízení, ČVUT Praha, FEL, 1996. ISBN 80-01-01429-8..

Page 62: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

62

4.4 Problematika využití fuzzy modelu

Čas ke studiu: 1 hodina

Cíl:

Po prostudování tohoto odstavce budete umět • popsat způsoby pokládání dotazu fuzzy modelu a jeho fuzifikace • vysvětlit metodu zvyšování počtu aktivních pravidel modelu • popsat způsoby defuzifikace výstupní fuzzy množiny

Výklad

Aktualizace obecného jazykového modelu

Až dosud jsme předpokládali, že vytváříme lingvistický model známé reálné funkce. V praxi je však většinou situace taková, že lingvistickým modelem popisujeme chování funkce neznámé. K tomu je třeba stanovit metodiku nalezení aproximací lingvistických modelů neznámých funkcí, vedoucí k tzv. aproximativnímu vyvozování závěrů. Klíčovou operací při simulaci chování systému s využitím jeho matematického modelu je dosazení konkrétních číselných hodnot jeho vstupních proměnných, na základě čehož je vypočítána číselná hodnota proměnné výstupní. V případě simulace s využitím jazykového modelu je operace dosazení konkrétních vstupních hodnot nazývána aktualizací jazykového modelu. Jelikož o každé vstupní proměnné existuje v antecedentu jedno dílčí tvrzení, získáváme tak pravdivostní ohodnocení jednotlivých dílčích tvrzení antecedentu. Taková aktualizace pak představuje vlastně položení dotazu jazykovému modelu, výsledkem simulace (aproximativního vyvození) je odpověď modelu na dotaz. Aktualizaci jazykového modelu můžeme provádět celkem třemi typy dotazů:

- dosazením číselných změřených dat a provedením tzv. diskretizace antecedentu modelu. Diskretizace spočívá v tom, že každá konkrétní číselná vstupní proměnná je pro simulaci nahrazena mírou její příslušnosti k fuzzy množině jazykové hodnoty příslušné jazykové proměnné. Jedná se o dotaz bodový. Tento způsob je typický pro on-line režim expertního systému (fuzzy regulátoru) automatickým přenosem vstupních dat z informačního systému;

- dosazením příslušných fuzzy množin jazykových hodnot odpovídajících

vstupních proměnných operátorem (obsluhou systému) v jazykové, nikoli číselné, formě;

Page 63: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

63

- dosazením vstupní informace ve formě definice obecné fuzzy množiny v případě, že nevystačíme s fuzzy množinami „předdefinovaných“ jazykových hodnot.

Druhé dva typy dotazů jsou typické pro off-line režim provozu expertního systému (fuzzy regulátoru) - tzv. režim konverzační, kdy aktualizaci provádí operátor. Určení pravdivostní hodnoty pravidla. Hledejme pravdivostní hodnotu složeného (multi) tvrzení (4.2.4). Takové tvrzení je typickým tvarem pravidla fuzzy modelu. Pravdivostní hodnota pravidla je dána mírou pravdivosti (platnosti) jeho konsekventu ( )[ ]yΩ . Tato míra je dána pravdivostní hodnotou antecedentu (premisy) pravidla [1], [2]

IF ( ) ( ) ( )[ ]nxandandxandx ΓΓΓ ...21 , (4.4.1) která je složena z konjunkce dílčích n jednoduchých tvrzení, tedy

(x1 is A1x1) and (x2 is A2x2) and ... and (xn is Anxn). (4.4.2) Uvažujme dotaz ADjxj jako konkrétní (aktuální, dosazovanou) hodnotu nezávisle proměnné modelu xj:

ADjxj: (x1 is AD1x1) and (x2 is AD2x2) and ... and (xn is ADnxn). Označíme-li pravdivostní hodnoty dílčích tvrzení premisy (4.4.2) ( )jV , platí pro velikost pravdivostní hodnoty dílčího tvrzení ( )jV vzhledem k dotazu ADjxj vztah konzistence Cons tvrzení a dotazu:

( ) ( ) [ ]jDjjjXx

jDjjj xAxASupxAxAConsjV ×==∈

,

Jelikož jednotlivá dílčí tvrzení premisy jsou spojena vztahem konjunkce (and), je pravdivostní hodnota premisy r-tého pravidla ( )rV dána výrazem

( )rV ) = ( )1V and ( )2V and ... and ( )nV = min ( )jV , j = 1, 2, ..., n. Jestliže r-té pravidlo má tvar

IF (xr1 is Ar1x1) and (xr2 is Ar2x2) and ... and (xrn is Arnxn) THEN (yr is Bry), potom hodnota ( )rV je současně hodnotou tzv. úrovně ořezání gr fuzzy množiny lingvistické hodnoty závisle proměnné yr, tedy množiny Bry. Tato úroveň ořezání má velký význam pro odvozování odpovědi modelu (aproximativní vyvozování), jak bude uvedeno dále.

Page 64: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

64

Předpokládejme, že byl položen bodový dotaz (x01, x0

2, ..., x0n) a model má m

pravidel. Stanovení pravdivostních hodnot ( )jV dílčích tvrzení antecedentů jednotlivých pravidel se nazývá diskretizace antecedentů. Analogicky, pokud bychom ji předem znali, bychom mohli provést diskretizaci závisle proměnné (konsekventů pravidel). Její hodnotu však předem neznáme, proto hledáme její fuzzy aproximaci. Přejděme z bodového dotazu na konvexní fuzzy množinu (dotaz druhého typu). V tom případě prvky vektoru ( )jV diskretizace budou maximálními výškami průniku fuzzy množiny dotazu s fuzzy množinami jednotlivých lingvistických hodnot (konzistence tvrzení a dotazu). Situaci ukazuje Obr. 4.4.1.

Obr. 4.4.1

Jestliže hodnotu nezávisle proměnné x v dotazu reprezentuje fuzzy množina Dx (fuzzy singleton x0), potom podle situace na Obr. 4.4.1 je výsledkem diskretizace dotazu Dx vektor

{0,6; 0,8; 0,0}. Označme Xr a Yr diskretizaci nezávisle resp. závisle proměnné r-tého prohlášení, r = 1, 2, ...m. Např. pro model (4.4.3), obsahující dvě prohlášení, tedy m = 2:

R1: IF (TEPLOTA je MALÁ) THEN (TLAK je MALÝ) or (4.4.3) R2: IF (TEPLOTA je VELKÁ) THEN (TLAK je VELKÝ)

dostaneme podle Obr. 4.4.3 a Obr.4.4.3 diskretizací vektory

1. X1 = {1; 0,5} Y1 = {1; 0,35}

2. X2 = {0,5; 1} Y2 = {0,35; 1}

Page 65: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

65

Obr. 4.4.2 Obr. 4.4.3 Typy dotazů. Všimněme si blíže problematiky aktualizace jazykového modelu, zmíněné v kap.3.3. Při zadávání dotazu ADx je možno použít libovolné kombinace ze tří možných typů dotazů, jimiž jsou dotazy bodové, dotazy lingvistickou hodnotou a dotazy normální fuzzy množinou. 1. Dotaz bodový: (xj is xj

0), uvedený na Obr. 4.4.4.

Obr. 4.4.4 Bodový dotaz je tvořen obyčejnou (crisp) hodnotou xj

0 vstupní nezávisle proměnné xj. Tento dotaz je typický pro dosazení hodnoty v on-line fuzzy systémech. Hodnota xj

0

však může být explicitně předepsaným způsobem fuzifikována do formy trojúhelníkového fuzzy čísla „asi xj

0“ (fuzzy singleton), čímž dostaneme typ dotazu ad 3), viz dále. 2. Dotaz lingvistickou hodnotou: (xj is Ajxj), uvedený na Obr. 4.4.5.

Page 66: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

66

Obr. 4.4.5 Zde je jako dotaz vybrána přímo jedna z definovaných lingvistických hodnot příslušné vstupní nezávisle proměnné xj a je použita její funkce příslušnosti Ajxj. Tento způsob dotazu je typický pro konverzační interaktivní off-line režim provozu fuzzy systému, kdy hodnotu zadává slovně operátor. 3. Dotaz libovolnou fuzzy množinou: (xj is Cjxj), uvedený na Obr. 4.4.6.

Obr. 4.4.6

Hodnota dotazu je pro vstupní nezávisle proměnnou xj definována jako obecná fuzzy množina Cjxj. Tento způsob dotazu je typický pro použití hodnot „asi xj

0“ nebo pro experimentální provoz fuzzy systému v režimu ladění báze znalostí nebo výzkumných prací. Zvýšení počtu aktivních pravidel Uvažujme Mamdaniho inferencí metodu. Výsledná fuzzy množina odpovědi modelu je vytvořena sjednocením ořezaných fuzzy množin jazykových hodnot jednotlivých pravidel.

)(0 yB = Ur

r yB =)(0

ymax{ )(0 yBr }

Page 67: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

67

Úroveň ořezání fuzzy množiny v konsekventu r-tého pravidla je přitom dána pravdivostní hodnotou antecedentu pro dané aktuální velikosti vstupních proměnných

jr min=μ { jr ,μ } = j

min {Cons [ )(),( 0jrj xAxA ]}

Je-li pravdivostní hodnota pravidla pro dané vstupní hodnoty nulová, je úroveň ořezání fuzzy množiny pravé strany také nulová a pravidlo nepřispívá ke stanovení tvaru sjednocené fuzzy množiny odpovědi. Takové pravidlo se nazývá pravidlo neaktivní, ostatní pravidla jsou pravidla aktivní. Snahou je, aby se pro daný dotaz aktivizovalo co nejvíce pravidel a odpověď byla získána s využitím co největší informace v obecném modelu obsažené. Pravdivostní hodnota složeného antecedentu závisí na vzájemné poloze aktuálních hodnot xi* a nosičů fuzzy množin jejich jazykových hodnot Ai v dílčích tvrzeních antecedentu. Leží-li aktuální hodnota mimo nosič alespoň u jednoho dílčího tvrzení, je pravdivostní hodnota celého antecedentu (díky proceduře min ve (4.3.4) ) nulová a pravidlo se stává neaktivním. Pokud potřebujeme tento stav napravit a pravidlo aktivizovat, použijeme metodu znejistění dotazu. Metoda znejistění dotazu

Hodnota úrovně ořezání gr pravidla r je dána konjunkcí dílčích pravdivostních hodnot ( )jrV jednotlivých dílčích tvrzení jeho premisy. Jestliže alespoň pro jedno j platí

( ) 0=jrV , potom

( ) ( ) ( ) ( ) ( ) 0......21 =∧∧∧∧∧== njr rVrVrVrVrVg a takové r-té pravidlo je vyloučeno z účasti na tvorbě odpovědi Boy. Pravidla, pro něž platí

( ) 0>= rgrV se účastní tvorby odpovědi a nazývají se pravidla aktivní. Procento aktivních pravidel může být systému explicitně předepsáno. Proto je nezbytná metoda, která v případě nízkého počtu aktivních pravidel zabezpečí aktivizaci pravidel z těch, která po dosazení původního dotazu aktivizována nebyla. Tato metoda se nazývá metodou roztahování dotazu.

Page 68: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

68

Metoda roztahování dotazu spočívá v postupném prohlubování neurčitosti dotazu tak dlouho, dokud nedojde u nutného počtu původně neaktivních pravidel ( )[ ]0=rV k dosažení stavu

( ) 0>rV .

Metoda roztahování dotazu je znázorněna na Obr. 4.4.7.

A(xj)

xj

1

0

Axj ADxj0AD(xj)

h

AD3xj0

AD2xj0

AD1xj0

xj0

a a a a a a

Obr. 4.4.7 Obrázek ilustruje dílčí situaci, kdy o velikosti j-té vstupní proměnné xj je v premise pravidla dílčí tvrzení Rj

Rj: xj is Axj Dotaz nechť má tvar obyčejné (crisp) hodnoty x0 a je označen RDj

RDj: xj is xj0.

V proceduře diskretizace premisy tedy hledáme pravdivostní hodnotu tvrzení Rj jako

( ) ( ) ( )jjjDj AxxConsRRConsjV ,, 0== . Podle Obr. 4.4.7 je ve výchozím stavu tato hodnota

( ) 0=jRV . Chceme-li dosáhnout stavu

( ) 0>jRV , (4.4.4) s použitím metody roztahování dotazu to znamená změnit obyčejné číslo xj

0 na fuzzy číslo „asi xj

0“, reprezentované trojúhelníkovou fuzzy množinou ADxj. Tento krok je nazýván fuzzifikací dotazu.

Page 69: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

69

Obecně je třeba, aby „vyvolaná“ fuzzifikace čísla xj0 byla co nejmenší; to

znamená, aby šířka jeho fuzzy intervalu byla minimální nutná. S ohledem na dosažení cíle, daného výrazem (4.4.4), je to taková minimální šířka, která by zajistila nenulový průnik fuzzy množin Axj a ADxj. Na Obr.4.4.7 je tato šířka rovna 3a. Nalezení minimální nutné hodnoty šíře fuzzy intervalu čísla „asi xj

0“ se děje po krocích. Explicitně je předepsána výchozí hodnota a, která je v proceduře roztahování dotazu postupně aditivně zvětšována po krocích roztahování tak dlouho, dokud nedojde ke splnění podmínky (4.4.4). V případě na Obr.4.4.7 bylo třeba tří kroků: Výchozí stav: xj = xj

0; ( ) ( ) 00, 0

0=⇒== hxAxConsRV jjj ;

1. krok roztažení: xj = „asi xj

0“ → AD1xj0;

( ) ( ) 0, 0

11== jDjj xAAxConsRV ;

2. krok roztažení: AD1xj

0 → AD2xj0

( ) ( ) 0, 0

22== jDjj xAAxConsRV ;

3. krok roztažení: AD2xj

0 → AD3xj0

( ) ( ) 0, 0

33>⇒= hxAAxConsRV jDjj ;

Cíle tak bylo dosaženo po 3 krocích. Každá vstupní proměnná má explicitně určeno, je-li možno ji roztahovat a jaký je maximální povolený počet kroků jejího roztažení. Jestliže systém použil při snaze o splnění předepsaného počtu aktivních propozic roztahování, poskytuje operátorovi o této proceduře úplnou informaci. Metody defuzifikace

Fuzzy regulátory musí mít na svém výstupu akční veličinu formalizovanou ostrým obyčejným číslem. Výstupem FLC regulátoru je však vždy fuzzy množina. Obecně nemusí být ani normální, ani konvexní. V takové situaci se naskýtá otázka, jakým způsobem nahradit jazykovou interpretaci výstupní fuzzy množiny obyčejným číslem – jedinou numerickou hodnotou z univerza. K tomuto účelu lze použít několik variantních procedur, nazývaných procedury defuzifikace.

Předně zavedeme pojem plochy fuzzy množiny, vyjádřené výrazem

( )∫ ⋅U

duuμ .

Page 70: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

70

Integrační symbol zde má význam obyčejné integrace (nikoliv význam výčtu jako v předchozím textu). Výšku takové fuzzy množiny budeme značit fk a hledanou (zastupující) ostrou hodnotu univerza u*. Uveďme nyní nejčastěji používané metody defuzifikace. Metoda středu plochy (těžiště) COA

Metoda středu plochy (metoda těžiště) je nejčastěji požívanou metodou defuzifikace. Zastupující ostrá hodnota u* je určena souřadnicí těžiště plochy výsledné fuzzy množiny. Tato metoda nezohledňuje překrytí (průniky) jednotlivých fuzzy množin výsledného sjednocení (plochy překrytí jsou započteny jen jednou). Pro spojité resp. diskrétní univerzum U platí pro stanovení u* vztahy

( )( )

( )

( )∑

∫∫

=

=∗∗⋅

=⋅

⋅⋅= l

ii

l

iii

U

U

u

uuu

duu

duuuu

1

1

μ

μ

μ

μ

kde symbol integrálu označuje obyčejný integrál (plochu). Diskrétní vztah platí i pro funkci příslušnosti typu singleton. Graficky je defuzifikace této metody nakreslena na Obr.4.4.8 a Obr.4.4.9.

1

0u

ZONB NSNM PS PM PB

u*

Obr. 4.4.8

1

0u

ZONB NSNM PS PM PB

u*

u1 u6 u7u5u4u3u2

Obr.4.4.9

Page 71: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

71

Metoda středu součtů COS Tato metoda je modifikací metody předešlé a je typická především tím, že zohledňuje průníky jednotlivých funkcí příslušnosti. Nejprve je určen součet funkčních hodnot funkcí příslušnosti ode všech pravidel a teprve pak je určeno těžiště. Pro spojité a diskrétní univerzum U platí vztahy

( )

( )

( )

( )∑∑

∑ ∑

∫ ∑

∫ ∑

= =

= =∗

=

=∗⋅

=⋅

⋅⋅= l

i

n

kik

l

i

n

kiki

U

n

kk

U

n

kk

u

uuu

duu

duuuu

1 1

1 1

1

1

μ

μ

μ

μ

kde k je indexová proměnná čísla pravidla a n je počet pravidel. Této metodě odpovídají obrázky Obr.4.4.10 a Obr.4.4.11.

1

0u

ZONB NSNM PS PM PB

u*

Obr. 4.4.10

Obr. 4.4.11

Page 72: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

72

Výšková metoda HM

Defuzifikace pomocí výškové metody uvažujee špičkové hodnoty každé fuzzy množiny, které jsou váženy výškou fuzzy množiny. Ostrá hodnota je tedy váženým průměrem špičkových hodnot podle vztahu

( )

=

=∗

⋅= n

kk

k

n

k

k

f

fcu

1

1

kde c(k)je špičková hodnota k-té fuzzy množiny a fk je její výška. Metoda prvního maxima FOM

Metoda prvního maxima uvažuje jako ostrou zastupující hodnotu u* nejmenší hodnotu univerza U, které přísluší maximální stupeň příslušnosti, tj:

( ) ( ){ }UhgtuUuu UuUu u

=∈=∈

∗ μ/inf

Alternativní verzí je metoda posledního maxima LOM, která jako zastupující ostrou hodnotu uvažuje největší hodnotu univerza U, které přísluší maximální stupeň příslušnosti, tj:

( ) ( ){ }UhgtuUuu UuUu u

=∈=∈

∗ μ/sup

Grafické znázornění této metody je na Obr.4.4.12 a Obr.4.4.13.

1

0u

ZONB NSNM PS PM PB

u*

hgt(U)

Obr.4.4.12

Page 73: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

73

1

0u

ZONB NSNM PS PM PB

u*

hgt(U)

Obr.4.4.13

Metoda středu maxima MOM

Metoda středu maxima je obdobná metodě předchozí, která však jako ostrou zastupující hodnotu bere aritmetický průměr hodnot metody prvního a posledního maxima.

Řešené úlohy 4.4

Příklad 4.4.1

Shrnutí pojmů

Pravdivostní hodnota pravidla je dána pravdivostní hodnotou jeho

antecedentu, stanovenou pro konkrétní hodnoty jazykových hodnot vstupních proměnných. Přenesení pravdivostních hodnot antecedentů na odpovídající hodnoty konsekventů je nejčastěji provedeno s použitím vyvozovacího pravidla Fuzzy Modus Ponens. Odpovídající procedurou je Zadehova interpolační metoda. Aktualizace vstupních hodnot fuzzy modelu je provedeno položením dotazu, který může mít formu dotazu bodového, lingvistické hodnoty nebo libovolné normální konvexní fuzzy množiny. Počet aktivních pravidel modelu lze zvýšit pomocí procedury roztahování (znejišťování) dotazu.

Výsledkem simulace chování soustavy pomocí modelu Mamdani je fuzzy

množina, jejíž význam můžeme dobře interpretovat slovně (jazykově). Pokud bychom potřebovali výstup ve formě čísla, provedeme tzv. defuzifikaci fuzzy množiny výstupní hodnoty, nejčastěji tak, že vypočteme polohu těžiště její plochy a souřadnici těžiště označíme jako číselný výstup modelu.

Otázky 4.4

4.4.1 Z jakých procedur pozůstává aktualizace obecného fuzzy modelu ?

Page 74: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

74

4.4.2 Jak se určuje pravdivostní hodnota pravidla ? 4.4.3 Jaké typy dotazů znáte ? 4.4.4 K čemu se používá metoda znejistění dotazu ? 4.4.5 Jaké typy procedury defuzifikace znáte ?

Úlohy k řešení 4.4

4.2.1 Vysvětlete způsob určení pravdivostní hodnoty fuzzy tvrzení, je-li jako aktuální hodnota vstupní proměnné použita přímo funkce příslušnosti jazykové hodnoty ! 4.2.2 Promyslete, jaké jsou negativní důsledky použití metody znejistění dotazu.

Další řešené příklady naleznete v kapitole:

CVIČENÍ 8 Fuzzy regulátor typu PS (Mamdani a Sugeno) určený pro

regulaci soustavy 2. řádu a porovnání s klasickým PI regulátorem

Další zdroje

[1] Druckmüller,M.: Technicky orientované lingvistické modely reálných funkcí více proměnných, VUT Brno, KOVS, sv. B-119, 1988 [2] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. ISBN 80-901984-4-9

Page 75: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

75

5 FUZZY REGULAČNÍ SYSTÉMY 5.1 Principy regulačního systému FLC

Čas ke studiu: 3 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vysvětlit princip fuzzy regulátoru • vyjmenovat problémy návrhu fuzzy regulátoru • nakreslit základní strukturu fuzzy regulátoru a vysvětlit základní

funkci jeho bloků

Výklad

Principy fuzzy řízení FLC (Fuzzy Logic Control) Původní myšlenku využití fuzzy přístupů k řízení soustav vyslovili L.A.Zadeh [1] a F.H.Mamdani [2]. Jejich myšlenka vychází z principu využití slovního popisu procesu řízení a vyvozovacího kompozičního pravidla, které jsou základem teorie fuzzy regulace . Zakladatel této technologie Mamdani definuje princip fuzzy řízení (FLC) takto [2]: „Základní myšlenkou takového přístupu bylo vtělení zkušenosti operátora do funkce regulátoru. Řídící algoritmus je reprezentován soustavou lingvistických pravidel, odrážejících jeho řídící strategii, přičemž jazykové pojmy jsou reprezentovány fuzzy množinami.Hlavní výhodou takového přístupu je možnost implementace heuristických pravidel („rule of the thumb“), jakož i zkušenosti a intuice jako součásti modelu procesu“.

Základní přístup začlenění fuzzy regulátoru do obvodu automatické zpětnovazební regulace fuzzy regulace ukazuje Obr. 5.1.1. Je zcela obdobné regulačnímu obvodu konvenční zpětnovazební regulace. Fuzzy regulátor, využívající pro formalizaci řídicího zákona pravidla typu Mamdani, budeme nazývat fuzzy regulátorem FLC - Fuzzy Logic Control [3].

Regulátor FLC je pokusem modelovat manuální řídící funkci zkušeného

operátora procesu. Řídící model fuzzy regulátoru je vyjádřen slovními (lingvistickými) řídícími pravidly, která popisují, jak vybírat řídící signál (akční veličinu) v různých situacích. Tento přístup si klade za cíl reprezentovat empirické znalosti řízení procesu.

Page 76: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

76

Fuzzy regulátor Regulovaná soustavau(t)e(t)

(t)

+-

v(t)

y(t)ω

Obr. 5.1.1 Význam technologie FLC je zdůvodněn tím, že složité reálné procesy jsou velmi obtížně řiditelné klasickými automaty, neboť se vyznačují nelinearitou, časově proměnným chováním a trpí nedostatkem kvalitních informací o svých stavech (měření). V takových případech je možno automatické řízení realizovat pouze pro nepřímé proměnné, které lze měřit a regulovat, jako teploty, tlaky, průtočná množství a pod. Řízení globálních parametrů, jako kvalita a množství produkce, je pak obvykle v rukou operátora. Moderní metody řízení procesů, realizující vyšší řídící funkce, využívají matematické modely ve složitých počítačových řídících systémech. Obtíže vznikají, jestliže se podmínky procesu mění v širokém rozsahu a podléhají náhodným poruchám. V mnohých případech je potvrzeno, že zkušený operátor je schopen řídit takový složitý proces úspěšněji než automatický regulátor. Pokud se operátor rozhoduje obtížně, může to být způsobeno rozsahem nebo způsobem zobrazení měřených dat případně nepřiměřenou hloubkou požadovaného rozhodování [2]. Systémy FLC vyznačují těmito hlavními rysy:

- systémy FLC jsou řazeny spíše do oblasti inženýrské problematiky řízení než do oblasti umělé inteligence;

- modely FLC jsou budovány výhradně formou řídících pravidel; - oblasti použití FLC v regulaci průmyslových procesů jsou širší než

oblasti použití expertních systémů; - obecně nemusí být řídící pravidla formulována expertem, nýbrž

explicitně tvůrcem FLC systému; - vstupními proměnnými FLC systémů jsou pravidelně informace o

chování řízeného systému a výstupními proměnnými jsou velikosti akčních zásahů.

Základními problémy návrhu FLC systému jsou:

- definice vstupních a výstupních proměnných, tj. rozhodnutí, které stavy procesu budou pozorovány (měřeny) a které akční zásahy budou realizovány;

Page 77: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

77

- definice vstupního interface, tj. rozhodnutí, jakým způsobem budou vstupní pozorované hodnoty fuzifikovány (vyjádřeny formou fuzzy množin) - metoda fuzifikace;

- vytvoření řídícího modelu jako pravidlové (znalostní) báze; - rozhodnutí o typu fuzzy inferenčního algoritmu, jehož výstupem je akční

veličina ve formě fuzzy množiny; - stanovení metody, pomocí níž budou akční veličiny transformovány z

formy fuzzy množiny do formy obyčejného (crisp) čísla, vhodného jako zadání požadované hodnoty pro klasický regulátor velikosti akčního zásahu - metoda defuzifikace.

Typy regulátorů FLC Inference systému FLC probíhají v jednotlivých krocích podobně jako v případě klasické diskrétní regulace. Proto je možno koncipovat jednotlivá typy fuzzy regulátorů stejně jako v technice klasické, tedy fuzzy regulátory P, PS, PD a PSD [4]. Jednotlivé typy fuzzy regulátorů se od sebe liší závisle proměnnými, nezávisle proměnnými a strukturou pravidel. Označíme-li y jako regulovanou veličinu, w jako její požadovanou hodnotu a u jako akční veličinu v časovém okamžiku t, potom definujeme pro krok regulace i a (i-1) tyto vstupní veličiny:

regulační odchylku ( ) ( ) ( )iTwiTyiTe −=

první diferenci reg. odchylky ( ) ( ) ( )[ ]TieiTeiTe 1−−=Δ

druhou diferenci reg. odchylky ( ) ( ) ( )[ ]TieiTeiTe 12 −Δ=Δ=Δ Proporcionální regulátor (P) je pak určen funkcí

( ) ( )[ ]iTeKiTu P= Proporcionálně-diferenční regulátor (PD) je určen funkcí odchylky a její první diference

( ) ( ) ( )[ ]iTeiTeKiTu PD Δ= , Proporcionálně-sumační regulátor (PS) nevypočítává velikost akčního zásahu u(iT), ale velikost jeho diference u(iT) a je určen funkcí

( ) ( ) ( )[ ]iTeiTeKiTu PS Δ=Δ , Proporcionálně-sumačně-diferenční regulátor (PSD) je funkcí odchylky, její první i druhé diference

Page 78: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

78

( ) ( ) ( ) ( )[ ]iTeiTeiTeKiTu PSD2,, ΔΔ=Δ

V klasické regulaci jsou KP, KPD, KPS a KPSD funkce lineární, v případě fuzzy regulátoru funkce nelineární, určené pomocí jazykových pravidel typu IF-THEN. Jelikož označení P, PD, PS a PSD používáme pro konvenční regulátory lineární, budeme pro fuzzy regulátory používat výrazu „fuzzy regulátor obdobný typu P, PS, PD, PSD“. Fuzzy regulátor je tedy regulátor nelineární, s typickými strukturami pravidel: Fuzzy regulátor obdobný typu P

IF(e is Ae) THEN (u is Bu) Fuzzy regulátor obdobný typu PD

IF(e is Ae) and (∆e is A∆e) THEN (u is Bu) Fuzzy regulátor obdobný typu PS

IF(e is Ae) and (∆e is A∆e) THEN (∆u is B∆u) Fuzzy regulátor obdobný typu PSD

IF(e is Ae) and (∆e is A∆e) and (∆2e is A∆2e) THEN (∆u is B∆u) Výběr typu fuzzy regulátoru závisí, stejně jako v případě regulátoru klasického, na charakteru regulované soustavy a na požadavcích kvality regulace. Fuzzy PSD regulátor je používán i pro řízení procesů nelineárních a nestabilních. Struktura regulátoru FLC Struktura regulátoru FLC je obdobná struktuře expertního systému [3]. Jeho základní konfigurace je nakreslena na Obr.5.1.2. Toto schéma obsahuje čtyři základní bloky [1]:

a) blok FUZIFIKACE, který zahrnuje funkce

- měření hodnot vstupních veličin, - převod rozsahů měřených dat do odpovídajících univerz, - fuzzifikaci, transformující vstupní data (obyčejná čísla) do formy fuzzy

množin;

b) blok ZNALOSTNÍ BÁZE, představující znalosti z konkrétní aplikační oblasti se zahrnutím cílů řízení. Znalostní báze zahrnuje dále

Page 79: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

79

- BÁZI DAT, provádějící nezbytné operace se vstupními daty, vedoucí k

definici funkcí příslušnosti jazykových hodnot lingvistických proměnných a ke stanovení měr příslušnosti vstupních dat vzhledem k těmto jazykovým hodnotám;

- BÁZI ZNALOSTÍ, obsahující lingvistická řídící pravidla, charakterizující

cíle a strategii řízení;

c) blok ROZHODOVACÍ LOGIKY, tvořící jádro systému FLC. Provádí vyvození fuzzy řídících zásahů s využitím příslušných fuzzy inferenčních (aproximačních) algoritmů;

d) blok DEFUZIFIKACE, zahrnující

- proceduru defuzifikace, transformující vyvozený fuzzy akční zásah do obyčejné (crisp) číselné formy;

- převod rozsahů výstupních veličin do odpovídajících univerz.

Báze znalostí

Fuzzifikace Defuzzifikace

Rozhodovací logika

Proces

Fuzzy Fuzzy

Crisp Crisp

Měření Akční zásah

Obr. 5.1.2 Jednotlivé bloky struktury systému FLC mají vlastnosti, charakterizované těmito svými parametry:

a) fuzifikační strategií a interpretací fuzifikačního operátoru fuzz;

b) datovou bází, konkrétně

Page 80: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

80

- diskretizací a normalizací použitých univerz, - fuzzy rozdělením prostoru vstupních a výstupních proměnných, - konzistencí báze řídících pravidel, - parametry funkcí příslušnosti fuzzy množin lingvistických hodnot

proměnných;

c) znalostní bází, konkrétně

- vstupními a výstupními proměnnými fuzzy řídících pravidel, - zdroji a odvozením fuzzy řídících pravidel, - typem fuzzy řídících pravidel, - konzistencí a kompletností fuzzy řídících pravidel;

d) rozhodovací logikou, konkrétně

- definicí fuzzy implikace (fuzzy implikační funkce), - interpretací spojovacího funktoru pravidel (typem modelu), - inferenčním mechanizmem;

e) defuzzifikační strategií a interpretací defuzifikačního operátoru defuzz.

Další informace o technologii FLC může zájemce získat v poměrně rozsáhlé a dobře dostupné literatuře, např. [6], [7].

Řešené úlohy 5.1

Příklad 5.1.1 Jako příklad konkrétního fuzzy regulátoru uvedeme často publikovanou úlohu regulace inverzního kyvadla (známé balancování svislé tyče) [5]. Laboratorní model takové úlohy je na obrázku.

Tyč má délku L, hmotnost m, vozík má hmotnost M a působíme na něj silou w takovou, aby byla výchylka tyče e udržována na nule. Matematický model takové soustavy je dosti složitý a jeho rovnice jsou

Page 81: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

81

3

3mLI =

( )( )

wMHVeeeemLwmH

eeeemLmgVeHLeVLeI

&&

&&&&

&&

&&

=−−+=

+=−

−=

sincoscossin

cossin

2

2

Kdybychom chtěli použít pro regulaci takové soustavy použít klasický regulátor, museli bychom použít regulátor PID jehož nastavení by bylo složité a kvalita jeho funkce by byla silně závislá na stabilitě všech rozměrů a hmotností modelu. V případě použití fuzzy regulátoru se situace značně zjednodušuje, lze použít fuzzy regulátor s pravidly typu PD, jejichž tvar určuje následující tabulka.

e

ZV ZM PN KM KV

Δe

Z ZM PN

PN ZV PN KV

K PN KM

Fuzzy regulátor je kvalitní a velmi robustní, protože jeho funkce nezávisí na změnách velikosti parametrů modelu (např. délky tyče). Příklad 5.1.2

Jako příklad uvedeme tabulku struktur pravidel pro fuzzy PD regulátor [1]. Vstupními proměnnými takového regulátoru sou regulační odchylka e a změna regulační odchylky Δe, výstupní proměnnou je pak velikost akční veličiny u. Tabulka pravidel je dvojrozměrná a lze ji dobře znázornit uvedenou strukturou Δe e ZV ZS ZM KM KS KV

KV PN ZS ZM ZS ZV ZV

KS KM PN ZM ZS ZS ZV

KM KS KS PN ZM ZS ZS

ZM KS KS KM PN ZM ZS

ZS KV KS KS KM PN ZM

ZV KV KV KS KS KM PN

Page 82: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

82

Pravidla předpokládají následující jazykové hodnoty svých proměnných:

ZV záporná velká ZS záporná střední ZM záporná malá PN nulová KM kladná malá KS kladná střední KV kladná velká

Povšimněme si, jak strategie pravidel vždy směřuje k minimalizaci regulační odchylky a ke snížení rychlosti její změny v nežádoucím smyslu (narůstání). Tím je respektován již zmíněný základní zákon regulace. Příklad 5.1.3 Příkladem operátorské znalosti (heuristiky) uplatnitelné při řízení je např. informace:

Jestliže tlak na ukazateli 1 stoupá pomalu a doba od zahájení ohřevu je krátká, surovina je příliš nekvalitní a teplotu je třeba podstatně zvýšit.

Příklad 5.1.4 Ilustrujme základní zákon regulace slovní interpretací pravidel fuzzy regulátoru typu P s pravidly typu Mamdani::

Je-li regulační odchylka velká kladná, pak je akční veličina velká záporná. Je-li regulační odchylka malá kladná, pak je akční veličina malá záporná. Je-li regulační odchylka nulová, pak je akční veličina nulová. Je-li regulační odchylka malá záporná, pak je akční veličina malá kladná. Je-li regulační odchylka velká záporná, pak je akční veličina velká kladná.

Příklad 5.1.5 Zajímavým příkladem je typová struktura pravidel fuzzy regulátoru typu PID, který má tři vstupní proměnné. Dvourozměrná tabulka využívá faktu, že se některá pravidla opakují a lze ji proto jednoduše nakreslit.

Page 83: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

83

Shrnutí pojmů

Použití fuzzy systému v řízení (fuzzy regulátor) vychází z myšlenky sestavení

jazykového pravidlového modelu řízení při zachování principů klasického regulátoru typu PID. V takovém případě řídicí model obsahuje tři vstupní proměnné a jednu proměnnou výstupní. Obecně jsou vstupními proměnnými FLC regulátorů informace o chování řízeného systému a výstupními proměnnými jsou velikosti akčních zásahů. Na rozdíl od klasického regulátoru je řídicí plocha vždy nelineární. Základními problémy návrhu fuzzy regulátoru jsou volba vstupních a výstupních proměnných, metoda fuzifikace, defuzifikace a rozhodnutí o typu inferenčního mechanizmu (rozhodovací logiky). Jednotlivé typy fuzzy regulátorů se od sebe liší závisle proměnnými, nezávisle proměnnými a strukturou a typem pravidel. Jako vstupní proměnné používáme regulační odchylku, její první a druhou derivaci. Výstupní proměnnou je velikost akční veličiny nebo její diference. Používáme nelineární fuzzy regulátory obdobné lineárním regulátorům typu P, PS, PD a PSD. Základní konfigurace fuzzy regulátoru obsahuje bloky fuzifikace vstupních veličin, blok báze znalostí, blok báze dat, blok inferenčního mechanizmu (rozhodovací logiky) a blok defuzifikace výstupní akční veličiny.

Page 84: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

84

Otázky 5.1

1. Jaký je rozdíl mezi bází znalostí a bází dat fuzzy regulátoru ? 2. Promyslete rozdíly mezi klasickými a fuzzy regulátory.

Úlohy k řešení 5.1

1. Jaké jsou vstupní a výstupní veličiny fuzzy regulátorů obdobných typům P,

PD, PI a PID ?

Další řešené příklady naleznete v kapitole:

CVIČENÍ 9 Fuzzy regulátor typu PD (Mamdani a Sugeno) určený pro regulaci soustavy 2. řádu a porovnání s klasickým PD regulátorem

Další zdroje

[1] Zadeh,L.A.: Outline of a New Approach to the Analysis of Complex Systems and Decision Processes, Trans. IEEE, SMC 3, 1973 [2] Kickert, W.J.M., Mamdani,F.H.:Analysis of a Fuzzy Logic Controller, Fuzzy Sets and Systems, 1, 1978 [3] Lee,Ch.Ch.: Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part I,II, IEEE Trans., MAC, 2, 1990 [4] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. ISBN 80- 901984-4-9 [5] Vysoký,P.: Fuzzy řízení, ČVUT Praha, FEL, 1996. ISBN 80-01-01429-8 [6] Jura,P.: Základy fuzzy logiky pro řízení a modelování, VUT Brno, 2000. ISBN. 80-214- 2261-0 [7] Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300-009-1

Page 85: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

85

5.2 Funkce fuzzy regulátoru FLC

Čas ke studiu: 2 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • pochopit účel a funkci bloku fuzzifikace vstupních dat • pochopit rozdíl mezi bází dat a bází znalostí • vysvětlit různé typy pravidel řídicích modelů • vysvětlit účel a metody defuzifikace výstupní fuzzy množiny

Výklad

Jak již bylo řečeno, struktura fuzzy regulátoru FLC je obdobná struktuře

expertního systému. Vysvětleme funkcí bloků schématu na Obr. 5.1.2. Procedura fuzifikace Fuzifikace je procedura, která prostřednictvím subjektivního ohodnocování transformuje měřená data. Přetváří pozorovaný vstupní n- rozměrný prostor n vstupních proměnných do n-rozměrného fuzzy prostoru. Fuzifikace tak hraje velmi důležitou roli ve zpracování neurčité informace obsažené ve vstupních datech. Při aplikaci fuzzy řízení vycházejí pozorovaná data obvykle z měřených hodnot a jsou představována obyčejnými (crisp) čísly. Pro jejich aplikaci v systému FLC je nezbytné, aby tato čísla byla transformována do tvaru fuzzy množin. Zkušenosti se systémy FLC doporučují použít při fuzifikaci těchto metod:

a) lze-li považovat měřenou hodnotu xj0 za číslo přesné, je možno postupovat

jednoduchým způsobem transformace takové crisp hodnoty na fuzzy množinu Axj s jednoprvkovým jádrem xj

0 a nulovou šířkou fuzzy intervalu. Operátor fuzifikace fuzz

( )0

jj xfuzzAx = interpretuje vstup xj

0 jako fuzzy množinu Axj s funkcí příslušnosti A(xj) rovnou nule kromě bodu xj

0, v němž je A(xj0) rovna jedné. Tento jednoduchý způsob

fuzifikace je používán poměrně často.

b) jestliže jsou pozorovaná data zatížena neurčitostí, transformuje operátor fuzifikace fuzz nepřesná data do formy fuzzy čísel s nenulovými šířkami fuzzy intervalů. Jako fuzifikační funkce je nečastěji používaná trojúhelníková funkce příslušnosti. Pozorovaná hodnota xj

0 je opět jednoprvkovým jádrem

Page 86: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

86

transformační fuzzy množiny, šířka fuzzy intervalu je úměrná vágnosti měřené hodnoty. Často je velikost fuzzy intervalu definována expertně jako procento z velikosti hodnoty xj

0. Pro stanovení velikosti fuzzy intervalu takových trojúhelníkových fuzzy čísel jsou vyvinuty různé bijektivní transformace, které převádějí statistické parametry (velikost rozptylu) na vágnost (šířka fuzzy intervalu) [1].

c) v řadě případů můžeme některá měření, popisující chování systému,

považovat za přesná, zatímco jiná jsou měřitelná pouze ve statistickém slova smyslu. Některá pak pro svoji charakterizaci vyžadují použití obou modů - pravděpodobnostního i možnostního. Strategie fuzifikace pak spočívá ve využití konceptu tzv. hybridních čísel, který zahrnuje jak nepřesnost (vágní charakter) tak nahodilost (stochastický charakter). Pro taková hybridní čísla byla vytvořena odpovídající aritmetika [1].

Báze dat Znalostní báze FLC je tvořena dvěma komponentami, jmenovitě bází dat a bází fuzzy řídících pravidel. Koncepty, spojované s bází dat, se vztahují k manipulaci s daty a k jejich přípravě pro vstup do FLC. Tyto koncepty jsou definovány subjektivně, jsou založeny na expertní zkušenosti a inženýrském úsudku. Spočívají především na definici funkcí příslušnosti fuzzy množin, reprezentujících jazykové hodnoty vstupních resp. výstupních lingvistických proměnných. Na správné definici těchto množin závisí do značné míry úspěch celé aplikace. Univerza proměnných ve FLC jsou buď diskrétní nebo spojitá. Je-li univerzum diskrétní, jsou míry příslušnosti jednotlivých hodnot univerza k jednotlivým jazykovým hodnotám lingvistických vstupních proměnných vyjádřeny explicitně (viz dále). Je-li univerzum spojité, může být buď transformováno do diskrétní formy procedurou diskretizace, anebo je i nadále uvažováno jako spojité a míry příslušnosti vstupních dat k jazykovým hodnotám lingvistických vstupních proměnných jsou stanoveny výpočtem. Diskretizace uvažovaných univerz Diskretizace univerza je metodou jeho fuzzy kvantifikace. Diskretizací je univerzum kvantováno do určitého počtu intervalů (kvantifikačních úrovní). Každé úrovni je přiřazena míra příslušnosti k určité (k určitým) jazykovým hodnotám příslušné lingvistické proměnné. Tak je v Tab.10 uveden příklad univerza jedné vstupní veličiny FLC. Počet zvolených kvantifikačních úrovní je pro kvalitu regulace FLC velmi důležitý (citlivost, diskriminační schopnost).

Zvláštním případem diskretizace je normalizace univerza; normalizace univerza je diskretizací uvažovaného univerza do konečného počtu kvantifikačních úrovní, přičemž každá úroveň je přiřazena odpovídající úrovni normalizovaného univerza s rozsahem [-1, +1]. Normalizace spojitého univerza je provedena expertně a vyžaduje apriorní znalosti o vstup/výstupním prostoru. Mapovací škála může být opět lineární, nelineární nebo smíšená.

Page 87: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

87

Proceduru normalizace univerza spolu s tvary funkcí příslušnosti jazykových hodnot lingvistické vstupní proměnné ukazuje Obr. 5.2.1.

Obr. 5.2.1 Fuzzy rozdělení vstupního prostoru Jestliže je univerzum považováno jako spojité, je pro definici funkcí příslušnosti jazykových hodnot lingvistických proměnných možno použít metody přímého expertního rozdělení. Fuzzy prostor vstupních proměnných je rozdělen na fuzzy podprostory, určené počtem jejich jazykových hodnot.

Počet jazykových hodnot lingvistických proměnných (termů, primárních fuzzy množin) determinuje gradaci řízení. Typické funkce příslušnosti jednotlivých hodnot mají obvykle tvar lichoběžníkovitý, trojúhelníkový nebo zvonový. Počet jazykových vstupních proměnných a počet jejich jazykových hodnot rovněž určuje maximální počet řídících pravidel, která můžeme vygenerovat. Optimalita rozdělení fuzzy prostoru proměnných na podprostory (definice jazykových hodnot a jejich funkcí příslušnosti) je obvykle záležitostí expertní. Diverzifikaci vstupního fuzzy prostoru lze provést i metodou strukturální identifikace [2]. Některé systémy FLC umožňují generovat parametry funkcí příslušnosti jazykových hodnot proměnných automaticky podle zadaného kontextu. Báze znalostí Systém FLC je charakteristický množinou řídících lingvistických pravidel, založených na expertních znalostech. Je využito „IF-THEN“ pravidel, která jsou, jak bylo ukázáno výše, lehce implementovatelná fuzzy podmíněnými prohlášeními s využitím fuzzy logiky. Soubor fuzzy řídících pravidel, vyjádřených formou fuzzy podmíněných prohlášení, tvoří bázi znalostí systému FLC. V této kapitole věnujeme pozornost problémům, spojeným s výběrem proměnných pro řídící pravidla, zdroji a odvozování pravidel, jejich typy a vlastnostmi.

Page 88: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

88

Typy fuzzy řídících pravidel FLC Metodologie FLC používá dvou typů řídících pravidel. Prvním typem jsou pravidla, vycházející ze stavů systému (State Evaluation Rule), druhým typem pak pravidla, sledující cíle systému (Object Evaluation Rule). Nejvíce systémů FLC používá řídících pravidel prvního typu. V případě FLC systému třídy MISO (Multi - Input - Single - Output, na rozdíl od třídy MIMO - Multi - Input - Multi - Output) mají taková pravidla známý tvar

Rr:IF(x1ris A1rx1) and ... and (xnr is Anrxn) THEN (ur is Bru) kde x1, ..., xn jsou lingvistické proměnné reprezentující proměnné stavu soustavy, u je řídící proměnná a Ax, Bu jsou lingvistické hodnoty jejich lingvistických proměnných. V obecnější verzi je konsekvent reprezentován funkcí proměnných stavu soustavy, tj.

Rr:IF(x1ris A1rx1) and..and (xnris Anrxn) THEN ur=fr(x1,..,xn) Fuzzy řídící pravidla tohoto typu (typ Takagi-Sugeno) hodnotí stav řízené soustavy (tj. stav, diference stavu) v čase t a počítají fuzzy řídící zásah v čase t jako funkci proměnných (x1, ..., xn) a řídících pravidel v bázi pravidel. Druhý typ řídících pravidel bere v úvahu akční zásah a vstupní proměnné v (i-1) kroku řízení a predikuje velikost akčního zásahu v kroku i-tém. Jde o tzv. fuzzy predikční řízení. Typické pravidlo má tvar

IF {u(i-1)T is Bu) and (x1(i-1)T is A1x1) and ... and (xn(i-1)T is Anxn)} THEN [u(iT) is Bu].

Řídící zásah u je odvozen ohodnocením toho, jak dalece výsledky řízení odpovídají požadovaným stavům soustavy a cílům jejího řízení. Antecendent pravidel systému pro fuzzy predikční řízení může samozřejmě obsahovat i proměnné u a xj s větší hloubkou historie než ( i - 1). Může být rovněž použito pravidel typu Takagi - Sugeno. Fuzzy predikční pravidla se osvědčila např. v automatických systémech řízení jízdy vlaků a kontejnerových jeřábů. Tak v automatickém řízení vlakové dopravy v Sendai (Japonsko) je používáno pravidlo:

IF [stop-návěští nebylo změněno] and [jestliže vlak zastavil v určené zóně]

THEN [stop-návěští neměň]. Výběr proměnných stavu procesu a řídících proměnných fuzzy řídících pravidel

Page 89: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

89

Je přirozené, že výběr proměnných pro řídící pravidla, tj. vstupních lingvistických proměnných (popisujících stav řízeného procesu) a výstupní řídící proměnné (akční veličiny) má na vlastnosti FLC podstatný vliv. V procesu výběru hrají velkou roli expertní zkušenost a inženýrská znalost. Struktura FLC, závislá na výběru lingvistických proměnných a funkcí příslušnosti jejich jazykových hodnot, je typicky dána využitím informací o odchylkách stavů řízené soustavy a jejich diferencí. Konkrétní vstupní proměnné jsou dány zvoleným typem fuzzy regulátoru (P, PI, PD, PID). Zdroje a metody odvození fuzzy řídících pravidel Pro definici řídících pravidel jsou známy celkem čtyři přístupy, které se však vzájemně nevylučují a s výhodou mohou být po- užity jejich kombinace.

- Expertní zkušenost a inženýrské znalosti o řízení. Řídící pravidla mají formu fuzzy prohlášení, která uvádějí do relace stavové proměnné v jejich antecedentu a procesní řídící proměnnou v jejich konsekventu. Vzhledem k tomu, že naše rozhodování má více lingvistickou než numerickou povahu, jsou z tohoto pohledu fuzzy řídící pravidla přirozenými rámci pro vyjádření lidského chování a pro rozhodovací analýzy. (Mnoho expertů došlo k závěru, že fuzzy řídící pravidla představují nejlepší cestu k vyjádření jejich odborných znalostí). Formulace fuzzy řídících pravidel přitom může být dosaženo dvojím (heuristickým) způsobem. Předně je to metoda retrospektivní verbalizace lidských expertiz, kdy expert sám analyzuje svoje znalosti a generuje jednotlivá řídící pravidla. Jiným způsobem je dotazování zkušených expertů (operátorů) prostřednictvím odborně sestavených dotazníků. Pro optimalizaci fuzzy řídících pravidel (báze znalostí FLC) jsou nezbytné procedury zkoušek a testování.

- Princip operátorských řídících zásahů. Účinnou, avšak časově náročnější metodou, je přístup pozorování, kdy znalostní inženýr sleduje činnost operátora v reálném čase a dedukuje pravidla odpozorováváním jeho řídících zásahů v termech vstup/výstupních operačních dat. Metoda vychází z faktu, že operátor, i když není v mnohých případech schopen své postupy dostatečně podrobně vysvětlit, podvědomě „IF-THEN“ řídících pravidel pro své počínání využívá. Vlastnosti báze řídících pravidel Kompletnost řídících pravidel není možno objektivně (deterministicky) stanovit. Zkušenost potvrzuje empirickou zásadu, že dostatečný počet pravidel m pro zajištění vlastnosti kompletnosti báze je (2,5 až 3)- násobkem počtu nezávisle proměnných n.

Page 90: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

90

Konzistenci báze fuzzy řídících pravidel je možno kontrolovat testy konzistence, jak byly uvedeny v kapitolách o expertních systémech. Současně s kontrolou konzistence je třeba provádět minimalizaci rozporů ve tvrzeních. Správnost odvozovaných řídících zásahů ovlivňuje nejen správnost a kvalita báze pravidel. Výsledky závisí i na charakteru soustavy, kterou je třeba reflektovat použitými principy a metodami inference, tedy rozhodovací logiky. Rozhodovací logika Koncepty fuzzy logiky, použité k vyvozování velikosti akčních zásahů, jsou pro kvalitu FLC regulace velmi důležité. V této části budeme věnovat svoji pozornost problematice funkce fuzzy implikace THEN, použití spojovacích funktorů „or“ a „and“a operátoru fuzzy kompozice v regulátorech FLC. Jak již bylo vysvětleno, každé fuzzy řídící pravidlo lze považovat za fuzzy relaci, která je vyjádřena pomocí spojky THEN. Ve fuzzy logice existuje několik způsobů, jak tuto spojku interpretovat. Jednotlivé interpretace odpovídají různým přístupům člověka při uvažování. I když v klasické logice představuje tato vazba logickou implikaci, ve fuzzy logice může být interpretována i jinak. Proto se nazývá obecněji fuzzy implikační funkce. Výběr vhodné fuzzy implikační funkce je do značné míry otázkou intuitivního posouzení dané úlohy nebo experimentu. Zopakujme, základem vyvozovacích algoritmů v systémech FLC je již zmíněný zobecnělý MODUS PONENS

antecendent 1: x is A'x (dotaz) antecendent 2: IF x is Ax THEN u is Bu (model) -------------------------------------------------------- konsekvent: u is Bou (odpověď) Inference využívá fuzzy kompozičního vyvozovacího pravidla (funktor „o“) - odpověď je vyvozena jako relace kompozice mezi modelem (bázi pravidel) a dotazem.

Bou = A'x o R O jejích typech operátoru fuzzy kompozice se zmíníme dále.

Fuzzy logická spojka THEN v pravidlech řídicího modelu představuje variantní proceduru. Jak jsme již poznali v kapitole 4.1, nemusí být vždy interpretována jako implikace. Jak již bylo uvedeno výše, představuje spojka THEN obecnou, variantní fuzzy implikační funkci. Po zveřejnění základního Zadehova implikačního pravidla [3] byla mnohými odborníky z oblasti fuzzy logiky navržena řada dalších pravidel variantních. Vznikla rodina fuzzy implikačních funkcí. Všechny tyto implikační funkce mohou být klasifikovány do tří základních kategorií podle charakteru fuzzy relace, které ve svojí definici využívají [4]:

Page 91: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

91

a) fuzzy konjunkce; b) fuzzy disjunkce; c) fuzzy implikace - zobecnění logické implikace pro vícehodnotovou fuzzy

logiku. Fuzzy řídící pravidlo

IF (x is Ax) THEN (u is Bu) je reprezentováno variantní fuzzy implikační funkcí označenou výrazem

Ax → Bu kde Ax, Bu jsou fuzzy množiny definované na univerzech X a U s funkcemi příslušnosti Ax resp. Bu. Implikační funkce typu fuzzy konjunkce jsou definovány jako relace kartézský součin pro všechna Xx∈ a Uu∈ vztahem

Ax → Bu = uxBuAxBuAxUX

,/*∫ ×=×

kde operátor (*) reprezentuje libovolnou operaci typu t-norma.. Implikační funkce typu fuzzy disjunkce jsou definovány jako relace kartézský součin pro všechna x X a u U vztahem

Ax → Bu = ∫ ×+=+

UXuxBuAxBuAx ,/

kde operátor (+) reprezentuje libovolnou operaci typu t-konorma (s-norma). V systémech FLC jsou nejčastěji používány tyto dvě fuzzy relace: Mamdaniho relace

( ) ( ) ( )uxuBxABuAxRUXc ,/∫ ×

∧=×=

Larsenova relace

( ) ( ) ( )uxuBxABuAxRUXp ,/∫ ×

⋅=⋅=

Odpovídající řídicí modely jsou pak označovány jmény použitých relací. Při výběru optimální implikační funkce zkoumáme důsledky závěrů z aplikací variantně použitých typů fuzzy relací ve fuzzy inferencích algoritmech. Pro spojování řídících pravidel se v systémech FLC používá nejčastěji spojovacího funktoru „and“, interpretovaného jako fuzzy konjunkce.

Page 92: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

92

Fuzzy kompozice v inferencím algoritmů může být s ohledem na varianty funkcí fuzzy konjunkce a fuzzy disjunkce rovněž variantní. V literatuře [4] můžeme najít odkazy na čtyři typy operátorů kompozice, které mohou být použity pro inferenci, a to:

- operátor Zadehův, - SP operátor Kaufmannův, - SBP operátor Mizumotův (omezený), - SDP operátor Mizumotův (odvážný).

Ve FLC aplikacích je ponejvíce používán kompoziční operátor Zadehův (SM). Procedura inference je závislá na typu použitých řídicích pravidel. Různým typům inferencích algoritmů je věnována následující podkapitola. Procedura defuzifikace Tato procedura, která byla podrobně probrána v kap. 4.1, zahrnuje metody transformace řídící veličiny z fuzzy do obyčejné (crisp) formy. Jde o stanovení crisp veličiny, která nejlépe representuje rozdělení možnosti vyvozené fuzzy množiny akční veličiny. Systematická procedura defuzifikace neexistuje. Poprvé na tento problém poukázal a návrhy na jeho řešení podal L.A.Zadeh. Dnes se používá nejčastěji defuzifikační metoda COG.

Řešené úlohy 5.2

Příklad 5.2.1

Příklad diverzifikace vstupního fuzzy prostoru dvou proměnných x1 a x2, z nichž každá má expertně určeny tři lingvistické hodnoty ZÁPORNÝ (N), NULOVÝ (Z) a KLADNÝ (P. Fuzzy rovina je rozdělena na 9 podrovin P1 až P9.

Page 93: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

93

Příklad 5.2.2 Fragment báze dat fuzzy modelu pro podporu rozhodování o velikosti zbytkové aktivity katalyzátoru při výrobě kyseliny sírové [5]

Příklad 5.2.3 Fragment báze znalostí fuzzy modelu pro podporu rozhodování o velikosti zbytkové aktivity katalyzátoru při výrobě kyseliny sírové [5]

Page 94: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

94

Shrnutí pojmů

Fuzifikace je procedura, která prostřednictvím subjektivního ohodnocování

transformuje měřená data. Přetváří pozorovaný vstupní n- rozměrný prostor n- vstupních proměnných do n- rozměrného fuzzy prostoru. Fuzifikace tak hraje velmi důležitou roli ve zpracování neurčité informace obsažené ve vstupních datech. Znalostní báze FLC je tvořena dvěma komponentami, jmenovitě bází dat a bází fuzzy řídících pravidel. Koncepty, spojované s bází dat, se vztahují k manipulaci s daty a k jejich přípravě pro vstup do FLC. Tyto koncepty jsou definovány subjektivně, jsou založeny na expertní zkušenosti a inženýrském úsudku. Spočívají především na definici funkcí příslušnosti fuzzy množin, reprezentujících jazykové hodnoty vstupních resp. výstupních lingvistických proměnných. Důležitými operacemi jsou diskretizace a normalizace univerz proměnných. Na správné definici těchto množin závisí do značné míry úspěch celé aplikace. Systém FLC je charakteristický bází pravidel - množinou řídících lingvistických pravidel, založených na expertních znalostech. Je využito "IF-THEN" pravidel, která jsou lehce implementovatelná fuzzy podmíněnými prohlášeními s využitím fuzzy logiky. Soubor fuzzy řídících pravidel, vyjádřených formou fuzzy podmíněných prohlášení, tvoří bázi znalostí systému FLC. Důležitou roli hrají pravidla typu Mamdani a pravidla typu Takagi-Sugeno. Významné jsou problémy, spojeným s

Page 95: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy

95

výběrem proměnných pro řídící pravidla, zdrojů a odvozování pravidel, jejich typů a vlastností. Koncepty fuzzy logiky, použité k vyvozování velikosti akčních zásahů, jsou pro kvalitu FLC regulace velmi důležité. Důležitá je interpretace funkce fuzzy implikace THEN, použití spojovacích funktorů "or" a "and", operátoru fuzzy kompozice a vlastních inferenčních mechanizmů. Funkce fuzzy kompozičního inferenčního pravidla závisí na použitých funkcích t-normy a t-konormy. Strategie defuzifikace zahrnuje metody transformace řídící veličiny z fuzzy do obyčejné (crisp) formy. Jde o stanovení crisp veličiny, která nejlépe representuje rozdělení možnosti vyvozené fuzzy množiny akční veličiny. Je uvedena metoda maximálního kritéria, průměrného maxima a metoda těžiště.

Otázky 5.2

5.2.1 V čem spočívá procedura normování univerza ?

5.2.2 Jak se provádí fuzifikace, má-li vstupní hodnota formu fuzzy čísla ? 5.2.3 Co obsahuje báze dat ? 5.2.4 Jaká je nejobvyklejší metoda defuzifikace a proč ?

Úlohy k řešení 5.2

5.2.1 Jak se chová defuzifikovaná hodnota v případě, že funkce příslušnosti výstupní fuzzy množiny je osově symetrická ?

Další řešené příklady naleznete v kapitole:

CVIČENÍ 10 Fuzzy regulátor typu PSD (Mamdani a Sugeno) určený pro

regulaci soustavy 2. řádu a porovnání s klasickým PID regulátorem

Další zdroje

[1] Moeller,B., Beer,M. Fuzzy Randomness. Springer-Verlag Berlin.2002.ISBN 3-540-40294-2 [2] Takagi,T., Sugeno,M.: Fuzzy identification of System and its application to modelling and control, IEEE Trans.,SMC, 1, 1985 [3] Zadeh,L.A.: The Concept of the Linqustic Variable and Its Application to Approximate Reasoning, I, II, III, Inf.Sci.,8, 1975 [4] Lee,Ch.Ch.: Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part I,II, IEEE Trans., MAC, 2, 1990 [5] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. ISBN 80-901984-4-9

Page 96: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

96

6 SUGENOVSKÉ REGULÁTORY 6.1 Jazyková aproximace nelineárních funkcí

Čas ke studiu: 2 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vysvětlit postup fuzzy aproximace nelineární funkce lomenou

přímkou • porozumět metodě fuzzy nelineárního regresního modelování • sestavit jednoduchý model Takagi-Sugeno • vysvětlit výhody fuzzy nelineárního regresního modelu

Výklad

Jazyková aproximace nelineárních funkcí

Výklad započneme opakováním metody aproximace nelineární funkce lomenou přímkou. Proveďme aproximaci jednorozměrné nelineární funkce f(x) s průběhem podle obrázku Obr. 6.1.1

. Obr. 6.1.1

Page 97: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

97

Křivku funkce f(x) budeme aproximovat přímkovými lomenými úseky. V nejjednodušším případě zvolíme aproximaci dvěma přímkami – tečnami k funkci f(x). Na Obr.6.1.1 jsou vyjádřeny lineárními funkcemi

y1 = k01 + k1x y2 = k02 + k2x

Uveďme konvenční matematickou metodu aproximace. Označíme-li souřadnici průsečíku obou aproximačních přímek a, můžeme aproximaci zapsat tímto vyjádřením: 0≤< xa , pak xkkyy 1011 +== ∞<≤ xa , pak xkkyy 2022 +== Výhodou aproximace je náhrada nelineární závislosti dvěma lineárními subzávislostmi, nelineární systém je tedy rozložen do dvou subsystémů lineárních.Nevýhody takové aproximace jsou však tyto:

a) aproximační závislost je nespojitá b) v okolí bodu x = a je aproximace velmi málo těsná

Nyní přejdeme na fuzifikaci popsané metody. Nahradíme ostré definiční intervaly nezávisle proměnné 0≤< xa a ∞<≤ xa fuzzy intervaly. Obor hodnot nezávisle proměnné x rozdělme do dvou částí, které pojmenujeme jazykově jako MALÁ a VELKÁ. Tyto jazykové hodnoty vyjádříme pomocí dvou fuzzy množin, a to Mx a Vx. Přímky jsou voleny tak, že první z nich aproximuje původní nelineární funkci f(x) v oblasti malých hodnot x, druhá pak aproximuje funkci f(x) v oblasti hodnot velkých. Jazykově můžeme nyní aproximaci funkce f(x) popsat dvěma IF-THEN fuzzy pravidly takto:

IF (x is Mx) THEN y1 = k01+k1x IF (x is Vx) THEN y2 = k02+k2x

Získáváme fuzzy model, nazývaný podle svých autorů fuzzy modelem Takagi-Sugeno [1]. Podle typu rovnic v konsekventech se tento model nyzývá rovněž fuzzy nelineárním modelem regresním [2].

Proveďme simulaci a vypočítejme konkrétní hodnotu výstupní proměnné y* pro konkrétní hodnotu vstupní proměnné x = x*. Je zřejmé, že ),( *

2*1

* yygy = Hodnoty výstupů jednotlivých pravidel vypočítáme z regresních rovnic *

101*1 xkky +=

*

202*2 xkky +=

Page 98: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

98

Agregační funkce g(*) je funkcí váženého součtu s váhami 21 , ww

21

*22

*11*

wwywywy

++

= (6.1.1)

Váhové koeficienty 21, ww jsou pravdivostní hodnoty fuzzy tvrzení o velikosti vstupní proměnné x v antecedentech pravidel pro x = x*, tedy )( *

1 xw Mxμ= )( *

2 xw Vxμ= Vlastnosti modelu Takagi-Sugeno (Sugenovský model) jsou následující:

a) je zachován velmi výhodný rozklad – nelineární systém f(x) je opět rozložen do dvou subsystémů lineárních

b) díky spojitému analytickému vztahu pro výpočet globální výstupní proměnné y je aproximace spojitá

c) těsnost aproximace v okolí bodu x = a je velmi dobrá d) výstupní hodnota tohoto fuzzy modelu y je obyčejné (ostré) číslo a není

třeba je defuzifikovat Proveďme nyní zobecnění syntézy Takagi-Sugenova modelu pro n- rozměrnou nelineární funkci y = f(x1, x2, …, xn). Aproximace je nyní provedena R lineárními plochami a R pravidel takového fuzzy modelu má v takovém případě tvar :1R 1(xIF is )11A and 2(x is )12A and … and nx( is )1nA

THEN nn xkxkxkky 1212111011 ...++++= :2R 1(xIF is )21A and 2(x is )22A and … and nx( is )2nA

THEN nn xkxkxkky 2222121022 ...++++= . . . :RR 1(xIF is )1RA and 2(x is )2RA and … and nx( is )RnA

THEN nRnRRRR xkxkxkky ++++= ...22110 Globální výstupní veličinu y* vypočítáme opět vztahem váženého součtu

=

==++++++

= R

rr

R

rrr

R

RR

w

yw

wwwywywywy

1

1

21

*22

*11*

......

Page 99: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

99

kde váhové koeficienty jsou stanoveny podle vztahu Uveďme opět výhody této fuzzy aproximace. Výhoda rozložení n- rozměrného systému na R- lineárních subsystémů, stejně jako spojitost a dobrá těsnost aproximace zůstávají. Jsou-li regresní koeficienty lineárních rovnic v konsekventech pravidel identifikovány jako fuzzy čísla, jsou jejich dílčí výstupy i výstup globální rovněž fuzzy čísla s informací o jejich hodnotě a neurčitosti [2]. Generování pravidel

Počet pravidel modelu a parametry funkcí příslušnosti antecedentů obvykle zadáváme expertním odhadem. Automatickou identifikaci parametrů modelu provádíme učicí se procedurou z naměřených vstup/výstupních dat (např. prostřednictvím učení fuzzy-neuronové sítě v matlabovské proceduře ANFIS). Pro celkovou parametrickou identifikaci můžeme použít i genetické algoritmy [2].

Jinou metodu generování pravidel popisuje Takagi a Sugeno [3]. Metoda

představuje využití fuzzy identifikačního algoritmu, podle něhož jsou fuzzy řídící pravidla identifikována ve formě Rr : IF (x1 is A1x1) and ... and (xn is Anxn) THEN u = fr(x1, ..., xn) kde x1, ..., xn jsou lingvistické proměnné reprezentující vstupní proměnné a u je výstupní proměnná. Antecendenty pravidel takového typu vymezují vstupní podprostory, v nichž platí dílčí funkční závislosti konsekventů fr, představující výraz pro výpočet odpovídající hodnoty výstupní veličiny u. Jako funkční závislost v každém dílčím r-tém pravidle je vybrán lineární regresní model ur = lr1x1 + lr2x2 + ... + lrnxn + lr0. Globální regresní závislost může být obecně nelineární. Metoda proto představuje přístup, kterým je nelineární regrese převedena na kvazilineární. Každé pravidlo představuje popis chování soustavy v podprostoru, vymezeném jeho antecendentem, přičemž popis chování soustavy v tomto podprostoru je definován lineární regresní závislostí v jeho konsekventu.

Problémem vygenerování pravidel modelu je jak optimální volba nezávisle proměnných xj v antecedentech a konsekventech pravidel, tak také optimální volba parametrů fuzzy množin Ajxj v antecedentech a regresních koeficientů lj v konsekventech pravidel. První úloha představuje úlohu strukturální identifikace modelu, druhá úloha je úlohou identifikace parametrické. Prohloubení vágnosti modelu pak představuje metoda, která identifikuje regresní koeficienty konsekventů jako trojúhelníková fuzzy čísla. Podmínkou pro identifikaci řídícího modelu je datový soubor, obsahující množinu Z- vektorů naměřených hodnot

)]([min ∗= iAir xwri

μ

Page 100: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

100

{xz1, xz2, ... , xzn, yz}, z = 1, 2, ..., Z. V teorii a praxi fuzzy regulace využíváme vlastnosti rozkladu na lineární subsystémy a formalizujeme nelineární regulátor pomocí R regulátorů lineárních, jak bude vysvětleno v následující kapitole.

Řešené úlohy 6.1

Shrnutí pojmů

Ve fuzifikované metodě aproximace nelineární funkce lomenými přímkovými

úseky nahradíme ostré definiční intervaly nezávisle proměnné fuzzy intervaly. . Jazykově můžeme takovou aproximaci popsat IF-THEN fuzzy pravidly, v jejichž konsekventech jsou lineární rovnice přímkových úseků. Antecedenty pravidel takového typu vymezují vstupní podprostory, v nichž platí dílčí funkční závislosti konsekventů, představující výraz pro výpočet odpovídající hodnoty výstupní veličiny. Takový fuzzy model (Takagi-Sugeno) má následující vlastnosti:je proveden velmi výhodný rozklad – nelineární systém je rozložen do subsystémů lineárních, díky spojitému analytickému vztahu pro výpočet globální výstupní proměnné y je aproximace spojitá, těsnost aproximace je velmi dobrá a výstupní hodnota tohoto fuzzy modelu je obyčejné (ostré) číslo a není třeba je defuzifikovat.

Tento model je velmi má velmi dobré vlastnosti jako univerzální aproximátor jakkoli nelineární n- rozměrné závislosti. V teorii a praxi fuzzy regulace využíváme vlastnosti rozkladu na lineární subsystémy a formalizujeme nelineární regulátor pomocí R regulátorů lineárních.

Otázky 6.1

6.1.1 Čím se od sebe liší fuzzy modely typu Mamdani a Takagi-Sugeno ? 6.1.2 Jaký je postup vyvození hodnoty závisle proměnné veličiny u modelu Takagi-Sugeno ? 6.1.3 Jaké výhody má Sugenovský fuzzy model ?

Úlohy k řešení 6.1

6.1.1. Sestavte fuzzy model typu Takagi-Sugeno pro nelineární jednorozměrnou funkci y = f(x), která je klesající (má charakter nepřímé úměrnosti)! 6.1.2 Sestavte fuzzy model typu Takagi-Sugeno pro jednu periodu sinusové jednorozměré funkce y = sinx !

Page 101: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

101

Další řešené příklady naleznete v kapitole:

CVIČENÍ 11 Automatická metoda hledání optimálních parametru fuzzy regulátorů typu PS, PD, PSD (Mamdani a Sugeno) soustav do 2. řádu

Další zdroje

[1] Takagi,T.: Fuzzy Identification of Systém and its Application to Modelling and Control, IEEE Trans., SMC, 1, 1985 [2] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. ISBN 80-901984-4-9 [3] Vysoký.P.: Fuzzy řízení. ČVUT Paraha, 1996. ISBN 80-01-01429-8

Page 102: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

102

6.2 Struktura a parametry Sugenovského regulátoru

Čas ke studiu: 1 hodina

Cíl:

Po prostudování tohoto odstavce budete umět • pochopit metodu aproximace nelineárních funkcí • vysvětlit princip modelu Takagi-Sugeno • sestavit model Takagi-Sugeno po jednorozměrnou nelineární funkci • pochopit metodu dekompozice nelineárního fuzzy regulátoru

Sugenovským regulátorem

Výklad

V minulé kapitole jsme ukázali, jak lze fuzzy modely Takagi-Sugeno

(Sugenovské modely) použít pro aproximaci vícerozměrných nelineárních závislostí jejich rozkladem na dílčí subsystémy lineární. V regulační technologii lze velmi výhodně využít této skutečnosti k syntéze nelineárního regulátoru. Za předpokladu,že proměnné xi jsou vstupní proměnné regulátoru (e, Δe, Σe), konsekvent každého pravidla (jako lineární kombinace vstupních proměnných) tvoří jeden dílčí lineární regulátor. Jejich skládáním s použitím vztahu váženého součtu můžeme vytvořit linearizovaný regulátor pro nelineární systém, přičemž při této linearizaci nedochází k nespojitostem a skokovým změnám. Tento rozklad je velmi užitečný i proto, že nám umožní reprezentovat fuzzy regulátor pomocí matematicko-analytických vztahů. Nelineární fuzzy regulátor tak můžeme převést na několik regulátorů lineárních.

Hlavním problémem syntézy takového regulátoru je návrh fuzzy množin

tvořících jazykové hodnoty vstupních proměnných a funkce tvořící konsekventy pravidel (dílčí lineární regulátory). V poslední době se pro identifikaci parametrů fuzzy modelů (tedy i fuzzy regulátorů) požívá integrovaných procedur využívající vícevrstvých neuronových (fuzzy-neuronových) sítí s vlastností samoučení (tréninkové datové vstup/výstupní množiny) [2]. Počet pravidel můžeme také odhadnout nebo nalézt např. vhodnou procedurou shlukové analýzy [1], nalezení parametrů regresních vztahů konsekventů je však obtížnější.

Proveďme rozklad nelineárního fuzzy regulátoru obdobného typu PI [2].

Předpokládejme, že máme takový fuzzy regulátor popsaný vztahem Δu(k) = f(e(k), Δe(k)) (6.2.1)

Poznámka: v tomto případě nevyjadřujeme přenosovou funkci PI regulátoru jeho klasickým vztahem, ale jako derivaci tohoto vztahu. Tím dostaneme na výstupu

Page 103: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

103

takového regulátoru derivaci (diferenci) akční veličiny, kterou pak jako ostrou integrujeme. Pracujeme tedy s odpovídajícím konvenčním regulátorem

Δu(k) = KP.e(k) + KI.e(k) (6.2.1) Vyjádříme popis dekomponovaného nelineárního PI fuzzy regulátoru Sugenovským modelem s m- pravidly IF (e(k) is A11 ) and (Δe(k) is A12) THEN Δu(k) = a11.e(k) + a12.Δe(k) else IF (e(k) is A21 ) and (Δe(k) is A22) THEN Δu(k) = a21.e(k) + a22.Δe(k) (6.2.2) else . . . IF (e(k) is Am1 ) and (Δe(k) is Am2) THEN Δu(k) = am1.e(k) + am2.Δe(k) Pro globální výstup takového modelu platí vztah (6.1.1), tedy

=

=

Δ+=Δ m

ii

m

iii

w

kekeawku

1

1i21 ))(a)((

)(

kde váhy wi určíme podle vztahu )(*),(*min( 21 kekew iii Δ= μμ kde e*(k) a Δe*(k) jsou aktuální naměřené hodnoty regulační odchylky a její diference v k- tém kroku regulačního procesu. Hledáme dále parametry Sugenovského modelu (regulátoru) takové, jehož výstup bude odpovídat výstupu původního fuzzy PI regulátoru, tedy

)()( kukuS Δ−Δ

Parametry budeme hledat s využitím optimalizační procedury s minimalizací střední kvadratické odchylky mezi výstupy obou regulátorů. Účelová funkce optimalizace je tedy 22 ))()(( kukuE Sk Δ−Δ= → min optimalizační algoritmus je dán vztahem [2] )(2)(a1)( i11 keEwkka kiki α−=+ )(2)(a1)( i22 keEwkka kiki Δ−=+ α

Page 104: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

104

Po ukončení optimalizační procedury dostaneme příslušné koeficienty Sugenovského modelu, přičemž máme pro každé pravidlo jeden lineární submodel. Nelineární fuzzy PI regulátor (6.2.2) jsme tak dekomponovali na m- virtuálních lineárních konvenčních PI regulátorů (Obr.6.2.1).

Obr. 6.2.1

Výsledný nelineární PI regulátor lze pak popsat vztahem )()( keKeKku IP +Δ=Δ kde pro proporcionální a integrační zesílení platí

∑=

=m

iiiP awK

11

∑=

=m

iiiI awK

12

Sugenovský model je tak předurčen pro syntézu Sugenova regulátoru s proměnnou strukturou a parametry, přičemž díky fuzzy interpolaci přechod mezi jednotlivými dílčími regulátory (pravidly) je spojitý a beznárazový.

Řešené úlohy 6.2

Page 105: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

105

Shrnutí pojmů

V regulační technologii lze velmi výhodně využít fuzzy modelu Takagi-Sugeno

k syntéze nelineárního regulátoru. Za předpokladu,že vstupní proměnné jsou e, Δe, Σe, konsekvent každého pravidla (jako lineární kombinace vstupních proměnných) tvoří jeden dílčí lineární regulátor. Jejich skládáním s použitím vztahu váženého součtu můžeme vytvořit linearizovaný regulátor pro nelineární systém.

Hlavním problémem syntézy takového Sugenovského regulátoru je návrh

fuzzy množin tvořících jazykové hodnoty vstupních proměnných a funkce tvořící konsekventy pravidel (dílčí lineární regulátory). V poslední době se pro identifikaci parametrů fuzzy modelů (tedy i fuzzy regulátorů) požívá integrovaných procedur využívající vícevrstvých neuronových (fuzzy-neuronových) sítí s vlastností samoučení (tréninkové datové vstup/výstupní množiny). Počet pravidel můžeme také odhadnout nebo nalézt např. vhodnou procedurou shlukové analýzy, nalezení parametrů regresních vztahů konsekventů je však obtížnější. Parametry lze také hledat s využitím optimalizační procedury.

Sugenovský model je předurčen pro syntézu Sugenova regulátoru

s proměnnou strukturou a parametry, přičemž díky fuzzy interpolaci přechod mezi jednotlivými dílčími regulátory (pravidly) je spojitý a beznárazový.

Otázky 6.2

6.2.1 Proč je fuzzy regulátor vždy nelineární ? 6.2.2 Co je hlavním důvodem možnosti využití Sugenovského modelu jako nelineárního fuzzy regulátoru ? 6.2.3 Jaké vstupní proměnné má fuzzy PD regulátor ? 6.2.4 Stačí pro stabilitu Sugenovského regulátoru stabilita dílčích regulátorů v konsekventech pravidel ?

Úlohy k řešení 6.2

6.2.1 Napište pravidlo Sugenovského fuzzy PID regulátoru ! Další řešené příklady naleznete v kapitole:

CVIČENÍ 12 Řízení náklonu letadla pomoci automatického hledání

optimálních parametru fuzzy regulátorů typu PS (Mamdani)

Page 106: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory

106

Další zdroje

[1] Babuška,R.: Fuzzy Modelling for Control. Boston, Kluwer Academic Publishers, 1998. ISBN 9780892381549 [2] Vysoký.P.: Fuzzy řízení. ČVUT Paraha, 1996. ISBN 80-01-01429-8

Page 107: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory

107

7 STABILITA SYSTÉMŮ S FUZZY REGULÁTORY 7.1 Stabilita regulačních obvodů s fuzzy regulátory

Čas ke studiu: 3 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • pochopit princip přístupu vyšetřování stability regulačního obvodu

s fuzzy regulátorem • vysvětlit principiální nelinearitu fuzzy regulátoru • vysvětlit metodu vyšetřování stability obvodu s fuzzy regulátorem

pomocí kruhového kritéria

Výklad

Vyšetřování stability regulačního obvodu patří k základním procedurám provázející jeho návrh V případě použití fuzzy regulátoru je situace komplikována skutečností, že pro posouzení stability dosud neexistuje metoda využívající jednoduchá a názorná kritéria jako v případě použití regulátorů konvenčních. Za určitých předpokladů však lze však převést řešení stability systémů s fuzzy regulátory na problém vyšetřování stability nelineárních systémů [1]. Budeme předpokládat jednorozměrný regulační obvod s fuzzy regulátorem typu P, který využívá Mamdaniho inferenční metodu (viz Podkap.5.3). Dále předpokládejme, že funkce příslušnosti jazykových hodnot regulační odchylky e i akční veličiny u jsou symetrické trojúhelníkové, je použita defuzifikační metoa MOM (Mean of Maximum - střed maxima) a regulovaná soustava má přenos lineárního spojitého dynamického systému [2]. Uvažujme fragment pravidel fuzzy regulátoru, která mají následující tvar: R1: IF( e is MALÉ KLADNÉ (A1)) THEN (u is MALÉ KLADNÉ (B1)) else R2: IF( e is STŘEDNÍ KLADNÉ (A2)) THEN (u is STŘEDNÍ KLADNÉ (B2)) else R3: IF( e is VELKÉ KLADNÉ (A3)) THEN (u is VELKÉ KLADNÉ (B3)) Pravidla regulátoru reprezentují fuzzy relaci R. Označíme-li vstupní fuzzy množinu A, určíme odpovídající výstupní množinu B podle vztahu min-max kompozice B = A ο R

Page 108: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory

108

V případě Mamdaniho fuzzy regulátoru platí pro funkci příslušnosti relace R vztah )](),(min[),( ueue

ii BAR μμμ = Funkci příslušnosti výstupní akční veličiny při použití kompozičního pravidla platí vztah max)(

eB u =μ )],(),(min[ uee RA μμ

Jestliže regulační odchylka má tvar ostrého čísla, můžeme ji považovat za singleton 1)( 0 =eAμ a pro fuzzy množinu akčního zásahu platí vztah max)(

eB u =μ )],(),(min[ uee RA μμ = ),()],(),(min[ 000 ueuee RRA μμμ =

Tvar výstupní fuzzy množiny B* dostaneme procedurou Mamdaniho inference sjednocením ořezaných funkcí příslušnosti jazykových hodnot výstupní veličiny B (viz Podkap.5.3). Její tvar je nakreslen na Obr. 7.1.1

Obr. 7.1.1 Pro defuzifikovanou hodnotu akční veličiny (s použitím metody MOM, viz Obr.7.1.1) dostaneme vztah

u* = defuzz(B*) = 2

)()( max2*Bmax1* uuB μμ +

Defuzifikovanou hodnotou je průměrná hodnota maxim ořezané fuzzy množiny jazykové hodnoty akční veličiny u s největší výškou. Z toho plyne důležitý záver, že pokud se bude hodnota regulační odchylky e0 pohybovat v pásmu, pro které je

Page 109: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory

109

dominantní i- té pravidlo a pokud bude splněna podmínka symetričnosti trojúhelníkových funkcí příslušnosti jazykových hodnot akční veličiny, bude celému tomuto pásmu odpovídat jediná konstantní defuzifikovaná hodnota u*. Probíhá-li pak hodnota e0 v pásmu < 0, ∞ >, bude výsledkem schodovitá funkce, nazývaná v teorii nelineárních regulátorů jako statická převodní mnohaúrovňová reléová charakteristika (Obr. 7.1.2).

Obr. 7.1.2 Pokud budou platit uvedené předpoklady, lze úlohu vyšetřování stability regulačního obvodu s fuzzy regulátorem převést na úlohu vyšetřování stability obvodu s nelineárním regulátorem s mnohaúrovňovou reléovou charakteristikou. Pro kontrolu stability je použito kruhové kritérium [2]. Podmínkou jeho použitelnosti je požadavek, aby vyšetřovaný SISO systém bylo možno rozdělit na část lineární (reprezentovanou přenosem soustavy) a část nelineární (reprezentovanou statickou nelineární charakteristikou) – Obr. 7.1.3

Obr. 7.1.3

Nelineární statická charakteristika musí mít přitom sektorový charakter (Obr.7.1.4), vyjádřený vztahem )()()( 21 ekeuek ≤≤ , kde 0, 21 ≥kk (7.1.1)

Page 110: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory

110

Obr.7.1.4 Předpokladem je, že lineární přenos )(sG je asymptoticky stabilní. Pro posouzení stability takového regulačního obvodu platí [3]: Systém je globálně a asymptoticky stabilní, jestliže Nyquistova křivka ( frekvenční charakteristika) lineární části nevstupuje do kruhu ani neobkličuje ve směru hodinových ručiček kruh se středem na záporné reálné ose, procházející body [-1/k1, j0] a [-1/k2, j0]. . Příklad takového stabilního regulačního obvodu je uveden na Obr. 7.1.5.

Obr. 7.1.5

V našem případě je omezující přímka k1 totožná s osou e a její směrnice její směrnice je nulová. Průměr kritického bodu je tedy nekonečný a jeho omezující kružnice degeneruje v přímku, rovnoběžnou s osou u a procházející bodem [-1/k2 , j0]. Bude-li Nyqistova křivka lineární části stabilní a nebude-li protínat tuto přímku, bude regulační obvod s fuzzy regulátorem stabilní.

Page 111: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory

111

Uvedené kritérium zaručuje podmínky postačující, nikoliv nutné. To znamená, že systém může být stabilní i za horších podmínek kdy toto kritérium není splněno, nemůže však být nestabilní pokud jsou podmínky kritéria splněny [3]. Zobecnění kritéria stability Zjednodušující podmínky, které jsme dosud uvažovali, můžeme zmírnit a metodu vyšetřování stability fuzzy regulátoru zobecnit [1], [3]. Bude-li použita jiná metoda defuzifikace než MOM, nebude mít statická charakteristika nelineární části reléový charakter. Její průběh může být složitější, podmínky (7.1.1) kladené na sektorovou charakteristiku však většinou splní. V případě použití fuzzy regulátoru obdobného typům PI či PID je metoda kruhového kritéria rovněž použitelná, ztratí však názornost a jednoduchost. V případě systému MIMO může být takový systém dekomponován na množinu systémů SISO. V takovém případě nebudeme pracovat s jednotlivým přenosem lineární části, nýbrž s maticí přenosů G(s) o rozměru (m x m) o kterých předpokládáme, že jsou to racionální lomené funkce (s) a splňují požadavek asymptotické stability. Nelineární část pak bude tvořena diagonální maticí, jejíž prvky budou funkce fi(xi) splňující podmínku sektorové nelinearity. Dříve, než zformulujeme kruhové kritérium pro systém MIMO, budeme analyzovat vlastnosti matice G(s). Předpokládejme, že je možno vytvořit inverzní matici )(1 sG − . Prvky této matice označme )(ˆ sgij . O takové inverzní matici řekneme, že je řádkově diagonálně dominantní, jestliže pro všechna i = 1, 2,…, m platí

∑≠=

>m

ijjijij sgsg

,1)(ˆ)(ˆ

Matice bude sloupcově diagonální, bude-li platit

∑≠=

<m

ijjijij sgsg

,1)(ˆ)(ˆ

Pro všechna i = 1, 2,…, m zobrazuje )(ˆ sgii imaginární osu s = jω na křivku )(ˆ ωjgii . Pro kontrolu stability však nemůžeme použít tuto křivku, ale celý pás, který vznikne sjednocením kružnic o průměru di(jω) pro který platí v případě řádkové dominance

∑≠=

=m

ijjiji jgjd

,1)(ˆ)( ωω

nebo v případě dominance sloupcové.

Page 112: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory

112

∑≠=

=m

ijjiji jgjd

,1)(ˆ)( ωω

Formulace kruhového kritéria je nyní následující: nelineární MIMO systém, který vyhovuje uvedeným předpokladům, je globálně a asymptoticky stabilní, jestliže se uvedené Nyquistovo pásmo pro inverzní soustavu vyhýbá jak počátku, tak kruhu se středem na záporné reálné ose procházejícím body [-k1, j0], [-k2, j0] a obkličuje jej ve směru hodinových ručiček. Musíme zřejmě posuzovat tolik pásů,koli je diagonálních prvků matice G(s). V praxi však stačí zkonstruovat jen kružnic několik, jak ukazuje Obr.7.1.6.

Obr. 7.1.6 Pokud převedeme kontrolu stability regulačního obvodu s fuzzy regulátorem na kontrolu stability nelineárních systémů, můžeme použít i další metody [1] Uvedená metoda kruhového kritéria je však v inženýrské praxi dobře použitelná.

Řešené úlohy 7.1

Shrnutí pojmů

V případě vyšetřování stability regulačního obvodu s fuzzy regulátorem je situace komplikována skutečností, že pro posouzení stability dosud neexistuje metoda využívající jednoduchá a názorná kritéria jako v případě použití regulátorů konvenčních. Za určitých předpokladů však lze však převést řešení stability systémů s fuzzy regulátory na problém vyšetřování stability nelineárních systémů. Pokud budou platit omezující předpoklady (fuzzy regulátor obdobný typu P, defuzifikační procedura MOM) lze úlohu vyšetřování stability regulačního obvodu s fuzzy regulátorem převést na úlohu vyšetřování stability obvodu s nelineárním

Page 113: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory

113

regulátorem s nelineární statickou charakteristikou se sektorovým charakterem. Pro kontrolu stability může pak být použito kruhové kritérium V obecném případě nebude mít statická charakteristika nelineární části reléový charakter. Její průběh může být složitější, podmínky kladené na sektorovou charakteristiku však většinou splní. V případě použití fuzzy regulátoru obdobného typům PI či PID je metoda kruhového kritéria rovněž použitelná, ztratí však názornost a jednoduchost. V případě systému MIMO může být takový systém dekomponován na množinu systémů SISO a vyšetřován obdobně.

Otázky 7.1

7.1.1 Jaké jsou podmínky pro fuzzy regulátor s mnohaúrovňovou reléovou

statickou charakteristikou ? 7.1.2 Co znamená, že metoda kruhového kritéria zaručuje podmínky stability

postačující, nikoliv nutné ? 7.1.3 Je výhodou, že fuzzy regulátor je v podstatě regulátorem nelineárním ?

Úlohy k řešení 7.1

7.1.1 Nakreslete tvar statické charakteristiky fuzzy regulátoru typu P

používajícího defuzifikační metodu GOG.

Další řešené příklady naleznete v kapitole:

CVIČENÍ 13 Fuzzy regulace magneticky levitující kuličky v prostoru virtuální reality

Další zdroje

[1] DRIANKOV,D. An Introduction to Fuzzy Control. Springer-Verlag. 1994. [3] BALÁTĚ,J, Automatické řízení. BEN Praha, Technická literatura. Praha, 2004. ISBN 80-7300-149-9 [3] VYSOKÝ,P. Fuzzy řízení. ČVUT Praha. 1996. ISBN 80-01-01429-8

Page 114: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory

114

8 FUZZY STAVOVÉ REGULÁTORY 8.1 Fuzzy stavové regulátory

Čas ke studiu: 3 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • vysvětlit princip jazykové verze stavového regulátoru • porozumět principu stanovení relačního přenosu stavového

regulátoru

Výklad

Stavový regulátor je realizován zpětnou vazbou od stavů regulovaného systému. Fuzzy stavový regulátor je pak zajímavý skutečností, že jeho pravidla nejsou – jako v případě fuzzy regulátoru FLC – navrhována na základě zkušenosti nebo heuristik, nýbrž exaktně. V této kapitole si ukážeme princip postupu, který lze při návrhu takového fuzzy regulátoru stavů použít [1]. Pro případ stanovení pravidel (tedy výpočtu fuzzy relace R) fuzzy regulátoru stavů budeme uvažovat lineární dynamický regulovaný systém, popsaný stavovými rovnicemi )()(1) ( kuBkxAkx +=+ )()()( kuDkxCky += (8.1.1) kde )(kx je [1 x n] vektor stavů T

n kxkxkxkx )](),...,(),([)( 21=

)(ky je [1 x m] vektor výstupů T

m kykykyky )](),...,(),([)( 21= a )(ku je [1 x r] vektor řízení T

r kukukuku )](),...,(),([)( 21=

Page 115: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory

115

Matice A, B, C a D jsou matice koeficientů. Stavový regulátor R pak můžeme znázornit podle Obr. 8.1.1 (pro zvýšení přehlednosti vztahů budeme předpokládat

0)( =kw ).

Obr.8.1.1

Ve stavových rovnicích soustavy a regulátoru můžeme nahradit matici B vektorem b a matici R vektorem r .

)()(

)()(1)(kxrku

kubkxAkxT

T

=

+=+ (8.1.2)

Ve fuzzy doméně nepracujeme s obyčejnými proměnnými nýbrž s jazykovými proměnnými. Jazykové hodnoty jazykových proměnných budeme označovat symbolem L(.). Jazykové hodnoty proměnné stavů budou tak označeny symbolem Lx (např. x nabývá hodnoty MALÝ KLADNÝ) a význam příslušné jazykové hodnoty – funkce příslušnosti fuzzy množiny - symbolem xL~ )(~ xxL Lxμ= Zavedením jazykových hodnot proměnných musíme přejít z formy analytického popisu do formy popisu množinového. Soustava lineárních rovnic (8.1.2) je zvláštním případem relační struktury, sestávající z nosiče tvořeného kartézským součinem příslušných proměnných a množiny relací, tvořených stavově přechodovou relací 1

~R a relací regulátoru 2

~R . Jazykovou hodnotu stavového vektoru v kroku (k + 1) můžeme v takovém případě stanovit jako kompozici kartézského součinu jazykových hodnot (fuzzy množin) stavů a vstupů, tedy 1

~))(~)(~((1)(~ RkuLkxLkxL o×=+ (8.1.3) Jazykovou hodnotu řízení pak můžeme stanovit jako kompozici jazykové hodnoty stavů a relace regulátoru 2

~R 2

~)(~)(~ RkxLkuL o= (8.1.4)

Page 116: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory

116

Stavově přechodová relace 1

~R a relace regulátoru 2~R jsou reprezentovány pravidly,

popisujícími chování soustavy a regulátoru, např. IF (x1(k) is Lx1) and … and (xn(k) is Lxn)

THEN (x1(k + 1) is Lx1) and … and (xn(k + 1) is Lxn) pro stavově přechodovou relaci a IF (x1(k) is Lx1) and … and (xn(k) is Lxn) THEN (u(k) is Lu) pro relaci regulátoru. Dosadíme-li nyní do rovnice (8.1.3) za )(~ kuL z rovnice (8.1.4), dostaneme 12

~))~)(~)(~((1)(~ RRkxLkxLkxL oo×=+ S využitím asociativního zákona pro max-min kompozici můžeme psát )~~())(~)(~((1)(~

12 RRkxLkxLkxL požadovaný oo×=+ (8.1.5) Rovnice (8.1.5) představuje vztah, který umožňuje pro každý požadovaný stav regulovaného systému najít relaci regulátoru R2, která zaručuje, že se systém do tohoto stavu dostane. V podstatě tedy jde o exaktní stanovení pravidel stavového fuzzy regulátoru.

Známe-li požadovaný nový stav a stavově přechodovou relaci R1, pak relaci regulátoru R2 vypočítáme z relační rovnice (8.1.5). Řešení relačních rovnic představuje složitou proceduru, která se vymyká z rozsahu tohoto kurzu. Problematiku lze najít v [2], [3] nebo [4].

Řešené úlohy 8.1

Příklad 8.1.1

Postup práce s fuzzy stavovými modely si ukážeme na jednoduchém příkladu. Máme stavovou přechodovou relaci ve formě pravidel, známe vstupy a stavy ve formě fuzzy množin. Budeme hledat fuzzy množiny, které budou reprezentovat následující stavy nebo výstupy [5]. Pro jednoduchost budeme uvažovat systém SISO, který může být obecně nelineární, popsaný následujícími stavovými rovnicemi. ))(),(),...,(),((1)( 21 kukxkxkxfkx njj =+ (8.1.6) ))(),(),...,(),(()( 21 kukxkxkxgky n= (8.1.7) kde )(),( kgkf j jsou nelineární funkce příslušné dimenze. Předpokládejme dále, že regulovaný systém bude systémem stavová proměnná budou nabývat svých

Page 117: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory

117

jazykových hodnot xLyLuL ~,~,~ . Jednotlivé jazykové hodnoty budou dále označeny spodním indexem s hodnotami 1, 2, …, p v závorce. V našem případě nechť p = 2. V příkladu jsou fuzzy množiny jazykových hodnot definovány následovně: Pro vstup )(ku { }2/3.0,1/9.0)(,)1( == MALÉUMU

{ }2/8.0,1/3.0)(,)2( == VELKÉUVU Pro stavovou proměnnou )(kx { }3/3.0,2/7.0,1/5.0)(,)1( == MALÉXMX

{ }3/0.1,2/5.0,1/1.0)(,)2( == VELKÉXVX Pro stavovou proměnnou v následujícím kroku 1)( +kx { }3/2.0,2/5.0,1/9.0)(,)1(

/ == MALÉXNMX { }3/8.0,2/4.0,1/2.0)(,)2( ==′ VELKÉXNVX Pro výstup )(ky { }3/8.0,2/6.0,1/8.0)(,)1( == MALÉYMY

{ }3/8.0,2/6.0,1/2.0)(,)2( == VELKÉYVY Počáteční hodnoty pro vstup )(ku a stav )(kx { }2/8.0,1/2.0)( =kU { }3/9.0,2/7.0,1/5.0)(1 =kX Stavově přechodová relace je reprezentována souborem pravidel IF (u(k) is UM) and (x(k) is XM) THEN (x(k + 1) is XNM) IF (u(k) is UM) and (x(k) is XV) THEN (x(k + 1) is XNV) Výstupní relace je reprezentována souborem pravidel IF (u(k) is UM) and (x(k) is XM) THEN (y(k) is YM) IF (u(k) is UV) and (x(k) is XM) THEN (y(k) is YV) S použitím kompozičního pravidla můžeme rovnici (8.1.6) napsat ve tvaru

Uo

oq

r

xrin

xrni

RkxLkxLkxLkuL

RkxLkxLkxLkuLkxL

1)(21

21

))(~...)(~)(~)(~ (

))(~...)(~)(~)(~ (1)(~

=

=××××=

=××××=+

U oq

r

xrin RkxLkxLkxLkuL

1)(21 ))(~...)(~)(~)(~ (

=

××××= (8.1.8)

a rovnici (7.2.6) jako

Uo

oq

r

yrin

yn

RkxLkxLkxLkuL

RkxLkxLkxLkuLkyL

1)(21

21

))(~...)(~)(~)(~ (

))(~...)(~)(~)(~ ()(~

=

=××××=

=××××=

Page 118: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory

118

U oq

r

xrin RkxLkxLkxLkuL

1)(21 ))(~...)(~)(~)(~ (

=

××××= (8.1.9)

neboť pro stavově přechodovou relaci a výstupní relaci platí

Uq

r

xri

xi RR

1)(

=

=

Uq

r

yr

y RR1

)(=

=

kde r = 1, 2,…, q je indexová proměnná pravidla relace.

Jednotlivé dílčí relace, odpovídající jednotlivým pravidlům, získáme za předpokladu použití Mamdaniho implikace jako průnik funkcí příslušnosti jazykových hodnot jednotlivých proměnných, tedy

I III I II

)()(1)()(

)()()(1)()(

....

....

rnrryr

rrnrrx

ri

XXUR

YXXUR

=

=

V [6] je dokázáno, že pokud je fuzzy logická spojka else mezi pravidly interpretována jako obyčejná disjunkce, jsou max-min kompoziční operátor o a spojka „nebo“ komutativní. Dále pro zvýšení přehlednosti zápisu zavedeme operátor „∗ “ [Lee]. Jsou-li A a B dvě fuzzy množiny, je tento operátor definován vztahem )](),(min[max)( iBiAi

zz

xxBABA μμU =∧=∗

S použitím tohoto operátoru můžeme rovnice ( 7.2.8) a (7.2.9) zapsat v přehlednějším a praktičtějším tvaru

Uq

rrirnnrri kxLxLkxLkxLkxLkuLkuLkxL

1)(

/)()(11)( ))(~))~)(~(...)))(~)(~())(~)(~((1)(~

=

∧∗∧∧∗∧∗=+

Uq

rrirnnrr kyLkxLkxLkxLkxLkuLkuLkLy

1)(

/)()(11)( ))(~))(~)(~(...))(~)(~())(~)(~(()(

=

∧∗∧∧∗∧∗=

(7.2.10) Vraťme se nyní k našemu příkladu a vypočítejme pomocí rovnice (7.2.10) tvar výstupní fuzzy množiny )(ky . )2()2()2()1()1()1( ))(())(())(())(()( YXkXUkUYXkXUkUky ∧∗∧∗∨∧∗∧∗= Dosazením konkrétních parametrů fuzzy množin dostaneme pro hledanou výstupní fuzzy množinu numerický výraz y(k) = ({ }∗2/8.0,1/2.0 { }2/3.0,1/9.0 )∧ ({ }∗3/9.0,2/7.0,1/5.0

Page 119: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory

119

∗ { }3/3.0,2/7.0,1/5.0 ) ∧ { }3/8.0,2/6.0,1/8.0 ∨ { }∗2/8.0,1/2.0 ∗ { }2/8.0,1/3.0 )∧ { }3/9.0,2/7.0,1/5.0 ∗ { }3/0.1,2/5.0,1/1.0 ) ∧

∧ { }3/8.0,2/6.0,1/2.0 = { }........,0.5/......,0.5/./3.0 Další poučení o práci se stavovými modely lze získat ze zdrojů [5]. [7].

Shrnutí pojmů

Stavový regulátor je realizován zpětnou vazbou od stavů regulovaného

systému. Fuzzy stavový regulátor je zajímavý skutečností, že jeho pravidla nejsou – jako v případě fuzzy regulátoru FLC – navrhována na základě zkušenosti nebo heuristik, nýbrž exaktně.

Fuzifikací metody a zavedením jazykových hodnot proměnných musíme přejít z formy analytických forem stavových rovnic soustavy a regulátoru do forem popisů množinových. Soustava stavových lineárních rovnic je zvláštním případem relační struktury, sestávající z nosiče tvořeného kartézským součinem proměnných a množiny relací, tvořených stavově přechodovou relací 1

~R a relací regulátoru 2~R .

Jazykovou hodnotu stavového vektoru v kroku (k + 1) můžeme v takovém případě stanovit jako kompozici kartézského součinu jazykových hodnot (fuzzy množin) stavů a vstupů. Jazykovou hodnotu řízení pak můžeme stanovit jako kompozici jazykové hodnoty stavů a relace regulátoru 2

~R . Stavově přechodová relace 1~R a relace

regulátoru 2~R jsou reprezentovány pravidly, popisujícími chování soustavy a

regulátoru. Relační rovnice pro stanovení budoucího stavu představuje vztah, který

umožňuje pro každý požadovaný stav regulovaného systému najít relaci regulátoru R2, která zaručuje, že se systém do tohoto stavu dostane. Známe-li požadovaný nový stav a stavově přechodovou relaci R1, pak relaci regulátoru R2 vypočítáme z takové relační rovnice. Řešení relačních rovnic představuje složitou proceduru.

Otázky 8.1

8.1.1 Jaký význam mají matice koeficientů ve stavových rovnicích ? 8.1.2 Jak jsou použity v proceduře výpočtu stavového regulátoru stavově

přechodová relace 1~R a relace regulátoru 2

~R ? 8.1.3 Jaké je specifikum stavového fuzzy regulátoru ce srovnání s fuzzy

regulátorem FLC ?

Page 120: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory

120

Úlohy k řešení 8.1

8.1.1 Promyslete, jaké výhody může mít fuzzy stavový regulátor oproti fuzzy

regulátoru FLC. Další řešené příklady naleznete v kapitole:

CVIČENÍ 14 Expertní systém určený pro fuzzy regulace teploty v

místnosti v programovacím jazyku C#

Další zdroje

[1] VYSOKÝ,P. Fuzzy řízení. ČVUT Praha, FEL. 1996. ISBN 80-01-01429-8 [2] SANCHES E. Solution of Fuzzy Equations With Extended Operation. Inf. Cont. 1984,12. 3. pp.237-248 [3] KLIR G.J., YUAN,B. Fuzzy Sets and Applications, Prentice Hall, NJ. 1995 [4] PEDRYCZ W. Design of Fuzzy Control Algorithms With the Aid of Fuzzy Models. In: Sugeno,M. Industrial Application of Fuzzy Control. Elsevier. Amsterdam. 1985 [5] FILEV D.D. System Approach to the Fuzzy Models. International Journal of General Systems. 21, 3. 1992. pp. 311-337 [6] LEE C.C Fuzzy Logic in Control Systems: Fuzzy Logic Controller, part I, II. IEEE Trans. SMC. 20, 2. 1990. pp. 404-435 [7] YAGER R.R, FILEV D.D. Essentials of Fuzzy Modeling and Control. J. Wiley, New York. 1994

Page 121: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

121

9 ZNALOSTNÍ ŘÍZENÍ 9.1 Struktura a funkce inteligentního regulátoru

Čas ke studiu: 2 hodiny

Cíl:

Po prostudování tohoto odstavce budete umět • definovat funkci znalostního (inteligentního) regulátoru • vysvětlit poslání monitorovacích a dohlížecích expertních

modulů • nakreslit schéma inteligentního regulátoru • vyjmenovat problémy spojené s provozem expertního systému

v režimu reálného času • definovat architekturu inteligentního, jeho výpočetních

algoritmů a komunikačních procesů

Výklad

Dosud jsme se věnovali systémům FLC, takovým, jejichž základním cílem je

reprezentace empirických znalostí, pomocí nichž by mohl být proces přímo řízen. Jednou z možností efektivního využití expertních systémů v řízení je přístup, navržený Arzénem [1]. Tento přístup využívá obecných řídících znalostí a heuristik nikoliv k přímému popisu řízení, nýbrž k nastavení a adaptaci klasického regulátoru pomocí dohlížecích expertních systémů. Přístup je motivován nedostatky klasických adaptivních regulátorů, jako jsou požadavky na vstupní znalosti o procesu, jejich obtížné chápání uživatelem a skutečnost, že při manuální systematické adaptaci parametrů regulátoru jsou dosahované výsledky mnohdy lepší než při adaptaci automatické. Tento fakt se projevuje zvláště tehdy, pokud je řízená soustava složitá a obtížně měřitelná. Identifikační algoritmy mohou být chápány jako koncové algoritmické reprezentace velkého množství teoretických i praktických řídících znalostí. Vzniká tak kombinace, která pro řízení využívá vedle řídících také různých identifikačních a monitorovacích algoritmů. To vše je základem inteligentního regulátoru, v němž přístup expertního řízení využívá techniky expertních systémů k implementaci co největší jeho části. Základní principy a struktury expertních systémů, používaných v systémech znalostního řízení, zůstávají stejné jako u expertních systémů. Jestliže u systémů fuzzy regulace FLC byl expertní systém využíván pro přímé stanovení velikosti akčního zásahu (a nahrazoval tedy klasický regulátor jako takový), v systémech

Page 122: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

122

znalostního řízení jsou expertní systémy použity vedle klasického regulátoru pro optimalizaci jeho řídící funkcí. Jelikož v systémech znalostního řízení je třeba realizovat několik úloh znalostního typu, je použito buď více expertních systémů nebo, častěji, expertní systém, využívající znalostních zdrojů a systému "černé tabule" [2], [3]. Celkově lze říci, že systémy znalostního řízení jsou z hlediska umělé inteligence vybaveny dokonaleji, než systémy FLC. Proto se pro jejich označení užívá často názvu "inteligentní regulátor". Systémy znalostního řízení jsou dnes v praxi méně rozšířeny než systémy FLC I když jsou základní principy obecných expertních systémů v systémech znalostního řízení zachovány, přesto oproti klasickému použití expertních systémů je zde několik odlišností:

- expertní systémy jsou integrovány do celku inteligentního regulátoru;

- expertní systémy nejsou využívány interaktivně operátorem, ale počítačem. Musí být tedy formulovány podmínky, při kterých dojde automaticky k zahájení konzultací;

- jsou zdůrazněny funkce jeho induktivního učení;

- výsledky (tj. algoritmus řízení, jeho struktura a parametry) jsou aplikovány v

uzavřené smyčce, takže zde vzniká další zpětná vazba. Znalostní řízení zahrnuje dvě základní problémové oblasti. První představuje problém, které znalosti o procesu musí být známy, aby regulátor mohl být nastaven a ovládán. Součástí je i problém, jakým způsobem mohou být takové znalosti získány. Druhá oblast problémů spočívá v reprezentaci a implementaci znalostí, tj. problematika požadavků, které proces klade na software a hardware expertního systému. Obecně je to tedy otázka vlastností expertních systémů v reálném čase [1]. Expertní řízení si zde klade za cíl vytvořit dokonalejší prostředek regulace, než přístupy řízení FLC. Ideálním produktem je tak inteligentní regulátor, který

- dokáže uspokojivě regulovat libovolné v čase proměnné nelineární procesy vystavené působení různých poruch;

- požaduje minimální předběžné znalosti o procesu, realizuje automatickou

identifikaci struktury i parametrů regulátoru;

- dovoluje uživateli zadávat specifické vlastnosti pomocí kvalitativních termínů typu "co možná nejrychleji", "malý překmit" a pod.;

- postupně zvětšuje množství znalostí o procesu, což se projevuje ve

zvýšení kvality regulace (vlastnost samoučení);

- poskytuje uživateli informace o průběhu řízení, dynamice procesu, statistice o řídících zásazích a pod.;

Page 123: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

123

- umožňuje jednoduchou reprezentaci základních znalostí o řízení vč. heuristik a poskytuje možnosti jejich rozšiřování a modifikací.

Uvedené cíle můžeme charakterizovat jako pokus o zahrnutí zkušeného inženýra do řídící smyčky a vybavit jej nástroji, jako jsou algoritmy pro

- řízení, - identifikaci, - měření, - monitorování, - navrhování.

Použité znalosti pak mají povahu procedurální i deklarativní. Blokové schéma obecného znalostního (inteligentního) regulátoru je nakresleno na Obr.9.1.1.

R Fs(s)u(iT)e(iT)+

-

(t)ωT

y(t)

T

Identifikace a návrh D(t)

Tv(t)

Obr.9.1.1 Proces znalostního řízení zahrnuje dvě fáze, a to fázi ladění a fázi průběžné adaptace.

a) v první fázi jsou zjišťovány předchozí (výchozí, apriorní) znalosti o procesu a požadavky na specifikaci uzavřené smyčky. Výchozími znalostmi se rozumí např. typ řídícího problému (regulace teploty, tlaku, hladiny a pod.), informace o stabilitě či nestabilitě systému, o velikosti dopravního zpoždění, o dynamice systému. Specifikace uzavřené smyčky je pak tvořena informacemi např. požadavku rychlosti odezvy, velikosti překmitů, doby ustálení a pod.

b) v druhé fázi provádí znalostní systém experimenty (identifikaci soustavy), které mají poskytnout upřesněné informace o aktuální dynamice soustavy. Závěry jsou pak využity pro návrh regulátoru nebo pro úpravu hodnot jeho parametrů.

Cyklus režimu systému znalostního řízení, tj. start první a druhé fáze jeho adaptace, může být buď synchronní nebo asynchronní (na vyžádání monitorovacího subsystému).

Page 124: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

124

Expertní řízení spočívá na předpokladu, že univerzální adaptivní řídící algoritmus bez jakýchkoliv požadavků na dřívější informace neexistuje. Množství a kvalita apriorních informací není exaktně definována. Otázka, jak budovat znalosti o procesu pomocí aktivních identifikačních experimentů stále ještě nebyla jasně zodpovězena. Existuje několik přístupů a metod, které mají každá svoje výhody a nevýhody. Při porovnání různých metod hrají opět důležitou roli znalosti, které tyto metody požadují. Protože cílem je vybudovat znalostní bázi o procesu, je nezbytné, aby samotné ladící metody vyžadovaly tak málo apriorních znalostí o procesu, jak je to jen možné. Expertní systémy reálného času Základní principy expertních systémů, používaných v systémech znalostního řízení, zůstávají zachovány. Přesto je zde řada specifických vlastností, plynoucích z toho, že znalostní systémy vyžadují implementaci expertního systému v režimu reálného času. Uveďme předně přehled obecných problémů systémů znalostního řízení v reálném čase [1], jako:

- nemonotónní vyvozování - systém pracuje v dynamickém prostředí. Vstupní i výstupní informace nezůstávají statické - s časem buď ztrácejí svůj význam, nebo přestávají být platné v důsledku změny stavu systému. Systém musí být schopen vyvozovaná data automaticky přehodnocovat. Obvyklé je použití metody poklesu platnosti dat s časem - metoda zapomínání s možností volby koeficientu, vyjadřujícího jeho intenzitu (exponenciální zapomínání);

- asynchronní události - systém musí být schopen reagovat na časově

asynchronní události např. přerušením méně důležitých procedur s ošetřením aktuálního stavu s vyšší prioritou;

- vyvozování v čase - v systémech reálného času je čas velmi důležitou

veličinou. Systém musí být schopen vyjádřit a respektovat čas a příčinu událostí minulých, současných a budoucích a také posloupnost, v jaké události nastávají;

- časově omezené vyvozování - procedury vyvozování musí vstupovat do

řešení v dobu, kdy je to zapotřebí. V daných termínech je požadováno nejlepší možné řešení problému. Míra vhodnosti řešení přitom musí být ohodnocena;

- paralelní vyvozování - často je přirozené považovat řešení problému za

činnost, složenou z paralelních vyvozovacích procesů. Je výhodou, když takovou strukturu odráží i znalostní systém. Současně s paralelním vyvozováním jsou kladeny požadavky na synchronizaci mezi různými činnostmi s možností přerušení činností v určitém čase nebo po určité

Page 125: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

125

události. Časté je strukturování znalostních bází do znalostních zdrojů s jejich řízením pomocí agendy, která dovoluje realizovat techniku přerušení;

- práce s nejistými nebo chybějícími informacemi - systém musí být vybaven

prostředky pro efektivní zpracování neurčitosti. Neurčitost (vágnost), která je vlastní složitým soustavám, je nejčastěji reprezentována slovními (lingvistickými) popisy. Pro reprezentaci neurčitosti je využíváno fuzzy množinové matematiky, pro vyvozování v takových systémech je používáno aparátu fuzzy vícehodnotových lingvistických logik;

- vazba na okolí - znalostní systémy pro práci v reálném čase musí být

vybaveny odpovídajícími automatickými prostředky pro komunikaci s datovými bázemi na vstupní i výstupní straně. Synchronní nebo asynchronní událostí je inicializována vždy určitá část systému, která čte vstupní data z relační databáze, provede potřebné výpočty a výstupní informace do databáze opět předává. Velmi důležitá může být i potřebná rychlost prováděných operací.

Všechny naznačené problémy nejsou dnes ještě uspokojivě vyřešeny, v řadě z nich jsou však dnes používány různé metody s uspokojivými výsledky. V průběhu vývoje znalostního řízení bylo vyvinuto několik prototypových systémů, přičemž základy jejich architektury zůstávají stejné. Variantní je pouze jejich vnitřní struktura. Celková skladba systému znalostního řízení je nakreslena na Obr.9.1.2. Znalostní regulátor pozůstává ze dvou základních částí - výpočetních algoritmů a znalostního systému. Pro zajištění toho, aby výpočetní algoritmy nebyly ve své funkci zdržovány znalostním systémem, bývají obě tyto části implementovány jako dva (např. konkurenční VMS) procesy, přičemž výpočetní algoritmy mají vyšší prioritu. Komunikační interface mezi oběma základními částmi je opět implementována jako oddělený proces. Uživatel může přitom komunikovat přímo se znalostním systémem a nepřímo s výpočtovými algoritmy.

Page 126: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

126

Obr.9.1.2

Znalostní systém a komunikační interface bývají naprogramovány v některém z deklarativních jazyků (Lisp), systém výpočetních algoritmů bývá naprogramován v jazyku procedurálním (Pascal). V dalších odstavcích uvedeme příklad řešení znalostního regulátoru, jak jej uvádí Arzén [1]. Architektura výpočetních algoritmů Výpočetní algoritmy mají charakter procedurální. Obsahují knihovnu algoritmů, jako např. PID algoritmy, algoritmy v pohyblivé řádové čárce, diskrétní filtry, relé, rekurzivní algoritmy nejmenších čtverců a pod. Modulární knihovnu algoritmů lze snadno doplňovat o algoritmy nové. Výpočetní část, obsahující vlastní softwarový regulátor, je na řízený proces napojena na vstupu i na výstupu prostřednictvím příslušné databáze. Principiálně můžeme výpočetní algoritmy rozdělit do tří základních skupin:

- řídící algoritmy - vypočítávají velikost aktuálního akčního zásahu na základě informací o velikosti regulační odchylky, jejích funkcí a velikosti poruch. Jejich tvar je dán typem použitého regulátoru. Řídící algoritmus se může v procesu řízení měnit (strukturální identifikace regulátoru).

- identifikační a monitorovací algoritmy - vypočítávají informace z toku vstupních

a výstupních dat. Vypočtené hodnoty jsou poskytovány znalostnímu systému. Algoritmy v těchto dvou skupinách mohou být považovány za filtry, které jsou inicializovány tehdy, kdy v řízeném systému došlo k významné události. Během stabilního, standardního průběhu regulace není znalostní systém inicializován a řízení probíhá na základě platného řídícího algoritmu.

Page 127: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

127

Identifikační a monitorovací algoritmy odlehčují znalostní systém předzpracováním informace.

Architektura komunikačních procesů Komunikace mezi výpočtovými algoritmy a znalostním systémem probíhá komunikačním interface prostřednictvím schránek typu MAILBOX. Ze znalostního systému jsou výpočtovým algoritmům posílány zprávy prostřednictvím schránky OUTBOX. Tyto zprávy mají povahu konfiguračních příkazů a pokynů pro změnu hodnot parametrů regulátoru, případně jsou to komunikační požadavky. Zprávy, které jsou posílány z výpočtových algoritmů do znalostního systému, obsahují výsledky výpočtových procedur, detekované alarmy, odpovědi na uživatelské příkazy a časová přerušení. Zprávy pro znalostní systém jsou posílány prostřednictvím schránky INBOX, která je standardní schránkou typu FIFO (First-In-First-Out), jsou však povoleny zprávy s vyznačenou prioritou. Typem zpráv zde může být požadavek přerušení, generovaný buď asynchronní událostí, synchronním signálem z časovače TIMER nebo interním požadavkem doplnění nebo modifikace prvku databáze.

Schránka ANSWERBOX je využívána pro zprávy, představující odpovědi na informační požadavky, které předkládá znalostní systém. Schránka RESULTBOX je využívána znalostním systémem pro předávání zpráv interaktivnímu komunikačnímu interface. Architektura znalostního systému Znalostní systém je tvořen expertním systémem v reálném čase. S ohledem na požadavky, uvedené výše, má architekturu, využívající černé tabule (Blackboard) a znalostních zdrojů (Knowledge Sources). Znalostní zdroje mají buď deklarativní charakter a jsou založeny na IF-THEN pravidlech s dopřednou (GMP) nebo zpětnou (GMT) inferencí, mohou však mít i charakter procedurální a být založeny na výpočtových algoritmech. Pro uchovávání informací jsou používány také rámce [2], [3]. Jednotlivé znalostní zdroje implementují oblast znalostí pro určitou úlohu. Mohou být tedy považovány za experty v určitých podproblémech, např. návrhu struktury regulátoru, modelování a verifikace modelů, statistickou analýzu, monitorovací aspekty a pod. Znalostní zdroje tak představují heuristicko-logické okolí použitých výpočtových algoritmů. Znalostní zdroje zahrnují také pravidla pro zakládání, modifikaci a rušení rámců vč. prostředků pro událostmi řízené pozastavování jejich provádění. Znalostní zdroje rovněž zajišťují přiřazování časových intervalů platnosti prvkům databáze.

Page 128: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

128

Činnost znalostního regulátoru zahrnuje inicializaci různých znalostních zdrojů v sériovém i paralelním režimu. Tak např. v ustáleném stavu ošetřuje jeden znalostní systém aktuální regulační algoritmus, zatímco druhý implementuje různé monitorovací aspekty. Výběr vhodného znalostního zdroje je prováděn ve dvou úrovních. První úroveň představuje sekvenční inicializaci znalostních zdrojů, zatímco druhá zahrnuje sdílení času mezi různými znalostními zdroji, které jsou aktivní současně (tato činnost je ekvivalentní přidělování reálného času ve víceuživatelském operačním systému, kdy příslušné znalostní zdroje jsou ekvivalenty souběžných procesů). Znalostní zdroj se provádí do té doby, než začíná čekání na chybějící informaci, nebo než se ukončí. Pro sekvenční kombinaci znalostních zdrojů byly implementovány tři různé metody:

- znalostní zdroje se vyvolávají, spouštějí a zastavují navzájem. Jde o nejjednodušší způsob, kdy následující znalostní zdroj čeká do doby, než je ukončen zdroj předcházející. Procedurální znalostní zdroj má také schopnost vyvolat jiný procedurální znalostní zdroj a počkat na jeho výsledek;

- znalostní zdroje jsou řazeny do předem definovaných posloupností. Tak např.

po provedení vstupní ladící posloupnosti jsou inicializovány následující posloupnosti, sloužící k návratu do řízení v ustáleném stavu, podle různých chybových podmínek. Kombinace znalostních zdrojů do posloupnosti je vlastně procedurální operace a je proto vyjadřována formou procedurálního znalostního zdroje;

- dynamické generování posloupností; jde o nejsložitější metodu, při níž je

posloupnost rekurzivně generována srovnáváním požadovaných cílů a výchozích podmínek (odvozených ze vstupních stavů). Takový přístup transformuje problém generování posloupnosti znalostních zdrojů na problém plánovací.

Řešené úlohy 9.1

Příklad 9.1.1

Jako příklady inteligentních regulátorů uvedeme některá prototypová řešení známá z literatury. Nejvíce práce bylo vykonáno v oblasti jemného samodoladění obvykle PID regulátoru a dohlížení nad regulátorem adaptivním. Na Obr. 9.1.3 je nakresleno blokové schéma adaptivního regulátoru s průběžnou identifikací regulované soustavy [4].

Page 129: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

129

Znalostní systémDohlížecí algoritmus

Řídicí Algoritmy

Identifikační algoritmus

Proces

Obr. 9.1.3 Popišme princip tohoto řešení. Adaptační proces pozůstává ze dvou fází: identifikace soustavy a výpočtu řídícího algoritmu podle získaného modelu soustavy. Kvalitu obou těchto procesů posuzujeme kvalitou výsledného průběhu regulačního děje. Obvykle používáme metody minima ztrátové funkce

( )tuefJ ,,= kde e je regulační odchylka, u je akční veličina a t je reálný čas regulace. Pro identifikaci soustavy je možno použít např. metodu nejmenších čtverců odchylek. K tomu je však třeba využít nutných apriorních znalostí o předem odhadovaném řádu soustavy a počátečním odhadu velikosti parametrů. Samotný výpočet, prováděný na základě změřených vstupních [u(t)] a výstupních [y(t)] hodnot je do značné míry závislý na signálových poruchách. Rychlost konvergence estimovaných parametrů je závislá na velikosti prvků tzv. kovarianční matice P, dané rekurentním vztahem ( )[ ] ( ) ( ) ( )[ ] ( )[ ] ( ) ( )[ ] ( ) ( )[ ][ ]TiZiTPTiZiTPTiZTiZiTPiTPTiP TT 111111 +⋅⋅++⋅⋅+⋅+⋅−=+

kde i je krok regulace, Z(.) je vektor hodnot vstupů u a výstupů y. Počet hodnot, a tedy i rozměr vektoru Z(iT) i matice P(iT), závisí na počtu neznámých parametrů předpokládaného modelu soustavy. Jelikož velikost prvků matice P s počtem kroků klesá, je po určité době vhodné provést restart identifikačního procesu novou volbou P(0). Volba vhodného okamžiku se přitom řídí jednak okamžitou velikostí prvků matice P, jednak průběhem řídící veličiny a poruchy. Pro návrh řídícího algoritmu je možno použít několika metod. Mezi použitelné (tj. algoritmizovatelné) postupy patří diskrétní varianta Ziegler-Nicholsovy metody,

Page 130: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

130

návrh na konečný počet kroků regulace při změně žádané veličiny nebo poruchy a návrh na zadané rozložení pólů přenosu uzavřeného obvodu. Struktura takového procesu adaptace je nakreslena na Obr. 9.1.4

R Fs(s)u(iT)e(iT)+

-(t)ω

T

y(t)

T

Identifikace

T

v(t)

VerifikaceVýpočet D(z)

Blok vyhodnocení podmínek

Obr. 9.1.4 Blok vyhodnocení podmínek plní tyto funkce:

- startuje konzultační program v případě:

- vybočení odchylky ze stanovené oblasti lineárního řízení, - změny typu řídící veličiny, - zvýšení hodnoty klouzavého průměru absolutních hodnot odchylky nad

stanovenou mez, - dlouhodobého poklesu hodnot prvků kovarianční matice, - změny nul a pólů identifikovaného přenosu soustavy;

- vyhodnocuje konzultační program podle příčiny startu z hlediska, které

doplňující informace je třeba získat;

- vyhodnocuje důvod snížené kvality regulace (cílová hypotéza) a zvolí příslušnou změnu řídícího algoritmu.

Popsaný systém [4] má 14 rozhodovacích uzlů (z toho 4 jsou Bayesovského typu) a 7 cílových hypotéz. Jako kriterium pro hodnocení kvality regulace je použit průměr absolutních hodnot velikosti regulačních odchylek.

Page 131: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

131

Příkladem systému, zaměřeného na řídící heuristiky a implementovaného nikoliv pomocí expertního systému, ale konvenčními technikami, je systém EXACT FOXBORO [5]. Jde o adaptivní PID regulátor, založený na identifikaci vzorů přenosových funkcí. Heuristiky a teoretické znalosti jsou užity k nastavení PID parametrů s cílem dosažení požadovaného tlumení a překmitu. Podobným případem se zabývá práce [6]. Implementace znalostního řízení s využitím expertního systému je uvedena v práci [7]. Jde o expertní systém s PI regulátorem. Proces je klasifikován pomocí kvalitativních přechodových charakteristik. Parametry PI regulátoru jsou nastavovány heuristickými ladícími pravidly. Podobnou kombinaci pravidlového expertního systému se samoladícím regulátorem provedli rovněž Sanoff a Wellstead [8]. Jejich systém se skládá z konfiguračního OFF-LINE systému, který určuje nastavení parametrů, a RUN-TIME systému, monitorujícího samotné řízení. Expertní systém adaptivního řízení ESAC je popisován v práci [9]. Tento systém se skládá ze samoladícího regulátoru, podporovaného třemi expertními systémy: systémového identifikátoru, systémového designéru a supervizoru. Z OFF-LINE konzultačních nástrojů pro ladění regulátoru uveďme práci Liesletha [10] Systém pro řízení spřažených robotů pomocí kombinace pravidlově orientovaného expertního systému a neuronové sítě je popsán v práci Handelmana [40]. Pro prototyp znalostního systému řízení použil Arzén [11] standardního prázdného expertního systému OPS4. Byl použit k implementaci reléového PID regulátoru. Výsledky přinesly hlavně důležité poznatky, týkající se požadavků na použitý expertní systém (viz kap. F.1). Implementace znalostně orientovaného řízení je ilustrována příklady využití objektově orientovaného systému FLAWORS [12] či produkčního systému YAPS [13]. FLAWORS představuje nadstavbu systému LISP, která umožňuje objektově orientované programování. Tak je umožněna procedurální i deklarativní reprezentace potřebných znalostí. YAPS je systém k porovnávání vzorů (Pattern Matching). Patří k rodině systémů OPS (pravidlově orientované expertní systémy s inferencí typu GMP). Systém, původně využívající pouze produkčních IF-THEN pravidel, byl modifikován i pro reprezentaci znalostí ve formě rámců a byl rozšířen o funkce automatického vysvětlování. Struktura implementace takového znalostního systému je nakreslena na Obr. 9.1.5. Jednotlivé znalostní zdroje jsou implementovány ve formě rámců v databázi rozvrhovače (Scheduler). Strategie rozvrhovače je reprezentována produkčními pravidly. Provedení umožňuje jednoduché přidávání dalších znalostních zdrojů.

Page 132: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

132

Procedurální znalostní zdroje se skládají z funkcí Lispu. Jednotlivé znalostní zdroje vždy běží až do okamžiku dokončení, dříve než je řízení opět předáno rozvrhovači. Systém však umožňuje i režim přerušovací.

Obr. 9.1.5 Jiný příklad implementace základních myšlenek ve znalostním regulátoru ukazuje práce Arzéna [14]. Týká se pouze popisu implementace vstupní ladící fáze. Jsou uvedeny ladící procedury a heuristiky pro různé techniky návrhu regulátoru. Ladící procedura je upravenou verzí autoladění, založeného na znalostech o poloze tří významných bodů Nyquistovy charakteristiky otevřené regulační smyčky (pro fázi 0O, -90O a -180O). Systém zahajuje práci dotazem k uživateli na odhad dominantní časové konstanty, maximální povolené relativní chyby, chyby ustáleného stavu, stanovení účelové funkce řízení a pod. Uživatel je pak požádán o manuální řízení procesu až do dosažení požadovaného ustáleného stavu. Na základě výsledků je proces klasifikován jako soustava prvního, druhého či vyššího řádu. Ladící procedura využívá heuristik. Často se stává, že modelová struktura a její parametry jsou identifikovány pomocí různých principů s různými výsledky. Výsledný model je pak stanoven heuristicky. Ladící procedura bývá příčinou složitosti celého systému. Implementace takové ladící procedury představuje dekompozici problému na numerické algoritmy a znalostní zdroje. Algoritmy jsou představovány např. přenosem PID, přenosem lineárního diskrétního regulátoru, algoritmy identifikačních experimentů a analýz jejich výsledků, statistickými algoritmy pro výpočet středních hodnot, rozptylů, minimálních a maximálních hodnot výstupů procesu, chyby regulace a řídícího signálu. Víceúrovňové detekční algoritmy vyhodnocují okamžik, kdy signál protne jistou úroveň a měří čas potřebný k jejímu dosažení. Znalostní zdroje, použité v uvedené práci [14], jsou tyto:

- operátor požadavků - pokládá dotazy na charakteristiky procesu a specifikaci regulace;

- manuální supervizor regulace - dohlíží nad manuální řídící fází a kontroluje

stabilitu procesu;

- supervizor - inicializuje a dohlíží nad identifikačními experimenty a provádí jejich předběžnou analýzu;

Page 133: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

133

- modelář (Modeller) - zahrnuje znalosti o tvorbě modelu a výběru finálního

řešení;

- designér - obsahuje znalosti o způsobu regulace;

- řídící supervizor - zabezpečuje manuální změny parametrických příkazů regulátorů;

- vysvětlovač (Explainer) - generuje vysvětlení otázek o procesu a regulátoru;

- Y-statistika - provádí statistiku o výstupu procesu a jeho chybě;

- U-statistika - provádí statistiku o řídícím signálu (akční veličině).

Všechny tyto znalostní zdroje jsou vybaveny inferencí dopředného (GMP) typu vyjma operátoru požadavků, který využívá inference zpětné (GMT). Každý ze znalostních zdrojů obsahuje 5 až 15 pravidel. Kombinaci znalostních zdrojů do popsané ladící procedury provádí procedurální znalostní zdroj. Systémy znalostního řízení (inteligentní regulátory) jsou objektem intenzivního výzkumu.

Shrnutí pojmů

Dalším principem využití expertních systémů v řízení je přístup znalostního

(inteligentního) regulátoru. Tento přístup využívá obecných řídících znalostí a heuristik nikoliv k přímému popisu řízení, nýbrž k nastavení a adaptaci klasického regulátoru pomocí dohlížecích expertních systémů. Znalostní řízení zahrnuje dvě základní problémové oblasti. První představuje problém, které znalosti o procesu musí být známy, aby regulátor mohl být nastaven a ovládán. Součástí je i problém, jakým způsobem mohou být takové znalosti získány. Druhá oblast problémů spočívá v reprezentaci a implementaci znalostí, tj. problematika požadavků, které proces klade na software a hardware expertního systému. Obecně je to tedy otázka vlastností expertních systémů v reálném čase.

Obecné problémy systémů znalostního řízení v reálném čase jsou tyto: nemonotónní vyvozování, výskyty asynchronních událostí, vyvozování v čase, časově omezené vyvozování, paralelní vyvozování, práce s nejistými nebo chybějícími informacemi a problémy spojené s vazbou na okolí. Znalostní regulátor pozůstává ze dvou základních částí - výpočetních algoritmů a znalostního systému. Komunikační interface mezi oběma základními částmi je implementována jako oddělený proces. Uživatel může přitom komunikovat přímo se znalostním systémem a nepřímo s výpočtovými algoritmy. Výpočetní algoritmy jsou řídicí, monitorovací a identifikační. Architektura znalostního systému využívá přístupů znalostních zdrojů a černé tabule.

Page 134: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení

134

Otázky 9.1

9.1.1 Jaký je základní rozdíl mezi koncepci fuzzy regulátoru a inteligentního regulátoru ? 9.1.2 Jaké je v systému inteligentního regulátoru poslání monitorovacích a dohlížecích expertních modulů 9.1.3 Vyjmenujte problémy, spojené s provozem expertního systému v režimu reálného času

Úlohy k řešení 9.1

9.1.1 Které úlohy dohlížecích monitorovacích a adaptačních expertních systémů byste navrhl pro realizaci znalostního regulátoru? 9.1.2 Navrhněte řídicí úlohu, která by byla vhodná pro použití inteligentního regulátoru!

Další zdroje

[1] Arzen, A.E.: An Architecture for Expert System Based Feedback Control.

Automatica, 1989. Vol. 25, No.6. pp 813-827. ISSN 0005-1098 [2] Mařík, V. a kol.: Umělá inteligence I, II, Academia Praha, 1997. ISBN 80-200-

0504-8 [3] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996.

ISBN 80-901984-4-9 [4] Vavřín,P.:Expertní systémy ve zpětnovazebním řízení, Proc. AI'89, ČVUT

Praha, 1989 [5] Kraus,T.W, Myron,T.J.:Self-tuning PID Controller Users Pattern Recognition

Approach, Control Engineering, 6, 1984 [6] Strejc,V.Maršík,J:Application of Identification-free Algorithmus for Adaptivr

Control, Proc. 10th World Congress on Automatic Control, Mnichov, 1987 [7] Porter,B.A. and comp.: Real-time Expert Tunes for PI Controllers, IEEE Proc.,

4, 134, 1987: [8] Sanoff,S.P.,Wellstead,P.E.:Expert Identification and Control, Proc. IFAC, York,

U.K., 1985 [9] Trankle,T.L.,Markosian,L.Z.:An Expert System for Control System Design,

Proc. IEEE, Camgridge, U.K., 1985 [10] Leisleth,J. and comp.: An Expoert System for Tuning PID Controllers, Proc.

IFAC, Beijing, 1988 [11] Arzén,K.E.:Expert System for Process Control, Proc. AAAI, 1986 [12] Cannon,H.I.:Flawors:a Non-hierarchical Approach to Object Oriented

Programming, Unpublisher paper. [13] Allen,E.M.:YAPS, Yet Another Prodiction System, TR-1146, Department of

Computer Science, University of Maryland, 1983 [14] Arzén,K.E.:Realization of Expert System Based Feedback Control,

Ph.D.Thesis, Lund Institute of Technology, Lund, Sweden, 1987

Page 135: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení

135

KLÍČ K ŘEŠENÍ

Úloha k řešení 2.1.1

Vymyslete sami matematickou rovnici (nebo soustavu rovnic), reprezentující fyzikální soustavu. Určete parametry takto napsaného modelu soustavy a pouvažujte o možnosti přesného stanovení jejich číselných hodnot!

Soustavou bude pohybující se těleso. Rychlost rovnoměrného přímočarého pohybu tělesa je dána rovnicí (matematickým modelem)

tsv =

Pro určení rychlosti v[m/sec] je třeba znát dva parametry : dráhu s [m] a čas t [sec]. Tyto parametry je možno změřit délkovým metrem (pásmem) a stopkami s přesností, která je závislá hlavně na pečlivosti, které měření věnujeme.

Úloha k řešení 2.1.2

Uveďte objekt, který považujete z hlediska jeho matematického modelování za složitý.

Vysoká pec (na výrobu železa), letící letoun, chování vojáka v boji

Úloha k řešení 2.1.3

Promyslete vyjádření 1. Newtonova pohybového zákona formou matematického vztahu a formou slovního vyjádření (popisu)!

mFa

amF

=

= .

Zrychlení tělesa je přímo úměrné působící síly a nepřímo úměrné jeho hmotnosti. Čím je síla větší a hmotnost menší, tím je zrychlení větší.

Page 136: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení

136

Úloha k řešení 2.1.4

Uveďte příklad mělké a hluboké znalosti v oboru, který je Vám blízký (řízení automobilu, hra v šachy apod.).

Znalost hluboká:

Čím delší je ujetá dráha a čím vyšší je rychlost jízdy, tím vyšší je spotřeba paliva

Znalost mělká (heuristika):

Jedu-li z Brna do Prahy, nemám silniční mapu a silnice nejsou značeny, jedu tak, abych měl Slunce stále před sebou.

Úloha k řešení 2.1.5

Pokuste se slovně popsat průběh regulace teploty v peci na zadanou hodnotu změnami topného příkonu !

Teplota je přímo úměrná topnému příkonu. Je-li teplota na požadované hodnotě, příkon neměň. Pokud je toplota nižší, zvyš příkon. Pokud je teplota nižší, zvyš příkon.

Úloha k řešení 2.1.6

Pokuste se vyslovit heuristiku, kterou uplatňujete při výkonu svého povolání nebo pěstování svého koníčka!

Z oblasti jízdy automobilem:

Pokud chci jet v noci nebo za snížené viditelnosti bezpečněji, udržuji vozidlo spíše u středové čáry než u krajnice.

Úloha k řešení 3.1.1

Navrhněte fuzzy množinu a určete stupně příslušnosti jejích významných prvků!

Page 137: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení

137

Úloha k řešení 3.1.2

Popište parametry obyčejné (klasické) množiny!

Funkce příslušnosti klasické množiny má dva parametry – velikost nejmenšího a největšího prvku univerza, který má stupeň příslušnosti ke množině 1.

Úloha k řešení 3.2.1

Napište možné parametrické vyjádření trojúhelníkového fuzzy čísla A - „velmi zhruba 3,0“! A [1, 1, 3, 5, 5]

Úloha k řešení 3.2.2

Napište možné parametrické vyjádření čísla B - „přesně 100,5“!

B [100.5, 100.5, 100.5, 100.5]

Úloha k řešení 3.2.3

Nakreslete možný tvar funkcí příslušnosti jazykových hodnot jazykových

Úloha k řešení 4.1.1

Jaké je vyjádření složité logické funkce implikace pomocí logických funkcí jednoduchých! p → q = (p and q) or (not p)

Úloha k řešení 4.1.2

Nakreslete fuzzy funkci příslušnosti množiny, která vznikne fuzzy sjednocením dvou fuzzy množin s použitím operace sjednocení a omezený součet.

Page 138: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení

138

Úloha k řešení 4.2.1

Sestavte jednoduchý jazykový model stability automobilu na kluzké vozovce !

IF (Zadek auta kluže doleva) THEN (Natoč volant doleva) IF (Zadek auta kluže doprava) THEN (Natoč volant doprava) IF (Auto začne klouzat) THEN (Povlovně uber plyn) IF (Auto začne klouzat) THEN (Nebrzdi) IF (Auto se ustálí) THEN (Mírně přidávej plyn)

Úloha k řešení 4.2.2

Formalizujte jazykovou proměnnou „TEPLOTA V PECI“ a navrhněte tři její jazykové hodnoty vyjádřené fuzzy množinami!

Jazykové hodnoty:

STUDENÁ (S), POLOVYHŘÁTÁ (PV), VYHŘÁTÁ (V)

Úloha k řešení 4.4.1

Vysvětlete způsob určení pravdivostní hodnoty fuzzy tvrzení, je-li jako aktuální hodnota vstupní proměnné použita přímo funkce příslušnosti jeho jazykové hodnoty !

Pravdivost takového fuzzy tvrzení je rovna 1

Page 139: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení

139

Úloha k řešení 4.4.2

Promyslete, jaké jsou negativní důsledky použití metody znejistění dotazu.

Znejistěním dotazu zvýšíme nejistotu odpovědi.

Úloha k řešení 5.1.1

Jaké jsou vstupní a výstupní veličiny fuzzy regulátorů obdobných typům P, PD, PI a PID ?

P: ,eΔ u PD: ,eΔ u PI: ,eΔ uΔ PID: ,, 2ee ΔΔ uΔ

Úloha k řešení 5.1.2

Napište pravidla fuzzy regulátoru obdobného P typu Mamdani, budou-li mít jeho jazykové proměnné dvě jazykové hodnoty: negativní a pozitivní (dvouhodnotová fuzzy regulace).

JESTLIŽE (regulační odchylka je NEGATIVNÍ) PAK (akční veličina je POZITIVNÍ)

JESTLIŽE (regulační odchylka je POZITIVNÍ) PAK (akční veličina je NEGATIVNÍ)

Úloha k řešení 5.2.1

Jak se chová defuzifikovaná hodnota v případě, že funkce příslušnosti výstupní fuzzy množiny je osově symetrická ?

Zůstává konstantní.

Page 140: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení

140

Úloha k řešení 6.1.1

Sestavte fuzzy model typu Takagi-Sugeno pro nelineární jednorozměrnou funkci y f(x), která je klesající (má charakter nepřímé úměrnosti)!

IF (x is MALÝ) THEN y1 = -2x + 3 IF (x is VELKÝ) THEN y2 = -4x + 6

Úloha k řešení 6.1.2

Proveďte vyvození výstupní hodnoty y modelu Takagi-Sugeno pro model který jste vytvořili v úloze 3.3 pro Vámi zvolenou velikost vstupní proměnné x!

x = 2

μMALY(x) = 0,6 (zvoleno) μVELKY(x) = 0,3 (zvoleno)

y1 = -2.2 + 3 = -1 y2 = -4.2 + 3 = - 5

y = [μMALY(x) . y1 + μVELKY(x) . y2] / [μMALY(x) + μVELKY(x)] = [0,6 . (-1) + 0,3 . (-5) ] / (0,6 + 0.3) = -2.1 / 0.9 = -2.33

Úloha k řešení 6.1.3

Sestavte fuzzy model typu Takagi-Sugeno pro jednu periodu sinusové jednorozměré funkce y = sinx !

Úloha k řešení 6.2.1

Napište pravidlo Sugenovského fuzzy PID regulátoru !

IF(e is A) and ( eΔ is B) and ( e2Δ is C) THEN ( ekekekku 23210 Δ+Δ++=Δ )

Page 141: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení

141

Úloha k řešení 7.1.1

Nakreslete tvar statické charakteristiky fuzzy regulátoru typu P používajícího defuzzifikační metodu GOG.

Úloha k řešení 8.1.1

Promyslete, jaké výhody může mít fuzzy stavový regulátor oproti fuzzy regulátoru FLC.

Úloha k řešení 9.1.1

Které úlohy dohlížecích monitorovacích a adaptačních expertních systémů byste navrhl pro realizaci znalostního regulátoru?

Úloha k řešení 9.1.2

Navrhněte řídicí úlohu, která by byla vhodná pro použití inteligentního regulátoru!

Automatická adaptace struktury a parametrů regulátoru PID v proměnných podmínkách řízené technologie

Page 142: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

142

CVIČENÍ č. 1 Fuzzy množiny a operace s nimi v programovacím jazyku C#

Řešený příklad

Předkládaný příklad prezentuje využití fuzzy mechanismů v rámci programovacího jazyka. Na základě jednoduché úlohy, která určuje vhodnost hráče do basketbalového družstva, jsou ukázány techniky vytváření fuzzy množin a jednotlivých pravidel nad nimi. V rámci konzolové aplikace uživatel zadá své parametry a fuzzy systém vyhodnotí z hlediska fyzických parametrů zda má dispozice být „profesionálním“ hráčem basketbalu.  

Obr.1 Demonstrační konzolová aplikace pro základní operace s fuzzy

množinami v jazyce C#

Obr.2 Ukázka zdrojového kódu pro konzolovou aplikaci „BasketbalExample“

Page 143: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

143

Obr.3 Jednoduchá struktura fuzzy knihovny v programovacím jazyku C# Ve výše uvedeném kódu, byl vytvořen fuzzy expertní systém, který definuje vhodnost hráče hrát basketbal na profesionální urovni dle jeho fyzických předpokladů.

Postup pro vytvoření a práci s program je součástí animace „Fuzzy množiny a operace s nimi v programovacím jazyku C#“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí MS Visual Studio #C a využívá sdílené zkompilované Fuzzy knihovny, které lze použít i v jiných aplikacích (FuzzyFramework.dll a PolyLib.dll). Součásti podkladů pro cvičení je také program „BasketbalExample.exe“, ve tvaru konzolové aplikace.

CD-ROM

...... Program : BasketbalExample.exe, FuzzyFramework.dll a PolyLib.dll

Page 144: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

144

CVIČENÍ č. 2 Fuzzy systém regulující teplotu vody ve sprše (Model Mamdani)

Řešený příklad

Fuzzy regulace teploty a průtoku vody ve sprše je demonstrováno v následujícím příkladu (Matlab/Simulink), který nabízí srovnání klasického přístupu využívající PID regulátoru a následně fuzzy regulátoru Problém regulace teploty a průtoku vody ve sprše je klasická úloha, se kterou se setkáváme každý den doma nebo v práci. Přívod vody do sprchy je řízen pomocí ventilů studené a teplé vody, které mixují poměr teplé a studené vody a zároveň taký množství průtoku vody. Návrh fuzzy regulátoru: Mamdani model regulátoru, který byl vytvořen pomocí Fuzzy Logic Toolboxu v fuzzy editoru, a to v následující podobě.

Obr.1 Fuzzy návrh řízení teploty a průtoku vody ve sprše

 

Page 145: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

145

Nejprve nadefinujeme vstupní proměnné, v následujícím tvaru:

Obr.2 Vstupní členská funkce „RegulacniOdchylkaTeplotaVody“ – udává jazykově aktuální změnu teploty vody ve sprše

Obr.3 Vstupní členská funkce „RegulacniOdchylkaPrutokVody“ – udává jazykově aktuální změnu průtoku vody ve sprše

Page 146: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

146

Dále nadefinujeme výstupní proměnné, v následujícím tvaru:

Obr.4 Výstupní členská funkce „VentilStudeneVody“ – udává jazykově v jaké aktuální stavu se nachází řídicí ventil studené vody ve sprše

Obr.5 Výstupní členská funkce „VentilHorkeVody“ – udává jazykově v jaké aktuální stavu se nachází řídicí ventil horké vody ve sprše

Page 147: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

147

Nadefinování pravidel pro regulaci vody ve sprše:

Obr.6 Fuzzy pravidla pro regulaci teploty a průtoku vody ve sprše Ukázka pravidel v rámci bodové fuzzy regulace:

Obr.7 Fuzzy pravidla pro bodově definované požadavky fuzzy regulace teploty a průtoku vody ve sprše

Page 148: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

148

Pro zobrazení výsledku nastavení regulátoru je možné také použít 3D model vzájemné závislosti vstupních pravidel vzhledem k výstupu fuzzy regulatoru. Ukázka grafického popisu fuzzy regulace:

Obr.8 Fuzzy 3D model popisující fuzzy regulátor graficky pro akční zásah na ventilu studené vody ve sprše

Simulace regulace teploty a průtoku vody ve sprše: Návrh simulace provedeme v Simulinku, který je součástí prostředí Matlab. V modelu simulace se nachází dva ventily studené a teplé vody, kde je nastavena požadovaná teplota a variabilní změna průtoku, kterou dodává generátor změny průtoku vody a tím udává tvar změny požadované veličiny průtoku studené a teplé vody do sprchy.

Page 149: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

149

Model regulace vody ve sprše:

Obr.9 Model regulace teploty a průtoku vody ve sprše

Požadovaná

veličina

teploty: T [°C]

Doba regulace: T [s]

Obr.10 Průběh požadované veličiny (žlutá) a regulované veličiny (fialová) teploty vody ve sprše

Page 150: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

150

Požadovaná

veličina

průtok: p [m3/h]

Doba regulace: T [s]

Obr.11 Průběh požadované veličiny (žlutá) a regulované veličiny (fialová) průtok vody ve sprše

Postup pro vytvoření fuzzy návrhu pro regulaci teploty a průtoku vody ve sprše je součástí animace „Fuzzy systém regulující teplotu vody ve sprše“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „sprcha.fis“, který se spustí z příkazového řádku v Matlabu příkazem fuzzy sprcha a model v simulinku „sprcha.mdl“

CD-ROM

...... Program : sprcha.fis, sprcha.mdl

Page 151: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

151

CVIČENÍ č. 3 Fuzzy řízení automatické pračky (Model Mamdani)

Řešený příklad

V následujícím příkladě je demonstrováno využití fuzzy systémů v oblasti bílé techniky. Regulace doby praní automatické pračky dle vstupních parametrů je typickým příkladem využití v praxi. Vstupem do fuzzy systému jsou 4 vstupní veličiny a 1 vystup v podobě doby praní.

Obr.1 Zjednodušená pračka se systémem Fuzzy Logic Control

Obr.2 Grafické uživatelské rozhraní pračky v Matlabu

Page 152: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

152

K zadanému typu pračky byl sestaven fuzzy regulátor (Mamdani model) ve Fuzzy Logic Toolboxu, a to v následující podobě.

Obr.3 Fuzzy regulátor „pracka“ – typu Mamdani

Model fuzzy regulátoru je typu Mamdani, který udává dobu praní pro příslušné nastavení prádla v pračce. Model má celkem 4 vstupy – typ prádla, úroveň špíny, charakter špíny a množství prádla. Všechny funkce příslušnosti všech vstupních proměnných mají trojúhelníkový tvar. Výstupem je doba praní. Funkce příslušnosti této výstupní proměnné velmi krátké a dlouhé mají lichoběžníkový tvar, krátké a střední mají tvar trojúhelníkový.

Page 153: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

153

Tvary funkcí příslušnosti pro vstupní proměnné: Typem prádla se myslí materiál, ze kterého je náplň pračky složena a to poměrově. Pračka nabízí 3 typy materiálu, a to vlnu, bavlnu a silon. Vlna a silon se neperou nikdy dohromady, což model ani neumožňuje.

Obr.4 Funkce příslušnosti hodnot vstupní proměnné „typPradla“

Vstupní proměnná úroveň špíny je dána 2 funkcemi příslušnostmi, tj. málo špinavé a hodně špinavé. Málo špinavé znázorňuje, že prádlo je téměř čisté, hodně špinavé ve svém maximu znázorňuje 100% zašpinění prádla.

Obr.5 Funkce příslušnosti hodnot vstupní proměnné „urovenSpiny“

Charakter špíny udává, zda je prádlo zašpiněno přírodní špínou jako např. bláto nebo umělou špínou např. syntetická barviva, popsání fixy atd. a je udáván opět poměrově.

Page 154: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

154

Obr.6 Funkce příslušnosti hodnot vstupní proměnné „typSpiny“ Vstupní proměnná množství prádla udává množství prádla k vyprání a je charakterizován 3 funkcemi příslušnosti – málo, středně a hodně. Při minimální hodnotě je pračka víceméně prázdná, při maximu je úplně naplněna prádlem.

Obr.7 Funkce příslušnosti hodnot vstupní proměnné „mnozstviPradla“

Tvary funkcí příslušnosti pro výstupní proměnné:

Obr.8 Funkce příslušnosti hodnot výstupní proměnné „dobaPraní“ Fuzzy pravidla Byly použity 4 vstupní proměnné, dvě s třemi funkcemi příslušnosti a dvě s dvěma funkcemi příslušnosti. Aby model byl konzistentní, bylo použito celkem 36 pravidel. Pravidla definoval expert na praní s dlouholetou zkušeností a to ve tvaru IF (typ prádla IS …) and (úroveň špíny IS …) and (typ špíny IS …) and (množství prádla IS …) THEN (doba praní IS …). Přepsáno za použitý symbolických znaků IF (typ prádla==…) & (úroveň špíny==…) & (typ špíny==…) & (množství prádla==…) => (doba praní==…).

Page 155: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

155

Všechny pravidla mají stejnou váhu a to 1. Seznam použitých pravidel:

1. If (typPradla is vlna) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is malo) then (dobaPrani is velmiKratka) (1)

2. If (typPradla is vlna) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is stredne) then (dobaPrani is velmiKratka) (1)

3. If (typPradla is vlna) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is hodne) then (dobaPrani is kratka) (1)

4. If (typPradla is vlna) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is malo) then (dobaPrani is kratka) (1)

5. If (typPradla is vlna) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is stredne) then (dobaPrani is kratka) (1)

6. If (typPradla is vlna) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is hodne) then (dobaPrani is stredni) (1)

7. If (typPradla is vlna) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is malo) then (dobaPrani is kratka) (1)

8. If (typPradla is vlna) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is stredne) then (dobaPrani is kratka) (1)

9. If (typPradla is vlna) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is hodne) then (dobaPrani is stredni) (1)

10. If (typPradla is vlna) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is malo) then (dobaPrani is stredni) (1)

11. If (typPradla is vlna) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is stredne) then (dobaPrani is dlouha) (1)

12. If (typPradla is vlna) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is hodne) then (dobaPrani is dlouha) (1)

13. If (typPradla is bavlna) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is malo) then (dobaPrani is velmiKratka) (1)

14. If (typPradla is bavlna) and (urovenSpiny is maloSpinave) and

Page 156: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

156

(typSpiny is prirodni) and (mnozstviPradla is stredne) then (dobaPrani is kratka) (1)

15. If (typPradla is bavlna) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is hodne) then (dobaPrani is dlouha) (1)

16. If (typPradla is bavlna) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is malo) then (dobaPrani is stredni) (1)

17. If (typPradla is bavlna) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is stredne) then (dobaPrani is stredni) (1)

18. If (typPradla is bavlna) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is hodne) then (dobaPrani is dlouha) (1)

19. If (typPradla is bavlna) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is malo) then (dobaPrani is kratka) (1)

20. If (typPradla is bavlna) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is stredne) then (dobaPrani is dlouha) (1)

21. If (typPradla is bavlna) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is hodne) then (dobaPrani is dlouha) (1)

22. If (typPradla is bavlna) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is malo) then (dobaPrani is stredni) (1)

23. If (typPradla is bavlna) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is stredne) then (dobaPrani is dlouha) (1)

24. If (typPradla is bavlna) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is hodne) then (dobaPrani is dlouha) (1)

25. If (typPradla is silon) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is malo) then (dobaPrani is velmiKratka) (1)

26. If (typPradla is silon) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is stredne) then (dobaPrani is velmiKratka) (1)

Page 157: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

157

27. If (typPradla is silon) and (urovenSpiny is maloSpinave) and (typSpiny is prirodni) and (mnozstviPradla is hodne) then (dobaPrani is velmiKratka) (1)

28. If (typPradla is silon) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is malo) then (dobaPrani is velmiKratka) (1)

29. If (typPradla is silon) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is stredne) then (dobaPrani is kratka) (1)

30. If (typPradla is silon) and (urovenSpiny is maloSpinave) and (typSpiny is umela) and (mnozstviPradla is hodne) then (dobaPrani is stredni) (1)

31. If (typPradla is silon) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is malo) then (dobaPrani is velmiKratka) (1)

32. If (typPradla is silon) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is stredne) then (dobaPrani is velmiKratka) (1)

33. If (typPradla is silon) and (urovenSpiny is hodneSpinave) and (typSpiny is prirodni) and (mnozstviPradla is hodne) then (dobaPrani is kratka) (1)

34. If (typPradla is silon) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is malo) then (dobaPrani is kratka) (1)

35. If (typPradla is silon) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is stredne) then (dobaPrani is stredni) (1)

36. If (typPradla is silon) and (urovenSpiny is hodneSpinave) and (typSpiny is umela) and (mnozstviPradla is hodne) then (dobaPrani is dlouha) (1)

Tabulka pravidel fuzzy regulátoru:

i Typ prádl

a

Úroveň špíny

Typ špíny

Množství špíny

Doba praní

1 vlna málo špinavé

přírodní

málo velmi krátká

2 vlna málo přírod středně velmi krátká

Page 158: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

158

špinavé ní 3 vlna málo

špinavé přírod

ní hodně krátká

4 vlna málo špinavé

umělá

málo krátká

5 vlna málo špinavé

umělá

středně střední

6 vlna málo špinavé

umělá

hodně střední

7 vlna hodně špinavé

přírodní

málo krátká

8 vlna hodně špinavé

přírodní

středně krátká

9 vlna hodně špinavé

přírodní

hodně střední

10 vlna hodně špinavé

umělá

málo střední

11 vlna hodně špinavé

umělá

středně dlouhá

12 vlna hodně špinavé

umělá

hodně dlouhá

13 bavlna

málo špinavé

přírodní

málo velmi krátká

14 bavlna

málo špinavé

přírodní

středně krátká

15 bavlna

málo špinavé

přírodní

hodně dlouhá

16 bavlna

málo špinavé

umělá

málo střední

17 bavlna

málo špinavé

umělá

středně střední

18 bavlna

málo špinavé

umělá

hodně dlouhá

19 bavlna

hodně špinavé

přírodní

málo krátká

20 bavlna

hodně špinavé

přírodní

středně dlouhá

21 bavlna

hodně špinavé

přírodní

hodně dlouhá

22 bavlna

hodně špinavé

umělá

málo střední

23 bavlna

hodně špinavé

umělá

středně dlouhá

24 bavlna

hodně špinavé

umělá

hodně dlouhá

25 silon málo špinavé

přírodní

málo velmi krátká

26 silon málo špinavé

přírodní

středně velmi krátká

Page 159: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

159

27 silon málo špinavé

přírodní

hodně velmi krátká

28 silon málo špinavé

umělá

málo velmi krátká

29 silon málo špinavé

umělá

středně krátká

30 silon málo špinavé

umělá

hodně střední

31 silon hodně špinavé

přírodní

málo velmi krátká

32 silon hodně špinavé

přírodní

středně velmi krátká

33 silon hodně špinavé

přírodní

hodně krátká

34 silon hodně špinavé

umělá

málo krátká

35 silon hodně špinavé

umělá

středně střední

36 silon hodně špinavé

umělá

hodně dlouhá

Tabulka 1 Pravidla modelu pračky 3D model fuzzy regulátoru pračky:

Obrázek 1 Grafické znázornění závislosti výstupní proměnné na vstupních proměnných fuzzy regulátoru pračky

Simulace fuzzy automatické pračky v Simulinku:

Page 160: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

160

Obrázek 10 Simulace automatické pračky v prostředí Matlab/Simulink

Postup pro vytvoření fuzzy návrhu regulátoru pračky je součástí animace „Fuzzy řízení automatické pračky“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „pracka.fis“, „pracka_simulace.mdl“, „spusteni_prani.m“, „animace_pracka_fuzzy.m“, „animace_pracka_fuzzy.fig“ a poslední „spust_pracku.m“, který se spustí z příkazového řádku v Matlabu příkazem spust_pracku celý program, který spustí ostatní skripty.

CD-ROM

...... Program : pracka.fis,

pracka_simulace.mdl, spust_pracku.m spusteni_prani.m, animace_pracka_fuzzy.m,

animace_pracka_fuzzy.fig

Page 161: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

161

CVIČENÍ č. 4 Fuzzy řízení 4. stupňové automatické převodovky (Model Takagi‐Sugeno)

Řešený příklad

Fuzzy řízení automatické převodovky je úloha z oblasti automobilového průmyslu, která se zabývá oblastí řízení. Automatická převodovka umožňuje volbu různých rychlostních stupňů, jejich změnu však provádí za stálého tahu motoru. Řidič pro řazení ani rozjíždění nepotřebuje ovládat spojku, což je vyžadováno hlavně v USA. Systém modelu celého auta, se 4.stupňovou převodovkou, je implementován v Matlabu/Simulinku.

Obr.1 Fuzzy řízení 4. stupňové automatické převodovky v Simulinku

Pro řízení řazení převodových stupňů bude využito Fuzzy regulátoru. Pro jeho parametrizaci, odladění a simulaci použijeme program Matlab/Simulink. Tento již v sobě zahrnuje nástroj pro práci s fuzzy logikou – Fuzzy Logic Toolbox. Fuzzy regulátor pro řazení rychlostních stupňů, který bude zpracovávat tyto vstupní informace:

a) poloha škrticí klapky (plynový pedál) v intervalu <0 ÷ 1> b) aktuální rychlost v km/h v intervalu <0 ÷ 200> c) otáčky motoru v ot/min a intervalu <0 ÷ 8000> d) aktuální převodový stupeň 1 až 4

Výstupní informací regulátoru pak bude převodový stupeň, který bude dále vstupovat do samotné převodovky.

Page 162: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

162

Návrh fuzzy regulátoru automatické převodovky: Takagi-Sugeno model regulátoru, který byl vytvořen pomocí Fuzzy Logic Toolboxu v fuzzy editoru, a to v následující podobě.

Obr.2 Fuzzy návrh řízení automatické převodovky

Nejprve nadefinujeme vstupní proměnné, v následujícím tvaru:

Obr.3 Vstupní členská funkce „Plyn“

Page 163: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

163

Obr.4 Vstupní členská funkce „Rychlost“

Obr.5 Vstupní členská funkce „Otacky“

Obr.6 Vstupní členská funkce „Stupen“

Dále nadefinujeme výstupní proměnnou, v následujícím tvaru:

Page 164: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

164

Obr.7 Výstupní členská funkce „stupen“ – akční zásah fuzzy regulátoru Fuzzy pravidla pro regulaci automatické převodovky:

Obr.8a Fuzzy pravidla pro řízení automatické převodovky

Page 165: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

165

Obr.8b Fuzzy pravidla během řízení automatické převodovky

Obr. 9 Namodelovaný průběh plynového pedálu

Po splnění předešlých kroků nastavíme dobu simulace na 100 sekund a spustíme simulaci. Jako výstup dostáváme následující grafy průběhů rychlosti, otáček a převodového stupně v závislosti na čase.

0 10 20 30 40 50 60 70 80 90 1000

20

40

60

80

100

120

140

160

180

t [s]

rych

lost

[km

/h]

Obr. 10 Graf průběhu rychlosti automobilu v závislosti na čase t

Page 166: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

166

0 10 20 30 40 50 60 70 80 90 1001

1.5

2

2.5

3

3.5

4

t [s]

přev

odov

ý st

upeň

[ot/s

]

Obr. 11 Graf průběhu řazení rychlostních stupňů v závislosti na čase t

0 10 20 30 40 50 60 70 80 90 1000

500

1000

1500

2000

2500

3000

3500

4000

4500

t [s]

otáč

ky [o

t/s]

Obr. 12 Graf průběhu otáček motoru v závislosti na čase t

Postup pro vytvoření fuzzy návrhu pro automatickou převodovku je součástí animace „Fuzzy řízení 4. stupňové automatické převodovky (Model Takagi‐Sugeno)“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „fuzzy_automaticka_prevodovka.fis“, který se spustí z příkazového řádku v Matlabu příkazem fuzzy fuzzy_automaticka_prevodovka a modelu v Simulinku „model_auta_s_automatickou_prevodovkou.mdl“.

CD-ROM

...... Program : fuzzy_automaticka_prevodovka.fis,

model_auta_s_automatickou_prevodovkou.mdl

Page 167: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

167

CVIČENÍ č. 5 Expertní systém pro regulaci teploty tepelné soustavy v PLC Siemens (S7 3xx)

Řešený příklad

Řešení této úlohy je založeno na fyzikálním modelu tepelné soustavy, jejíž vlastnosti mohou být velmi podobné s mnoha reálnými technologiemi v oblasti přenosu tepla, jeho měření a regulaci. Jsou zde zastoupeny dva způsoby přenosu tepelné energie, jako první je přenos energie sáláním ze zdroje tepla na část soustavy, odkud je teplo odváděno dál, a druhý je přenos tepelné energie vedením v materiálu s velmi dobrou tepelnou vodivostí do další části soustavy. Fuzzy řízení tepelné soustavy je jednoduchá úloha, která demonstruje možnost využití fuzzy regulace v PLC automatech.

Obr.1 Reálná tepelná soustava reprezentovaná žárovkou a teplotním

senzorem Celý model regulační úlohy je upevněn na desce v přehledném rozložení částí systému i ovládacích prvků. Jako zdroj tepla je použita klasická žárovka s wolframovým vláknem a jmenovitým výkonem 100W.

Obr.2 Blokové schéma teplené soustavy

Page 168: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

168

Setrvačnost a zpoždění jako vlastnost: Kdyby neexistovala setrvačnost fyzikálních vlastností prvků a ve fyzikálních jevech, měly by všechny soustavy ideální proporcionální vlastnosti a jejich sledování, regulace a řízení vůbec by byly nadmíru jednoduché. Protože to je pouhé „kdyby“ musíme se těmito vlastnostmi nejen zabývat, ale hlavně je řešit. Nyní se podíváme na možné setrvačnosti uvnitř naší soustavy při přechodovém ději. Začneme od zdroje tepla, pro nás žárovka, při jejím skokovém zapnutí na 100% výkonu dochází určitě ke zpoždění, než se nažhaví vlákno žárovky a než produkované teplo prostoupí na její povrch, odkud pak sálá ven. Z praxe víme, že nažhavení klasické žárovky trvá velmi krátkou dobu. Z toho plyne, že tato časová konstanta bude mít malou hodnotu, proto ji můžeme zanedbávat. Další možností, kde existuje setrvačnost, je ohřev vytápěné plochy, v našem případě hliníkového plechu, vlivem sálání. Tato časová konstanta bude jistě mnohem významnější, protože teplo se musí šířit vzduchem, a ten je, jak známo, velmi dobrý tepelný izolant. Zde hraje velkou úlohu vzdálenost mezi žárovkou a ohřívanou plochou. Další uvažovanou setrvačností je prostup tepla k teplotnímu senzoru, tedy odporovému teploměru. Protože vlastní konstrukce čidla umožňuje rychlá měření s malým časovým zpožděním i konstrukce čidla je miniaturní a teploměr je k Al plechu těsně přilepen, bude celková setrvačná konstanta teplotního čidla velmi malá. Toto platí shodně pro oba teploměry. Dále by přicházely v úvahu setrvačnosti v obvodu převodníku pro teploměr, ty jsou však vzhledem k použité konstrukci zanedbatelné. A poněvadž nás zajímá vedení tepla a zpoždění způsobené jeho vlivem, to bude další významná setrvačnost, měříme teplotu na konci vedení druhým teploměrem, u kterého se projeví zmiňované zpoždění způsobené vedením tepla, třebaže používáme dobře tepelně vodivý materiál. Tím se dostaneme na konec celého řetězce soustavy. Popis řídicího systému : PLC: Simatic S7-300 CPU: 314C-2DP Počet DI/DO: 24DI/16DO Počet AI/AO: 5AI/2AO Pracovní paměť: 64kB Firmware: V2.0 Popis a struktura programu: Program obsahuje několik organizačních bloků (OB1, OB35, OB100) a několik funkcí (FC105, FC106). Organizační blok OB1 zde není vůbec využit. Celý stěžejní kód je napsán v organizačním bloku OB35, který se cyklicky provádí každých 500 ms. V prvním networku se provádí změření teploty, která je reprezentována napětím 0 až 10V. Toto změřené napětí na

Page 169: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

169

analogovém vstupu PIW752 je převedeno pomocí funkce FC105 na teplotu v rozsahu 0 až 100°C. Následně se provede výpočet regulační odchylky, která je jedinou vstupní veličinou fuzzy regulátoru. Po provedení fyzzy algoritmu pomocí funkce ? a výpočtu akční veličiny, která je v rozsahu 0 až 100% příkonu, se provede převod této akční veličiny na analogové napětí v rozsahu 0 až 10V a toto napětí se přivede na analogový výstup PQW752. Návrh fuzzy regulátoru tepelné soustavy: Takagi-Sugeno model regulátoru, který byl vytvořen pomocí Fuzzy Logic Toolboxu v fuzzy editoru, a následně převeden to aplikace FuzzyControl++. Návrh fuzzy logiky obsahuje jeden vstup (regulační odchylku), jeden výstup (akční veličina) a blok pravidel.

Obr.3 Fuzzy návrh řízení tepelné soustavy v FuzzyControl++ v5

Page 170: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

170

Nejprve nadefinujeme vstupní proměnnou – regulační odchylku e:

Obr.4 Vstupní členská funkce „e“ – regulační odchylka Dále nadefinujeme výstupní proměnnou – akční zásah y:

Obr.5 Výstupní členská funkce „y“ – akční zásah

Page 171: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

171

Fuzzy pravidla pro regulaci tepelné soustavy:

Obr.6 Fuzzy pravidla pro řízení tepelné soustavy bez chlazení

Obr.7 3D prezentace veličin fuzzy regulátoru

Výpis programu v PLC automatu :

Celý program je tvořen čtyřmi networky v bloku OB1. První network převádí analogovou hodnotu ze vstupu a upravuje ji na rozsah 0 až 100. Druhý network vypočítává regulační odchylku jako rozdíl skutečné od

Page 172: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

172

požadované hodnoty. Další network je samotný fuzzy regulátor. Na jeho vstup přivádíme hodnotu regulační odchylky a na výstupu regulátoru pak dostáváme akční veličinu. Fuzzy pravidla jsou zde interpretována v podobě datového bloku DB30. Tento blok se musí přiřadit fuzzy regulátoru tak, jak je ukázáno v networku 3. V posledním network se převádí hodnota akční veličiny v rozsahu 0 až 100 na analogový výstup a ovlivňuje soustavu s žárovkou.

Obr.8 Převod analogové hodnoty na digitální

Obr.9 Výpočet hodnoty regulační odchylky

Page 173: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

173

Obr.10 Fuzzy regulátor

Obr.11 Zápis hodnoty na analogový výstup Cílem této praktické úlohy bylo se seznámit a zrealizovat fuzzy regulátor pro tepelnou soustavu a implementovat regulátor do programovatelného automatu Simatic S7-300. Pomocí programu FuzzyControl++ byl implementován návrh fuzzy regulátoru. Ten obsahuje jeden vstup (regulační odchylku) a jeden výstup (akční veličinu). Model fuzzy regulátoru vychází ze Takagi-Sugeno modelu.

Postup pro vytvoření fuzzy návrhu pro regulaci tepelné soustavy je součástí animace „Expertní systém pro regulaci teploty tepelné soustavy v PLC Siemens (S7 3xx)“, která je přiložena na CD-ROM. Tento návrh aplikace je

Page 174: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

174

vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „FuzzyRegulator.fpl“, který se otevře v programu FuzzyControl++ a zabalený zip soubor „FuzzyRegulaceZarovkyBezChlazeni.zip“, který obsahuje kompletní projekt pro Siemens PLC automat.řady S7 300.

CD-ROM

...... Program : FuzzyRegulaceZarovkyBezChlazeni.zip, FuzzyRegulator.fpl

Page 175: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

175

CVIČENÍ č. 6 Expertní systém pro regulaci teploty s chlazením tepelné soustavy v PLC Siemens (S7 3xx) a řízením otáček 3. fázového motoru pomocí měniče Siemens Micromaster

Řešený příklad

Řešení této úlohy je založeno na fyzikálním modelu tepelné soustavy, jejíž vlastnosti mohou být velmi podobné s mnoha reálnými technologiemi v oblasti přenosu tepla, jeho měření a regulaci. Jsou zde zastoupeny dva způsoby přenosu tepelné energie, jako první je přenos energie sáláním ze zdroje tepla na část soustavy, odkud je teplo odváděno dál, a druhý je přenos tepelné energie vedením v materiálu s velmi dobrou tepelnou vodivostí do další části soustavy. Fuzzy řízení tepelné soustavy je jednoduchá úloha, která demonstruje možnost využití fuzzy regulace v PLC automatech.

Obr.1 Reálná tepelná soustava reprezentovaná žárovkou a teplotním

senzorem Celý model regulační úlohy je upevněn na desce v přehledném rozložení částí systému i ovládacích prvků. Jako zdroj tepla je použita klasická žárovka s wolframovým vláknem a jmenovitým výkonem 100W. Celá tepelná soustava se skládá z hliníkového plechu (jehož teplota se má regulovat), žárovky a 3-fázového motoru. Regulace svitu žárovky, která dále zahřívá hliníkový plech, je řízeno externím signálem o úrovni 0 – 10 V. Signál této úrovně je přiváděn do černé krabičky patrné z obrázku níže, pomocí které dochází na základě velikosti tohoto signálu ke spojité regulaci připojené žárovky. Na již zmíněném hliníkovém plechu jsou umístěna dvě odporová teplotní čidla, z nichž se za pomocí převodníku převádí jejich odpor na napěťový signál, který se poté přivádí do PLC. Naopak ochlazování hliníkové

Page 176: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

176

desky je zajištěno pomocí 3-fázového motoru s vrtulí připojenou k rotoru. Odfukem vzduchu z této vrtule dochází k ochlazování hliníkového plechu. Intenzita otáčení tohoto motoru je regulována prostřednictvím měniče, do kterého se žádaná hodnota otáček posílá v podobě „řídicích slov“ prostřednictvím průmyslové sběrnice Profibus DP.

Obr.2 Petriho sít – chování řízeného objektu

Na schématu petriho sítě jsou uvedeny dvě hlavní části, vlevo (P1-P3) je funkce FC2 pro ovládání měniče. Vpravo pak OB35(P5-P7), která obsahuje čtení a zápis vstupní a výstupní periferie a samotnou regulaci. Nejprve se v P1spustí FC2 ve kterém se cyklicky spouští bit M5.0. Pomocí tohoto slova se pak neustále zapisuje první řídicí slovo obsahující nastavení měniče (P2). Poté se rozhoduje, zda je akční veličina měniče z regulátoru vyšší než nastavená konstanta 43.75 (T2). Pokud ano zapíše se frekvence měniče na 50Hz. Pokud je však menší než konstanta 6.25 (T3), zapíše se frekvence 0 a motor se zastaví. To se neustále opakuje v závislosti na akční veličině motoru. Druhá část je v OB35, zde se nejprve čte aktuální teplota a zapisuje se požadovaná teplota (T4). V dalším kroku se podle Obr.2 - Blokové schéma teplené soustavy nastavené požadované teploty, potažmo regulační odchylky vyčítají data z fuzzy regulátoru (P6). Následně se pak zapíše akční veličina žárovky.

Tabulka 1 – Popis částí Petriho sítě

Page 177: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

177

Tabulka 2 – Seznam technologických vstupů a výstupů

Popis řídícího systému • PLC Siemens Simatic S7-300.

• CPU 315-2-DP (6ES7 315-2AF03-0AB0) s komunikačním procesorem pro sběrnici Ethernet

• CP 343-1 (6GK7 343-1EX10-0XE0), modulem pro PID regulaci FM 355 C PID Control

• (6ES7 355-0VH10-0AE0) a modulem digitálních I/O DI16/DO16x24V/0.5A (6ES7 323-1BL00-0AA0).

• Modul vzdálených periferií ET200M, typ 153-1 (6ES7 153-1AA03-0XB0) s adresou v síti

• Profibus s rozšiřujícím modulem digitálních I/O DI16/DO16x24V/0.5A (6ES7 323-1BL00-0AA0) a rozšiřujícím modulem analogových I/O AI4/AO2x8/8Bit (6ES7 334-0CE01-0AA0).

• Měnič Micromaster 420 (6SE640X-1PB00-0AA0) s adresou v síti Profibus – 15, s připojeným 3-fázovým motorem. Micromaster 420 v modu PPO3 (0 PKW, 2 PZD), · Programovací software Step 7 v 5.3, programovací jazyk LAD.

Page 178: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

178

Obr.3 Blokové schéma řídicího systému

Popis nastavení měniče Micromaster 420 Nejprve je nutno si zkontrolovat na samotném předním panelu jednotlivé parametry a nastavit je podle příslušných manuálů. Dále je nutno si zkontrolovat nastavení adresy Profibusu, to se provádí manuálně po odklopení předního panelu. Dále je nutno v HW nastavení zvolit mód chodu měniče. A to na PPO3 (0 PKW, 2 PZD). Tento druh zařízení, který nám označuje druh komunikace. Tento typ nám říká, jak se přistupuje do oblasti PKW a PZD.

PPO(objekt parametru procesních dat) se dělí na dva: - PKW(oblast parametrů – čtení a zápis hodnot parametrů, např. ke čtení poruchových hlášení, jako i ke čtení informací o vlastnostech parametrů, čtení min.,max. omezení atd.) pomocí kterého má uživatel přístup na všechny parametry, které se v měniči nacházejí a - PZD(oblast procesních – řídící slovo o žádaná hodnota případně informace o stavu skutečné hodnoty), které budou vždy přenášena – budou zpracovávány s největší prioritou a v nejkratším čase (zde se řídí zapínání či vypínání měniče, zadává se zde žádaná hodnota frekvence motoru).

Obr.4 Nastavení parametrů měniče

Page 179: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

179

S takto zvoleným nastavením budeme používat pouze dvě řídicí slova, jedno pro zápis nastavení profibusu, viz. dále a druhé pro zápis požadované frekvence. Micromaster 420 dokáže vytvářet frekvence od 0 do 650Hz s krokem 12,5Hz, motor však jeden pouze na 50Hz. Je zde tedy pouze několik rychlostí.

Obr.5 Nastavení parametru frekvence měniče Nejprve nadefinujeme vstupní proměnnou – regulační odchylku e:

Obr.6 Vstupní členská funkce „e“ – regulační odchylka

Dále nadefinujeme výstupní proměnné – akční zásah motoru a žárovky:

Obr.7 Výstupní členská funkce „akční zásah motoru“

Page 180: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

180

Návrh fuzzy regulátoru byl proveden pomocí FuzzyControl++ V5. Celý fuzzy regulátor se skládá z jedné vstupní proměnné představující regulační odchylku teploty. Dále je seznam fuzzy pravidel pro rozhodování o akčních veličinách, které jsou dvojí, tedy dva výstupy. Jeden výstup je akční veličina pro měnič ovládající motor (chlazení) a druhá akční veličina je pro intenzitu svitu žárovky (ohřev). Na obr.4 je zobrazeno ve zvětšení jazykové proměnné vstupní regulační odchylky. Ta se pohybuje od -100 do 100. Červeně zobrazena regulační odchylka je množina (mot), sloužící pro ochlazování soustavy. Ostatní jazykové výrazy jsou pro žárovku a jsou označeny jako zarM (malá), zarS (střední), zarV (velká) a zarVV (velmi velká). Takže pokud je například kladná regulační odchylka, tzn. že požadovaná teplota je větší než skutečná je nutno ohřívat (sepnout žárovku). Pokud bude naopak záporná je nutno chladit (zapnout motor).

Obr.7 Výstupní členská funkce „akční zásah žárovky“

Dále bude potřeba nastavit výstupní jazykové proměnné, neboli akční veličiny. U motoru bylo zvoleno vzhledem k velmi malému ochlazování při nízkých otáčkách motoru, pouze vypnutí motoru a chod motoru na max. otáčky. Na obr. 5 jsou zobrazeny tyto množiny, jedna je označena vyp , má hodnotu 0 a druhá zap, s hodnotu 50, tato hodnota byla zvolena jako hodnota frekvence která se bude nastavovat v měniči. Motor má maximální frekvenci 50Hz, proto je tedy akční veličina nastavena na 50. Dále se bude ovládat i žárovka, na obr.7 jsou zobrazeny akční veličiny pro žárovku. Ohřívání tělesa bylo značné rychlejší než u ochlazování motoru, proto bylo nastaveno i věší množství množin, pro zlepšení kvality regulace. Jednotlivé množiny jsou nastaveny na hodnotě 0 (vyp), 45 (M), 70 (S), 85(V) a 100(VV). Podle rozložení těchto vstupních a výstupních jazykových proměnných se pomocí pravidel o rozhodování (obr. 8) ovládají jednotlivé výstupní akční veličiny. Pokud bude regulační odchylka mot, akční veličina motoru bude nastavena na zap a akční veličina žárovky bude vyp. V dalších 4 pravidlech je už nastaveno pouze ovládání žárovky, akční veličina motoru je ve všech

Page 181: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

181

případech nastavena na vyp. Pokud je regulační odchylka nastavena na zarM, zarS, zarV a zarVV, jsou akční veličiny žárovky nastaveny na stejnou úroveň, tedy M, S, V a VV. Fuzzy pravidla pro regulaci tepelné soustavy s chlazením:

Obr.8 Fuzzy pravidla pro řízení tepelné soustavy s chlazení

Popis programu: Po spuštění programu se nejprve provede OB100, v tomto organizačním bloku nejprve proběhne kvitování případného poruchového stavu měniče a jeho přepnutí zpět do stavu „READY“. Dále se provádějí dvě funkce obsažené v OB1, v FC1 se pro kontrolu čtou stavové slova z měniče Micromaster 420. Funkce FC2 složí pro ovládání měniče, tzn. pro zápis dvou řídicích slov. První řídicí slovo obsahuje nastavení samotného měniče. Po nastavení jednotlivých bitu a poslání do měniče na periferii PQW292 pomocí cyklického zapisování (150ms) pomocným bitem M5.0, se přechází k 2 řídicímu slovu, toto slovo obsahuje frekvencí, na kterou se nastaví měnič a se kterou pojede motor. Aby se dala měnit frekvence motoru podle akční veličiny jsou zde obsaženy porovnávací bloky s následným zápisem frekvence. Další nedílnou součástí programu je OB35, v tomto cyklicky volaném bloku se nejprve přečte aktuální teplota z odporového čidla, dále se odečte požadovaná teplota (MD90) od skutečné (MD100), tato regulační odchylka (MD80) se přivede na vstup bloku fuzzy regulátoru (Fuzzy Control 4K). zde se provede samotná fuzzy regulace. Výsledkem jsou dva výstupy z tohoto bloku, první je pro ovládání frekvence motoru pomocí měniče (MD70) a druhy je pro zápis a přepočet akční veličiny fuzzy regulátoru (MD74) na hodnotu v rozsahu 0 až 10V pro ovládání intenzity žárovky.

Cílem této praktické úlohy bylo se seznámit a zrealizovat fuzzy regulátor pro tepelnou soustavu a chlazením pomocí 3.fázového měniče a implementovat regulátor do programovatelného automatu Simatic S7-300. Pomocí programu FuzzyControl++ byl implementován návrh fuzzy regulátoru. Ten obsahuje

Page 182: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

182

jeden vstup (regulační odchylku) a dva akční výstupy (akční veličiny). Model fuzzy regulátoru vychází ze Takagi-Sugeno modelu.

Postup pro vytvoření fuzzy návrhu pro regulaci tepelné soustavy je součástí animace „Expertní systém pro regulaci teploty s chlazením tepelné soustavy v PLC Siemens (S7 3xx) a řízením otáček 3. fázového motoru pomocí měniče Siemens Micromaster“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „FuzzyRegulator.fpl“, který se otevře v programu FuzzyControl++ a zabalený zip soubor „FuzzyRegulaceTepelneSoustavySchlazenim_MenicMicromaster.zip“, který obsahuje kompletní projekt pro Siemens PLC automat.řady S7 300.

CD-ROM

...... Program : FuzzyRegulaceTepelneSoustavySchlazenim_MenicMicromaster.zip,

FuzzyRegulator.fpl

Page 183: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

183

CVIČENÍ č. 7 Expertní systém pro regulaci teploty tepelné soustavy v PLC Bernecker & Reiner (B&R System 2003)

Řešený příklad

Řešení této úlohy je založeno na fyzikálním modelu tepelné soustavy, jejíž vlastnosti mohou být velmi podobné s mnoha reálnými technologiemi v oblasti přenosu tepla, jeho měření a regulaci. Jsou zde zastoupeny dva způsoby přenosu tepelné energie, jako první je přenos energie sáláním ze zdroje tepla na část soustavy, odkud je teplo odváděno dál, a druhý je přenos tepelné energie vedením v materiálu s velmi dobrou tepelnou vodivostí do další části soustavy. Fuzzy řízení tepelné soustavy je jednoduchá úloha, která demonstruje možnost využití fuzzy regulace v PLC automatech.

Obr.1 Reálná tepelná soustava reprezentovaná žárovkou a teplotním

senzorem Celý model regulační úlohy je upevněn na desce v přehledném rozložení částí systému i ovládacích prvků. Jako zdroj tepla je použita klasická žárovka s wolframovým vláknem a jmenovitým výkonem 100W.

Obr.2 Blokové schéma teplené soustavy

Page 184: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

184

Setrvačnost a zpoždění jako vlastnost: Kdyby neexistovala setrvačnost fyzikálních vlastností prvků a ve fyzikálních jevech, měly by všechny soustavy ideální proporcionální vlastnosti a jejich sledování, regulace a řízení vůbec by byly nadmíru jednoduché. Protože to je pouhé „kdyby“ musíme se těmito vlastnostmi nejen zabývat, ale hlavně je řešit. Nyní se podíváme na možné setrvačnosti uvnitř naší soustavy při přechodovém ději. Začneme od zdroje tepla, pro nás žárovka, při jejím skokovém zapnutí na 100% výkonu dochází určitě ke zpoždění, než se nažhaví vlákno žárovky a než produkované teplo prostoupí na její povrch, odkud pak sálá ven. Z praxe víme, že nažhavení klasické žárovky trvá velmi krátkou dobu. Z toho plyne, že tato časová konstanta bude mít malou hodnotu, proto ji můžeme zanedbávat. Další možností, kde existuje setrvačnost, je ohřev vytápěné plochy, v našem případě hliníkového plechu, vlivem sálání. Tato časová konstanta bude jistě mnohem významnější, protože teplo se musí šířit vzduchem, a ten je, jak známo, velmi dobrý tepelný izolant. Zde hraje velkou úlohu vzdálenost mezi žárovkou a ohřívanou plochou. Další uvažovanou setrvačností je prostup tepla k teplotnímu senzoru, tedy odporovému teploměru. Protože vlastní konstrukce čidla umožňuje rychlá měření s malým časovým zpožděním i konstrukce čidla je miniaturní a teploměr je k Al plechu těsně přilepen, bude celková setrvačná konstanta teplotního čidla velmi malá. Toto platí shodně pro oba teploměry. Dále by přicházely v úvahu setrvačnosti v obvodu převodníku pro teploměr, ty jsou však vzhledem k použité konstrukci zanedbatelné. A poněvadž nás zajímá vedení tepla a zpoždění způsobené jeho vlivem, to bude další významná setrvačnost, měříme teplotu na konci vedení druhým teploměrem, u kterého se projeví zmiňované zpoždění způsobené vedením tepla, třebaže používáme dobře tepelně vodivý materiál. Tím se dostaneme na konec celého řetězce soustavy. Popis řídicího systému : Typ PLC: B&R System 2003 Typ CPU: 7CP430.60-1 Typ modulu I/O: 7CM211.7 Programovací a pozorovací software: Automation Studio ver. 3.0.80.25 Popis a struktura programu: Program obsahuje několik organizačních bloků (OB1, OB35, OB100) a několik funkcí (FC105, FC106). Organizační blok OB1 zde není vůbec využit. Celý stěžejní kód je napsán v organizačním bloku OB35, který se cyklicky provádí každých 500 ms. V prvním networku se provádí změření teploty, která je reprezentována napětím 0 až 10V. Toto změřené napětí na analogovém vstupu PIW752 je převedeno pomocí funkce FC105 na teplotu v rozsahu 0 až 100°C. Následně se provede výpočet regulační odchylky, která je jedinou vstupní veličinou fuzzy regulátoru. Po provedení fyzzy algoritmu pomocí funkce ? a výpočtu akční veličiny, která je v rozsahu 0 až 100%

Page 185: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

185

příkonu, se provede převod této akční veličiny na analogové napětí v rozsahu 0 až 10V a toto napětí se přivede na analogový výstup PQW752. Seznam technologických vstupů a výstupů: číslo Název Datový

typ I/O Typ Popisek

1 Akcni_velicina Real výstupní Global Proměnná akční

veličiny (u)

2 Akcni_velicina_1 Real pomocn

á Global Pomocná proměnná pro mezivýpočet

3 Akcni_velicina_int Int výstupn

í GlobalProměnná pro D/A převodník (výkon

žárovky)

4 Odchylka Real výstupní Global

Proměnná regulované odchylky

(e)

5 Pozadovana_Teplota Real vstupní Global

Proměnná požadované teploty

(w)

6 Teplota1 Real vstupní Global Proměnná skutečné teploty

7 Teplota1_int Int vstupní GlobalProměnná z A/D převodníku (čidlo

teploty)

Tabulka 1 Seznam technologických vstupů a výstupů Popis a struktura programu Úloha používá pouze jeden analogový vstup a výstup do PLC. Vstup bere informace z teplotního snímače a výstup generuje akční veličinu pro řízení výkonu žárovky. Jelikož analogový vstup a výstup nabývá hodnot od 0 až 32767 je potřeba tyto hodnoty převádět na skutečné hodnoty (Real).

Obr. 3 Rozložení vstupů / výstupů

Hlavní program je obsažen ve 2 tascích (p2 a prvni_st). Tyto tasky se vykonávají cyklicky (p2 – 10ms a prvni_st – 100ms). Task p2 obsahuje program psaný přímo pro PLC a slouží pro měření a úpravu dat. Úpravou dat se rozumí převod datového typu jednotlivých proměnných a přepočet změřené teploty na teplotu ve stupních celsia. Task prvni_st obsahuje program generovaný Matlabem a obsahuje implementaci fuzzy regulátoru.

Page 186: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

186

Obr. 4 Rozložení tasků v PLC B&R Task p2, Network 0003 Network obsahuje blok dělení. Blok vydělí hodnotu přijatou z teplotního čidla (Teplota1_int) číslem 327,68. Tímto dostaneme hodnotu (Teplota1) teploty ve stupních celsia. Čili tento network převádí hodnotu z A/D převodníku na hodnotu ve stupních celsia. Task p2, Network 0004 Network obsahuje blok násobení. Blok násobí hodnotu přijatou z fuzzy regulátoru (Akcni_velicina) s číslem 327,68. Tímto dostaneme hodnotu (Akcni_velicina_1) odpovídající rozsahu D/A převodníku. Čily tento network převádí hodnotu přijatou z fuzzy regulátoru na hodnotu odpovídající rozsahu D/A převodníku. Task p2, Network 0005 Tento network provádí konverzi datových typů z proměnné Akcni_velicina_1 na proměnnou Akcni_velicina_int. Akcni_velicina_int se následně přenese na D/A převodník a její hodnota později řídí výkon žárovky. Task p2, Network 0006 V tomto networku probíhá přesun požadované hodnoty teploty (Pozadovana_Teplota) do sama sebe. Tento přesun je z hlediska funkce nepotřebný, ale je potřeba protože jinak nejde pomocí Automation Studia do proměnné zapisovat. Task p2, Network 0007

Page 187: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

187

Network obsahuje blok rozdílu. Blok odečte od požadované hodnoty teploty (Pozadovana_Teplota) hodnotu přijatou z teplotního čidla (Teplota1). Tímto dostaneme hodnotu (Odchylka) regulované odchylky potřebnou pro fuzzy regulátor. Task první_st Tento task obsahuje implementaci fuzzy regulátoru. Fuzzy regulátor se navrhuje v Matlab Simulinku pomocí B&R toolboxu a Fuzzy toolboxu. Tento task se generuje automaticky při RT buildu souboru s navrženým fuzzy regulátorem. Buildnutý soubor se přidá do tasku, který se vyvolává každých 10ms. Tento soubor je nutné přesunout do tasku, který má čas cyklu rovnou době simulace v Matlab Simulinku.

Obr. 5 Regulační smyčka realizovaná programem

Výpis programu

Page 188: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

188

Obr. 6 Výpis programu v PLCB&R Návrh Fuzzy Fuzzy logica je jednou z možností pro vytvoření regulovaného obvodu. Základem fuzzy je výroková logika, na jejímž základě se vytváří akční veličina (u), kterou se řídí daná soustava. Fuzzy logika pro PLC B&R System 2003 se vytváří v programu Matlab. Pro editaci fuzzy bloku se používá nástroj (FIS editor) fuzzy toolboxu obsaženého v Matlabu. Tento nástroj se aktivuje (otevře) spuštěním příkazu fuzzy. Tento nástroj obsahuje tři části. Vstupní část, část pro editaci pravidel (tato část se využije pro nastavení fuzzy bloku v Simulinku) a výstupní část.

Obr. 7 Fuzzy regulátor

Ve vstupní části si vytvoříme bloky se vstupními informacemi (e). Ve výstupní části si nadefinujeme jednotlivé výstupní charakteristiky (u). A v prostřední části si vytvoříme tabulku pravidel. Tato tabulka je velice důležitá pro Simulink a zejména pro blok fuzzy regulace, jelikož provádí vlastní regulaci na základě vytvořených pravidel. Dále je možné tento model zvolit jako Mamdani nebo Sugeno. Pro samotné řízení je lepší model Sugeno,v naši aplikaci jsme zvolili model Mamdani, jelikož tento model umožňuje přesnější editaci výstupní části (u). Vstupní proměnné V našem případě vstupní proměnné odpovídá proměnná nazývaná Odchylka (e). Jedná se o rozdíl aktuální a požadované teploty, která se pohybuje v rozsahu od -100 do 100. Po kliknutí na blok e se otevře blok, ve kterém se zadává tvar vstupní proměnné. V našem případě je proměnná e složená z pěti množin (VM, M, ST, V a VV). Všech pět množin odpovídají rozdílu aktuální a požadované teploty. Množina VM se pohybuje v rozsahu od -100 do -3. Množina VM zabírá skoro celý rozsah záporných hodnot, protože

Page 189: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

189

odpovídá ději, při kterém dochází k ochlazování kovové desky. Množina M se pohybuje v rozsahu od -3 do 0. Tato množina odpovídá ději, při kterém se částečně ohřívá kovová deska. Množina ST se pohybuje v rozsahu od -0,3 do 0,3. Množina ST by měla být co nejužší, protože odpovídá hodnotám, kdy je aktuální a požadovaná teplota stejná. Množina V se pohybuje v rozsahu od 0 do 3. Tato množina odpovídá ději, při kterém se začíná ohřívat kovová deska. Množina VV se pohybuje v rozsahu od 3 do 100. Množina VV zabírá skoro celý rozsah kladných hodnot, protože odpovídá ději, při kterém dochází k zahřívání kovové desky. Osa Y odpovídá proměnné µ (míra příslušnosti) nabývající hodnot 0 až 1. Množiny jednotlivých lingvistických proměnných jsou pojmenovány slovními kvantifikátory:

• VM - velmi malá

• M - malá

• ST - střední

• V - vysoká

• VV - velmi vysoká

Obr. 8 Množina VM proměnné „e“

Page 190: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

190

Obr. 9 Množina M proměnné „e“

Obr. 10 Množina ST proměnné „e“

Page 191: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

191

Obr. 11 Množina V proměnné „e“

Obr. 12 Množina VV proměnné „e“

Výstupní proměnná V našem případě výstupní proměnné odpovídá proměnná nazývaná Akcni_velicina (u). Jedná se o proměnnou, jejíž hodnota po konverzi vstupuje do řízené soustavy. Nabývá hodnot 0 až 100. Po kliknutí na blok u se otevře blok, ve kterém se zadává tvar výstupní proměnné. V našem případě je proměnná u složená ze tří množin (NULL, S a V). Množina NULL odpovídá hodnotě 0. Tato množina se vyvolá v případě, že je kovová deska

Page 192: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

192

ochlazována nebo je na požadované teplotě. Množina S se pohybuje v rozsahu od 20 do 40. Tato množina odpovídá ději, při kterém se částečně ohřívá kovová deska. Množina V se pohybuje v rozsahu od 60 do 100. Tato množina odpovídá ději, při kterém dochází k zahřívání kovové desky. Osa Y odpovídá proměnné µ (míra příslušnosti) nabývající hodnot 0 až 1. Množiny jednotlivých lingvistických proměnných jsou pojmenovány slovními kvantifikátory:

• NULL - nulla

• S - střední

• V - vysoká

Obr. 13 Množina NULL proměnné „u“

Obr. 14 Množina S proměnné „u“

Page 193: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

193

Obr. 15 Množina V proměnné „u“

Tabulka pravidel (Znalostní síť pravidel) Pokud máme vytvořeny vstupní a výstupní proměnné, můžeme přejít k editaci pravidel. Každé pravidlo se skládá vždy ze dvou částí, antecedent a konsekvent. Antecedent je tvořen kombinací vstupních proměnných (proměnné v bloku e) a tvoří podmínkovou část pravidla. Konsekvent je pak následkem, co se má při dané podmínce provést (proměnné v bloku u).

Obr. 16 Fuzzy editor pravidel s konkrétními pravidly

Page 194: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

194

V našem případě je volba pravidel velice jednoduchá. Pokud vstupní proměnná odpovídá hodnotě z rozsahu VM nebo ST, přiřadí se na výstup hodnota NULL odpovídající hodnotě výstupní proměnné. Výstup z fuzzy se blíží hodnotě 0 a vstup se pohybuje v rozsahu -100 až 0. Jelikož se v naší aplikaci řídí teplota kovové desky, odpovídá hodnota 0 procesu chlazení. Čím víc se vstupní hodnota blíží -100, tím více se výstupní hodnota blíží 0 a tím rychleji se kovová deska ochlazuje. Pokud vstupní proměnná odpovídá hodnotě z rozsahu M, přiřadí se na výstup hodnota S odpovídající hodnotě výstupní proměnné. Výstup z fuzzy se blíží hodnotě 20 až 40 a vstup se pohybuje v rozsahu -3 až 0 (minimální záporná odchylka požadované a aktuální teploty). Pokud se výstup z fuzzy blíží 20 až 40 je kovová deska částečně zahřívána (udržuje se aktuální teplota). Čím víc se vstupní hodnota blíží -3, tím více se výstupní hodnota blíží 40 a tím rychleji se kovová deska zahřívá. Pokud vstupní proměnná odpovídá hodnotě z rozsahu V nebo VV, přiřadí se na výstup hodnota V odpovídající hodnotě výstupní proměnné. Výstup z fuzzy se blíží hodnotě 60 až 100 a vstup se pohybuje v rozsahu 0 až 100 (kladná odchylka požadované a aktuální teploty). Pokud se výstup z fuzzy blíží 60 až 100 je kovová deska zahřívána. Čím víc se vstupní hodnota blíží 100, tím více se výstupní hodnota blíží 100 a tím rychleji se kovová deska zahřívá. Jakmile máme všechny pravidla vytvořena dáme v menu možnost File/Export/To Workspace čímž se vytvoří ve Workspace matice dat s jednotlivými pravidly. Dále je třeba ještě data exportovat do externího souboru. Tato akce se provede stejným způsobem jako předchozí export do Workspace, ale s rozdílem, že se nezvolí možnost File/Export/To Workspace, ale File/Export/To File… Realizace fuzzy regulátoru V Matlabu si spustíme Simulink pomocí příkazu simulink. Do tohoto okna postupně přidáme fuzzy regulátor (fuzzy logic controller) a prvky pro propojení s B&R Automation Studiem.

Obr. 17 Schéma v Simulinku

Page 195: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

195

Po dvojím kliknutí na blok fuzzy regulátoru (fuzzy logic controller) se otevře nabídka nastavení. Zde je třeba napsat název exportovaných dat do Workspace nebo název souboru fis. Po tomto nastavení jsme definovaly regulátoru jakousi pravdivostní tabulku, na kterou celá soustava reaguje. Po tomto nastavení je potřeba ještě přiřadit potřebné proměnné do bloků vstupu a výstupu pro propojení s B&R Automation Studiem. Tyto proměnné musí mít stejný název i datový typ jako odpovídající globální proměnné v B&R Automation Studiu. Kromě toho je ještě třeba v bloku Config nastavit Code Generation. Tímto je povoleno generování kódu ze Simulinku do B&R Automation Studia.

Obr. 18 Nastavení fuzzy regulátoru

Jakmile jsou splněny veškeré předchozí kroky, vyvolá se menu Tools/Real-Time Workshop/Builde Model čímž se buildne vytvořený simulinkový soubor a následně se nahraje do jednoho z tasků v B&R Automation Studiu a vytvoří se program prvni_st. Po nahrání je ještě třeba vzniklý soubor prvni_st přesunout do takového tasku, jehož čas odpovídá době simulace RT nastavené v Simulinku. Tato doba je ve standardu nastavená na 100ms proto vzniklý soubor přesuneme do tasku vykonávající se co 100ms (viz. Obr. 6). Cílem této praktické úlohy bylo se seznámit a zrealizovat fuzzy regulátor pro tepelnou soustavu a implementovat regulátor do programovatelného automatu B&R 2003. Pomocí programu Matlabu/Simulinku a B&R knihovny pro Matlab byl implementován návrh fuzzy regulátoru. Ten obsahuje jeden vstup (regulační odchylku) a jeden výstup (akční veličinu). Model fuzzy regulátoru vychází z Mamdani modelu.

Postup pro vytvoření fuzzy návrhu pro regulaci tepelné soustavy je součástí animace „Expertní systém pro regulaci teploty tepelné soustavy v PLC Bernecker & Reiner (B&R System 2003)“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „FuzzyRegulator.fis a prvni_start.mdl“, který se otevře v programu Matlab/Simulink a zabalený zip soubor „FuzzyRegulaceZarovkyBezChlazeni.zip“, který obsahuje kompletní projekt pro B&R systém automat.řady 2003.

Page 196: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

196

CD-ROM

...... Program : FuzzyRegulaceZarovkyBezChlazeni.zip,

FuzzyRegulator.fis a prvni_start.mdl

Page 197: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

197

CVIČENÍ č. 8 Fuzzy regulátor typu PS (Mamdani a Sugeno) určený pro regulaci soustavy 2. řádu a porovnání s klasickým PI regulátorem

Řešený příklad

Řešení této úlohy je vztaženo k soustavě 2.řádu a regulaci pomocí fuzzy PS regulátoru. Požaduje se, aby regulovaný děj byl pokud možno aperiodický (bez překmitu) a aby byl použit regulátor, který má 3,5 a 7 jazykových hodnot u vstupních proměnných i u výstupní proměnné. V rámci řešení je použit Mamdaniho tak i Sugeno model.

Obr.1 Model soustavy 2.řádu s fuzzy PS regulátorem typu Mamdani  

Základní konfigurace systému FLC je nakreslena na obrázku níže. Typy a zapojení jednotlivých bloků odpovídají obecnému expertnímu systému

Obr.2 Blokové schéma FLC systému

Page 198: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

198

Konfigurace fuzzy regulátoru obsahuje čtyři základní bloky, jejichž funkce jednotlivých částí je tedy následující: a) blok FUZZIFIKACE, který zahrnuje funkce

- měření hodnot vstupních veličin, - převod rozsahů měřených dat do odpovídajících univerz, - fuzzifikaci, transformující vstupní data (obyčejná čísla) do formy fuzzy množin;

b) blok ZNALOSTNÍ BÁZE, představující znalosti z konkrétní aplikační oblasti se zahrnutím cílů řízení.

- báze dat - báze znalostí

c) blok ROZHODOVACÍ LOGIKY, tvořící jádro systému FLC. - provádí vyvození fuzzy řídících zásahů s využitím příslušných fuzzy inferenčních (aproximačních) algoritmů;

d) blok DEFUZZIFIKACE, zahrnující - proceduru defuzzifikace, transformující vyvozený fuzzy akční zásah do obyčejné číselné formy; - převod rozsahů výstupních veličin do odpovídajících univerz

Z tohoto hlediska existuje podobnost mezi fuzzy pravidlovými expertními systémy a systémy FLC. Oba vycházejí z modelování lidské zkušenosti a prostředí lidského rozhodování. Jednotlivé typy fuzzy regulátorů se od sebe liší závisle proměnnými, nezávisle proměnnými a strukturou pravidel. Fuzzy regulátor PS považujeme za regulátor nelineární s touto strukturou: Fuzzy pravidlo pro PS regulátor:

IF (e is A) and (De is B) THEN (Du is C)

Kde A, B, C jsou příslušné jazykové hodnoty vstupní proměnné e (regulační odchylka) či výstupní proměnné u (akční veličina), reprezentované fuzzy množinami. Operátor D je symbolem změny (derivace).

Výběr typu fuzzy regulátoru závisí, stejně jako v případě regulátoru klasického, na charakteru regulované soustavy a na požadavcích kvality regulace. Tak např. fuzzy PSD regulátor je používán pro procesy vysoce nelineární a nestabilní. Regulační zákon je popsán IF-THEN pravidly řízení, které tvoří regulační model (bázi znalostí) fuzzy regulátoru. Tvar pravidel je dán typem fuzzy regulátoru (P, PD, PS, PDS).

Page 199: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

199

Fuzzy PS regulátor typu Mamdani:

Obr.3 Fuzzy PS regulátor typu Mamdani s 3 funkcemi příslušnosti

Obr.4 Vstupní proměnná – regulační odchylka fuzzy PS regulátoru

Page 200: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

200

Obr.5 Vstupní proměnná – změna regulační odchylka fuzzy PS regulátoru

Obr.6 Výstupní proměnná – změna akčního zásahu fuzzy PS regulátoru

Page 201: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

201

Průběh regulovaných veličin fuzzy PS a klasického PI regulátoru:

Obr.7 Výstup z regulované soustavy 2. řádu pomocí fuzzy PS regulátoru typu

Mamdani

Obr.8 Výstup z regulované soustavy 2.řádu pomocí klasického PI regulátoru

Postup pro vytvoření fuzzy regulátoru typu PS je součástí animace „Fuzzy

regulátor typu PS (Mamdani a Sugeno) určený pro regulaci soustavy 2. řádu a porovnání s klasickým PI regulátorem“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „PS3MAM.fis,

Page 202: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

202

PS5MAM.fis, PS7MAM.fis, PS3SUG.fis, PS5SUG.fis, PS7SUG.fis a PS3MAM.mdl, PS5MAM.mdl, PS7MAM.mdl, PS3SUG.mdl, PS5SUG.mdl, PS7SUG.mdl“, který se otevře v programu Matlab/Simulink.

CD-ROM

...... Program : PS3MAM.fis, PS5MAM.fis, PS7MAM.fis,

PS3SUG.fis, PS5SUG.fis, PS7SUG.fis a PS3MAM.mdl, PS5MAM.mdl, PS7MAM.mdl, PS3SUG.mdl, PS5SUG.mdl, PS7SUG.mdl

Page 203: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

203

CVIČENÍ č. 9 Fuzzy regulátor typu PD (Mamdani a Sugeno) určený pro regulaci soustavy 2. řádu a porovnání s klasickým PD regulátorem

Řešený příklad

Řešení této úlohy je vztaženo k soustavě 2.řádu a regulaci pomocí fuzzy PD regulátoru. Požaduje se, aby regulovaný děj byl pokud možno aperiodický (bez překmitu) a aby byl použit regulátor, který má 3,5 a 7 jazykových hodnot u vstupních proměnných i u výstupní proměnné. V rámci řešení je použit Mamdaniho tak i Sugeno model.

Obr.1 Model soustavy 2.řádu s fuzzy PD regulátorem typu Sugeno  

Základní konfigurace systému FLC je nakreslena na obrázku níže. Typy a zapojení jednotlivých bloků odpovídají obecnému expertnímu systému

Obr.2 Blokové schéma FLC systému

Page 204: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

204

Fuzzy pravidlo pro PD regulátor:

IF (e is A) and (De is B) THEN (u is C)

Kde A, B, C jsou příslušné jazykové hodnoty vstupní proměnné e (regulační odchylka) či výstupní proměnné u (akční veličina), reprezentované fuzzy množinami. Operátor D je symbolem změny (derivace).

Výběr typu fuzzy regulátoru závisí, stejně jako v případě regulátoru klasického, na charakteru regulované soustavy a na požadavcích kvality regulace. Tak např. fuzzy PSD regulátor je používán pro procesy vysoce nelineární a nestabilní. Regulační zákon je popsán IF-THEN pravidly řízení, které tvoří regulační model (bázi znalostí) fuzzy regulátoru. Tvar pravidel je dán typem fuzzy regulátoru (P, PD, PS, PDS). Fuzzy PD regulátor typu Sugeno:

Obr.3 Fuzzy PD regulátor typu Sugeno s 7 funkcemi příslušnosti

Page 205: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

205

Obr.4 Vstupní proměnná – regulační odchylka fuzzy PD regulátoru

Obr.5 Vstupní proměnná – změna regulační odchylka fuzzy PD regulátoru

Page 206: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

206

Obr.6 Výstupní proměnná – akční zásah fuzzy PD regulátoru

Průběh regulovaných veličin fuzzy PD a klasického PD regulátoru:

Obr.7 Výstup z regulované soustavy 2. řádu pomocí fuzzy PD regulátoru typu

Sugeno

Page 207: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

207

Obr.8 Výstup z regulované soustavy 2.řádu pomocí klasického PD regulátoru

Postup pro vytvoření fuzzy regulátoru typu PD je součástí animace „Fuzzy

regulátor typu PD (Mamdani a Sugeno) určený pro regulaci soustavy 2. řádu a porovnání s klasickým PD regulátorem“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „PD7MAM.fis, PD5MAM.fis, PD7MAM.fis, PD3SUG.fis, PD5SUG.fis, PD7SUG.fis a PD3MAM.mdl, PD5MAM.mdl, PD7MAM.mdl, PD3SUG.mdl, PD5SUG.mdl, PD7SUG.mdl“, který se otevře v programu Matlab/Simulink.

CD-ROM

...... Program : PD3MAM.fis, PD5MAM.fis, PD7MAM.fis,

PD3SUG.fis, PD5SUG.fis, PD7SUG.fis a PD3MAM.mdl, PD5MAM.mdl, PD7MAM.mdl, PD3SUG.mdl, PD5SUG.mdl, PD7SUG.mdl

Page 208: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

208

CVIČENÍ č. 10 Fuzzy regulátor typu PSD (Mamdani a Sugeno) určený pro regulaci soustavy 2. řádu a porovnání s klasickým PID regulátorem

Řešený příklad

Řešení této úlohy je vztaženo k soustavě 2.řádu a regulaci pomocí fuzzy PSD regulátoru. Požaduje se, aby regulovaný děj byl pokud možno aperiodický (bez překmitu) a aby byl použit regulátor, který má 3,5 a 7 jazykových hodnot u vstupních proměnných i u výstupní proměnné. V rámci řešení je použit Mamdaniho tak i Sugeno model.

Obr.1 Model soustavy 2.řádu s fuzzy PSD regulátorem typu Mamdani  

Základní konfigurace systému FLC je nakreslena na obrázku níže. Typy a zapojení jednotlivých bloků odpovídají obecnému expertnímu systému

Obr.2 Blokové schéma FLC systému

Page 209: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

209

Fuzzy pravidlo pro PSD regulátor:

(e is A) and (De is B) and (D2e is C) THEN (Du is D)

Kde A, B, C a D jsou příslušné jazykové hodnoty vstupní proměnné e (regulační odchylka) či výstupní proměnné u (akční veličina), reprezentované fuzzy množinami. Operátor D je symbolem změny (derivace).

Výběr typu fuzzy regulátoru závisí, stejně jako v případě regulátoru klasického, na charakteru regulované soustavy a na požadavcích kvality regulace. Tak např. fuzzy PSD regulátor je používán pro procesy vysoce nelineární a nestabilní. Regulační zákon je popsán IF-THEN pravidly řízení, které tvoří regulační model (bázi znalostí) fuzzy regulátoru. Tvar pravidel je dán typem fuzzy regulátoru (P, PD, PS, PDS). Fuzzy PSD regulátor typu Mamdani:

Obr.3 Fuzzy PSD regulátor typu Mamdani s 5 funkcemi příslušnosti

Page 210: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

210

Obr.4 Vstupní proměnná – regulační odchylka fuzzy PSD regulátoru

Obr.5 Vstupní proměnná – změna regulační odchylka fuzzy PSD regulátoru

Page 211: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

211

Obr.6 Vstupní proměnná – diference změny regulační odchylka fuzzy PSD

regulátoru

Obr.7 Výstupní proměnná – změna akčního zásahu fuzzy PSD regulátoru

Page 212: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

212

Průběh regulovaných veličin fuzzy PSD a klasického PID regulátoru:

Obr.7 Výstup z regulované soustavy 2. řádu pomocí fuzzy PSD regulátoru

typu Mamdani

Obr.8 Výstup z regulované soustavy 2.řádu pomocí klasického PID

regulátoru

Page 213: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

213

Postup pro vytvoření fuzzy regulátoru typu PSD je součástí animace „Fuzzy regulátor typu PSD (Mamdani a Sugeno) určený pro regulaci soustavy 2. řádu a porovnání s klasickým PID regulátorem“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „PSD3MAM.fis, PSD5MAM.fis, PSD7MAM.fis, PSD3SUG.fis, PSD5SUG.fis, PSD7SUG.fis a PSD3MAM.mdl, PSD5MAM.mdl, PSD7MAM.mdl, PSD3SUG.mdl, PSD5SUG.mdl, PSD7SUG.mdl“, který se otevře v programu Matlab/Simulink.

CD-ROM

...... Program : PSD3MAM.fis, PSD5MAM.fis, PSD7MAM.fis,

PSD3SUG.fis, PSD5SUG.fis, PSD7SUG.fis a PSD3MAM.mdl, PSD5MAM.mdl, PSD7MAM.mdl, PSD3SUG.mdl, PSD5SUG.mdl, PSD7SUG.mdl

Page 214: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

214

CVIČENÍ č. 11 Automatická metoda hledání optimálních parametru fuzzy regulátorů typu PS, PD, PSD (Mamdani a Sugeno) soustav do 2. řádu

Řešený příklad

Fuzzy regulace soustavy 2.řádu pomocí fuzzy PSD regulátoru je řešena pomocí nastavení váhových konstant fuzzy regulátoru. Požaduje se, aby regulovaný děj byl pokud možno aperiodický (bez překmitu) a aby byl použit regulátor, který má 7 jazykových hodnot u vstupních proměnných i u výstupní proměnné. V rámci řešení hledáme optimální nastavení váhových konstant pro model Mamdani pomocí genetického algoritmu.

Obr.1 Model soustavy 2.řádu s fuzzy PSD regulátorem typu Mamdani

Návrh fuzzy PSD regulátoru: Mamdani model regulátoru, který byl vytvořen pomocí Fuzzy Logic Toolboxu v fuzzy editoru, a to v následující podobě.

Obr.2 Fuzzy řízení pomocí fuzzy PSD regulátoru

Page 215: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

215

Ukázka skriptu pro optimální výpočet váhových konstant fuzzy PSD regulátoru: % Vypocet vahovych konstant fuzzy regulatoru typu PSD clear all; VelikostPopulace = 80; % jedinec DolniMez = 0; HorniMez = 1; PocetGeneraci = 20; MaxCasGA = 20; % Nahrani modelu na pozadi simulinku load_system('psd7mam'); % Inicializace genetickeho algoritmu pro vypocet vahovych konstant parametry = gaoptimset('PopulationType','doubleVector',...

'PopInitRange',[DolniMez;HorniMez],'PopulationSize', [VelikostPopulace VelikostPopulace],... 'EliteCount',2,'MigrationDirection','forward', 'MigrationInterval',2,'MutationFcn',@mutationuniform,... 'Generations',PocetGeneraci,'StallTimeLimit',MaxCasGA, 'SelectionFcn',...

@selectiontournament,'CrossoverFcn',@crossoverscattered,'PlotFcns',{@gaplotbestf,@gaplotbestindiv,... @gaplotrange,@gaplotstopping});

% Spusteni genetickeho algoritmu tic; [x,endPop,bPop,traceInfo,final]=ga(@FitnessFunkcePSD7MAM,4,

parametry); toc;

Ukázka skriptu pro výpočet fitness funkce váhových konstant fuzzy regulátoru: % % Ztratova funkce pro vypocet vahovych funkci modelu psd7mam.mdl % function [Ke,Kde,Kdde,Kdu,... plocha_e,plocha_fitness,prekmit_fitness,hodnota_fitness]=

... FitnessFunkcePSD7MAM(vahove_parametry) % nastaveni doby simulace doba_regulace = 100; % nastaveni parametru zesileni PIDPID7MAMx set_param('psd7mam/Ke', 'Gain', num2str(vahove_parametry(1))); set_param('psd7mam/Kde', 'Gain', num2str(vahove_parametry(2))); set_param('psd7mam/Kdde', 'Gain', num2str(vahove_parametry(3)));

Page 216: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

216

set_param('psd7mam/Kdu', 'Gain', num2str(vahove_parametry(4))); Ke = vahove_parametry(1); Kde = vahove_parametry(2); Kdde = vahove_parametry(3); Kdu = vahove_parametry(4); % simulace modelu psd7mam sim('psd7mam', doba_regulace); % fitness funkce pro plocha_e = sum((e).^2); % Pokutovani plochy regulacni odchylky plocha_fitness = 1; if (plocha_e > (doba_regulace * e(1))) plocha_fitness = doba_regulace * e(1); else for i=2:length(y) if ((y(i-1)-y(i))>0.0) plocha_fitness = plocha_fitness+(y(i-1)-y(i))*5; end end end % Pokutovani pokud nastane prekmitu regulovane veliciny if (max(y) > e(1)) prekmit_fitness = 4.0; else prekmit_fitness = 1.0; end % Pokutovani plochy regulace na pozadovanou hodnotu vetsi % nez je plocha pod pozadovanou velicinou if (((doba_regulace * e(1)) + 2) == plocha_e) hodnota_fitness = plocha_e * 50 * prekmit_fitness; else hodnota_fitness = plocha_e * prekmit_fitness; end % Vypocet celkove fitness funkce hodnota_fitness = hodnota_fitness * plocha_fitness; end

Po spuštění skriptu s genetickým algoritmem je hledáno optimální řešení dle omezujících podmínek ve fitness funkci. Celý algoritmus běží, dle výkonu počítače desítky minut, než je nalezeno vhodné řešení, které splňuje kritéria

Page 217: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

217

Výstup s regulované soustavy po naladění váhových konstant pomocí genetického algoritmu fuzzy PSD regulátoru:

Obr.3 Fuzzy řízení soustavy pomocí fuzzy PSD regulátoru

Postup nalezení vhodných váhových konstant pro fuzzy PSD regulátor je součástí animace „Automatická metoda hledání optimálních parametru fuzzy regulátorů typu PS, PD, PSD (Mamdani a Sugeno) soustav do 2. řádu“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „PSD7MAM.fis, FitnessFunkcePSD7MAM.m, GA_Optimalizace_FuzzyRegulatoru_PSD.m, psd7mam.mdl“. „PSD7MAM.fis“ soubor se spouští z příkazového řádku v Matlabu příkazem PSD7MAM a model v Simulinku „psd7mam.mdl“ a vše ostatní se spouští skriptem GA_Optimalizace_FuzzyRegulatoru_PSD.m.

CD-ROM

Program : PSD7MAM.fis,

FitnessFunkcePSD7MAM.m, GA_Optimalizace_FuzzyRegulatoru_PSD.m, psd7mam.mdl

Page 218: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

218

CVIČENÍ č. 12 Řízení náklonu letadla pomoci automatického hledání optimálních parametru fuzzy regulátorů typu PS (Mamdani)

Řešený příklad

Fuzzy regulace náklonu letadla je demonstrována na matematickém modelu popisující jeho chování pomocí diferenciálních rovnic ve stavovém prostoru. Diskrétní regulační obvod řídí náklon letadla v dané ose a daném úhlu natočení letadla. Pro regulaci je zvolen diskrétní nelineární fuzzy regulátor s váhovými konstantami, které jsou počítané ze zvoleného genetického algoritmu. Fuzzy PS regulátor je typu Mamdani a provádí akční zásah na soustavě, která je převedena ze stavového prostoru diskrétní přenosovou funkci. Diskrétní regulační obvod je ukázaný na obrázku č.1

Obr.1 Model diskrétního regulačního obvodu s fuzzy PS regulátorem typu

Mamdani

Obr.2 Model optimálního diskrétního fuzzy PS typu Mamdani

Page 219: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

219

Obr.3 Model letadla popisující jeho natočení a sklon pomocí daných úhlů

během letu, především úhlu Θ

Návrh fuzzy PS regulátoru: Mamdani model regulátoru, který byl vytvořen pomocí Fuzzy Logic Toolboxu v fuzzy editoru, a to v následující podobě. Tento model je tvořen pěti trojúhelníkovými funkcemi příslušnosti, jak pro vstupní tak i výstupní jazykové proměnné

Obr.4 Fuzzy řízení pomocí fuzzy PS regulátoru

Page 220: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

220

Ukázka skriptu pro optimální výpočet váhových konstant fuzzy PSD regulátoru: % Vypocet vahovych konstant fuzzy PS regulatoru typu Mamdani % Pocatecni nastaveni vypoctu parametru doba_regulace = 50; pozadovana_hodnota = 0.2; perioda_vzorkovani = 0.25; metoda_vzorkovani = 'zoh'; VelikostPopulace = 80; DolniMez = 0; HorniMez = 10; PocetGeneraci = 40; MaxCasGA = 2000; Ke = pozadovana_hodnota; Kde = 1; Kdu = 1; vahove_koeficienty = [Ke Kde Kdu]; % Prevod modelu letadla ze stavoveho prostoru na prenosovou funkci A=[-0.313 56.7 0; -0.0139 -0.426 0; 0 56.7 0]; B=[0.232; 0.0203; 0]; C=[0 0 1]; D=0; [a,b] = ss2tf(A,B,C,D); sys_spojity = tf(a,b); % Prevod modelu letadla z spojite oblasti do oblasti diskretni sys_diskretni = c2d(sys_spojity,perioda_vzorkovani,metoda_vzorkovani); % Nahrani modelu na pozadi simulinku load_system('NaklonLetadlaFuzzyRegulator'); % Inicializace genetickeho algoritmu pro vypocet vahovych konstant parametry = gaoptimset('PopulationType','doubleVector',...

'PopInitRange',[DolniMez;HorniMez],'PopulationSize', [VelikostPopulace VelikostPopulace],... 'EliteCount',2,'MigrationDirection','forward', 'MigrationInterval',2,'MutationFcn',@mutationuniform,... 'Generations',PocetGeneraci,'StallTimeLimit',MaxCasGA, 'SelectionFcn',...

@selectiontournament,'CrossoverFcn',@crossoverscattered,'PlotFcns',{@gaplotbestf,@gaplotbestindiv,... @gaplotrange,@gaplotstopping});

% Spusteni genetickeho algoritmu tic; [x,endPop,bPop,traceInfo,Vahy]=

ga(@FitnessFunkceFuzzyStabilizaceNaklonuLetadla,3,parametry);

toc;

Page 221: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

221

Ukázka skriptu pro výpočet fitness funkce váhových konstant fuzzy PS regulátoru: % % Ztratova funkce pro vypocet vahovych funkci modelu NaklonLetadlaFuzzyRegulator.mdl % function [Ke,Kde,Kdu,cas,vystup,... plocha_e,plocha_fitness,prekmit_fitness,hodnota_fitness]=... FitnessFunkceFuzzyStabilizaceNaklonuLetadla(vahove_parametry) % nastaveni doby simulace doba_regulace = 50; % nastaveni parametru zesileni PS fuzzy regulatoru set_param('NaklonLetadlaFuzzyRegulator/Optimalni PS Fuzzy Regulator/Ke',... 'Gain', num2str(vahove_parametry(1)) );

set_param('NaklonLetadlaFuzzyRegulator/Optimalni PS Fuzzy Regulator/Kde',...

'Gain', num2str(vahove_parametry(2)) ); set_param('NaklonLetadlaFuzzyRegulator/Optimalni PS Fuzzy Regulator/Kdu',... 'Gain', num2str(vahove_parametry(3)) ); Ke = vahove_parametry(1); Kde = vahove_parametry(2); Kdu = vahove_parametry(3); % Optimalizace vahovych konstant fuzzy regulatoru [cas] = sim('NaklonLetadlaFuzzyRegulator',doba_regulace); vystup = y; % fitness funkce pro plocha_e = sum((e).^2); % Pokutovani plochy regulacni odchylky plocha_fitness = 1; if (plocha_e > (doba_regulace * e(1))) plocha_fitness = doba_regulace * e(1); else for i=2:length(y) if ((y(i-1)-y(i))>0.0) plocha_fitness = plocha_fitness+(y(i-1)-y(i))*5; end end end % Pokutovani pokud nastane prekmitu regulovane veliciny if (max(y) > e(1)) prekmit_fitness = 4.0; else prekmit_fitness = 1.0; end % Pokutovani plochy regulace na pozadovanou hodnotu vetsi nez je plocha

Page 222: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

222

% plocha pod pozadovanou velicinou if (((doba_regulace * e(1)) + 2) == plocha_e) hodnota_fitness = plocha_e * 50 * prekmit_fitness; else hodnota_fitness = plocha_e * prekmit_fitness; end % Vypocet celkove fitness funkce hodnota_fitness = hodnota_fitness * plocha_fitness; end

Obr.3 Fuzzy řízení soustavy pomocí fuzzy PS regulátoru

Postup nalezení vhodných váhových konstant pro fuzzy PS regulátor je

součástí animace „Řízení náklonu letadla pomoci automatického hledání optimálních parametru fuzzy regulátorů typu PS (Mamdani)“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „fuzzyPScontroler.fis, FitnessFunkceFuzzyStabilizaceNaklonuLetadla.m, FuzzyRegulaceStabilizaceNaklonuLetadla.m,NaklonLetadlaFuzzyRegulator.mdl“. „fuzzyPScontroler.fis“ soubor se spouští z příkazového řádku v Matlabu

Page 223: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

223

příkazem fuzzy fuzzyPScontroler a model v Simulinku „NaklonLetadlaFuzzyRegulator.mdl“ a vše ostatní se spouští skriptem GA FuzzyRegulaceStabilizaceNaklonuLetadla.m.

CD-ROM

Program : fuzzyPScontroler.fis,

FitnessFunkceFuzzyStabilizaceNaklonuLetadla.m, FuzzyRegulaceStabilizaceNaklonuLetadla.m, NaklonLetadlaFuzzyRegulator.mdl

Page 224: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

224

CVIČENÍ č. 13 Fuzzy regulace magneticky levitující kuličky v prostoru virtuální reality

Řešený příklad

Fuzzy regulace magneticky levitující kuličky je klasickou úlohou, která demonstruje řízení objektu v prostoru. V rámci této úlohy budeme pracovat s virtuálním zařízení magneticky levitující kuličky, který plně odpovídá reálnému modelu. Systém je řízen pomocí fuzzy PSD regulátorů, který ovládá magnetickou levitaci a tedy výšku kuličky ve vzduchu. Úloha je zobrazena na obrázku č.1

Obr.1 Virtuální model magneticky levitující kuličky

Obr.2 Model optimálního diskrétního fuzzy PSD typu Sugeno

Page 225: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

225

Obr.3 Model magnetické levitace kuličky v Simulinku Návrh fuzzy PS regulátoru: Mamdani model regulátoru, který byl vytvořen pomocí Fuzzy Logic Toolboxu v fuzzy editoru, a to v následující podobě. Tento model je tvořen pěti trojúhelníkovými funkcemi příslušnosti, jak pro vstupní tak i výstupní jazykové proměnné

Obr.4 Fuzzy řízení pomocí adaptivního fuzzy PSD regulátoru

Page 226: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

226

Ukázka skriptu pro optimální výpočet váhových konstant fuzzy PSD regulátoru: % Pocatecni nastaveni vypoctu parametru Ts = 0.001; doba_regulace = 2; pozadovana_hodnota = 0.5; perioda_vzorkovani = 0.001; metoda_vzorkovani = 'zoh'; VelikostPopulace = 100; DolniMez = 0; HorniMez = 1; PocetGeneraci = 50; MaxCasGA = 2500; Ke = pozadovana_hodnota; Kde = 1; Kdde = 1; Kdu = 1; vahove_koeficienty = [Ke Kde Kdde Kdu]; % Nahrani modelu na pozadi simulinku load_system('MagnetickaLevitaceKulicka'); % Inicializace genetickeho algoritmu pro vypocet vahovych konstant parametry = gaoptimset('PopulationType','doubleVector',...

'PopInitRange',[DolniMez;HorniMez],'PopulationSize', [VelikostPopulace VelikostPopulace],... 'EliteCount',2,'MigrationDirection','forward', 'MigrationInterval',2,'MutationFcn',@mutationuniform,... 'Generations',PocetGeneraci,'StallTimeLimit',MaxCasGA, 'SelectionFcn',...

@selectiontournament,'CrossoverFcn',@crossoverscattered,'PlotFcns',{@gaplotbestf,@gaplotbestindiv,... @gaplotrange,@gaplotstopping});

% Spusteni genetickeho algoritmu tic; [x,endPop,bPop,traceInfo,Vahy]=ga(@FitnessFunkceMagnetickaLevitace,4

,parametry); toc;

Genetický algoritmus prohledává vhodná řešení pro optimální nastavení váhových konstant a adaptivní algoritmus přizpůsobuje řešení aktuálním parametrům řešení úlohy na daných rozsazích. Magneticky levitující kulička se ovládá pomocí napěťově řízeného výstupu, který určuje aktuální polohu levitující kuličky, jak je ukázáno na obrázku č.3

Page 227: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení

227

Obr.5 Výstup pozice magneticky levitující kuličky

Postup pro nalezení vhodných váhových konstant pro fuzzy PSD regulátor je

součástí animace „Fuzzy regulace magneticky levitující kuličky v prostoru virtuální reality“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí Matlab a využívá Fuzzy Logic Toolbox Graphical User Interface Tools (uživatelské prostředí pro fuzzy návrh). Součásti podkladů pro cvičení je také program „FuzzyRegulacePSDSugeno.fis, FuzzyRegulaceMagnetickaLevitace.m, FitnessFunkceMagnetickaLevitace.m, a MagnetickaLevitaceKulickaFuzzy.mdl“. „FuzzyRegulacePSDSugeno.fis“ soubor se spouští z příkazového řádku v Matlabu příkazem fuzzy FuzzyRegulacePSDSugeno a model v Simulinku „MagnetickaLevitaceKulickaFuzzy.mdl“ a vše ostatní se spouští skriptem GA FuzzyRegulaceMagnetickaLevitace.m.

CD-ROM

Program : FuzzyRegulacePSDSugeno.fis,

FuzzyRegulaceMagnetickaLevitace.m, FitnessFunkceMagnetickaLevitace.m, a MagnetickaLevitaceKulickaFuzzy.mdl

Page 228: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

Podklady pro cvičení – Znalostní systémy řízení

228

CVIČENÍ č. 14 Expertní systém určený pro fuzzy regulaci teploty v místnosti v programovacím jazyku C#

Řešený příklad

Předkládaný příklad prezentuje využití fuzzy mechanismů v rámci programovacího jazyka C#. Na základě úlohy, která reguluje teplotu v místnosti, pomocí fuzzy principů, řídíme klimatizaci. V příkladu je ukázáno využití fuzzy grafických knihoven, které usnadňují programování.

 

Obr.1 Aplikace pro fuzzy řízení klimatizace v jazyce C#

Obr.2 Struktura fuzzy knihovny v programovacím jazyku C#

Page 229: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

Podklady pro cvičení – Znalostní systémy řízení

229

Obr.3 Ukázka zdrojového kódu pro regulaci teploty klimatizace

Obr.4 Ukázka zdrojového kódu pro vytvoření funkcí příslušnosti

Ve výše uvedeném kódu, byl vytvořen fuzzy expertní systém pro regulaci teploty v místnosti, pomocí fuzzy frameworku v jazyku C#.

Page 230: Znalostní systémy řizení - rc112.vsb.czrc112.vsb.cz/nowakova/materials/zsr/ZSR.pdf · VÍCEHODNOTOVÁ LOGIKA A JAZYKOVÉ MODELY 4.1 Základy fuzzy logiky 4.2 Fuzzy-logické jazykové

Podklady pro cvičení – Znalostní systémy řízení

230

Postup vytvoření projektu ve MS Visual Studio a práce s program je součástí animace „Fuzzy Expertní systém určený pro fuzzy regulaci teploty v místnosti v programovacím jazyku C#“, která je přiložena na CD-ROM. Tento návrh aplikace je vytvořen v prostředí MS Visual Studio #C a využívá sdílené zkompilované Fuzzy knihovny, které lze použít i v jiných aplikacích (FuzzyFramework.Graphics.dll, FuzzyFramework.dll, PolyLib.dll). Součásti podkladů pro cvičení je také program „FuzzyRegulaceTeploty.exe“, ve tvaru grafické konzolové aplikace.

CD-ROM

...... Program : FuzzyRegulaceTeploty.exe,

FuzzyFramework.Graphics.dll, FuzzyFramework.dll, PolyLib.dll


Recommended