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

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...

Více

milion mil od domova czech translation

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 ...

Více

Hailea maloobchod 2010

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 + ...

Více