Ing. Ondřej Andrš
Obsah Úvod do problematiky měkkého programování Základy fuzzy množin a lingvistické proměnné Fuzzyfikace Základní operace s fuzzy množinami Vyhodnocování rozhodovacích pravidel inferenční pravidla Defuzzyfikace Struktura fuzzy řízení Fuzzy regulátor 2
Měkké programování Soft Computing Možnost zpracování nepřesností, nejistoty a částečně (nepřesně) platných údajů Příkladem reálného modelu měkkého programování je lidský mozek Cílem je dosáhnout vyšší poddajnosti, robustnosti a nízkých výpočetních nároků Nejdůležitějšími částmi jsou: Fuzzy logika Pravděpodobnostní usuzování Neuronové sítě Genetické algoritmy 3
Fuzzy množiny a lingvistické proměnné Fuzzy množiny zavádějí tzv. stupeň příslušnosti prvku k množině, který může nabývat hodnot <0,1> Charakteristická funkce m S (x) u neostrých fuzzy množin se nazývá funkcí příslušnosti m S (x); charakterizuje stupeň, s jakým daný prvek patří do příslušné množiny 4
Lingvistická proměnná Hodnoty lingvistické proměnné jsou výrazy nějakého jazyka Hodnotu lingvistické proměnné můžeme interpretovat jako fuzzy-neostré množiny Množina lingvistických hodnot se označuje jako množina termů Termy jsou definovány na univerzu, které chápeme jako univerzální množinu Např. teplota lázně { ledová(l), studená(s), vlažná(v), teplá(t), horká(h) } 5
Fuzzyfikace Přiřazování měřených hodnot vstupních veličin do fuzzy množin pomocí funkcí příslušnosti Normalizované univerzum pokryjeme nosiči příslušných fuzzy množin Je nezbytné obsáhnout celý rozsah univerza Pro žádný prvek univerza není funkce příslušnosti menší než jisté ε Většinou volíme mezi 3 až 7 primárními fuzzy množinami Pro mnohé úlohy volíme tvar na základě předem zvolených funkcí příslušnosti; jinak je možný odhad na základě měřených dat 6
Fuzzyfikace Funkce příslušnosti proměnné Úhel a její hodnoty (termy): záporný, nulový a kladný 7
Fuzzyfikace Některé jednoduché funkce příslušnosti 8
Fuzzyfikace Označení hodnot lingvistické proměnné 9
Základní operace s fuzzy množinami 10
Inferenční pravidla Obecně je logické řízení založeno na vyhodnocování rozhodovacích pravidel ve formě Pro fuzzy řízení a regulaci je podmínka vyjádřena formou implikace dvou fuzzy výroků většinou jako Tato podmínka je označována jako produkční pravidlo, jestliže-pak 11
Mandaniho implikace Důsledek (konsekvent) může mít maximálně stupeň příslušnosti, jako má podmínka (ancedent) 12
Mandaniho implikace Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost 13
Larsenova implikace Výstupní množina není hladinou příslušnosti oříznuta, ale vynásobena 14
Larsenova implikace Nalezení výstupní množiny pro dvě pravidla a dvourozměrnou závislost 15
Defuzzyfikace Proces aproximace neostrých termů ostrou hodnotou akční veličiny Výsledkem činností bloků rozhodovacích pravidel je soubor funkcí příslušnosti pro jednotlivé termy výstupních lingvistických proměnných; funkce příslušnosti výstupní veličiny je dána jejich sjednocením Pro praktické provedení akčních zásahů je třeba přiřadit výstupním lingvistickým proměnným ostrou hodnotu akční veličiny Metody: Nejlepší kompromis (metody těžiště) Přijatelné řešení (metody nejvýznamnějšího maxima) 16
Metody těžiště Center of Maximum (těžiště singltonů) Ostrou výstupní veličinu určí jako těžiště typických hodnot každého výstupního termu 17
Metody těžiště Center of Gravity (těžiště plochy) Hodnotu akční veličiny určí jako souřadnici těžiště plochy vzniklé sjednocením dílčích ploch 18
Metody nejvýznamnějšího maxima Left of Maximum (LoM) Mean of Maximum (MoM) Right of Maximum (RoM) 19
Fuzzy řízení Charakteristickým znakem fuzzy řízení je možnost bezprostředního použití empirických znalostí člověka - operátora o řízeném procesu, které označujeme jako bázi znalostí Báze znalostí tvoří: informace o stacionárních stavech, intervalech ve kterých se pohybují hodnoty vstupních a výstupních veličin, jejich mezní hodnoty, atd.; rozšíříme-li tato data o funkce příslušnosti všech vstupních a výstupních fuzzy množin, pak se všechny tyto informace o procesu v bázi znalostí označují jako báze dat kvantitativně formulované zkušenosti včetně slovně definované strategie řízení, pomocí kterých je možno realizovat řízení; tyto zkušeností získané strategie řízení označujeme jako bázi pravidel 20
Struktura fuzzy regulátoru 21
Struktura fuzzy regulátoru 22
Tvorba báze pravidel Tvorba Na základě empirických znalostí Na základě obecně platných pravidel (metapravidel) MP1: Jestliže regulační odchylka e(k) a její změna Δe(k) je nulová nebo blízká nule, pak by měl být přírůstek akční veličiny Δu(k) akční zásah nulový nebo blízký nule. MP2: Jestliže regulační odchylka e(k) klesá k nule nebo se blíží nule s dostačující rychlostí, pak je vhodné také neměnit akční veličinu. MP3: Jestliže se regulační odchylka e(k) nekoriguje sama, potom je třeba akční veličinu změnit a akční zásah Δu(k) bude nenulový. Jeho velikost a znaménko závisí na znaménku a velikosti regulační odchylky e(k) a její změny Δe(k). 23
e Tabulky pravidel Δe NB NS ZO PS PB NB NB NB NB NS Z NS NB NB NS Z PS ZO NB NS Z PS PB PS NS Z PS PB PB PB Z PS PB PB PB 24
Implementace MATLAB Fuzzy logic toolbox Fuzzy logic controller Fuzzy logic controller with Ruleviewer Příkaz fuzzy nebo fuzzy jmeno.fis -> FIS editor Příkaz fis_new = readfis('jmeno') -> import do workspace Implementace fuzzy logiky FIS editor (editor inferenčního systému regulátoru) Membership Function Editor (editor fci. příslušnosti) Rule editor (editor pravidel) Rule Viewer, Surface Viewer 25
Implementace MATLAB 26
FIS editor 27
Membership Function Editor 28
Rule editor 29
Rule Viewer 30
Surface Viewer 31
Příklad tvorby inferenčního systému Tvorba pomocí FIS editoru Možnost manuální editace Kontrola funkčnosti 32
Děkuji za pozornost