znalostní systémy řízení

Transkript

znalostní systémy řízení
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
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ
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
2
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ - Obsah
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
3
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ - Obsah
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.
Takagi‐Sugeno)
stupňové
automatické
převodovky
(Model
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#
4
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Pokyny pro studium
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:
5
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Pokyny pro studium
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
6
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Úvod
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 analytickostatistický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í
7
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Úvod
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 matematickoanalytické 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.
8
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Úvod
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.
9
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence
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
10
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence
možnost takového jevu J jako M ( J ) ∈ 0,1
a pravděpodobnost takového jevu
jako N ( J ) ∈ 0,1 , potom mezi jejich hodnotami musí platit vztah
M (J ) ≥ N (J ) .
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í.
11
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence
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].
12
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence
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.
v(t)
ω(t)
+
e(t)
Fuzzy regulátor
u(t)
Regulovaná
soustava
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.
y(t)
e(t)
ω(t)
+
e(t)
Dohlížecí expertní
systém
u(t)
PID
u(t)
-
Obr.2
13
v(t)
Regulovaná
soustava
y(t)
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence
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í.
14
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence
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!
15
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Automatická regulace a umělá inteligence
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 80200-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
16
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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
17
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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
A = (X , μ A )
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}.
18
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
A(x)
1
hgt A
A(x0)
Ax
0
a
x
0
b
ker A
C (A)
supp A
c
d
x
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
hgtA = sup A(x ) ;
x∈ X
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 = {x ∈ X / A( x ) ≠ 0}.
e) α - řezem fuzzy množiny Ax nazveme množinu Cα ( A) = {x ∈ X / A( x ) ≥ α } ; α řezy jsou zajímavé tím, že pomocí nich (jako klasických množin) lze vyjádřit
fuzzy množinu vztahem
Ax = ∫ α ⋅ Cα ( A) ;
f) Jádrem fuzzy množiny Ax nazveme množinu ker A = {x ∈ X / A( x ) = 1} .
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 μ A (x) resp. μ B (x) ∈ 0,1 .
19
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
Operace sjednocení
Sjednocením dvou fuzzy množin A a B nazýváme fuzzy množinu C = A ∪ B , jejíž
funkci příslušnosti určíme podle vztahu
C ( x) = A( x) ∨ B( x) = max[A( x), B( x)] , x ∪ U .
x
(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
C ( x) = A( x) ⊕ B( x) = 1 ∨ ( A( x) + B( x)) , x ∪ U .
(3.1.2)
Operace průnik
Sjednocením dvou fuzzy množin A a B nazýváme fuzzy množinu C = A ∩ B , jejíž
funkci příslušnosti určíme podle vztahu
C ( x) = A( x) ∧ B( x) = min[A( x), B( x)], x ∪ U .
x
(.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
C ( x) = A( x) ⊗ B( x) = 0 ∨ ( A( x) + B( x) − 1) , x ∪ U
(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)
A ( x) = 1 − A( x) , x ∪ U .
Inkluze fuzzy množin
Inkluzí fuzzy množin Ax = [X , A( x )] , Bx = [ X , B( x )] nazveme stav, kdy
A( x ) ≤ B ( x )
(3.1.6)
pro všechna x ∈ X (Ax je podmnožinou Bx).
Rovnost fuzzy množin
Rovností fuzzy množin Ax = [X , A( x )] , Bx = [ X , B( x )] nazveme stav, kdy
20
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
A(x) = B(x)
(3.1.7)
pro všechna x ∈ X .
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)
T(x, T(y,z)) = T( T(x,y), z)
jestliže x ≤ y, pak T(x,z) ≤ T(y,z)
T (0,x) = 0 a T(1,x) = x
komutativnost
asociativnost
monotónnost
omezenost
Platí,že t-normy mohou být spojité i nespojité. Základní t-normy jsou:
M ( x, y ) = x ∧ y = min( x, y )
obyčejná (minimum) konjunkce
P ( x, y ) = x. y
Larsenova konjunkce
T∞ ( x, y ) = 0 ∨ ( x + y − 1)
Lukasiewiczova konjunkce
W ( x, y ) = x ∧ y , → x ∨ y = 1
0
jinak
drastický součin
Pro jednotlivé t-normy platí vztah uspořádání
W ( x , y ) ≤ T( x , y ) ≤ M ( x , y ) .
Drastický součin dává tedy nejmenší a minimum největší hodnotu mezi všemi tnormami.
Prakticky významné je, že pomocí t-norem se pak definují operace, realizující
ve fuzzy systémech průnik fuzzy množin
C = A ∩T B ,
právě když
C ( x) = T( A( x), B( x) ).
21
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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 (snorem). Vztahy mezi t-normami a s-normami můžeme vyjádřit pomocí výrazu
S( x, y ) = 1 − T(1 − x), (1 − y )
Základní t-konormy odpovídají základním t-normám a jsou vyjádřeny vztahy
N ( x, y ) = x ∨ y = max( x, y )
obyčejná (maximum) disjunkce
Q( x, y ) = x + y - x. y
Larsenova disjunkce
T∞ ( x, y ) = 0 ∨ ( x + y − 1)
Lukasiewiczova disjunkce
W ( x, y ) = x ∨ y , → x ∧ y = 0
1
jinak
drastický součet
Pro jednotlivé t-konormy platí vztah uspořádání
N ( x, y ) ≤ S ( x, y ) ≤ V ( x, y ) .
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
C = A ∪S B ,
právě když
C ( x) = S( A( x), B( x) ).
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 A ⊆ U , B ⊆ V fuzzy množiny, pak jejich kartézským součinem je fuzzy
množina A × B ⊆ U × V definovaná jako
( A × B )( x, y ) = A( x) ∧ B ( y )
pro všechna x∈ U a y∈ V. Symbol x, y 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
( A ×T B )( x, y ) = A( x)TB ( y ) .
22
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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.
R ⊆ U 1 × ... × U n .
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
definována vztahem
S
je
μ R ∩ S ( x, y ) = min (μ R ( x, y ), μ S ( x, y ))
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
μ R ∪ S ( x, y ) = max(μ R ( x, y ), μ S ( x, y ))
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
proj R na Y = ∫ sup μ R ( x, y ) / y
Y ∀x
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).
23
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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
cyl (F ) =
∫ μ ( y ) / ( x, y )
F
X ×Y
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í
B = A o R = proj (cyl ( A) ∩ R ) na Y
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
μ B ( y ) = max min (μ A ( x ), μ R (x, y ))
∀x
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
24
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
μ B ( y ) = max(μ A ( x ) ⋅ μ R ( x, y ))
∀x
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 0,1 .
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í tniormy (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!
25
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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-730009-1
[2] Novák, V.: Fuzzy množiny a jejich aplikace, SNTL Praha, 1992. ISBN 8003-00325-3
[3] Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996.
ISBN 80-901984-4-9
26
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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.
μA(u)
A
1
0
u1
u2
Obr.3.2.1
27
u
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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ří.
μF(u
F
1
0
u3
u2
u1
u4
u
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].
μF(
F
1
⎧0
⎪
Γ (u, a, b ) = ⎨(u − a )/ (b − a )
⎪1
⎩
0
a
b
u
Obr.3.2.3
28
u<a
a≤u≤b
u>b
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
μF(u)
F
1
⎧1
⎪
L(u, a, b ) = ⎨(b − u )/ (b − a )
⎪0
⎩
0
a
u<a
a≤u≤b
u>b
u
b
Obr.3.2.4
μF(u)
F
1
⎧0
⎪(u − a )/ (b − a )
⎪
Λ (u, a, b, c ) = ⎨
⎪(c − u )/ (c − b )
⎪⎩0
0
a
b
c
u<a
a≤u≤b
b≤u≤c
u>c
u
Obr.3.2.5
μF(u
F
1
0
a
b
⎧0
⎪(u − a )/ (b − a )
⎪⎪
Π(u, a, b, c, d ) = ⎨1
⎪(d − u )/ (c − d )
⎪
⎪⎩0
c
d
Obr.3.2.6
29
u
u<a
a≤u≤b
b≤u≤c
c≤u≤d
u>d
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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].
μF(
F
1
u≤a
⎧0
⎪
2
2
a<u≤b
⎪2(u − a ) / (c − a )
S(u, a, c ) = ⎨
2
2
⎪1 − 2(u − c ) / (c − a ) b < u ≤ c
⎪1
u>c
⎩
0,5
0
a
b
u
c
Obr.3.2.7
30
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
μF(
F
1
⎧S(u, c − b, c )
Π (u, b, c ) = ⎨
⎩1 − S(u, c, c + b )
0,5
0
c-
c
c+
u≤c
u≥b
u
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).
31
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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.
32
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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“.
33
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
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)
34
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Základy fuzzy množinové teorie
Další zdroje
[1] Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300009-1
[2] Novák, V.: Fuzzy množiny a jejich aplikace, SNTL Praha, 1992. ISBN 8003-00325-3
35
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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.
36
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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 0,1 . Označme množinu fuzzy logických spojek
[1]
S = {and, or, &, =>}
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)
2)
jestliže x ∈ D , pak x je formule;
jestliže π ∈ 0,1 , 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é π ∈ 0,1 ;
2) V (ΘandΓ ) = min (V (Θ ), V (Γ ))
3) V (ΘorΓ ) = max (V (Θ ), V (Γ ))
4) V (Θ & Γ ) = max(0;V (Θ ) + V (Γ ) − 1)
5) V (Θ ⇒ Γ ) = min (1;1 − V (Θ ) + V (Γ ))
6) V (Θ ⇒ Γ ) = min (V (Θ ), V (Γ ))
pro každé dvě formule
pro každé dvě formule
pro každé dvě formule
pro každé dvě formule
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
p : (P, T (P ), U , G, M ) ,
37
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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
H S r = [R, H S (r )], r ∈ R .
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Á
h2: STŘEDNÍ
h3: VYSOKÁ
→ H1v
→ H2v
→ 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
38
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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
H S r = [R, H S (r )]
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 (0,1) 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 = (a s , d s ) , kerHs = b s , c s
Nyní definujme funkci příslušnosti Hsr takto:
H S (r ) =
r − aS
, a S < r < bS ;
bS − a S
H S (r ) =
r − dS
, cS < r < d S ;
cS − d S
H S (r ) = 1, bS ≤ r ≤ c S ;
H S (r ) = 0, d S ≤ r ≤ a S .
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.
výrok se stupněm pravdivosti a ∈ <0,1> a ψ výrok se stupněm
Je-li ϕ
pravdivosti b ∈ <0,1>, pak v případě stupeň pravdivosti fuzzy konjunkce obou výroků
platí ϕ a současně ψ
39
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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
algebraický součin
omezený průnik
odvážný průnik
x ∧ u = min[x, u ]
x ⋅ u = xu
x u = max[0, x + u − 1]
x
⎧x
⎪
u = ⎨u
⎪0
⎩
u =1
x =1
x, u < 0
jsou příklady operací triangulární normy (t/normy), zatímco operace
sjednocení
algebraický součet
omezený součet
x ∨ u = max[x, u ]
x + u = x + u − xu
x u = min[1, x + u ]
odvážný součet
x
rozpojený součet
x
u=0
⎧x
⎪
u = ⎨u
x=0
⎪1
x, u > 0
⎩
u = max[min ( x,1 − u ), min (1 − x, u )]
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
p → q = (not p ) or q
(4.1.1)
p → q = (p and q) or (not p)
(4.1.2)
nebo
40
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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í.
Rb = cyl ( A′) ∪ cyl (B ) =
∫ max(1 − μ (x ), μ ( y )) / (x, y )
A
B
X ×Y
μ R ( x, y ) = max(1 − μ A ( x ), μ B ( y ))
b
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í.
Ra = cyl ( A′) ⊕ ce(B ) =
∫ min(1,1 − μ (x ) + μ ( y )) / (x, y )
A
B
X ×Y
μ R ( x, y ) = min (1,1 − μ A (x ) + μ B ( y ))
a
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.
Rm = (cyl ( A) ∩ cyl (B )) ∪ cyl ( A′) =
∫ max(min(μ (x ), μ ( y )),1 − μ (x )) / (x, y )
A
X ×Y
B
μ R ( x, y ) = max(min (μ A ( x ), μ B ( y )),1 − μ A ( x ))
m
Implikace Larsenova
41
A
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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í
R p = cyl ( A) ∩ cyl (B ) =
∫ μ (x ) ⋅μ (x ) / (x, y )
A
B
X ×Y
μ R ( x, y ) = μ A ( x ) ⋅ μ B ( y )
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.
Rc = cyl ( A) ∩ cyl (B ) =
∫ min(μ (x ), μ ( y )) / (x, y )
A
B
X ×Y
μ R ( x, y ) = min (μ A ( x ), μ B ( y ))
c
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
42
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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 ?
43
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
Ú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]
[2]
[3]
[4]
[5]
Druckmüller,M.: Technicky orientované lingvistické modely reálných funkcí
více proměnných, VUT Brno, KOVS, sv. B-119, 1988
Zadeh,L.A.: The Role of Fuzzy Logic in the Management of Uncertainty in
Expert Systems, Fuzzy Sets and Systems, 11, 1983
Mamdani,A., Gaines,B.R.: Fuzzy Reasoning and Its Applications, Academic
Press, New York, 1981
Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300-009-1
Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996. I
SBN 80-901984-4-9
44
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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 V (.) ∈ 0,1 . 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
45
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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 [Γ( x1 )andΓ( x2 )and ...andΓ( xn )] 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
46
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
IF [Γ11 (x1 )andΓ21 ( x 2 )and ...andΓn1 ( x n )] THEN [Ω1 ( y )]
and
IF [Γ12 ( x1 )andΓ22 ( x 2 )and ...andΓn 2 ( x n )] THEN [Ω 2 ( y )]
and
.
.
.
and
IF [Γ1m ( x1 )andΓ2 m ( x 2 )and ...andΓnm ( x n )] THEN [Ω m ( y )]
zatímco model disjunktivní má za stejných podmínek tvar
IF [Γ11 (x1 )andΓ21 ( x 2 )and ...andΓn1 ( x n )] THEN [Ω1 ( y )]
or
IF [Γ12 ( x1 )andΓ22 ( x 2 )and ...andΓn 2 ( x n )] THEN [Ω 2 ( y )]
or
.
.
.
or
IF [Γ1m ( x1 )andΓ2 m ( x 2 )and ...andΓnm ( x n )] THEN [Ω m ( y )]
Pro fuzzy logické spojení pravidel modelu můžeme použít kteroukoliv funkci tkonormy 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.
47
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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 μ R ( x, y ) .
Definujme průnik cylindrického rozšíření A na R(x,y) – viz Obr. 4.2.1, černé pole.
μ cylA∩ R ( x, y ) = μ cylcylA ( x) ∩ μ R ( x, y ) = μ A ( x) ∩ μ R ( x, y )
Provedeme-li projekci výsledného průniku do osy y, dostaneme pro funkci
příslušnosti fuzzy množiny B
μ B ( y ) = ∪ x μ A ( x ) ∩ μ R ( x, y )
Budeme-li interpretovat sjednocení jako maximum a průnik jako minimum,
dostaneme vztah
μ B ( y ) = max min[μ A ( x), μ R ( x, y )]
x
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
B = Ao 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:
R2:
IF(x1 is MALÝ) and (x2 is VELKÝ) THEN (y is MALÝ)
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.
48
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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.
49
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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í.
50
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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-7300009-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..
51
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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)
U = U1 × U 2
a G je fuzzy relace na univerzu (kartézském součinu)
V = U 2 ×U 3 .
Potom kompozice
FoG
je fuzzy relace na univerzu
U1 × U 3 ,
pro jejíž funkci příslušnosti platí
52
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
(FoG )(u1 , u 3 ) = max
[min(F (u1 , u 2 ), G (u 2 , u3 ))] .
u ∈U
2
2
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]
⎛
⎛
⎞⎞
B( y ) = sup⎜ min⎜ min (A j (u j )), max⎛⎜ min⎛⎜ min (Arj (u j ), Br ( y ))⎞⎟ ⎞⎟ ⎟ ⎟
1
<
<
1
<
<
j
n
j
n
1
<
<
r
m
⎝
⎠⎠⎠⎠
⎝
u∈U ⎝
⎝
(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
R2: x is Bu
(4.3.2)
53
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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
Cons (R1 , R2 ) = Cons ( Au, Bu ) = Sup[ A(u ) × B(u )]
(4.3.3)
u∈U
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]
B( y ) = max⎛⎜ min⎛⎜ Br ( y ), min (Cons (A j x, Arj x ))⎞⎟ ⎞⎟ .
1< j < n
1< r < m ⎝
⎝
⎠⎠
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“x10“ = Ax10 a „asi“x20 = Ax20.
Použijeme implikační funkci typu t-norma pro operaci „průnik“ s použitím
Mamdaniho relace:
Ax → Bu = Ax × Bu = ∫
X ×U
A( x ) ∧ B (u ) / ( x, u )
Zaveďme označení, týkající se r-tého pravidla, r = 1, 2, ..., m:
g1 = Cons [Ax10, Ar1x1]
g2 = Cons [Ax20, 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
54
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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
m
m
r =1
r =1
Rc : Bu = U B gr u = U [g r × Br u ],
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:
Premisa:
Závěr:
Jestliže je rajské jablíčko červené pak je zralé
Jablíčko je velmi červené
Jablíčko je velmi zralé
Podmínka:
Premisa:
Závěr:
Jestliže x je A pak y je B
x je Am
y je Bm
tedy
(4.3.5)
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
55
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
Bm = Am o R = proj(cyl ( Am ) ∩ R ) na Y
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
μ B ( y ) = sup{min[μ A ( x ), μ R (x, y )]}
2
(4.3.6)
2
x
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.
B1
Bm
A1
Am
R
Y
y
X
x
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í
μ B = {min[μ A (x∗ ), μ R (x∗ , y )]} = μ R (x∗ , y )
2
1
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.
56
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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 = Ax ⋅ Bu = ∫
X ×U
A( x ) ⋅ B(u ) / ( x, u )
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
m
R p : Bu = U [g r ⋅ Br u ]
r =1
Proces vyvozování je ilustrován na Obr.4.3.2. Rozdíl oproti metodě Mamdani je
zřejmý.
57
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
A(x2)
A(x1)
Ax10
A11x1
B(u)
Ax20
A12x2
B1u
g12
g11
B1
x1
A(x2)
A(x1)
Ax10
B(u)
Ax20
A22x2
A21x1
u
x2
B0(u)
B1u
B2u
B2u
g22
g21
B2
x10
x1
x20
x2
u
u
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í
uo =
g1u1 + g 2 u 2
g1 + g 2
jak ukazuje Obr. 4.3.3. Vstupní hodnoty x10, x20 jsou uvažovány jako obyčejná (crisp)
čísla.
Obr. 4.3.3
58
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
Ř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
B 0 ( y ) = R o A( x 0j )
kde B 0 ( y ) je vyvozená (výstupní, globální) hodnota z modelu R, R je Mamdaniho
pravidlový fuzzy model, o je fuzzy relace kompozice a A( x 0j ) je vektor aktuálních
hodnot vstupních proměnných (dotaz), j = 1 ,…, n.
Tvar r-tého pravidla Mamdaniho fuzzy modelu
IF [ x1 is Ar ( x1 ) and x 2 is Ar ( x 2 ) and … and x n is Ar ( x n ) ] THEN [ y is Br ( y ) ]
2. Pravdivostní hodnota j-tého dílčího fuzzy tvrzení o velikosti j-té vstupní proměnné
xj v r-tém pravidle
μ r , j = max { min [ A( x 0j ), Ar ( x j ) ] = Cons [ A( x 0j ), Ar ( x j ) ] }
xj
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
μ r = min { μ r , j } = min { Cons [ A( x 0j ), Ar ( x j ) ]}
j
j
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)
Br0 ( y ) = min { μ r , Br ( y ) } = min { min { Cons [ A( x 0j ), Ar ( x j ) ], Br ( y ) }}
y
y
j
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)
B 0 ( y ) = max
y
{ B ( y) } = max { min { min { Cons [ A( x ), A ( x ) ],
0
r
y
y
j
59
0
j
r
j
B r ( y ) }}
}
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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: A1SNÍŽENÁ, A2 - ZVÝŠENÁ, výstupní proměnná má jazykové hodnoty: B1-
60
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Vícehodnotová logika a jazykové modely
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..
61
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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ě;
62
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
-
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 [Γ( x1 )andΓ( x2 )and ...andΓ( xn )],
(4.4.1)
která je složena z konjunkce dílčích n jednoduchých tvrzení, tedy
(4.4.2)
(x1 is A1x1) and (x2 is A2x2) and ... and (xn is Anxn).
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) V ( j ) , platí pro
velikost pravdivostní hodnoty dílčího tvrzení V ( j ) vzhledem k dotazu ADjxj vztah
konzistence Cons tvrzení a dotazu:
[
V ( j ) = Cons (A j x j , ADj x j ) = Sup A j x j × ADj x j
x∈ X
]
Jelikož jednotlivá dílčí tvrzení premisy jsou spojena vztahem konjunkce (and), je
pravdivostní hodnota premisy r-tého pravidla V (r ) dána výrazem
V (r ) ) = V (1) and V (2) and ... and V (n ) = min V ( j ) , 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 V (r ) 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.
63
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
Předpokládejme, že byl položen bodový dotaz (x01, x02, ..., x0n) a model má m
pravidel. Stanovení pravdivostních hodnot V ( j ) 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 V ( j ) 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
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}
64
(4.4.3)
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 xj0), uvedený na Obr. 4.4.4.
Obr. 4.4.4
Bodový dotaz je tvořen obyčejnou (crisp) hodnotou xj0 vstupní nezávisle proměnné xj.
Tento dotaz je typický pro dosazení hodnoty v on-line fuzzy systémech. Hodnota xj0
však může být explicitně předepsaným způsobem fuzifikována do formy
trojúhelníkového fuzzy čísla „asi xj0“ (fuzzy singleton), čímž dostaneme typ dotazu ad
3), viz dále.
2. Dotaz lingvistickou hodnotou: (xj is Ajxj), uvedený na Obr. 4.4.5.
65
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 xj0“ 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.
B 0 ( y) =
UB
r
0
r
( y ) = max
y
{ B ( y) }
0
r
66
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
Ú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
μ r = min { μ r , j } = min { Cons [ A( x 0j ), Ar ( x j ) ]}
j
j
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 V (r j ) jednotlivých dílčích tvrzení jeho premisy. Jestliže alespoň pro jedno j
platí
V (r j ) = 0 ,
potom
g r = V (r ) = V (r1 ) ∧ V (r2 ) ∧ ... ∧ V (r j ) ∧ ... ∧ V (rn ) = 0
a takové r-té pravidlo je vyloučeno z účasti na tvorbě odpovědi Boy. Pravidla, pro něž
platí
V (r ) = g r > 0
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.
67
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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
[V (r ) = 0] k dosažení stavu
V (r ) > 0 .
Metoda roztahování dotazu je znázorněna na Obr. 4.4.7.
A(xj)
AD(xj)
ADxj0
Axj
1
AD3xj0
AD2xj0
AD1xj0
h
a a a a a a
xj0
0
xj
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
(
)
V ( j ) = Cons (RDj , R j ) = Cons x j , Ax j .
0
Podle Obr. 4.4.7 je ve výchozím stavu tato hodnota
V (R j ) = 0 .
Chceme-li dosáhnout stavu
V (R j ) > 0 ,
(4.4.4)
s použitím metody roztahování dotazu to znamená změnit obyčejné číslo xj0 na fuzzy
číslo „asi xj0“, reprezentované trojúhelníkovou fuzzy množinou ADxj. Tento krok je
nazýván fuzzifikací dotazu.
68
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 xj0“ 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 = xj0;
(
V (R j )0 = Cons Ax j , x j
1. krok roztažení:
0
)= 0 ⇒ h = 0;
xj = „asi xj0“ → AD1xj0;
(
V (R j )1 = Cons Ax j , AD1 x j
2. krok roztažení:
0
AD1xj0 → AD2xj0
(
V (R j )2 = Cons Ax j , AD 2 x j
3. krok roztažení:
)= 0 ;
0
)= 0;
AD2xj0 → AD3xj0
(
)
V (R j )3 = Cons Ax j , AD 3 x j ⇒ h > 0 ;
0
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 ) ⋅ du .
U
69
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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
u
∗
∫
=
U
l
u ⋅ μ (u ) ⋅ du
∗
u =
∫ μ (u )⋅ du
U
∑ u ⋅ μ (u )
i
i =1
i
l
∑ μ (u )
i =1
i
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
NB
NM
NS
ZO
PS
PM
PB
u
0
u*
Obr. 4.4.8
1
0
NB
NM
NS
ZO
PS
PM
PB
u
u1
u2
u3
u4
u5
u*
Obr.4.4.9
70
u6
u7
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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
u∗ =
∫
n
U
l
u ⋅ ∑ μ k (u ) ⋅ du
u∗ =
k =1
n
∫ ∑ μ (u )⋅ du
U
k =1
k
n
∑ ui ⋅ ∑ μk (ui )
i =1
k =1
l
∑∑ μ (u )
i =1 k =1
kde k je indexová proměnná čísla pravidla a
odpovídají obrázky Obr.4.4.10 a Obr.4.4.11.
1
NB
n
NM
NS
ZO
PS
k
i
n je počet pravidel. Této metodě
PM
PB
u
0
u*
Obr. 4.4.10
Obr. 4.4.11
71
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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
u∗ =
∑ c( ) ⋅ f
k
k =1
k
n
∑f
k =1
k
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:
u ∗ = inf {u ∈ U u / μU (u ) = hgt (U )}
u∈U u
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:
u ∗ = sup{u ∈ U u / μU (u ) = hgt (U )}
u∈U u
Grafické znázornění této metody je na Obr.4.4.12 a Obr.4.4.13.
1
NB
NM
NS
ZO
PS
PM
PB
hgt(U)
u
0
u*
Obr.4.4.12
72
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
1
NB
NM
NS
ZO
PS
PM
PB
hgt(U)
u
0
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 ?
73
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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
74
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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.
75
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
v(t)
ω(t)
+
e(t)
Fuzzy regulátor
u(t)
Regulovaná
soustava
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;
76
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
-
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
e(iT ) = y (iT ) − w(iT )
první diferenci reg. odchylky
Δe(iT ) = e(iT ) − e[(i − 1)T ]
druhou diferenci reg. odchylky
Δ2 e(iT ) = Δe(iT ) = Δe[(i − 1)T ]
Proporcionální regulátor (P) je pak určen funkcí
u (iT ) = K P [e(iT )]
Proporcionálně-diferenční regulátor (PD) je určen funkcí odchylky a její první
diference
u (iT ) = K PD [e(iT ), Δe(iT )]
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í
Δu (iT ) = K PS [e(iT ), Δe(iT )]
Proporcionálně-sumačně-diferenční regulátor (PSD) je funkcí odchylky, její první i
druhé diference
77
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
[
]
Δu (iT ) = K PSD e(iT ), Δe(iT ), Δ2 e(iT )
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
78
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
-
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
Fuzzy
Crisp
Měření
Defuzzifikace
Rozhodovací
logika
Proces
Fuzzy
Crisp
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ě
79
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
-
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
80
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
I=
mL3
3
Ie&& = VL sin e − HL cos e
(
&& + mL(&e& cos e − e
H = mw
)
sin e )
V − mg = mL e&& sin e + e 2 cos e
2
&&
V − H = Mw
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
Z
PN
ZM
PN
Δe
ZM
ZV
K
KM
KV
PN
PN
PN
KV
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
KV
ZV
ZS
ZM
KM
KS
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
81
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
Pravidla předpokládají následující jazykové hodnoty svých proměnných:
ZV
ZS
ZM
PN
KM
KS
KV
záporná velká
záporná střední
záporná malá
nulová
kladná malá
kladná střední
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.
82
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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.
83
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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. 80214- 2261-0
[7] Novák, V.: Základy fuzzy modelování, BEN Praha, 2000. ISBN 80-7300-009-1
84
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 xj0 a nulovou šířkou fuzzy intervalu. Operátor
fuzifikace fuzz
( )
Ax j = fuzz x j
0
interpretuje vstup xj0 jako fuzzy množinu Axj s funkcí příslušnosti A(xj) rovnou
nule kromě bodu xj0, 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 xj0 je opět jednoprvkovým jádrem
85
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 xj0. 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á.
86
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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.
87
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 (i1) 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
88
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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.
89
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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
antecendent 2:
IF x is Ax THEN u is Bu
-------------------------------------------------------konsekvent:
u is Bou
(dotaz)
(model)
(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]:
90
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 x ∈ X a u ∈ U vztahem
Ax → Bu = Ax × Bu = ∫ Ax * Bu / x, u
X ×U
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 = Ax + Bu = ∫
X ×U
Ax + Bu / x, u
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
Rc = Ax × Bu = ∫
X ×U
A( x ) ∧ B (u ) / ( x, u )
Larsenova relace
R p = Ax ⋅ Bu = ∫
X ×U
A( x ) ⋅ B(u ) / (x, u )
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.
91
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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.
92
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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]
93
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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 nvstupní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
94
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy regulační systémy
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-54040294-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
95
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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
96
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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:
a < x ≤ 0 , pak y = y1 = k 01 + k1 x
a ≤ x < ∞ , pak y = y 2 = k 02 + k 2 x
Výhodou aproximace je náhrada nelineární závislosti
subzávislostmi, nelineární systém je tedy rozložen do
lineárních.Nevýhody takové aproximace jsou však tyto:
dvěma lineárními
dvou subsystémů
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é a < x ≤ 0 a a ≤ x < ∞ 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 TakagiSugeno [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
y * = g ( y1* , y 2* )
Hodnoty výstupů jednotlivých pravidel vypočítáme z regresních rovnic
y1* = k 01 + k1 x *
y 2* = k 02 + k 2 x *
97
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
Agregační funkce g(*) je funkcí váženého součtu s váhami w1 , w2
w1 y1* + w2 y 2*
y =
w1 + w2
*
(6.1.1)
Váhové koeficienty w1 , w2 jsou pravdivostní hodnoty fuzzy tvrzení o velikosti vstupní
proměnné x v antecedentech pravidel pro x = x*, tedy
w1 = μ Mx ( x * )
w2 = μVx ( x * )
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
R1 :
IF ( x1 is A11 ) and ( x 2 is A12 ) and … and ( x n is A1n )
THEN y1 = k 01 + k11 x1 + k12 x 2 + ... + k1n x n
R2 :
IF ( x1 is A21 ) and ( x 2 is A22 ) and … and ( x n is A2 n )
THEN y 2 = k 02 + k 21 x1 + k 22 x 2 + ... + k 2 n x n
.
.
.
RR :
IF ( x1 is AR1 ) and ( x 2 is AR 2 ) and … and ( x n is ARn )
THEN y R = k 0 R + k R1 x1 + k R 2 x 2 + ... + k Rn x n
Globální výstupní veličinu y* vypočítáme opět vztahem váženého součtu
R
w y * + w2 y 2* + ... + wR y R
y = 1 1
=
w1 + w2 + ... + wR
*
∑w y
r =1
R
r
∑w
r =1
r
r
98
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
kde váhové koeficienty jsou stanoveny podle vztahu
wr = min[ μ Ari ( xi∗ )]
i
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
99
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
{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 !
100
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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
101
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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í matematickoanalytický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
102
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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
Δu (k ) =
∑ w (a
i =1
i
i1
e(k ) + a i2 Δe(k ))
m
∑w
i =1
i
kde váhy wi určíme podle vztahu
wi = min(μ i1e * (k ), μ i 2 Δe * (k )
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
Δu S (k ) − Δu (k )
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
E k2 = (Δu S (k ) − Δu (k )) 2 → min
optimalizační algoritmus je dán vztahem [2]
ai1 (k + 1) = a i1 (k ) − 2αwik E k e(k )
ai 2 (k + 1) = a i2 (k ) − 2αwik E k Δe(k )
103
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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
Δu (k ) = K P Δe + K I e(k )
kde pro proporcionální a integrační zesílení platí
m
K P = ∑ wi ai1
i =1
m
K I = ∑ wi ai 2
i =1
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
104
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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)
105
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Sugnovské regulátory
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
106
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory
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
107
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory
V případě Mamdaniho fuzzy regulátoru platí pro funkci příslušnosti relace R vztah
μ R (e, u ) = min[μ A (e), μ B (u )]
i
i
Funkci příslušnosti výstupní akční veličiny při použití kompozičního pravidla platí
vztah
μ B (u ) = max min[ μ A (e), μ R (e, u )]
e
Jestliže regulační odchylka má tvar ostrého čísla, můžeme ji považovat za singleton
μ A (e0 ) = 1
a pro fuzzy množinu akčního zásahu platí vztah
μ B (u ) = max min[ μ A (e), μ R (e, u )] = min[μ A (e0 ), μ R (e0 , u )] = μ R (e0 , u )
e
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*) =
μ B*max1 (u ) + μ B*max2 (u )
2
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
108
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory
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
k1 (e) ≤ u (e) ≤ k 2 (e) , kde k1 , k 2 ≥ 0
109
(7.1.1)
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory
Obr.7.1.4
Předpokladem je, že lineární přenos G ( s) 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í.
110
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory
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 G −1 ( s ) . Prvky této matice označme gˆ ij ( s ) . O takové inverzní matici řekneme,
že je řádkově diagonálně dominantní, jestliže pro všechna i = 1, 2,…, m platí
gˆ ij ( s ) >
m
∑ gˆ
j =1, j ≠ i
ij
( s)
Matice bude sloupcově diagonální, bude-li platit
gˆ ij ( s ) <
m
∑ gˆ
j =1, j ≠ i
ij
( s)
Pro všechna i = 1, 2,…, m zobrazuje gˆ ii ( s ) imaginární osu s = jω na křivku gˆ ii ( jω ) .
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
d i ( jω ) =
m
∑ gˆ
j =1, j ≠ i
ij
( jω )
nebo v případě dominance sloupcové.
111
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory
d i ( jω ) =
m
∑ gˆ
j =1, j ≠ i
ij
( jω )
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
112
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Stabilita systémů s fuzzy regulátory
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
113
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory
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
x (k + 1) = Ax (k ) + Bu (k )
y (k ) = Cx (k ) + Du (k )
(8.1.1)
kde x (k ) je [1 x n] vektor stavů
x (k ) = [ x1 (k ), x 2 (k ),..., x n (k )]T
y (k ) je [1 x m] vektor výstupů
y (k ) = [ y1 (k ), y 2 (k ),..., y m (k )]T
a u (k ) je [1 x r] vektor řízení
u (k ) = [u1 (k ), u 2 (k ),..., u r (k )]T
114
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory
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
w (k ) = 0 ).
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 .
x (k + 1) = Ax (k ) + b T u (k )
(8.1.2)
u (k ) = r T x (k )
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 –
x
funkce příslušnosti fuzzy množiny - symbolem L~
L~
x = μ Lx ( x)
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í R1
~
a relací regulátoru R2 . 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
~
L~
x (k + 1) = (( L~
x (k ) × Lu~ (k )) o R1
(8.1.3)
Jazykovou hodnotu řízení pak můžeme stanovit jako kompozici jazykové hodnoty
~
stavů a relace regulátoru R2
~
Lu~ (k ) = L~
x ( k ) o R2
(8.1.4)
115
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory
~
~
Stavově přechodová relace R1 a relace regulátoru R2 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 Lu~ (k ) z rovnice (8.1.4),
dostaneme
~
~
L~
x (k + 1) = (( L~
x (k ) × L~
x (k ) o R2 )) o R1
S využitím asociativního zákona pro max-min kompozici můžeme psát
~ ~
L~
x požadovaný (k + 1) = (( L~
x (k ) × L~
x (k )) o ( R2 o R1 )
(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.
x j (k + 1) = f j ( x1 (k ), x 2 (k ),..., x n (k ), u (k ))
(8.1.6)
y (k ) = g ( x1 (k ), x2 (k ),..., xn (k ), u (k ))
(8.1.7)
kde f j (k ), g (k ) 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
116
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory
jazykových hodnot Lu~, L~
y , L~
x . 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 u (k )
U (1) = UM , ( MALÉ ) = {0.9 / 1,0.3 / 2}
U ( 2) = UV , (VELKÉ ) = {0.3 / 1,0.8 / 2}
Pro stavovou proměnnou x(k )
X (1) = XM , ( MALÉ ) = {0.5 / 1,0.7 / 2,0.3 / 3}
X ( 2 ) = XV , (VELKÉ ) = {0.1 / 1,0.5 / 2,1.0 / 3}
Pro stavovou proměnnou v následujícím kroku x(k + 1)
X / (1) = XNM , ( MALÉ ) = {0.9 / 1,0.5 / 2,0.2 / 3}
X (′2 ) = XNV , (VELKÉ ) = {0.2 / 1,0.4 / 2,0.8 / 3}
Pro výstup y (k )
Y(1) = YM , ( MALÉ ) = {0.8 / 1,0.6 / 2,0.8 / 3}
Y( 2 ) = YV , (VELKÉ ) = {0.2 / 1,0.6 / 2,0.8 / 3}
Počáteční hodnoty pro vstup u (k ) a stav x(k )
U (k ) = {0.2 / 1,0.8 / 2}
X 1 (k ) = {0.5 / 1,0.7 / 2,0.9 / 3}
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
L~
xi (k + 1) = ( Lu~ (k ) × L~
x1 (k ) × L~
x 2 (k ) × ... × L~
x n (k )) o Rrx =
q
= ( Lu~ (k ) × L~
x1 (k ) × L~
x 2 (k ) × ... × L~
x n (k )) o U Rix( r ) =
r =1
q
= U ( Lu~ (k ) × L~
x1 (k ) × L~
x 2 (k ) × ... × L~
x n (k )) o Rix( r )
r =1
a rovnici (7.2.6) jako
L~
y (k ) = ( Lu~ (k ) × L~
x1 (k ) × L~
x 2 (k ) × ... × L~
x n (k )) o R y =
q
= ( Lu~ (k ) × L~
x1 (k ) × L~
x 2 (k ) × ... × L~
x n (k )) o U Riy( r ) =
r =1
117
(8.1.8)
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory
q
= U ( Lu~ (k ) × L~
x1 (k ) × L~
x 2 (k ) × ... × L~
x n (k )) o Rix( r )
(8.1.9)
r =1
neboť pro stavově přechodovou relaci a výstupní relaci platí
q
R = U Rix( r )
x
i
r =1
q
R = U R(yr )
y
r =1
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
Rix( r ) = U ( r ) I X 1( r ) I ....I X n ( r ) I Y( r )
R(yr ) = U ( r ) I X 1( r ) I ....I X n ( r )
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
A ∗ B = U ( A ∧ B) = max min[μ A ( xi ), μ B ( xi )]
z
z
i
S použitím tohoto operátoru můžeme
v přehlednějším a praktičtějším tvaru
rovnice
(
7.2.8)
a
(7.2.9)
zapsat
q
L~
xi (k + 1) = U (( Lu~ (k ) ∗ Lu~( r ) (k )) ∧ ( L~
x1 (k ) ∗ L~
x1( r ) (k ))) ∧ ... ∧ ( L~
x n (k ) ∗ L~
x n ( r ) )) ∧ L~
x / i ( r ) (k ))
r =1
q
Ly (k ) = U (( Lu~ (k ) ∗ Lu~( r ) (k )) ∧ ( L~
x1 (k ) ∗ L~
x1( r ) (k )) ∧ ... ∧ ( L~
x n (k ) ∗ L~
x n ( r ) (k )) ∧ L~
y / i ( r ) (k ))
r =1
(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 y (k ) .
y (k ) = (U (k ) ∗ U (1) ) ∧ ( X (k ) ∗ X (1) ) ∧ Y(1) ∨ (U (k ) ∗ U ( 2 ) ) ∧ ( X (k ) ∗ X ( 2 ) ) ∧ Y( 2 )
Dosazením konkrétních parametrů fuzzy množin dostaneme pro hledanou výstupní
fuzzy množinu numerický výraz
y(k) = ( {0.2 / 1,0.8 / 2}∗ {0.9 / 1,0.3 / 2}) ∧ ( {0.5 / 1,0.7 / 2,0.9 / 3}∗
118
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory
∗ {0.5 / 1,0.7 / 2,0.3 / 3}) ∧ {0.8 / 1,0.6 / 2,0.8 / 3} ∨ {0.2 / 1,0.8 / 2}∗
∗ {0.3 / 1,0.8 / 2}) ∧ {0.5 / 1,0.7 / 2,0.9 / 3} ∗ {0.1 / 1,0.5 / 2,1.0 / 3} ) ∧
∧ {0.2 / 1,0.6 / 2,0.8 / 3} = {0.3 / ....,0.5/....,0.5/.......}
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í R1 a relací regulátoru R2 .
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 R2 . Stavově přechodová relace R1 a relace
~
regulátoru R2 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 R1 a relace regulátoru R2 ?
8.1.3 Jaké je specifikum stavového fuzzy regulátoru ce srovnání s fuzzy
regulátorem FLC ?
119
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Fuzzy stavové regulátory
Ú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
120
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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
121
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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.;
122
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
-
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.
Identifikace a
návrh D(t)
v(t)
T
ω (t)
+
T
T
e(iT)
R
u(iT)
-
Fs(s)
y(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).
123
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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é
124
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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.
125
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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.
126
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
Identifikační a monitorovací
předzpracováním informace.
algoritmy
odlehčují
znalostní
systém
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.
127
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
Č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].
128
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
Dohlížecí
algoritmus
Znalostní systém
Identifikační
algoritmus
Řídicí Algoritmy
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
J = f (e, u , t )
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
[
]
P[(i + 1)T ] = P(iT ) − P(iT ) ⋅ Z [(i + 1)T ] ⋅ Z T [(i + 1)T ] ⋅ P(iT ) ⋅ 1 + Z T [(i + 1)T ] ⋅ P(iT ) ⋅ Z [(i + 1)T ]
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,
129
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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
Blok vyhodnocení
podmínek
Výpočet D(z)
Verifikace
Identifikace
T
v(t)
T
ω (t) +
T
e(iT)
R
u(iT)
-
Fs(s)
y(t)
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.
130
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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ů.
131
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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;
132
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
-
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.
133
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Znalostní řízení
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]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
Arzen, A.E.: An Architecture for Expert System Based Feedback Control.
Automatica, 1989. Vol. 25, No.6. pp 813-827. ISSN 0005-1098
Mařík, V. a kol.: Umělá inteligence I, II, Academia Praha, 1997. ISBN 80-2000504-8
Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996.
ISBN 80-901984-4-9
Vavřín,P.:Expertní systémy ve zpětnovazebním řízení, Proc. AI'89, ČVUT
Praha, 1989
Kraus,T.W, Myron,T.J.:Self-tuning PID Controller Users Pattern Recognition
Approach, Control Engineering, 6, 1984
Strejc,V.Maršík,J:Application of Identification-free Algorithmus for Adaptivr
Control, Proc. 10th World Congress on Automatic Control, Mnichov, 1987
Porter,B.A. and comp.: Real-time Expert Tunes for PI Controllers, IEEE Proc.,
4, 134, 1987:
Sanoff,S.P.,Wellstead,P.E.:Expert Identification and Control, Proc. IFAC, York,
U.K., 1985
Trankle,T.L.,Markosian,L.Z.:An Expert System for Control System Design,
Proc. IEEE, Camgridge, U.K., 1985
Leisleth,J. and comp.: An Expoert System for Tuning PID Controllers, Proc.
IFAC, Beijing, 1988
Arzén,K.E.:Expert System for Process Control, Proc. AAAI, 1986
Cannon,H.I.:Flawors:a Non-hierarchical Approach to Object Oriented
Programming, Unpublisher paper.
Allen,E.M.:YAPS, Yet Another Prodiction System, TR-1146, Department of
Computer Science, University of Maryland, 1983
Arzén,K.E.:Realization of Expert System Based Feedback Control,
Ph.D.Thesis, Lund Institute
of
Technology,
Lund,
Sweden,
1987
134
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení
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)
v=
s
t
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)!
F = m.a
F
a=
m
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ší.
135
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení
Ú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ů!
136
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení
Ú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.
137
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení
Ú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
138
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení
Ú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:
PD:
PI:
Δe, u
Δe, u
Δe, Δu
PID:
Δe, Δ2 e, Δ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í.
139
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení
Ú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
IF
(x is MALÝ)
(x is VELKÝ)
THEN
THEN
y1 = -2x + 3
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 ( Δ2 e is C) THEN ( Δu = k 0 + k1 e + k 2 Δe + k 3 Δ2 e )
140
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Klíč k řešení
Ú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
141
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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“
142
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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 CDROM. 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
143
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
144
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
145
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
146
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
147
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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.
148
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
149
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
150
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
151
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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ý.
152
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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ě.
153
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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í==…).
154
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
155
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
(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)
156
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
1
Typ
prádl
a
vlna
2
vlna
Úroveň
špíny
Typ
špíny
Množstv
í špíny
Doba praní
málo
špinavé
málo
přírod
ní
přírod
málo
velmi krátká
středně
velmi krátká
157
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
3
vlna
4
vlna
5
vlna
6
vlna
7
vlna
8
vlna
9
vlna
10
vlna
11
vlna
12
vlna
13
25
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
bavln
a
silon
26
silon
14
15
16
17
18
19
20
21
22
23
24
špinavé
málo
špinavé
málo
špinavé
málo
špinavé
málo
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
málo
špinavé
málo
špinavé
málo
špinavé
málo
špinavé
málo
špinavé
málo
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
málo
špinavé
málo
špinavé
ní
přírod
ní
uměl
á
uměl
á
uměl
á
přírod
ní
přírod
ní
přírod
ní
uměl
á
uměl
á
uměl
á
přírod
ní
přírod
ní
přírod
ní
uměl
á
uměl
á
uměl
á
přírod
ní
přírod
ní
přírod
ní
uměl
á
uměl
á
uměl
á
přírod
ní
přírod
ní
158
hodně
krátká
málo
krátká
středně
střední
hodně
střední
málo
krátká
středně
krátká
hodně
střední
málo
střední
středně
dlouhá
hodně
dlouhá
málo
velmi krátká
středně
krátká
hodně
dlouhá
málo
střední
středně
střední
hodně
dlouhá
málo
krátká
středně
dlouhá
hodně
dlouhá
málo
střední
středně
dlouhá
hodně
dlouhá
málo
velmi krátká
středně
velmi krátká
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
27
silon
28
silon
29
silon
30
silon
31
silon
32
silon
33
silon
34
silon
35
silon
36
silon
málo
špinavé
málo
špinavé
málo
špinavé
málo
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
hodně
špinavé
přírod
ní
uměl
á
uměl
á
uměl
á
přírod
ní
přírod
ní
přírod
ní
uměl
á
uměl
á
uměl
á
hodně
velmi krátká
málo
velmi krátká
středně
krátká
hodně
střední
málo
velmi krátká
středně
velmi krátká
hodně
krátká
málo
krátká
středně
střední
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:
159
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
160
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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.
161
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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“
162
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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:
163
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
164
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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.
180
160
140
rychlost [km/h]
120
100
80
60
40
20
0
0
10
20
30
40
50
t [s]
60
70
80
90
100
Obr. 10 Graf průběhu rychlosti automobilu v závislosti na čase t
165
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
4
převodový stupeň [ot/s]
3.5
3
2.5
2
1.5
1
0
10
20
30
40
50
t [s]
60
70
80
90
100
Obr. 11 Graf průběhu řazení rychlostních stupňů v závislosti na čase t
4500
4000
3500
otáčky [ot/s]
3000
2500
2000
1500
1000
500
0
0
10
20
30
40
50
t [s]
60
70
80
90
100
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
166
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
167
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
168
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
169
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
170
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
171
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
172
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
173
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
174
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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é
175
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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ě
176
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
DI16/DO16x24V/0.5A (6ES7 323-1BL00-0AA0).
digitálních
I/O
• Modul vzdálených periferií ET200M, typ 153-1 (6ES7 153-1AA030XB0) 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.
177
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
178
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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“
179
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
180
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
181
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
182
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
183
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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%
184
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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ů:
čísl
o
Název
Datový
typ
1
Akcni_velicina
Real
2
Akcni_velicina_
1
Real
3
Akcni_velicina_
int
Int
výstupn
í
Global
4
Odchylka
Real
výstupn
í
Global
5
Pozadovana_T
eplota
Real
vstupní
Global
6
Teplota1
Real
vstupní
Global
7
Teplota1_int
Int
vstupní
Global
I/O
výstupn
í
pomocn
á
Typ
Global
Global
Popisek
Proměnná akční
veličiny (u)
Pomocná proměnná
pro mezivýpočet
Proměnná pro D/A
převodník (výkon
žárovky)
Proměnná
regulované odchylky
(e)
Proměnná
požadované teploty
(w)
Proměnná skutečné
teploty
Promě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.
185
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
186
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
187
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
188
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
•
VV - velmi vysoká
- vysoká
Obr. 8 Množina VM proměnné „e“
189
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
Obr. 9 Množina M proměnné „e“
Obr. 10 Množina ST proměnné „e“
190
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
191
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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“
192
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
193
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
194
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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/RealTime 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.
195
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
CD-ROM
......
Program :
FuzzyRegulaceZarovkyBezChlazeni.zip,
FuzzyRegulator.fis a prvni_start.mdl
196
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
197
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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).
198
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
199
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
200
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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,
201
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
202
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
203
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
204
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
205
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
206
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
207
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
208
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
209
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
210
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
211
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
212
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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 CDROM. 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
213
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
214
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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)));
215
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
216
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
217
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
218
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
219
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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(@FitnessFunkceFuzzyStabilizaceNakl
onuLetadla,3,parametry);
toc;
220
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
Ukázka skriptu pro výpočet fitness funkce váhových konstant fuzzy PS
regulátoru:
%
%
Ztratova
funkce
pro
vypocet
NaklonLetadlaFuzzyRegulator.mdl
%
function [Ke,Kde,Kdu,cas,vystup,...
vahovych
funkci
modelu
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
221
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
% 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
222
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
223
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
224
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
225
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
226
ZNALOSTNÍ SYSTÉMY ŘÍZENÍ – Cvičení
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
227
Podklady pro cvičení – Znalostní systémy řízení
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#
228
Podklady pro cvičení – Znalostní systémy řízení
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#.
229
Podklady pro cvičení – Znalostní systémy řízení
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
230