Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra měřicí a řídicí techniky
APLIKOVANÁ UMĚLÁ INTELIGENCE Miroslav Pokorný
Ostrava 2005
OBSAH
1 – ÚVOD - MODELOVÁNÍ A UMĚLÁ INTELIGENCE 1.1 Teorie modelování a matematické modely 1.2 Meze aplikace matematických modelů, problematika modelování složitých soustav 1.3 Využití znalostí v procesu modelování a jazykové modely 2 - KVALITATIVNÍ MODELY 2.1 Princip kvalitativního popisu 2.2 Kvalitativní proměnná 2.3 Kvalitativní algebra 2.4 Kvalitativní simulace 5.5 Kvalitativní model vylučování toxinů 3 - FUZZY MODELY 3.1 Fuzzy množinová teorie 3.2 Jazyková proměnná 3.3 Vícehodnotová logika a jazykové modely 3.4 Prohlášení a typy modelů 3.5 Aproximace jazykového modelu 4 - FUZZY EXPERTNÍ SYSTÉMY 4.1 Definice expertního systému 4.2 Architektura expertního systému 4.3 Uživatelské programové vybavení 4.4 Aktivizace fuzzy modelu 4.5 Interpretace odpovědí expertních systémů 5 - FUZZY ŘÍDÍCÍ SYSTÉMY 5.1 Expertní systémy a řízení 5.3 Jazykový popis řízení systémů 5.4 Typy fuzzy regulátorů 5.5 Fuzzy systémy FLC 6 - KOGNITIVNÍ ANALÝZA 6.1 Definice inženýrského ekvivalentu experta 6.2 Konzistence a kognitivní analýza 6.3 Ternární diagram 7 - NEURONOVÉ SÍTĚ 7.1 Princip biologických a umělých neuronových sítí 7.2 Architektury neuronových sítí 7.3 Vícevrstvá neuronová síť 7.4 Strategie adaptační metody
8 – GENETICKÉ ALGORITMY 8.1 Principy biologické evoluce 8.2 Evoluční algoritmy 8.3 Genetický algoritmus 8.4 Pokročilé evoluční algoritmy 9 – INTEGROVANÉ SYSTÉMY SOFT-COMPUTINGU 9.1 Integrace principů umělé inteligence a její výhody 9.2 Fuzzy-neuronové systémy 9.3 Fuzzy-genetické systémy 9.4 Fuzzy-neuro-genetické systémy
POKYNY KE STUDIU
Aplikovaná umělá inteligence
Skriptum se dělí na kapitoly, které odpovídají logickému dělení studované látky, ale nejsou stejně obsáhlé. Předpokládaná doba ke studiu kapitoly se může výrazně lišit, proto jsou velké kapitoly děleny dále na číslované podkapitoly a těm odpovídá níže popsaná struktura. Při studiu každé kapitoly doporučujeme následující postup:
Čas ke studiu Na úvod kapitoly je uveden čas potřebný k prostudování látky. Čas je orientační a může vám sloužit jako hrubé vodítko pro rozvržení studia celého předmětu či kapitoly. Někomu se čas může zdát příliš dlouhý, někomu naopak. Jsou studenti, kteří se s problematikou databází ještě nikdy nesetkali a naopak takoví, kteří již v tomto oboru mají bohaté zkušenosti.
Cíl Ihned potom jsou uvedeny cíle, kterých máte dosáhnout po prostudování této kapitoly – konkrétní dovednosti, znalosti.
Výklad Následuje vlastní výklad studované látky, zavedení nových pojmů, jejich vysvětlením, vše doprovázeno řešenými příklady.
Shrnutí pojmů Na závěr kapitoly jsou zopakovány hlavní pojmy, které si v ní máte osvojit. Pokud některému z nich ještě nerozumíte, vraťte se k nim ještě jednou.
Otázky Pro ověření, že jste dobře a úplně látku kapitoly zvládli, máte k dispozici několik teoretických otázek.
Úlohy k řešení Protože většina teoretických pojmů tohoto předmětu má bezprostřední význam a využití v databázové praxi, jsou Vám nakonec předkládány i praktické úlohy k řešení. V nich je hlavní význam kurzu a schopnost aplikovat čerstvě nabyté znalosti při řešení reálných situací hlavním cílem kurzu. Výsledky zadaných příkladů – stejně jako teoretických otázek výše jsou uvedeny v závěru učebnice v KLÍČI K ŘEŠENÍ. Používejte je až po vlastním vyřešení úloh, jen tak si samokontrolou ověříte, že jste obsah kapitoly skutečně úplně zvládli.
Úspěšné a příjemné studium s touto učebnicí Vám přeje autor kurzu Miroslav Pokorný
1 – ÚVOD - MODELOVÁNÍ A UMĚLÁ INTELIGENCE 1.1 Teorie modelování a matematické modely Čas ke studiu: 30 min Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit základní principy tvorby abstraktních modelů soustav Popsat problematiku konstrukce modelů složitých objektů Řešit postup nenumerického modelování s využitím znalostí Výklad Modelování je proces tvorby abstraktních (počítačových) modelů, v němž se v konvenčních přístupech využívá matematicko-fyzikální analýza i experimenty. Model je definován jako zobrazení existujících stránek reálného systému. Identifikace je pak proces ztotožnění modelu s objektem. Identifikace a modelování jsou procesy, které se navzájem prolínají. Na základě předběžných informací o systému, definovaném na zvolené rozlišovací úrovni a smyslu užití modelu přímo na objektu zkoumání, odhadneme pomocí matematicko-fyzikální analýzy strukturu modelu a vhodně volenými experimenty přímo na tomto systému pak v druhém kroku odhadujeme metodami identifikace hodnoty jeho parametrů. Cílem identifikace a modelování je vytvořit takový model systému, jehož chování by bylo v jistém smyslu - nejčastěji z hlediska minima kriteria ztráty - stejné jako u systému za stejných provozních podmínek. Zkoumaný systém nazýváme procesem a určený systém nazýváme modelem. Slovem objekt pak nazýváme onu hmotnou část skutečnosti, na které definujeme systém. Definovat systém na objektu z hlediska daného účelu a vytvořit vyhovující model jsou základní úlohy identifikace a modelování. Provedeme-li rozklad zkoumaného objektu na soubor složek a1, a2, ..., ak vzájemně vázaných a reprezentujících objekt, pak soubor složek
A a1 , a 2 ,..., a k nazýváme složkovou charakteristikou objektu [1]. Označíme-li dále symboly ruv vzájemnou souvislost složek au a av, tedy ruv = r(au,av), jako např. souvislost vstupních veličin složky au a výstupních veličin složky av, potom soubor všech uvažovaných závislostí
1
RC ruv nazýváme relační charakteristikou objektu. Vztah RC se určuje induktivním způsobem, v případě matematického (numerického) modelování výběrem nějakého všeobecného vztahu a konkrétními hodnotami jeho parametrů, tedy RC F ,
kde F je struktura a ß je množina parametrů vybraného vztahu. V procesu identifikace pak vzhledem k definici systému na objektu rozeznáváme dvě etapy: 1. Výběr struktury systému F. 2. Porovnání chování systému se vztahy patřícími do množiny F s cílem nalezení optimálních hodnot parametrů systému ß. Druhou etapu (parametrickou identifikaci systému) je možno vykonávat systematicky, avšak za podmínky, že byla ukončena etapa první, t.j. výběr struktury (kterou vykonáváme heuristicky). V procesu identifikace se při tvorbě operátoru modelu můžeme opírat jak o informaci apriorní, tak o informaci aposteriorní. Apriorní máme k dispozici ještě před začátkem pozorování a aposteriorní nám přináší vhodně volený experiment. Míra shody mezi reálným procesem a modelem je nejčastěji definována tak, že kriteriem kvality bývá míra shody modelu a procesu, určovaná pomocí funkce ztrát
J y0 , y* y0 y*
y T
0
y * eT e
Taková kvadratická ztrátová funkce je funkcí výstupu procesu y0 a výstupu z modelu y*. Odchylka e je mírou neshody mezi chováním procesu a modelu. Optimálním výsledkem identifikace pak bude určení takového modelu, pro který bude platit, že ztrátová funkce dosahuje minima
J y 0 , y*
min
Předběžné informace o zkoumaném procesu (jsou-li k dispozici) umožňují vytvořit výchozí struktury a proces identifikace pak spočívá v určení parametrů předpokládané struktury. Nejsou-li k dispozici apriorní znalosti o struktuře objektu, je třeba výchozí struktury rovněž identifikovat. Experimentálním způsobem identifikace je řešení úlohy definice modelu procesu na základě souboru jeho vstupních a jim odpovídajících výstupních dat (datově orientované modely). Je-li možno akceptovat předpoklad časové neproměnlivosti dynamických vlastností soustavy, 2
je možno použít identifikaci jednorázovou. Není-li tento předpoklad splněn, je třeba použít metod identifikace průběžné, kdy parametry (případně i struktura) matematického modelu jsou vyhodnocovány průběžně v reálném čase.
Shrnutí pojmů Matematický model je vyjádřením problému pomocí fyzikálního a matematického formálního aparátu. Takto lze vyjadřovat složité vztahy symbolicky a zachovat při tom jednoduchost a racionálnost. Matematický model je představován soustavou matematických vztahů, jednoznačně popisujících zkoumaný jev nebo proces. Formální aparát je tvořen obvykle rovnicemi algebraickými, obyčejnými nebo parciálními diferenciálními rovnicemi, soustavami takových rovnic, dále různými vztahy z teorie klasických množin, algebry, teorie pravděpodobnosti, matematické statistiky a matematické logiky. Příklad 1 Jako příklad matematického modelu uvedeme známý Newtonův zákon, který uvádí závislost velikosti zrychlení a tělesa o hmotnosti m = 12,45kg, působí-li na něj síla F. F = 12,45.a a = F : 12,45 m/s2
Otázky 1.1. Co je to matematický model objektu ? Co je proces identifikace modelu ?
Ú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 !
3
1.2 Meze aplikace matematických modelů, problematika modelování složitých soustav Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Popsat omezení v použití matematických modelů Vysvětlit úlohu vědního oboru umělá inteligence Výklad Konvenční matematicko-statistické analytické modely představují modely, pro jejichž sestavení je k dispozici (předem nebo následně) přesná a úplná informace. Pod přesnou a úplnou informací si zpravidla představujeme takovou informaci, která se dá reprezentovat či modelovat tak, že jak struktura tak i všechny parametry jsou jednoznačně určeny. Modely, vykazující takovou formální dokonalost, nejsou zpravidla adekvátní skutečnosti, která je vágní a složitá. Představa, že dostatečně složitý matematický model může reprezentovat realitu s libovolnou přesností či adekvátností, není zřejmě správná. Formálně složité matematické modely vyžadují informace, které jsou náročné jak způsobem svého objektivního získávání, tak i nároky na svoji kvalitu. Tato skutečnost je zvláště závažná u modelů, určených pro práci v informačních nebo řídících systémech reálného času. Potřebná rozsáhlá a náročná měření jsou v těžkých provozních podmínkách buď zcela nemožná, nadměrně náročná na údržbu, nebo při zajištění potřebné robustnosti je kvalita jejich informace tak nízká, že jsou nepoužitelná. Na tuto skutečnost poprvé upozornil L.A.Zadeh [2], když v r. 1973 formuloval princip inkompatibility slovy: "Tak, 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 (nebo relevantnost) téměř vzájemně se vylučujícími charakteristikami." Studovaná část reálného světa vykazuje zpravidla mnoho nejasného a vágního. Klasické metody pro formalizaci nepřesnosti předpokládají stochastický charakter ne zcela přesně determinovaných jevů. Takový stochastický přístup ke zpracování neurčitosti pomocí aparátu pravděpodobnosti a matematické statistiky vyžaduje, aby příslušné jevy byly dobře definovanými prvky množiny a měly právě tak dobře definovaný význam výpovědí o nich. Dále je nutno dodržet řadu předpokladů o datech a mít k dispozici dostatečný počet pozorování. Inženýrské projekty řízení složitých technologických procesů ukázaly, že klasická matematická statistika se svým principiálním pojetím a řadou omezení není prostředkem k formalizaci a efektivnímu využití takového typu neurčitosti, který nazýváme vágností (pojmovou neurčitostí), jež je při jazykovém popisu složitých systémů podstatná.
4
V kap.1.1 jsme definovali složkovou charakteristiku objektu vztahem RC ruv
kde ruv r a u , a v
představuje souvislosti vstupních a výstupních veličin složek zkoumaného objektu. Matematické modely vycházejí z předpokladu, že relační charakteristika objektu je definována ostře, precizně a odchylky mezi odhadovanými a pozorovanými hodnotami závisle proměnné jsou tudíž výsledkem chyb pozorování. Původ odchylek mezi pozorovanými a vypočítanými hodnotami závisle proměnné veličiny mohou však být nezanedbatelnou měrou způsobeny špatnou definovaností systémové struktury. Příčiny těchto odchylek můžeme hledat i v ne zcela ostrém charakteru systémových parametrů. V této souvislosti vyvstává relevantní problém metod formalizace a efektivního zpracování neurčitých informací. Ukazuje se, že právě schopnost lidského mozku konstruovat a využívat jednoduché algoritmy pro vyvozování závěrů v podmínkách neurčitosti je hlavní příčinou kvality lidského uvažování. Problematika poznávání obecných zákonitostí kognitivních procesů prostřednictvím modelování a simulací a snaha vytvořit metody a jim odpovídající systémy pro řešení složitých úloh takovými způsoby, které bychom považovali při řešení stejných úloh člověkem jako projevy jeho intelektu, je jednou z definicí předmětu zájmu vědního oboru umělá inteligence [3]. Za jedny z jejích dosavadních výsledků můžeme považovat nekonvenční techniky modelování, simulací a řízení takových procesů, jejichž popis je vágní a pro jejich formalizaci nelze dobře použít klasickou metodu popisu neurčitosti - matematickou statistiku. V řadě inženýrských aplikací, které využívají statistických metod pro vyjádření míry neurčitosti jevů, narážíme na problém malých rozsahů výběrových souborů. Počty vykonaných experimentů bývají často nedostatečné. Doplňková pozorování přitom často nejsou z technických nebo ekonomických důvodů dostupná. Rozpor mezi informační náročností statistiky a omezenými informačními zdroji není jediný, na nějž se při použití klasických formálních prostředků na zpracování informací naráží. Další problémem může vyplývat ze složitosti studovaných soustav a dějů, které v nich probíhají. 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í subjektivně zabarvených informací To jsou objektivní důvody, proč se ve zvýšené míře v řadě aplikací uplatňují metody umělé inteligence. Od ní se očekává, že nabídne východisko z problémů, které vznikly snahou o objektivizaci jak v přírodovědeckých, tak i inženýrských disciplínách. 5
Shrnutí pojmů Ani složitý matematický model nemůže reprezentovat realitu s libovolnou přesností či adekvátností. Formálně složité matematické modely vyžadují informace, které jsou náročné jak způsobem svého objektivního získávání, tak i nároky na svoji kvalitu. Potřebná rozsáhlá a náročná měření jsou v těžkých provozních podmínkách buď zcela nemožná, nadměrně náročná na údržbu, nebo při zajištění potřebné robustnosti je kvalita jejich informace tak nízká, že jsou nepoužitelná. Snaha vytvořit složité modely metody a jim odpovídající systémy pro řešení složitých úloh takovými způsoby, které bychom považovali při řešení stejných úloh člověkem jako projevy jeho intelektu, je jednou z definicí předmětu zájmu vědního oboru umělá inteligence. Za jedny z jejích dosavadních výsledků můžeme považovat nekonvenční techniky modelování, simulací a řízení takových procesů, jejichž popis je vágní a pro jejich formalizaci nelze dobře použít klasickou metodu popisu neurčitosti - matematickou statistiku. Příklad 1 Naprosto přesný matematický model z příkladu kap.1.1 nelze sestavit (identifikovat), pokud nemáme možnost stanovit hmotnost tělesa m a velikost působící síly F.
Otázky 1.2. Jaké jsou problémy při tvorbě matematických modelů konvenčními metodami ? Co je náplní vědního oboru umělá inteligence ?
Úlohy k řešení 1.2. Uveďte objekt, který považujete z hlediska jeho matematického modelování za složitý.
6
1.3 Využití znalostí v procesu modelování a jazykové modely Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Popsat a vysvětlit význam lidských znalostí a zkušeností pro modelování složitých soustav
Výklad V souladu s rozvojem aplikací metod umělé inteligence vzniká trend přechodu od zpracování údajů ke zpracování znalostí [3]. Lidské znalosti můžeme rozdělit do dvou kategorií: a) v první jsou tak tzv. 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 subjektivní znalosti, které kvalifikují úroveň experta. Mělké znalosti jsou vyjádřitelné formou predikátových kalkulů, heuristických pravidel, rámců či kvalitativních vztahů. V procesu modelování hraje rovněž významnou roli dělení znalostí na znalosti apriorní, známé již ve fázi tvorby modelu a znalosti aposteriorní, získávané až v etapě jeho identifikace a využívání. 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é. Cesta uplatnění specifických (subjektivních, heuristických) znalostí vede k metodám tvorby nekonvenčních nenumerických (jazykových) modelů, které využívají vícehodnotové logiky a různé formální aparáty jak pro reprezentaci neurčitých pojmů, tak i pro aproximativní (přibližné) vyvozování. Mělké znalosti však nepodchycují podstatu vztahů uvnitř modelované soustavy. Nedostatečnost mělkých znalostí vede k odkazům na metaznalosti - znalosti o znalostech. Použití mělkých znalostí vede mnohdy ke zjednodušení principů a mechanizmů metod vyvozování. Přesto, že řada takto koncipovaných přístupů dosáhla komerčního úspěchu, v mnohých případech se projevila významnost limit jejich funkčních schopností.
7
V první řadě zde stojí skutečnost, že konstrukce a kvalita takového modelu je plně závislá na existenci kvalitního experta v dané problémové oblasti. Dále pak celou řadu problémů přináší role znalostního inženýra, jehož úkolem je vedení dialogu s expertem, čerpání jeho znalostí, volba vhodné metody jejich formalizace a způsobu aproximativního vyvozování. Vyvození, která takové systémy poskytují, mají vyhraněně lokální charakter. Obecně je možno říci, že systémy, založené výhradně na mělkých znalostech, trpí ohraničenými možnostmi efektivního strukturování jimi realizovaných rozhodovacích procesů a zjednodušenými principy odvozovacích a vysvětlovacích mechanizmů. Snaha o přiměřené uplatnění hlubokých znalostí v nekonvenčních modelech z oblasti umělé inteligence vedla k přístupům, které umožňují integraci objektivních a subjektivních informací. Jejich výraznou charakteristikou je uplatnění globálních pohledů při rozhodování, plynoucích právě z uplatnění objektivních informací. Hluboké znalosti jsou rovněž nazývány znalostmi kvantitativními, mělké znalosti pak znalostmi kvalitativními. Možnost jejich integrace má zvláště velký význam v oblasti diagnostiky technologických procesů s ohledem na možnost predikce jejich poruchových stavů (bezpečnostní inženýrství).
Shrnutí pojmů V souladu s rozvojem aplikací metod umělé inteligence vzniká trend přechodu od zpracování údajů ke zpracování znalostí. Lidské znalosti můžeme rozdělit do dvou kategorií – znalosti mělké a znalosti hluboké. 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. Cesta uplatnění mělkých znalostí vede k metodám tvorby nekonvenčních nenumerických (jazykových) modelů, které využívají vícehodnotové logiky a různé formální aparáty jak pro reprezentaci neurčitých pojmů, tak i pro aproximativní (přibližné) vyvozování. Příklad 1 V příkladu kap.1 můžeme uplatnit znalost, že čím větší je působící síla, tím větší je udělené zrychlení. Další znalostí může být zkušenost, že závislost působící síly a zrychlení není lineární.
Otázky 1.3. Jaký je rozdíl mezi mělkými a hlubokými znalostmi ?
Ú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.).
8
2 - KVALITATIVNÍ MODELY 2.1 Princip kvalitativního popisu Čas ke studiu: 10 minut Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit principy kvalitativního modelování a simulací Výklad Ke kvalitativnímu popisu zkoumaných jevů přistupujeme tehdy, pokud nechceme (nebo neumíme) analyticky přesně popsat vztahy mezi proměnnými veličinami popisovaných dějů [4], [10]. Důležitým znakem kvalitativního uvažování (Common Sense - naivní fyzika) je přechod k novému oboru proměnných. Místo reálných čísel, typických pro matematický (numerický, kvantitativní) popis, je oborem hodnot množina hodnot, která umožňuje kvalitativně charakterizovat aktuální hodnotu číselné proměnné relativně vůči jejím významným hodnotám. Kvalitativní hodnota proměnné je pak dána údajem o velikosti hodnoty, charakterizující polohu aktuální hodnoty proměnné vůči významným mezním hodnotám (kladná – větší než nula, záporná – menší než nula a nulová) a údaji o vývojové tendenci proměnné (její velikost roste, klesá, je konstantní). Čas je reprezentován uspořádanou množinou symbolů, odpovídající významným okamžikům. Kvalitativní průběh proměnné v čase je funkce, která přiřazuje významným okamžikům a intervalům mezi nimi kvalitativní hodnoty. Chování soustavy (kvalitativní model) je vyjádřeno pomocí formulí (kvalitativních rovnic neboli konfluencí), vytvořených z množiny kvalitativních proměnných a kvalitativních vazeb. Vazby jsou relace, definované na kvalitativních hodnotách tak, aby co nejpřesněji popisovaly běžné aritmetické operace, vztahy derivací, rovností a nerovností. Zde je třeba zdůraznit, že na rozdíl od kvantitativního popisu, kde jsou vazby funkcemi, jde v případě kvalitativních vazeb o relace, neboť výsledek aplikace kvalitativní operace na kvalitativní hodnoty nelze určit jednoznačně Kvalitativní simulace systému spočívá v odvození kvalitativního průběhu jeho proměnných ze soustavy konfluencí, které systém charakterizují a z kvalitativních hodnot nezávisle proměnných ve zvoleném časovém okamžiku.
9
Shrnutí pojmů Ke kvalitativnímu popisu zkoumaných jevů přistupujeme tehdy, pokud nechceme (nebo neumíme) analyticky přesně popsat vztahy mezi proměnnými veličinami popisovaných dějů. Důležitým znakem kvalitativního modelování je přechod k novému oboru proměnných. Místo reálných čísel, typických pro matematický popis, je oborem hodnot množina hodnot, která umožňuje kvalitativně charakterizovat aktuální hodnotu číselné proměnné relativně vůči jejím významným hodnotám. Kvalitativní hodnota proměnné je pak dána údajem o velikosti hodnoty, charakterizující polohu aktuální hodnoty proměnné vůči významným mezním hodnotám (kladná – větší než nula, záporná – menší než nula a nulová) a údaji o vývojové tendenci proměnné (její velikost roste, klesá, je konstantní). Kvalitativní model je vyjádřen pomocí kvalitativních rovnic neboli konfluencí, vytvořených z množiny kvalitativních proměnných a kvalitativních vazeb. Kvalitativní simulace systému spočívá v odvození kvalitativního průběhu jeho proměnných ze soustavy konfluencí. Příklad 1 Kvalitativním popisem závislosti z příkladu kap.1.1 je věta: Jestliže působící síla roste, rychlost tělesa stoupá. Rychlost tělesa stoupá nelineárně, druhá derivace závislosti je kladná.
Otázky 2.1. Jaký je rozdíl mezi kvantitativním (matematickým) a kvalitativním popisem (modelováním) chování složité soustavy ?
Úlohy k řešení 2.1. Promyslete kvalitativní popis řízení směru jízdy automobilu řízením natočením kol přední nápravy
10
2.2 Kvalitativní proměnná Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit pojem kvalitativní proměnné a jejích kvalitativních hodnot Výklad Kvalitativní proměnné jsou v přístupech kvalitativního modelování značeny X: X(1), X(2) , ... , X(n). Kvalitativní proměnné mohou nabývat tří kvalitativních hodnot, a to [K+, K0, K-]. Kvalitativní hodnota proměnné X může být tedy pozitivní (K+), negativní (K-) nebo nulová (K0). Kvalitativní dynamické chování systému je dáno hodnotami kvalitativních derivací jeho proměnných. DX(1) je první a DDX(1) druhá derivace proměnné X(1). Zkušenosti s řešením reálných inženýrských problémů ukazují, že pro postačující popis chování systému je dostatečné uvažovat kvalitativní specifikaci proměnné X(1) ve tvaru tzv. kvalitativního tripletu [X(1), DX(1), DDX(1)] Pro n- proměnných je pak užito n-tripletů [X(1),DX(1),DDX(1);X(2),DX(2),DDX(2);...;X(n),DX(n),DDX(n)] n-triplet pak udává kvalitativní stav soustavy ve zvoleném časovém okamžiku. Příklad 1 Hodnota kvalitativní proměnné X(1) roste a tento stav je označen jako K+ Hodnota jiné kvalitativní proměnné X(2) klesá, tento stav je označen jako KHodnota jiné kvalitativní proměnné X(3) se nemění, tento stav je označen jako K0
11
Shrnutí pojmů Kvalitativní hodnota proměnné X může být pozitivní (K+), negativní (K-) nebo nulová (K0). Kvalitativní dynamické chování systému je dáno hodnotami kvalitativních derivací jeho proměnných. DX(1) je první a DDX(1) druhá derivace proměnné X(1). Pro popis stavu kvalitativní proměnné se používá kvalitativního tripletu [X(1), DX(1), DDX(1)].
Otázky 2.2. Co je to kvalitativní triplet ?
Úlohy k řešení 2.2. Popište kvalitativním tripletem proměnnou, jejíž hodnota exponenciálně roste
12
2.3 Kvalitativní algebra Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Provádět počítání s kvalitativními hodnotami kvalitativních proměnných Výklad Kvalitativní algebra je tvořena kvalitativními operacemi, které jsou specifikovány následujícími předpisy. a) Kvalitativní součet je definován podle Tab.1 X (i) X ( j ) X ( s) [+]
X(j) K+
K0
K-
K+
K+
K+
?
K0
K+
K0
K-
K-
?
K-
K-
X(i)
Tab.1 b) Kvalitativní součin je definován předpisem podle Tab.2. X (i ) X ( j ) X ( s ) X(j)
[] K+
K0
K-
K+
K+
K0
K-
K0
K0
K0
K0
K-
K-
K0
K+
X(i)
Tab.2 c) Kvalitativní derivace součtu je definována vztahy DX ( s ) DX (i ) DX ( j ) DDX ( s) DDX (i) DDX ( j )
13
d) Kvalitativní derivace součinu je definována vztahy
DX ( s) DX (i ) DX ( j ) X (i ) DX ( j ) X ( j ) DX (i ) e) Druhou kvalitativní derivaci součinu lze vyjádřit pomocí vztahu pro derivaci první. Zkušenosti však ukazují, že toto vyjádření je příliš složité a výsledek je vágní. Proto je v inženýrské praxi hodnota druhé derivace součinu implicitně považována jako hodnota "?", tedy pro triplet proměnné X(s)
X ( s) DX ( s) DDX ( s) A
B
?
f) Kvalitativní časová derivace je dána jednoduchými vztahy X ( j ) DX ( j ) DX ( j ) DDX ( j ) DDX ( j ) DDDX ( j )
Kvalitativní model QM je pak dán soustavou kvalitativních rovnic, kterou lze rozdělit do dvou podsoustav. První podsoustava SMD je soustavou takových kvalitativních rovnic, které jsou odrazem přírodních zákonů a reprezentují tedy tzv. hluboké znalosti. Jejich zdrojem je obvykle kvalitativní transformace rovnic matematických. Naproti tomu druhá podsoustava SMS je soustavou kvalitativních rovnic, generovaných využitím zkušeností, experimentů nebo heuristik, tedy znalostí mělkých. Charakteristickým rysem obou submodelů SMD a SMS je skutečnost, že společně reprezentují znalost úplnou. Kvalitativní modelování lze tedy považovat za jednu z metod, umožňující integraci znalostí. Příklad 1 Převeďte kvantitativní konvenční rovnici 2y + x/3 - z = 2 na kvalitativní transformací převést na kvalitativní rovnici (konfluenci) ! Řešení:
Y + X - Z = K+
Shrnutí pojmů Kvalitativní algebra je tvořena kvalitativními operacemi, které umožňují aritmetické operace s kvalitativními hodnotami. Operace jsou specifikovány předpisy pro kvalitativní součet, součin, derivaci součtu, derivaci součinu a časovou derivaci.
14
Otázky 2.3. Proč jsou některé kvalitativní operace nejednoznačné ?
Úlohy k řešení 2.3. Převeďte do kvalitativní formy následující rovnici
(3 x 2 2 x) (2 z ) y 2
15
2.4 Kvalitativní simulace Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
Sestavovat kvalitativní modely a vyšetřovat jejich chování Výklad Kvalitativní simulace probíhá metodou položení kvalitativního dotazu QU. Dotaz QU je tvořen množinou kvalitativního zadání
X (1), DX (1), DDX (1) T1 , T2 , T3 kde Ti K , K , K 0, ?
Kvalitativní řešení kvalitativního modelu QM je množina M všech n-tripletů takových, které neodporují žádné modelové relaci. Nejjednodušším algoritmem odvození množiny řešení M je postupné generování všech možných n-tripletů a jejich testování proti modelu QM. Metodologie vytvoření kvalitativního modelu závisí v prvé řadě na dostupnosti matematického (kvantitativního) modelu konvenčního. V případě jeho existence lze kvalitativní model získat metodou kvalitativní transformace a jsou-li navíc známy i velikosti numerických konstant, lze výsledky kvalitativních řešení s výsledky kvantitativními konfrontovat. Typičtější je však situace, kdy kvantitativní model je znám jen částečně a velikosti numerických konstant jsou známy v nejlepším případě jen přibližně. Pro konstrukci kvalitativního modelu lze téměř vždy inženýrskou analýzou problému sestavit alespoň výchozí rovnice, odrážející platnost základních přírodních zákonů - zákona zachování hmoty nebo energie. Jiný přístup ignoruje algebraické (hluboké) znalosti a staví kvalitativní model pouze na "chování" soustavy a ne na interpretaci algebraických vztahů. Stavový graf Další formou výstupní informace kvalitativního modelu je tzv. stavový graf. Stavový graf udává možné přechody jednoho kvalitativního stavu do stavu druhého. Jako příklad lze uvést přechod, který je graficky interpretován na Obr.1.
16
ČASOVÝ INTERVAL [++-]
BOD [+0-]
ČASOVÝ INTERVAL [+ - - ]
Obr.1 Označení možných přechodů kvalitativních stavů dává kvalitativnímu modelu významnou predikční schopnost. Příklad 1 Konstrukce kvalitativního vyjádření jednoduchého kvantitativního průběhu, vyjádřeného jeho časovou funkcí, je uvedeno na Obr.2.
Obr.2 Interval AB je kvalitativně reprezentován jako AB X PLUS ( ), DX MINUS ( ), DDX PLUS ( )
Bod B a interval BC jsou kvalitativně charakterizovány triplety B 0 ,
BC
Kvalitativní interpretace časového průběhu proměnné X na Obr.1 je tedy dána sekvencí tripletů
17
[+ - +] [+ 0 +] [+ + +] Kvalitativní znalost, popsaná touto sekvencí, není tak specifická, jako kvantitativní informace na Obr.1. Kvalitativní transformace tedy představuje jistou "degeneraci" kvantitativního popisu, je však schopna vyjádřit integrovaně v jednom modelu jak znalost kvantitativní (hlubokou), tak kvalitativní (mělkou - experimentálně zjištěnou či expertní nebo hypotetickou). Příklad 2 Na Obr.3 je nakreslen příklad jednoduchého chemického reaktoru, který lze popsat jednoduchou diferenciální rovnicí
dVr / dt Fi Fo
Obr.3 Jelikož nebyla definována funkce kvalitativního rozdílu, je třeba přepsat rovnici do tvaru
dVr / dt Fo Fi Tuto rovnici lze vyjádřit blokovým schématem na Obr.4, které je pro konstrukci kvalitativního modelu velmi vhodné.
18
Obr.4 Toto blokové schéma lze zapsat ve formě soustavy dvou konfluencí s jednou pomocnou proměnnou P1 jako P1 dVr / dt Fi P1 F0
Soustavu těchto konfluencí lze dále zapsat ve formě matice, vhodné pro počítačové programování 1 d / t VR P1 0 2 add P1 F 0 F1
Řešením tohoto kvalitativního modelu je množina n-tripletů, kde n je celkový počet kvalitativních proměnných modelu. Každá proměnná je popsána svým jednoduchým tripletem. Všechna možná řešení modelu jsou uvedena v následující tabulce Tab.3. DDV
DF0
DFI
1
+
+
+
2
0
+
+
3
+
0
+
4
+
-
+?
5
-
+
+?
6
0
0
0
7
-
+
0?
8
+
-
0?
9
-
-
-
10
0
-
-
11
-
0
-
12
-
+
-?
13
+
-
-?
Tab.3
19
Všechny proměnné jsou uvažovány jako pozitivní. V tabulce jsou jako příklad vybrány z tripletů proměnných pouze hodnoty jejich prvních derivací. Otazníky označují sporná (nejednoznačná) kvalitativní řešení, neboť např. v řešení č.4
DDV DF 0 ? závisí polarita součtu na absolutní velikosti sčítanců.
Shrnutí pojmů Kvalitativní simulace probíhá metodou položení kvalitativního dotazu QU. Dotaz QU je tvořen množinou kvalitativního zadání. Kvalitativní řešení kvalitativního modelu QM je množina M všech n-tripletů takových, které neodporují žádné modelové relaci. Nejjednodušším algoritmem odvození množiny řešení M je postupné generování všech možných N-tripletů a jejich testování proti modelu QM. Stavový graf udává možné přechody jednoho kvalitativního stavu do stavu druhého.
Otázky 2.4. Jak probíhá proces kvalitativní simulace ? Čím je významný kvalitativní stavový graf ?
Úlohy k řešení 2.4. Sestavte kvalitativní model funkce popsané jejím průběhem na následujícím obrázku. Obr.5
20
3 - FUZZY MODELY 3.1 Fuzzy množinová teorie Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
Objasnit pojem fuzzy množiny Použít fuzzy množinu pro formalizaci vágního slovního výrazu
Výklad V první části učebnice jsme zdůraznili úlohu zkušeností jako zdroje informací, které má k dispozici lidský expert a dovede jich velmi efektivně využívat při řešení složitých problémů, tedy např. i k řešení problému popisu chování či řízení složité soustavy. Lidské zkušenosti lze vyjádřit větami přirozeného jazyka, tedy jazykovým popisem. Slova, která jsou v takových popisech relevantními prvky, jsou nositeli neurčitosti, zvané, jak jsme již uvedli, pojmovou neurčitostí čili vágností. Jestliže jsme došli k závěru, že právě efektivní využití vágnosti spolu s exploatací jednoduchých, ale výkonných nenumerických algoritmů umožňují člověku činit dobré závěry, je potom jednou z principielních otázek nalezení formálního aparátu pro reprezentaci vágnosti a efektivní práci s ní. Vágnost, jako průvodní jev všech složitých, špatně popsatelných soustav, případně soustav, v jejichž funkci se uplatňuje lidský faktor, je nejčastěji formalizována pomocí aparátu fuzzy množinové teorie, jejímž zakladatelem je profesor kalifornské university v Berkeley Lotfi A. Zadeh [2], [5]. Ukázalo se, že fuzzy množiny jsou přirozeným prostředkem pro formalizaci vágnosti. V další části této kapitoly uvedeme základní principy fuzzy množinové matematiky, které jsou nezbytné pro pochopení jejích aplikací. V teorii klasických množin prvek do množiny buď patří nebo nepatří. Hovoříme pak o (plné) příslušnosti nebo o nepříslušnosti prvku do dané množiny. V Zadehově fuzzy množinové teorii, která je zobecněním teorie abstraktních množin, je fuzzy množina definována jako třída, která přiřazuje prvkům neurčitost pomocí vlastnosti jejich částečné příslušnosti formou tzv. míry příslušnosti. Nechť X 0 je klasická množina a µA : X <0,1> nechť je zobrazení. Fuzzy množinou pak budeme nazývat uspořádanou dvojici A X , A
Množinu X přitom nazveme univerzem fuzzy množiny A , µA nazveme funkcí příslušnosti fuzzy množiny A. Pro každé x X nazveme reálné číslo µA(x) stupněm příslušnosti prvku x k fuzzy množině A, přičemž µA(x) budeme interpretovat takto: 21
µA(x) = 0 ..…... prvek x do množiny A nepatří µA(x) = 1 ..…... prvek x do množiny A patří µA(x) (0,1) ... nelze s jistotou určit, zda x patří do A, přičemž velikost µA(x) je vyjádřením stupně příslušnosti x k A. Klasifikace určitého objektu stupněm příslušnosti k určité fuzzy množině je ryze subjektivní a její velikost záleží čistě na vnitřním přesvědčení lidského experta. Z tohoto hlediska nelze zaměňovat stupeň příslušnosti µ(x) se statistickou, objektivně vypočitatelnou hodnotou pravděpodobnosti P(x) <0,1> ! Jak jsme již uvedli, má člověk k popisu reality k dispozici přirozený jazyk. Jednou z jeho hlavních schopností je efektivní používání vágních pojmů. Typickou vlastností vágního pojmu je při tom skutečnost, že charakterizuje určitou třídu problémů, jejíž hranice bychom velmi těžce určovali. Kdy lze např. o daném objektu prohlásit, že to je (není) vysoký strom, že to je (není) červená barva a pod.? Konvenční přístupy modelují vágní pojmy pomocí klasických množin a hraniční prvky tedy musí být zařazeny do množiny (míra příslušnosti 1), nebo mimo ni (míra příslušnosti 0). Ukazuje se, že v tom je hlavní příčina časté neadekvátnosti matematických metod v praxi. Příklad 1 Pokusme se popsat pomocí fuzzy množiny vágní pojem "středně vysoký strom". Každé výšce, která připadá v úvahu, přiřadíme číslo <0,1> vyjadřující stupeň našeho přesvědčení, že takový strom je "středně vysoký". Tento stupeň vyplývá z toho, jak rozumíme pojmu "vysoký strom", jak hluboká je v tomto ohledu naše zkušenost, jak dalece jsme v této oblasti experty. Přiřazení takových stupňů (měr příslušnosti) závisí tedy na subjektu a také na kontextu. Po přiřazení funkce příslušnosti prvkům fuzzy množiny je z principu subjektivní a odráží obecně koncept, z něhož je problém posuzován. Pokusme se tedy definovat fuzzy množinu, formalizující vágní pojem "středně vysoký strom". Jedna z možností znázornění takové fuzzy množiny je grafický způsob, kdy na vodorovnou osu budeme vynášet výšky, na svislou osu odpovídající míry příslušnosti. Naše definice je takto zobrazena na Obr.6. Takto jsou definovány jako "zcela určitě středně vysoké" stromy s výškou mezi 3m a 5m, (míra příslušnosti 1); naproti tomu mezi "středně vysoké" nejsou zařazeny zcela určitě stromy nižší než 2m a vyšší než 7m (míra příslušnosti 0). Čtenář si zcela určitě vytvoří podobné fuzzy množiny sám ("staré auto", "mladý člověk", "hodně peněz" a pod.). Spojitá křivka zvonového tvaru, představující průběh velikosti míry příslušnosti v závislosti na velikosti prvku univerza, je nazývána fuzzy charakteristikou formalizovaného pojmu.
22
Obr.6 Taková křivka bývá často parametrizována čtyřmi body zlomu (a,b,c,d) a aproximována lomenými přímkovými úseky, jak je uvedeno na Obr.7.
Obr.7
Shrnutí pojmů Lidské zkušenosti lze vyjádřit větami přirozeného jazyka, tedy jazykovým popisem. Slova, která jsou v takových popisech relevantními prvky, jsou nositeli neurčitosti, zvané, jak jsme již uvedli, pojmovou neurčitostí čili vágností. Ukázalo se, že fuzzy množiny jsou přirozeným prostředkem pro formalizaci vágnosti. Funkci µA nazýváme funkcí příslušnosti fuzzy množiny A. Pro každé x X nazveme reálné číslo µA(x) stupněm příslušnosti prvku x k fuzzy množině A, přičemž µA(x) budeme interpretovat takto: µA(x) = 0, když prvek x do množiny A nepatří, µA(x) = 1 když prvek x do množiny A patří a µA(x) (0,1) kdy nelze s jistotou určit, zda x patří do A, přičemž velikost µA(x) je vyjádřením stupně příslušnosti x k A.
23
Otázky 3.1. Jaký je rozdíl mezi klasickými a fuzzy množinami ? Jakou výhodu mají fuzzy množiny oproti množinám klasickým ?
Úlohy k řešení 3.1. Nakreslete fuzzy množiny, formalizující jazykové pojmy „mladý člověk“ a „starý člověk“. Popište tyto fuzzy množiny jejich parametry (body zlomů jejich funkcí příslušnosti).
24
3.2 Jazyková proměnná Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Definovat pojem jazykové proměnné jazykového modelu a její hodnoty Výklad Při konstrukci jazykových popisů chování či řízení systémů se dostáváme do nenumerické oblasti, v níž musíme definovat základní prvky a operace. Jedním ze základních pojmů nenumerické matematiky je bezpochyby jazyková proměnná. Podle definice, kterou podal L. A. Zadeh [2], nazýváme jazykovou proměnnou p uspořádanou pětici
p : P * , T ( P * ), U , SY , SE
kde P* je jméno (identifikátor) jazykové proměnné p, T(P*) je množina jazykových hodnot, kterých může P* nabývat, U je univerzum, SY je syntaktické pravidlo, pomocí kterého jsou generovány prvky T(P*) a SE je sémantické pravidlo, které přiřazuje každé jazykové hodnotě její význam ve formě fuzzy množiny s univerzem U. Uvedenou obecnou definici obvykle interpretujeme takto: a) T(P*) je konečná množina jazykových hodnot J = {J1,J2,...,Jn} b) Syntaktické pravidlo SY je omezeno na výčet prvků množiny T(P*). c) Sémantické pravidlo SE interpretuje každou jazykovou hodnotu Ji, i = 1,2,3,...,n, jako fuzzy množinu Ji = (R,µLi) kde R je univerzum reálných čísel. Znamená to tedy, že pravidlo SE označuje jednotlivé fuzzy množiny přímo názvy jejich odpovídajících jazykových hodnot. Tím je každá jazyková hodnota Ji jazykové proměnné p formalizována pomocí fuzzy množiny Ji. Tím je realizována fuzzy interpretace neurčitosti, kterou každá lingvistická hodnota obsahuje. Fuzzy množina Ji, daná funkcí µ , tak reprezentuje hodnotu jazykové proměnné p, která bude vystupovat jako proměnná v jazykovém modelu. Příklad 1 Jako příklad můžeme uvést již zmíněnou jazykovou proměnnou "výška stromu", která může nabývat tří jazykových hodnot "nízký" J1, "středně vysoký" J2 a "vysoký" J3. Tyto tři jazykové hodnoty jsou reprezentovány třemi fuzzy množinami, a to typy Z, a S, podle Obr.8.
25
Obr.8 Nyní definujme funkci příslušnosti µJi(x) takto: µ (x) = (x - ai)/(bi - ai) pro ai< x < bi; µ (x) = (x - di)/(ci - di) pro ci< x < di; µ (x) = 1 pro bi x ci µ (x) = 0 pro ai; x di Každá jazyková hodnota Ji je pak určena uspořádanou čtveřicí (ai,bi,ci,di). Uspořádaná čtveřice představuje body zlomu aproximační přímky a čtyři hodnoty tvoří v takovém případě čtyři parametry zde lichoběžníkové fuzzy množiny.
Shrnutí pojmů Jedním ze základních pojmů nenumerické matematiky je bezpochyby jazyková proměnná. Podle definice, kterou podal L. A. Zadeh, nazýváme jazykovou proměnnou p, danou pětici symbolů : P* - jméno (identifikátor) jazykové proměnné p, T(P*) - množina jazykových hodnot, kterých může P* nabývat, U - univerzum, SY - syntaktické pravidlo, pomocí kterého jsou generovány prvky T(P*) a SE - sémantické pravidlo, které přiřazuje každé jazykové hodnotě její význam. Fuzzy množina, daná funkcí µ(x) , tak reprezentuje hodnotu jazykové proměnné p, která bude vystupovat jako proměnná veličina v jazykovém modelu.
Otázky 3.2. Vysvětlete princip použití fuzzy množin jako reprezentantů jazykových pojmů.
26
Úlohy k řešení 3.2. Formalizujte jazykovou proměnnou „TEPLOTA V PECI“ a navrhněte tři její vhodné jazykové hodnoty.
27
3.3 Vícehodnotová logika a jazykové modely Čas ke studiu: 3 hod Cíl
Po prostudování tohoto odstavce budete umět
Použít fuzzy množiny v jazykových modelech Vyložit principy fuzzy logiky Popsat způsob použití fuzzy modelů v praxi Výklad Binární ohodnocování situací, které je typické pro klasickou logiku (ano-ne, černý-bílý, 0-1), se - jak jsme již konstatovali - stává na určité úrovni popisu chování a řízení systémů neefektivním. Je-li naším cílem vybudovat formální aparát pro reprezentaci a efektivní využití neurčitosti, je nezbytné nahradit binární logiku logikou vícehodnotovou. Vícehodnotová logika je jedním z typických nástrojů metod umělé inteligence. Vícehodnotovou nazýváme logiku, jejíž pravdivostní hodnoty mohou nabývat více než dvou stavů, nejčastěji z intervalu <0,1>. Jazykovou je pak nazývána taková vícehodnotová logika, ve které jsou pravdivostní hodnoty vyjádřeny pomocí slovního ohodnocení. Interpretace jednotlivých pravdivostních hodnot je přitom vágní. Logickou proměnnou je zde tedy nazývána taková proměnná, která může nabývat hodnot z intervalu <0,1>. Fuzzy logika je vícehodnotová jazyková logika, která využívá aparát a zákony fuzzy množinové matematiky. Pro potřebu fuzzy logiky budeme dále uvažovat množinu logických spojek {and, or, =>} jako konjunkci (logický součin), disjunkci (logický součet) a implikaci (logické vyplývání) [5], [6]. Spojením logických proměnných pomocí logických spojek získáme logické výroky. Jazykový model pak můžeme definovat jako složitý výrok, v němž se vyskytují jména jazykových proměnných, jména jejich jazykových hodnot, logické spojky a pravdivostní hodnoty logických výroků, které nabývají hodnot z intervalu <0,1>. Významnou výhodou jazykového modelu je možnost vytvoření formálního zápisu, který nám umožní zapsat jazykový model tak, jak je běžným způsobem napsána česká věta. Tato skutečnost je základem pro použití jazykového modelu k formalizaci lidské znalosti resp. pro slovní popis chování a řízení soustav. Máme-li např. jazykovou proměnnou p = {TEPLOTA, J0, R} a množina jejích jazykových hodnot je
28
J0 = {NÍZKÁ, STŘEDNÍ, VYSOKÁ}, µVYSOKA(p) píšeme větu " TEPLOTA p je VYSOKÁ " . Dosadíme-li za teplotu p její určitou (konkrétní) hodnotu p0, pak tento výrok bude mít pravdivostní hodnotu µVYSOKA(p0). Pro formalizaci zkušeností (znalostí) mají zásadní význam tzv. podmíněná tvrzení, která vzniknou formální úpravou zápisu logické implikace. Implikaci " => " píšeme ve formě podmíněného výrazu "Jestliže (IF) podmínka , pak (THEN) důsledek ". Výše uvedené úpravy umožňují, aby se formální zápis jazykového modelu blížil co nejvíce běžnému vyjadřování v přirozené lidské řeči. Je zřejmé, že jednoduché podmíněné výrazy ještě neumožňují zápis složitějších chování. K tomu je třeba vytvořit tzv. složené podmíněné výrazy. Složeným podmíněným výrazem (prohlášením) je např. jazykový model, představující větu: Jestliže (IF) TEPLOTA t je NÍZKÁ nebo TLAK p je VYSOKÝ, pak (THEN) RYCHLOST PROUDĚNÍ v je VYSOKÁ a STABILITA SOUSTAVY s je MALÁ. Část podmíněného výrazu vlevo od implikace "THEN" se nazývá jeho předpokladem (antecedentem, premisou), pravá část pak jeho důsledkem (konsekventem). Množina pravidel jako model Jediné pravidlo popisuje chování modelované soustavy velice omezeně. Uvažujeme-li soustavu s n- vstupními a jednou výstupní proměnnou s n- rozměrnou funkční závislostí mezi vstupy a výstupem
y f x1 , x 2 ,..., x n potřebujeme pro dostatečně bohatý popis takové funkce vyslovit pravidel více. Označíme-li jazykové hodnoty vstupních proměnných jako A a jazykové hodnoty výstupní proměnné jako B, potom množina pravidel popisující chování soustavy má tvar
29
R1: R2: . . . Rr: . . . RR:
IF(x1 is A11) and (x2 is A12) and … and (xn is A1n) THEN (y is B1) ELSE IF(x1 is A21) and (x2 is A22) and … and (xn is A2n) THEN (y is B2) ELSE . . . IF(x1 is Ar1) and (x2 is Ar2) and … and (xn is Arn) THEN (y is Br) ELSE . . . IF(x1 is AR1) and (x2 is AR2) and … and (xn is ARn) THEN (y is BR)
kde r = 1,2,…,R je počet pravidel. Takové množině IF-THEN pravidel říkáme pravidlový fuzzy model. Konsekventy pravidel takového fuzzy modelu mají tvar fuzzy výroku o velikosti výstupní jazykové proměnné (y is B) a model je nazýván podle svého tvůrce pravidlovým modelem typu Mamdani. Fuzzy logické spojky v modelu V pravidlovém fuzzy modelu můžeme nalézt několik typů fuzzy logických spojek. Předně jednotlivá dílčí tvrzení o nezávisle proměnných v antecedentech pravidel jsou vázána spojkou „and“. Je to fuzzy spojka reprezentující fuzzy logický součin („a“) neboli fuzzy konjunkci. Toto fuzzy logické spojení je v antecedentech fuzzy modelů nejčastější, velmi málo se pro spojení v antecedentu používá logické spojky disjunkce „or“ (nebo). Podmínková (IF) a důsledková (THEN) část pravidel je spojena spojkou „THEN“. Tato spojka má charakter logické implikace a je opět v pravidlech standardní. Jednotlivá pravidla jsou spojena v modelu logickou spojkou „ELSE“ (jinak). Interpretace fuzzy logických spojek – funkce t-normy a funkce s-normy V klasické logice je význam (interpretace) všech logických spojek jednoznačná. Fuzzy logika se naopak vyznačuje tím, že interpretace fuzzy logických spojek jednoznačná není, každá spojka může být interpretována (vyhodnocována) několika možnými způsoby. Tato skutečnost je dána faktem, že fuzzy logické jazykové modely reprezentují lidskou (jazykovou) formulaci výroků o chování popisované soustavy a způsob chápání vazeb mezi výroky bývá interpretován různě, podle povahy popisovaného objektu. Jako příklad uveďme interpretaci spojky ELSE mezi pravidly. Tato spojka sjednocuje všechna dílčí pravidla Rr do jednoho celkového modelu. Jestliže vyslovujeme dílčí výroky a slovně je spojujeme mezi sebou, můžeme použít dvou způsobů. První z nich je charakterizování interpretací spojky ELSE jako konjunkce (A), tedy slovně „Platí pravidlo R1 – A – pravidlo R2 – A – pravidlo R3 – A – … - A - pravidlo RR“ Druhý ze způsobů interpretuje spojku ELSE jako disjunkci (NEBO) a slovní vyjádření má tvar
30
„Platí pravidlo R1 – NEBO – pravidlo R2 – NEBO – pravidlo R3 – NEBO – …- NEBO pravidlo RR“ Intuitivně jistě chápeme rozdíl v charakteru obou případů a můžeme tedy konstatovat, že máme možnost vytvořit dva různé modely, které mají sice stejná pravidla, avšak jinak lidsky chápaný význam. Základní fuzzy logické operace disjunkce (sjednocení) a konjunkce (průnik) dvou fuzzy množin A a B (definovaných na jednom univerzu) jsou dány vztahy
A B ( x) max A ( x), B ( x)
AB ( x) min A ( x), B ( x)
Situace, kterou jsme popsali v případě víceznačné (zde dvojznačné) interpretace logické spojky ELSE, platí ve fuzzy logice i u spojek fuzzy konjunkce, fuzzy disjunkce a a také u fuzzy negace. Je to sice komplikace, která ale představuje velmi silný prostředek fuzzy logiky vytvářet modely s jemně odstupňovaným charakterem svého „chování“, tak jak je to obvyklé při lidském uvažování. Vezmeme-li v úvahu možné interpretace fuzzy logické spojky disjunkce (NEBO), musíme v první řadě zdůraznit, že všechny interpretace musí splňovat základní teoretické předpoklady kladené na logickou disjunkci, musí zachovat její typický logický charakter 6. Množina možných fuzzy interpretací logické spojky disjunkce tvoři skupinu fuzzy logických funkcí zvaných funkce t-konormy (triangulární konormy). Uvedeme příklad dvou různých (a často používaných): Algebraický součet
A B ( x) A ( x ) B ( x ) A ( x ) B ( x)
Omezený součet
A B ( x) min1, A ( x) B ( x)
Obrátíme-li pozornost na interpretace fuzzy logické spojky konjunkce (A), pak platí totéž co bylo řečeno o fuzzy disjunkci. Příslušná skupina možných interpretací fuzzy konjunkce je zde nazývána funkcemi t- normy (triangulární normy). Uveďme opět příklad dvou takových často používaných funkcí. Omezená diference
A( ) B ( x) max0, A ( x) B ( x) 1
Algebraický součin
A B ( x ) A ( x ) B ( x )
Spojka ELSE mezi pravidly fuzzy modelu může být tedy interpretována jakoukoliv funkcí s charakterem disjunkce (t-konormy) nebo s charakterem konjunkce (t-normy). Mamdaniho pravidlové modely, používajících zde funkce t-konormy se nazývají modely disjunktivní (součtové), modely používající funkci t-normy se nazývají modely konjunktivní (součinové). Pro charakter (chování) modelu je toto spojení určující.
31
To, co bylo řečeno o spojkách ELSE, OR či AND, platí i pro třetí základní logickou spojku – spojku NEGACE. Ve fuzzy logice existuje množina možných interpretací této funkce, která se nazývá Sugenovy negace. Vztah pro možné interpretace fuzzy negace je analytický s jedním parametrem, který určuje jeho charakter:
A' ( x) 1 A ( x) Ve fuzzy logice je možno použít celou řadu variant negace, vyjádřené parametricky Sugenovým vztahem
C (a)
1 a , ( 1, ) 1 a
Je-li hodnota parametru lambda rovna nule, přechází vztah do formy klasické logické negace. Doposud jsme hovořili pouze o možnosti víceznačné interpretace fuzzy logických spojek disjunkce, konjunkce a negace. Tyto spojky jsou spojkami základními, s jejichž pomocí jsou definovány logické spojky složené. Takovou složenou logickou spojkou je spojka logické implikace (), která je v našem Mamdaniho fuzzy modelu použita ke spojení THEN mezi antecedenty a konsekventy pravidel. V klasické logice je implikace definována s použitím základních spojek formou
p q p q ( p q) p tedy pomocí spojek konjunkce, disjunkce a negace. Její klasická interpretace je dána tabulkou Tab.4 p
Q
pq
0
0
1
0
1
1
1
0
0
1
1
1
Tab.4 Jestliže můžeme základní spojky disjunkce, konjunkce a negace interpretovat pomocí libovolné funkce t-normy, t-konormy a Sugenovy negace, potom (při jejich kombinacích) existuje také celá řada možností interpretace fuzzy logické spojky THEN - implikace. Uveďme pět nejpoužívanějších. Kleene – Dienesova implikace ( x, y ) max 1 A ( x ), B ( y ) Lukasiewiczova implikace ( x, y ) min1, 1 A ( x) B ( y) Zadehova implikace
( x, y ) maxmin A ( x ), B ( y ),1 A ( x)
32
Mamdaniho implikace ( x, y ) min A ( x ), B ( y ) Larienova implikace ( x, y ) A ( x ) B ( y ) Fuzzy logika tedy umožňuje pro každý řešený případ použít takové interpretace logických spojek modelu, které „doladí“ chování modelu přesně podle vlastností a chování modelované soustavy. Je potřeba zdůraznit, že v praxi používáme jen určitý omezený počet interpretací, které volíme podle charakteru modelované soustavy. Často je potřeba postupovat ve fázi ladění fuzzy modelu metodou „pokus-omyl“ a nejvhodnější interpretaci experimentálně vyhledat. Je třeba znovu zdůraznit, že použitý konkrétní způsob interpretace fuzzy logických spojek v pravidlovém fuzzy modelu určuje způsob vyhodnocování modelu (tzv. vyvozování) v procesu simulačních výpočtů a určuje také chování modelu a tím i velikost vypočtené (vyvozené) závisle proměnné. Pravidlový fuzzy model typu Takagi-Sugeno V dosavadním pojednání o fuzzy modelech jsme uvažovali model typu Mamdani, jehož konsekventy jsou tvořeny fuzzy výroky o velikosti závisle proměnné. Jiným, velmi rozšířeným pravidlovým fuzzy modelem je model typu Takagi-Sugeno 7. Tento model je typický tím, že konsekventem pravidel je funkce vstupních proměnných ve tvaru IF (x1 is A1) and (x2 is A2) and … and (xn is An) THEN y = f(x1,x2,…,xn) Funkce konsekventu je realizována ve formě lineární kombinace vstupních proměnných, tedy
y k o k1 x1 k 2 x 2 ... k n x n Z matematického hlediska jde o lineární regresní funkci. Význam modelu Takagi-Sugeno spočívá v tom, že antecedent pravidla vymezuje fuzzy prostor, v němž lineární regresní funkce konsekventu platí. Máme-li pak více pravidel a každé pravidlo reprezentuje část fuzzy prostoru vstupních proměnných v němž platí příslušná lineární regresní funkce konsekventu, lze tímto modelem formalizovat libovolnou R- rozměrnou nelineární funkci, kde R je počet pravidel modelu. Uvažujme model Takagi-Sugeno ve tvaru R1: R2: . . . RR:
IF(x1 is A11) and (x2 is A12) and … and (xn is A1n) THEN y = k01+k11x1+…+k1nxn IF(x1 is A21) and (x2 is A22) and … and (xn is A2n) THEN y = k02+k21x1+…+k2nxn . . . IF(x1 is AR1) and (x2 is AR2) and … and (xn is ARn) THEN y = k0R+kR1x1+…+kRnxn
Označíme-li obecně r- té pravidlo Rr a hodnotu jeho funkce v konsekventu yr, výsledná globální výstupní hodnota modelu je dána váženým součtem hodnot ze všech jeho pravidel ve tvaru
33
R
y
w y r 1 R
r
w r 1
r
, r 1,..., R
r
kde váhové koeficienty jednotlivých pravidel wr, r = 1,…,R jsou pravdivostní hodnoty antecedentů pravidel pro dané vstupní hodnoty x*i, kde i = 1,…,a je počet vstupních proměnných modelu
wr min[ Ari ( xi )] i
Globální výstupní hodnota modelu Takagi-Sugeno je obyčejné (ostré) číslo, zatímco výstupem modelu typu Mamdani je fuzzy množina. Příklad 1 Uveďme příklad sestavení modelu Mamdani pro jednorozměrnou nelineární funkci f(x) s průběhem podle obrázku Obr.9.
Obr.9 Obor hodnot vstupní proměnné x rozdělme do dvou částí, které pojmenujeme jazykově jako MALÁ a VELKÁ. Tyto jazykové hodnoty vyjádříme pomocí dvou fuzzy množin, a to Mx a
34
Vx. Obdobně obor hodnot závisle proměnné rozdělíme na dvě části – MALÁ a VELKÁ. Tyto jazykové hodnoty budeme formalizovat fuzzy množinami My a Vy. Čárkované přímky rozdělují obor hodnot funkce f(x) na čtyři části, přičemž funkce probíhá oblastí označenou I a II. V těchto dvou částech podprostorech) je funkce f(x) definována dvěma fuzzy pravidly IF (x is Mx) THEN (y is My) IF (x is Vx) THEN (y is Vy) Tyto dvě pravidla tvoří fuzzy model typu Mamdani. V následujícím příkladu ukážeme, jak lze tutéž funkci f(x) popsat pomocí fuzzy modelu typu Takagi-Sugeno. Příklad 2 Uveďme příklad sestavení modelu Takagi-Sugeno pro jednorozměrnou nelineární funkci f(x) s průběhem podle obrázku Obr.10.
Obr.10 Obor hodnot vstupní proměnné x rozdělme do dvou částí, které pojmenujeme jazykově jako MALÁ a VELKÁ. Tyto jazykové hodnoty vyjádříme pomocí dvou fuzzy množin, a to Mx a Vx. Aproximujme nyní průběh funkce f(x) dvěma vhodnými přímkami, označenými lineárními funkcemi
y1 = k01 + k1x y2 = k02 + k2x
35
Přímky jsou voleny tak, že první z nich aproximuje původní nelineární funkci f(x) v oblasti malých hodnot x, druhá pak aproximuje funkci f(x) v oblasti hodnot velkých. Jazykově můžeme nyní aproximaci funkce f(x) popsat dvěma fuzzy pravidly typu Takagi-Sugeno takto: IF (x is Mx) THEN y1 = k01+k1x IF (x is Vx) THEN y2 = k02+k2x Původní nelineární funkce f(x) je popsána pomocí dvou fuzzy pravidel a dvou lineárních funkcí.
Shrnutí pojmů Vícehodnotová logika je jedním z typických nástrojů metod umělé inteligence. Vícehodnotovou nazýváme logiku, jejíž pravdivostní hodnoty mohou nabývat více než dvou stavů, nejčastěji z intervalu <0,1>. Fuzzy logika je vícehodnotová jazyková logika, která využívá aparát a zákony fuzzy množinové matematiky. Pro potřebu fuzzy logiky budeme dále uvažovat množinu logických spojek {and, or, =>} jako konjunkci, disjunkci a implikaci. Jazykový model pak můžeme definovat jako výrok, v němž se vyskytují jména jazykových proměnných, jména jejich jazykových hodnot, logické spojky a pravdivostní hodnoty <0,1>. Významnou výhodou jazykového modelu je možnost vytvoření formálního zápisu, který nám umožní zapsat jazykový model tak, jak je běžným způsobem napsána česká věta. Pro formalizaci zkušeností (znalostí) mají zásadní význam tzv. podmíněná tvrzení – fuzzy pravidla IF-THEN.. Množině fuzzy pravidel říkáme pravidlový fuzzy model. Konsekventy pravidel takového fuzzy modelu mají tvar fuzzy výroku o velikosti výstupní jazykové proměnné a model je nazýván podle svého tvůrce pravidlovým modelem typu Mamdani. V klasické logice je význam (interpretace) všech logických spojek jednoznačná. Fuzzy logika se naopak vyznačuje tím, že interpretace fuzzy logických spojek jednoznačná není, každá spojka může být interpretována (vyhodnocována) několika možnými způsoby. Fuzzy logika tedy umožňuje pro každý řešený případ použít takové interpretace logických spojek modelu, které „doladí“ chování modelu přesně podle vlastností a chování modelované soustavy. Jiným, velmi rozšířeným pravidlovým fuzzy modelem je model typu Takagi-Sugeno. Tento model je typický tím, že konsekventem pravidel je funkce vstupních proměnných ve tvaru lineární kombinace vstupních proměnných.
Otázky 3.3. Co je to vícehodnotová jazyková logika ? Čím je typická fuzzy logika ? Co je to IF-THEN fuzzy pravidlo ? Čím se od sebe liší fuzzy modely typu Mamdani a Takagi-Sugeno ?
36
Ú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) !
37
3.4 Aproximace jazykového modelu Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit způsob výpočtu velikosti výstupní proměnné fuzzy modelu Výklad Jazykové fuzzy modely se používají pro studium chování namodelované soustavy, predikci jejích stavů nebo pro její řízení (fuzzy regulátory). V těchto případech postupujeme jako při simulaci chování soustav pomocí modelů konvenčních (matematických, numerických) tak, že dosadíme konkrétní (aktuální) hodnoty vstupních proměnných a vypočítáme odpovídající hodnotu veličiny výstupní. V případě jazykových fuzzy modelů, které využívají neurčitosti formalizované fuzzy množinami, je výsledkem výstupní hodnota opět ve formě fuzzy množiny. Výstup tedy není numerický (číslo) nýbrž nenumerický, jazykový, zatížený určitým stupněm nejistoty, vágnosti. Proto se procedura výpočtu hodnoty výstupní veličiny jazykových modelů nazývá přibližné (aproximativní) vyvozování. Procedura aproximativního vyvozování využívá přístupů a zákonů fuzzy množinové matematiky a fuzzy logiky. Tuto proceduru vysvětlíme na jednoduchém příkladu vyvození velikosti výstupní veličiny fuzzy pravidlového modelu typu Mamdani. Příklad 1 Uvažujme soustavu s dvěma vstupními a jednou výstupní proměnnou. Tuto soustavu budeme modelovat s využitím fuzzy modelu Mamdani, který bude mít dvě vstupní a jednu výstupní jazykovou proměnnou. Všechny proměnné nechť mají dvě jazykové hodnoty – MALÝ a VELKÝ. Sestavíme jazykový model soustavy s použitím dvou pravidel, z nichž první se bude vyjadřovat k situaci, v níž je hodnota výstupní proměnné MALÁ a druhé k situaci v níž je hodnota výstupní proměnné VELKÁ. R1: R2:
IF(x1 is MALÝ) and (x2 is VELKÝ) THEN (y is MALÝ) IF(x1 is VELKÝ) and (x2 is VELKÝ) THEN (y is VELKÝ)
Jazykové proměnné vstupních veličin x1 a x2 a výstupní veličiny y jsou nakresleny na obrázku Obr.11, který současně reprezentuje graficky obě pravidla modelu.
38
Obr.11 Fuzzy množiny jazykových hodnot, které jsou aktuální v jednotlivých pravidlech jsou zdůrazněny tučnými čarami. Stanovení tvaru výsledné fuzzy množiny výstupní proměnné y při uvažování (dosazení) konkrétních hodnot vstupních proměnných x1 a x2 postupujeme podle obrázku Obr.12 takto:
Obr.12 39
Dosazované konkrétní hodnoty vstupních proměnných jsou označeny x1* a x2*. Nejprve zjistíme tvar výstupní fuzzy množiny pro první pravidlo. V souladu se zněním prvního pravidla zjistíme velikost stupně příslušnosti hodnoty x1* k fuzzy množině M a označíme jej jako M(x1*). Dále zjistíme velikost stupně příslušnosti hodnoty x2* k fuzzy množině V a označíme jej jako V(x2*). Porovnáme velikosti M(x1*) a V(x2*) a vybereme menší z nich, tedy V(x2*). Touto hodnotou „ořežeme“ jazykovou hodnotu výstupní hodnoty y v prvním pravidle, tedy fuzzy množinu M. Ořezanou fuzzy množinu označíme jako M* a budeme ji uvažovat jako výstup prvního pravidla. Nyní zjistíme tvar výstupní fuzzy množiny pro druhé pravidlo. V souladu se zněním druhého pravidla zjistíme velikost stupně příslušnosti hodnoty x1* k fuzzy množině V a označíme jej jako V(x1*). Dále zjistíme velikost stupně příslušnosti hodnoty x2* k fuzzy množině V a označíme jej jako V(x2*). Porovnáme velikosti V(x1*) a V(x2*) a vybereme menší z nich, tedy V(x1*). Touto hodnotou „ořežeme“ jazykovou hodnotu výstupní hodnoty y v druhém pravidle, tedy fuzzy množinu V. Ořezanou fuzzy množinu označíme jako V* a budeme ji uvažovat jako výstup druhého pravidla. Výslednou výstupní fuzzy množinu s uvažováním všech (obou) pravidel Y* získáme sjednocením fuzzy množin M* a V* Y* = M* V* Výsledkem simulace chování soustavy je tedy fuzzy množina Y*, kterou můžeme jazykově interpretovat jako „SPÍŠE MALÝ“. Pokud bychom potřebovali výstup ve formě čísla, provedeme tzv. defuzzifikaci fuzzy množiny Y* tak, že vypočteme polohu těžiště její plochy T a jeho souřadnici y* označíme jako číselný výstup modelu (Obr.13).
Obr.13
40
Příklad 2 Aproximativní vyvození výstupu modelu typu Takagi-Sugeno je popsáno přímo v kapitole 3.3. Výstupní hodnota fuzzy modelu typu Takagi-Sugeno má formu obyčejného čísla a není ji proto třeba defuzzifikovat.
Shrnutí pojmů Jazykové fuzzy modely se používají pro studium chování namodelované soustavy, predikci jejích stavů nebo pro její řízení (fuzzy regulátory). V těchto případech postupujeme jako při simulaci chování soustav pomocí modelů konvenčních (matematických, numerických) tak, že dosadíme konkrétní (aktuální) hodnoty vstupních proměnných a vypočítáme odpovídající hodnotu veličiny výstupní. V případě jazykových fuzzy modelů, které využívají neurčitosti formalizované fuzzy množinami, je výsledkem výstupní hodnota opět ve formě fuzzy množiny. Výstup tedy není numerický (číslo) nýbrž nenumerický, jazykový, zatížený určitým stupněm nejistoty, vágnosti. Proto se procedura výpočtu hodnoty výstupní veličiny jazykových modelů nazývá přibližné (aproximativní) vyvozování. Výsledkem simulace chování soustavy pomocí modelu Mamdani je fuzzy množina, jejíž význam můžeme dobře interpretovat slovně (jazykově). Pokud bychom potřebovali výstup ve formě čísla, provedeme tzv. defuzzifikaci fuzzy množiny výstupní hodnoty tak, že vypočteme polohu těžiště její plochy a souřadnici těžiště označíme jako číselný výstup modelu. Výstupní hodnota fuzzy modelu typu Takagi-Sugeno má formu obyčejného čísla a není ji proto třeba defuzzifikovat.
Otázky 3.4. Co je procedura aproximativního vyvozování ? Jaký je postup vyvození fuzzy množiny závisle proměnné veličiny u modelu Mamdani ? Jaký je postup vyvození hodnoty závisle proměnné veličiny u modelu Takagi-Sugeno ? Co je výsledkem procedury defuzzifikace ?
Ú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 !
41
4 - FUZZY EXPERTNÍ SYSTÉMY 4.1 Definice expertního systému Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit princip a účel expertních systémů
Výklad V minulé části knihy byla probrána problematika popisu ne zcela určitých soustav s využitím metod a prostředků fuzzy množinové matematiky a vysvětleny metody simulace jejich chování. V této části se budeme věnovat nejrozšířenějším fuzzy systémům, kterými jsou speciální programy, používané pro řešení složitých problémů, tzv. expertní systémy. Podrobné rozpracování této problematiky může čtenář nalézt např. v literatuře [3], [8]. Podstatné zde je, že jednou ze základních částí (fuzzy orientovaného) expertního systému je jazykový fuzzy model. Již v úvodu této knihy 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á. Podobně i problémy, řešitelné znalostními systémy, mohou být tedy jak 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 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:
42
- 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 oprava 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. Architektura expertního systému vychází ze základní struktury, která je vždy tvořena bází znalostí (fuzzy modelem) 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.14. 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.
43
Obr.14 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 v této knize, existuje řada dalších možností. 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 jazykové 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.15. 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í.
44
Obr.15 Příklad 1 Příkladem celosvětově velmi úspěšného a široce rozšířeného expertního systému je americký systém MYCIN (1976), určený pro podporu rozhodování lékaře při diagnóze a terapii infekčních onemocnění. V technické oblasti je velmi známý opět americký systém PROSPECTOR (1978), který je určen pro podporu rozhodování při vyhodnocování geologických vrtů z hlediska nalezišť ložisek barevných kovů. V oblasti plánovacích expertních systémů je známý systém R1/XCON (1986), určený pro návrh optimálních konfigurací počítačů fy Digital Equipment (DEC). Velmi známým expertním systémem české provenience je systém FEL-EXPERT, vyvíjený postupně již od roku 1983 na ČVUT Praha. Prázdný systém diagnostického typu je vybaven celou řadou moderních výkonných procedur.
45
Shrnutí pojmů 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í. 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é. Stěžejním požadavkem je, aby 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. Architektura expertního systému vychází ze základní struktury, která je vždy tvořena bází znalostí (fuzzy modelem) 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.
Otázky 4.1. Co je to znalostní systém ? Jaký je účel expertního systému ? Jaký je rozdíl mezi diagnostickými a plánovacími expertními systémy ?
Úlohy k řešení 4.1. Navrhněte Vám známý problém, k jehož řešení by bylo možno vypracovat expertní systém (např. diagnostika automobilového motoru, proč pláče kojenec, apod.).
46
4.2 Problematika tvorby expertních systémů Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit a v praxi použít základní principy znalostního inženýrství a metod tvorby expertních systémů
Výklad Ve fázi výstavby expertního systému buduje bázi znalostí ve spolupráci s expertem (-ty) znalostní inženýr [10]. 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í. Speciální místo zajímají systémy, které umožňují tvorbu tzv. automatické báze znalostí. Vycházejí z hodnot nezávisle proměnných xijo a hodnoty závisle proměnné yoj, kde i = 1,2,...,n je množina měřených hodnot vstupních (nezávisle) proměnných a j = 1,2,...,Z je počet měření. Každý vektor xoj = {xo1j, xo2j, ..., xonj, yoj} lze považovat za podmíněné tvrzení o chování soustavy, pokud {xo1j, xo2j, ..., xonj} považujeme za jeho antecedent a {yoj} 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ů. 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,
47
- ú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; 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 - 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 (dedikace) 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. Příklad 1 Pro ilustraci expertního systému je uveden příklad odhadu zbytkové aktivity katalyzátoru při výrobě kyseliny sírové. K vytvoření expertního systému je použito prázdného vývojového fuzzy orientovaného pravidlového expertního systému LMPS (Linquistic Model Processing System) [12], poskytujícího inference typu CCD, CIC i CI&. Pravidlový model obsahuje celkem 5 proměnných podle níže uvedené tabulky Tab.5. Poslední je uvedena výstupní (závisle) proměnná.
48
Č. LINGVISTICKÁ PROMĚNNÁ
ROZMĚR
1 Doba provozu 1. vrstvy katalyzátoru
měsíc o
2 Teplota (vztažená na výstup etáže)
C
3 Počet zastávek ve výrobě
měsíc
4 Průměrná délka zastávky
hod
5 Zbytková aktivita katalyzátoru
% Tab. 5
Jednotlivé jazykové proměnné mají jazykové hodnoty, reprezentované fuzzy množinami, aproximovanými lomenými úseky. Jejich parametry jsou v následující tabulce Tab.6 označeny písmeny {A, B, C, D}. PROMĚNNÁ 1
2
3
4
5
JAZYKOVÁ JMÉNO HODNOTA JH PN KRÁTKÝ SD STŘEDNÍ KZ DLOUHÝ NIZ NÍZKÁ NOR NORMÁL VYS VYSOKÁ M MALÝ S STŘEDNÍ E VYSOKÝ KAB KRÁTKÁ VYF STŘEDNÍ VCH DLOUHÁ H HAVARIJ. N NÍZKÁ U USPOKOJ. D DOBRÁ VÝBORNÝ V
A
B
C
D
0 12 27 560 585 605 0 2 5 0 100 360 0 56 66 80 90
0 18 36 560 590 615 0 3 7 0 120 480 0 60 75 82 96
6 24 48 580 600 700 1 5 20 3 360 2300 54 66 80 87 100
15 33 48 590 610 700 3 6 20 9 480 2300 60 75 82 96 100
Tab. 6 Báze znalostí je vytvořena 45-ti IF-THEN pravidly. Jejich tvar ukazuje následující tabulka. Tab.7.
49
ČÍSLO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
1 PN PN PN PN PN PN PN PN PN PN PN PN PN PN PN SD SD SD SD SD SD SD SD
2 NIZ NIZ NIZ NIZ NIZ NOR NOR NOR NOR NOR VYS VYS VYS VYS VYS NIZ NIZ NIZ NIZ NIZ NOR NOR NOR
3 M M M S E M M M S E M M M S E M M M S E M M M
4 KAB VYF VCH KAB KAB KAB VYF VCH KAB KAB KAB VYF VCH KAB KAB KAB VYF VCH KAB KAB KAB VYF VCH
5 V V V V D V D D D U V D D U U D D D U U D U U
ČÍSLO 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
1 SD SD SD SD SD SD SD KZ KZ KZ KZ KZ KZ KZ KZ KZ KZ KZ KZ KZ KZ KZ
2 NOR NOR VYS VYS VYS VYS VYS NIZ NIZ NIZ NIZ NIZ NOR NOR NOR NOR NOR VYS VYS VYS VYS VYS
3 S E M M M S E M M M S E M M M S E M M M S E
4 KAB KAB KAB VYF VCH KAB KAB KAB VYF VCH KAB KAB KAB VYF VCH KAB KAB KAB VYF VCH KAB KAB
5 U N D V U U N D U U N N U N N N H N H H H H
Tab. 7 Pro ilustraci výsledků vyvozování uvedeme odpovědi fuzzy modelu na dotazy, jejichž tvar je následující (Tab.8): PŘÍKLAD
TVAR DOTAZU 1
2
3
4
1
20
570
1
850
2
32
595
3
2
3
14
588
1
120
Tab. 8 Výsledkem řešení příkladu jsou odpovědi tří modelů (CCD, CIC a CI&), z nichž si může uživatel vybrat tu nejkvalitnější. GRAF 1 představuje odpovědi na příklad 1, GRAF 2 a GRAF 3 odpovědi na příklady 2 a 3 z Tab.8.
50
GRAF 1
51
GRAF 2
52
GRAF 3 Systém LMPS poskytuje prostředky pro analýzu odpovědí. Do tvaru funkce příslušnosti odpovědi lze vykreslit funkce příslušnosti jednotlivých hodnot závisle proměnné, kurzorem lze odečítat souřadnice významných bodů. Lze vyvolat seznam pravidel, kterých bylo použito pro výpočet odpovědi (aktivní pravidla).
53
Shrnutí pojmů Ve fázi výstavby expertního systému buduje bázi znalostí 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 mechanismy, 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. Speciální místo zajímají systémy, které umožňují tvorbu tzv. automatické báze znalostí [6]. 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 (dedikace) expertního systému pak vznikne naplněním báze znalostí (implementace pravidel o chování soustavy) podle konkrétní představy uživatele.
Otázky 4.2. Jaký je postup při tvorbě expertního systému? jaká je úloha znalostního inženýra ve fázi tvorby expertního systému?
Úlohy k řešení 4.2. Navrhněte 4 pravidla báze znalostí expertního systému pro diagnostiku systému, v jehož oblasti jste expertem !
54
4.3 Problematika použití expertních systémů Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Objasnit způsobu uvažování expertního systému Interpretovat odpověď fuzzy expertního systému Výklad Z inženýrského hlediska je velmi důležitá správná interpretace vyvozených odpovědí. K tomu je třeba správného pochopení nuancí "uvažování", které jsou pro jednotlivé modely charakteristické [10]: a) Součinové modely na začátky předpokládají, že pravda je všechno a potom tvrdí, že pravda je to, co není v rozporu se žádným prohlášením. Způsob jejich uvažování bývá interpretován jako "zbabělý intelektuál". b) Součtové modely na začátku předpokládá, že nic není pravda, a potom tvrdí, že pravda je to, co tvrdí alespoň jedno prohlášení. Způsob uvažování CCD modelu bývá charakterizováno jako "naivní hazardér". Kvalitu odpovědi lze parametrizovat [10]. Parametry kvality pro nejrozšířenější model CIC jsou definovány podle Obr.16 takto:
Obr.16
55
So = 1 - maxµ(y) Do = 1 - minµ(y) No = b - a Jo = maxµ(y) - minµ(y)
1. Spornost odpovědi: 2. Důvěryhodnost použitých informací: 3. Neurčitost odpovědi: 4. Jasnost odpovědi:
Interpretace typických odpovědí jsou pro model CIC a CI& uvedeny na Obr.17, pro model CCD na Obr.18.
Obr.17 Komentář k Obr.17: A - zcela jasná odpověď, B - jasná odpověď s mírným sporem mezi pravidly, C - odpověď vyvozená z málo pravdivých předpokladů, navíc sporná, D - odpověď při absolutním sporu mezi prohlášeními, E - odpověď při pokusu o popis soustavy typu "relace". Komentář k Obr.18: A - zcela jasná odpověď, B - odpověď při existenci sporu mezi pravidly, C - odpověď při nedostatku informací.
56
Obr.18 Je-li nutno převést fuzzy množinu odpovědi do formy obyčejného čísla, použijeme proceduru defuzzifikace, jak to bylo vysvětleno v kap.3.4. Příklad 1 Na katedře měřicí a řídicí techniky FEI VŠB TU Ostrava bylo v rámci řešení doktorských disertačních prací navrženo, odladěno a otestováno několik expertních systémů, zaměřených do oblasti lékařské diagnostiky. Expertní systém VANĚK byl určen pro podporu rozhodování neurologa při vyhodnocování elektroencefalografického záznamu (EEG) s cílem určit nebezpečí výskytu epilepsie. Expertní systém PENHAKER byl určen pro automatické vyhodnocování záznamu pletysmografu s cílem zjištění kondice cévního systému pacienta.
Shrnutí pojmů Součinové modely na začátky předpokládají, že pravda je všechno a potom tvrdí, že pravda je to, co není v rozporu se žádným prohlášením. Způsob jejich uvažování bývá interpretován jako "zbabělý intelektuál". Součtové modely na začátku předpokládá, že nic není pravda, a potom tvrdí, že pravda je to, co tvrdí alespoň jedno prohlášení. Způsob uvažování součtových modelů bývá charakterizováno jako "naivní hazardér". Kvalitu odpovědi lze parametrizovat pomocí kritérií Spornosti odpovědi, důvěryhodnost použitých informací, neurčitosti odpovědi a jasnosti odpovědi.
57
Otázky 4.3. Jaké jsou základní parametry pro posouzení kvality odpovědi fuzzy expertního systému ?
Úlohy k řešení 4.3. Jak je třeba postupovat, nedává-li expertní systém odpovědi na dotazy z určité oblasti řešeného problému ?
58
5 - FUZZY ŘÍDICÍ SYSTÉMY 5.1 Expertní systémy a řízení Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Popsat princip fuzzy regulátorů Vysvětlit výhody jejich použití Výklad Původní myšlenku využití fuzzy přístupů k řízení soustav vyslovil Mamdani. Myšlenka vychází z principu využití jazykového popisu procesu řízení a vyvozovacího kompozičního pravidla, které jsou základem teorie fuzzy regulace (FLC - Fuzzy Logic Control) [10], [11]. Z tohoto hlediska existuje podobnost mezi fuzzy pravidlovými expertními systémy a systémy FLC [11]. Oba vycházejí z modelování lidské zkušenosti a prostředí lidského rozhodování. Mamdani definuje princip fuzzy regulátoru FLC takto: "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 jazykový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 se zdůvodňuje tím, že složité reálné procesy jsou velmi obtížně řiditelné klasickými automaty, neboť se vyznačují nelinearitou, časově proměnným chováním a trpí nedostatkem kvalitních informací o svých stavech (měření). V takových případech je možno automatické řízení realizovat pouze pro nepřímé proměnné, které lze měřit a regulovat, jako teploty, tlaky, průtočná množství a pod. Řízení globálních parametrů, jako kvalita a množství produkce, je pak obvykle v rukou operátora. Moderní metody řízení procesů, realizující vyšší řídící funkce, využívají matematické modely ve složitých počítačových řídících systémech. Obtíže vznikají, jestliže se podmínky procesu mění v širokém rozsahu a podléhají náhodným poruchám. V mnohých případech je potvrzeno, že zkušený operátor je schopen řídit takový složitý proces úspěšněji než automatický regulátor. Pokud se operátor rozhoduje obtížně, může to být způsobeno rozsahem nebo způsobem zobrazení měřených dat případně nepřiměřenou hloubkou požadovaného rozhodování. Oproti expertním systémům se však systémy FLC vyznačují jistými odlišnostmi:
59
- 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ů. Kapitoly, věnované systémům FLC, uvedeme pojednáním o popisu řízení technologických procesů pomocí klasických regulačních algoritmů. Příklad 1 Příkladem operátorské znalosti (heuristiky) uplatnitelné při řízení je např. informace: Jestliže tlak na ukazateli 1 stoupá pomalu a doba od zahájení ohřevu je krátká, surovina je příliš nekvalitní a teplotu je třeba podstatně zvýšit.
Shrnutí pojmů Základní myšlenkou přístupu znalostního řízení (FLC) je vtělení zkušenosti operátora do funkce regulátoru. Řídící algoritmus je reprezentován soustavou jazykový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, jakož i zkušenosti a intuice jako součásti modelu procesu. Systémy FLC jsou natolik rozšířené, že jsou dnes již řazeny spíše do oblasti inženýrské problematiky řízení než do oblasti umělé inteligence.
Otázky 5.1. Jaká je základní myšlenka použití expertního systému jako regulátoru ? Jaká jsou specifika fuzzy regulátorů oproti obecným expertním systémům ?
Úlohy k řešení 5.1. Pokuste se vyslovit heuristiku, kterou uplatňujete při řízení automobilu !
60
5.2 Fuzzy regulátory Čas ke studiu: 2 hod Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit funkci a navrhnout fuzzy regulátor typu Mamdani Vysvětlit funkci a navrhnout fuzzy regulátor typu Takagi-Sugeno Výklad První fuzzy regulátor byl vytvořen v roce 1973 anglickým profesorem Ebrahimem Mamdanim. Ten zjistil, že pro úspěšné řízení i složitější soustavy lze použít jen několika jednoduchých podmíněných fuzzy pravidel a že fuzzy regulační obvod má lepší dynamické vlastnosti než regulátor klasický. Jím použitá struktura fuzzy regulátoru se stala základem pro konstrukci takových regulátorů v celé řadě úspěšných aplikací. Základní konfigurace systému FLC je nakreslena na Obr.19. Typy a zapojení jednotlivých bloků odpovídají obecnému expertnímu systému. Konfigurace fuzzy regulátoru obsahuje čtyři základní bloky, jejichž funkce jednotlivých částí je tedy následující:
Obr.19
61
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 jazykový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í jazyková ří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é číselné formy; - převod rozsahů výstupních veličin do odpovídajících univerz. 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 obdobné typům P (regulátor proporcionální), PS (regulátor proporcionálně-sumační), PD (regulátor proporcionálně-derivační) a PSD (regulátor proporcionálně-sumačně-derivační) [11]. Jednotlivé typy fuzzy regulátorů se od sebe liší závisle proměnnými, nezávisle proměnnými a strukturou pravidel. Fuzzy regulátor považujeme za regulátor nelineární, čtyř typů, s těmito strukturami: 1. Fuzzy P- regulátor
IF (e is A) THEN (u is B) 2. Fuzzy PD regulátor
IF (e is A) and ( e is B) THEN (u is C) 3. Fuzzy PS regulátor
IF (e is A) and ( e is B) THEN (u is C) 4. Fuzzy PSD regulátor
IF (e is A) and ( e is B) and ( 2e is C) THEN (u is D)
62
Kde A, B, C a D jsou příslušné jazykové hodnoty vstupní proměnné e (regulační odchylka) či výstupní proměnné u (akční veličina), reprezentované fuzzy množinami. Operátor je symbolem změny (derivace). Výběr typu fuzzy regulátoru závisí, stejně jako v případě regulátoru klasického, na charakteru regulované soustavy a na požadavcích kvality regulace. Tak např. fuzzy PSD regulátor je používán pro procesy vysoce nelineární a nestabilní. Regulační zákon je popsán IF-THEN pravidly řízení, které tvoří regulační model (bázi znalostí) fuzzy regulátoru. Tvar pravidel je dán typem fuzzy regulátoru (P, PD, PS, PDS). Velmi významná je skutečnost, že tvar řídicích pravidel je závislý na typu regulátoru, pro určitý typ regulátoru jsou však stejná pro kteroukoliv aplikaci. Je to dáno skutečností, že ve všech případech platí základní zákon regulace – akční veličina má vždy takovou velikost a smysl, že vede ke zmenšení (nulování) regulační odchylky. Báze znalostí fuzzy regulátorů jsou tedy tvořeny pravidly s typizovanou strukturou, lišící se pouze parametry fuzzy množin formalizující hodnoty jejich jazykových proměnných. Jako příklad uvedeme tabulku struktur pravidel pro fuzzy PD regulátor. Vstupními proměnnými takového regulátoru sou regulační odchylka e a změna regulační odchylky e, výstupní proměnnou je pak velikost akční veličiny u. Tabulka pravidel je dvojrozměrná a lze ji dobře znázornit strukturou na Obr. 20 e
ZV
ZS
ZM
KM
KS
KV
KV
N
ZS
ZM
ZS
ZV
ZV
KS
KM
A
ZM
ZS
ZS
ZV
KM
KS
KS
N
ZM
ZS
ZS
ZM
KS
KS
KM
N
ZM
ZS
ZS
KV
KS
KS
KM
N
ZM
ZV
KV
KV
KS
KS
KM
N
e
Obr.20 Pravidla předpokládají následující jazykové hodnoty svých proměnných: ZV ZS ZM A KM KS KV
záporná velká záporná střední záporná malá nulová kladná malá kladná střední kladná velká
Povšimněme si, jak strategie pravidel vždy směřuje k minimalizaci regulační odchylky a ke snížení rychlosti její změny v nežádoucím smyslu (narůstání). Tím je respektován již zmíněný základní zákon regulace. 63
V praxi je obvykle použito méně pravidel než uvádí jejich úplná tabulka. Jednak se některá pravidla mohou opakovat a jednak některé stavy velikosti proměnných z důvodů fyzikálních omezení nemohou ani nastat. Inferenční mechanizmy v systémech FLC jsou závislé na typu řídicího modelu. Stejně jako u expertních systémů mohou být složeny z pravidel typu Mamdani nebo pravidel typu TakagiSugeno. Proto rozeznáváme dva typy inferenčních metod. a) Mamdaniho metoda vyvození akční veličiny Grafická interpretace vyvození velikosti fuzzy akční veličiny B(u) je na Obr.21
Obr.21 Metoda je zcela analogická s vyvozováním odpovědi expertního systému s modelem Mamdani, jak bylo uvedeno v kap.3.4. Podstatné je, že výsledná fuzzy množina B0(u) musí být vždy převedena procedurou defuzzifikace na obyčejné číslo, které pak představuje velikost akční veličiny regulátoru. Nejpoužívanější procedurou defuzzifikace je založena na metodě stanovení těžiště [11]. Je třeba si uvědomit, že fuzzy regulátory jsou vždy regulátory nelineárními. Jednak proto, že využívají nelineární metodu defuzzifikace, jednak proto, že fuzzy množiny reprezentující jazykové hodnoty proměnných nemusí být uspořádány geometricky rovnoměrně. b) Sugenova metoda vyvození velikosti akční veličiny je používána v případech, kdy konsekventy pravidel jsou funkcí vstupních jazykových proměnných (pravidlo typu Takagi-Sugeno – hovoříme pak o Sugenovském regulátoru). Potom r-té řídící pravidlo má tvar Rr:
IF (xr1 is Ar1) and ... and (xnm is Arnn) THEN ur = fr(x1,x2,...,xn), r = 1,2,...,m,
kde x1,...,xn a u jsou jazykové proměnné, reprezentující stavové proměnné a řídící veličinu, Ar1,...,Arnn jsou jazykové 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ě 64
fuzzy řídící pravidla a dvě vstupní proměnné
R1: IF (x11 is A11) and (x12 is A12) THEN u1 = f1(x1, x2) R2: IF (x21 is A21) and (x22 is A22) 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). Řídící veličina (obyčejné číslo) je pak určena váženým průměrem podle vztahu
u* = [g1f1(x1, x2) + g2f2(x1, x2)]/(g1 + g2). Inferenční mechanizmus je totožný s inferenčním mechanizmem modelu Takagi-Sugeno, popsaným v kap.3.3. Tato metoda je výhodná tím, že pravidla regulátoru lze automaticky identifikovat z naměřených dat a výstupem je přímo obyčejné číslo (není třeba jeho defuzifikace). Příklad 1 Ilustrujme základní zákon regulace slovní interpretací pravidel fuzzy regulátoru typu P s pravidly typu Mamdani:: Je-li regulační odchylka velká kladná, pak je akční veličina velká záporná. Je-li regulační odchylka malá kladná, pak je akční veličina malá záporná. Je-li regulační odchylka nulová, pak je akční veličina nulová. Je-li regulační odchylka malá záporná, pak je akční veličina malá kladná. Je-li regulační odchylka velká záporná, pak je akční veličina velká kladná. Příklad 2 Jako příklad konkrétního fuzzy regulátoru uvedeme často publikovanou úlohu regulace inverzního kyvadla (známé balancování svislé tyče). Laboratorní model takové úlohy je na obrázku Obr.22.
Obr.22
65
Tyč má délku L, hmotnost m, vozík má hmotnost M a působíme na něj silou w takovou, aby byla výchylka tyče e udržována na nule. Matematický model takové soustavy je dosti složitý a jeho rovnice jsou I
mL3 3
Ie VL sin e HL cos e
mLe cos e e H mw
sin e
V mg mL e sin e e 2 cos e 2
V H Mw Kdybychom chtěli použít pro regulaci takové soustavy použít klasický regulátor, museli bychom použít regulátor PID jehož nastavení by bylo složité a kvalita jeho funkce by byla silně závislá na stabilitě všech rozměrů a hmotností modelu. V případě použití fuzzy regulátoru se situace značně zjednodušuje, lze použít fuzzy regulátor s pravidly typu PD, jejichž tvar určuje tabulka Tab.9.
e ZV Z
e
PN K
ZM
PN
ZM ZV
KM
KV
PN PN
PN
KV KM
Tab.9 Fuzzy regulátor je kvalitní a velmi robustní, protože jeho funkce nezávisí na změnách velikosti parametrů modelu (např. délky tyče).
Příklad 3 Zajímavým příkladem je typová struktura pravidel fuzzy regulátoru typu PID, který má tři vstupní proměnné. Dvourozměrná tabulka využívá faktu, že se některá pravidla opakují a lze ji proto nakreslit podle Obr.23.
66
Obr.23
Shrnutí pojmů Fuzzy regulátory je možno koncipovat stejně jako v technice klasické, tedy fuzzy regulátory obdobné typům P (regulátor proporcionální), PS (regulátor proporcionálně-sumační), PD (regulátor proporcionálně-derivační) a PSD (regulátor proporcionálně-sumačně-derivační). 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 regulátor je – na rozdíl od svých konvenčních vzorů - vždy regulátorem nelineárním. Regulační zákon je popsán IF-THEN pravidly řízení, které tvoří regulační model (bázi znalostí) fuzzy regulátoru. Tvar pravidel je dán typem fuzzy regulátoru (P, PD, PS, PDS). Velmi významná je skutečnost, že tvar řídicích pravidel je závislý na typu regulátoru, pro určitý typ regulátoru jsou však stejná pro kteroukoliv aplikaci. Báze znalostí fuzzy regulátorů jsou tedy tvořeny pravidly s typizovanou strukturou, lišící se pouze parametry fuzzy množin formalizující hodnoty jejich jazykových proměnných. Inferenční mechanizmy jsou stejné jako u expertních systémů a liší se druhem použitého řídicího modelu (pravidla Mamdani, pravidla Takagi-Sugeno).
67
Otázky 5.2. Uveďte vstupní a výstupní proměnné regulátorů typu P, PD, PS a PDS Uveďte strukturu pravidel fuzzy regulátorů obdobných P, PD, PS a PDS - typu Mamdani Uveďte strukturu pravidel fuzzy regulátoru obdobného PDS - typu Takagi-Sugeno Proč mají fuzzy regulátory vlastnosti regulátorů nelineárních Proč jsou báze znalostí fuzzy regulátorů standardizovány
Ú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).
68
6 - KOGNITIVNÍ ANALÝZA 6.1 Konzistence a kognitivní analýza vlastností báze znalostí Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit pojem konzistence znalostní báze Popsat princip kognitivní analýzy báze znalostí Definovat stabilitu, variabilitu a extremálnost báze znalostí Výklad Kognitivní přístup je reprezentován mechanizmem odpovědí na dotazy. 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 [12], [10]. Uvedená metoda je využívána v oboru znalostního inženýrství. Test konzistence spočívá ve stanovení vzájemné podobnosti prohlášení, tvořících bázi znalostí. Při testu pokládáme expertnímu systému 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 prohlášení. Vyjmeme-li z báze k-té prohlášení, potom modifikovaná báze je tvořena zbylými (M-1) prohlášeními. Ponecháme-li dále z k-tého prohlášení jeho antecendent, máme k dispozici dotaz, který položíme modifikované bázi. Přitom očekáváme, že odpověď báze bude alespoň v částečné shodě s jeho původním konsekventem. Má-li závisle proměnná R hodnot, potom každé prohlášení se vyslovuje k určité r-té hodnotě. Stupeň podobnosti (konzistence) dotazu a aktivovaného prohlášení je při testu oceněna hodnotou podobnosti V(k,r) v intervalu <0,1>. Je-li podobnost dokonalá, je V(k,r) = 1. Jestliže se m- prohlášení vyslovuje k jedné r-té hodnotě s různými mírami podobností V(k,r), potom výsledná podobnost je
VE(k,r) = max[V(k,r)] , k=1,2,...,M, r=1,2,...,R. m Získané míry podobnosti 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.24.
69
Obr.24 Kategorie odpovědí se při testování k-tého pravidla vůči r-té hodnotě závisle proměnné stanovuje podle těchto pravidel:
IF [VE(k,r) < v]
THEN [KD(k,r) = -1]
(nesouhlas, N)
IF [VE(k,r)
THEN [KD(k,r) = 0]
(neurčitá, D)
IF [VE(k,r) < v]
THEN [KD(k,r) = 1]
(souhlas, Y)
Celkový počet souhlasných, neurčitých a nesouhlasných odpovědí vůči r-té hodnotě závisle proměnné při testu všech M prohlášení jsou dány vztahy [KD(k,r) = 1] = P(r) [KD(k,r) = 0] = Z(r)
[KD(k,r) = -1] = N(r) Celkový počet odpovědí v jednotlivých kategoriích získáme součtem přes všech R hodnot závisle proměnné:
P(r) = DP Z(r) = DZ N(r) = DN Z kognitivního hlediska jsou odpovědi typu Y a N jednoznačné, odpověď D je neurčitá. Budeme-li měnit velikost mezí v a w, potom se i jednoznačné odpovědi mohou stát neurčitými. 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 (analogicky jako výše otázku) jako stabilní. Bude-li převážná část odpovědí neurčitých, bude báze označena jako variabilní. Bude-li přitom počet odpovědí Y a N přibližně stejný, hovoříme o bázi balancované, v opačném případě o bázi extremální. Z hlediska uživatele je žádoucí, aby báze měla vlastnosti, zajišťující co největší rozlišovací schopnost (diskriminaci). 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 D (taková báze budí nedůvěru - z neurčitých informací jsou vyvozovány určité závěry). 70
Expertní 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í. Příklad 1 Na obrázku je uveden příklad diskriminační schopnosti znalostní báze pro dvě hodnoty výstupní proměnné – LO (Nízký) a HG (Vysoký). Povšimněte si, že báze znalostí velmi dobře rozpoznává jazykovou hodnotu LO, zatímco v případě hodnoty HG je situace horší. Znalostní báze dovede dobře tuto hodnotu potvrdit (interval Y, YES), nedovede ji však dostatečně popřít (interval N, NO).
Obr.25
Shrnutí pojmů Kognitivní přístup je reprezentován mechanizmem odpovědí na dotazy. Kognitivní analýza 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 Test konzistence spočívá ve stanovení vzájemné podobnosti prohlášení, tvořících bázi znalostí. Při testu pokládáme expertnímu systému s modifikovanou bází takovou množinu dotazů, jaké lze v praxi očekávat (modifikovaná báze potom slouží jako skupina expertů). Jako dotazy slouží podmínkové části jednotlivých pravidel, odpovědi jsou jejich části důsledkové. Stupeň podobnosti (konzistence) dotazu a aktivovaného prohlášení je při testu oceněna hodnotou podobnosti. Získané míry podobnosti jsou klasifikovány do tří základních kategorií - souhlasné, nesouhlasné a neurčité, z nich pak klasifikujeme odpovědi na jednoznačné a neurčité. Bude-li převážná část odpovědí jednoznačných, označíme bázi (analogicky jako výše otázku) jako stabilní. Bude-li převážná část odpovědí neurčitých, bude báze označena jako variabilní. Bude-li přitom počet odpovědí Y a N přibližně stejný, hovoříme o bázi balancované, v opačném případě o bázi extremální.
Otázky 6.1. Jaký je princip kognitivní analýzy báze znalostí ? Jaké typy odpovědí rozeznáváme ? Jaké typy bází znalostí rozeznáváme a jak se od sebe jednotlivé typy liší ?
71
Úlohy k řešení 6.1. Znázorněte graficky vhodnou a nevhodnou diverzifikační schopnost báze vůči jedné jazykové proměnné !
72
6.2 Ternární diagram Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Provést konstrukci ternárního diagramu Použít ternární diagram k posouzení vlastností báze znalostí Výklad 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) N = DN / (DP + DN + DZ) C = DZ / (DP + DN + DZ) Je zřejmé, že platí
Y+N+C=1 Označme dále balancovanost jako B, variabilitu V, extremálnost E a stabilitu S. Ternární diagram je rovnostranný trojúhelník o straně rovné 1, jehož vrcholy tvoří body Y = 1, N = 1 a C = 1, viz Obr.26.
Obr.26
73
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 E + B = 1. Významné body diagramu jsou patrné z Obr.27. 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. 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 (Obr.27). 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.
Obr.27 Charakteristický bod báze K pak v případě dobré báze leží uvnitř tohoto kruhu (Obr.28).
74
Obr.28 K určení charakteristického bodu K vyšetřované báze stačí znát dva údaje, např. YK a NK, podle Obr.26. Ternární diagram lze konstruovat buď pro jednotlivé jazykové hodnoty závisle proměnné (diskriminační schopnost báze vůči určité 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.26 na jednotlivé strany trojúhelníka YNC hodnoty, např.
Yr = P(r)/M Nr = N(r)/M Ve druhé variantě vynášíme hodnoty
YK = DP / (DP + DN + DZ) NK = DN / (DP + DN + DZ) Příklad 1 Uveďme příklad ternárního diagramu báze znalostí, vyznačující se příliš vysokou stabilitou !
75
Obr.29
Shrnutí pojmů Diskriminační vlastnosti báze znalostí můžeme s výhodou graficky znázornit pomocí jejího zastupujícího bodu v tzv. ternárním diagramu. Ternární diagram je rovnostranný trojúhelník se stranou dlouhou 1. 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. Ternární diagram lze konstruovat buď pro jednotlivé jazykové hodnoty závisle proměnné (diskriminační schopnost báze vůči určité 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é).
Otázky 6.2. Kde leží v ternárním diagramu zastupující bod báze znalostí s ideálními diskriminačními vlastnostmi (bod zdravé balancovanosti ? Ve které oblasti leží zastupující body přípustné ?
Úlohy k řešení 6.2. Nakreslete ternární diagram se zastupujícím bodem u báze znalostí, která má vlastnost velké variability !
76
7 - NEURONOVÉ SÍTĚ 7.1 Princip umělých neuronových sítí Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit strukturu modelu prvku neuronové sítě – perceptronu Popsat funkci perceptronu při stanovení velikosti jeho výstupu Výklad V rámci vývoje metod umělé inteligence hrají významnou roli neuronové sítě. Jsou to struktury, které jsou inspirovány svými biologickými vzory. Jejich hlavním úkolem je simulovat a implementovat některé funkce lidského mozku, především schopnost adaptace a učení [3], [13]. Nejjednodušším modelem biologické neuronové sítě je jediný neuron, jehož matematický model se nazývá perceptron. Jeho schéma je nakresleno na Obr.30.
Obr.30 Do neuronu vstupuje n- spojů (axonů) buď jako výstupy jiných neuronů nebo podněty z jeho okolí, i-tým spojem vstupuje informace ve formě reálného čísla xi. Vektor vstupů x = x1, …. ,xn (ve formě teplot, tlaků, barvy, rychlosti apod.) charakterizuje určitý zkoumaný objekt. 77
Každý spoj je vybaven reálným číslem wi, které udává váhu spoje (jeho důležitost). Dále je každý neuron vybaven prahem . Vážený součet n
wi xi , i 1,..., n i 1
udává celkový podnět neuronu, tzv. potenciál neuronu. Na tento potenciál reaguje neuron odezvou na svém výstupu o velikosti
z S kde S je předepsaná nelineární přenosová funkce neuronu. Obvykle má tvar sigmoidy s možným analytickým vyjádřením
S
1 1 exp
jejíž grafické vyjádření pro určitou velikost parametru (strmost sigmoidy) je na Obr.31
Obr.31 Odezva neuronu je dána vztahem
n z S wi xi i 1 Přenosová funkce může mít různý tvar. Lze použít jakoukoliv omezenou rostoucí diferencovatelnou funkci. Sítě s mnoha neurony lze dělit podle různých hledisek. První je dáno topologií (strukturou) sítě, druhé je dáno způsobem práce sítě. Podle prvního hlediska tak známe sítě rekurentní, jejichž graf je cyklický, tj. výstupy některých neuronů se vracejí jako vstupy zpět do sítě, a sítě ostatní, z nichž nejdůležitější jsou sítě vícevrstvé s neurony rozdělenými do vrstev.
78
Výstupy neuronů předešlé vrstvy slouží jako vstupy neuronů vrstvy následující. Dolní vrstva sítě je pak vrstva vstupní, horní vrstva je vrstvou výstupní. Další hledisko rozeznává sítě s učitelem a samoorganizující se sítě, jak bude vysvětleno v následujícím textu.
Shrnutí pojmů Umělé neuronové sítě jsou struktury, které jsou inspirovány svými biologickými vzory. Jejich hlavním úkolem je simulovat a implementovat některé funkce lidského mozku, především schopnost adaptace a učení. Nejjednodušším modelem biologické neuronové sítě je jediný neuron, jehož matematický model se nazývá perceptron. Neurony jsou v síti propojeny vzájemnými vazbami, z nichž každá je vybavena matematickou váhou. Přenosová funkce neuronu je dána váženým součtem jeho vstupních hodnot, který je argumentem vhodné nelineární funkce. Ve vícevrstvé síti jsou neurony jsou uspořádány ve vzájemně propojených vrstvách. Příklad 1 Kromě sigmoidní přenosové funkce používají neuronové sítě rovněž neurony s funkcemi jiného typu. Rozšířenými neurony jsou takové, které využívají přenosové funkce lineární S() = K. = funkce typu signum S() = {
1 pokud 0 0 pokud 0
případně po částech lineární funkci 1 pokud 0.5 S() = { pokud (-0.5, 0.5) 0 pokud -0.5
Otázky 7.1. Co je to umělá neuronová síť ? Jaká je funkce neuronu v síti ? Co je to vícevrstvá neuronová síť ?
Úlohy k řešení 7.1. Je obdoba mezi matematickým perceptronem a biologickým neuronem z hlediska jejich funkce ? 79
7.2 Vícevrstvá neuronová síť Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
Popsat strukturu vícevrstvé neuronové sítě Vysvětlit vlastnosti a funkci vícevrstvé neuronové sítě Výklad Propojení neuronů může být libovolné. v praxi však používáme tzv. sítě vícevrstvé, v nichž jsou neurony uspořádány do několika vrstev nad sebou. První vrstva je pak vrstvou vstupní, poslední je vrstva výstupní. Mezilehlé vrstvy se pak nazývají vrstvy skryté. Zatímco neurony téže vrstvy nejsou vzájemně propojeny, do každého neuronu vrstvy vyšší vstupují vazby od všech neuronů vrstvy nižší. Vazby jsou jednosměrné, tzn. že neurony vyšší vrstvy nemohou ovlivnit velikost vnitřního potenciálu neuronů ve vrstvě nižší. Schéma takové třívrstvé neuronové sítě je nakresleno na Obr.32.
Obr.32 Vícevrstvá neuronová síť má m- vstupních neuronů ve vrstvě vstupní, n- výstupních neuronů ve vrstvě výstupní a r- vrstev skrytých, přičemž.s- tá vrstva má k- neuronů. Obrázek Obr.32 ukazuje 4-vrstvou síť s jednou vrstvou vstupní, jednou výstupní a dvěma vrstvami skrytými. Taková síť se označuje symbolem 3-2-1.
80
Neuronová vícevrstvá síť patří mezi systémy konekcionistické, neboť neurony sousedních vrstev jsou propojeny systémem „každý s každým“ (viz Obr.32). Základní vlastnost vícevrstvých neuronových sítí Každému reálnému spojitému zobrazení z m- rozměrného vstupního prostoru do nrozměrného prostoru výstupního lze najít skryté vrstvy a hodnoty vah (prahů) a tím tedy určitou síť tak, že je realizováno touto sítí s libovolnou přesností. Jestliže k libovolnému zobrazení již příslušnou síť (váhy) máme, můžeme k danému x najít (přibližnou) hodnotu y (x) tak, že a) na vstupy neuronů vstupní vrstvy přivedeme hodnoty prvků vektoru x. Výstupy neuronů vstupní vrstvy nabudou hodnot yi = xi, i = 1,…, m, a jsou přeneseny podél spojů s váhami které označíme wji na vstupy všech k- neuronů první skryté vrstvy (j = 1,…,k) b) takto vzniklé hodnoty zpracují neurony první (skryté) vrstvy na své odezvy a postoupí je neuronům vyšší vrstvy jako jejich vstupy c) tato aktivita se šíří postupně výše až d) z výstupů neuronů výstupní vrstvy utvoříme vektor odezvy celé sítě y na vstupní vektor x. Tato procedura tvoří tzv. aktivní (pracovní) mód práce sítě. Stavem sítě nazveme jistý vektor s(t) tvořený hodnotami výstupů ze všech (vhodně uspořádaných) neuronů v čase t. Jestliže všechny neurony pracují synchronně, takže signály procházejí současně od jedné vrstvy ke druhé a stavové vektory snímáme v těchto okamžicích, je délka zmíněné trajektorie dána počtem vrstev sítě a je konečná. Neuronové sítě jsou však charakteristické ne svým aktivním módem, nýbrž módem adaptačním (módem učení). Při něm nejde o to, jak využít danou síť k výpočtu hodnot zobrazené funkce , ale najít takovou síť, která by požadované zobrazení realizovala. S tímto problémem jsou spojeny následující problémy: a) zobrazení můžeme považovat za definované, jestliže budeme znát dostatečnou množinu dvojic x, (x). Tuto dvojici můžeme považovat za množinu příkladů vstup sítě, požadovaná odezva sítě. Na takových příkladech jsou postaveny metody učení se novému v přírodě. Živé organizmy se učí porovnáváním a napodobováním od své matky správným odezvám na vstupní vjemy. Organizmus se však učí i nevědomě, jeho schopnosti a chování se přizpůsobují prostředí – adaptují se. Příklady jsou pak vnější vliv, vnitřní změna. V terminologii neuronových sítí nazýváme množinu dvojic vstup, požadovaný výstup trénovací množinou . Tento druh adaptace, při němž je možno porovnat okamžitou skutečnou odezvu sítě s odezvou požadovanou, se nazývá učení s učitelem. b) Problémem je dostatečnost množiny . Čím více je příkladů, tím může být proces učení efektivnější, tím lépe je neuronová síť schopna extrahovat znalosti, rozpoznávat a reprezentovat pravidla podle nichž je utvářena. c) Ani systém, který se dobře adaptoval na , nemusí reagovat správnou odezvou na nějaký nový, dříve nepoznaný, podnět. K tomu by musel být naučen reagovat na situace alespoň částečně podobné. bude proto výstižná, jestliže bude pokrývat celý prostor možných vstupů, přičemž „hustěji“ budou zastoupeny příklady z oblastí, kde zobrazení bude vykazovat větší změny. Jedině pak můžeme očekávat rozumnou generalizaci – schopnost
81
sítě zobecňovat. d) Máme-li k dispozici uspokojivou trénovací množinu , hledáme neuronovou síť tak, aby jí realizované zobrazení co nejpřesněji odpovídalo na podněty z (tj. aby co nejlépe extrahovalo znalosti z , co nejlépe je reprezentovalo a generalizovalo). Najít takovou síť znamená předně zvolit správně počet skrytých vrstev a počty neuronů v nich a dále stanovit správně váhy popř. prahy všech spojů případně jiné parametry specifické pro danou metodu hledání sítě. Cílem vytváření neuronových sítí je získání struktur, které by měly svým chováním napodobovat svoje biologické vzory. Jestliže je významnou vlastností biologické neuronové sítě její adaptabilita a schopnost přizpůsobení svých vlastností požadavkům požadovaného či optimálního chování, je obdobná adaptabilita umělé neuronové sítě zřejmě prvořadá. Jako základní a podstatnou vlastnost neuronových sítí považujeme jejich schopnost adaptace - tedy učení. Při využití neuronové sítě pak odpadá nutnost hledání a vytváření algoritmů, které transformují množinu dat vstupních do množiny dat výstupních. Způsob transformace vstupních dat určuje právě fáze učení (adaptace sítě), založená na využití vzorů (příkladů) požadovaného chování - tzv. trénovací množiny. Proces hledání optimálního nastavení struktury i parametrů neuronové sítě k dosažení požadované transformace vstupní množiny do množiny výstupní (požadované chování neuronové sítě) se nazývá adaptace sítě. Pro adaptaci vícevrstvé neuronové sítě se spojitými perceptrony byla vyvinuta a často je používána adaptační metoda tzv. "back-propagation" (BP) - metoda "zpětného šíření". Příklad 1 Velmi často se trénovací množina generuje tak, že na vstup matematického modelu modelované soustavy přivádíme náhodný signál o náhodné frekvenci a amplitudě. Tím se zaručuje lepší „pokrytí“ prostoru vstupních hodnot a zvyšujeme vlastnost generalizace sítě.
Shrnutí pojmů Propojení neuronů může být libovolné. V praxi však používáme tzv. sítě vícevrstvé, v nichž jsou neurony uspořádány do několika vrstev nad sebou. První vrstva je pak vrstvou vstupní, poslední je vrstva výstupní. Mezilehlé vrstvy se pak nazývají vrstvy skryté. Vícevrstvá neuronová síť má m- vstupních neuronů ve vrstvě vstupní, n-výstupních neuronů ve vrstvě výstupní a r- vrstev skrytých, přičemž.s- tá vrstva má k- neuronů. Každému reálnému spojitému zobrazení z m-rozměrného vstupního prostoru do arozměrného prostoru výstupního lze najít skryté vrstvy a hodnoty vah (prahů) a tím tedy určitou síť tak, že je realizováno touto sítí s libovolnou přesností. Jako základní a podstatnou vlastnost neuronových sítí považujeme jejich schopnost adaptace tedy učení. Při využití neuronové sítě pak odpadá nutnost hledání a vytváření algoritmů, které transformují množinu dat vstupních do množiny dat výstupních. Způsob transformace
82
vstupních dat určuje právě fáze učení (adaptace sítě), založená na využití vzorů (příkladů) požadovaného chování - tzv. trénovací množiny.
Otázky 7.2. Jak se nazývají vrstvy vícevrstvé neuronové sítě ? Jaká je základní vlastnost vícevrstvé neuronové sítě ? Co je to procedura adaptace a jakou roli hraje trénovací množina dat ?
Úlohy k řešení 7.2. Nakreslete vícevrstvou neuronovou síť s označením 4-1-2 !
83
7.3 Strategie adaptační metody Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit metodu učení vícevrstvé neuronové sítě Výklad V první řadě se budeme věnovat problému, jak k vícevrstvé síti u níž již známe její topologii (počet vrstev a neuronů v nich) najít váhy všech spojů. Problém nalezení topologie budeme řešit dále. Vycházíme z vah, které jsou zvoleny náhodně. Tyto zřejmě nebudou vyhovovat požadovanému zobrazení a bude je třeba v procesu adaptace sítě upravit. K tomu lze využít několika metod, zejména metod gradientních, stochastických a metod genetických algoritmů. Jednou z nejpoužívanějších metod je tzv. metoda zpětného šíření chyby (BP – backpropagation) [14]. Základem metody adaptace (učení) je použití trénovací množiny obsahující vzory (požadované hodnoty) excitací neuronů vstupní a výstupní vrstvy. Trénovací množinu TR pak zapisujeme jako množinu uspořádaných dvojic
TR = {{X01, Y01} {X02, Y02} ... {X0p, Y0p}} X0i = [x01 x02 ... x0k],
x0j <0,1>
Y0i = [y01 y02 ... y0m],
y0j <0,1>,
kde p- je počet vzorů trénovací množiny, X0i je vektor excitací vstupní vrstvy s k- neurony, Y0i je vektor excitací výstupní vrstvy tvořené m- neurony a x0j, y0j jsou excitace j-tého neuronu vstupní resp. výstupní vrstvy. Adaptační algoritmus (algoritmus učení) metody BP lze popsat těmito procedurami: 1. Neurony vstupní vrstvy excitujeme na odpovídající úroveň vektorem X0i i-tého prvku trénovací množiny TR. 2. Provedeme šíření tohoto signálu dopředným způsobem (feedforward) až k výstupní vrstvě neuronů takto: 2.1 Excitace první vrstvy jsou vahami přivedeny k následující vrstvě a upraveny pomocí synaptických vah; 2.2 Každý neuron této vyšší vrstvy provede sumaci opravených signálů od nižší vrstvy 84
a je excitován na úroveň danou svojí aktivační funkcí; 2.3 Kroky 2.1 a 2.2 jsou opakovány přes všechny vnitřní vrstvy až k vrstvě výstupní, čímž jsou získány excitační stavy jejích neuronů; 3. Porovnáme požadovaný stav Y0i i-tého prvku trénovací množiny se skutečnou odezvou neuronové sítě Y*i. 4. Diference skutečné a požadované hodnoty odezvy definuje chybu, kterou pak v určitém poměru vracíme do neuronové sítě formou úpravy synaptických vah směrem od horních vrstev k vrstvám nižším tak, aby chyba následující odezvy klesla. 5. Po vyčerpání celé trénovací množiny vyhodnotíme celkovou chybu (přes všechny vzory trénovací množiny TR) a pokud je tato chyba vyšší než chyba požadovaná, opakujeme kroky 1. až 4 znovu. Schéma adaptační metody, v níž učící se proces je řízen velikostí chybové funkce En, je na Obr.33.
Obr.33 Cílem adaptivní strategie metody BP je tedy minimalizace funkce chyby En, definované vztahem
En
1 p m 0 y j y*j 2 i 1 j 1
2
i
kde y0j je skutečná a y*j je požadovaná odezva j- tého neuronu výstupní vrstvy. Algoritmus back-propagation můžeme nalézt např. v 14. Neuronová síť, popsaná v této části, je koncipována zcela univerzálně a je určena pro modelování obecné vícerozměrné závislosti (chování vícerozměrné soustavy) typu MIMO (Multi - Input - Multi - Output).
85
Příklad 1 Pro realizaci procedury adaptace neuronové sítě, tj. optimalizace jejích parametrů, se používají i jiné optimalizační metody. Z nich je třeba jmenovat zdokonalenou GaussNewtonovu optimalizační metodu Levenberg-Marquardt. V dalších kapitolách uvedeme použití univerzálního optimalizačního genetického algoritmu.
Shrnutí pojmů Základem metody adaptace (učení) je použití trénovací množiny obsahující vzory (požadované hodnoty) excitací neuronů vstupní a výstupní vrstvy. Pomocí adaptačního algoritmu (algoritmu učení) metody BP adaptujeme automaticky parametry sítě (velikosti vah jejích vazeb a parametry přenosových funkcí neuronů) tak, abychom minimalizovali chybu sítě. Vícevrstvé neuronové sítě se používají k řešení složitých úloh, jako jsou úlohy klasifikace, predikce, řízení nebo komprese dat.
Otázky 7.3. Vysvětlete složení trénovací množiny dat Vysvětlete metodu adaptace neuronové sítě metodou zpětného šíření chyby Co je to chybová funkce ? Vyjmenujte příklady použití vícevrstvých neuronových sítí !
Úlohy k řešení 7.3. Vymyslete příklady úloh pro řešení pomocí vícevrstvých neuronových sítí !
86
7.4 Architektury neuronových sítí Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
popsat strukturu a funkci Hopfieldovy neuronové sítě popsat strukturu a funkci Kohonenovy neuronové sítě vysvětlit způsoby použití vícevrstvých neuronových sítí Výklad Hopfieldova síť V Hopfieldově síti [13], představující tzv. Hopfieldův model, je každý z jejích n neuronů spojen s každým prostřednictvím spojů se symetrickými váhami
wij = wji Hopfieldovy sítě patří do skupiny sítí rekurentních a slouží jako tzv. asociativní paměti. Jestliže přivedeme na vstupy takové sítě určité hodnoty, po naučení sítě jsou tytéž hodnoty na jejích výstupech. Počet neuronů sítě je roven počtu vstupů sítě nebo jejich výstupů, protože vstupní neurony jsou současně i neurony výstupními. Obraz jednoduché Hopfieldovy sítě s šesti neurony je na Obr. 34.
Obr.34
87
Jestliže označíme počáteční stav vstupů sítě xp, jeví síť tendenci přecházet (relaxovat) do některého z dříve naučených stavů xi, který je blízký stavu xp. Tento stav se objeví na výstupu sítě. Jde tedy o proces vybavení dříve naučeného („viděného“) vzoru na základě zadání, které může být i neúplné nebo nepřesné (xp může představovat jenom část xi, jeho „zašuměnou“ verzi apod.). Asociativnost Hopfieldovy sítě je dána tím, že vybavovaný vzor zadáváme jeho jistou částí, do značné míry libovolnou. Vzor je vybavován podle části svého „obsahu“, nikoliv odkazem na nějakou jeho „adresu“. Adaptace vah neuronů se řídí Hebbovým zákonem. Vnutíme-li dvěma neuronům stavy xi a xj změní se jejich vazba wij o hodnotu
wij wij t 1 wij t xi t x j t , i, j 1,..., n Každý vstupní vektor ovlivní takto celou matici vzájemných vazeb wij. Pro změnu stavu neuronové sítě xi pak platí vztah
n xi t 1 sign wij x j t , i 1,..., n j 1 Siť se stabilizuje ve stavu x t 0 x t 0 1
V celkovém důsledku se síť chová tak, že usiluje o dosažení minima hodnoty odpovídající velikosti její energie E
1 n n wij x j xi 2 i 1 j 1
Jednotlivé neurony mění svůj stav (tj. jsou aktivizovány) – na rozdíl od neuronové sítě vícevrstvé - asynchronně. Problémem Hopfieldových sítí je skutečnost, že počet uchovatelných vzorů je malý (asi 0,15N, kde N je počet neuronů sítě). Hopfieldovy sítě s výhodou používají k realizace funkcí rozpoznávání vzorů a klasifikaci. Skutečnost, že standardní Hopfieldova síť dosáhne nutně v konečném čase (lokálního) minima své energie, se využívá k (suboptimálnímu) řešení některých optimalizačních úloh. Kohonenova síť Typickou procedurou učení vícevrstvých neuronových sítí je učení s učitelem, při němž je síti předkládán požadovaný výsledek. U živých organizmů je takovou analogií učení se na základě „odměny a trestu“. V přírodě se organizmy nepoučují jen pomocí vnějších kritiků (rodiče, společnost), ale i vlastním hodnocením vlastní historie. Pokud se funkce sítě upravuje (adaptuje) jen na základě stimulů a ne na základě vnějšího hodnocení odpovídajících reakcí, hovoříme o její samoorganizaci. Do třídy takových sítí patří i neuronové sítě Kohonenovy – Obr.35a [13].
88
Obr.35a Uvažujme situaci, kdy k- neuronů je určeno k rozpoznání k- tříd (kategorií) a každý vstupní vektor příznaků x máme přiřadit jedné z nich. Při tom podobným (ve smyslu nějaké metriky) vstupním vektorům má odpovídat tatáž kategorie. Vezměme jednoduchou dvouvrstvou síť s náhodně inicializovanými váhami. Neuron i vyšší vrstvy spojený se všemi neurony j vstupní vrstvy váhami wij je daným vstupním vektorem x na potenciál wix. Pro daný vstup pak existuje výstupní neuron, který je excitován nejvíce. Označme jej . Platí
w * X wi X , pro všechna ostatní i. Řekněme, že reprezentuje x. Pokud je jiný vstup x´ blízký vektoru x, je pravděpodobné, že bude reprezentovat i x´. Funkci takového klasifikátoru výrazně zlepší procedura adaptace, kdy příchod každého nového vektoru x´ posune (adaptuje) váhový vektor w reprezentující vektory blízké vektoru x tak, aby reprezentoval i x´. Toho se dosahuje použitím Kohonenova adaptačního pravidla
w * nové w * ( staré ) X w * ( staré ) K výběru neuronu, který je daným vstupem nejvíce excitován, slouží jev zvaný kompetice. Každý neuron vrstvy posiluje sám sebe a potlačuje ostatní s týmiž koeficienty úměrnosti. Tím jeho náskok postupně vzrůstá až nakonec ten, který měl na začátku byť jen malý náskok, dosáhne své maximální hodnoty výstupu zatímco výstupy ostatních jsou nulové. Takový mechanizmus (laterální inhibice) je znázorněn na Obr.35b.
89
Obr.35b Tento mechanizmus je zaveden tím, že navíc ke spojům vedoucím mezi vrstvami neuronů je horní vrstva realizována jako Hopfieldova síť, kde wii 0, wii 0, j i. Příklad 1 Použití vícevrstvých neuronových sítí v jednotlivých typických úlohách: a) Klasifikace Pro klasifikaci vstupů {x} do dvou tříd použijeme např. síť m - k – 1 (vstupní vrstva mneuronů, k- skrytých vrstev, výstupní vrstva 1 neuron) s trénovací množinou {x, y …}, kde y = 1 nebo y = 0 podle toho, do které třídy vstup x patří. Chceme-li klasifikovat do více tříd, použijeme více výstupních neuronů. b) Predikce Mějme časovou posloupnost x1 ,x2 ,…,xj ,… ,xT ,xT+1, kde prvky xi pro i = 1,2,…,T jsou změřeny. Pro m T předkládáme na vstup sítě vždy m-tici známých hodnot a pomocí (m + 1)-ní hodnoty na výstupu učíme. Pokud je síť schopna extrahovat v adaptačním módu dobře zákonitosti „historie“, bude v aktivním módu schopna předpovídat i xT+1 položíme-li na vstup m- známých hodnot. c) Řízení Neuronové sítě jsou schopny napodobovat různé řídicí systémy tím, že po delší dobu „pozorují“ a s postupem adaptace stále lépe kopírují. Tak jsou schopny nahradit např. člověka (experta), který na základě své dlouholeté praxe a neuvědomované intuice převádí jisté indikační příznaky na řídicí povely (expertní systém jako regulátor). Je to typický příklad extrakce znalostí, které expert není schopen formulovat ve tvaru pravidel. d) Komprese dat Uvažujme tří-vrstvou neuronovou síť s počtem k- neuronů ve skryté a m- neuronů ve vstupní a výstupní vrstvě (k m). Naučíme-li takovou síť na identitu (tj. x = y ) potom skrytá vrstva reprezentuje data komprimovaná na m/k původního počtu. Sít realizující identické zobrazení m-bitových signálů se rozdělí do dvou částí (vysílač-přijímač) které komunikují prostřednictvím přenosu kódu na k m linkách. 90
Shrnutí pojmů V Hopfieldově síti, představující tzv. Hopfieldův model, je každý z jejích n neuronů spojen s každým prostřednictvím spojů se symetrickými váhami. Hopfieldova síť má cyklickou uzavřenou strukturu (topologii). Hopfieldovy sítě patří do skupiny sítí rekurentních a slouží jako tzv. asociativní paměti. Jestliže přivedeme na vstupy takové sítě určité hodnoty, po naučení sítě jsou tytéž hodnoty na jejích výstupech. Počet neuronů sítě je roven počtu vstupů sítě nebo jejich výstupů, protože vstupní neurony jsou současně i neurony výstupními. Asociativnost Hopfieldovy sítě je dána tím, že vybavovaný vzor zadáváme jeho jistou částí, do značné míry libovolnou. Hopfieldovy sítě s výhodou používají k realizace funkcí rozpoznávání vzorů a klasifikaci. V přírodě se organizmy nepoučují jen pomocí vnějších kritiků (rodiče, společnost), ale i vlastním hodnocením vlastní historie. Pokud se funkce sítě upravuje (adaptuje) jen na základě stimulů a ne na základě vnějšího hodnocení odpovídajících reakcí, hovoříme o její samoorganizaci. Do třídy takových sítí patří i neuronové sítě Kohonenovy. V postupu předkládání vektoru vstupních dat se mění excitace výstupních neuronů tak, že u jednoho neuronu jeho výstup roste a u ostatních klesá. K výběru neuronu, který je daným vstupem nejvíce excitován, slouží jev zvaný kompetice. Každý neuron vrstvy posiluje sám sebe a potlačuje ostatní s týmiž koeficienty úměrnosti. Tím jeho náskok postupně vzrůstá až nakonec ten, který měl na začátku byť jen malý náskok, dosáhne své maximální hodnoty výstupu zatímco výstupy ostatních jsou nulové. Kohonenovy sítě jsou vhodné pro řešení úloh rozpoznávání.
Otázky 7.4. Jaká je typická topologie Hopfieldovy neuronové sítě ? Co je to vlastnost asociativní paměti a jak se tato vlastnost projevuje ? Jaký je princip funkce Kohonenovy neuronové sítě ? Vysvětlete princip procedury kompetice !
Úlohy k řešení 7.4. Nakreslete Hopfieldovu síť se čtyřmi neurony a všemi vazbami, včetně jejích vstupů a výstupů ! Nakreslete Kohonenovu neuronovou síť pro rozpoznávání šesti hlásek pomocí tří jejich formantů !
91
8 – GENETICKÉ ALGORITMY 8.1 Evoluční strategie Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Popsat aplikaci principů biologického evolučního vývoje v technice Výklad Neuronové sítě, popsané v minulé kapitole, nejsou jediným nástrojem umělé inteligence, jehož inspirací jsou biologické struktury a jejich funkce. Objevy v oblasti genetiky vedly k úspěšnému pokusu o umělé napodobení procesů, které jsou základem utváření charakteru jedince a mechanizmu dědění jeho vlastností v potomstvu. Výsledkem jsou vyhledávací algoritmy, založené na principech biologické evoluce a na mechanizmu přirozeného výběru. Díky evolučním principům jsou takové algoritmy poměrně jednoduché a mají oproti jiným vyhledávacím a optimalizačním metodám řadu výhod. Biologická evoluce je založena na změnách genetické struktury populace a zahrnuje štěpení, vznik a zánik vývojových linií organizmů. Evoluční mechanizmy jsou prověřeny v přírodě dlouhodobým vývojem. Lze je úspěšně aplikovat i na technické problémy, a to zejména takové, které jsou složité nebo těžko popsatelné matematickými metodami. Obecně jsou určeny k vyhledávání nejlepších (optimálních) řešení různých problémů. Evoluční algoritmy se dělí na genetické algoritmy, genetické programování a evoluční strategie 15. Genetické algoritmy (GA) používají pro nalezení optimálního řešení speciální procedury, nazývané operacemi selekce, křížení a mutace pro simulaci procesu reprodukce. Zatím co GA pracují pouze s parametry účelové funkce optimalizační úlohy, genetické programování pracuje i s proměnnými a funkcemi s úlohou spojenými. Genetické programování je vhodné pro řešení speciálních problémů (symbolická regrese). Tyto algoritmy jsou silně závislé na charakteru řešeného problému a proto neexistují v obecné formě. Evoluční strategie na rozdíl od genetických algoritmů nemusí používat operaci křížení a potomky (varianty řešení problému v rámci vyhledávání optimálního řešení) mohou vytvářet např. pouze modifikací (mutací) jednoho rodiče (řešení). Pokročilé evoluční algoritmy využívají ke zrychlení a zvýšení spolehlivosti nalezení optimálního řešení problému principy matematické statistiky. Jejich použití vyžaduje vytvoření tzv. pravděpodobnostního modelu řešení daného problému. Nová řešení jsou v průběhu vyhledávání optimálního řešení generována právě na základě tohoto modelu.
92
Nejpoužívanějšími pravděpodobnostními modely jsou zde tzv. modely Bayesovské. Takové evoluční algoritmy jsou pak nazývány algoritmy Bayesovskými. V další kapitole se budeme zabývat nejrozšířenějšími evolučními algoritmy – algoritmy genetickými. Příklad 1 Procedurou biologické genetiky je hynutí a přežívání takových živočichů, kteří nejsou či jsou schopni přizpůsobit se změněným životním podmínkám.
Shrnutí pojmů Biologická evoluce je založena na změnách genetické struktury populace a zahrnuje štěpení, vznik a zánik vývojových linií organizmů. Evoluční mechanizmy jsou prověřeny v přírodě dlouhodobým vývojem. Lze je úspěšně aplikovat i na technické problémy, a to zejména takové, které jsou složité nebo těžko popsatelné matematickými metodami. Obecně jsou určeny k vyhledávání nejlepších (optimálních) řešení různých problémů. Evoluční algoritmy se dělí na genetické algoritmy, genetické programování a evoluční strategie.
Otázky 8.1. Jaká je základní myšlenka biologických evolučních procesů ? Jaké problémy řeší evoluční metody v technické oblasti ?
Úlohy k řešení 8.1. Vyjmenujte alespoň dva biologické evoluční procesy, které proběhly v přírodě !
93
8.2 Genetický algoritmus Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit princip genetického algoritmu Definovat funkci základních genetických operací Výklad Genetický algoritmus (GA) je robustní vyhledávací procedura, která je založena na principu přirozeného výběru a přírodní genetiky. Svoje největší uplatnění nachází v úlohách optimalizace a strojového učení. Genetické algoritmy se vyznačují zejména těmito znaky: - mají daleko širší hranice svého použití, než klasické optimalizační metody. Z pohledu způsobu formalizace zadání optimalizační úlohy jsou to metody zcela univerzální. Omezení jejich praktické použitelnosti je dáno hlavně dobou výpočtů. - nepracují s lokálními parametry optimalizovaného procesu, nýbrž operují s globální strukturou - chromozomem - v němž jsou jednotlivé parametry zakódovány. - jsou to slepé prohledávací metody, které principiálně nevyžadují dodatečné informace pro řízení výpočtu (jako např. metody gradientní). Pro orientaci optimálního postupu řešení vyžadují pouze formulaci účelové funkce. Dodatečné informace však mohou významně snižovat dobu, potřebnou k nalezení optimálního řešení. - pro řízení vyhledávacích procedur využívají, na rozdíl od jiných metod, statistická přechodová pravidla. Základem pro operace GA je, jak již bylo řečeno, znakový řetězec, v němž jsou zakódovány parametry studovaného procesu. Tento řetězec je, ve shodě se svým biologickým vzorem, nazván chromozomem. Principem funkce GA je pak kopírování těchto řetězců a vyměňování jejich částí navzájem. Obecně jsou chromozomy bitové řetězce. Příkladem takového chromosomu je např. struktura [1 0 1 1 0 0 1 0 1] Jednotkami chromozomu jsou zde jednotlivé bity - geny. Jednotlivé geny mohou být (v závislosti na řešené problematice) obsazeny i reálnými čísly, což vede ke struktuře chromosomu v podobě seznamu reálných čísel, např. [0.1 0.5 1.0 0.4 0.2].
94
Ve všech případech má však chromozom konečnou délku. Každý gen - bit nebo reálné číslo je (stejně jako v biologii) nositelem vlastností chromozomu. Množina chromozomů je nazývána populací. V každém kroku genetického procesu tvoří příslušná populace tzv. generaci chromozomů. Generace chromozomů vzniká reprodukcí populace. Každý chromozom populace je vybaven fitness hodnotou, která je dána cílovou (účelovou) funkcí (fitness - vhodnost chromosomu) a vyjadřuje míru přiblížení se chromosomu optimálnímu. Mechanizmy GA umožňují kopírování řetězců a vzájemnou výměnu jejich částí pomocí tří operací, a to - operace reprodukce, - operace křížení, - operace mutace. Operace reprodukce je proces, při němž jsou jednotlivé chromozomy kopírovány do nové populace podle velikosti jejich fitness hodnoty. Čím je její velikost vyšší, tím má chromozom větší pravděpodobnost přežití, tj. přestupu do další generace chromozomů. Tím jsou "dobrá" řešení vybírána pro další reprodukci a "špatná" jsou eliminována. Vybraná řešení (chromozomy) jsou dále podrobena dalším operacím - křížení a mutaci. Proces křížení umožňuje rekombinaci částí vybraných párů chromozomů (rodiče). Tento proces je tvořen dvěma kroky: - v prvním jsou vytvořeny náhodné páry dvou chromozomů, - ve druhém je realizován vlastní proces výměny informace křížením. Křížení je provedeno tak, že náhodným výběrem (z rovnoměrného rozdělení) se stanoví bod křížení k v chromozomu a z původních dvou chromozomů rodičovských se vytvoří dva noví jedinci tak, že první potomek je tvořen geny na pozici (1 až k) jednoho z rodičů a geny na pozicích [(k+1) až L] druhého rodiče, přičemž L je celkový počet genů (délka) chromozomu. Druhý potomek má pořadí genů stanoveno křížem opačně. Proces křížení je znázorněn na Obr.36.
95
Obr.36 Dalším operátorem GA je mutace. Touto procedurou je s určitou, obvykle velmi malou pravděpodobností, měněna hodnota genů chromozomu z 1 na 0 a opačně. Význam této operace je v tom, že zabraňuje ztrátě určité genetické informace obsažené ve "špatných" chromozomech. Princip operace mutace je uveden na Obr.37.
Obr.37 Vytvoření genetického algoritmu provází pětice základních problémů: 1. Metoda (způsob) zakódování chromozomů 2. Definice účelové funkce (fitness hodnoty) 3. Způsob získání výchozí (startovní, nulté) generace chromozomů
96
4. Množina operátorů pro vygenerování následující generace chromozomů (populace) 5. Množina pracovních parametrů. V populaci je obsaženo P chromozomů. Výchozí (nultá) populace chromozomů p0 je generována pomocí generátoru náhodných čísel. Entita akt označuje k-tý chromozom v t-té generaci. I je chromozom, zakódovaný formou řetězce genů (parametrů). Evoluční proces genetického algoritmu pokračuje tak dlouho, dokud stop-kriterium (T=0) nedosáhne hodnoty (T=1). Stop-kriteriem je dvouhodnotová proměnná, která změní svoji binární hodnotu v okamžiku, kdy je možno proceduru vyhledávání optimálního řešení ukončit. Genetické algoritmy jsou samy o sobě univerzálním, robustním a efektivním prostředkem pro hledání optimálních řešení problémů. Velmi zajímavé možnosti svého uplatnění však nacházejí genetické algoritmy, jako optimalizační procedury, ve fuzzy systémech, systémech s neuronovými sítěmi případně v systémech fuzzy-neuronových. Těmto aplikacím se budeme věnovat dále. Příklad 1 Příklad zakódování konkrétní úlohy do chromozomu. Jsou zakódovány chromosomy dvou optimalizovaných parametrů, jejichž hodnoty 41 a 43 jsou kódovány jako osmibitová dvojková čísla.
Obr.38
Shrnutí pojmů Genetické algoritmy se mají daleko širší hranice svého použití než klasické optimalizační metody. Z pohledu způsobu formalizace zadání optimalizační úlohy jsou to metody zcela univerzální. Omezení jejich praktické použitelnosti je dáno hlavně dobou výpočtů. Nepracují s lokálními parametry optimalizovaného procesu, nýbrž operují s globální strukturou chromozomem - v němž jsou jednotlivé parametry zakódovány. Jsou to slepé prohledávací metody, které principiálně nevyžadují dodatečné informace pro řízení výpočtu (jako např. metody gradientní). Pro orientaci optimálního postupu řešení vyžadují pouze formulaci účelové funkce. Dodatečné informace však mohou významně snižovat dobu, potřebnou k nalezení optimálního řešení. Pro řízení vyhledávacích procedur využívají, na rozdíl od jiných metod, statistická přechodová pravidla. Genetické algoritmy jsou samy o sobě univerzálním, robustním a efektivním prostředkem pro hledání optimálních řešení problémů. Velmi zajímavé možnosti svého uplatnění však
97
nacházejí genetické algoritmy, jako optimalizační procedury, ve fuzzy systémech, systémech s neuronovými sítěmi případně v systémech fuzzy-neuronových.
Otázky 8.2. Jak jsou generováni potomci pomocí operace křížení ? Jak se realizuje operace mutace ? Čím jsou ohodnocováni jedinci v generaci ?
Úlohy k řešení 8.2. Navrhněte chromozom pro zakódování parametrů fuzzy množiny A, která je dána čtyřmi body zlomu její po částech lineární lichoběžníkové funkce příslušnosti. K zakódování použijte binárního kódu: A: 5, 8, 12, 16
98
9 – INTEGROVANÉ SYSTÉMY SOFT-COMPUTINGU 9.1 Integrace principů umělé inteligence (soft-computing) Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
vysvětlit důvody a principy kombinace metod umělé inteligence vyjmenovat nejpoužívanější metody soft-computingu Výklad V minulých kapitolách byly popsány nejpoužívanější metody umělé inteligence, založené na principech fuzzy množinové matematiky, umělých neuronových sítí a genetických algoritmů. Jejich principů využívají fuzzy expertní systémy, fuzzy regulátory, neuronové modely složitých soustav a genetické algoritmy pro optimalizaci procesů. Na příkladech použití těchto nástrojů byla demonstrována jejich efektivita a schopnost využívat pro svoji funkci neurčitosti a neúplných informací o soustavách i datech, které takové špatně popsatelné soustavy charakterizují. V průběhu vývoje a aplikací těchto metod umělé inteligence se ukázalo, že v mnohých případech lze jednotlivé metody, tj. přístupy fuzzy množinové matematiky, neuronových sítí a genetických algoritmů spojovat a vytvářet přístupy nové, kombinované, které jsou výkonnější než jejich přístupy jednotlivé. Tak vznikla celá řada nových nástrojů, které jsou zařazovány do širší oblasti tzv. výpočtové inteligence nebo soft-computingu 13. Nejčastěji používanými kombinacemi jsou metody fuzzy-neuronové, fuzzy-genetické, neuro-genetické či konečně fuzzy-neuro-genetické. V kombinacích se také vyskytují hybridní přístupy, které využívají i principů konvenčních či nekonvenčních metod pravděpodobnostních a matematickou statistiku. Příklad 1 V praktických aplikacích metod soft-computingu se nejčastěji vyskytují kombinace přístupů fuzzy logika + neuronové sítě neuronové sítě + genetické algoritmy fuzzy logika + genetické algoritmy fuzzy logika + neuronové sítě + genetické algoritmy. Následující kapitoly jsou věnovány těmto kombinacím s ukázkami příkladů praktického řešení.
99
Shrnutí pojmů V průběhu vývoje a aplikací metod umělé inteligence se ukázalo, že v mnohých případech lze jednotlivé metody, tj. přístupy fuzzy množinové matematiky, neuronových sítí a genetických algoritmů spojovat a vytvářet přístupy nové, kombinované, které jsou výkonnější než jejich přístupy jednotlivé. Tak vznikla celá řada nových nástrojů, které jsou zařazovány do širší oblasti tzv. výpočtové inteligence nebo soft-computingu. Nejčastěji používanými kombinacemi jsou metody fuzzy-neuronové, fuzzy-genetické, neuro-genetické či konečně fuzzy-neuro-genetické. V kombinacích se také vyskytují hybridní přístupy, které využívají i principů konvenčních či nekonvenčních metod pravděpodobnostních a matematickou statistiku.
Otázky 9.1. Jaký je princip metod soft-computingu ? Které metody umělé inteligence jsou v soft-computingových přístupech nejčastěji využívány?
Úlohy k řešení 9.1. Navrhněte příklad kombinace některé z metod umělé inteligence s metodou matematické statistiky !
100
9.2 Fuzzy-neuronové systémy Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
vysvětlit princip kombinace metod fuzzy logiky a neuronových sítí popsat a objasnit příklad praktické aplikace Výklad V mnohých případech praktického použití vícevrstvých neuronových sítí je jejich nevýhodou skutečnost, že neexistuje znalost kauzálních vztahů nebo postupů, jejichž prostřednictvím jsou vstupní veličiny transformovány na veličiny výstupní. Algoritmus neuronové sítě je v tomto případě pro vysvětlení způsobu výpočtu výstupních hodnot nedostatečný. Znalost postupu výpočtu v případě neuronových sítí je znalostí skrytou (tacitní). Velkou výhodou neuronových sítí je naopak jejich obecná schopnost samoučení. Naproti tomu velmi srozumitelný základ pro vyvození hodnot výstupních veličin představují fuzzy orientované pravidlové systémy. Podmíněná IF-THEN pravidla jsou dokonale srozumitelná hlavně pro uživatele, pro něž je takto popsaný systém transparentní a při použití vzbuzuje důvěru. Schopnost automatické identifikace fuzzy modelů je však omezená. Z těchto hledisek je proto velmi zajímavá kombinace fuzzy modelu a neuronové sítě, která umožňuje vysvětlení zásad výpočtu hodnot výstupních veličin pravidlovým popisem a přitom má plnou schopnost automatické identifikace parametrů pomocí trénovací množiny naměřených dat. V takových případech je pak použita vícevrstvá neuronová síť, jejichž neurony obsahují procedury nutné pro realizaci fuzzy modelu typu Mamdani nebo TakagiSugeno. Po naučení takové fuzzy-neuronové sítě lze tvar i parametry takto identifikovaných pravidel z neuronové sítě extrahovat a pracovat s nimi dále jako s modelem pravidlovým. Velmi často se taková kombinace používá ve spojitosti s fuzzy-neuronovými modely nebo regulátory. Na rozdíl od fuzzy pravidlových modelů, v nichž jsou znalosti vyjádřeny explicitně ve formě jednotlivých pravidel, neuronová síť akumuluje znalosti implicitně (skrytě, tacitně) do hodnot synaptických vah a parametrů přenosových funkcí svých neuronů. Mají však velkou přednost v možnosti svého učení prostřednictvím tréninkové množiny. Fuzzy neuronové sítě jsou postaveny na principu transformace fuzzy pravidlového modelu do topologie odpovídající vícevrstvé neuronové sítě, adaptace (naučení) parametrů této sítě pomocí trénovací množiny a zpětné transformace naučené sítě do explicitních fuzzy pravidel. Takový přístup ukazuje Obr.39.
101
Obr.39 Uvažujme expertně sestavený model typu Mamdani, jehož struktura je dána m- vstupními proměnnými xj, j = 1,…,m a jednou proměnnou výstupní y. i-té pravidlo takového modelu má tvar Ri: IF (xi is A1i) and ... and (xm is Am1) THEN (y is Bi) V této fázi tvorby modelu jsou jeho parametry neznámé. K jejich identifikaci použijeme metodu fuzzy neuronové sítě. Topologie takové neuronové sítě musí odpovídat struktuře (tvaru a počtu pravidel) fuzzy modelu, přenosové funkce neuronů sítě pak musí realizovat fuzzy procedury nutné i realizaci inferenčního mechanizmu (zde typu Mamdani). Vyvozenou výstupní fuzzy množinu B0 získáme jako výstup rovnice představující tzv. Maximo-minimální vyvozovací pravidlo (odpovídající metodě vyvození popsané v kap.5.2.)
B0 max min{min Aij ( x j ) Bi ( y ) / y y
j
i
Číselný výstup fuzzy neuronové sítě y* získáme defuzzifikací fuzzy množiny B0 procedurou n
y defuzz ( B0 )
gr y Br ( y)dy y
r 1
n
B y
r 1
gr r
( y )dy
kde Br , r=1,…,n jsou jazykové hodnoty výstupní jazykové proměnné a gr je ořezávací koeficient pro jejich hodnoty (viz kap.5.2.). Transformace takového modelu a jeho realizace fuzzy procedur je provedena s využitím 5-ti vrstvé neuronové sítě podle Obr.40
102
Obr.40 Označme obecně přenosovou funkci neuronu takové sítě f jako
y f a x1 , x2 ,..., xn kde xi, i = 1,…,n jsou vstupy neuronu, a(.) je agregační funkce neuronu a f(.) je jeho funkce přenosová. Pro neurony první vrstvy (vstupní s indexem n) platí vztahy
a n ( xn ) xn f n (an ) an Ve druhé vrstvě (s indexem m) reprezentuje každý neuron jednu jazykovou hodnotu vstupní proměnné a obsahuje funkci příslušnosti její fuzzy množiny. Tyto neurony realizují proceduru výpočtu stupně příslušnosti aktuální hodnoty vstupní proměnné k této fuzzy množině. Váhový koeficient wmn mezi neurony první a druhé vrstvy je přitom roven 1.
am ( xm ) Am ( xm ) f m (am ) am Každý neuron třetí vrstvy (s indexem l ) odpovídá jednomu podmíněnému pravidlu a je spojen s neurony druhé vrstvy podle jazykových hodnot které jsou obsaženy v antecedentu příslušného pravidla. Plní proceduru výpočtu výsledné pravdivostní hodnoty (ořezávacího koeficientu) pravidla.
al ( x1 , x2 ,..., x p ) minx1 , x2 ,..., x p f l (al ) al Váhové koeficienty wlm mezi druhou a třetí vrstvou neuronů jsou opět rovny 1.
103
Každý neuron čtvrté vrstvy (s indexem j) odpovídá jedné jazykové hodnotě výstupní proměnné a je propojen s těmi neurony třetí vrstvy, které reprezentují pravidla které se k této hodnotě vyjadřují ve svém konsekventu. Každý neuron této vrstvy vypočítává tvar ořezané fuzzy množiny jazykové hodnoty Br. Váhový koeficient mezi neurony třetí a čtvrté vrstvy je opět roven 1.
ak ( x1 , x2 ,..., xq ) maxx1 , x2 ,..., xq g k b1 k ( g k ) y B gk ( y )dy y
i
b 2 k ( g k ) B gk ( y )dy y
i
Neuron v páté vrstvě (index k) sestavuje fuzzy množinu výsledné odpovědi modelu B0 a provádí její defuzzifikaci
y defuzz ( B0 ) a j
b1 k ( g k ) b 2 k ( g k ) b2k (gk )
f j (a j ) a j Váhový koeficient mezi neurony čtvrté a páté vrstvy je opět roven 1. Takto je provedena transformace fuzzy pravidlového modelu do topologie odpovídající vícevrstvé neuronové sítě. Pro její adaptaci (učení) je možno použít metodu Back Propagation (BP), uvedenou v kap.7.3. Uvedený postup konstrukce a využití fuzzy-neuronového modelu je uveden na Obr.41
104
Obr.41 Takto naučenou (adaptovanou) fuzzy-neuronovou síť můžeme použít k vyvozování výstupní hodnoty modelu buď přímo bez dalších úprav, nebo můžeme extrahovat její parametry k parametrizaci pravidel původního fuzzy pravidlového modelu (procedura retransformace, zpětné transformace). Tím získáme výchozí fuzzy model nyní již parametricky identifikovaný. Fuzzy neuronová síť tak umožňuje automatickou identifikaci modelu Mamdani pomocí tréninkové množiny dat. Příklad 1 Jako příklad použití fuzzy-neuronového modelování zvolíme úlohu aproximace solně nelineární závislosti. Pro její popis použijeme fuzzy pravidlový model a provedeme jeho transformaci do formy neuronové sítě s její následnou adaptací [10]. Pro účely modelování vytvořme umělý systém popsaný nelineární rovnicí
f(x) = 1/40.[3(4x-2)(4x-3)(4x-3.7)(4x-1.3)(4x-0.2) + 20] Na Obr.43 je plnou čarou znázorněn průběh výchozí funkce f(x). Výchozí navržené rozdělení 105
vstupního fuzzy prostoru X a výstupního fuzzy prostoru Y na 6 podprostorů je nakresleno na Obr.42.
Obr.42
Obr.43 Pro fuzzy popis chování funkce f(x) bylo sestaveno 6 podmíněných pravidel:
R1: IF X is A1 THEN Y is B1 R2: IF X is A2 THEN Y is B5 R3: IF X is A3 THEN Y is B3 R4: IF X is A4 THEN Y is B4 R5: IF X is A5 THEN Y is B2 R6: IF X is A6 THEN Y is B6 Při použití Mamdaniho inference a metody defuzzifikace pomocí těžiště je chování fuzzy modelu znázorněno čárkovanou křivkou na Obr.43.
106
Z tohoto fuzzy modelu lze zkonstruovat fuzzy neuronovou síť, jejíž vrstvy mají následující počet neuronů: 1 (1.vrstva), 6 (2.vrstva), 6 (3.vrstva), 6 (4.vrstva), 1 (5.vrstva). Fuzzy neuronový model je nakreslen na Obr.44.
Obr.44 Pomoci rovnice f(x) bylo vygenerováno 50 dat trénovací množiny. Rekonstruované fuzzy množiny po ladění jsou nakresleny na Obr.45. Zlepšení adekvátnosti naladěného modelu ukazují průběhy na Obr.46. Další ladění modelu provedeno nebylo, neboť jeho adekvátnost byla shledána dostatečnou.
Obr.45
107
Obr.46
Shrnutí pojmů Na rozdíl od fuzzy pravidlových modelů, v nichž jsou znalosti vyjádřeny explicitně ve formě jednotlivých pravidel, neuronová síť akumuluje znalosti implicitně (skrytě, tacitně) do hodnot synaptických vah a parametrů přenosových funkcí svých neuronů. Mají však velkou přednost v možnosti svého učení prostřednictvím trénovací množiny. Fuzzy neuronové sítě jsou postaveny na principu transformace fuzzy pravidlového modelu do topologie odpovídající vícevrstvé neuronové sítě, adaptace (naučení) parametrů této sítě pomocí tréninkové množiny a zpětné transformace naučené sítě do explicitních fuzzy pravidel.
Otázky 9.2. Jaká je myšlenka integrace přístupů fuzzy logiky a neuronových sítí ? Jak probíhá proces identifikace fuzzy modelu typu Mamdani v prostředí vícevrstvé neuronové sítě ?
Úlohy k řešení 9.2. Promyslete případ, kdy je potřebné (nebo velice užitečné) znát přesné znění pravidel fuzzy modelu. Nejčastěji jsou takové případy nutné v případě modelů, které řeší problémy spojené s nebezpečnými situacemi.
108
9.3 Neuro-genetické systémy Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
Vysvětlit použití genetického algoritmu pro optimalizaci parametrů neuronové sítě
Výklad Idea využití GA v neuronových systémech spočívá v realizaci úlohy adaptace (učení) neuronových sítí jako optimalizace počtu vrstev, počtu neuronů a synaptických vah pomocí GA [10]. Jde tedy o náhradu běžně používané adaptační metody BP, jak byla na případu obecných neuronů uvedena v kapitole 7.3. Využití BP algoritmu pro adaptaci (učení) neuronové sítě, popsaného v kap.7.3, naráží v určitých případech na řadu potíží. Reálné prostředí je totiž typické svojí diskontinuitou a silnou multimodálností, špatně definovanými hodnotami, šumem a pod. V takových případech může BP algoritmus nemusí být dostatečně robustní a efektivní a neuronová síť může směřovat k lokálnímu minimu, i když je v blízkosti minimum mnohem hlubší. Lepší výsledky dává v tomto případě náhrada metody BP metodou GA. Zdůrazněme nejprve dva základní rysy GA při optimalizaci multimodálních funkcí: - GA má schopnost konvergovat k optimu, lokálnímu nebo globálnímu, po určení oblasti takové optimum obsahující; - GA má schopnost prohledat nové oblasti prostoru řešení a hledat optimum globální. Tyto dva rysy zajišťují při řešení optimalizačních úloh vyšší robustnost metody GA než metody BP. Příklad 1 Příklad využití genetického algoritmu pro adaptaci neuronové sítě je uveden v následující kapitole ve spojitosti se systémem fuzzy-neuro-genetickým.
Shrnutí pojmů Idea využití GA v neuronových systémech spočívá v realizaci úlohy adaptace (učení) neuronových sítí jako optimalizace počtu vrstev, počtu neuronů a synaptických vah pomocí GA. Jde tedy o náhradu běžně používané adaptační metody BP.
109
Otázky 9.3. Jaké výhody poskytuje použití GA pro adaptaci neuronové sítě ?
Úlohy k řešení 9.3. V kterých případech může být použití GA pro adaptaci neuronové sítě nevýhodné (neefektivní) ?
110
9.4 Fuzzy-genetické systémy Čas ke studiu: 1 hod Cíl
Po prostudování tohoto odstavce budete umět
vysvětlit principy použití GA ve fuzzy modelování popsat a objasnit konkrétní aplikaci GA při optimalizaci parametrů fuzzy množin Výklad Konkrétní realizace genetického algoritmu vyžaduje vždy speciální implementaci genetických operátorů (křížení, reprodukce a mutace). Jelikož genetický algoritmus je univerzálním prostředkem pro hledání optimálního řešení úloh, lze jej použít i v případě optimalizace fuzzy modelů. V úloze použití genetického algoritmu při optimalizaci struktury i parametrů fuzzy IF-THEN pravidel existuje několik možností jeho aplikace. Základním problémem je zde vhodné uložení optimalizovaných veličin do struktury chromozomu a volby vhodného způsobu jejich zakódování. Základními optimalizačními úlohami v případě pravidlového fuzzy modelu je stanovení počtu pravidel, počet jazykových hodnot jeho vstupních a výstupních jazykových proměnných, stanovení kombinací dílčích fuzzy tvrzení v antecedentech, pravidel, stanovení tvaru a parametrů fuzzy množin pro formalizaci jazykových hodnot proměnných. Způsob integrace fuzzy modelu a genetického algoritmu nejlépe vysvětlíme na příkladu, v němž je uveden jednak způsob genetické optimalizace velikosti parametrů fuzzy množin jazykových hodnot, jednak způsob hledání optimální struktury pravidel modelu. Příklad 1 První typ chromozomu obsahuje zakódování polohy středu základny trojúhelníkových fuzzy množin jazykových hodnot a zakódování hodnot krajních bodů těchto základen (fuzzy množiny mají tvar rovnoramenných trojúhelníků). Způsob zakódování jedné fuzzy množiny v chromozomu je na Obr.47.
111
Obr.47 GA algoritmus může mít následující variantu procedury křížení: - stanovení bodu křížení chromozomu prvního rodiče náhodným výběrem - stanovení bodu křížení chromozomu druhého rodiče náhodným výběrem - zkopírování celé pravé části chromozomu prvního rodiče do levé části chromozomu druhého následníka - zkopírování celé pravé části chromozomu druhého rodiče do levé části chromozomu prvního následníka. Procedura produkuje chromozomy následníků o různé délce, protože dělicí bod neleží obecně uprostřed bitového řetězce chromozomu rodičů. Aby byl zachován smysl parametrů (který je dán jejich pozicí v pravidle) zakódovaných v řetězci, každý chromozom pozůstává z řetězce (úplných) pravidel. Dělicí bod však leží uvnitř bitového řetězce pravidla, proto je vždy jeden z parametrů uvnitř rodičovského páru změněn. Tato změna se děje náhodně, avšak se stejnou pravděpodobností velikosti změny v kladném nebo záporném smyslu. Celá situace je znázorněna na Obr.48
Obr.48 Tato metoda křížení produkuje fuzzy regulátory o různém počtu pravidel. Integrace principů fuzzy logiky a GA je popsána i v příkladu následující kapitoly.
112
Příklad 2 Pěkným příkladem efektivity optimalizace funkce pomocí GA je příklad optimalizace charakteristiky stejnosměrného sériového elektromotoru. Regulace otáček stejnosměrného sériového motoru [63] je prováděna změnami jeho budícího proudu. Jeho charakteristika (závislost otáček motoru N na buzení I) je nakreslena na Obr.49.
Obr.49 Jazykový popis výchozí (neoptimalizované) nelineární charakteristiky je proveden pomocí IF-THEN pravidel ve formě:
R1: IF (I is NULL)
THEN (N is VELMI VYSOKÝ)
R2: IF (I is ASI NULA)
THEN (N is VYSOKÝ)
R3: IF (I is MALÝ)
THEN (N is STŘEDNÍ)
R4: IF (I is STŘEDNÍ)
THEN (N is MALÝ)
R5: IF (I is VYSOKÝ)
THEN (N is ASI NULA)
R6: IF (I is VELMI VYSOKÝ)
THEN (N is ASI NULA)
Fuzzy relace modelu je vytvořena jako R(I,N) = R1 and R2 and R3 and R4 and R5 and R6 Model pracuje se 6 jazykovými hodnotami vstupní a 5 jazykovými hodnotami výstupní proměnné. Fuzzy interpretace těchto hodnot je uvedena na Obr.50.
113
Obr.50 Pro hodnocení adekvátnosti modelu je použita kvadratická ztrátová funkce. Velikost ztrátové funkce výchozího modelu je e2=2,633.10-2. Pro optimalizaci modelu bylo použito genetického algoritmu způsobem, popsaným v kap.8.2. Chromozom obsahoval 12 genů, reprezentujících parametry fuzzy množin jazykových hodnot vstupní nezávislé jazykové proměnné I. Parametry procedury GA jsou uvedeny v Tab.10: Rozsah populace
50
Rozsah generace
100
Pravděpodobnost křížení
0.9
Pravděpodobnost mutace
0.1
Modif. koeficienty
a, ß <-1.5, 1.5>
Tab.10 Výsledkem optimalizace pomocí GA jsou optimalizované tvary funkcí příslušnosti, uvedené na Obr.51.
Obr.51
114
Průběh optimalizované charakteristiky je uveden na Obr.49 (Skutečný průběh). Velikost ztrátové funkce při použití tohoto modelu poklesla z hodnoty e2 = 2,633.10-2 na hodnotu e2 = 5.68*10-6, tedy o 4 řády. Použití GA bylo tedy velmi efektivní.
Shrnutí pojmů Jelikož genetický algoritmus je univerzálním prostředkem pro hledání optimálního řešení úloh, lze jej použít i v případě optimalizace fuzzy modelů. V úloze použití genetického algoritmu při optimalizaci struktury i parametrů fuzzy IF-THEN pravidel existuje několik možností jeho aplikace. Základním problémem je zde vhodné uložení optimalizovaných veličin do struktury chromozomu a volby vhodného způsobu jejich zakódování. Základními optimalizačními úlohami v případě pravidlového fuzzy modelu je stanovení počtu pravidel, počet jazykových hodnot jeho vstupních a výstupních jazykových proměnných, stanovení kombinací dílčích fuzzy tvrzení v antecedentech, pravidel, stanovení tvaru a parametrů fuzzy množin pro formalizaci jazykových hodnot proměnných.
Otázky 9.4. Které optimalizační operace fuzzy pravidlového modelu můžeme realizovat s použitím genetických algoritmů ?
Úlohy k řešení 9.4. Promyslete, které parametry by bylo lze optimalizovat pomoci GA v případě fuzzy regulátoru typu PID !
115
9.5 Fuzzy-neuro-genetické systémy Čas ke studiu: 30 minut Cíl
Po prostudování tohoto odstavce budete umět
vysvětlit principy syntézy fuzzy, neuronových a GA přístupů popsat konkrétní metodu FNG na příkladu adaptivního regulátoru Výklad Syntéza principů fuzzy logiky, neuronových sítí a genetických algoritmů je dalším rozšířením možností soft-computingu, které vede ke zvýšení efektivity nástrojů umělé inteligence. Kombinace fuzzy-neuronových principů byla vysvětlena v kapitole 9.2. Jestliže tato symbióza vedla k prohloubení principů samoučení fuzzy modelů, je cílem rozšíření kombinace o genetické algoritmy realizace automatické optimalizace těch úloh, které jsou jinak řešeny pouze subjektivním návrhem zkušeného odborníka. Principiální zásady integrace principů GA ve schématu fuzzy neuronového systému jsou stejné jako v případě systému fuzzy-genetického nebo neuro-genetického. Způsob integrace nejlépe pochopíme z následujícího praktického příkladu. Příklad Příklad vysvětluje rozšíření metody soft-computingu ve schématu fuzzy neuronového regulátoru. Schéma automaticky se adaptujícího fuzzy-logického neuronového regulátoru je uvedeno na Obr.52.
Obr.52 Ladění využívá chybový signál mezi výstupem regulované soustavy a jejího referenčního modelu 116
E(t) = y(t) – ym(t) Fuzzy PID regulátor pracuje s řídicími pravidly typu IF (e is Ai) and (e is Bi) and (de is Ci) THEN (dU is Di) kde e vyjadřuje regulační odchylku, e sumu a de diferenci regulační odchylky, U je akční veličina, Ai, Bi, Ci jsou jazykové hodnoty jazykových proměnných e, e, de a U. Regulátor je realizován pomocí neuronové sítě. Jazykové hodnoty proměnných jsou formalizovány pomocí lichoběžníkových fuzzy množin aproximovaných lomenými přímkami s body lomu a, b, c, d. Tyto parametry jsou spolu vázány relací a b c d. Ladění regulátoru spočívá ve změnách tvaru funkcí příslušnosti, tedy hodnot uvedených parametrů, pomocí genetického algoritmu. Tento algoritmus je složen z následujících procedur: Kódování parametrů do bitového řetězce chromozomů Stanovení účelové funkce optimalizace parametrů ve tvaru F = 0,5 Adaptace tvaru funkcí příslušnosti – pomocí GA jsou hledány optimální hodnoty parametrů funkcí příslušností minimalizující vztah F. GA generuje optimální hodnoty ve smyslu vztahu F pomocí následujících procedur: - vytvoření počáteční populace (PP) – náhodným vygenerováním hodnot parametrů n- jedinců - ohodnocení jedinců počáteční populace výpočtem hodnot F - generování nové populace jako následníků rodičů s nejlepšími hodnotami F - ohodnocení jedinců další populace výpočtem hodnot F - po dosažení předepsaného počtu generací (např. 150) ukončení procesu výběru jedince s nejvyšší hodnotou F jako optimálního řešení.
Shrnutí pojmů Kombinace fuzzy a neuronových principů vedla ke zvýšení užitné hodnoty neuronových modelů tím, že fuzzy-neuronový model umožňuje interpretaci jeho pravidel při zachování výhodné vlastnosti samoučení neuronové sítě. Cílem rozšíření fuzzy-neuronové kombinace o genetické algoritmy je realizace automatické optimalizace úloh, které se v systémech použití fuzzy-neuronových modelů vyskytují a které jsou jinak řešeny pouze subjektivním návrhem zkušeného odborníka. Takovým případem je např. optimalizace parametrů fuzzy neuronového regulátoru.
117
Otázky 9.5. Kdy je třeba provést novou adaptaci (optimalizaci) parametrů fuzzy-neuronového regulátoru ?
Úlohy k řešení 9.5. Promyslete příklad použití GA algoritmu pro optimalizaci fuzzy-neuronové sítě, pokud by byly optimalizační úlohy soustředěny do vlastní topologie a parametrů neuronové sítě !
118
Doporučená literatura Literatura, doporučená k eventuálnímu doplnění a rozšíření učební látky, je vybrána z dostupných odborných publikací, pokud možno knižních vydaných v českém (slovenském) jazyce.
1 Noskievič,P.: Modelování a identifikace systémů, MONTANEX a.s., 1999 2 Zadeh,L.A.: The Concept of Linguistic Variable and its Application to Aproximate Reassoning, American Elsevier P.C., New York, 1973 3 Mařík, V. a kol.: Umělá inteligence I, II, Academia Praha, 1997 4 Dohnal,M.: Methodology of Qualitative Modelling, Proc. SCAI´89, Tampere, 1989 5 Novák, V.: Fuzzy množiny a jejich aplikace, SNTL Praha, 1992 6 Novák, V.: Základy fuzzy modelování, BEN Praha, 2000 7 Takagi,T.: Fuzzy Identification of Systém and its Application to Modelling and Control, IEEE Trans., SMC, 1, 1985 8 Provazník,I.: Expertní systémy, VUT Brno, FEI, 1999 9 Jura,P.: Základy fuzzy logiky pro řízení a modelování, VUT Brno, 2000 10 Pokorný, M.: Umělá inteligence v modelování a řízení, BEN Praha, 1996 11 Vysoký,P.: Fuzzy řízení, ČVUT Praha, FEL, 1996 12 Babinec,F.: Cognitive Analysis of Furnace reliability, VUT Brno, FS, 1990 13 Sinčák,P.: Neurónové siete, I, II, ELFA, 1996 14 Vondrák, I.: Neuronové sítě, VŠB Ostrava, 1997 15 Goldberg D.E: Genetic Algorithms in Search, Optimization, and Machine Learning, Addisson-Wesley, 1989
119
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 vm/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.
120
Úlohy k řešení 2.1. Promyslete kvalitativní popis řízení směru jízdy automobilu řízením natočení kol přední nápravy. Pokud je třeba změnit směr jízdy mírně doleva, otočíme volantem mírně doleva. Pokud chceme odbočit prudce doleva, otočíme volantem prudce doleva. Pokud je třeba změnit směr jízdy více doprava, otočíme volantem více doprava. Pokud chceme zachovat stávající směr jízdy, udržujeme polohu volantu beze změny.
Úlohy k řešení 2.2. Popište kvalitativním tripletem kladnou kvalitativní proměnnou X, jejíž hodnota exponenciálně roste X: +,+,+
Úlohy k řešení 2.3. Převeďte do kvalitativní formy následující rovnici (3x2 + 2x)( – 2z) = y2 X.X + X = P1 -Z = P2 Y.Y = P1.P2
121
Úlohy k řešení 2.4.
Sestavte kvalitativní model funkce popsané jejím průběhem na následujícím obrázku !
A:
+ + 0
B:
+ 0 0
C.
+ - 0
+ + 0
+ 0 0
+ - 0
Úlohy k řešení 3.1. Nakreslete fuzzy množiny, formalizující jazykové pojmy „mladý člověk“ a „starý člověk“. Popište tyto fuzzy množiny jejich parametry (body zlomů jejich funkcí příslušnosti).
122
Ú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 123
y2 = -4.2 + 3 = - 5 y = MALY(x) . y1 + VELKY(x) . y2 / MALY(x) + VELKY(x) = = 0,6 . (-1) + 0,3 . (-5) / (0,6 + 0.3) = -2.1/0.9 = -2.33
Úlohy k řešení 4.1. Navrhněte Vám známý problém, k jehož řešení by bylo možno vypracovat expertní systém (např. diagnostika automobilového motoru, proč pláče kojenec, apod.) Kromě uvedených např.: odhad výsledku sportovního utkání, podpora při rozhodování o nákupu počítače, podpora při rozhodování o výběru partnera, rozhodování o nastavení velikosti clony a doby expozice fotoaparátu při fotografování
Ú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(brždě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í.
124
Ú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.
Ú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 diverzifikační schopnost báze vůči jazykové hodnotě MALÝ a vhodnou diverzifikační schopnost vůči jazykové hodnotě VELKÝ!
125
Úlohy k řešení 6.2. Nakreslete ternární diagram se zastupujícím bodem u báze znalostí, která má vlastnost velké variability !
Úlohy k řešení 7.1. Je obdoba mezi matematickým perceptronem a biologickým neuronem z hlediska jejich funkce ? Podobnost spočívá ve schopnosti obou reagovat změnou svého výstupu na změnu svých vstupů (podnětů) s případnou existenci prahu pro reakci na vzruch
126
Úlohy k řešení 7.2. Nakreslete vícevrstvou neuronovou síť s označením 4-1-2
Úlohy k řešení 7.3. Vymyslete příklady úloh pro řešení pomocí vícevrstvých neuronových sítí
Klasifikace výrobků do jakostních tříd podle jejich vad Predikce meteorologické situace pro následující období podle vývoje počasí v období předcházejícím Neuronový regulátor automatické převodovky automobilu Přenos 5-ti bitového binárního čísla prostřednictvím 3-vodičového kabelu
127
Úlohy k řešení 7.4. Nakreslete Hopfieldovu síť pro rozpoznávání objektu, charakterizovaného čtyřmi číselnými znaky!
Úlohy k řešení 8.1. Vyjmenujte alespoň dva biologické evoluční procesy které proběhly v přírodě !
Vyhynutí velkých plazů Vývoj živočichů přizpůsobených k létání ve vzduchu
128
Úlohy k řešení 8.2. Navrhněte chromozom pro zakódování parametrů fuzzy množiny A, která je dána čtyřmi body zlomu její po částech lineární lichoběžníkové funkce příslušnosti. K zakódování použijte binárního kódu: A: 5, 8, 12, 16
Úlohy k řešení 9.1. Navrhněte příklad kombinace některé z metod umělé inteligence s metodou matematické statistiky ! Neuronová síť, jejíž vstupní hodnoty jsou získány pomocí metody statistického vyhodnocení dat
Úlohy k řešení 9.2. Promyslete případ, kdy je potřebné (nebo velice užitečné) znát přesné znění pravidel fuzzy modelu. Nejčastěji jsou takové případy nutné v případě modelů, které řeší problémy spojené s nebezpečnými situacemi. Podpora rozhodování při diagnostice poruch nebezpečné soustavy (atomový reaktor). Jakékoliv vyhodnocení provedené expertním systémem musí být doloženo seznamem aktivních pravidel, z nichž bylo rozhodnutí vyvozeno.
129
Úlohy k řešení 9.3. V kterých případech může být použití GA pro adaptaci neuronové sítě nevýhodné (neefektivní) ? V případě rozsáhlé neuronové sítě použité v systému řízení v reálném čase. Pokud je výpočtová náročnost adaptace příliš velká, může její doba překročit periodu dvou po sobě následujících akčních zásahů.
Úlohy k řešení 9.4. Promyslete, které parametry by bylo lze optimalizovat pomoci GA v případě fuzzy regulátoru typu PID ! Velikost zesílení proporcionálního P, integračního I a derivačního D.
Úlohy k řešení 9.5. Promyslete příklad použití GA algoritmu pro optimalizaci fuzzy-neuronové sítě, pokud by byly optimalizační úlohy soustředěny do vlastní topologie a parametrů neuronové sítě ! Optimalizace struktury sítě (počet skrytých vrstev neuronů a počet neuronů v nich), váhové koeficienty synaptických vazeb a parametry přenosových funkcí v každém neuronu.
130