Fuzzy množiny, Fuzzy inference system
Proč právě fuzzy množiny V řadě případů jsou parametry, které vstupují a ovlivňují vlastnosti procesu, popsané pomocí přibližných nebo zjednodušených pojmů. Tedy parametry nelze popsat v přesně daných pojmech, ale musíme použít vágnější popis. Právě užití fuzzy množin je výhodné pro popis a práci s těmito vágními výrazy. Například u stanovení diagnózy se bere v úvahu intenzita bolesti, kterou pacient pociťuje. U metod založených na fuzzy přístupu lze na základě vágních popisů, popřípadě s pomocí naměřených dat vyjádřit hledanou závislost. K tomu se využívá Fuzzy Inference Systém (FIS), který je založen na pojmech: fuzzy množina jazyková proměnná znalostní pravidla
Nechť U je třída, kterou budeme nazývat univerzum. V dalším textu předpokládáme, že U je množina. Nechť L = (L,,, 1, 0) je úplný nekonečně distributivní reziduovaný svaz. Tento svaz popisuje stupně příslušnosti prvku x U do fuzzy množiny. Ve většině praktických aplikací se předpokládá, že L = 0, 1, ale obecně však nemusí být svaz L řetězcem. Fuzzy množinou A se rozumí dvojice (U, A ), kde U je univerzum a A : U L je funkce popisující příslušnost prvků z U do fuzzy množiny A. Příslušnost prvku x U do fuzzy množiny A označíme A (x). Označme F L (U) třídu všech fuzzy množin nad univerzem U a s hodnotami funkce příslušnosti ve svazu L. Pro svaz L = ( 0,1, max, min,1,0) označíme třídu všech fuzzy množin pouze F(U).
Fuzzy množinou A se rozumí dvojice (U, A ), kde U je univerzum a A : U 0,1 je funkce popisující příslušnost prvků z U do fuzzy množiny A. Tuto příslušnost označíme A (x). Fuzzy množina je zobecnění klasické množiny, neboť pro příslušnost u klasické množiny A platí A : U {0, 1} a x A A (x) = 1 a x A A (x) = 0. Příklad různých fuzzy množin: 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 9 10
Nosič fuzzy množiny A je klasická množina: Supp(A) = {x U; A (x) 0}. Jádro fuzzy množiny A je klasická množina: Ker(A) = {x U; A (x) = 1}. Fuzzy množina A se nazývá normální, jestliže Ker(A). Výška fuzzy množiny A: Hgt(A) = sup x U { A (x)}. Fuzzy množina A se nazývá konvexní, jestliže U je lineární prostor a pro každé dva prvky x, y U a 0, 1 platí: A ( x+(1- )y) A (x) A (y). -řez fuzzy množiny A, kde L, je klasická množina A ={x U; A (x) = }. Pro L = 0, 1 lze psát: A = {x ; A (x) }. Striktní -řez fuzzy množiny A, kde L, je klasická množina A + = {x; A (x) = a A (x) }. Pro L = 0, 1 lze psát: A + = {x U; A (x) }. -hladina fuzzy množiny A, kde L, je klasická množina A = {x U; A (x) = }.
Dále se omezíme na svaz typu: L = 0,1, max, min, 1, 0. Nechť A, B jsou fuzzy množiny: A = (U, A ), B = (U, B ). Prázdná fuzzy množina nad univerzem U značíme a definujeme: = (U, ), kde (x) = 0 x U. Fuzzy množiny A a B jsou si rovny: A = B A (x) = B (x) x U. Fuzzy množina A je fuzzy podmnožinou fuzzy množiny B: A B A (x) B (x) x U. Sjednocení fuzzy množin A a B: A B = (U, A B ), kde A B (x) = max{ A (x), B (x)} x U. Průnik fuzzy množin A a B: A B = (U, A B ), kde A B (x) = min{ A (x), B (x)} x U. Doplněk fuzzy množiny A: com(a) = (U, com(a) ), kde com(a) (x) =1 A (x) x U.
Pro fuzzy množiny lze definovat řadu dalších operací. Např.: Algebraický součin fuzzy množin A a B: A B = (U, A B ), kde A B (x) = A (x) B (x) x U. Algebraický součet fuzzy množin A a B: A + B = (U, A+B ), kde A+B (x) = A (x)+ B (x) A (x) B (x) x U. Násobení konstantou 0, 1 : A = (U, A ), kde A (x) = A (x) x U. Mocninu fuzzy množiny A: n N, A n = (U, ), kde (x) = An (x) x U. t norma Minimová (též: Gödelova) t-norma: p & G q = min(p, q) Součinová t-norma: p & S q = p * q Łukasiewiczova t-norma: p & Ł q = max(0, p + q - 1) t - konorma
Nechť A i = (U i, Ai ), kde i = 1, 2,..., n jsou fuzzy množiny. Kartézský součin fuzzy množin je fuzzy množina A 1 A 2... A n = (U 1 U 2... U n, A 1 A 2... A n ), kde (x 1, x 2,..., x n ) = min{ A1 (x 1 ), A2 (x 2 ),..., An (x n )}. A 1 A 2... A n Nechť U i, i = 1, 2,..., n, jsou univerza. Pak fuzzy relací na U = U 1 U 2... U n se rozumí fuzzy množina R nad univerzem U. Nechť R a S jsou fuzzy relace: R = (U 1 U 2, R ) a S = (U 2 U 3, S ). Pak kompozici fuzzy relací definujeme: R S = (U 1 U 3, R S ), kde R S (x 1, x 3 ) = sup min{ R (x 1, x 2 ), S (x 2, x 3 )}. x U 2 2
Binární fuzzy relace na U je fuzzy relace R = (U U, R ). Binární relace R je reflexivní, jestliže x U platí: R (x, x) = 1. Pro reflexivní relaci platí: R R R. Binární relace R je symetrická, jestliže x, y U platí: R (x, y) = R (y, x). Binární relace R je tranzitivní, jestliže x, z U platí: R (x, z) sup y U min{ R (x, y), R (y,z)}. Pro tranzitivní relaci R platí: R R R. R R... R Nechť R m =. Pak tranzitivní uzávěr relace R je fuzzy relace R t : m krat R t = R R 2... R m... Je-li U konečná množina, Card(U) = n, pak existuje k n, že R t = R R 2... R k. Pokud navíc je R reflexivní, pak R t = R k. Fuzzy relace, která je reflexivní, symetrická a tranzitivní, se nazývá relace podobnosti.
Důležitý pojem, který umožňuje převést operaci z klasických množin na operaci ve fuzzy množinách je princip rozšíření. Nechť U a V jsou univerza, f: U V funkce a A je fuzzy množina na U. Pak fuzzy množina A indukuje fuzzy množinu f(a) na univerzu V: f(a) =(V, f(a) ), kde f(a) (y) = sup { A (x)} a f(a) (y) = 0, pokud neexistuje x U takové, že y = f(x). Pokud máme funkci f : U 1 U 2... U n V a A i je fuzzy množina na U i ( A i = (U i, ) ), pak fuzzy množina f(a 1, A 2,..., A n ) nad univerzem V má funkci příslušnosti: (y) = sup min{ (x 1 ), (x 2 ),..., (x n )} ( x1, x2,..., xn ) U 1 U2... Un ; y f ( x, x,..., x ) 1 2 n x U ; y f ( x)
Fuzzy číslo A je fuzzy množina na universu reálných čísel, která je určena čtveřicí bodů ( a (1), a (2), a (3), a (4) ) a po částech souvislou funkcí příslušnosti s následujícími vlastnostmi: a (1) a (2) a (3) a (4) je rovna nule pro x a (1) a x a (4) je rovna jedné pro a (2) x a (3) je rostoucí na a (1), a (2) a klesající na a (3), a (4) A (x) 1 1 0 a(1) a(2) a(3) a(4) x 0 a(1) a(2) a(3) x
Fuzzy inference systém nejčastější použití fuzzy množin je založen na pojmech - fuzzy množina - jazyková hodnota a jazyková proměnná - přibližné usuzování - defuzzikace
Jazyková proměnná Častým využitím fuzzy množin je popis slovních výrazů a jejich spojení do tvrzení. K tomu slouží jazyková proměnná a její hodnoty. Hodnotami jazykové proměnné jsou slova, jež jazykovou proměnnou charakterizují. Jazyková hodnota je popsána fuzzy množinou (význam jazykové hodnoty). Například pro jazykovou proměnnou věk můžeme definovat tři jazykové hodnoty: mladý, střední, starý. Každou tuto jazykovou hodnotu je třeba popsat vhodnou fuzzy množinou. Možné volby významu jazykových hodnot a jejich významu:
Znalostní pravidla FIS se skládají z více pravidel přibližného usuzování. Přibližné usuzování je zobecněním implikace. Příklad přibližného usuzování: jestliže věk=střední a pohyb=málo, pak tloušťka=velká, kde věk, pohyb, tloušťka jsou jazykové proměnné a střední, málo, velká jsou příslušné jazykové hodnoty. Vyhodnocení přibližného usuzování se provádí pomocí fuzzy množin, kterými jsou jazykové hodnoty popsány. Nechť M(jazyková hodnota) je význam jazykové hodnoty ve tvaru fuzzy množiny. Pak význam přibližného usuzování je dán fuzzy relací: M( ) = M(střední) M(málo) M(velká) Odezva přibližného usuzování na vstup (např. věk=mladý, pohyb=středně) je ve tvaru složení fuzzy relací: (M(mladý) M(středně)) M( ) Výsledkem je fuzzy množina popisující hodnotu tloušťky.
FIS Fuzzy Inference Systém (fuzzy regulátor). Základ FIS je souhrn pravidel přibližného uvažování. Podle tvaru pravidel rozlišujeme FIS na Mamdani a Sugeno (Takagi-Sugeno) Pravidla FIS typu Mamdani jsou popsána výhradně pomocí fuzzy množin. U FIS Sugeno je pravá strana pravidel popsána pomocí předem zvolené funkce. Pro definování FIS je třeba zvolit: - počet vstupních a výstupních jazykových proměnných -pro každou proměnnou počet a tvar předdefinovaných hodnot, které lze je uvažovat jako vzorové vstupy (výstupy) - znalostní pravidla
Pod pojmem Fuzzy Inference Systém (FIS) rozumíme výrok: = 1 jinak 2 jinak... jinak K, kde 1, 2,.., K jsou výroky ve tvaru pravidel přibližného usuzování. Tyto výroky nazýváme pravidla FIS, ta jsou definována pomocí předdefinovaných vstupních a výstupních hodnot. Každé pravidlo určuje vztah mezi zvolenými vstupními a výstupními hodnotami. Význam výroku (význam FIS) se většinou uvažuje jako sjednocení významu jednotlivých pravidel. Jako vstupy do FIS budeme uvažovat libovolné fuzzy množiny. Tyto fuzzy množiny jsou porovnány se vstupy do jednotlivých pravidel a podle podobnosti je určen výstup z pravidel ve tvaru fuzzy množin. Jejich sjednocením dostáváme výstup z FIS (reakci FIS na vstup). V mnoha případech nepožadujeme jako výstup z FIS fuzzy množinu, ale konkrétní hodnotu v V, tj. provádíme defuzzifikaci. Nejčastěji používanou metodou defuzzifikace je centroidní metoda.
Pokud se provede simulace číselných vstupů a k nim se přidá defuzzifikace výstupu FIS, lze reakci FIS na číselné vstupy zobrazit ve tvaru FIS plochy (křivky). Tato plocha, a nikoli celý FIS, bývá implementována v zařízeních obsahujcí fuzzy logiku ( fotoaparáty, pračky, ). Příklady ploch FIS Mamdani (Sugeno):