Metody umělé inteligence. Study Support. Jiří David

Podobné dokumenty
Základy fuzzy řízení a regulace

Vybrané přístupy řešení neurčitosti

Fuzzy množiny, Fuzzy inference system. Libor Žák

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

Usuzování za neurčitosti

U Úvod do modelování a simulace systémů

Fuzzy regulátory Mamdaniho a Takagi-Sugenova typu. Návrh fuzzy regulátorů: F-I-A-D v regulátorech Mamdaniho typu. Fuzzifikace. Inference. Viz. obr.

Fuzzy logika. Informační a znalostní systémy

Řídicí technika. Obsah. Fuzzy řízení Fuzzy množiny Operace s fuzzy množinami Fuzzy pravidla Fuzzy regulátory. Fuzzy řízení.

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Úvod do expertních systémů

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

0.1 Úvod do lineární algebry

7. Rozdělení pravděpodobnosti ve statistice

REÁLNÁ FUNKCE JEDNÉ PROMĚNNÉ

ZNALOSTNÍ SYSTÉMY ŘÍZENÍ

Zpracování neurčitosti

Aplikovaná numerická matematika

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

časovém horizontu na rozdíl od experimentu lépe odhalit chybné poznání reality.

0. ÚVOD - matematické symboly, značení,

Regresní analýza 1. Regresní analýza

2 Zpracování naměřených dat. 2.1 Gaussův zákon chyb. 2.2 Náhodná veličina a její rozdělení

Stavební fakulta Katedra mechaniky. Jaroslav Kruis, Petr Štemberk

1 Řešení soustav lineárních rovnic

Základy matematiky pro FEK

ALGEBRA. Téma 5: Vektorové prostory

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

MATURITNÍ TÉMATA Z MATEMATIKY

Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013

1. Matematická logika

CITLIVOSTNÍ ANALÝZA DYNAMICKÝCH SYSTÉMŮ I

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

OSA. maximalizace minimalizace 1/22

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

APLIKOVANÁ UMĚLÁ INTELIGENCE

4. Aplikace matematiky v ekonomii

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

FUNKCE POJEM, VLASTNOSTI, GRAF

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

1. Matematická logika

Matematika (KMI/PMATE)

Úlohy nejmenších čtverců

KGG/STG Statistika pro geografy

6 Algebra blokových schémat

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Matematika B101MA1, B101MA2

Fuzzy regulátory. Miloš Schlegel.

POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ

Lineární programování

7. Funkce jedné reálné proměnné, základní pojmy

Hodnocení obtížnosti cyklotras pomocí fuzzy modelů na území Jihomoravského kraje

Matematická analýza 1

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.

MATEMATICKÁ TEORIE ROZHODOVÁNÍ

Matematika I (KMI/PMATE)

Základy matematiky pro FEK

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

Matematika III. 4. října Vysoká škola báňská - Technická univerzita Ostrava. Matematika III

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

3. Reálná čísla. většinou racionálních čísel. V analytických úvahách, které praktickým výpočtům

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

5. Lokální, vázané a globální extrémy

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

0.1 Funkce a její vlastnosti

Bakalářská matematika I

Arnoldiho a Lanczosova metoda

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Chyby měření 210DPSM

CVIČENÍ 4 Doc.Ing.Kateřina Hyniová, CSc. Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze 4.

Úvod do lineární algebry

1 Mnohočleny a algebraické rovnice

0.1 Úvod do matematické analýzy

0.1 Úvod do lineární algebry

Diskrétní matematika. DiM /01, zimní semestr 2017/2018

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Úvod do teorie odhadu. Ing. Michael Rost, Ph.D.

Zavedení a vlastnosti reálných čísel

STATISTICKÉ ODHADY Odhady populačních charakteristik

VYUŽITÍ FUZZY MODELŮ PŘI HODNOCENÍ OBTÍŽNOSTI CYKLOTRAS

Matematická logika. Miroslav Kolařík

CW01 - Teorie měření a regulace

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

4EK213 LINEÁRNÍ MODELY

Maturitní témata profilová část

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

1 Vektorové prostory.

Teorie pravěpodobnosti 1

Numerické řešení diferenciálních rovnic

Cílem kapitoly je opakování a rozšíření středoškolských znalostí v oblasti teorie množin.

Transkript:

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA METALURGIE A MATERIÁLOVÉHO INŽENÝRSTVÍ Metody umělé inteligence Study Support Jiří David Ostrava 205

Title: Metody umělé inteligence Code: 638-300 Author: Jiří David Edition: first, 205 Number of pages: 47 Academic materials for the Economics and Management of Industrial Systems study programme at the Faculty of Metallurgy and Materials Engineering. Proofreading has not been performed. Execution: VŠB - Technical University of Ostrava 2

OBSAH STRUKTURA KAPITOL... 5. UMĚLÁ INTELIGENCE V OBLASTI ŘÍZENÍ... 6 2. FUZZY MODELY... 8 2. ZÁKLADNÍ VLASTNOSTI... 8 2.2 FUZZY REGULACE... 2.3 FUZZIFIKACE - FUNKCE PŘÍSLUŠNOSTI, JEJICH POČET A UMÍSTĚNÍ... 2 2.4 TVARY FUNKCÍ PŘÍSLUŠNOSTI... 2 2.5 IMPLIKACE... 4 2.6 DEFUZZIFIKACE... 6 3. EXPERTNÍ SYSTÉMY... 9 3. DEFINICE EXPERTNÍHO SYSTÉMU... 9 3.2 NEJDŮLEŽITĚJŠÍ ZNAKY EXPERTNÍCH SYSTÉMŮ... 9 3.3 ARCHITEKTURA EXPERTNÍCH SYSTÉMŮ... 9 3.4 INTERPRETACE ODPOVĚDÍ EXPERTNÍCH SYSTÉMŮ... 2 4. INTELIGENTNÍ REGULÁTORY FLC SYSTÉMY... 24 4. ZÁKLADNÍ STRUKTURA A PARAMETRY SYSTÉMU FLC... 24 4.2 TYPY FUZZY REGULÁTORŮ... 26 4.3 VOLBA MNOŽINY TERMŮ... 27 5. NEURONOVÉ SÍTĚ... 29 5. UMĚLÉ NEURONOVÉ SÍTĚ (UNS)... 29 5.2 VÝKONNÝ PRVEK UMĚLÉ NEURONOVÉ SÍTĚ... 29 5.3 NELINEÁRNÍ PŘENOSOVÁ FUNKCE... 30 5.4 PRACOVNÍ FÁZE UMĚLÉ NEURONOVÉ SÍTĚ... 3 5.5 HOPFIELDOVA SÍŤ... 33 5.6 BACK-PROPAGATION... 36 6. GENETICKÉ ALGORITMY... 40 6. ÚČELOVÁ FUNKCE... 4 6.. Fitness hodnota... 4 6.2 JEDINEC, POPULACE, GENERACE JEDINCŮ... 42 6.3 REPRODUKCE - SELEKCE... 43 6.3. Vážená ruleta... 43 6.3.2 Turnajový způsob výběru jedinců... 44 6.4 KŘÍŽENÍ... 45 6.5 MUTACE... 45 6.6 CELÝ ALGORITMUS VE ZKRATCE... 45 3

POKYNY KE STUDIU Pro předmět 638-300 Metody umělé inteligence v 3. semestru navazujícího magisterského studijního oboru Automatizace a počítačová technika v průmyslových technologiích a Management kvality jste obdrželi studijní materiály pro kombinované studium. PREREKVIZITY bez prerekvizit. CÍL PŘEDMĚTU A VÝSTUPY Z UČENÍ Cílem předmětu je seznámit posluchače se základními metodami na bázi umělé inteligence, jako jsou fuzzy modely, expertní systémy, inteligentní regulátory, neuronové sítě a genetické algoritmy. PO PROSTUDOVÁNÍ PŘEDMĚTU BY MĚL STUDENT BÝT SCHOPEN: Výstupy znalostí: Student bude umět pojmenovat a charakterizovat základní metody umělé inteligence. Student získá ucelený přehled o úlohách a uplatnění metod umělé inteligence. Výstupy dovedností: Student bude schopen využít základní metody umělé inteligence při řešení inženýrských úloh. Student bude umět analyzovat problém a řešit jej metodami umělé inteligence. Student se bude orientovat v nástrojích pro řešení metod umělé inteligence. PŘI STUDIU KAŽDÉ KAPITOLY DOPORUČUJEME NÁSLEDUJÍCÍ POSTUP: Přečíst porozumět umět vysvětlit aplikovat na oblast studijního oboru. ZPŮSOB KOMUNIKACE S VYUČUJÍCÍMI: Na společných tutoriálech nebo individuální konzultace po předchozí domluvě emailem či telefonicky. V rámci předmětu bude řešen semestrální projekt na zadané téma. KONZULTACE BUDOU PROBÍHAT S GARANTEM PŘEDMĚTU ČI PŘEDNÁŠEJÍCÍM: např. na společných tutoriálech, individuální konzultace po předchozí domluvě emailem či telefonicky. Garant předmětu: doc. Ing. Jiří David, Ph.D. Přednášející: doc. Ing. Jiří David, Ph.D Kontakty: tel.: 59 732/563, j.david@vsb.cz 4

STRUKTURA KAPITOL Čas ke studiu Cíl Výklad Příklad z praxe, Řešený příklad Animace, Video Shrnutí pojmů Otázky Použitá literatura Klíč k řešení 5

.UMĚLÁ INTELIGENCE V OBLASTI ŘÍZENÍ 2 hodiny Čas ke studiu Cíl Základní pojmy v oblasti umělé inteligence, seznámení se základními metodami umělé inteligence. Výklad Limity použití klasických matematických prostředků při vyšetřování a řízení složitých soustav pramení z jejich principiálně precizních přístupů, založených na využití objektivních informací, vyplývajících z přírodních zákonů. Ty jsou pravidelně interpretovány vztahy klasické matematiky. Použití takových to přístupů vede často k nutným zjednodušením, které jsou příčinnou nedostatečné adekvátnosti matematického popisu. Je-li příčinou selhání matematického popisu nedostatek informací o vyšetřované soustavě, lze použít metod, které přináší nové vědní disciplína - umělá inteligence. Principy jejich přístupů spočívají na využití poznatků, založených nikoliv na platnosti obecných, objektivních přírodních zákonů, nýbrž na lidských zkušenostech, tedy znalostech subjektivních, heuristických. takové postupy využívají ke konstrukci efektivních modelových struktur, podobně jako lidský expert, pojmovou neurčitost a dovolují vytvářet nekonvenční, nenumerické, tedy jazykové modely. Takové modely svojí použitelností mohou přesáhnout hranice konvenčních modelů matematicko-analytických. Na bázi jejich využití pak vznikají i nové, nekonvenční přístupy k řízení. v jiných případech jsou k dosažení vyšší adekvátnosti popisů používány současně i další techniky, inspirované činností lidského mozku či zákonů genetiky. Umělá inteligence, která se ve své dílčí oblasti zabývá metodami rozhodování a řešení složitých problémů, poskytla prostředky, které se pro popis a řízení složitých soustav zdají velmi nadějné. Nejvýznamnější z nich budou v tomto předmětu představeny (vyjma kognitivního modelování). jsou charakteristické zapracováním především nenumerických, jazykových informací. Metodologie kvalitativního modelování využívá tzv. naivní fyziky ke konstrukci modelů, postavených na integraci hlubokých a mělkých znalostí. Jejich závěry jsou však ryze kvalitativní, ne nesou žádnou numerickou informaci. S využitím metod intervalové matematiky jsou proto konstruovány semikvalitativní modely, pomocí nichž jsou pak vyvozovány závěry již numericky orientované. Jádrem fuzzy systémů jsou fuzzy modely, jejichž metodologie je dnes poměrně dobře rozpracována. Pro formalizaci pojmové neurčitosti a její zpracování je v nich využíváno principů fuzzy množinové matematiky a vícehodnotové jazykové (fuzzy) logiky. Fuzzy modely jsou často koncipovány jako soustavy podmíněných produkčních pravidel. Nejrozšířenějšími fuzzy systémy jsou systémy expertní, zaměřené na řešení konkrétních složitých úloh. Jsou postavené na modelech, využívajících subjektivních, heuristických (mělkých) znalostí expertů v dané problémové oblasti. Jejich závěry mají úzce lokální platnost. V oblasti řízení je dobře rozpracována metodologie fuzzy modelů pro automatickou regulaci. Myšlenka fuzzy regulace vychází z použití specializovaného fuzzy pravidlového expertního systému pro stanovení velikosti akční veličiny. Vedle tohoto principu jsou rozšířeny tzv. inteligentní regulátory, využívající expertních systémů k parametrické či strukturální adaptaci regulátoru klasického. Kognitivní modelování a simulace se pak snaží nalézt metody, které odrážejí zákony lidské psychologie. Značného rozšíření dosáhly v posledních letech metody, inspirované pochody v biologických subjektech. Ve snaze o částečné napodobení procesů v probíhajících v lidském mozku a nervovém systému vznikly neuronové sítě. Jsou vhodné pro modelování chování složitých soustav zvláště proto, že jejich typickou vlastností je schopnost vlastního učení. Velmi zajímavé jsou z hlediska aplikací fuzzy-neuronové systémy, které ve svých vnitřních 6

procedurách používají fuzzy logiku a jsou velmi efektivní při zpracování vágní informace, zvláště při adaptaci fuzzy modelů. Přírodní mechanismus přirozeného výběru a zákony genetiky byly inspirací pro vytvoření genetických algoritmů, které jsou univerzálním a robustním prostředkem pro řešení optimalizačních úloh. Z hlediska zaměření problematiky tohoto předmětu jsou opět zajímavé aplikace genetických algoritmů pro strukturální a parametrickou identifikaci fuzzy modelů (fuzzy-genetické systémy) případně neuronových sítí (neuro-genetické resp. fuzzy-neurogenetické systémy). Konvenční 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ávislé proměnné jsou tudíž výsledkem chyb pozorování. Původ odchylek mezi pozorovanými a odhadovanými hodnotami závislé proměnné veličiny mohou však být nezanedbatelnou měrou způsobeny špatnou definovatelností systémové struktury. Příčiny těchto odchylek můžeme hledat i v ne zcela ostrém charakteru systémových parametrů. Efektivní zpracování neurčitosti je v současné době již dobře rozpracováno. Jsou definovány tři typy neurčitosti: fuzzitivnost (vágnost), nespecifičnost (špatné vymezení) a spor (konflikt), které jsou vyšetřovány v rámci pěti teorií, v nichž je vybudován aparát pro jejich kvantifikaci (teorie klasických množin, teorie fuzzy množin, teorie pravděpodobnosti, teorie možnosti a Dempster-Shaferova teorie). 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 za projevy jeho intelektu, je jednou z definicí předmětu zájmu vědního oboru umělá inteligence. Za jedny z jejich dosavadních výsledků můžeme považovat nekonvenční techniky modelovaní, 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 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í: V první jsou 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ů. Druhou kategorií znalostí označujeme jako znalosti mělké, povrchové (nikoli však povrchní). Jsou to poznatky, jejichž zdrojem je dlouhodobá skutečnost, 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 statickoanalytický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é. Shrnutí pojmů Umělá inteligence, metody umělé inteligence, neurčitost a typy neurčitosti, znalosti. Otázky Čím se zabývá obor umělá inteligence? Jaké metody jsou charakteristické pro obor umělá inteligence? Co to je neurčitost a jaké druhy neurčitosti rozeznáváme? Jaké máme druhy znalostí? 7

2. FUZZY MODELY 7 hodin Čas ke studiu Cíl Seznámení se současným významem fuzzy modelů, základní principy a paradigmata fuzzy přístupu. Vysvětlení základních pojmů, principů a operací fuzzy množinové teorie, více hodnotová logika a jazykové modely. Ukázky operací s fuzzy množinami. Vysvětlení základních fází při tvorbě a aplikaci fuzzy systémů pro řízení, fuzzifikace, implikace a defuzzifikace, tvary funkcí příslušnosti, metody implikace, metody defuzzifikace. Výklad 2. Základní vlastnosti V současné době je teorie fuzzy množin propracovanou matematickou disciplínou, která je rozšířením teorie množin klasických. Množiny jako takové označujeme, jak je zvykem velkými písmeny A, B,..., naopak jejich prvky písmeny malými a, b,... Základním problémem je otázka patření prvku do množiny. Pokud pracujeme s objekty abstraktní povahy, jako jsou např. čísla, pak máme jejich vlastnosti jednoznačně definovány a můžeme tedy rozhodnout zda prvek patří do množiny či nikoliv. pokud však pracujeme s objekty reálného světa narazíme na potíže, jsou to situace, kde záleží na kontextu, postoji rozhodovatele a dalších hlediscích. Nejsou to již záležitosti matematické, ale spíše lingvistické, psychologické, sociologické apod. Tedy, v teorii klasických množin prvek x do množiny A buď patří (prvek x ) nebo nepatří (prvek x 2 ), grafické znázornění je na obrázku Xa. V Zadehově fuzzy množinové teorii, která je zobecněním teorie abstraktních množin, je fuzzy množina Bx definována jako třída, která přiřazuje prvkům svého univerza x neurčitost pomocí vlastnosti jejich částečné příslušnosti formou tzv. míry příslušnosti B(x). Tak na obr. Xb prvek x do fuzzy množiny Bx určitě a zcela jistě patří a prvek x 2 zcela jistě a určitě nepatří. Míru příslušnosti prvku x k fuzzy množině Bx pak vyjádříme hodnotou B(x ) =, zatímco míru příslušnosti prvku x 2 k fuzzy množině Bx vyjádříme hodnotou B(x 2 ) = 0. Uvažujme dále prvky x 3 a x 4, které k fuzzy množině Bx patří zřejmě jenom částečně. To je vyjádřeno u prvku x 3 mírou příslušnosti např. B(x 3 ) = 0,3 a u prvku x 4 mírou příslušnosti B(x 4 ) = 0,7. Bx A x 4 x x x 3 x 2 x 2 Obr. Znázornění klasické a fuzzy množiny Např. množina mladých lidí - příslušnost do této množiny nezáleží jen na vlastním věku, ale i na postoji hodnotitele. Například pokud hodnotitel bude důchodce může do množiny zařadit člověka, kterému je třicet let, naproti tomu jiná situace bude pokud hodnotitelem bude teenager apod. U klasických množin definujeme, zda prvek patří do množiny, či nepatří pomocí charakteristické funkce κ A (X). charakteristická funkce množiny A definované na univerzu (univerzální množině) X je 8

κ A (X) = jestliže a náleží do A 0 jestliže a nenáleží do A. Tato funkce zobrazuje univerzální množiny na množinu obsahující jen nuly a jedničky: κ A (X) >> {0,}. Tím, že ostře odlišujeme prvky, které do množiny patří od prvků které do množiny nepatří, jsou charakterizovány tzv. ostré (crisp) množiny. pokud charakteristickou funkcí nahradíme funkcí příslušnosti, dostaneme fuzzy množiny. Funkce příslušnosti může nabývat všech hodnot na intervalu od 0 (nepatří) do (patří): µ A : X >> [0,]. Definice: Nechť X 0 je množina a Ax : X 0 ; nechť je zobrazení. Fuzzy množinou pak budeme nazývat uspořádanou dvojici Ax = [ X, A( x) ] Prvky x X přitom nazveme universem fuzzy množiny Ax, A(x) = f(x) nazveme funkcí příslušnosti (charakteristickou funkcí) fuzzy množiny Ax. Pro každé x X nazveme reálné číslo A(x) stupněm (mírou) příslušnosti prvku x k fuzzy množině Ax, přičemž A(x) budeme interpretovat následovně A(x) = 0 prvek x do množiny Ax jistě nepatří, A(x) = A(x) (0,) prvek x do množiny Ax jistě patří, nelze s jistotou určit, zda x patří do Ax. Velikost A(x) je vyjádřením míry našeho přesvědčení (míry příslušnosti), nakolik prvek x k Ax patří (náleží). Příklad průběhu charakteristické funkce (funkce nebo míry příslušnosti, někdy stupně nebo míry náležení) A(x) fuzzy množiny Ax v závislosti na velikosti prvků x je na obr. XX. Tímto průběhem bývá často fuzzy množina popsána. Čárkovanou čarou je naznačena velmi často používaná aproximace průběhu A(x) = f(x) přímkovými úseky. Fuzzy množina Ax je tak parametrizována a bývá zadávána hodnotami bodů zlomů Ax = {a, b, c, d}. A(x) hgt A A(x 0 ) Ax α ker A 0 a x 0 b c d Cα(A) x supp A Obr 2 Parametry fuzzy množiny Spočetnou fuzzy množinu je možno zapsat výčtem prvků, přičemž každému z nich bude přiřazena příslušná hodnota funkce příslušnosti. Např. množinu přirozených čísel mnohem menších než čtyři bychom mohli zapsat takto: A = {(,),(2,0.5),(3,0.3)} Ustálená forma zápisu však vypadá následovně: n A = µ A( x ) / x + µ A( x2 ) / x2 + K + µ A( xn ) / xn = µ A( xi ) / xi i= 9

Výraz µ A (x )/x čteme prvek x se stupněm příslušnosti µ A (x ). Je třeba zdůraznit, že nejde o sčítaní hodnot jednotlivých prvků či stupňů příslušnosti, ale součet je třeba chápat jako sjednocení! Nyní se seznámíme s definicí některých základních pojmů. Protože naprostá většina publikací je napsána v angličtině a užívání českých termínů není doposud ustálené bude pro snazší orientaci uváděn v závorce příslušný anglický termín. Nosič fuzzy množiny (support) je ostrá množina, pro jejíž prvky platí, že jejich hodnoty funkce příslušnosti jsou rozdílné od nuly. supp A = (pro x X, µ A (x)>0) Výška fuzzy množiny (height) je nejmenší horní hranice fuzzy množiny A hght (A) = sup (pro x X) µ A (x) pozn. sup zde znamená supremum, pozor na záměnu se supp. Normální (normal) fuzzy množina je fuzzy množina s výškou, x X, µ A (x) = pozn. - existuje-li Prázdná (empty) fuzzy množina je množina, u které funkce příslušnosti pro všechny prvky nabývá 0 pro každé x náležící do X, x X, µ A (x)=0 Jádro (kernel) fuzzy množiny je ostrá množina, pro jejíž prvky platí, že jejich hodnoty funkce příslušnosti jsou rovny Ker A = {x, µ A (x)=} Fuzzy jednotka (singleton) je fuzzy množina s jediným prvek A={x/} α- řez (α-cut) je ostrá množina, pro jejíž prvky platí, že jejich hodnoty funkce příslušnosti jsou přinejmenším rovny α A α = { pro x X, µ A (x) α } α-hladina (α-level) je ostrá množina, pro jejíž prvky platí, že jejich hodnoty funkce příslušnosti jsou rovny α A α = { pro x X, µ A (x)= α} Skalární kardinalita (scalar cardinality) fuzzy množiny je součet hodnot funkce příslušnosti pro všechny prvky dané množiny A = µ A ( x) x Konvexní množina - jestliže pro libovolná dvě čísla r a s náležící do R n platí, že µ A ( κ r + ( κ )) min{ µ A( r), µ A ( s) } pak říkáme, že množina je konvexní. Operace s fuzzy množinami Fuzzy komplement množiny A Fuzzy průnik množin A a B Fuzzy sjednocení množin A a B n-tá mocnina fuzzy množiny A (A n = R) ( x) = ( x) µ A µ A µ ( A B) ( x) = min( µ A ( x), µ B ( x)) µ ( A B) ( x) = max( µ A( x), µ B ( x)) [ ( x ] n R ( x ) µ A ) µ = 0

Algebraický součet (pravděpodobnostní součet) C = A + B, pro jehož funkci příslušnosti dostaneme µ C ( x) = µ ( A+ B) ( x) = µ A ( x) + µ B ( x) µ A ( x) µ B ( x) Algebraický součin, jehož funkce příslušnosti je součinem funkcí příslušnosti obou složek µ C ( x) = µ ( A B) ( x) = µ A( x) µ B ( x) Omezený součet, jehož funkci příslušnosti stanovíme takto µ ( A + B) ( x) = min(, µ A( x) + µ B ( x)) Omezená diference, jehož funkci příslušnosti stanovíme takto µ ( A B) ( x) = max(0, µ A( x) + µ B ( x) ) 2.2 Fuzzy regulace Každý regulátor má v podstatě za úkol reagovat akční veličinou u na hodnoty. regulační odchylku e, její derivaci de a integrál ie. Akční veličinu budeme nazývat výstupní veličinu regulátoru, naopak e, de, ie budou veličinami vstupními. Algoritmus fuzzy regulace Prvním důležitým krokem bude změřit všechny vstupní veličiny, které daný typ regulátoru potřebuje. Další krok bývá většinou označován jako normalizace. jeho podstatou je pomocí předem definovaných měřítek převést hodnoty vstupních veličin na univerzum, kterým bývá nejčastěji interval [-, ] nebo [-0, 0] ap. Univerzum je pokryto funkcemi příslušnosti. Ty každé hodnotě na univerzu přiřazují příslušnost do jedné nebo více fuzzy množin s hodnotou od nuly (nepatří vůbec) do jedné (patří zcela). Tato operace se nazývá fuzzifikace. Situace na obrázku ukazuje jednoduchou situaci, kdy regulační odchylka e=.8 patří do dvou množin,do množiny N (Nula) se stupněm příslušnosti 0.2 a do množiny KM (Kladná malá) se stupněm příslušnosti 0.8. Pozn. Hvězdička nad e označuje normalizovanou veličinu. Lze říci, že při fuzzifikaci jsou ostré hodnoty převáděny na fuzzy data. O tvarech, počtu a rozmístění funkcí příslušnosti na univerzu rozhoduje expert, tj. člověk obeznámený s řízeným systémem natolik důvěrně, že je schopen jej řídit na základě svých dlouhodobých zkušeností a pocitů, aniž by znal jeho matematický popis. Tabulka Přehled fuzzy množin Fuzzy množina České označení Anglické označení Záporná velká ZV NB Záporná střední ZS NM Záporná malá ZM NS Záporná blízká nule ZN NZ Nula N Z Kladná blízká nule KN PZ Kladná malá KM PS Kladná střední KS PM Kladná velká KV PB Pokud jsou ostré hodnoty všech vstupních veličin přiřazeny do fuzzy množin, musí regulátor určit, jaký má být akční zásah. To se děje podle inferenčních pravidel, která jsou uložena v tzv. bázi pravidel. Např. JESTLIŽE e=n A de=n PAK u=n JESTLIŽE e=n A de=km PAK u=km apod. Pokud je jich větší počet, pak je báze ve tvaru dvou nebo třírozměrného pole. Pro dobrou regulaci je samozřejmě zapotřebí patřičně velké množství pravidel.

Tabulka 2 Příklad báze pravidel e/de ZS ZM N KM KS ZS ZV ZV ZS ZM N ZM ZV ZS ZM N KM N ZS ZM N KM KS KM ZM N KM KS KV KS N KM KS KV KV Pátým krokem je tvorba a práce s výstupními fuzzy množinami. Nezbytnou podmínkou pro chod regulátoru je definování funkcí příslušnosti také pro výstupní veličinu. Děje se tak obdobným způsobem, jakým byly definovány funkce příslušnosti vstupní veličiny na normalizovaném univerzu. Představme si teď jednoduchou situaci. Mějme regulátor a bázi pravidel dle tabulky 4. Řekněme, že regulační odchylka e je KM se stupněm příslušnosti 0.2 a její derivace je KS se stupněm příslušnosti 0.4. V této situaci bude aktivní pravidlo, které říká, že akční veličina má být KV. Nemůže být ovšem v tomto případě KV se stupněm příslušnosti rovným. To vysvětlují pravidla fuzzy logiky. Logická spojka A ve výrazu JESTLIŽE x A y PAK z, znamená logický součin, který se ve fuzzy logice interpretuje jako minimum. Pravidlo tedy bude vypadat následovně JESTLIŽE e=km (0.2) A de=ks (0.4( PAK u=kv (0.2) Situace bude graficky interpretována tak, že se funkce příslušnosti výstupní množiny KV ořízne horizontální čarou v hodnotě µ=0.2 (podobná situace bude ukázána později na obrázku X). Tímto způsobem získáme i další oříznuté funkce příslušnosti ostatních množin, když budou příslušná pravidla aktivní. Posledním krokem při fuzzy regulaci je defuzzifikace - tj. získání ostré hodnoty pro akční člen z oříznuté funkce příslušnosti. 2.3 Fuzzifikace - funkce příslušnosti, jejich počet a umístění Fuzzy množiny jednotlivých vstupních veličin bývají také nazývány primárními fuzzy množinami. Pokrytí univerza jim odpovídajícími funkcemi příslušnosti musí být takové, aby - jejich sjednocení pokrývalo celý tento normalizovaný interval beze zbytku, - pro žádnou hodnotu vstupní veličiny nenabývaly funkce příslušnosti pouze nulových hodnot. Stanovení počtu fuzzy množin je složitý problém, na který neexistuje zcela jednoznačná odpověď. První doporučení zní, aby jich byl lichý počet. Je to zřejmě proto, že jako prostřední množina se volí Nula (N) a ta je pouze jedna, zatímco ostatní množiny umístěné na kladné ose mají zpravidla své protějšky na ose záporné (KM a ZM, KV a ZV atd.). Konkrétní počty bývají 3, 5, 7, 9, jen zřídka více. Je to z důvodu, aby počet pravidel v bázi nepřerostl únosnou mez, ale především to již nemá význam. Odpověď proč to nemá význam je třeba hledat v oblasti psychologie. Tzn. bylo již řečeno, že fuzzy množiny vytváří člověk (expert) na základě svých znalostí a zkušeností o dané problematice (subjektivní pocity jsou převáděny z lingvistické podoby do matematického vyjádření pomocí fuzzy funkcí příslušnosti). Lidské smysly jsou schopny zařadit hodnotu veličiny jen do omezeného množství množin. Expert, který pozoruje kvalitu nějakého procesu, matematicky nepopsaného a řízeného na základě dlouhodobých zkušeností je schopen rozlišit jen určitý počet úrovní, který je ještě navíc pro každý lidský smysl trochu jiný. Závěr: V situacích, ve kterých jsme schopni dobře rozlišovat, volíme větší počet a naopak tam, kde je horší rozlišovací schopnost volíme menší počet fuzzy množin. Rozmístění fuzzy množin na univerzu nemusí být nutně rovnoměrné. 2.4 Tvary funkcí příslušnosti 2

Pro volbu tvarů funkcí příslušnosti existují dvě základní postupy: výběr apriori - nejsnadnější a nejčastěji používaný, kdy se řídíme především citem a zkušeností, vycházíme z naměřených dat a odhadujeme tvary funkcí příslušnosti na jejich základě. Tvary funkcí příslušnosti zvolené apriori Pokud to situace umožňuje, snažíme se je volit co nejjednodušší, nejlépe složené z lineárních úseků. Mezi tyto tvary funkcí patří především: trojúhelníkové (λ-funkce), lichoběžníkové (π-funkce), Γ- funkce, L-funkce. µ µ 0 α L-funkce(x, α, β) pro x < α L = (β-x)/(β-α) pro α x β 0 pro x > β µ β 0 λ-funkce(x, α, β, γ) 0 pro x < α λ = (x-α)/(β-α) pro α x <β (γ-x)/(γ-β) pro β x γ 0 pro x > γ µ α β γ 0 α β γ δ π-funkce(x, α, β, γ, δ) 0 pro x < α (x-α)/(β-α) pro α x < β π = pro β x γ (δ-x)/(δ-γ) pro γ < x δ 0 pro x > δ 0 α Γ-funkce(x, α, β) 0 pro x < α Γ = (x-α)/(β-α) pro α x β pro x >β β 3

Tvary funkcí příslušnosti odhadované z naměřených dat Patří sem různé metody tzv. expertních odhadů. Stupeň příslušnosti můžeme odhadnout dle zprůměrovaných hodnot názorů expertů na to, zda prvek do dané množiny patří nebo nepatří. Tzn. přizveme si n expertů, aby posoudili, jestli prvek x i patří do fuzzy množiny A. Odbornou kvalifikaci každého z nich ohodnotíme váhou w j. Definujme funkci f(x) pro kterou platí fj(xi)=, když expert č. j zařadí prvek x i do fuzzy množiny A 0, když expert č. j nezařadí prvek x i do fuzzy množiny A Hodnota funkce příslušnosti µ potom bude odhadnuta podle vztahu k µ ( x ) = A i j= i f j k ( x ) w V literatuře lze také najít názor, že fuzzy množiny by měly být konvexní s funkcemi příslušnosti podle vztahů uvedených při definovaní funkcí příslušnosti daných apriori. Expertní odhad bychom měli použít jen k hledání bodů nespojitosti těchto funkcí. Pokud nemáme k dispozici experty a potřebujeme rozdělit soubor ostrých dat do několika množin, pak je možno funkci příslušnosti aproximovat histogramem. Jinou možností je požití shlukové analýzy. j= i i w j j 2.5 Implikace Již bylo řečeno, že podstatou fuzzy regulace je uplatnění inferenčních pravidel, která jsou uložena v bázi pravidel a po aplikaci aktivních pravidel získáme jakési oříznuté fuzzy množiny. Vysvětleme si, tuto část na konkrétním případu. Uvažujme situaci na obrázku 3. Regulační odchylka e a její derivace de tam nabývají určitých hodnot, které nás ale nezajímají. Důležité pro nás je, že naše zvolená hodnota e náleží do množiny N s hodnotou funkce příslušnosti 0.6 a zároveň do množiny KM s hodnotou příslušnosti 0.4. Obdobně hodnota de náleží do N s hodnotou funkce příslušnosti 0.8 a KM s hodnotou funkce příslušnosti 0.2. N KM N KM µ µ 0 de* 0 Obr. 3 Příklad fuzzy množin pro implikaci e* Předpokládejme, že báze pravidel bude ve formě následující tabulky e/de ZS ZM N KM KS ZS ZV ZV ZS ZM N ZM ZV ZS ZM N KM N ZS ZM N KM KS KM ZM N KM KS KV KS N KM KS KV KV 4

Potom pro náš případ budou aktivní 4 pravidla JESTLIŽE e = N A de = N PAK u = N JESTLIŽE e = N A de = KM PAK u = KM JESTLIŽE e = KM A de = N PAK u = KM JESTLIŽE e = KM A de = KM PAK u = KS Znamená to, že v činnosti budou tři výstupní fuzzy množiny (N, KM a KS) a zbývá určit jakou hodnotu budou mít jejich funkce příslušnosti. Bylo již jednou zmíněno, že podle fuzzy logiky je logický součin (konjunkce) interpretován jako minimum. Z toho vyplývá, že stupeň příslušnosti akční veličiny u bude roven menší z hodnot stupňů příslušnosti veličin vstupních. Tedy: JESTLIŽE e = N (0.6) A de = N (0.8) PAK u = N (0.6) JESTLIŽE e = N (0.6) A de = KM (0.2) PAK u = KM (0.2) JESTLIŽE e = KM (0.4) A de = N (0.8) PAK u = KM (0.4) JESTLIŽE e = KM (0.4) A de = KM (0.2) PAK u = KS (0.2) Pozn. v závorkách jsou uvedeny stupně příslušnosti. Zmíněné tři výstupní fuzzy množiny budou oříznuty v těchto hodnotách µ N = 0.6 µ KM = 0.4 µ KS = 0.2 N KM KS µ Obr. 4 Mandaniho implikace u* V případě množiny KM, která se vyskytuje ve dvou pravidlech, vybíráme větší z hodnot 0.2 a 0.4, protože se jedná o logický součet (disjunkci) a ten se interpretuje jako maximum. Oříznutých výstupních fuzzy množin dosahujeme při implikaci. Nejčastěji používaná je Mandaniho implikace (Obr. 4). Ta je definována jako µ R (x,y) = min{µ A (x), µ B (y)} Často používaná je rovněž implikace Larsenova µ R (x,y) = µ A (x) µ B (y) Rozdíl spočívá v tom, že při Larsenově implikaci (viz. obr. 5 ) nejsou výstupní fuzzy množiny oříznuty, ale zmenšeny vynásobením hodnotou příslušnosti akční veličiny. Proměnné ve výše uvedených vztazích mají význam: µ R je oříznutá nebo zmenšená funkce příslušnosti µ A funkce příslušnosti µ B hodnota konsekventu příslušného pravidla (pozn. konsekventem pravidla nazýváme výrok následující po PAK, výrok následující po JESTLIŽE označujeme jako antecedent.) 5

N KM KS µ 2.6 Defuzzifikace Obr.5 Larsenova implikace Použitím Mandaniho implikace dostaneme oříznuté, použitím Larsenovy implikace zmenšené výstupní funkce příslušnosti. Jejich sjednocení nám však nedává žádnou použitelnou hodnotu pro fuzzy regulátor. Proto nyní potřebujeme dostat ostrou hodnotu akční veličiny, kterou můžeme využít v praxi. K tomu složí celá řada více či méně vhodných metod, které nazýváme metodami defuzzifikačními (obr. 6). Metoda prvního maxima FOM (first of maxima) Velmi jednoduchý a početně rychlá metoda. Za ostrou výstupní hodnotu považujeme globální maximum ze sjednocení výstupních oříznutých (popř. zmenšených) funkcí příslušnosti. V případdě plochého neostrého maxima se bere v úvahu první z nich, tzn. maximum s nejmenší hodnotou u. Metoda středu maxima MOM (middle of maxima) Je modifikací metody FOM. Rozdíl spočívá v tom, že v případě neostrého maxima použijeme jeho střed. Obě metody mohou nabývat ostrých hodnot jen na určitých úzkých intervalech, daných tvary funkcí příslušnosti výstupních množin. To vede k regulaci, která je velmi podobná regulaci nelineárním regulátorem. S tím souvisí i použití obou metod, tzn. tam, kde nepožadujeme nulovou regulační odchylku, u jednokapacitních soustav atd.. Metoda centroidů COA (center of area), také metoda těžiště Je nejznámější a zároveň nejčastěji používaná. Ostrá výstupní hodnota se získá jako souřadnice těžiště plochy pod sjednocenými oříznutými resp. zmenšenými funkcemi příslušnosti výstupních fuzzy množin na univerzu podle vztahu [ Pokorný] u0 = u µ ( u) du kde u je normovaná výstupní veličina µ funkce příslušnosti vzniklá sjednocením oříznutých resp. zmenšených výstupních fuzzy množin. µ ( u) du Předností této metody je, že bere v úvahu všechna aktivní pravidla a také velikosti ploch pod funkcemi příslušnosti při jejich rozdílných tvarech. Nevýhodou může být delší čas nutný pro výpočet těžiště, použití numerických metod (např. lichoběžníková metoda) v závislosti na tvar funkce, která může být složena z lineárních úseků. Střední hodnota součtů COS (center of sum) u* 6

Je zjednodušením metody centroidů (těžiště). Při této metodě se nepočítá se sjednocením ploch pod oříznutými resp. zmenšenými funkcemi příslušnosti, nýbrž s jejich prostým součtem podle vztahu n u 0 = S i i= n i= u S i ti kde S i je plocha pod oříznutou resp. zmenšenou funkcí příslušnosti i-té fuzzy množiny u ti souřadnice těžiště plochy S i n počet výstupních fuzzy množin Důsledkem je, že překrývající se časti sousedních ploch jsou započítány dvakrát. Přínos této metody spočívá v rychlejším výpočtu ostré výstupní hodnoty na úkor snížení jakosti regulace (větší hodnota integrálního kritéria). Metoda výšek HM (height method) Velmi rychlá, jednoduchá metoda poskytující poměrně dobré výsledky. Výpočet těžiště ploch je nahrazen střední hodnotu výšek jednotlivých oříznutých resp. zmenšených funkcí příslušnosti podle vztahu n u 0 = u S i= n i= µ ( u µ ( u S ) S ) kde u S je souřadnice maxima oříznuté resp. zmenšené funkce příslušnosti µ funkce příslušnosti V případě, že maximum je neostré volíme střed tohoto maxima. Čím jsou rozdíly ve velikostech funkcí příslušnosti menší a čím více se jejich tvary blíží obdélníkům, tím více se metoda blíží metodě COS (metoda střední hodnoty součtů). N KM KS µ FOM MOM HM COA COS u* Obr. 6 Příklad srovnání metod defuzzifikace Shrnutí pojmů 7

Základní principy a paradigmata fuzzy přístupu. Fuzzy množiny, základních pojmy, principy a operace fuzzy množinové teorie, více hodnotová logika a jazykové modely. Základní fáze při tvorbě a aplikaci fuzzy systémů pro řízení, fuzzifikace, implikace a defuzzifikace, tvary funkcí příslušnosti, metody implikace, metody defuzzifikace. Otázky Jak fuzzy množinová teorie zobecňuje teorii klasických množin? Co to je nosič, jádro, výška a univerzum fuzzy množiny? Jak je definován fuzzy sjednocení a průnik fuzzy množin A a B? Vysvětlete pojmy fuzzifikace, implikace a defuzzifikace? Jaké známe typ funkcí příslušnosti? Jaké známe metody defuzzifikace? 8

3. EXPERTNÍ SYSTÉMY 5 hodin Čas ke studiu Cíl Definování pojmu expertní systém, třídy problémů pro expertní systémy, základní architektura expertního systému. Znalostní báze, inferenční mechanismus, interpretace odpovědí expertních systémů. Definování základních částí expertního systému, tvorba znalostní báze, metodika interpretace odpovědí expertního systémů. Uživatelské programové vybavení pro tvorbu expertních systémů, význam expertních systémů pro řízení. Výklad 3. Definice expertního systému Expertními systémy nazýváme takové znalostí 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é. Definice dle Feigenbauma (988): Expertní systémy jsou počítačové programy, simulující rozhodovací činnost experta při řešení složitých úloh a využívající vhodně zakódovaných, explicitně vyjádřených speciálních znalostí, převzatých od experta s cílem dosáhnout ve zvolené problémové oblasti kvality rozhodování na úrovni experta. 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. 3.2 Nejdůležitější znaky expertních systémů Explicitní vyjádření znalostí v bázi znalostí - strategie uložena v řídícím mechanismu Báze znalostí obsahuje všechny "možné" druhy znalostí Modularita a transparentnost báze znalostí Zvlášť uložená data k zadanému problému v bázi dat Zpracování i nejistých znalostí a nejistých dat od uživatele V bázi znalosti musí být obsaženy i násobné a alternativní cesty vyvozování Expertní systém musí být schopen vysvětlovat a zdůvodňovat Z obecného hlediska lze expertní systémy klasifikovat do třídy systémů analyzujících (typickým problémem je diagnostika) a do třídy systémů syntetizujících (typickým problémem je plánování). Na těchto hlediscích závisí jejich architektura. 3.3 Architektura expertních systémů Architektura expertních systémů vychází ze základní struktury (Obr. 7), která je vždy tvořena bází znalostí na straně jedné a inferenčních (vyvozovacím) mechanismem na struně druhé. Obecně lze architekturu expertního systému znázornit následujícím schématem. Další rysy jeho architektury jsou však dány je ho typem, tzn. jeho zaměřením na typ řešené úlohy (diagnostické resp. plánovací). 9

VYSVĚTLOVACÍ MECHANISMUS BÁZE ZNALOSTÍ ŘÍDICÍ MECHANISMUS BÁZE DAT ZNALOSTI EXPERTA AKTUÁLNÍ MODEL ÚDAJE UŽIVATELE ÚDAJE PŘÍSTROJŮ Obr. 7 Architektura expertního systému Aktuální model Teoreticky je tento model reprezentací současného stavu řešení úlohy, tj. množinou všech momentálně platných poznatků a faktů (tedy je dán bází dat a faktografickými znalostmi z báze znalostí), a může se měnit dvojím způsobem: přidáním dalšího údaje do báze dat - tím se rozšíří báze dat i aktuální model odvozením nového poznatku na základě aktuálního modelu; toto odvození může mít za následek - kromě přidání nového poznatku - vyloučení některých poznatků z aktuálního modelu, který platil v předcházejícím okamžiku. Diagnostické expertní systémy Ú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í 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. 8 báze znalostí obecné znalosti z dané problematiky vysvětlovací podsystém řídící mechanismus aktuální model báze dat uživatel měřící přístroje data k danému případu Obr. 8 Architektura diagnostického expertního systému Jádro systému tvoří řídící (inferenční) mechanismus, který operacemi nad bází znalostí na základě aktuálních dat (dotazu) upřesňuje (aktualizuje) obecný model a vyvozuje odpověď (závěr) simulace. Báze znalostí jako obecný model chování studované soustavy je tvořena expertními znalostmi, které jsou formalizovány vhodnou prezentací. Aktualizace modelu je provedena vstupem konkrétních dat k danému případu. Konkrétní data jsou reprezentována bází dat a mohou být získána jako lingvistické hodnoty od uživatele (operátora), přímým měřením nebo kombinovaně. Výsledkem činnosti diagnostického expertního systému je seznam ohodnocených závěrů - cílových hypotéz (diagnóz). 20

Uživatelsky významnou částí expertního systému je vysvětlovací podsystém, který 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 Plánovacími expertními systémy jsou obvykle řešeny takové úlohy, kdy je znám cíl řešení a počáteční stav a systém má využitím dat o konkrétním řešeném případu nalézt (pokud možno optimální) posloupnost kroků (operátorů), kterými lze cíle dosáhnout. Podstatnou částí takovýchto expertních systémů je generátor možných řešení, který automaticky kombinuje posloupnost operátorů. Lze ukázat, že s rostoucím počtem operátorů, a především s nutným počtem kroků řešení, roste velmi rychle počet kombinací při vytváření posloupnosti kroků - hovoří se o "kombinatorické explozi". Výsledkem činnosti plánovacího systému je seznam navrhovaných řešení, obvykle ohodnocený jistou měrou optimality, k jejímuž výpočtu se též užívá údajů z báze dat. Tento seznam je uchováván v zásobníku vhodných řešení, který se v průběhu řešení dynamicky mění. Z nabídky ohodnocených přípustných řešení si uživatel podle svých kritérií obvykle vybírá jedno dominantní. vysvětlovací podsystém báze znalostí řídící mechanismus generátor řešení omezování řešení báze dat uživatel měřící přístroje testování obecné znalosti z dané problematiky zásobník vhodných řešení data k danému případu Obr. 9 Architektura plánovacího expertního systému Na obrázku 9 je blokově zachycena jednoduchá architektura třídy plánovacích expertních systémů, opírajících se o princip generování a testování přípustných řešení. Řídící mechanismus s využitím báze znalostí a báze dat: ovlivňuje výběr přípustných operátorů; omezuje generativní schopnost generátoru použitím znalostí z báze znalostí (např. apriorním zamítnutím některých dílčích posloupností kroků apod.); řídí testování shody vygenerovaných řešení s daty z báze dat, a tím utváření zásobníku potenciálních řešení, včetně ohodnocení jejich vhodnosti. 3.4 Interpretace odpovědí expertních systémů Z inženýrského hlediska je důležité správná interpretace vyvozených odpovědí expertního systému. K tomu je třeba správného pochopení nuancí uvažování, které jsou pro jednotlivé modely charakterické: CIC A CI& modely na začátku 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. CI& model je navíc odvážnější ve vylučování nepravdy. CCD model na začátku předpokládá, že nic není pravda a potom tvrdí, že pravda je to, co tvrdí alespoň jedno prohlášení. 2

Kvalitu odpovědí lze parametrizovat parametry kvality jsou definovány podle obr.0 následovně: µ(y) S 0 D 0 J 0 N 0 0 y Obr. 0 Parametry kvality odpovědí Spornost odpovědi S = max µ ( ) 0 y Důvěryhodnost použitých informací D = min µ ( ) Neurčitost odpovědi 0 y N 0 = c b Jasnost odpovědi J = max µ ( y) min µ ( ) 0 y Interpretace typických odpovědí pro modely CIC a CI& (Obr. ) µ(y) E C A B D 0 y Obr. Typické odpovědi pro modely CIC a CI& 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 Interpretace typických odpovědí pro model CCD (Obr. 2) 22

µ(y) A B C 0 y A zcela jasná odpověď B odpověď při existenci sporu mezi pravidly C odpověď při nedostatku informací. Obr. 2 Typické odpovědi pro model CCD Shrnutí pojmů Expertní systém, třídy problémů pro expertní systémy, základní architektura expertního systému. Znalostní báze, inferenční mechanismus, interpretace odpovědí expertních systémů, architektura expertního systému, tvorba znalostní báze, metodika interpretace odpovědí expertního systémů. Otázky Definujte expertní systém a jeho architekturu? Jak dělíme expertní systémy? Jaký je rozdíl v architektuře plánovacího expertního systému oproti architektuře diagnostického expertního systému? Jak kvantifikujeme odpovědi expertních systémů? 23

4. INTELIGENTNÍ REGULÁTORY FLC SYSTÉMY 7 hodin Čas ke studiu Cíl Inteligentní regulátory FLC systémy. Definování FLC systémů, architektura FLC systémů, odlišnosti od expertních systémů, typy fuzzy regulátorů, generace FLC systémů. 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 /. Mamdami definuje princip fuzzy regulátoru FLC (FKBC) takto : "Základní myšlenkou takového přístupu bylo vtělení zkušeností 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 ". 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ém FLC vyznačuje jistými odlišnostmi : - systémy FLC jsou řazeny spíše do oblasti inženýrské problematiky řízení než do oblasti umělé inteligence; - modely FLC jsou budovány výhradně formou řídicích pravidel; - oblasti využ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 systému; - vstupními proměnnými FLC systému jsou pravidelně informace o chování řízeného systému a výstupními proměnnými jsou velikosti akčních zásahů. 4. Základní struktura a parametry systému FLC Základní konfigurace systému FLC (FKBC) je nakreslena na obrázku. 24

w(t) e(t) u(t) normalizace fuzzifikace Modul fuzzifikace Fuzzy regulátor inferenční mechanismus báze pravidel denormalizace defuzzifikace Modul defuzzifikace báze dat y(t) proces Obr. 3 Schéma FLC systému Tato konfigurace obsahuje čtyři základní bloky: 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á řídicí pravidla, charakterizující cíle a strategii řízení; c) blok INFERENČNÍ MECHANISMUS, tvořící jádro systému FLC. - Provádí vyvození fuzzy řídicí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é normy; - převod rozsahů výstupních veličin do odpovídajících univerz. Struktura fuzzy regulátoru je blokově naznačena na obrázku Báze pravidel V předchozím bylo řečeno, že návrh parametrů báze pravidel zahrnuje definici následujících veličin: volba veličin reprezentujících stav systému a akční zásah do systému, volba množiny termů, tj. hodnot jazykových proměnných, volba obsahu antecedentů a konsekventů pravidel, volba všech pravidel if-then. Volba proměnných a obsahu pravidel V obecném případě může být použití FKBC velmi rozmanité a tedy i volba veličin může být velmi rozmanitá. Nečastěji v literatuře se vyskytující typy fuzzy regulátorů jsou P-, PI-, PD- a PID fuzzy v(t) 25

regulátory. Tím jsou implicitně dány vstupní a výstupní veličiny i soubor pravidel, neboť tyto fuzzy regulátory mají obdobné vstupy, výstupy a chování jako klasické P, PI PD a PID regulátory. Označme w žádanou hodnotu, y(k) skutečnou hodnotu řízeného procesu v čase k. Potom vstupní veličiny jsou definovány jako odchylka označovaná e: e{k) = w -y(k), změna odchylky označovaná e nebo e': e(k) = e(k) - e(k - ) a součet odchylky označovaný δe: δ e( k) = e( i). Výstupní veličiny jsou akční zásah označovaný: u(k) a změna akčního zásahu označovaná u: u(k) = u(k) u(k ). k i= 4.2 Typy fuzzy regulátorů Inference systému FLC probíhají v jednotlivých krocích podobně jako v případě klasické diskrétní regulace.proto je možno koncipovat jednotlivá typy fuzzy regulátorů stejně jako v technice klasické, tedy fuzzy regulátory P, PI, PD a PID (je možné se setkat i značením PS, PSD). Jednotlivé typy fuzzy regulátorů se od sebe liší závisle proměnnými, nezávisle proměnnými a strukturou pravidel. 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 považujeme za regulátor nelineární, s těmito strukturami : Fuzzy P regulátor Popisující rovnice klasického P regulátoru je u(k) = K R.e(k), kde K R je zesílení regulátoru a tedy pravidla budou mít tvar if (e(k) ={hodnota} then (u(k) ={hodnota}). Bloková struktura fuzzy P regulátoru je uvedena na obrázku. e* u* F IM D F značí modul fuzzifikace, D modul defuzzifíkace a IM inferenční mechanizmus. Fuzzy PD regulátor Popisující rovnice klasického diskrétního PD regulátoru je u(k) = K R.e(k) + K D. e(k), kde K R je zesílení a K D je derivační časová konstanta. Vstupy tohoto regulátoru jsou odchylka a její diference. Soubor pravidel fuzzy PD regulátoru odpovídá této rovnici a pravidla mají tvar if (e(k) ={hodnota}) and ( e(k) ={hodnota}) then (u(k) ={hodnota}), kde {hodnota} je symbolické jméno hodnoty jazykové proměnné. Tam, kde to nebude na závadu, budeme pro jednoduchost vynechávat symbol pro časový okamžik k a psát if (e = {hodnota}) and ( e ={hodnota}) then (u ={hodnota}). Bloková struktura fuzzy PD regulátoru je uvedena na obrázku. e* e* F F IM D u* F značí modul fuzzifikace, D modul defuzzifíkace a IM inferenční mechanizmus. Fuzzy PI regulátor 26

Popisující rovnice klasického diskrétního PI regulátoru je u = K R. e + K I. δe, kde K R je zesílení a K ; je integrační zisk (převratná hodnota integrační časové konstanty). Fuzzy PI regulátor je velmi často realizován tak, že s pomocí fuzzy systému modelujeme diferenci této rovnice (tj. modelujeme přírůstek akčního zásahu u) a na výstup (po defuzzifíkaci, tj. po získání ostré hodnoty u ) zařadíme sumátor. Diferenciací rovnice obdržíme u = K R. e + K I. e, a tedy pravidla diskrétního PI regulátoru budou mít tvar if (e ={hodnota}) and ( e ={hodnota}) then( u ={hodnota}). Na výstupu tohoto regulátoru (po provedení posloupnosti fuzzifikace - inferenční mechanizmus - defuzzifikace) obdržíme pouze změnu akčního zásahu. Celkový akční zásah pak určíme jako u(k)* = u(k - )* + u(k)*. Tento vztah je ale realizován mimo fuzzy model, a to pomocí sumátoru, takže se v pravidlech neprojeví. Bloková struktura fuzzy PI regulátoru je uvedena na obrázku. e* e* F F IM D u* Σ u* F značí modul fuzzifikace, D modul defuzzifikace a IM inferenční mechanizmus. Fuzzy PID regulátor Popisující rovnice klasického PID regulátoru je u = K R. e + K D. e + K I. δe, takže pravidla diskrétního fuzzy PID regulátoru budou mít tvar if (e ={hodnota}) and ( e ={hodnota}) and (δe ={hodnota}) then (u ={hodnota}). Matice pravidel je nyní kubická matice, jejíž naplnění je obtížné. Proto se často fuzzy PID regulátory řeší jako součtově pracující PI a PD regulátor (viz obrázek). e* e* F F IM D u* Σ u* PI u* F F IM D u* PD Fuzzy PID regulátor je tak používán pro procesy vysoce nelineární a nestabilní. 4.3 Volba množiny termů Všechna pravidla v bázi znalostí lze rozdělit do pěti skupin: Nultá skupina obsahuje pravidla, ve kterých je jak odchylka e, tak i její změna e buď nulová nebo velmi malá, ať už kladná nebo záporná. Skutečná hodnota se pohybuje v blízkosti žádané hodnoty a změny akční veličiny jsou minimální. Tato skupina, pravidel tedy řeší ustálený stav.. 27

V první skupině pravidel je odchylka záporná (buď střední nebo velká) a její změna je kladná. To znamená, že skutečná hodnota se pohybuje směrem k žádané hodnotě. Velikost změny akčního zásahu je pak úměrná velikosti rychlosti tohoto pohybu. U druhé skupiny pravidel se odchylka pohybuje kolem nuly nebo je velká kladná, ale její změna je kladná. To znamená, že skutečná hodnota se vzdaluje od žádané. Je tedy třeba větší změny ve velikosti akčního zásahu než v předchozím případě. Ve třetí skupině pravidel je odchylka kladná, a to buď střední nebo velká. Je tedy skutečná hodnota vzdálena od žádané, ale derivace odchylky je záporná, což znamená, že skutečná hodnota se pohybuje směrem k žádané hodnotě, a tedy změna akčního zásahu nebude tak razantní jako v předchozím případě. Tato skupina pravidel je zrcadlovou skupinou ke skupině číslo jedna. Ve čtvrté skupině pravidel se odchylka pohybuje buď v blízkosti nuly neboje velká záporná a její změna kladná, tj. skutečná hodnota se pohybuje směrem od žádané hodnoty. Změna akčního zásahu musí být razantnější než v předchozím případě. Tato skupina pravidle je zrcadlovým obrazem skupiny číslo dvě. Shrnutí pojmů FLC systémy, architektura FLC systémů, odlišnosti od expertních systémů, typy fuzzy regulátorů, množiny pravidel FLC systémů. Otázky Definujte FLC systém? Uveďte odlišnosti FLC systémů od expertních systémů? Uveďte základní části FLC systému? Jaké druhy FLC systémů znáte a charakterizujte je? 28

5. NEURONOVÉ SÍTĚ 0 hodin Čas ke studiu Cíl Úvod do neuronových systémů. Definovaní základních pojmů, vysvětlení činnosti biologických neuronů, definování umělé neuronové sítě topologie, pracovní fáze. Vysvětlení základních typů neuronových sítí, důraz je kladen na Hopfieldovu síť a síť typu Back-propagation. Výklad 5. Umělé neuronové sítě (UNS) Za umělou neuronovou síť (UNS) se obecně považuje taková struktura pro distribuované paralelní zpracování dat, která se skládá z jistého, obvykle velmi vysokého počtu vzájemně propojených výkonných prvků. Každý z nich může současně příjmat libovolný konečný počet různých vstupních dat. Na další výkonné prvky může předávat libovolný konečný počet shodných informací o stavu svého jediného, avšak velmi rozvětveného výstupu. Každý výkonný prvek transformuje vstupní data na výstupní podle jisté přenosové funkce. Přitom se též může uplatnit obsah jeho lokální paměti. Funkci umělé neuronové sítě můžeme chápat jako jistou transformaci T vstupního signálu X na výstupní signál Y = T (X ) Základní vlastnosti umělých neuronových sítí udává jejich paradigma. Paradigmatem rozumíme nejen jejich topologii, ale též způsoby učení a vybavování. Topologii neuronové sítě určuje její síťový graf, jehož jednotlivé uzly odpovídají výkonným prvkům a hrany spojům mezi nimi působícím. Vzájemné připojení vstupů a výstupů výkonných prvků vymezuje konfiguraci sítě. Ta může být jednovrstvá, plošná, vícevrstvá, prostorová či mnohorozměrná. Paradigmat neuronových sítí je známo několik desítek a stále se objevují další. 5.2 Výkonný prvek umělé neuronové sítě Výkonným prvkem umělé neuronové sítě je formální neuron (obr. 4), který zpravidla vstupní údaje zpracovává podle vztahu N y = S w i x i i= + Θ kde x i jsou vstupy neuronu a je jich celkem N, w i synaptické váhy, S je obvykle nelineární přenosová funkce neuronu, Θ práh. Výraz v závorce někdy označujeme jako vnitřní potenciál neuronu (značení z). Podle povahy vstupních dat rozlišujeme neurony binární - zpracovávající vstupní data dvouhodnotová; neurony vícehodnotové (spojité) - zpracovávají i data nesoucí vícebitovou informaci 29

x 0 w 0 x w w 2 z y x 2 w 3 x 3 Obr. 4 Schéma formálního neuronu Činnost základního modelu neuronu lze rozdělit do čtyř fází, jimiž jsou:. konfluence - k-tý vstupní signál přicházející do neuronu je vynásoben váhou (reálným číslem), která je danému vstupu přiřazena, neboli: Tato operace je provedena postupně pro všech n vstupních signálů. 2. agregace - signály vynásobené příslušnými vahami jsou prostým způsobem sečteny, čili: 3. prahování - od výsledného součtu u(t) je odečtena prahová hodnota w 0 : 4. nelineární zobrazení - hodnota y(t) je pomocí obecně nelineární funkce zobrazena zpravidla do intervalu (0,). Nejčastějším případem je zobrazení pomocí tzv. sigmoidální funkce (sigmoida): Tato funkce zobrazuje proměnnou v(t) na interval (0,). Parametr theta se nazývá parametr strmosti a určuje, jak rychle tato křivka stoupá s rostoucí proměnnou. 5.3 Nelineární přenosová funkce Přenosová funkce označovaná též jako funkce aktivační převádí vnitřní potenciál neuronu do definovaného oboru výstupních hodnot. Nejčastější přenosové funkce jsou (obr. 5): lineární, skoková, omezená a sigmoida. Nejčastěji, avšak nikoli vždy, je obor výstupních hodnot omezen intervalem [0;]. Alternativní variantou sigmoidní funkce (která je omezená, monotónní a neklesající) je pro obor výstupních hodnot [-;] hyperbolická tangenta. Přenosová funkce kromě jiného určuje, zda je výkonný prvek binární nebo spojitý (někdy se též nepřesně říká analogový) 30

5.4 Pracovní fáze umělé neuronové sítě Obr. 5 Průběhy přenosových funkcí Umělá neuronová síť pracuje v zásadě ve dvou fázích: adaptivní; aktivní V adaptivní fázi se síť učí, v aktivní vykonává naučenou činnost, vybavuje. UNS je asociativní pamětí, ve které jsou uloženy různé vzory a která si tyto vzory vybavuje. Možné jsou prostorové (jednoduché statické) vzory a časoprostorové (posloupnosti statických obrazů) vzory. I vybavování může mít jednu ze dvou variant (obr. 6) autoasociativní vybavování - z paměti UNS čtou vektory X, X 2,..., X m heteroasociativní vybavování - v UNS jsou uloženy páry vzor-obraz ( X, Y ),..., ( X m, Y m ) Na první pohled může vyniknout pochybnost o tom, je-li autoasociativní UNS vůbec využitelná - vstup a výstup systému s tímto chováním je totiž stejný. Význam autoasociace však okamžitě vysvitne v případě, kdy není vstupní vektor kompletní. Podle konkrétní úlohy ještě zjišťujeme, zda má heteroasociativní síť odpovídat vybavením nejbližšího souseda, nebo zda má interpolovat 3

Obr. 6 Autoasociativní a heteroasociativní vybavování Učení Při učení dochází v neuronové síti ke změnám, síť se adaptuje na řešení daného problému. Učení se v UNS realizuje nastavováním vah mezi uzly. V praxi se vahám přisoudí počáteční hodnoty, které mohou být buď náhodně zvolené, nebo vybrané podle nějakého podobného případu. Pak se do sítě přivede trénovací vstup. Síť poskytne výstup, odezvu. Jsou dva typy učení: s učitelem bez učitele. Při učení s učitelem existuje nějaké vnější kritérium určující, který výstup je správný a v síti se nastavují váhy pomocí zpětné vazby podle toho, jak blízko je výstup kritériu. Vypočítává se rozdíl mezi žádaným a skutečným výstupem. Váhy se nastavují podle nějakého algoritmu, který zabezpečuje snižování chyby mezi skutečným a žádaným výstupem. Velikost změn vah je obvykle malá. Pak se síti předloží nový výstup a celý proces se zopakuje. Po provedení velkého počtu pokusů se síť naučí vydávat stabilní výstup jako rekci na vstupy, které přijímá. Odvozená a dokázaná byla celá řada teorémů o konvergenci a stabilitě učících algoritmů. Při učení s učitelem se UNS učí srovnáváním aktuálního výstupu s výstupem požadovaným a nastavováním synapsí tak, aby se snížil rozdíl mezi skutečným a žádaným výstupem. Metodika snižování rozdílu je určena učícím algoritmem. Učení bez učitele nemá žádné vnější kritérium správnosti. Algoritmus učení je navržen tak, že hledá ve vstupních datech určité vzorky se společnými vlastnostmi. Mnoho algoritmů učení bez učitele jsou vlastně paralelní implementace hroznových algoritmů. Učení bez učitele se také říká samoorganizace. Do učení bez učitele není zapojen žádný vnější arbitr a celé učení je založeno pouze na informacích, které samotná síť během celého procesu učení získala. Mezi metody učení bez učitele patří: Hebbovské učení, diferenciální Hebbovsjké učení, minmax učení a kompetice. Vybavování. 32

Aktivní fáze následuje za fází adaptivní a zpracovávají se v ní vstupní data. na základě vstupu dat vznikne ve vstupní nerovnovážný stav. V neuronech zapamatované hodnoty se začnou působením ostatních neuronů přes spoje měnit (aktualizovat) a mění se tak dlouho, dokud opět nenastane stabilní rovnovážný stav. Na jejich výstupech je pak požadována odezva sítě na tento vstup. Časově se obě fáze mohou překrývat. Klasifikace neuronových sítí Topologie sítí (Obr. 7): rekurentní sítě - mají systém vnitřních zpětných vazeb vrstvené sítě - obsahují vstupní vrstvu, výstupní vrstvu a žádnou nebo několik skrytých vrstev sítě s dynamicky měněnou topologií - používají se pro urychlení fáze učení. Obr. 7 Rekurentní a vrstvená umělá neuronová síť Klasifikace některých neuronových sítí z hlediska informačního toku a metod učení Informační tok Učení Rekurentní Dopředné bez učitele Hopfieldova síť ART i ART2 Obousměrná asociativní paměť Lineární asociativní paměť LVQ s učitelem Brain-state-in-a-box Perceptron Backpropagation Adaline/Madaline Boltzmannův stroj Neocognitron 5.5 Hopfieldova síť Na začátku osmdesátých let přišel John Hopfield při studiu autoasociativních sití na nový model neuronové sítě - Hopfieldova síť. Tato síť může být použita buď jako asociativní paměť, klasifikátor nebo k řešení optimalizačních problémů. Princip této sítě bude demonstrován na využití sítě jako asociativní paměti pro obrazový výstup. Na obrazových vzorech se dobře demonstruje chování sítě, neboť lze jednotlivým pixelům obrázku snadno přiřadit binární hodnoty. Hopfieldova síť se nehodí pro spojité vstupy, protože pak zde vzniká problém, jak převést spojité signály do binární podoby. Uspořádání sítě Hopfieldova síť se skládá z tolika neuronů, kolik má vstupů. Pokud například učíme síť obrázky, odpovídá každý pixel jednomu neuronu. Každý neuron je napojen na vstup sítě pouze jediným svým vstupem. Výstup každého neuronu je veden zpět na vstupy ostatních neuronů přes vády wij, a tak se vytváří uzavřená smyčka. tímto vzájemným uspořádáním vzniká symetrická síť a tedy diagonálně symetrická matice vah. 33

Obr. 8 Hopfieldova síť Obrázek 8 vpravo znázorňuje uspořádání Hopfieldovy sítě. Jiné možné uspořádání je na obrázku 8 vlevo. Obě znázorněné sítě jsou z funkčního hlediska totožné. Vysvětlivky x 0, x,..., x N- jsou vstupy sítě µ 0, µ,..., µ N- stavy v jednotlivých časových krocích, které se v následujícím kroku stávají opět vstupy y 0, y,..., y N- výstupy sítě, které se de facto rovnají stavům µ 0, µ,..., µ N- Vybavování je iterační proces a proto smysluplným výstupem je až poslední stav neuronů. Váhy, které vedou z jednoho neuronu do druhého jsou stejné v obou směrech (w ij = w ji ) a váhová matice je tedy, jak již bylo zmíněno, diagonálně symetrická. Na vstupy neuronů nikdy nepřivádíme jejich vlastní výstupy (i j), a proto jsou váhy na diagonále matice vah nulové. Učení a vybavování v Hopfieldově sítí Algoritmus učení Hopfieldovy sítě Krok Nastavení vah podle vstupních vzorů M = s s x x, pro i j w i j ij s= 0 0, pro i = j, 0 i, j N V této rovnici w ij je váha mezi neuronem i a j (jedná se o čtvercovou matici vah) a x i resp. x j je i-tý (j-tý) element s-tého vstupního vzoru, který nabývá hodnoty + nebo - Krok 2 Opakování učícího procesu Pokud ještě nebyly předloženy všechny trénovací vzory, přejdeme opět na krok, jinak skončíme učení Pro každý vzor vytvoříme dílčí matici dimenze NxN, kde N je počet vstupů. Tato matice bude tvořena prvky, které vzniknou vynásobením i-tého vstupu j-tým vstupem (metoda každý s každým), přičemž jedná-li se o stejný vstup (i=j), je váhový koeficient nulový. Tím vznikne symetrická matice obsahující + a - s výjimkou nulové diagonály. Výsledná čtvercová matice vah, vznikne součtem všech dílčích matic jednotlivých vzorů., kterých je M. Poté co jsou všechny obrazce naučeny, tj. zakódovány ve váhové matici, můžeme přejít k fázi vybavování. Z předchozího algoritmu je patrné, že učení sítě jednomu vzoru probíhalo jednorázově, ale vybavování je opakovaný iterační děj. Ve fázi vybavování předložíme nový neznámý obrazec na vstupy sítě a postupně počítáme výstupy podle následujícího algoritmu. Krok. Inicializace stavů Nastavení počátečních stavů podle předloženého vzoru µ i ( 0) = x i, 0 i N 34

V této rovnici je µ i (t) výstup z i-tého neuronu v čase t a x i je element obrazce, který může nabývat hodnot jen 0 nebo resp. + nebo -. Krok 2 Iterace až do nalezení odpovědi N ( + ) = µ i t fh wij µ i ( t), 0 i N 0 j= Funkce f h je nelinearita zobrazená na obr.24b bez posunutí. Krok 2 provádíme tak dlouho, až se přestanou měnit stavy, tj. rozdíl mezi tímto a předchozím stavem je nulový. Výstupy neuronů y i = µ i (t poslední ) jsou přímo jednotlivé body výstupního obrazce Krok 3 Opakování procesu Po skončení iterace můžeme zadat nový vzor a přejít ke kroku. V opačném případě skončíme. Po každém průběhu jsou výstupy poopraveny a slouží opět jako vstupy do sítě. Tento postup opakujeme tak dlouho, až se výstupy během dvou cyklů nezmění ani na jednom neuronu, tj. nynější a předchozí stavy jsou shodné. Takto získané výstupy přímo odpovídají vybavenému vzoru. Princip celé Hopfieldovy sítě je založen na porovnání obrazců pomocí Hammingovy metriky a za správnou odpověď s bere ten obrazec, který má tuto vzdálenost nejmenší. Vlastnosti Hopfieldovy sítě Hopfieldova síť, je-li použita jako asociativní paměť, má dvě hlavní omezení. Prvním je, že počet obrazců, které lze uschovat, je poměrně nízký. Jestliže uschováme (naučíme) příliš mnoho vzorů, může síť konvergovat k nějakému zvláštnímu obrazci, na který nebyla naučena. Takové případy se však naštěstí nestávají příliš často. Abychom omezili tyto chyby, je nutné aby počet vzorů byl menší než 5% bodů obrazce, tj. M < 0,5N. Druhým omezením Hopfieldovy sítě je nutnost vhodně zvolit vzory tak, aby si byly co nejméně podobné (maximalizovat Hammingovu vzdálenost). Obr. 9 Příklad vzorů Nevýhodou implementace Hopfieldovy sítě jsou velké nároky na paměť, která roste kvadraticky s počtem vstupů a nestejná Hammingova vzdálenost všech naučených vzorů. To může způsobit chybu při identifikaci předloženého vzoru. Výhodou Hopfieldovy sítě je že automaticky umí všechny inverzní vzory k naučeným vzorům. Tedy pokud bychom předložili naši poškozenou trojku, ale inverzní, dostali bychom po několika iteracích správnou, inverzní trojku. 35

Obr. 20 Průběh vybavování 5.6 Back-propagation Klasická třívrstvá nerekurentní neuronová síť, jejíž učení probíhá metodou zpětného šíření chyby. Objev tohoto algoritmu byl pro neuronové sítě velmi podstatný, neboť v polovině osmdesátých let odstartoval, po téměř dvacetileté odmlce, novou vlnu rozvoje tohoto vědního oboru. Tento algoritmus je vhodný pro učení vrstevnatých sítí se vstřícným šířením. Učení probíhá metodou učení s učitelem. Podle způsobu, jakým se vypočítávají váhy, je to algoritmus iterační. Energetickou funkcí minimalizuje na základně gradientu. Proto se také zařazuje mezi gradientní metody učení. Neuronová síť aproximuje požadované zobrazení funkcí: ( x, w Θ) y = f, kde y je výstupní vektor, x je vstupní vektor, w je vektor všech vah sítě, Θ je vektor všech prahů. Funkce f je určena typem neuronů a topologií sítě. Během učení se tato funkce nemění, mění se pouze její parametry w a Θ. Učící algoritmus pro požadované zobrazení Φ: X Y nalezneme takové w a Θ, že funkce f je právě aproximací tohoto zobrazení. Algoritmus zpětného šíření Princip algoritmu zpětného šíření je podobný běžným učením metodám používaným ve škole. Když se při zkoušení zjistí, že žák nějakou část látky neumí, musí se donutit, aby se ji doučil. Podobně to funguje i v tomto algoritmu. Neuronovou síť je možno považovat za žáka, zkoušení je možno považovat za mechanismus, ve kterém se testujeme, zda-li neuronová síť odpovídá na vstupní ve vektory přesně podle trénovací množiny. Trénovací množinu považujeme za látku, kterou se má žák naučit. Když zjistíme, že síť nereaguje jak je potřeba, musíme jí měnit váhové koeficienty tak dlouho, dokud nezačne reagovat správně. Tento mechanismus učení je zobrazen názorně na obr. 2. Trénovací množina x Neuronová síť y d porovnání y,w,θ Učící algoritmus 36

Obr. 2 Princip algoritmu zpětného šíření Back-propagation je iterační proces, ve kterém se postupně dostáváme z počátečního stavu do stavu úplného naučení. Algoritmus učení lze popsat v hrubých rysech následovně: náhodná inicializace vah; repeat repeat vyber vzor z trénovací množiny; přilož vybraný vzor na vstupy sítě; vypočti výstupy sítě; porovnej výstupy s požadovanými hodnotami; modifikuj váhy; until vybrány všechny vzory z trénovací množiny; until globální chyba < kritérium; Výběr vzorů z trénovací množiny nemusí být jen sekvenční, často se používá např. náhodný výběr. Volba strategie není pevně dána a spíše do kategorie umění učit neuronové sítě. V průběhu učení můžeme určité vzory předkládat častěji k učení, jiné zase méně často atp. Vhodnou strategií můžeme značně ovlivnit rychlost a úspěšnost učení. Globální chybou je v algoritmu míněna např. střední kvadratická odchylka (směrodatná odchylka), počítaná přes všechny vzory trénovací množiny.tato chyba vypovídá o míře naučenosti sítě. Kritérium je mez, při které je proces učení zastaven. Učení neuronové sítě algoritmem zpětného šíření Během učení neuronové sítě dochází k poklesu energetické funkce. Typický průběh pro dobře naučenou neuronovou síť je naznačena na obr. 22 Obr. 22 Průběh učení neuronové sítě Bohužel existují případy, kdy se nám nepodaří síť naučit s dostatečně malou chybou. V takovém případě dosáhne energie určité hodnoty a nadále přestane klesat. Tomuto jevu říkáme uvíznutí v lokálním minimu. Pokud se algoritmus zpětného šíření dostane do lokálního minima pokles energie se zastaví viz. obr. 23. 37

Obr. 23 Uvíznutí v lokálním minimu Problém uvíznutí v lokálním minimu je možné řešit: vhodnou volbou parametrů η a α, vhodnou volbou strategií výběru vzorů z trénovací množiny (např. náhodně) vhodným počátečním nastavením vah. Algoritmus zpětného šíření Krok Inicializace Všechny váhy v síti nastavíme náhodně na hodnoty v doporučovaném rozsahu -0,3;+0,3. Krok 2 Předložení vzoru Vybereme vzor z trénovací množiny a přiložíme na vstupy sítě. Dále po vrstvách směrem od vstupu k výstupům sítě počítáme výstupy jednotlivých neuronů dle vztahu: n y = S w i x i i= ( ϕ ) = S + Θ a S( ϕ ) = γ ϕ + e Krok 3 Srovnání V kroku srovnání nejprve vypočítáme energie podle vztahu n 2 E = ( y i d i ) 2 i = kde n - počet výstupů sítě, y i - i-tý vypočtený výstup, d i - i-tý požadovaný výstup; která bude využita jako přírůstek k celkové energii počítané přes všechny vzory. Dále vypočítáme chybu pro výstupní vrstvu: Krok 4 Zpětné šíření chyby a modifikace vah Pro všechny neurony ve vrstvě vypočteme podle vztahu l wij δ o o o ( y d ) γ y ( y ) o i = i i i l l ( t) = η δ ( t) y ( t) + α w ( t ) l Θi i l j l l ( t) = η δ ( t) + α Θ ( t ) h h i = yi i n h ( yi ) k= zpětně šíříme chybu do vrstvy, která je blíže vstupům. δ i i ij h h w ki δ k 38

Na závěr kroku 4 modifikujeme váhy: w o ij o o ( t + ) = w ( t) + w ( t) ij o o ( t + ) = Θ ( t) + Θ ( t) o Θi i Krok 4 opakujeme pro všechny vrstvy sítě tak, že začínáme vrstvou výstupní (l=o), pak následují skryté vrstvy (l=h). V případě, že zpracováváme skrytou vrstvu, která je nejblíže vstupní l vrstvě, nahradíme y j v rovnici pro výpočet w za odpovídající vstupní hodnotu, tedy za xj. Krok 5 Ukončení výběru vzoru z trénovací množiny Jestliže jsem předložili všechny vzory z trénovací množiny pokračujeme krokem 6, jinak se vracíme na krok 2. Pozn. Při sekvenčním výběru je realizace tohoto testu jednoduchá, avšak vybíráme-li vzory náhodně, musíme v průběhu učení zaznamenávat, které vzory byly použitý a které nikoliv. Krok 6 Ukončení procesu učení Jestliže energie neuronové sítě za poslední epochu byla menší než námi zvolené kritérium, pak učení ukončíme. jinak pokračujeme krokem 2. ij i Shrnutí pojmů Definovaní základních pojmů - neuron, přenosová funkce, vstupy a výstupy umělého neuronu, práh. Činnost biologických neuronů, topologie, pracovní fáze. Základních typů neuronových sítí, Hopfieldova síť a síť typu Back-propagation. Otázky Popište umělý neuron. V jakých fázích pracuje UNS. Charakterizujte Hopfieldovu síť z hlediska informačního toku a metod učení. Uveďte princip činnosti sítě back propagation. Jaká je úloha trénovací množiny v procesu adaptace UNS metodu back propagation. Jak lze eliminovat problém uvíznutí v lokálním extrému. 39

6. GENETICKÉ ALGORITMY 5 hodin Čas ke studiu Cíl Základní seznámení a definování pojmů genetický algoritmus, základní operace genetických algoritmů. Výklad Genetický algoritmus (GA) je robusní 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í širší hranice použití, než klasické optimalizační metody; z pohledu 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 - chromosomem - 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ě zkrátit 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 znakový řetězec, v němž jsou zakódovány parametry optimalizovaného procesu. Tento řetězec je nazýván chromosom. Principem funkce GA je pak kopírování těchto řetězců a vyměňování jejich částí navzájem. Obecně jsou chromosomy bitové řetězce. Příklad [ 0 0 0 ] Jednotkami chromosomy 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,2,0 2,5 0,4 7,6 4,2 ] Ve všech případech má však chromosom konečnou délku. Každý gen - bit nebo reálné číslo - je (stejně jako v biologii) nositelem vlastností chromosomu. Množina chromosomů je nazývána populací. V každém kroku genetického procesu tvoří příslušná populace tzv. generaci chromosomů. Generace chromosomů vzniká reprodukcí populace. Každý chromosom populace je vybaven tzv. fitness hodnotou (fitness - vhodnost chromosomu), která je dána cílovou (účelovou) funkcí a vyjadřuje míru přiblížení se optimálnímu chromosomu. Mechanismy GA umožňují kopírování řetězců a vzájemnou výměnu jejich částí pomocí tří operací: operace reprodukce, operace křížení, operace mutace. Vytvoření genetického algoritmu je doprovázena následujícími základními problémy:. Metoda (způsob) zakódování chromosomů. 2. Definice účelové funkce (fitness hodnoty). 3. Způsob získávání výchozí (startovní, nulté) generace chromosomů. 4. Množina operátorů pro vygenerování následující generace chromosomů (populace). 5. Množina pracovních parametrů. 40

Formálně můžeme GA vyjádřit uspořádanou osmicí: kde 0 0 0 0 ( a a,..., a ), 2 r ( p, I, P, F, s, c, m T ) GA =, p = Výchozí (nultá) populace chromosomů, { 0, } L I = kódování chromosomů, P N velikost populace, L N délka chromosomu, f: I R fitness funkce, s: I P I operace výběru párů chromosomů (rodičů), c: I 2 I 2 operace křížení chromosomů, m: I I operace mutace chromosomů, T: I P {0,} stop kritérium. 6. Účelová funkce Výrazem účelová funkce se rozumí funkce, jejíž optimalizace (nalezení minima či maxima) povede k nalezení optimálních hodnot jejich argumentů. Její značení je f(x) nebo také fcost(x), kde anglické slovo cost znamená cena. Účelové funkci se totiž dříve říkalo také cenová funkce. 6.. Fitness hodnota V textu se lze setkat s výrazy fitness, CV cost value (hodnota ceny), životaschopnost, kvalita jedince atd. Všechny tyto výrazy znamenají jedno. Jedná se o hodnotu účelové funkce právě v jednom bodě intervalu, ve kterém hledáme optimální hodnotu. V podstatě říká, jak vhodný je jedinec pro další vývoj populace v další generaci. Aby byl zachován základní princip evoluce, tedy propagování nejsilnějších jedinců do další generace, resp. do operace křížení pro další generaci, převádí se účelová funkce při hledání minima na tzv. fitness funkci, u které se hledá maximum. Např. fitness funkci lze v případě minimalizace účelové funkce vytvořit následovně: fitness = /(+účelová funkce). Řešený příklad Najděte globální maximum funkce y = cos(x) + sin(3x) na intervalu <-3 ; 3> pomocí programu na vyhledání globálního minima funkce využívající genetických algoritmů. Řešení:. graf funkce y = cos(x) + sin(3x) vypadá dle Obrázku 24 y = cos(x) + sin(3x) y 2,5 0,5 0-3 -2 - -0,5 0 2 3 - -,5-2 x Obr. 24 Graf funkce y = cos(x) + sin(3x) Pozn.: Maximum je evidentně někde kolem bodu [0,5 ; 2] 2. do programu na výpočet minima zadáme účelovou funkci: y = -(cos(x) + sin(3x)) (3.) 3. výsledek programu (viz Obrázek 25) : x opt = 0,4727783203250 y min = -,87870684685932 4

4. výsledek musíme přepočítat (bereme v úvahu pouze číslo x opt, ne y min ) y(x opt ) = cos(x opt )+sin(3x opt ) =,87870684685932 = y max (3.2) y = -(cos(x) + sin(3x)) y 2,5 0,5 0-3 -2 - -0,5 0 2 3 - -,5-2 x x = 0,472778320 y = -,878706846 Obr. 25 Graf funkce y = -cos(x) sin(3x) Pozn.: Nesmíme se nechat zmást tím, že y max = -y min. V tomto příkladu je funkce y periodická. U obecných funkcí musíme y max přepočítat z x opt! 6.2 Jedinec, populace, generace jedinců Genetický algoritmus při vyhledávání maxima funkce volí na počátku náhodně několik bodů z definičního oboru. Ve skutečnosti však algoritmus vůbec neví, jaký problém řeší. Genetický algoritmus pracuje s generací určitých jedinců. Počet prvků generace je přitom předem dán. Každý jedinec je reprezentován strukturou, která je připodobněním chromozómu živého organismu. Touto strukturou je řetězec jedniček a nul (v případě binárního nebo Grayova kódování problému), přičemž všechny chromozómy - jedinci jsou stejně dlouhé řetězce. Více o tomto problému pojednává následující kapitola. Populace je definována jako soubor jedinců s jejich vlastnostmi. Dá se vyjádřit jako matice o rozměrech počet jedinců x počet argumentů (vlastností) jedince, viz Tabulka 3. [2]. Tabulka 3 - Příklad populace 7-mi rozměrného problému Jedinec Jedinec 2 Jedinec 3 Jedinec 4 Jedinec 5 Parametr,27 27,99 45,8 39,2 5,36 Parametr 2 2,7 9,94 28,40 28,23 0,2 Parametr 3 4,68 32,74 5,26 2,72 9,30 Parametr 4 6,62 33, 3,95 48,26 22,72 Parametr 5 39,99 6,88 7,4 36,4 4,52 Parametr 6 49,02 26,43 22,74 49,48 24,46 CV, fitness 23,75 47,0 23,57 204,32 96,48 Cílem algoritmu je vyvíjet (měnit) generaci tak, aby se neustále zlepšovala. To znamená, aby v ní přibývali dobří jedinci a ubývali špatní (slabí) jedinci, stejně jak je tomu v přírodě. Nyní ovšem vyvstává otázka, kdo rozhoduje o tom, jak dobrý je daný řetězec. Toto rozhodování není součástí genetického algoritmu. Algoritmus se na kvalitu řetězce pouze zeptá. Musí tedy existovat funkce f(x), která pro daný řetězec vrátí jeho kvalitu. Touto funkcí je nám již dobře známá účelová funkce. V příkladu z Tabulky 3 je účelová funkce prostým součtem parametrů. Mohla by to však být jakákoli funkce kombinující parametry. Ne vždy platí, že jedinec s nejvyššími parametry je nejlepší. Toto je ovšem problémově závislé. Při hledání extrému funkce bude řetězec reprezentovat nějaký bod definičního oboru funkce (fenotyp). Kvalita řetězce (fitness) jedince pak bude funkční hodnota v tomto bodě. Viz Obrázek 26. 42

y = sin(x),2 0,8 Fitness 0,6 0,4 0,2 0-0,2 0 0,5,5 2 2,5 3 3,5 Fenotyp Obr. 26 Fenotyp a fitness hodnota 6.3 Reprodukce - selekce Názvosloví této operace genetických algoritmů se v různých publikacích rozchází. Například v [20,2] se autor přiklání k pojmenování výběru jedinců do další generace slovem reprodukce. Naproti tomu v [5,] se na problém výběru nahlíží jako na součást reprodukčního procesu s pojmenováním selekce. Druhá ze zmiňovaných možností se mi jeví jako logičtější, proto se jí budu držet v celém textu. 6.3. Vážená ruleta Při selekci se do nové generace kopírují řetězce ze staré generace. Čím je řetězec lepší (má větší hodnotu fitness funkce), tím větší je pravděpodobnost, že bude do nové generace zkopírován a bude mu umožněno se zkřížit s jiným jedincem. Jedním ze základních způsobů, jak je selekce prováděna, je výběr pomocí vážené rulety. Váženou ruletu si můžete představit jako klasickou ruletu pouze s jedním podstatným rozdílem. U klasické rulety máme pro každé číslo, které může být vylosováno, stejně velkou část kruhu indikující výběr daného čísla, a tedy každé číslo může být vybráno se stejnou pravděpodobností jako např. číslo sousední. U vážené rulety je pravděpodobnost výběru určena kvalitou řetězce. Pravděpodobnost, že bude řetězec vybrán, vypočítáme následovně. Nejdříve sečteme kvalitu všech jedinců v populaci. Pravděpodobnost pro daný řetězec potom získáme tak, že jeho kvalitu podělíme získaným součtem. Procentní body získáme vynásobením této hodnoty číslem 00. Daný problém ilustrují Tabulka 4 a Obrázek 27. 43

2% 2% 4% 24% 22% 6% 2% 9% 00 CV =,794 0000 CV = 8,889 0000 CV = 4,03 0000 CV = 6,943 000000 CV = 9,389 00000 CV = 9,992 00000 CV =,067 000 CV =,067 Obr. 27 - Rozdělení vážené rulety generace Při tomto způsobu výběru je velice pravděpodobné, že se v nové generaci objeví stejné řetězce nebo i řetězce s nízkou kvalitou, ovšem s daleko menší pravděpodobností, než by tomu bylo u klasické rulety. Tabulka 4 Náhodně vytvořená generace Jedinec CV 00 f(00) =,794 0000 f(0000) = 8,889 0000 f(0000) = 4,03 0000 f(0000) = 6,943 000000 f(000000) = 9,389 00000 f(00000) = 9,992 00000 f(00000) =,067 000 f(000) =,067 Průměrná kvalita jedince 5,397 Pro názornost dokončíme příklad imaginárním roztočením rulety a to hned 8-krát (v generaci je 8 jedinců). Výsledek (pozn. test skutečně proběhl) je zobrazen v Tabulce 5. Další metodou výběru vhodných jedinců do další generace je tzv. turnajový způsob. Tabulka 5 - Výsledek výběru váženou ruletou Jedinec CV 0000 6,943 0000 8,889 0000 8,889 00000 9,992 000000 9,389 00000 9,992 00000,067 000000 9,389 Průměrná kvalita jedince 8,069 6.3.2Turnajový způsob výběru jedinců Postup tohoto způsobu selekce je jednoduchý. Z generace vždy vybereme náhodně dva různé jedince a do nové generace dáme silnějšího z nich. Je-li přitom jedním z vybraných jedinců nejsilnější jedinec, je s pravděpodobností propagován do další generace. Naopak nejhorší řetězec prakticky nemá 44

šanci dostat se do další generace. Největší výhodou tohoto způsobu selekce je rychlost, s jakou k výběru dochází. Ukažme si ještě výsledek tohoto způsobu na příkladu, který jsme pro znázornění použili již v kapitole 3.3.. Řekněme, že nyní náhodně zvolíme 8 dvojic. Nechť jsou tyto dvojice například: (;4), (6;7), (3;5), (2;8), (3;7), (2;6), (;7), (3;8) Výsledkem tohoto výběru na základě porovnání fitness hodnot pak bude generace popsaná v Tabulce 6. Tabulka 6 - Výsledek výběru turnajovým způsobem Jedinec CV 0000 6,943 00000 9,992 000000 9,389 0000 8,889 0000 4,03 00000 9,992 00,794 0000 4,03 Průměrná kvalita jedince 6,882 6.4 Křížení Operace křížení spočívá ve výměně informací mezi řetězci. Celý mechanismus křížení začíná tak, že se z nově vylosované populace náhodně vyberou dva řetězce. Tyto dva řetězce lze chápat jako dva rodiče. Jejich potomci potom obsahují část jejich genetické informace. Každý z potomků přitom obsahuje z každého předka pouze část informace. Pro ukázku celého mechanismu křížení je zde Obrázek 28. Dále existuje dvoubodové a uniformní křížení [8]. Obr. 28: Jednobodové křížení na třetí pozici 6.5 Mutace Posledním krokem ve vytváření nové generace je mutace. Mutace příliš nezasahuje do vzhledu nové generace, ale jak si za chvíli vysvětlíme, plní tato operace velmi důležitou funkci. Stejně jako ke křížení dochází k mutaci pouze s určitou pravděpodobností. Tato pravděpodobnost je ovšem oproti křížení podstatně menší (například 0,0). Celá operace probíhá takto. Bereme postupně z generace jeden řetězec po druhém. Každý řetězec procházíme postupně po jednotlivých pozicích (nulách a jedničkách). Dle hodnoty pravděpodobnosti mutace měníme hodnotu na jednotlivých pozicích řetězce. Tzn. je-li na této pozici hodnota, změníme ji na nulu a naopak. Mutace pomáhá v situaci, kdy jsou si všechny řetězce velmi podobné. Funkce mutace pomáhá i v neextrémních případech, kdy se snaží udržet různorodost generace. 6.6 Celý algoritmus ve zkratce Celý algoritmus můžeme vyjádřit jako sled následujících operací: 0. Inicializace nulté generace (Hlavní generace); 45

Dokud není splněna podmínka ukončení genetického algoritmu opakuj (,2,3,4,5). Ocenění každého jedince v Hlavní generaci; 2. Selekce nejlepších jedinců - kopírování do Pomocné generace; 3. Výběr dvou vhodných rodičů z Pomocné generace; Je - li splněna podmínka křížení rodičů, pak 4. Zkřížení dvojic rodičů - vznik dvou potomků - kopírování do Hlavní generace; Je - li splněna podmínka mutace, pak 5.Náhodná mutace jednotlivých jedinců Hlavní generace; Problém ukončování běhu genetického algoritmu se zatím řeší tak, že počet generací je shora ohraničený číslem p max (maximální počet opakování algoritmu). Stagnace je jev, při kterém dochází k zastavení vývoje hodnoty účelové funkce směrem k nižším hodnotám ještě před dosažením globálního extrému. K tomuto jevu dochází bez zřejmých důvodů a liší se od předčasné konvergence k suboptimálnímu řešení tak, že populace stále zůstává diverzibilní, zatímco optimalizační proces dále nepokračuje. Obecně je známo, že v případě použití evolučních algoritmů či algoritmů jim příbuzných dochází k předčasné konvergenci k suboptimálnímu řešení, a to tehdy, jestliže: - optimalizační proces zavedl populaci do lokálního extrému dané účelové funkce, - populace ztratila diverzibilitu, nebo - optimalizační proces probíhá pomalu nebo vůbec neprobíhá. Shrnutí pojmů Genetický algoritmus, základní operace genetických algoritmů - reprodukce, křížení, mutace. Stagnace. Otázky Definujte genetický algoritmus. Uveďte základní operace genetického algoritmu. Popište činnost genetického algoritmu. Jak je ukončován genetický algoritmus. 46