skripta ZRS původní vydání
Transkript
skripta ZRS původní vydání
VŠB - TECHNICKÁ UNIVERZITA V OSTRAVĚ _____________________________________________________________ Fakulta elektrotechniky a informatiky ZNALOSTNÍ SYSTÉMY ŘÍZENÍ Miroslav Pokorný Martin Moštěk Petr Želasko Ostrava 2005 OBSAH 1. ÚVOD ................................................................................................................................... 1 1.1 Krize klasické matematiky ......................................................................................... 1 1.2 Umělá inteligence a její přístupy................................................................................ 3 1.3 Přechod od zpracování dat ke zpracování znalostí..................................................... 5 1.4 Formalizace neurčitosti v systémech řízení ............................................................... 7 1.5 Fuzzy pojetí regulace ................................................................................................. 8 2. ZÁKLADY FUZZY MNOŽINOVÉ TEORIE ................................................................... 11 2.1 Fuzzy množiny ......................................................................................................... 11 2.2 Základní fuzzy množinové operace.......................................................................... 14 2.3 Princip rozšíření (extenzionální princip).................................................................. 16 2.4 Lingvistická proměnná ............................................................................................. 18 3. VÍCEHODNOTOVÁ LOGIKA A LINGVISTICKÉ MODELY ....................................... 21 3.1 Vícehodnotová lingvistická logika........................................................................... 21 3.2 Lingvistické modely ................................................................................................. 23 3.3 Aproximace lingvistického modelu fuzzy funkcí .................................................... 26 3.4 Inženýrská interpretace odpovědí modelů................................................................ 38 3.5 Optimalizace lingvistického modelu........................................................................ 41 4. EXPERTNÍ SYSTÉMY...................................................................................................... 48 4.1 Definice expertního systému .................................................................................... 48 4.2 Architektura expertního systému ............................................................................. 50 4.3 Uživatelské programové vybavení ........................................................................... 53 5. FUZZY REGULAČNÍ SYSTÉMY FLC (Fuzzy Logic Control)....................................... 56 5.1 Expertní systémy a fuzzy řízení ............................................................................... 56 5.2 Popis řízení procesů pomocí klasických algoritmů.................................................. 59 5.3 Lingvistický popis chování dynamických systémů.................................................. 62 5.4 Základní struktura a parametry systému FLC .......................................................... 67 5.5 Funkce systému FLC................................................................................................ 70 5.6 Typy fuzzy regulátorů .............................................................................................. 93 6. SYSTÉMY ZNALOSTNÍHO ŘÍZENÍ ............................................................................... 96 6.1 Vlastnosti expertního regulátoru .............................................................................. 96 6.2 Expertní systém v reálném čase ............................................................................. 100 7. PRAKTICKÁ REALIZACE FUZZY ŘÍDÍCÍCH SYSTÉMŮ ........................................ 105 7.1 Fuzzy systémy FLC................................................................................................ 105 7.2 Systémy znalostního řízení..................................................................................... 109 LITERATURA...................................................................................................................... 115 KLÍČ K PŘÍKLADŮM ........................................................................................................ 118 1. Ú V O D 1.1 Krize klasické matematiky Čas ke studiu: 30 minut 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 Výklad 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 řídících systémů, využívajících klasických matematických analytickostatistických modelů, je dnes dobře popsána [1]. 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 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 [2]: „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á 1 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 [3]. 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í. 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í. Úlohy k řešení 1.1. 1. Využili jste někdy svoje subjektivní, osobně získané znalosti k vyřešení problému, obtížně řešitelného matematickým modelováním? 2. 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! 2 1.2 Umělá inteligence a její přístupy Čas ke studiu: 30 minut Cíl Po prostudování tohoto odstavce budete umět • Definovat základní přístupy a metody umělé inteligence Výklad V řadě případů, zvláště při diagnóze a ří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. 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ů sledované soustavy, je k jejich vyvození použito zcela jiného než statistického aparátu. Jde o efektivní využívání neurčitosti typu vágnost, jež je u lidského subjektu vysoce vyvinuto. Účinná je i efektivní exploatace principielně jednoduchých, ale výkonných nenumerických algoritmů, založených na tzv. naivní fyzice (Common Sense), která umožňuje lidskému expertovi integrovat objektivní znalosti se znalostmi subjektivními s efektem dosažení vyšší úrovně při rozhodování nebo řízení [4]. Kvalita lidských úsudků je tedy 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 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 ) . 3 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]. Shrnutí pojmů 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ů. Úlohy k řešení 1.2. 1. Setkali jste se ve své praxi s procedurami, využívajícími umělou inteligenci? 2. Uveďte objekt, který považujete z hlediska jeho matematického modelování za složitý. 4 1.3 Přechod od zpracování dat ke zpracování znalostí Čas ke studiu: 30 minut Cíl Po prostudování tohoto odstavce budete umět • Definovat typy znalostí • Vysvětlit pojem nenumerického abstraktního modelu Výklad 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é 5 (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í. Shrnutí pojmů 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ů. Úlohy k řešení 1.3. 1. Promyslete vyjádření 1. Newtonova pohybového zákona formou matematického vztahu a formou slovního vyjádření (popisu)! 2. Uveďte příklad mělké a hluboké znalosti v oboru, který je Vám blízký (řízení automobilu, hra v šachy apod.). 6 1.4 Formalizace neurčitosti v systémech řízení Čas ke studiu: 20 minut Cíl Po prostudování tohoto odstavce budete umět • Vysvětlit význam vágních pojmů a jejich použití v jazykových modelech Výklad 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. 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í. Shrnutí pojmů 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. Úlohy k řešení 1.4. 1. Pojmenujte vágní pojmy související s pokojovou teplotou! 7 1.5 Fuzzy pojetí regulace Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • 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 Ú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]. 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í expertních systémů jsou tak známy dva přístupy. 1) Přístup fuzzy - pravidlový (FLC - Fuzzy Logic Control) [7], který je pokusem modelovat manuální řídící funkci zkušeného operátora procesu. Řídící model 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. Jeho schéma je na Obr.1. 8 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) v(t) Regulovaná soustava - y(t) Obr.2 Problematika, uvedená v dosavadních kapitolách, je dále rozpracována v těchto oblastech: - základy fuzzy množinové teorie, základy vícehodnotové lingvistické logiky, fuzzy orientované pravidlové expertní systémy, fuzzy pravidlový přístup k řízení (Fuzzy Logic Control), přístup znalostního (expertního) řízení, programové systémy pro fuzzy modelování, simulaci a řízení. Kapitoly obsahují teoretické pozadí i zásady praktické realizace fuzzy regulátorů i systémů znalostní regulace. Pro dokonalé pochopení jejich principů a funkce je popsána i funkce klasického fuzzy orientovaného pravidlového expertního systému. Pro získání praktických zkušeností jsou teoretické pasáže doplněny příklady praktických řešení. 9 Shrnutí pojmů 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í. Úlohy k řešení 1.5. 1. Pokuste se slovně popsat průběh regulace teploty v peci! 10 2. ZÁKLADY FUZZY MNOŽINOVÉ TEORIE 2.1 Fuzzy množiny Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • Definovat princip fuzzy množiny 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 [11], [12]. Fuzzy množinový aparát je přirozeným prostředkem pro formalizaci vágnosti. V teorii klasických množin prvek x do množiny A buď patří (prvek x1), nebo nepatří (prvek x2), Obr 3a. Obr 3a Obr 3b V Zadehově fuzzy množinové teorii, která je zobecněním teorie abstraktních množin [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.3b prvek x1 do fuzzy množiny Bx určitě a zcela jistě patří a prvek x2 zcela jistě a určitě nepatří. 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 B(x2) = 0. Uvažujme dále prvky např. x3 a x4, které k fuzzy množině Bx patří zřejmě jenom 11 čá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. Nechť X = 0 je množina a Ax : X → 0,1 nechť je zobrazení. Fuzzy množinou pak budeme nazývat uspořádanou dvojici Ax = [X , A( x )] . Prvky x ∈ X přitom nazveme univerzem fuzzy množiny Ax, A(x) = f(x) nazveme funkcí příslušnosti (charakteristickou funkcí) fuzzy množiny Ax. Pro každé x ∈ X nazveme reálné číslo A(x) stupněm (mírou) příslušnosti prvku x k fuzzy množině Ax, přičemž A(x) budeme interpretovat takto: A( x ) = 0 - prvek x do množiny Ax jistě nepatří, A( x ) = 1 - prvek x do množiny Ax jistě patří, A( x ) ∈ (0,1) - nelze s jistotou určit, zda x patří do Ax. Velikost A(x) je vyjádřením míry našeho přesvědčení (míry příslušnosti), nakolik prvek x k Ax patří. 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.4. 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}. Obr.4 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 12 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 . Úlohy k řešení 2.1. 1. Vymyslete fuzzy množinu a určete stupně příslušnosti jejích významných prvků! 13 2.2 Základní fuzzy množinové operace Čas ke studiu: 50 minut Cíl Po prostudování tohoto odstavce budete umět • Popsat fuzzy množinu jejími parametry • Vyjmenovat a vysvětlit základní fuzzy množinové operace Výklad Definujme základní vlastnosti fuzzy množin, které budeme potřebovat ve výkladu jejich aplikací v řízení (Obr.4) [11], [12]. a) Výškou fuzzy množiny hgtA = sup A(x ) ; Ax nazveme reálné číslo, definované vztahem 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} . Fuzzy množinu Ax definovanou na univerzu reálných čísel R nazveme konvexní, jestliže (zjednodušeně) Cα ( A) je spojitý interval pro každé α ∈ 0,1 . Takovou konvexní fuzzy množinu, je-li navíc množinou normální a její jádro je jednoprvkové, nazýváme trojúhelníkovým fuzzy číslem. 14 Pro fuzzy množiny se stejným univerzem X jsou definovány tyto základní operace: a) Sjednocením fuzzy množin Ax = [X , A( x )] , Bx = [ X , B( x )] nazveme fuzzy množinu Ax + Bx = [ X , ( A + B )( x )], kde ( A + B )( x ) = max[A(x ), B( x )] . b) Průnikem fuzzy množin Ax = [X , A( x )] , Bx = [ X , B( x )] nazveme fuzzy množinu Ax × Bx = [ X , ( A × B )( x )] , kde ( A × B )(x ) = min[ A( x ), B(x )] . c) Odvážným průnikem fuzzy množin Ax = [X , A( x )] , Bx = [ X , B( x )] nazveme fuzzy množinu Ax × Bx = [ X , ( A × B )( x )] , kde ( A × B )(x ) = max{0, [A( x ) + B( x ) − 1]}. d) Doplňkem (komplementem) fuzzy množiny Ax = [X , A( x )] nazveme fuzzy množinu [ ] Ax = X , A( x ) kde A( x ) = 1 − A( x ) . e) Inkluzí fuzzy množin Ax = [X , A( x )] , Bx = [ X , B( x )] nazveme stav, kdy A( x ) ≤ B( x ) pro všechna x ∈ X (Ax je podmnožinou Bx). f) Rovností fuzzy množin Ax = [X , A( x )] , Bx = [ X , B( x )] nazveme stav, kdy A(x) = B(x) pro všechna x ∈ X . Pro fuzzy množiny, definované na různých univerzech, jsou definovány fuzzy množiny, zvané fuzzy relace R. Pro fuzzy množiny Ax = [X , A( x )] , By = [Y , B( y )] s univerzy X a Y jsou fuzzy relace definovány na dvojrozměrném univerzu ( x, y ) . Obecně pro n fuzzy množin na n univerzech U1, U2 ,..., Un jsou fuzzy relace R: U1 x U2 x ... x Un definovány na univerzu n-rozměrném. Jako příklad fuzzy relace uvedeme nejrozšířenější kartézský součin. Kartézským součinem fuzzy množin Ax = [X , A( x )] , By = [Y , B( y )] nazveme fuzzy množinu Ax × Bx = [ X × Y , ( A × B )( x, y )] , kde ( A × B )(x, y ) = min[A( x ), B( y )] . Dalšími fuzzy relacemi jsou např. projekce, cylindrické rozšíření nebo kompozice. Jejich definice uvedeme podle potřeby v dalším textu. Shrnutí pojmů 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. Pro fuzzy množiny s různými univerzy jsou definovány fuzzy relace. Úlohy k řešení 2.2. 1. Popište parametry obyčejné (klasické) množiny! 15 2.3 Princip rozšíření (extenzionální princip) Čas ke studiu: 20 minut Cíl Po prostudování tohoto odstavce budete umět • Vysvětlit princip rozšíření operací nad obyčejnými množinami na fuzzy množiny • Provádět aritmetické operace s fuzzy množinami • Výklad Jedním z nejdůležitějších zákonů fuzzy množinové matematiky je princip rozšíření, vyslovený L.A.Zadehem [2]. Podle tohoto principu lze operace nad prvky univerz (obyčejné, ne-fuzzy množiny) rozšířit na operace nad fuzzy množinami s příslušnými univerzy. Nechť X, Y jsou univerza, f : X → Y je funkce, zobrazující (obyčejnou) množinu X do (obyčejné) množiny Y a Ax je fuzzy množina na univerzu X. Pak fuzzy množina Ax indukuje fuzzy množinu f [A( x )] = Ax na univerzu Y. Univerzum Y má prvky y. Funkci příslušnosti prvků y k fuzzy množině Ay určíme podle principu rozšíření jako sup A( x ); y = f ( x ) ⎧ A( y ) = ⎨ ⎩0, jestliže neexistuje žádné x ∈ X takové, že y = f(x). Podle tohoto principu se aplikací funkce f na prvky univerza X jejich stupně příslušnosti do libovolné fuzzy množiny nad X přenášejí beze změny na jejich obrazy. Ve speciálním případě může být funkce f binární operací * : X × X → X v univerzu X. Pak z principu rozšíření plyne: nechť v X je definována binární operace * a na univerzu X jsou definovány fuzzy množiny Ax, Bx. Výsledkem rozšířením uvažované binární operace * na fuzzy množiny Ax, Bx je pak fuzzy množina Cz = Ax * Bx. Její funkci příslušnosti C(z) = f(z) určíme jako ⎧sup{min[A(x ), B( y )]; x, y ∈ X , z = x * y} C (z ) = ⎨ 0 jinak ⎩ pro všechna z ∈ X . 16 Shrnutí pojmů Podle Zadehova principu rozšíření se aplikací funkce na prvky univerza jejich stupně příslušnosti do libovolné fuzzy množiny přenášejí beze změny na jejich obrazy. Pomocí tohoto principu lze jednoduše přenést operace nad obyčejnými množinami na operace nad fuzzy množinami. Úlohy k řešení 2.3. 1. Promyslete aritmetiku fuzzy čísel! 17 2.4 Lingvistická proměnná Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • Definovat lingvistickou proměnnou a její atributy • Formalizovat jazykové hodnoty lingvistické proměnné fuzzy množinami Výklad Lingvistická proměnná p je jedním ze základních pojmů nenumerické matematiky; je základním kamenem slovních (jazykových, lingvistických) modelů - popisů chování vyšetřovaných nebo řízených soustav. Podle definice, kterou podal L. A. Zadeh [8], nazýváme lingvistickou proměnnou uspořádanou pětici p : (P, T (P ), U , G, M ) , kde P je jméno (identifikátor) lingvistické proměnné p, T(P) je množina lingvistický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é lingvistické hodnotě její význam ve formě fuzzy množiny s univerzem U. V našem případě interpretujeme lingvistickou proměnnou takto: a) T(P) je konečná množina lingvistický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 lingvistickou 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 lingvistických hodnot. Tím je každá lingvistická hodnota hs lingvistické proměnné p formalizována pomocí fuzzy množiny Hsr. Tak je realizována fuzzy interpretace neurčitosti, kterou každá lingvistická hodnota představuje. d) Pro každé s = 1, 2, 3, ... platí: hgtHs = 1 18 Jako příklad uvedeme interpretaci lingvistické proměnné „RYCHLOST VOZIDLA“, definovaná na univerzu v [km/hod]. Pro nenumerickou (jazykovou) kvantifikaci této proměnné zvolíme tyto tři lingvistické hodnoty: h1: NÍZKÁ → H1v h2: STŘEDNÍ → H2v h3: VYSOKÁ → H3v Podle sémantického pravidla (expertní posouzení) interpretujeme každou lingvistickou hodnotu hs, s = 1,2,3, jako konvexní normální fuzzy množinu Hsv. Možná interpretace je uvedena na Obr.5. Obr.5 Lingvistické proměnné a jejich hodnoty budou využity jako proměnné fuzzy lingvistický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á lingvistická 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, kde r je prvkem univerza reálných čísel R) suppHs = (a s , d s ) , kerHs = b s , c s 19 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á lingvistická hodnota Hsr je pak určena uspořádanou čtveřicí {as, bs ,cs, ds} - Obr.4. 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ů fuzzy množin [13]. Shrnutí pojmů Lingvistická proměnná je základním kamenem slovních (jazykových, lingvistických) modelů. je definována jménem, množinou svých lingvistický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). Úlohy k řešení 2.4. 1. Promyslete fuzzy množinovou reprezentaci jazykových hodnot výšky stromů! 20 3. VÍCEHODNOTOVÁ LOGIKA A LINGVISTICKÉ MODELY 3.1 Vícehodnotová lingvistická logika Čas ke studiu: 30 minut 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í Výklad 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 logických spojek [14] S = {and, or, &, =>} jako konjunkci, disjunkci, odvážnou konjunkci a implikaci. Nechť D je konečná množina logických proměnných a S je množina logických spojek. Pak můžeme definovat formuli vícehodnotové logiky pomocí rekurzivní definice 1) jestliže x ∈ D , pak x je formule; 2) 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 (Γ )) pro každé dvě formule Θ, Γ ; 21 3) V (ΘorΓ ) = max (V (Θ ), V (Γ )) pro každé dvě formule Θ, Γ ; 4) V (Θ & Γ ) = max(0;V (Θ ) + V (Γ ) − 1) pro každé dvě formule Θ, Γ ; 5) V (Θ ⇒ Γ ) = min (1;1 − V (Θ ) + V (Γ )) pro každé dvě formule Θ, Γ ; 6) V (Θ ⇒ Γ ) = min (V (Θ ), V (Γ )) pro každé dvě formule Θ, Γ . Předpis ad 5) představuje jednu z možných interpretací implikace ve vícehodnotové logice, kterou navrhl L.A.Zadeh [15]. Jinou interpretaci, ad 6), navrhuje např. Mamdani [16]. Velice důležitou problematiku interpretace spojky „implikace“ probereme dále. 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. Úlohy k řešení 3.1. 1. Nalezněte v literatuře vyjádření složité logické funkce implikace pomocí logických funkcí jednoduchých! 22 3.2 Lingvistické modely Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • • • Vytvořit jazykový model pomocí vět přirozeného jazyka Definovat jazykový model jako množinu IF-THEN podmíněných fuzzy pravidel Výklad Lingvistický model můžeme definovat jako výrok, v němž se vyskytují lingvistické proměnné p, jejich jména P, jména jejich lingvistických hodnot hs, logické spojky S a pravdivostní hodnoty V (.) ∈ 0,1 . Popisujeme-li lingvistickým modelem chování reálné funkce f(x1, x2, ..., xn) o n proměnných, potom, řečeno intuitivně, je lingvistický model „pravdivý výrok o chování funkce f“. Významnou výhodou lingvistického modelu je možnost vytvoření formálního zápisu, který nám umožní zapsat lingvistický model tak, jak je běžným způsobem napsána česká věta. Nechť p = (P, hs, U) je lingvistická 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ř. lingvistickou proměnnou p = (TEPLOTA, hs, R) a množina hs jejích lingvistických hodnot je hs = {NÍZKÁ, STŘEDNÍ, VYSOKÁ}, s = 1, 2, 3, potom místo zápisu funkce příslušnosti (VYSOKÁ)p píšeme větu „TEPLOTA p je VYSOKÁ“. (1) 23 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 JESTLIŽE (IF) Θ PAK (THEN) Γ (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 (1) . K tomu používáme skládání jednoduchých podmíněných výrazů (2) do výrazů složených. Složený podmíněný výraz (prohlášení) 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Á)“ (3) Část podmíněného výrazu vlevo od implikace „pak“ se nazývá jeho podmínkovou částí (antecendentem, premisou), pravá část pak jeho důsledkovou částí (konsekventem). Složený podmíněný výraz (3) je zapsán ve formě tzv. „IF-THEN“ pravidla. Obecně má takové pravidlo tvar, jehož antecendent 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) 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. Lingvistický model může být také vytvořen složením několika prohlášení. Jednotlivá prohlášení jsou spojována logickou spojkou or, and resp. &. Tím vznikne model tvaru vícenásobného (multi) prohlášení typu CCD, CIC resp. CI&. Tak např. model CIC s m prohlášeními má tvar 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 )] 24 zatímco model CCD 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 )] Oba modely se liší „způsobem“ svého uvažování, jak bude uvedeno dále. Obecně dává konjunktivní model typu CIC (resp. CI&) při popisu chování systémů lepší výsledky, než disjunktivní model CCD. Jejich použití závisí na typu popisované soustavy (funkce, relace). Shrnutí pojmů Významnou výhodou lingvistického modelu je možnost vytvoření formálního zápisu, který nám umožní zapsat lingvistický model tak, jak je běžným způsobem napsána česká věta. Znalosti o chování soustavy zapisujeme ve formě podmíněných IF-THEN pravidel. Pravidlo má část podmínkovou (antecedent) a důsledkovou (konsekvent). Lingvistický model je vytvořen složením několika prohlášení, čímž vznikne model tvaru vícenásobného (multi) prohlášení. Úlohy k řešení 3.2. 1. Sestavte jednoduchý jazykový model stability automobilu na kluzké vozovce v závislosti na jeho rychlosti. 2. Formalizujte jazykovou proměnnou „TEPLOTA V PECI“ a navrhněte tři její jazykové hodnoty vyjádřené fuzzy množinami! 25 3.3 Aproximace lingvistického modelu fuzzy funkcí Čas ke studiu: 6 hodin Cíl Po prostudování tohoto odstavce budete umět • • • • • Určit pravdivostní hodnotu pravidla Vysvětlit metodu Fuzzy modus ponens Použít Zadehovu interpolační metodu vyvozování odpovědi Pokládat dotazy jazykovému modelu Optimalizovat jazykový pravidlový model Výklad 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ů. Jako příklad uvedeme metodu aproximativního vyvozování, postavenou na využití jednoho z vyvozovacích pravidel klasické logiky - pravidla MODUS PONENS. Pro jeho využití v metodě aproximativního vyvozování je třeba provést jeho zobecnění do formy FUZZY MODUS PONENS [13]. Toto zobecnění, jak uvidíme dále, vyžaduje definici nové fuzzy relace - „kompozice“. 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 antecendentu jedno dílčí tvrzení, získáváme tak pravdivostní ohodnocení jednotlivých dílčích tvrzení antecendentu. 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 antecendentu 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; 26 - 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ě; - 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í podle (4). Takové tvrzení je typickým tvarem pravidla fuzzy modelu. Pravdivostní hodnota takového pravidla určuje míru pravdivosti (platnosti) jeho konsekventu [Ω( y )] . Tato míra je dána pravdivostní hodnotou antecendentu (premisy) pravidla IF [Γ( x1 )andΓ( x2 )and ...andΓ( xn )], která je složena z konjunkce dílčích n jednoduchých tvrzení, tedy (x1 is A1x1) and (x2 is A2x2) and ... and (xn is Anxn). (5) 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 (5) 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. 27 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í antecendentů jednotlivých pravidel se nazývá diskretizace antecendentů. 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.6. Obr.6 Jestliže hodnotu nezávisle proměnné x v dotazu reprezentuje fuzzy množina Dx (fuzzy singleton x0), potom podle situace na Obr.6 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 (8), 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.7 a Obr.8 diskretizací vektory 1. X1 = {1; 0,5} Y1 = {1; 0,35} 2. X2 = {0,5; 1} Y2 = {0,35; 1} 28 (6) Obr.7 Obr.8 Metoda FUZZY MODUS PONENS 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í (FoG )(u1 , u 3 ) = max [min(F (u1 , u 2 ), G (u 2 , u 3 ))] . 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. 29 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. 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 FUZZY MODUS PONENS a lze je vyjádřit tímto schématem: antecendent 1 : x is A'x (DOTAZ Q) antecendent 2 : IF x is Ax THEN y is By (MODEL) ------------------------------------------------------------------------------------(ODPOVĚĎ Boy) konsekvent : y is Boy Toto schéma je v teorii aproximativního vyvozování formalizováno výrazem [13] 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< r < m ⎝ ⎝ 1< j < n ⎠⎠⎠⎠ u∈U ⎝ ⎝ 1< j < n (7) kde u = (u1, u2, ..., un) je libovolný bod univerza U jako kartézského součinu univerz antecendentu 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 (7) optimalizován pomocí funkce fuzzy konzistence Cons [13]. Uvažujme dvě tvrzení R1: x is Au a R2: x is Bu (8) 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 )] u∈U (9) 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. 30 Aplikace této operace na výraz (7) redukuje prohledávaný prostor na dvojrozměrný [13] B( y ) = max⎛⎜ min⎛⎜ Br ( y ), min (Cons (A j x, Arj x ))⎞⎟ ⎞⎟ . 1< j < n 1< r < m ⎝ ⎝ ⎠⎠ Takováto optimalizace výpočtového algoritmu (7) je použitelná pouze pro modely CCD. Pro konjunktivní modely CIC resp. CI& nelze tuto optimalizaci výpočtu použít. Algoritmus vyvození odpovědi konjunktivních modelů je dvoukrokový: v prvním kroku se vyhodnotí odpověď modelem CCD a v druhém kroku se modifikuje výsledek na odpověď CIC resp. CI& geometrickou transformací [13]. Zadehova interpolační metoda Jednoduchý postup pro aproximativní vyvození odpovědi uvedl v [15] i L.A.Zadeh. Tento postup, známý jako Zadehova interpolační metoda, je opět použitelná pro vyhodnocování odpovědí modelů typu CCD, pro něž platí, že implikace antecendentu a konsekventu jeho pravidel je vyhodnocována jako konjunkce (CCD: Conjunction Conjunction - Disjunction) - interpretace Mamdani. Uvažujme xj, j = 1, 2, ..., n jako vstupní, y jako výstupní proměnnou lingvistického CCD modelu, který obsahuje r = 1, 2, ..., m pravidel. Sestavme pro přehlednost matici fuzzy množin hodnot proměnných modelu a dotazu. x2 ....., xn y x1 ------------------------------------------------------------------A12x2, ....., A1nxn B1y A11x1, A22x2, ....., A2nxn B2y A21x1, . . . Am2x2, ....., Amnxn Bmy Am1x1, ------------------------------------------------------------------A2,x2 ....., Anxn Boy A1,x1 Prvky (m × n ) matice Arjxj jsou množiny lingvistických hodnot proměnných xj v jednotlivých pravidlech j = 1, 2, ..., n. Fuzzy množiny sloupcového vektoru Bry, r = 1, 2, ..., m, reprezentují lingvistické hodnoty výstupní proměnné jednotlivých pravidel. Řádkový vektor A1x1, A2x2, ..., Anxn je vektor fuzzy množin lingvistických hodnot dotazu a Boy je hledaná fuzzy množina odpovědi na dotaz. Fuzzy množina s funkcí příslušnosti Boy = f(y), která představuje hledanou odpověď, je vytvořena z fuzzy množin Bky, k = 1, 2, ..., K jednotlivých K lingvistických hodnot závisle proměnné, a to vodorovným ořezáním těchto množin na úrovních již zmíněných ořezávacích koeficientů gk. Uvažujme reálný pravidlový model, jehož m1 pravidel se vyjadřuje k hodnotě B1y závisle proměnné y a m2 pravidel se vyjadřuje k hodnotě B2y. Potom výsledné úrovně ořezání hodnot B1y a B2y určíme s ohledem na skutečnost, že pravidla r1, r1 = 1, 2, ..., m1 a pravidla r2, 31 r2 = 1, 2, ..., m2 jsou spolu v modelu typu CCD vázána spojkou „or“, tedy vztahem disjunkce. Proto platí g1 = max V (r1 ) , r1 = 1, 2, ..., m1 a g2 = max V (r2 ) , r2 = 1, 2, ..., m2 (10) (11) kde V (r1 ) a V (r2 ) jsou pravdivostní hodnoty pravidel r1 a r2. Zaveďme tedy dílčí ořezávací koeficienty gr, r =1, 2, ..., m pro jednotlivá pravidla: gr = min (Cons (Arj x j , A j x j )) , r = 1, 2, ..., m, j = 1, 2, ..., n j z nichž vypočteme velikost ořezávacích úrovní gk pro jednotlivé fuzzy množiny Bky gk = max( g r , k ) , r = 1, 2, ..., m, k = 1, 2, ..., K k kde gr,k jsou parciální koeficienty těch pravidel, která se vyjadřují vždy k určité k-té lingvistické hodnotě Bky závisle proměnné y. Označme fuzzy množinu Bky, ořezanou na úrovni gk jako Bk(gk)y Bk(gk)y = g k × Bk y = min[g k , Bk ( y )] i Odpověď Bo je pak dána disjunkcí (model CCD) jednotlivých ořezaných hodnot Bk(gk) Boy = B1(g1)y or B2(g2)y or ... or BK(gk)y Způsob ořezání je nakreslen na Obr.9. Obr.9 Pro praktické využití odpovědi v systému řízení je nezbytné, aby fuzzy výstupní hodnota byla nějakou metodou transformována na obyčejné číslo. Tomuto postupu říkáme defuzzifikace; metody defuzzifikace budou uvedeny v kap.5.5. 32 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.11. Obr.11 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 fuzzifiková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.12. Obr.12 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. 33 3. Dotaz libovolnou fuzzy množinou: (xj is Cjxj), uvedený na Obr.13. Obr.13 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í. Metoda roztahová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. 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 . 34 Metoda roztahování dotazu je znázorněna na Obr.14. A(xj) AD(xj) ADxj0 Axj 1 AD3xj0 AD2xj0 AD1xj0 h a a a a a a xj0 0 xj Obr.14 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.14 je ve výchozím stavu tato hodnota V (R j ) = 0 . Chceme-li dosáhnout stavu V (R j ) > 0 , (12) 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. 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 (12), je to taková minimální šířka, která by zajistila nenulový průnik fuzzy množin Axj a ADxj. Na Obr.14 je tato šířka rovna 3a. 35 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 (12). V případě na Obr.14 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. Příklad 3.3.1 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 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- 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. 36 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 } ! 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. Úlohy k řešení 3.3. 1. Prostudujte dokonale příklad Zadehovy interpolační metody! 2. 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)! 37 3.4 Inženýrská interpretace odpovědí modelů Čas ke studiu: 30 minut Cíl Po prostudování tohoto odstavce budete umět • Posoudit kvalitu odpovědi jazykového fuzzy modelu Výklad Interpretace odpovědi je pro praktické použití fuzzy systémů velice důležitá. Správná inženýrská interpretace výsledků vyvození je jednou z podmínek efektivity simulací. Uveďme metodu, jíž lze posoudit odpovědi modelů vzhledem ke kvalitě báze znalostí a porovnání odpovědí, jak je poskytují modely konjunktivní a disjunktivní. ≅ Obr.15a - Jasná odpověď, oba modely se shodují. V prohlášeních nejsou spory. Obr.15b - CIC model dává přesnější odpověď, spory v prohlášeních nejsou. 38 Obr.15c - Model obsahuje prohlášení, která jsou sporná. CCD model přitom dává přesnější odpověď. Pro zlepšení odpovědi je třeba zvýšit informaci. Obr.15d - Ani jeden model nedává odpověď. Je nutno po- užít roztahování dotazu nebo zvýšit množství informace. Pro ohodnocení kvality odpovědi modelů byly stanoveny tyto hodnotící parametry viz Obr.16: 1. SPORNOST ODPOVĚDI, stanovená jako SP = 1 − max B0 ( y ) 2. DŮVĚRYHODNOST INFORMACÍ, kontrolovaná vztahem DV = 1 − min B0 ( y ) 3. URČITOST ODPOVĚDI, vypočítaná podle výrazu UR → a, b 4. JASNOST ODPOVĚDI, určená vzorcem JA → max B0 ( y ) − min B0 ( y ) 39 B0(y) 1 SP DV JA 0 UR y Obr.16 Shrnutí pojmů Praktickou použitelnost odpovědi jazykového fuzzy modelu posuzujeme pomocí parametrů tvaru jeho fuzzy množiny. tyto parametry se nazývají Spornost odpovědi, Důvěryhodnost informací, Určitost odpovědi a Jasnost odpovědi. Úlohy k řešení 3.4. 1. Promyslete, jak lze zlepšit hodnoty klasifikačních parametrů! 2. Proveďte vyvození výstupní hodnoty y v modelu Takagi-Sugeno pro model, který jste vytvořili v úloze 3.3.2 pro vámi zvolenou velikost vstupní proměnné x! 40 3.5 Optimalizace lingvistického modelu. Čas ke studiu: 4 hodiny Cíl Po prostudování tohoto odstavce budete umět • Vysvětlit princip kognitivní analýzy diversifikační schopnosti znalostní báze • Sestavit a posoudit ternární graf jako výstup analýzy Výklad Fuzzy pravidlové modely představují pokrok směrem k využití subjektivních informací a k formalizaci tzv. „Common Sense“ (Zdravého uvažování, Selského rozumu). Zůstávají však nicméně poplatné struktuře konvenčních modelů (soustava fuzzy pravidel) a do určité míry přejímají i jejich vlastnosti. Z tohoto důvodu se rozvíjí snaha využít ke konstrukci nebo optimalizaci modelů i jiné zdroje informací, než takové, které jsou formalizovatelné rovnicemi. Jedním z nich je kognitivní (psychologické) modelování, které vychází z „Cognitive Science“, což je věda o našem vnímání. Následující kapitola představuje využití některých poznatků psychologie pro aplikaci psychologických přístupů k hodnocení kvality (míry optimality) pravidlového fuzzy modelu (báze znalostí) pomocí kognitivní analýzy. Kognitivní přístup je reprezentován využití mechanizmu odpovědí na dotazy (Question Answering Mechanism). Kognitivní analýza, využívající tohoto mechanizmu, je podstatou metody pro určení vlastností a diskriminačních schopností znalostní báze. Základem této metody jsou testy konzistence, které umožňují predikci chování báze znalostí při řešení praktických úloh již ve fázi jejího návrhu [17]. Uvedená metoda je využívána v oboru znalostního inženýrství. Test konzistence spočívá ve stanovení vzájemné podobnosti pravidel, tvořících bázi znalostí. Při testu pokládáme modelu s modifikovanou bází takovou množinu dotazů, jaké lze v praxi očekávat (modifikovaná báze potom slouží jako skupina expertů). Předpokládejme, že báze obsahuje m pravidel. Vyjmeme-li z báze r-té pravidlo, potom modifikovaná báze je tvořena zbylými (m - 1) pravidly. Ponecháme-li dále z r-tého pravidla jeho antecendent, máme k dispozici dotaz, který položíme zbytku báze (modifikované bázi). Přitom očekáváme, že odpověď báze bude alespoň v částečné shodě s původním konsekventem pravidla, použitého jako dotaz. Míra podobnosti (konzistence) dotazu a aktivovaného pravidla je při testu oceněna hodnotou podobnosti V (k , r ) v intervalu 0,1 . Je-li podobnost dokonalá, je V (k , r ) = 1. Nechť je při položení r-tého pravidla jako dotazu aktivováno v modifikované paměti mr pravidel. Každé z aktivovaných pravidel se vyjadřuje k té hodnotě závisle proměnné, kterou obsahuje ve svém konsekventu. Pokud se k určité k-té hodnotě závisle proměnné 41 vyslovuje v množině mr aktivovaných pravidel více pravidel najednou (a každé s jinou mírou podobnosti V (k , r ) ), je výsledná míra podobnosti dána vztahem VE (k , r ) = max[V (k , r )], r = 1,2,..., m; k = 1,2,..., K . mr Při testování r-tého pravidla (jako dotazu) tak získáme ocenění podobnosti VE (k , r ) vůči všem hodnotám závisle proměnné (pokud některá hodnota závisle proměnné není aktivizována, potom VE (k , r ) = 0). Dostaneme tak matici měr podobnosti - Obr.17a. Získané míry podobnosti VE(k,r) jsou klasifikovány do tří základních kategorií souhlasné, nesouhlasné a neurčité, které lze s využitím prahových hodnot v a w schematicky vyjádřit dle Obr.17b. VE (1,1) VE (2,1) VE (1,2 ) VE (2,2 ) VE (k ,1) VE (k ,2 ) VE (K ,1) VE (K ,2 ) VE (1,3) VE (2,3) . . . VE (k ,3) . . . VE (K ,3) ... ... VE (1, m ) VE (2, m ) ... VE (k , m ) ... VE (K , m ) Obr.17a ne 0 neurčitá v ano w 1 Obr.17b Kategorie odpovědí KD (k , r ) se při testování k-tého pravidla vůči r-té hodnotě závisle proměnné stanovuje podle těchto pravidel: jestliže VE (k , r ) < v potom KD (k , r ) = −1 (nesouhlas); jestliže VE (k , r ) ∈ v, w potom KD (k , r ) = 0 (neurčitá); jestliže VE (k , r ) > w potom KD (k , r ) = 1 (souhlas). Celkový počet souhlasných, neurčitých a nesouhlasných odpovědí vůči k-té hodnotě závisle proměnné při testu všech m pravidel jsou dány vztahy 42 m ∑ (KD(k , r ) = 1) = P(k ) (13) ∑ (KD(k , r ) = 0) = Z (k ) (14) ∑ (KD(k , r ) = −1) = N (k ) (15) r =1 m r =1 m r =1 Uveďme příklad interpretace diskriminační schopnosti báze, zde vůči dvěma hodnotám závisle proměnné: LO - NÍZKÝ, HG - VYSOKÝ podle Obr.18: P(LO)/m Z(LO)/m 0 N(LO)/m 1 P(HG)/m Z(HG)/m N(HG)/m 0 1 Obr.18 Báze má v tomto případě velmi dobrou rozlišovací schopnost vůči hodnotě LO, ale velmi špatnou vůči hodnotě HG. Celkový počet odpovědí v jednotlivých kategoriích získáme součtem přes všech K hodnot závisle proměnné: K ∑ P(k ) = DP (16) ∑ Z (k ) = DP (17) ∑ N (k ) = DP (18) k =1 K k =1 K k =1 Z kognitivního hlediska jsou odpovědi typu „ano“ a „ne“ jednoznačné, odpověď „neurčitá“ je nejednoznačná. Budeme-li měnit velikost mezí v a w, potom se i jednoznačné odpovědi mohou stát neurčitými. Pomocí hodnot P(k ) , Z (k ) a N (k ) můžeme hodnotit diskriminační schopnost báze vůči jednotlivým k- hodnotám závisle proměnné zvlášť, pomocí hodnot DP, DZ a DN můžeme hodnotit bázi jako celek - pro všechny hodnoty závisle proměnné globálně. Bude-li převážná část odpovědí jednoznačných, označíme bázi (a stejně tak i otázku) jako stabilní. 43 Bude-li převážná část odpovědí neurčitých, bude báze (otázka) označena jako variabilní. Bude-li přitom počet odpovědí „ano“ a „ne“ přibližně stejný, hovoříme o bázi (otázce) balancované, v opačném případě o bázi (otázce) extremální. Z hlediska uživatele je žádoucí, aby báze měla vlastnosti, zajišťující co největší rozlišovací schopnost (diskriminaci) vzhledem k hodnotám závisle proměnné. Ukazuje se, že stabilní a balancovaná báze bude mít zřejmě nejvýhodnější vlastnosti. Tato kombinace však nemusí zajistit dostatečnou rozlišovací schopnost. Může totiž poskytovat příliš jednoznačné odpovědi díky tomu, že chybí odpovědi typu „neurčitá“ (taková báze budí nedůvěru - z neurčitých informací jsou vyvozovány určité závěry). Znalostní báze tedy musí vykazovat rovněž určitou míru variability (přispívající její diskriminační schopnosti). Vhodná je tedy taková báze, která je přiměřené balancovaná, a k tomu přiměřeně variabilní. Pro kontrolu vlastností báze z výše uvedených hledisek lze použít tzv. ternární diagram. Vyjádřeme relativní četnosti jednotlivých kategorií odpovědí jako Y= DP DP + DN + DZ (19) N= DN DP + DN + DZ (20) C= DZ DP + DN + DZ (21) Je zřejmé, že platí Y+N+C+=1 (22) Označme dále balancovanost jako B, variabilitu V, extremálnost E a stabilitu S. Ternární diagram je pak rovnostranný trojúhelník o straně rovné 1, jehož vrcholy tvoří body Y = 1, N = 1 a C = 1, viz Obr.19. 44 C=1 N=0 Nk K Yk Y=1 C=0 N=1 Y=0 Obr.19 Ve směru základny trojúhelníka je vynášena extremalita E a balancovanost B, v směru výšky pak stabilita S a variabilita V. Zřejmě platí S+V=1 (23) E + B = 1. (24) Významné body diagramu jsou patrné z Obr.20. Bod C = 0,33, odpovídající hodnotám S = V = 0.5, byl získán na základě zkušenosti, že báze má 50% stabilitu (a variabilitu) tehdy, je-li počet odpovědí Y a N dvojnásobný než počet odpovědí C, tedy (Y + N) / C = 2. (25) C=1 C=0,33 V=1 VARIABILNÍ I S=V=0,5 STABILNÍ Y=1 Y=0,33 Obr.20 45 N=1 S=1 Tomu odpovídá v trojúhelníkovém diagramu přímka pro C = 0,33 tj. (Y + N) = 0,66. Touto přímkou je diagram rozdělen na oblast variability a stability. Bod I jako těžiště trojúhelníka je bodem zdravé balancovanosti; oblast zdravé balancovanosti vůči závisle proměnné veličině je pak dána plochou kružnice, opsané kolem bodu I poloměrem 0,125. Charakteristický bod K pak v případě dobré báze leží uvnitř tohoto kruhu (Obr.21). V=1 B V=0,6 S=V=0,5 I E S=0,7 E B=0,75 E=1 B=0,5 S=1 B=0,75 B=1 B=0,5 E=1 Obr.21 K určení charakteristického bodu K vyšetřované báze stačí znát dva údaje, např. YK a NK, podle Obr.19. Ternární diagram lze konstruovat buď pro jednotlivé lingvistické hodnoty závisle proměnné ( diskriminační schopnost báze vůči určité k-té hodnotě závisle proměnné), nebo pro závisle proměnnou jako celek (diskriminační schopnost báze vůči závisle proměnné jako takové). V první variantě diagramu vynášíme k získání bodu K podle Obr.19 na jednotlivé strany trojúhelníka YNC hodnoty, např. Yk = Nk = P(k ) P(k ) + Z (k ) + N (k ) (26) N (k ) P(k ) + Z (k ) + N (k ) (27) podle (13) až (15). Ve druhé variantě vynášíme hodnoty YC = DP DP + DN + DZ (28) 46 NC = DN DP + DN + DZ (29) podle (16) až (18). Optimalizaci báze znalostí (fuzzy modelu), vedoucí k přesunutí poloh zastupujících bodů do oblasti kružnice optimality, je nutno provést její úpravou a doplněním o další informace. Shrnutí pojmů Vyšetřování schopnosti rozpoznávání jednotlivých jazykových hodnot závisle proměnné modelu a závisle proměnné modelu jako celku provádíme kognitivní analýzou, založenou na testování konzistence báze znalostí. Výsledkem je poloha pracovního bodu v ternárním grafu, jejíž posouzení umožňuje provést rozhodnutí o úpravách pravidel vedoucích ke zlepšení kvality báze (ladění modelu) bez nutnosti účasti experta. Úlohy k řešení 3.5. 47 4. EXPERTNÍ SYSTÉMY 4.1 Definice expertního systému Čas ke studiu: 30 minut Cíl Po prostudování tohoto odstavce budete umět • Vysvětlit poslání a principy expertního systému • Vyjmenovat nejvýznamnější oblasti použití expertních systémů Výklad V dosavadních kapitolách byla probrána problematika popisu ne zcela určitých soustav s využitím metod a prostředků fuzzy množinové matematiky a simulace jejich chování. Dříve, než se zaměříme na aplikaci těchto přístupů do oblasti automatických řídících systémů ve formě fuzzy regulátorů resp. systémů pro znalostní řízení, věnujme svoji pozornost jejich poněkud obecnějšímu využití v oblasti expertních systémů. Podrobné rozpracování této problematiky může čtenář nalézt např. v literatuře [6] a [18]. Podstatné zde je, že jednou ze základních částí (fuzzy orientovaného) expertního systému je pravidlový fuzzy model. Již v úvodu těchto skript jsme zdůvodnili, proč je v určité fázi řešení složitých problémů nutno přejít od zpracování dat ke zpracování znalostí. Znalostí přitom nazýváme vzájemně provázané a měnitelné či doplnitelné struktury souvisejících jazykově vyjádřitelných poznatků. Počítače, vybavené programy, umožňujícími řešit problémy na základě znalostí se nazývají znalostní systémy. Jejich úkolem je podporovat řešení složitých problémů, které, i když pro ně neznáme algoritmické postupy řešení, jsou řešitelné pomocí produktivních metod využívajících znalostí. Povaha těchto znalostí může být jak odborná, tak i všeobecná. Problémy, řešitelné znalostními systémy mohou být tedy jak problémy odborné, tak i všeobecné, které lidé na základě všeobecných poznatků a zkušeností řeší v každodenním životě (hlavolamy, hry, testy, interpretace, plánování, monitorování či řízení běžných životních situací a pod). Expertními systémy pak nazýváme takové znalostní systémy, které jsou určeny k řešení odborných problémů, vyžadujících na rozdíl od všeobecných především znalosti často velmi úzce specializované. Hlavním posláním expertních systémů je poskytovat závěry o stavech sledované soustavy nebo o postupech řešení úloh. Tyto závěry jsou získávány na základě numerických nebo jazykových informací o konkrétním stavu soustavy. Stěžejním požadavkem je, aby 48 kvalita závěrů expertního systému odpovídala kvalitě závěrů, které by v téže situaci učinil zkušený expert. Základní třídy problémů, které jsou vhodné pro řešení expertními systémy, jsou [6]: - interpretace: rozpoznávání situací z údajů, které je popisují; - predikce: odvození očekávaných důsledků dané situace; - diagnostika: určení stavu (poruchy) systému z pozorovatelných projevů jeho chování; - konstruování: výběr a sestavení objektů do určitého funkčního celku při daných omezujících podmínkách; - plánování: sestavení posloupnosti akcí za účelem dosažení požadovaného cíle; - monitorování: sledování a porovnávání údajů odpovídajících určité situaci za účelem zjišťování a následného odstranění odchylek od očekávané situace; - ladění a opravování: výběr,sestavení a uskutečnění posloupnosti akcí odstraňující odchylky nebo chybové stavy; - učení: diagnostika, ladění a upravování vědomostí studenta; - ŘÍZENÍ: interpretace, predikce, monitorování a opravování činnosti (chování) systému. Z obecného hlediska lze expertní systémy klasifikovat do třídy systémů analyzujících (typickým problémem je diagnostika) a systémů syntetizujících (typickým problémem je plánování). Na těchto hlediscích závisí jejich architektura. Shrnutí pojmů Expertními systémy pak nazýváme takové znalostní systémy, které jsou určeny k řešení odborných problémů, vyžadujících znalosti často velmi úzce specializované. Hlavním posláním expertních systémů je podporovat rozhodování uživatele při řešení složitých úloh. Hlavními oblastmi použití expertních systémů jsou interpretace situací, predikce, diagnostika, konstruování, plánování, monitorování, ladění a opravování, učení a řízení. poslední oblast je doménou znalostních fuzzy regulátorů. Úlohy k řešení 4.1. 1. Pracujete v oblasti, která vyžaduje rozhodování ve složitých situacích? Jmenujte alespoň dvě témata takových úloh. 49 4.2 Architektura expertního systému Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • • Nakreslit architekturu diagnostického a plánovacího expertního systému Vysvětlit funkce báze znalostí a řídicího mechanizmu Výklad Architektura expertního systému vychází ze základní struktury, která je vždy tvořena bází znalostí na straně jedné a inferenčním (vyvozovacím) mechanizmem na straně druhé. Další rysy jeho architektury jsou však dány jeho typem, tj. jeho určením pro řešení úloh diagnostického nebo plánovacího typu. Úlohou diagnostických expertních systémů je provádět efektivní interpretaci dat s cílem určit, která z hypotéz o chování zkoumané soustavy nejlépe koresponduje s reálnými daty, týkajícími se konkrétního případu. Řešení případu (problému) probíhá formou postupného ohodnocování a přehodnocování dílčích hypotéz v rámci pevně daného modelu řešeného problému, který je sestaven expertem. Struktura diagnostického expertního systému je znázorněna na Obr.23. Vysvětlovací systém báze dat báze znalostí řídicí mechanismus aktuální model obecné znalosti z dané problematiky uživatel měřicí přístroje data k danému případu Obr.23 50 Jádro takového systému tvoří řídící (inferenční) mechanizmus, který operacemi nad bází znalostí na základě aktuálních dat (dotazu) upřesňuje (aktualizuje) obecný model a vyvozuje odpověď (závěr) simulace. Báze znalostí jako obecný model chování studované soustavy je tvořena expertními znalostmi, které jsou formalizovány vhodnou reprezentací. Kromě fuzzy pravidlové reprezentace, která je preferována ve skriptech, existuje řada dalších možností [5], [6], [13], [18], [19]. Aktualizace modelu je provedena vstupem konkrétních dat k danému případu. Konkrétní data jsou reprezentována bází dat a mohou být získána jako lingvistické hodnoty od uživatele (operátora), přímým měřením nebo kombinovaně. Výsledkem činnosti diagnostického expertního systému je seznam ohodnocených závěrů - cílových hypotéz (diagnóz). Uživatelsky významnou částí expertního systému je vysvětlovací podsystém. Ten poskytuje informace o konkrétním postupu, jímž bylo dosaženo závěru. Tak může uživatel sám posoudit kvalitu báze znalostí i inference a výsledek odvození případně dodatečně modifikovat. Plánovací expertní systémy jsou určeny k řešení úloh, kdy je znám cíl a počáteční stav řešení a systém má s využitím dat o konkrétním případu nalézt (pokud možno optimální) posloupnost kroků (operátorů), kterou lze cíle dosáhnout. Schéma struktury takového systému je uvedeno na Obr.24. Obr.24 51 Základní částí plánovacího expertního systému je generátor možných řešení, který automaticky kombinuje posloupnost operátorů a vytváří tak varianty řešení. S rostoucím počtem operátorů však počet možných kombinací velmi rychle narůstá (kombinatorická exploze). Data o konkrétním případu resp. znalosti experta tuto explozi omezují. Výsledkem činnosti plánovacího expertního systému je nabídka ohodnocených přípustných řešení, z nichž uživatel podle svých kriterií vybírá jednu dominantní. Shrnutí pojmů Architektura expertního systému vychází ze základní struktury, která je vždy tvořena bází znalostí na straně jedné a inferenčním (vyvozovacím) mechanizmem na straně druhé. Další rysy jeho architektury jsou dány jeho typem, tj. jeho určením pro řešení úloh diagnostického nebo plánovacího typu. Hlavními částmi diagnostického expertního systému jsou vedle báze znalostí a inferenčního mechanizmu báze dat a vysvětlovací podsystém. Expertní systémy plánovací obsahují navíc generátor přípustných řešení úlohy. Úlohy k řešení 4.2. 1. Navrhněte vhodné téma pro diagnostický a pro plánovací expertní systém! 2. Navrhněte 4 pravidla báze znalostí expertního systému pro popis systému, v jehož oblasti jste expertem! 52 4.3 Uživatelské programové vybavení Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • Vysvětlit procedury automatického získávání znalostí pro tvorbu bází znalostí • Vyjmenovat etapy tvorby expertního systému Výklad Kromě prostředků pro reprezentaci znalostí a jejich využívání jsou expertní systémy jako uživatelské programy vybaveny řadou podpůrných prostředků, které podporují uživatelskou komunikaci ve všech fázích jejich tvorby i využívání. Často více než 50% rozsahu zdrojového textu expertního systému tvoři jeho komunikační modul, který zabezpečuje potřebnou úroveň komunikace (user-friendly) s jeho tvůrci i uživateli. Je to především a) zabezpečení plynulého dialogu; b) automatické poskytování hlavních informací o průběhu konzultace (vyvozování); c) poskytování vyžádaných informací o bázi znalostí a stavu aktuálního modelu, vysvětlení a zdůvodnění průběhu a výsledků inferenčního procesu. Efektivita celého expertního systému je rozhodujícím způsobem ovlivněna kvalitou báze znalostí. Proto bývají komunikační moduly vybaveny řadou funkcí a speciálních podpůrných programů pro její tvorbu a ladění. Ve fázi výstavby expertního systému buduje bázi znalostí ve spolupráci s expertem (ty) znalostní inženýr. Ten musí být dostatečně detailně seznámen nejen s problematikou expertních systémů, formami reprezentace znalostí a inferenčními mechanizmy, ale do nezbytně nutné hloubky i s problémovou oblastí úlohy. Jeho úkolem je získávat znalosti od experta a vhodným způsobem je zakódovat. Proces tvorby báze znalostí je možno rozdělit do těchto fází: - identifikace problému, návrh koncepce báze znalostí, volba reprezentace znalostí, implementace, ladění báze znalostí, využívání báze znalostí. 53 Speciální místo zajímají systémy, které umožňují tvorbu tzv. automatické báze znalostí [13]. Vycházejí z hodnot nezávisle proměnných xjzo a hodnoty závisle proměnné yoz, kde j = 1, 2, ..., n je množina měřených hodnot vstupních (nezávisle) proměnných a z = 1, 2, ..., Z je počet měření. Každý vektor {xo1z, xo2z, ..., xonz, yoz} lze považovat za podmíněné tvrzení o chování soustavy, pokud {xo1z, xo2z, ..., xonz} považujeme za jeho antecendent a {yoz} za jeho konsekvent. Z měření tak poskytne celkem Z pravidel znalostní báze. Vstupní i výstupní proměnné jsou fuzzifikovány a ukládány do báze ve formě trojúhelníkových fuzzy čísel. Metoda tvorby automatické báze využívá přímé informace, obsažené v měřených datech a je jednou z metod tvorby tzv. datových modelů, využívajících k simulaci chování soustavy fuzzy datových algoritmů [19]. V průběhu ladění báze znalostí, tj. její optimalizace ve fázi návrhu, se opakuje následující cyklus: - test báze na reálných datech (případech), konzultace výsledků s expertem, úprava báze znalostí. Cyklus ladění báze znalostí je časově náročný a klade dosti vysoké požadavky na soustředěnou práci všech zúčastněných odborníků. I když zatím úlohy znalostního inženýra nejsou plně podporovány počítačovými programy, existuje řada prostředků, které mu práci ulehčují. Mezi ně patří především: A. Podpůrné prostředky pro tvorbu báze znalostí, kam řadíme - editory bází znalostí, které podporují kódování znalostí a zabraňují vzniku syntaktických (někdy i sémantických) chyb; - vysvětlovací subsystémy, které usnadňují ladění bází a jsou schopny detailně rekonstruovat logický postup uvažování systému; - kontrolní subsystémy, které kontrolují konzistentnost a úplnost báze znalostí při doplňování báze o nové poznatky a zajišťují testování báze po jejích úpravách. Sem patří např. systém pro kognitivní analýzu báze znalostí. B. Prostředky pro efektivní získávání znalostí od experta, které - pomáhají analyzovat expertovy znalosti, - vyhledávají znalosti nedostatečně jasně vyjádřené, - kladou expertovi doplňující otázky pro upřesnění a zjemnění struktury znalostí. C. Induktivní algoritmy pro automatizované získávání znalostí, které se opírají o různé metody a techniky induktivního učení s využíváním trénovací množiny případů. Význam těchto prostředků spočívá především v tom, že 54 - snižují vysoký podíl lidské účasti na tvorbě expertních systémů, - svým způsobem odstraňují nutnost existence experta pro vytvoření expertního systému. Vysoký význam má existence a komerční nabídka tzv. prázdných (shell) expertních systémů jako programových prostředků, které jsou vybaveny veškerými úlohami expertního systému, mají však prázdnou („nenaplněnou“) bázi znalostí. Problémová orientace (dedikce) expertního systému pak vznikne naplněním báze znalostí (implementace pravidel o chování soustavy) podle konkrétní potřeby uživatele. Obecná problematika expertních systémů nás zajímá hlavně z hlediska metodiky tvorby a optimalizace jejích fuzzy modelů - znalostních bází. Tato problematika je akceptovatelná i v oblasti využití principů expertních systémů v řízení. Shrnutí pojmů Efektivita celého expertního systému je rozhodujícím způsobem ovlivněna kvalitou báze znalostí. Proto bývají expertní systémy vybaveny řadou funkcí a speciálních podpůrných programů pro její tvorbu a ladění. Ve fázi výstavby expertního systému buduje bázi znalostí ve spolupráci s expertem znalostní inženýr. Proces tvorby báze znalostí je možno rozdělit do těchto fází identifikace problému, návrhu koncepce báze znalostí, volby reprezentace znalostí, implementace, ladění báze znalostí a využívání báze znalostí. Speciální místo zajímají systémy, které umožňují tvorbu automatické báze znalostí bez účasti experta z naměřených dat. Vysoký význam má existence a komerční nabídka prázdných (shell) expertních systémů. Úlohy k řešení 4.3. 1. Znáte problém, jehož řešení by podpořilo vytvoření expertního systému na základě naměřených dat? 2. Jak je třeba postupovat, nedává-li expertní systém správné nebo vůbec žádné odpovědi na dotazy z určité oblasti řešeného problému ? 55 5. FUZZY REGULAČNÍ SYSTÉMY FLC (Fuzzy Logic Control) 5.1 Expertní systémy a fuzzy řízení Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • Vysvětlit princip aplikace expertního systému jako fuzzy regulátoru • Vyjmenovat problémy návrhu fuzzy regulátoru Výklad Původní myšlenku využití fuzzy přístupů k řízení soustav vyslovili Zadeh [8] a Mamdani [20]. 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 (FLC Fuzzy Logic Control). Z tohoto hlediska existuje podobnost mezi fuzzy pravidlovými expertními systémy a systémy FLC [11],[12]. Oba vycházejí z modelování lidské zkušenosti a prostředí lidského rozhodování. Mamdani definuje princip fuzzy řízení (FLC) takto [20]: „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“. Potřebu použití FLC zdůvodňuje [12] 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. 56 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í [20]. Oproti expertním systémům se však systémy FLC vyznačují jistými odlišnostmi: - 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; - definice vstupního interface, tj. rozhodnutí, jakým způsobem budou vstupní pozorované hodnoty fuzzifikovány (vyjádřeny formou fuzzy množin) - metoda fuzzifikace; - 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 defuzzifikace. Kapitoly, věnované systémům FLC, uvedeme pojednáním o popisu řízení technologických procesů pomocí klasických regulačních algoritmů. 57 Shrnutí pojmů Použití expertního 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 fuzzifikace, defuzzifikace a rozhodnutí o typu inferenčního mechanizmu. Ú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 ? 2. Pokuste se vyslovit heuristiku, kterou uplatňujete při výkonu svého povolání nebo pěstování svého koníčka! 58 5.2 Popis řízení procesů pomocí klasických algoritmů Čas ke studiu: 40 minut Cíl Po prostudování tohoto odstavce budete umět • Nakreslit schéma obvodu diskrétního zpětnovazebního řízení v souvislosti s problémem syntézy fuzzy regulátoru Výklad Výchozí metodou bude popis řízení procesu jako jednoduchého lineárního regulačního obvodu - Obr.25. ω Obr.25 Jednotlivé symboly představují známé veličiny,tj.: w - žádanou hodnotu regulované veličiny, e - regulační odchylku, u - akční veličinu, v - poruchovou veličinu, y - skutečnou hodnotu regulované veličiny. Přenos GR(s) je obrazovým přenosem regulátoru, GS(s) je obrazovým přenosem regulované soustavy. Spojitá akční veličina je dána jako funkce u (t ) = f [e(t ), v(t )] . Moderní řídící metody využívají číslicových počítačů a jsou realizovány formou diskrétního řízení (DDC-Control). Jsou vybudovány na principu výpočtu velikosti akční veličiny v (i + 1) kroku regulace u[(i + 1)T ] na základě regulační odchylky e jako funkce u[(i + 1)T ] = f {u[iT ], u[(i − 1)T ],..., u[0], e[iT ], e[(i − 1)T ],..., e[0]} kde i = 1, 2, ..., jsou kroky a T je perioda vzorkování. Schéma takového DDC systému je na Obr.26. 59 ω Obr.26 Počítač vypočítává v každém i-tém kroku vzorkování ti = iT hodnotu akční veličiny pro krok (i+1) a čas [(i+1)T]. Jako lineární diskrétní algoritmy uvažujeme - algoritmus proporcionální (P) u[(i + 1)T ] = K P ⋅ e(iT ) - algoritmus sumační (S) ∆u[(i + 1)T ] = K S ⋅ e(iT ) - algoritmus proporcionálně-diferenční (PD) u[(i + 1)T ] = K P ⋅ e(iT ) + K D ⋅ ∆e(iT ) - algoritmus proporcionálně-sumační (PS) ∆u[(i + 1)T ] = K P ⋅ ∆e(iT ) + K S ⋅ e(iT ) - algoritmus proporcionálně-sumačně-diferenční (PSD) ∆u[(i + 1)T ] = K P ⋅ ∆e(iT ) + K S ⋅ e(iT ) + K D ⋅ ∆2 e(iT ) kde KP je konstanta proporcionální, KS je konstanta sumační a KD je konstanta diferenční. Shrnutí pojmů Moderní řídící metody využívají číslicových počítačů a jsou realizovány formou diskrétního řízení (DDC-Control). Jsou vybudovány na principu výpočtu velikosti akční veličiny v následujícím kroku regulace na základě regulační odchylky v kroku aktuálním. 60 Úlohy k řešení 5.2. 1. Napište vztahy pro výpočet akční veličiny regulátorů P, PS, PD a PSD! 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). 61 5.3 Lingvistický popis chování dynamických systémů Čas ke studiu: 2 hodiny Cíl Po prostudování tohoto odstavce budete umět • Sestavit jazykovou statickou a jazykovou přechodovou charakteristiku řízeného systému Výklad Fuzzy přístup k řízení soustav vyžaduje lingvistický popis jejich chování s odpovídající fuzzy reprezentací vágnosti popisu. Ukažme si v úvodu, jaké prostředky poskytuje fuzzy metoda k popisu chování systému, běžně vyjadřovanému jeho statickou a dynamickou charakteristikou. Pro ilustraci vybereme příklad systému, jehož jazykové proměnné budou rozděleny do 7 jazykových hodnot: KV KS KM - hodnota kladná velká - hodnota kladná střední - hodnota kladná malá PN - hodnota přibližně nulová ZM ZS ZV - hodnota záporná malá - hodnota záporná střední - hodnota záporná velká. Označme u(iT) velikost akční (vstupní) veličiny a y(iT) velikost regulované (výstupní) veličiny v i-tém kroku vzorkování. Dynamický systém pak můžeme popsat pomocí m pravidel typu Rr:IF [u(iT) is Au] and [y(iT) is By] THEN {y[(i+1)T] is Cy} (30) kde r = 1, 2, ..., m a Au, By, Cy jsou lingvistické hodnoty. Pro přírůstek výstupní veličiny y[(i+1)T] formulujeme pravidla Rr:IF [u(iT) is Au) and [y(iT) is By] THEN { y[(i+1)T] is Cy} Výsledný algoritmus popisu chování systému pak můžeme popsat relací R R: R1 or R2 or ... or Rm, (31) tedy fuzzy modelem disjunktivního typu. Pro přehledné rozepsání tvaru jednotlivých popisujících pravidel je vhodné použít tabulky Tab.8. Kurzívou psané hodnoty v polích 62 tabulky přitom představují lingvistické hodnoty výstupní proměnné v kroku (i+1), tedy y[(i+1)T], v závislosti na hodnotách u(iT) a y(iT) v kroku i. Tabulka Tab.9 představuje stav, kdy lingvistická výstupní veličina y[(i+1)T] je v polích tabulky nahrazena svým přírůstkem y[(i+1)T]. y[(i+1)T]: u(iT) KV KS KM PN ZM ZS ZV ZV ZM ZS ZS ZS ZS ZS ZV ZS ZM ZM ZM ZM ZM ZS ZV ZM PN PN PN PN ZM ZS ZS y(iT) PN KM KM KM PN ZM ZM ZM KM KS KS KS PN PN ZM ZM KS KV KV KS KM KM KM PN KV KV KV KS KS KS KM KM y(iT) PN KM KM KM PN ZM ZM ZS KM KM KM KM ZM ZM ZS ZS KS KM KM PN ZM ZS ZS ZV KV PN PN ZM ZS ZS ZV ZV Tab.8 y[(i+1)T]: u(iT) KV KS KM PN ZM ZS ZV ZV KV KS KS KS KM KM PN ZS KS KS KM KM KM PN ZM ZM KM KM KM KM PN ZM ZM Tab.9 Lingvistickou statickou charakteristiku řízeného systému můžeme sestavit pomocí hodnot z Tab.8. Využijeme přitom takových stavů vstupní veličiny u(iT), v nichž velikost výstupní veličiny y(iT) a y[(i+1)T] jsou stejné, tedy systém nemění svůj stav (dosažení ustáleného stavu systému). Stejnou charakteristiku můžeme sestavit i pomocí hodnot tabulky Tab.9, kde ustálený stav je dán vstupy, pro něž y[(i+1)T] nabývá lingvistických hodnot „Přibližně nula“ (PN). Tvar statické lingvistické charakteristiky soustavy, popsané lingvistickými pravidly podle Tab.8 resp. Tab.9, je na obrázku Obr.27. 63 y(iT) KV KS KM ZV ZS ZM PM KM KS KV u(iT) ZM ZS ZV Obr.27 Pomocí hodnot Tab.8 lze dále sestavit lingvistickou přechodovou charakteristiku. Vyjdeme z počátečního ustáleného stavu y(0) = PN a budeme předpokládat skokovou změnu vstupní veličiny z hodnoty u[(-1)T] = PN na hodnotu u(0) = KV Hodnotu u(1T) získáme z Tab.8 podle pravidla, určujícího hodnotu y(i+1) v poli tabulky pro hodnoty u(iT) = KV, y(iT) = PN, tedy podle pravidla tvaru IF [u(iT) is KV] and [y(iT) is PN] THEN {y[(i+1)T] is KM} kdy za i dosadíme hodnotu i = 0. Pro určení hodnoty u(2T) použijeme pravidla, které přečteme z Tab.8 pro 64 u(iT) = KV, y(iT) = KM, tedy podle pravidla IF [u(iT) is KV] and [y(iT) is KM] THEN {y[(i+1)T] is KS} kdy za i dosadíme hodnotu i = 1. Přímo z tabulky Tab.8 postupujeme při konstrukci lingvistické přechodové charakteristiky postupem, zobrazeným na Obr.28. y[(i+1)T]: y(iT) PN KM KS KV KV 1 KM KS 2 0 u(iT) PN KV KV 3 4 PN Obr.28 Tímto postupem můžeme získat hodnoty y(iT), které po vynesení do grafu poskytnou průběh lingvistické přechodové charakteristiky pro skok vstupní veličiny (PN - KV). Charakteristika je vynesena na Obr.29. Obr.29 65 Obdobně můžeme zkonstruovat lingvistickou přechodovou charakteristiku pro libovolný skok vstupní veličiny u. Vycházíme vždy z ustáleného stavu a ustáleným stavem také končíme. Lingvistický algoritmus (30) představuje kvalitativní (slovní) popis chování dynamického systému. Lingvistický algoritmus transformujeme na fuzzy algoritmus vyjádřením tvaru funkce příslušnosti relace R výsledného disjunktivního fuzzy modelu (31) (viz Kap.3.3). V následujících kapitolách provedeme analýzu problematiky systémů FLC. Shrnutí pojmů Lingvistický algoritmus představuje kvalitativní (slovní) popis statické charakteristiky i popis dynamického chování systému. Lingvistický algoritmus transformujeme na fuzzy algoritmus vyjádřením tvaru funkce příslušnosti relace R výsledného disjunktivního fuzzy modelu. Úlohy k řešení 5.3. 1. Zkonstruujte dynamickou přechodovou charakteristiku soustavy s jinou velikostí skoku vstupní veličiny než je uvedeno v případě popisu v textu kapitoly. 66 5.4 Základní struktura a parametry systému FLC Čas ke studiu: 30 minut Cíl Po prostudování tohoto odstavce budete umět • Nakreslit základní strukturu fuzzy regulátoru a vysvětlit základní funkci jeho bloků Výklad Základní konfigurace systému FLC je nakreslena na Obr.30. Tato konfigurace obsahuje čtyři základní bloky [7]: 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í. Znalostní báze zahrnuje dále - 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 DEFUZZIFIKACE, zahrnující - proceduru defuzzifikace, 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. 67 Báze znalostí Fuzzifikace Fuzzy Crisp Měření Defuzzifikace Rozhodovací logika Proces Fuzzy Crisp Akční zásah Obr.30 Jednotlivé bloky struktury systému FLC mají vlastnosti, charakterizované těmito svými parametry: a) fuzzifikační strategií a interpretací fuzzifikačního operátoru fuzz; b) datovou bází, konkrétně - 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 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í defuzzifikačního operátoru defuzz. 68 hodnot Shrnutí pojmů Základní konfigurace fuzzy regulátoru obsahuje bloky fuzzifikace vstupních veličin, blok báze znalostí, blok báze dat, blok inferenčního mechanizmu a blok defuzzifikace výstupní akční veličiny. Úlohy k řešení 5.4. 1. Co obsahuje blok báze dat fuzzy regulátoru? 69 5.5 Funkce systému FLC Čas ke studiu: 36 hodin Cíl Po prostudování tohoto odstavce budete umět • • • • Zvolit vhodný přenos fuzzy regulátoru Vysvětlit dokonale funkci jednotlivých bloků FLC Navrhnout řídicí pravidla podle různých strategií Vysvětlit typické vlastnosti fuzzy logických funkcí konjunkce, disjunkce, negace a implikace • Použít vhodný kompoziční operátor v inferenčním mechanizmu FLC • Posoudit vlastnosti typů defuzzifikačních procedur Výklad Strategie fuzzifikace Fuzzifikace 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. Fuzzifikace 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 fuzzifikaci 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 fuzzifikace 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 fuzzifikace je používán poměrně často. b) jestliže jsou pozorovaná data zatížena neurčitostí, transformuje operátor fuzzifikace fuzz nepřesná data do formy fuzzy čísel s nenulovými šířkami fuzzy intervalů. Jako fuzzifikač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 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í 70 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) [21]. 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 fuzzifikace 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 [21]. 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. a) 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). Pro diskretizaci potřebujeme mapovací tabulku, která slouží k transformaci měřených proměnných do úrovní diskrétního univerza. Mapování může být lineární, nelineární nebo smíšené. Určení kvantifikačních úrovní reflektuje jisté apriorní znalosti. Např. pro velké chyby (odchylky) může být použito rozhodování hrubší, pro malé chyby (odchylky) pak rozhodování jemnější. V příkladu diskretizace Tab.10 je uvedeno řešení, kdy spojité univerzum v rozsahu [-3.2, +3.2] je diskretizováno do 13 úrovní (Tab.10). 71 ÚROVEŇ -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 ROZSAH x 0 ≤ −3.2 − 3.2 < x 0 ≤ −1.6 − 1.6 < x 0 ≤ −0.8 − 0.8 < x 0 ≤ −0.4 − 0.4 < x 0 ≤ −0.2 − 0.2 < x 0 ≤ −0.1 − 0.1 < x 0 ≤ +0.1 + 0.1 < x 0 ≤ +0.2 + 0.2 < x 0 ≤ +0.4 + 0.4 < x 0 ≤ +0.8 + 0.8 < x 0 ≤ +1.6 + 1.6 < x 0 ≤ +3.2 + 3.2 < x 0 ZV 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ZS 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 PN 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 0.0 0.0 0.0 KS 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 0.7 0.3 0.0 KV 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0.7 1.0 Tab.10 Uvažovaná lingvistická proměnná má pět jazykových hodnot (ZV - Záporná velká, ZS - Záporná střední, PN - Přibližně nulová, KS - Kladná střední a KV - Kladná velká). Rozdělení je nelineární, takže systém FLC je méně citlivý k malým odchylkám stavů procesu než k odchylkám velkým. Odpovídající hodnoty diskrétních funkcí příslušnosti hodnot kvantované lingvistické proměnné jsou uvedeny na Obr.31. Obr.31 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á. 72 Příklad je uveden v Tab.11, kde uvažované univerzum [-6.0, +4.5] je normalizováno do uzavřeného intervalu [-1, +1] (jazykové hodnoty lingvistické proměnné jsou rozšířeny o termy ZM - Záporná malá a KM - Kladná malá). ROZSAH NORMALIZOVANÝ INTERVAL -1.0, -0.6 -0.6, -0.3 -0.3, -0.1 -0.1, 0.1 0.1, 0.3 0.3, 0.6 0.6, 1.0 -6.9, -4.1 -4.1, -2.2 -2.2, -0.3 -0.3, 0.3 0.3, 1.0 1.0, 2.5 2.5, 4.5 STŘED -1.0 -0.6 -0.3 0.0 0.3 0.6 1.0 FUZZY INTERVAL 0.4 0.3 0.3 0.1 0.3 0.3 0.4 HODNOTA ZV ZS ZM PN KM KS KV Tab.11 Proceduru normalizace univerza podle Tab.11 spolu s tvary funkcí příslušnosti jazykových hodnot lingvistické vstupní proměnné ukazuje Obr.32. A(x) 1 ZV ZS ZM PN KM KS KV -1,0 -0,6 -0,3 -0,1 0 1,0 0,3 0,6 +1,0 0,5 0 x Obr.32 b) 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. 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), je nakreslen na Obr.33. Fuzzy rovina je rozdělena na 9 podrovin P1 až P9. 73 Obr.33 Pro výpočet míry příslušnosti vstupních dat k jednotlivým jazykovým hodnotám příslušných lingvistických proměnných je použito jejich fuzzifikovaných (fuzz) forem podle kap. E.5.1. Míra příslušnosti hodnoty xj0 k fuzzy množině Bxj lingvistické proměnné b je dána vztahem konzistence V[xjo is Bxj] = Cons[Axj, Bxj], přičemž ( ) 0 Ax j = fuzz x j . 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ý (viz dále). 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 [22]. Některé systémy FLC umožňují generovat parametry funkcí příslušnosti jazykových hodnot proměnných automaticky podle zadaného kontextu. 74 Pro definici funkce příslušnosti fuzzy množin, reprezentujících jazykové hodnoty lingvistických proměnných, existují dvě metody. Jejich aplikace závisí na tom, zda uvažované univerzum je diskrétní nebo spojité. Případ funkce příslušnosti fuzzy množiny definované na diskrétním univerzu ukazuje např. Tab.10. Funkce příslušnosti pro každou diskrétní hodnotu univerza (kvantifikační úroveň) je dána číselným vektorem Ax = { 0.3, 0.7, 1.0, 0.7, 0.3 } V případě spojitého univerza lze definovat funkci příslušnosti fuzzy množin jazykových hodnot lingvistických proměnných funkcionálně. Typické funkce jsou funkce zvonová, trojúhelníková nebo lichoběžníková. Funkce, tvořené lomenými přímkovými úseky jsou parametrizovány hodnotami svých bodů zlomu. Příkladem zvonové funkce může být např. závislost ⎡ − (x − o1 )2 ⎤ A( x ) = exp ⎢ ⎥ 2 ⎣ o2 ⎦ kde podle Tab.11 jsou parametry o1 - STŘED a o2 - FUZZY INTERVAL. Při normalizaci univerza jsou parametry funkcí příslušnosti odpovídajícím způsobem modifikovány. Pravidlová 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. a) Výběr proměnných stavu procesu a řídících proměnných fuzzy řídících pravidel 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). b) 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. 75 - 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 antecendentu 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á. - Princip využití modelu procesu. V kap. E.3 byl uveden fuzzy přístup k získání statických a dynamických charakteristik, popisujících chování soustavy pomocí lingvistických termů. Opačným postupem můžeme generovat množinu fuzzy řídících pravidel pro dosažení optimálního chování konkrétního systému. Takový přístup umožňuje také připravit struktury, které jsou vhodné pro vyšetřování dalších vlastností soustavy a FLC nikoli v numerické, nýbrž v jazykové oblasti. Pro odvození tvaru řídících pravidel jsou z tohoto pohledu možné dva přístupy: první je heuristická metoda, podle níž je množina řídících pravidel zformulována analýzou chování řízené soustavy tak, aby odchylky od požadovaného stavu byly korigovány a aby bylo dosaženo cíle řízení. Odvození je čistě heuristické a odráží kvalitativní znalosti o chování procesu. Druhý přístup je v podstatě metodou deterministickou, která systematicky generuje struktury pravidel pro dosažení předepsaných požadavků na základě jejich odvození z vhodné formy deterministického modelu chování. King a Mamdani [24] uvádějí „scale mappings“ metodu, která umožňuje generovat taková pravidla řízení, která by zajistila požadovaný průběh fázové trajektorie systému při řízení a její ukončení v požadovaném stavu systému. Vychází se při tom z požadované trajektorie řídícího systému ve fázové rovině v režimu uzavřené regulační smyčky. Pravidla řízení se soustřeďují na zajištění požadovaného průběhu řízení. Vstupními hodnotami systému FLC jsou odchylka e a její derivace de. Výstupem je změna řídící (akční) veličiny regulátoru FLC, označené du. Předpokládáme společnou 76 množinu jazykových hodnot všech lingvistických proměnných, a to ZÁPORNÝ (N), NULA (Z) a KLADNÝ (P). Obr.35 ukazuje časový průběh velikosti regulační odchylky e, odezvy systému v uzavřené smyčce y a velikosti akční veličiny du. e a c b d e g f h k j i e = w-y l 0 t y w 0 + t u 0 t 1 2 3 4 5 6 7 8 9 10 11 Obr.35 Řídící pravidla je nutno zformulovat tak, aby odpovídala požadovanému průběhu regulačního pochodu. Těmito požadavky nechť je minimalizace doby ustálení regulované veličiny y a minimalizace jejích překmitů. Řídící pravidla odvodíme z 77 požadovaného tvaru odezvy nebo regulační odchylky pomocí Obr.35. Na Obr.36 je nakreslena odpovídající fázová trajektorie v souřadnicích [e, de]. e d h 3 4 7 8 11 c g i e a e k 10 6 2 l 9 j f 5 1 b Obr.36 Formulace řídících pravidel vyžaduje transformaci kvantitativního (numerického, grafického) popisu chování na popis slovní, kvalitativní, používající termů KLADNÝ, ZÁPORNÝ, NULOVÝ. K tomu použijeme metody kvalitativního popisu chování soustav - kvalitativního modelování. Chování popisované soustavy je provedeno pomocí kvalitativního popisu chování jejích proměnných, a to velikostí jejich nultých, prvních případně vyšších derivací. Pravidla chování (kvalitativní rovnice - konfluence) lze takto získat z kvantitativního popisu tzv. kvalitativní transformací. Kvalitativní popis tedy může reflektovat hluboké, kvantitativní znalosti, může však být doplněn pravidly (konfluencemi), které představují heuristiky - tedy znalosti mělké. Kvalitativní popisy mohou výhodně integrovat oba typy znalostí [25]. Pravidla, odvozená z kvantitativního popisu (fázová trajektorie, přechodová charakteristika), uvedená v Tab.12, jsou rozdělena do dvou skupin. Jednu skupinu tvoří pravidla, popisující stav soustavy v inflexních bodech přechodové charakteristiky (bodový popis - body a až l) a druhou tvoří pravidla, popisující chování soustavy v úsecích přechodové charakteristiky mezi výše uvedenými body (intervalový popis úseky 1 až 11). Pro řízení soustavy v bodě a a úseku 1 tak platí pravidla R1 a R2, která zabezpečují splnění požadavku minimalizace doby ustálení: 78 R1: IF [(e is P) and (de is Z)] THEN [du is P]. R2: IF [(e is P) and (de is N)] THEN [du is P]. Po dosažení stavu v bodu b představuje přechodová charakteristika nebo fázová trajektorie stavy soustavy v překmitech regulované veličiny. Řízení soustavy v této fázi (až do ustáleného stavu) musí probíhat podle požadavku minimalizace překmitů. Pravidla jsou stanovena jak pro body b až l a úseky 2 až 11. Takto lze podle průběhu fázové trajektorie vygenerovat pravidla pro celý přechodový děj až do ustáleného stavu (Tab.12). PRAVIDLO e de du 1 2 3 4 5 6 7 8 9 10 11 12 P Z N Z Z P N N P P N N Z N Z P Z N N P P N N P P N N P Z P N N P Z Z Z ČÁST PŘECHODOVÉ CHARAKTERISTIKY a, e, i b, f, j c, g, k d, h, l ustálený stav 1, 5, 2, 6, 3, 7, 4, 8, 9 ustálený stav 10 ustálený stav 11 ustálený stav Tab.12 Lepšího popisu lze pak dosáhnout rozšířením počtu jazykových hodnot lingvistických proměnných e, de a du. Jinou metodu generování řídících pravidel popisuje Takagi a Sugeno [26]. 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í stavové procesní proměnné a u je řídící proměnná. Antecendenty řídících 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 akční 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í 79 závislostí v jeho konsekventu. Fuzzy logika umožňuje jednoduché „propojení“ všech dílčích pravidel (podprostorů) do globálního modelu (báze pravidel), který je pak jako celek nelineární. Problémem vygenerování řídících pravidel je jak optimální volba nezávisle proměnných xj v antecendentech a konsekventech pravidel, tak také optimální volba parametrů fuzzy množin Ajxj v antecendentech 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 [22]. Podmínkou pro identifikaci řídícího modelu je datový soubor, obsahující množinu Z- vektorů naměřených hodnot {xz1, xz2, ... , xzn, yz}, z = 1, 2, ..., Z. - Princip učení. Dosavadní přístupy ke tvorbě řídících pravidel představovaly metody, kdy řídící pravidla byla vygenerována na základě expertního (kvalitativního) popisu chování soustavy, jazykového popisu chování vycházejícího z deterministického modelu (fázová trajektorie) případně identifikací množiny řídících pravidel pomocí naměřených hodnot. Procyk a Mamdani [27] popsali poprvé přístup, využívající k determinaci řídících pravidel procesu učení. Samoorganizující se regulátor SOC má hierarchickou strukturu, která obsahuje bázi znalostí (pravidel) rozdělenou do dvou skupin. První je tvořena obecnými, základními pravidly FLC, druhá je složena z „metapravidel“, která představují mechanizmus pro tvorbu a modifikaci obecné pravidlové báze FLC na základě učení s ohledem na dosažení požadovaného chování soustavy. c) Typy fuzzy řídících pravidel 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) 80 Fuzzy řídící pravidla tohoto typu (typ Takagi-Sugeno) hodnotí stav řízené soustavy (tj. stav, diference stavu) v čase t a počítají fuzzy řídící zásah v čase t jako funkci proměnných (x1, ..., xn) a řídících pravidel v bázi pravidel. Druhý typ řídících pravidel bere v úvahu akční zásah a vstupní proměnné v (i-1) kroku řízení a predikuje velikost akčního zásahu v kroku i-tém. Jde o tzv. fuzzy predikční řízení. Typické pravidlo má tvar IF {u(i-1)T is Bu) and (x1(i-1)T is A1x1) and ... and (xn(i-1)T is Anxn)} THEN [u(iT) is Bu]. Řídící zásah u je odvozen ohodnocením toho, jak dalece výsledky řízení odpovídají požadovaným stavům soustavy a cílům jejího řízení. Antecendent pravidel systému pro fuzzy predikční řízení může samozřejmě obsahovat i proměnné u a xj s větší hloubkou historie než ( i - 1). Může být rovněž použito pravidel typu Takagi - Sugeno. Fuzzy predikční pravidla se osvědčila např. v automatických systémech řízení jízdy vlaků a kontejnerových jeřábů. Tak v automatickém řízení vlakové dopravy v Sendai (Japonsko) je používáno pravidlo: IF [stop-návěští nebylo změněno] and [jestliže vlak zastavil v určené zóně] THEN [stop-návěští neměň]. d) 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. 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 kapitole budeme věnovat svoji pozornost problematice funkce fuzzy implikace THEN, použití spojovacích funktorů „or“ a „and“, operátoru fuzzy kompozice a vlastních inferenčních mechanizmů. 81 a) Funkce fuzzy implikace 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. Fukami, Mizumoto a Tanaka [28] navrhli pro výběr fuzzy implikační funkce řadu intuitivních kriterií, které vymezují vztahy mezi antecendenty a konsekventy řídících pravidel. V teorii fuzzy logiky existují dvě základní fuzzy inferenční pravidla pro aproximativní vyvozování. Jsou to již zmíněný zobecnělý MODUS PONENS (Generalized Modus Ponens GMP) a zobecnělý MODUS TOLLENS (Generalized Modus Tollens - GMT): GMP: antecendent 1: x is A'x antecendent 2: IF x is Ax THEN u is Bu -------------------------------------------------------konsekvent: u is Bou (dotaz) (model) GMT: antecendent 1: u is B'u antecendent 2: IF x is Ax THEN u is Bu -------------------------------------------------------konsekvent: x is Aox. (dotaz) (model) (odpověď) (odpověď) Strategie inference GMP má charakter dopřednému režimu prohledávání stavového prostoru, strategie GMT má charakter prohledávání zpětného [5]. 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 - viz inference u ES: Bou = A'x o R v případě použití GMP a Aox = R o B'u v případě aplikace GMT. Fuzzy logická spojka THEN v pravidlech modelu představuje variantní proceduru. Jak jsme již poznali v kapitole o inferenčních mechanizmech ES, nemusí být vždy interpretována jako implikace (v modelu CCD je interpretována jako konjunkce!). 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 [9] byla mnohými odborníky z oblasti fuzzy logiky navržena řada dalších pravidel variantních. Vznikla rodina fuzzy implikačních funkcí. Literatura zná dnes asi 40 různých typů. 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í [7]: 82 a) fuzzy konjunkce; b) fuzzy disjunkce; c) fuzzy implikace - zobecnění logické implikace pro vícehodnotovou fuzzy logiku. Pro definici těchto tří kategorií implikačních funkcí je využito základních operací proměnných x a u, které mohou nabývat dvou hodnot [0,1]. Operace průnik x ∧ u = min[x, u ] algebraický součin x ⋅ u = xu omezený průnik x u = max[0, x + u − 1] x ⎧x ⎪ u = ⎨u ⎪0 ⎩ odvážný průnik u =1 x =1 x, u < 0 jsou nazývány operacemi triangulární normy (OTN), zatímco operace sjednocení x ∨ u = max[x, u ] algebraický součet x + u = x + u − xu omezený součet x u = min[1, x + u ] odvážný součet x ⎧x ⎪ u = ⎨u ⎪1 ⎩ rozpojený součet x u = max[min ( x,1 − u ), min (1 − x, u )] u=0 x=0 x, u > 0 jsou nazývány operacemi triangulární co-normy (OTC). Operace OTN jsou použity pro definice relací fuzzy konjunkce a operace OTC pro definice relací fuzzy disjunkce. Fuzzy řídící pravidlo IF (x is Ax) THEN (u is Bu) je reprezentováno obecnou 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 83 Ax → Bu = Ax × Bu = ∫ Ax * Bu / x, u X ×U kde operátor (*) reprezentuje libovolnou operaci typu OTN. 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 OTC. Fuzzy implikace jsou soustředěny do pěti rodin níže uvedených fuzzy implikačních funkcí. Operátor (*) v nich představuje libovolnou operaci typu OTN a operátor (+) libovolnou operaci typu OTC: 1. Materiální implikace (Material Implication) ( ) Ax → Bu = Ax + Bu 2. Propoziční kalkulus (Propositional Calculus) ( ) Ax → Bu = Ax + ( Ax * Bu ) 3. Rozšířený propoziční kalkulus ( ) Ax → Bu = Ax × Bu + Bu 4. Zobecnělý Modus Ponens (GMP) Ax → Bu = sup{c ∈ [0,1], A( x ) * c ≤ B(u )} 5. Zobecnělý Modus Tollens (GMT) Ax → Bu = inf {t ∈ [0,1], B(u ) + t ≤ A(x )} Na základě těchto pěti typů vztahů byla různými autory navržena celá řada fuzzy relací R. V systémech FLC jsou nejčastěji používány tyto: 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 ) 84 První Zadehova relace Ra = ∫ X ×U 1 ∧ [1 − A( x ) + B(u )] / ( x, u ) Druhá Zadehova relace Rm = ∫ X ×U [A(x ) ∧ B(u )] ∨ [1 − A(x )] / (x, u ) Uvedené typy fuzzy relací bývají nejčastěji používány pro interpretaci spojky THEN v pravidlech modelů FLC. Odpovídající modely jsou pak označovány symboly použitých relací, např. je-li pro interpretaci spojky THEN použita Mamdaniho relace, je model označen jako Rc, v případě použití Larsenovy relace je označen jako Rp. V případě použití přístupu GMP tedy Bu = Ax o Rc, Bu = Ax o Rp. Při výběru optimální implikační funkce zkoumáme důsledky závěrů z aplikací uvedených typů fuzzy relací ve fuzzy inferencích GMP resp. GMT. Ačkoliv relace Rc a Rp nemají dobře definovanou logickou strukturu, odpovídají požadavkům aproximativního usuzování velmi dobře (zvláště při použití přístupu GMP). Pro posouzení vhodnosti použití určitého typu fuzzy implikační funkce uvádí [7] intuitivní kriteria. 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. b) Kompoziční operátory V literatuře [7] můžeme najít odkazy na čtyři typy operátorů kompozice, které mohou být použity pro inferenci, a to: - SM 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 jsou ponejvíce používány kompoziční operátory Zadehův (SM) a Kaufmannův (SP). 85 c) Inferenční mechanizmy Inferenční mechanizmy v systémech FLC jsou obvykle jednodušší než inferenční mechanizmy expertních systémů. Je to dáno tím, že u FLC konsekventy pravidel nejsou využívány jako antecedenty pravidel jiných a akční zásahy jsou založeny na jednoúrovňové dopředné inferenci (GMP). Uvažujme fuzzy čísla „asi“x10“ = Ax10 a „asi“x20 = Ax20. Pro příklad budeme uvažovat model, 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) V systémech FLC je možno použít více metod vyvozování (inferenčních mechanizmů). Jejich výběr se řídí typem řešené úlohy. Nejčastěji je používán jeden ze čtyř způsobů, využívajících těchto čtyř pravidel: 1) Mamdaniho vyvozovací pravidlo Toto pravidlo používá implikační funkci typu OTN s operací „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], 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 Bgru = [gr × Bru], což je vlastně „ořezání“ fuzzy množiny Bru na úrovni gr (viz výše - inference v kap.C.3). 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 ], 86 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.37 Obr.37 2) Larsenovo vyvozovací pravidlo používá fuzzy implikační funkci typu OTN 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.38. Rozdíl oproti metodě Mamdani je zřejmý. 87 Obr.38 3) Tsukamotova 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.39. Vstupní hodnoty x10, x20 jsou uvažovány jako obyčejná (crisp) čísla. A(x2) A(x1) B(u) g1 0 x2 0 x1 0 A(x1) A(x2) u1 u B(u) g2 0 x10 x1 0 x20 Obr.39 88 x2 0 u2 u 4) Sugenova metoda je používána v případech, kdy konsekventy pravidel jsou funkcí vstupních lingvistických proměnných (pravidlo typu Takagi-Sugeno). Potom r-té řídící pravidlo má tvar Rr: IF (xr1 is Ar1x1) and ... and (xrm is Arnxn) THEN (ur = fr(x1,x2,...,xn), r = 1, 2, ..., m, kde x1, ..., xn a u jsou lingvistické proměnné, reprezentující stavové proměnné a řídící veličinu, Ar1x1, ..., Arnxn jsou lingvistické hodnoty jazykových proměnných x1, ..., xn v univerzech X1, ..., Xn, pro r = 1, 2, ..., m a f je funkce stavových proměnných x1, ..., xn, definovaných ve vstupních podprostorech, které jsou vymezeny antecendenty jednotlivých pravidel. Uvažujme opět dvě fuzzy řídící pravidla a dvě vstupní proměnné R1: IF (x11 is A11x1) and (x12 is A12x2) THEN (u1 = f1(x1, x2) R2: IF (x21 is A21x2) and (x22 is A22x2) THEN (u2 = f2(x1, x2) Vyvozená hodnota řídící veličiny z prvního pravidla je g1f1(x1, x2), z druhého pravidla pak g2f2(x1, x2). Crisp řídící veličina je pak určena podle vztahu uo = g1 f1 ( x1 , x 2 ) + g 2 f 2 ( x1 , x 2 ) g1 + g 2 Tato metoda, navržená Takagi a Sugenem, a byla aplikována pro řízení modelu automobilu drahou s překážkami (Sugeno Car) a parkování automobilu v garáži [29]. Strategie defuzzifikace 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 defuzzifikace neexistuje. Poprvé na tento problém poukázal a návrhy na jeho řešení podal L.A.Zadeh. Dnes se používají nejčastěji tyto metody: 1. Metoda maximálního kriteria (MCM) Jako crisp hodnota u0 akční veličiny je vybrána hodnota s maximem míry příslušnosti množiny Bou. Přístup je znázorněn na Obr.40. 89 B0(u) 1 0 u u0 Obr.40 2. Metoda průměrného maxima (MOM) MOM metoda určuje jako crisp hodnotu průměrnou hodnotu všech řídících hodnot u, jejichž míry příslušnosti dosahují lokálních maxim. V případě diskrétních univerz může být pak řídící veličina vyjádřena vztahem u = o ∑u max max MAX kde umax jsou hodnoty univerza, v nichž dosahuje funkce příslušnosti Bou maxim a MAX je počet takových hodnot podle situace na Obr.41. B0(u) 1 u0 = 0 u1 u0 u2 Obr.41 90 u1 + u2 2 u 3. Metoda těžiště (COA) Široce používaná metoda, která jako crisp hodnotu řídící veličiny určuje pořadnici těžiště T plochy pod funkcí příslušnosti Bou. V případě diskrétního univerza ∑ B (u ) ⋅ u = ∑ B (u ) o u o kv kv kv o kv kv kde ukv jsou jednotlivé diskrétní hodnoty řídící veličiny u - viz Obr.42. B0(u) 1 T 0 u0 u Obr.42 Při použití strategie COA jsou výsledky podobné těm, které jsou dosahovány při použití klasického PI-regulátoru. Obecně dává metoda COA menší střední kvadratickou chybu regulace než metoda MOM. Přitom strategie MOM dává lepší výsledky než strategie MCM. Shrnutí pojmů Fuzzifikace 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. Fuzzifikace 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 91 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 TakagiSugeno. Pozornost je věnována 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. Koncepty fuzzy logiky, použité k vyvozování velikosti akčních zásahů, jsou pro kvalitu FLC regulace velmi důležité. Pozornost je věnována problematice funkce fuzzy implikace THEN, použití spojovacích funktorů "or" a "and", operátoru fuzzy kompozice a vlastních inferenčních mechanizmů. Je analyzována funkce fuzzy kompozičního inferenčního pravidla. Jsou uvedeny třídy funkcí t-normy a t-konormy. Jsou zmíněna vyvozovací pravidla Mamdaniho, Larsenovo, Tsukamotovo a Sugenovo. Strategie defuzzifikace 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ě. Úlohy k řešení 5.5. 1. Věnujte pozornost návrhu, ladění a testování fuzzy regulátoru v rámci vašeho semestrálního projektu! 92 5.6 Typy fuzzy regulátorů Čas ke studiu: 50 minut Cíl Po prostudování tohoto odstavce budete umět • Navrhnout fuzzy regulátor obdobný typu P, PS, PD a PSD Výklad 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 [23]. 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 [ ] ∆u (iT ) = K PSD e(iT ), ∆e(iT ), ∆2 e(iT ) 93 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. Fuzzy regulátor tedy považujeme za regulátor nelineární, čtyř typů, s těmito strukturami pravidel: 1) FUZZY P REGULÁTOR IF(e is Ae) THEN (u is Bu) 2) FUZZY PD REGULÁTOR IF(e is Ae) and (∆e is A∆e) THEN (u is Bu) 3) FUZZY PS REGULÁTOR IF(e is Ae) and (∆e is A∆e) THEN (∆u is B∆u) 4) FUZZY PSD REGULÁTOR 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 tak používán pro procesy vysoce nelineární a nestabilní. Pro návrh, simulaci a programování jazykového fuzzy regulátoru je uveden systém LFLC (Linguistic Fuzzy Logic Controller) z nabídky Ústavu Geoniky České akademie věd v Ostravě [23]. Tento program umožňuje navrhovat jazykový popis regulátoru a testovat jeho chování. Zahrnuje speciální editor jazykového popisu a prostředky pro zjištění, do jaké míry splňuje představu kvality regulace. Systém LFLC používá důsledně prostředků přirozeného jazyka. Uživatel nemusí specifikovat parametry fuzzy množin pro reprezentaci jazykových hodnot lingvistických proměnných. Jazykový popis pozůstává z pravidel typu IF-THEN, které jsou chápány a interpretovány jako logické implikace. Inferenční mechanizmus umožňuje vyvozovat velikost akčního zásahu (resp. velikost jeho změny) metodami, vycházejícími z jazykově-logické úrovně popisu (Zadehova metoda) nebo z popisu na úrovni fuzzy grafu (Mamdaniho metoda). Systém LFLC umožňuje koncipovat pravidla s antecendentem konjunktivního typu nebo s antecendentem obecným. 94 Shrnutí pojmů Jednotlivé typy fuzzy regulátorů se od sebe liší závisle proměnnými, nezávisle proměnnými a strukturou 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. Úlohy k řešení 5.6. 1. Promyslete rozdíly mezi klasickými a fuzzy regulátory. 95 6. SYSTÉMY ZNALOSTNÍHO ŘÍZENÍ 6.1 Vlastnosti expertní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 Pojednat o problematice expertních systémů v reálném čase 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. Dalším principem využití expertních systémů v řízení, zmíněným již v kap. A.5, je přístup, navržený Arzénem, [10]. 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ů, popsaných v kap.4. Proto byla kapitola E expertním systémům věnována. 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 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" [6]. 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". 96 Systémy znalostního řízení jsou dnes v praxi méně rozšířeny než systémy FLC. Existuje však řada prototypových řešení, které budou v závěrečné kapitole uvedeny. 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 [10]. 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.; - 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 97 - ří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.43. Identifikace a návrh D(t) v(t) T ω (t) + T T e(iT) R u(iT) Fs(s) - y(t) Obr.43 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). 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 98 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é [10]. 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. Úlohy k řešení 6.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? 2. Znázorněte graficky vhodnou a nevhodnou diversifikační schopnost báze vůči jazykové hodnotě MALÝ a vhodnou diversifikační schopnost vůči jazykové hodnotě VELKÝ! 99 6.2 Expertní systém v reálném čase Čas ke studiu: 3 hodiny Cíl Po prostudování tohoto odstavce budete umět • Vyjmenovat problémy spojené s provozem expertního systému v režimu reálného času • Definovat architekturu znalostního systému, jeho výpočetních algoritmů a komunikačních procesů Výklad 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, 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é události. Časté je strukturování znalostních bází do 100 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.44. 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. Obr.44 101 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 podkapitolách uvedeme příklad řešení znalostního regulátoru, jak jej uvádí Arzén [10]. 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. Identifikační a monitorovací algoritmy odlehčují znalostní systém předzpracováním informace. Architektura komunikačních procesů Komunikace mezi výpočtovými algoritmy a znalostním systémem probíhá komunikačním interface prostřednictvím schránek typu MAILBOX - viz Obr.44. 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. 102 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 [5]. 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. Č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 103 (odvozených ze vstupních stavů). Takový přístup transformuje problém generování posloupnosti znalostních zdrojů na problém plánovací. Shrnutí pojmů 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. Úlohy k řešení 6.2. 1. Navrhněte řídicí úlohu, která by byla vhodná pro použití inteligentního regulátoru! 2. Nakreslete ternární diagram se zastupujícím bodem u báze znalostí, která má vlastnost velké variability! 104 7. PRAKTICKÁ REALIZACE FUZZY ŘÍDÍCÍCH SYSTÉMŮ 7.1 Fuzzy systémy FLC Čas ke studiu: 2 hodiny Cíl Po prostudování tohoto odstavce budete umět • Vyjmenovat problémy a příklady praktických aplikací fuzzy regulací Výklad Hardwarová podpora Dosud jsme předpokládali, že jednotlivé části fuzzy systémů jsou implementovány softwarově na počítačích. Pro praktické průmyslové aplikace nabízí současná mikroelektronika speciální integrované obvody - fuzzy procesory. I když historie výroby speciálních čipů, schopných provádět fuzzy operace, není dlouhá, existují již v této oblasti rozlišitelné generace. I. generace fuzzy procesorů vznikla v roce 1987 v Japonsku. Je tvořena řadou obvodů FASIC (Fuzzy-Logic-Arrays). Jsou to hybridní analogo-číslicové prvky s pevně naprogramovanou inferenční fuzzy-logikou (Omron FZ1000). Fuzzy procesory I. generace jsou používány ve výrobcích spotřební elektroniky, jako jsou např. videokamery, fotoaparáty, vysavače, pračky, nádoby na vaření rýže a pod. Obvody typu FASIC jsou poměrně jednoduché, mají však velkou nevýhodu v tom, že nejsou programovatelné. II. generace fuzzy procesorů byla představena v roce 1990 firmami Togai InfraLogic (Kalifornie, USA) typ FC110 , Omron typ FP3000 a Fujitsu typ MB94110 (Japonsko). Prvních praktických výsledků dosáhl prof. Yamakawa z Kyushu Institute of Technology v Iizuce. Fuzzy procesor TIL CMOS FC110 je určen pro real-time FLC aplikace, Umožňuje realizovat až 200 000 fuzzy operací za sek. Pracuje s osmibitovou délkou slova, je zabudován do PC karty (FC110 Development Module) se 128k znalostní bází EPROM. Verze karty průmyslového FLC regulátoru (Single-board Fuzzy Controller) má 8 analogových vstupů a 4 analogové výstupy a devítiúrovňový systém přerušení. Pro podporu fuzzy regulací jsou určeny karty akcelerátorů (AT Accelerator Board, VME Accelerator Board). Pro tvorbu expertních bází jsou obvody vybaveny grafickým interaktivním prostředím Rule Editor, Membership Editor a Project Editor. 105 Digitální fuzzy procesor Omron FP3000 pracuje se Zadehovým inferenčním mechanizmem. Obsahuje 8 vstupů a 4 výstupy, báze znalostí může obsahovat max 128 pravidel s 8 proměnnými v antecendentu a 2 v konsekventu. Procesor umožňuje variantní výběr metod defuzzifikace. Fuzzy regulátor Fujitsu MB94110 je velmi jednoduchý, má 4 bitovou architekturu. Fuzzy procesory druhé generace jsou dnes používány jako koprocesory. S jejich programováním je spojena řada problémů a omezení. CPU. Fuzzy procesory III. generace vznikly spojením fuzzy a standardních procesorů Konkrétním příkladem je obvod Fuzzy-166, který byl vyvinut v kooperaci firem Siemens a Inform. Využívá kvalitní 16ti bitový mikrokontrolér 80C166 fy Siemens. Jeho RISC-CPU je velmi výkonná (10 MIPS) a umožňuje připojit 10 analogových vstupů a 60 digitálních vstupů/výstupů. V obvodu je zabudovaná optimalizovaná verze inferenčního modulu FuzzyTech fy Inform. Uživatelsky je tento fuzzy procesor velmi výhodný, protože obsahuje jednak plný rozsah standardních příkazů, jednak fuzzy příkazy. Jeho pouzdro je plně kompatibilní s pouzdrem standardního mikrokontroléru 80C166, což lze využít při přestavbě stávající klasické regulace na FLC. Firma Fujitsu dodala na trh fuzzy procesor MB94PV140. Obsahuje 8 bitovou jednotku CPU s frekvencí 10MHz, 24kB ROM, 512kB RAM, fuzzy inferenční modul se Zadehovou vyvozovací procedurou, 8 kanálový A/D 10ti bitový převodník, 2 časovače 8/16ti bitové a interface pro EPROM. Tabulka Tab.13 ukazuje míru podílu softwarových implementací a fuzzy procesorů na tvorbě aplikací systémů FLC v porovnání roku 1992 a výhledu roku 1997. TYP HARDWARE Softwarová implementace FASIC Fuzzy procesor 1992 90 % 2% 8% 1997 70 % 5% 25 % Tab.13 Grafická vývojová prostředí Z hlediska uživatele je velice důležitou stránkou aplikace fuzzy metod v řízení programové zajištění a podpora vývoje uživatelských programů. Tato podpora je zajišťována tvorbou speciálních grafických vývojových prostředí. Pro vývoj aplikačního software procesoru Fuzzy-166 je vývojové prostředí tvořeno vedle standardních nástrojů (ANSI C překladač, RISC Assembler) specializovaným software Fuzzy-Tech-Verkbank. Prostředí Fuzzy-Tech-Verbank umožňuje bez znalosti hardware vyvinout fuzzy systém a optimalizovat jej. Vývoj lze provádět i v průběhu řídícího procesu. Prostředí je tvořeno těmito nástroji: 106 1) Design-Shell - grafické prostředí pro objektově orientovanou definici komponent fuzzy systému (lingvistické proměnné, jazykové hodnoty a jejich funkce příslušnosti, rozhraní, řídící pravidla, operátory, fuzzy inferenční procedury, metody defuzzifikace). 2) Debug-Block - umožňuje simulaci funkce fuzzy systému ještě před jeho přeložením. Pro optimalizaci slouží grafická vizualizace. 3) On-Line-Modul - umožňuje ladění fuzzy regulátoru a jeho vývoj v průběhu řídícího procesu. 4) Neuro-Fuzzy-Modul - je určen pro automatické získávání informací (znalostí) a automatické generování řídících pravidel. Využívá techniky neuronových sítí a metod induktivního učení. Podpůrné vývojové prostředí pro fuzzy systémy dodává fa Togai InfraLogic pod obchodním názvem TILShell. Tento softwarový nástroj je určen k práci pod systémem Windows. Vývoj aplikaci Od vydání prvních fundamentálních prací L.A.Zadeha (1965) prošla fuzzy množinová matematika a s ní spojená vícehodnotová lingvistická logika vývojem, který vedle různých metod a prostředků přinášel i představy o jejich praktickém využití. Počáteční nedůvěra byla překonána a objevily se první aplikace [30]. Jako v mnohých jiných případech se objevily první praktické výsledky v Japonsku. Komerční využití fuzzy přístupů na trhu je datováno koncem osmdesátých let. V roce 1987 byl firmou HITACHI realizován první fuzzy řídící systém, a to na podzemní dráze ve městě Sendai. Aplikace přinesla zrychlení provozu, spojené s optimalizací brzdění a rozjíždění (cestující se nemusí držet). Podobné systémy jsou použity pro optimalizaci provozu výtahů. Celá řada průmyslových výrobků nese nápis "Fuzzy Logic" nebo "Fuzzy Control". Automatická pračka "Aisaigo" (Moje milovaná paní) na základě informací o zašpinění, množství a druhu prádla v bubnu a použitém pracím prostředku volí a potřebně modifikuje jeden ze 600 pracích programů. Fuzzy systém videorekordéru Camcorder fy Sanyo vypočítává osvit pro jednotlivé části snímku s ohledem na jeho kompozici. Firma Sony dodává na trh notebook a palmtop (PTC-500), který s využitím fuzzy systému pro rozpoznávání obrazů identifikuje 3000 japonských znaků. Firma Nissan má patentováno fuzzy řízení převodovek osobních vozů (Nissan 300ZX) a společně s firmami Mazda a Subaru připravují fuzzy antiblokovací ABS systém. V průmyslových aplikacích se využívá expertních systémů pro diagnostiku a řízení celé řady procesů. Tak např. fa Nippon zavádí fuzzy řízení průmyslových pecí, pivovar Sake je vybaven fuzzy systémem pro podporu operátorů výroby piva. Fa Hitachi dodává fuzzy řízené klimatizační jednotky, fa Fujitsu a Facom systémy pro expertní fuzzy řízení cementářských pecí. Firma Fujitsu testuje fuzzy systém pro umělé oko pro orientaci robotů (analýza scény). 107 V Evropě je rozšiřování fuzzy aplikací pomalejší. Ve Všeobecné nemocnici ve Vídni je v provozu fuzzy expertní systém pro diagnózu zhoubných nádorů CADIAG-2. Výsledky potvrzují, že výsledky diagnóz mají v 50% případů spolehlivost vyšší než 0,9. Firmy Volkswagen a Mercedes vyvíjejí fuzzy ABS systém. V České republice existuje řada aplikací expertních systémů v oblasti chemického a potravinářského průmyslu, vyvinutých na pracovištích Strojní fakulty VUT Brno a Elektrotechnické fakulty ČVUT Praha. Expertní systémy jsou využity pro diagnostiku a řízení vysokých pecí (vývoj ve VÚHŽ,a.s.Dobrá) a připravují se aplikace FLC pro řízení tepelných agregátů v koksárenství a hutnictví (Fakulta elektrotechniky a informatiky VŠB - TU Ostrava). Aplikovány jsou fuzzy systémy pro řízení cementářských pecí (Mokrá u Brna). Na pracovišti České akademie věd, Ústavu geoniky v Ostravě, byl vyvinut fuzzy regulátor LFLC [23], vhodný pro edukaci i průmyslové aplikace (řízení vypalovacích pecí pro keramiku). Shrnutí pojmů Pro podporu projektování a praktické realizace fuzzy řídicích systémů jsou k dispozici vývojová prostřední, orientovaná na různé fuzzy mikrokontroléry renomovaných světových výrobců. Úlohy k řešení 7.1. 1. Promyslete možnosti použití fuzzy regulací v oblasti vašeho profesionálního působení! 108 7.2 Systémy znalostního řízení Čas ke studiu: 4 hodiny Cíl Po prostudování tohoto odstavce budete umět • Vyjmenovat problémy a praktická řešení inteligentních regulátorů Výklad V následující kapitole uvedeme některé příklady prototypových řešení [10]. I když se expertním řízením zabývala již řada prací, ucelený přístup k tomuto problému stále chybí. 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.45 je nakresleno blokové schéma adaptivního regulátoru s průběžnou identifikací regulované soustavy [31]. Dohlížecí algoritmus Znalostní systém Identifikační algoritmus Řídicí Algoritmy Proces Obr.45 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. 109 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, 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.46 Blok vyhodnocení podmínek Výpočet D(z) Verifikace Identifikace T v(t) T ω (t) + T e(iT) R u(iT) - Obr.46 110 Fs(s) y(t) 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 [31] 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. 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 [32]. 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 [33]. Implementace znalostního řízení s využitím expertního systému je uvedena v práci [34]. 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 [35]. 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 [36]. 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áce Fosse a Ögárda [37], Liesletha [38] a Tyreuse [39]. 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]. 111 Pro prototyp znalostního systému řízení použil Arzén [41] 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 [42] či produkčního systému YAPS [43]. 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.47. 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ů. 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.47. Jiný příklad implementace základních myšlenek ve znalostním regulátoru ukazuje práce Arzéna [44]. 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. 112 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 [44], 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; - 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ů Praktická realizace systémů inteligentního řízení je značně komplikovanější než realizace fuzzy regulátorů. V literatuře lze nalézt příklady, které reprezentují řešení vybraných problémů. 113 Úlohy k řešení 7.2. 1. Navrhněte problém ze svého okolí, vhodný pro řešení pomocí inteligentního regulátoru! 114 Doporučená literatura [1] Kubík,S.a kol.: Teorie automatického řízení I, II, SNTL/ALFA Praha, 1982 [2] Zadeh,L.A.: Fuzzy Sets, Inf. & Control, 8, 1965 [3] Likeš,J., Machek,J.: Matematická statistika, SNTL Praha, 1988 [4] Kuipers,B.: Qualitative Simulation,Artificial Intelligence, 29, 1986 [5] Mařík,V.a kol.: Umělá inteligence I, ACADEMIA Praha, 1993 [6] Popper, M., Kelemen, J.: Expertné systémy, ALFA Bratislava, 1988 [7] Lee,Ch.Ch.: Fuzzy Logic in Control Systems: Fuzzy Logic Controller - Part I,II, IEEE Trans., MAC, 2, 1990 [8] Zadeh,L.A.: Outline of a New Approach to the Analysis of Complex Systems and Decision Processes, Trans. IEEE, SMC 3, 1973 [9] Zadeh,L.A.: The Concept of the Linqustic Variable and Its Application to Approximate Reasoning, I, II, III, Inf.Sci.,8, 1975 [10] Arzén,K.-E.: An Architecture for Expert System Based Feedback Control, Automatica, Vol.25, 6, 1989 [11] Novák,V.: Fuzzy množiny a jejich aplikace, SNTL Praha, 1992 [12] Zimmermann,H.J.: Fuzzy Set Theory - and Its Applications, Kluwer Academic Publishers, Boston, 1985 [13] Kopřiva,J.: Program pro aproximativní vyvozování s využitím jazykových hodnot, Proc. AI'87, Praha, 1987 [14] Druckmüller,M.: Technicky orientované lingvistické modely reálných funkcí více proměnných, VUT Brno, KOVS, sv. B-119, 1988 [15] Zadeh,L.A.: The Role of Fuzzy Logic in the Management of Uncertainty in Expert Systems, Fuzzy Sets and Systems, 11, 1983 [16] Mamdani,A., Gaines,B.R.: Fuzzy Reasoning and Its Applications, Academic Press, New York, 1981 [17] Babinec,F.: Cognitive Analysis of Fuzzy Reliability, mater. VUT FS Brno, 1990 [18] Plášil,F.a kol.: Informatika, SNTL Praha, 1989 115 [19] Nevřiva, Pokorný,M.: The Dynamic Control Using the Data Algorithms, Proc. IFSA'95, Sun City, Jihoafrická republika, 1995 [20] Kickert, W.J.M., Mamdani,F.H.:Analysis of a Fuzzy Logic Controller, Fuzzy Sets and Systems, 1, 1978 [21] Dubois,D., Prade,H.: Unfar coins and necessity measures: Toward a possibilistic interpretation of histogram, Fuzzy Sets and Systems, 1, 1985 [22] Pokorný,M.: Využití fuzzy metod v regresní analýze, doktorská dizertační práce, VUT Brno, FEI, 1994 [23] Novák,V.: Linguistic Fuzzy Logic Controller for education LFLC-edu 1.3, User and Programmer's Guide, AV ČR, ÚG Ostrava, 1993 [24] King,P.J., Mamdani,E.H.: The Application of Fuzzy Control Systems to Industrial Processes, Proc.IFAC World Congress, Boston, 1975 [25] Pokorný,M.: Nekonvenční modely složitých soustav, Habilitační práce, VŠB-TU, FEI, Ostrava, 1994 [26] Takagi,T., Sugeno,M.: Fuzzy identification of System and its application to modelling and control, IEEE Trans.,SMC, 1, 1985 [27] Procyk,T.J., Mamdani,E.H.: A Lingvistic Self-Organizing Process Controller, AUTOMATICA, 1, 1979. [28] Fukami,S., Mizumoto,M.,Tanaka,K.: Some Considerations of Fuzzy Conditional Inference, Fuzzy Sets and Systems, 4, 1980 [29] Takagi,T., Sugeno,M.: Derivation of Fuzzy Control Rules from Human Operator's Control Actions, Proc. IFAC, France, 1983 [30] Novák,V.:Bude fuzzy logika průlomem v počitačové technologii, Elektronika 8, 1993 [31] Vavřín,P.: Expertní systémy ve zpětnovazebním řízení, Proc. AI'89, ČVUT Praha, 1989 [32] Kraus,T.W, Myron,T.J.:Self-tuning PID Controller Users Pattern Recognition Approach, Control Engineering, 6, 1984 [33] Strejc,V.Maršík,J:Application of Identification-free Algorithmus for Adaptivr Control, Proc. 10th World Congress on Automatic Control, Mnichov, 1987 [34] Porter,B.A. and comp.: Real-time Expert Tunes for PI Controllers, IEEE Proc., 4, 134, 1987: [35] Sanoff,S.P.,Wellstead,P.E.:Expert Identification and Control, Proc. IFAC, York, U.K., 1985 116 [36] Trankle,T.L.,Markosian,L.Z.:An Expert System for Control System Design, Proc. IEEE, Camgridge, U.K., 1985 [37] Foss.B.A,Ögárd,O.:Goosing the Settings of a Adaptive Controller Using an Expert System, Proc. IFAC, Beijing, 1988 [38] Leisleth,J. and comp.: An Expoert System for Tuning PID Controllers, Proc. IFAC, Beijing, 1988 [39] Tyreus,B:TUNEX - an Expert System for Controller Tuning, Warvick, 1988 [40] Handelman,D.A, and comp.: Integration of Knowledge-base System and Neural Network Technigues for Robotic Control, Swansea, U.K., 1988 [41] Arzén,K.E.:Expert System for Process Control, Proc. AAAI, 1986 [42] Cannon,H.I.:Flawors:a Non-hierarchical Approach to Object Oriented Programming, Unpublisher paper. [43] Allen,E.M.:YAPS, Yet Another Prodiction System, TR-1146, Department of Computer Science, University of Maryland, 1983 [44] Arzén,K.E.: Realization of Expert System Based Feedback Control, Ph.D.Thesis, Lund Institute of Technology, Lund, Sweden, 1987 [45] Drukmüller,M.,Rychlý,J: Linguistic Model Processing System for Personal Computer IBM PC XT/AT, příručka uživatele, Brno 1988 117 Klíč k řešení Úlohy k řešení 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. Úlohy k řešení 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 Úlohy k řešení 1.3. 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. 118 Úlohy k řešení 3.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) Úlohy k řešení 3.3. Sestavte fuzzy model typu Takagi-Sugeno pro nelineární jednorozměrnou funkci y f(x), která je klesající (má charakter nepřímé úměrnosti)! IF (x is MALÝ) THEN y1 = -2x + 3 IF (x is VELKÝ) THEN y2 = -4x + 6 Úlohy k řešení 3.4. 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 119 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 Úlohy k řešení 4.2. Navrhněte 4 pravidla báze znalostí expertního systému pro popis systému, v jehož oblasti jste expertem! Z oblasti řízení automobilu – soustava je jedoucí automobil: IF (vozovka je KLUZKÁ) THEN (brzdění je MÍRNÉ ) IF (viditelnost je ZHORŠENÁ) THEN (odstup vozidel je VĚTŠÍ) IF (provoz je HUSTÝ) THEN (pozornost je VYSOKÁ) IF (stav pneumatik je ZHORŠENÝ) THEN (rychlost je NIŽŠÍ) Úlohy k řešení 4.3. Jak je třeba postupovat, nedává-li expertní systém správné nebo vůbec žádné odpovědi na dotazy z určité oblasti řešeného problému? Pokud expertní systém vyvozuje nesprávné odpovědi, bývá nejčastější příčinou existence rozporných pravidel. Není-li k dispozici programový systém pro kognitivní analýzu vlastností báze znalostí, je třeba prohlédnout pravidla a zkontrolovat jejich validitu. Pokud expertní systém nedává odpovědi na dotazy z některé problémové oblasti (odpověď NEVÍM), je třeba zkontrolovat bázi znalostí a doplnit pravidla, která se této problémové oblasti týkají. Úlohy k řešení 5.1. 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. 120 Úlohy k řešení 5.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Í) Úlohy k řešení 6.1. Znázorněte graficky vhodnou a nevhodnou diversifikační schopnost báze vůči jazykové hodnotě MALÝ a vhodnou diversifikační schopnost vůči jazykové hodnotě VELKÝ! Úlohy k řešení 6.2. Nakreslete ternární diagram se zastupujícím bodem u báze znalostí, která má vlastnost velké variability! 121
Podobné dokumenty
my diamond jewelry
Možná již přemýšlíte nad tím, čím uděláte na Vánoce svým
blízkým radost. Budeme se snažit Vaše rozhodování ulehčit
naší nabídkou poslední kolekce značky Allure, vyznačující
se elegantními a decent...
milion mil od domova czech translation
Folkestone Triennial je jeden z nejvíce ambiciózních uměleckých projektů ve Velké Británii. Je to výstava umění
vytvořených pro veřejné přístupná místa ve městě. Každé tři roky se pořádá výstava s ...
Hailea maloobchod 2010
AC/DC - cestovní vzduchování s dobíjením a microprocesorem k ovládání
368-7600 Hailea Aqua Ride Air Pump AC/DC
368-7601 Hailea Aqua Ride Air Pump UAS-12000, 8 Watt, 5 L/min., >0,02Mpa, 2 výstupy + ...