Neklasické logiky III Fuzzy logika, logické spojky a Mamdaniho regulátor Priesvitka 1 Logické spojky Vzťah medzi klasickou dvojhodnotovou logikou a teóriou (crisp) množín je veľmi blízky, jednotlivé množinové operácie môžu byť vyjadrené pomocou logických spojok (pozri obr. 11.1): (1) konjunkcia - A n B (2) disjunkcia - A u B (3) negácia - A = def {x; (4) implikácia - A u B =def { X; ( X g A )A( X g B )} =def {X;(X g A)V(X g B)} -(X g A)} =def ^(x g U)(X g A =^> X g B) Priesvitka 2 Priradenie medzi množinovými operáciami a výrokovými spojkami konjunkcie, disjunkcie, implikácie a negácie. (AaB)=J4 (AnB) (AvB)=lr/(AuB) (A^B)=A/(A^B)=A/ (AuB) Priesvitka 3 Predpoklad fuzzy logiky Fuzzy logika je založená na predpoklade, že každému výroku p je priradená pravdivostná hodnta val (p) g [0,1] z uzavretého intervalu [0,1]. Fuzzy negácia. Fuzzy negácia je unárna operácia — :[0,1] —[0,1], ktorá vyhovuje týmto podmienkam ——p = p val (p) < val (q) => val (—p) > val (—q) Priesvitka 4 Fuzzy konjunkcia Fuzzy konjunkcia je binárna operácia a :[0,1]2 —»[0,1], ktorá vyhovuje týmto podmienkam (1) komutatívnosť p a q = q a p (2) asociatívnosť p a (q a r ) = (p a q)a r (3) okrajová podmienka - identita p a 1 = p (4) val (q) < val (r ) val (p a q) < val (p a r ) va/ (p a g) = min {val (p)val (q)} Priesvitka 5 Fuzzy disjunkcia Fuzzy disjunkcia je binárna operácia a :[0,1]2 [0,1], ktorá vyhovuje týmto podmienkam (1) komutatívnosť p v q = q v p (2) asociatívnosť p v(q v r ) = (p v q)v r (3) okrajová podmienka - identita p v 0 = p (4) val (q) < val (r ) => val (p v q) < val (p v r ) val (p v q) = max {val (p)val (q)} Operácie konjunkcie a disjunkcie sú duálne vzhľadom k operácii štandardnej negácie (De Morganove vzťahy). Priesvitka 6 Fuzzy implikácia Fuzzy implikácia je binárna operácia => :[0,1]2 —» [0,1], ktorá vyhovuje týmto okrajovým podmienkam val (p = >q ) = < 1 0 (pre (val (p ) = 0 ) alebo (val (q ) = 1)) (pre val (p) = 1a val (q) = 0) val (p = min {1,1 - val (p) + val (q)} < r 1 (val (p)< val (q)) 1 -v val (p) + val (q) (ináč) Priesvitka 7 3D grafy logických spojok vo fuzzy logike o 0.5 konjunkcia 0.5 implikácia 0.5 disjunkcia ekvivalencia (p = q)=def (p => q)A(q => p) Priesvitka 8 • Implikácia bola pôvodne Zadehom špecifikovaná pomocou negácie a disjunkcie, (p =^> q) = def (—p v q). Tento jednoduchý prístup je skoro nepoužiteľný, pretože produkuje fuzzy logiku veľmi chudobnú, kde skoro neexistujú tautológie. Tento nedostatok je odstránený tým, že používane implikáciu zavedenú do logiky Lukasiewiczom v jeho 3-hodnotovej logike. • Závažný problém fuzzy logiky je systematické a úplné určenie pravdivostných hodnôt formúl pre dve alebo viac výrokových premenných. Formula fuzzy logiky s n premmenými p1,p2,...,pn sa môže chápať ako funkcia n premenných definovaná na hyperkocke [0,1]n. • Funkcia - formula sa nazýva tautológia, ak sa rovná 1 pre ľubovolnú hodnotu argumentov, F(p,p2,...,pn) = 1, pre V(p,p2pn) g [0, 1]n. Priesvitka 9 F(p,q)=((pAq)^(pvq)) G(p,q)=((pVq)^(pAq)) Povrchy výrokových funkcií F(p,q) a G(p,q) pre spojité argumenty p,q<=[0,1]. Z priebehov týchto funkcií vyplýva, že funkcia F(p,q) je tautológia, zatiaľ čo, funkcia G(p,q) nie je tautológia. Priesvitka 10 Sémantické tablá pre formuly fuzzy logiky {pAq)^> (pvq)=1 (pAq)<(pvq) min {p, q} (p v q) (pvq)^(pAq)=1 (pvq)<(pAq) q

(p A q) F ( p,q) = 1 y p,q e[ 0 ,l] G (p, q) = 1 (len pre p = q) Priesvitka 11 Príklad pA(p^>q)q} (p=>q)=>q))=l p<(p^>q)^>q p<1 0.5 p<1-(p^>q)+q p+q<0 q=0 p=0 q=0 Priesvitka 12 0 0 Usudzovanie vo fuzzy logike V klasickej logike je jedným zo základných modov usudzovania pravidlo modus ponens p p == q q Táto schéma môže byť verbálne formulovaná takto ak p je pravdivý výrok a ak p => q je pravdivá implikácia, potom q je pravdivý výrok Modus ponens môže byť alternatívne vyjadrený pomocou výrokovej formuly -tautológie p ==((p == q )=> q ) Priesvitka 13 Pri fuzzy odvodzovaní dôležitým pojmom je jazyková premenná, ktorý bol zavedený Zadehom [xx]. Jazyková premenná je taký typ premennej, ktorej hodnoty sú slová z prirodzeného jazyka. Ako ilustračný príklad jazykovej premennej uvedieme vek, ktorej hodnoty sú špecifikované slovnými hodnotami mladý, stredný a starý. Definícia. Jazyková (lingvistická) premenná je určená usporiadanou štvoricou (X,T (X ) ,U,M ) kde X je meno jazykovej premennej, T (X ) = { A,B,...} je množina slovných hodnôt jazykovej premennej, U je univerzum jazykovej premennej, pričom každá slovná premenná A g T(X) je špecifikovaná fuzzy množinou A = {(x,]iA (x)); x g U}, súbor týchto fuzzy množín tvorí množinu M. Priesvitka 14 Príklad Študujme jazykovú premennú X=vek, definovanú nad univerzom rokov reprezentovaným množinou - uzavretým intervalom U =[0,100]. Množina slovných hodnôt obsahuje tri slovné hodnoty, T (vek ) = {mladý,stredný,starý}. Každá slovná hodnota je špecifikovaná fuzzy množinou s charakteristickou funkciou, tieto fuzzy množiny tvoria množinu M Priesvitka 15 Znázornenie zovšeobecneného modus ponens, ktorý na základe analógie s reláciou x e A x e B vytvára zo vstupnej slovnej premennej Ar výstupnú slovnú premennú B', pričom sa predpokladá, že slovné premenné A a Ar resp. B a Br sú si podobné. x A' y B' Priesvitka 16 • Uvažujme dve slovné premenné AeT(X) a BeT(Y) reprezentované príslušnými fuzzy množinami A = {(x, \xA (x)); x e u} a B = {(y,\ib (Y)); x e U}. • Stupeň pravdivosti fuzzy výroku ,x je A", formálne vyjadrený vzťahom „xeA", je popísaný charakteristickou funkciou \xA (x); podobne stupeň pravdivosti výroku „yeB" („y je B") je charakterizovaný charakteristickou funkciou \x B (x ). • Tieto dva fuzzy výroky ,xeA" a „yeB" sú vo vzájomnej (môžeme povedať príčinnej alebo asociačnej) relácii x e A x e B, podľa ktorej vlastnosť „xeA" je doprevádzaná výskytom vlastnosti „yeB" . Priesvitka 17 Zovšeobecnený modusponens v relačnom tvare je x e Ä x e A x e B x e B' kde A e T(X) a B'' e T( Y) sú nové slovné premenné, Budeme predpokladať, že nová slovná premenná Ar (fuzzy množina) je podobná pôvodnej slovnej premennej A, čo môžeme vyjadriť pomocou charakteristických funkcií napr. takto max ma (x) - mA' (x) < 5, kde 5 je dané malé kladné číslo. Tento predpoklad je veľmi dôležitý k odôvodneniu používania zovšeobecneného modus ponens ako nástroja pre odvodenie výstupnej novej slovnej premennej Br zo vstupnej slovnej premennej Ar pomocou relácii x e A x e B (analógie). Okrajová podmienka: A = A' =^ B = B' Priesvitka 18 Znázornenie zobrazenia fuzzy slovnej premennej A' na slovnú premennú Br pomocou fuzzy relácie R(x,y). y B' \ -« □ (xeA^yeB) =def Rc XxY 1 x A' Priesvitka 19 Rezultujúca charakteristická funkcia jLiB(y )je určená ako kompozícia charakteristickej funkcie \xA,( x) a charakteristickej funkcie jll R (x,y) fuzzy relácie R, ktorá reprezentuje vzťah x g A ^ x g B (kde symbol ^ znázorňuje fuzzy reláciu R) jll B, (y ) = max min {\iA, (x ) ,\xR (x,y )} alebo v zjednodušenom tvare B' = A' o R. Požadujeme, aby táto kompozícia vyhovovala „okrajovejpodmienke", ktorá požaduje, že ak A'=A , potom Br=B, t.j. L b (y ) = max min {jll a (x ) ,\i R (x, y Priesvitka 20 Realizácia relácie R (1) Lukasiewiczova implikácia R = iI (va (x),Vb (y)) = min j1,1 - va (x) + Vb (y)} Nevyhovuje podmienke A = Ä =^> B = B' (2) Štandardná konjunkcia (Mamdani, operácia min) R = va (x ) A vb (y ) = min {va (x) ,vb (y )} (3) Súčinová konjunkcia (Larsen, operácia súčin) R = Va (x) A Vb (y) = va (x) •Vb (y) Priesvitka 21 Kompozície B' = Ä o R pre tri rôzne špecifikácie relácie R A B C (A) Lukasiewics, (B) Mamdani a (C) Larsen Priesvitka 22 Konštrukcia relácie R pomocou Mamdaniho štandardnej konjunkcie Dokážeme, že pre tento typ relácie je okrajová podmienka kompozície splnená. juB (y) = maxmin{\iA, (x),min{juA (x),jlib (y)}} Táto formula môže byť jednoducho upravená použitím asociatívnosti operácie min UB' (y) = min^ maxmin{jlla, (x),jua (xB (y) w = min{w,ub (y)} kde w sa nazýva váha pravidla alebo stupeň zapálenia pravidla. Potom rezultujúca charakteristická funkcia jlib, (y) vyhovuje podmienke jlxb , (y) min[]iA, (xx),min[\xA (x),\xB (y)}} = min {min [ľ*A' (x)>VA (x)} >VB (y)} min {a ' ,min [a,b}} = min {min {a ' ,a} ,b} <^> asociativnosť operácie min min [a,b} = [ a,b ], potom [ a,[b,c]] = [[ a,b] ,c~J Priesvitka 24 (1) a' < a < b min < ď,min{a,b} l = min, potom ktoré používajú jazykové výrazy prirodzeného jazyka, pomocou ktorých špecifikujú vágnymi pojmami typické situácie vyskytujúce sa pri riadení daného zariadenia a ktoré vedú ku špecifickým aktom jeho riadenia. Priesvitka 27 Mamdaniho fuzzy regulátor patrí vo fuzzy logike medzi najjednoduchšie typy regulátorov, ktoré sú založené na zovšeobecnenom pravidle modus ponens. Uvažujme n pravidiel P : x g Ax ^y g Bx Pn: x g An g Bn nn y n Každé pravidlo môže byť alternatívne reprezentované príslušnou reláciou určenou podľa Mamdaniho vzťahu p : R1 = vr (x,y) = min{vA (x).Mb, (y)} Priesvitka 28 Potom celková relácia R vytvorená z parciálnych relácií Ri je formálne určená pomocou ich zjednotenia R = R u R2 u... u Rn, ktorej výsledná charakteristická funkcia je určená vzťahom Vr (x,y) = Mru...urn (x,y)= maxVr (x,y)= maxmin(x),\lbk (y)} Výstupná výroková premenná B(k) je určená ako odozva na vstupnú výrokovú premennú A v k-tom pravidle V B(k) (y ) = maxmin {v a , (x ) ,v Rk (x, y )} = maxmin {v a, (x ) ,min {v Ak (x ) ,v Bk (y )} maxmin {\xä (x),vAk (x)},V Bk (y) r = min (wk-v Bk (y)} = min < alebo formálne B(k) = A' o Rk. Priesvitka 29 Zjednotením (agregáciou) týchto parciálnych výstupných slovných premenných dostaneme výslednú výstupnú premennú U B' = U Ä o k=1 (k) k=1 Rk-- Ä k=1k Pomocou charakteristických funkcií tento vzťah prepíšeme do tvaru n b' (y) = = max {juB^ (y)} = max { min bk (y)}} i—► w(1) -► B(1) -* Ä -► —► W(2) -► B(2) -► —► VB (y ) = max {min [wk,\x Bk (y )}} = max jw/w (x0) ,|i Bk (y )}} Toto je charakteristická funkcia fuzzy výstupnej slovnej veličiny B', ktorá je odozvou Mamdaniho regulátora na vstupnú fuzzy veličinu A'. Môžeme určiť aj „crisp" výstupnú veličinu pomocou stredu oblasti ohraničenej charakteristickou funkciou m x) jy\x b' (y ) dy Y Priesvitka 34 Mamdaniho regulátor môžeme formálne chápať ako zobrazenie G (w): R — R ktoré vstupnej „crisp" veličine x0 e R priradí výstupnú „crisp" veličinu y0 e R. Z konštrukcie tohto zobrazenia G priamo vyplýva, že „okrajové podmienky", typu ak Ar=Ak, potom Br=Bk , sú splnené. Grafická interpretácia Mamdaniho regulátora ako zobrazenia Veta. Mamdaniho regulátor je univerzálny aproximátor, ľubovolná funkcia zadaná nekonfliktnou regresnou tabuľkou je aproximovaná s požadovanou presnosťou. i Priesvitka 35 Ilustračný príklad Mamdaniho regulátora -►v A1 A2 Auto A1 pohybuje sa v kolóne iných aut, pričom rýchlosť kolóny je v a vzdialenosť od predchádzajúceho auta je d, rýchlosť auta A2 je premenlivá v určitom rozsahu. Cieľ: Riadiť auto A1 tak, aby sme nenarazili do auta A2. Priesvitka 36 Ako budeme reagovať, ak auto A2 začne brzdiť. Budeme brzdiť aj my, algoritmicky situáciu popíšeme takto Ovládame dynamický systém, ktorý je tvorený autami A1 a A2. Naše riadenie tohto zložitého systému bude založené na dvoch vstupných veličinách: rýchlosti (v) a vzdialenosti (d), výstupom bude sila (F), ktorá keď je kladná reprezentujú akceleráciu (zmačknutie plynu), ak je záporná reprezentuje dekaceleráciu (zmakčnutie brzdy). ak Priesvitka 37 Rýchlosť v je popísaná jazykovou premennou, ktorej slovné premenné sú KW-skoro nulová, KM-malá, KS-stredná KK-veľká} Univerzum je interval [0,120], ktorý špecifikuje rýchlosť v km/hod Vzdialenosť d je popísaná jazykovou premennou obsahujúcej štyri jazykové hodnoty DW-skoro nulová DM-malá DS-stredná DK-veľká Univerzum je [0,100], ktorý špecifikuje vzdialenosť metroch Priesvitka 38 Sila F je popísaná jazykovou premennou so siedmimi jazykovými hodnotami NB-záporne veľká NM- záporne stredná NS- záporne malá ZO-nulová PS-kladne malá PM- kladne stredná PB- kladne veľká Univerzum je [-2000,2000], ktorý špecifikuje silu v Newtonoch. Priesvitka 39 Jazyková premenná rýchlosť v, jednotlivé jazykové hodnoty sú popísané 4-bodovými trapeizodami Uvn (v ) = trap (,0, 20,30) Ukm (v ) = trap (20,30,50,60) Uvs (v ) = trap (50, 60, 80,90) Uvv (v ) = trap (80,90,120,) Priesvitka 40 Jazyková premenná vzdialenosť d, jednotlivé jazykové hodnoty sú popísané 4-bodovými trapeizodami l DN (d ) = trap (,0,10,20) jl DM (d ) = trap (10, 20, 40,50) jll DS (d ) = trap (40, 50,60,70) |ll (d ) = trap (60, 70, 100,) 1-H-^ 100 Priesvitka 41 Jazyková premenná sila F, jednotlivé jazykové hodnoty sú popísané 4-bodovými trapeizodami H NB (F ) = trap (, -2000,-1500,-1000) HNM (F) = trap (-1500, -1000, -1000, -500) H NS (F ) = trap (-1000, 500,500, 0) H zo (f ) = trap (-500, 0, 0,500,) H ps (F ) = trap (0,500,500, 1000) H pB (f ) = trap (1000, 1500, 2000,) h(f) Priesvitka 42 Súbor pravidiel obsahuje 16 položiek Pi : ak (ve VN) a (deDN), potom ((FeZO) P2 : ak (veVM) a (deDN), potom ((FeNS) P 3 : ak (veVS) a (deDN), potom ((F e NM) P4 : ak (ve VV) a (de DN), potom ((Fe NB) P5 : ak (v e VN) a (de DM), potom ((FeNB) P6 : ak (v e VM) a (d e DM), potom ((FeZO) P7 : ak (veVS) a (d e DM), potom ((FeNS) P8 : ak (v e VV) a (de DM), potom ((Fe NM) P9 : ak (ve VN) a (deDN), potom ((FePM) P10 : ak (ve VMM) a (deDN), potom ((F e PS) Pn : ak (ve VS) a (deDN), potom ((FeZO) P12 : ak (ve VV) a (deDN), potom ((FeNS) P13 : ak (ve VN) a (deDV), potom ((FePB) P14 : ak (ve VM) a (deDV), potom ((FePM) P15 : ak (ve VS) a (deDV), potom ((F e PS) P16 : ak (veVV) a (deDV), potom ((FeZO) Priesvitka 43 Množina pravidiel VN VM VS VV DN i ZO 2 NS 3 NM 4 NB 5 6 7 8 DM PS ZO NS NM 9 10 11 12 DS PM PS ZO NS DV 13 PB 14 PM 15 PS 16 ZO Priesvitka 44 Graf znázorňujúci výsledky regulátora pomocou povrchu funkcie sily Príklad: rýchlosť v=40 a vzdialenosť d=50, z obrázku ľahko odvodíme, že je zapálené pravidlo P10, t.j. potom akcelerácia je určená slovnou hodnotou PS, čiže je kladne malá. Priesvitka 45 MEMENTO Priesvitka 46