BIZONYTALAN ADATOK KEZELÉSE: FUZZY SZAKÉRTŐI RENDSZEREK Szakértői rendszerek, 14. hét, 2008
Tartalom 1 Bevezető 2 Fuzzy történelem A fuzzy logika kialakulása Alkalmazások Fuzzy logikát követ-e a világ? 3 Fuzzy halmazelmélet Éles halmazok Fuzzy halmazok Fuzzy alapfogalmak Műveletek fuzzy halmazokon Fuzzy relációk 4 Fuzzy rendszerek Fuzzy szakértői rendszerek Fuzzy irányítási rendszerek 5 Fuzzy algoritmusok Fuzzy algoritmusok komplexitása
Bevezető Fuzzy jelentése: homályos, ködös, életlen, bizonytalan. Nyugaton az ókortól kezdve az igaz-hamis logika elterjedt. A precíz fogalmak azonban nem alakalmasak pontatlan meghatározások kezelésére. Pl: a homokkupac definíciója. Nyugaton a XX. századra kialakulnak a többértékű logikák is. Keleten viszont szinte az összes vallásban jelen van a kezdetek óta. Az ilyen, részben igaz állításokat megengedő logika a fuzzy logika.
A fuzzy logika kialakulása A fuzzy logika kialakításában a legnagyobb motivációt a műszaki feladatok jelentették. 1960: Zadeh professzor veti fel a fuzzy halmazelmélet szükségességét. Vegyes reakciók: felesleges, értelmetlen, gyakorlatban haszontalan. 1965-től a fuzzy témájú publikációk száma mégis exp. növekszik. Zadeh, 1973: ha-akkor szabálybázisok és fuzzy halmazok összekapcsolása, fuzzy következtető módszer Mamdani, 1975: A módszert hatékonnyá, gyakorlatban is alkalmazhatóvá teszi.
Alkalmazások Hamar megjelentek az első ipari alkalmazások: 1975, Budapest: magyar amerikai Alakfelismerési szeminárium, képfeldolgozási alkalmazások 1984: Megalakul az IFSA: Nemzetközi Fuzzy Rendszerek Szövetség. 1987-től: Japán fuzzy aranykor. Háztartási gépek, fogyasztói elektronika. USA: Űrkutatás, haditechnika: Sivatagi vihar, Patriot rakéták. Európa: Itt inkább elméleti eredmények születtek.
Alkalmazások További sikeres alkalmazások: Orvosbiológia: Altatás irányítása, Dialízis irányítása, Diagnosztikai döntéstámogatás. Pénzügy: Biztosítási kockázatfelismerés, Portfólióválasztás, Pénzügyi előrejelző rendszerek.
Fuzzy logikát követ-e a világ? Az emberi gondolkodásban, cselekvésben természetes módon jelen van a pontatlanság, bizonytalanság. A homokkupac természetes nyelven alkotott fogalom. Autóban a gáz- vagy fékpedál nyomása is csak hozzávetőleges. Az alapszínek határai különböző nyelvekben máshol húzódnak. Sok ősi nyelvben a kék és zöld nem is különül el. Keleti vallások: taoizmus, buddhizmus, stb. Persze nem minden fuzzy. Kinek van jogosítványa? Van vagy nincs (0 vagy 1) éles (crisp) halmaz. Ki mennyire tud autót vezetni? Rosszul, jól, nagyon jól ([0,1] intervallum) fuzzy halmaz.
Éles halmazok Egy éles halmaz az alábbi három módon adható meg: Elemei felsorolásával (ha véges): A = {1, 2, 4, 8, 16,... }. Az elemekre teljesülő szabállyal: A = {x X x = 2n, n Z}, ahol X az alaphalmaz. Karakterisztikus { függvényével: 1, ha x A χ A (x) = 0, ha x / A Halmazműveletek: komplemens, metszet, únió. Halmazelméleti azonosságok: kommutativitás, asszociativitás, disztributivitás, idempotencia, elnyelés, De Morgan szabályok, stb.
Fuzzy halmazok A karakterisztikus függvény általánosítása a µ A : X [0, 1] tagsági függvény. Az így definiált halmaz a fuzzy halmaz. Alkalmas a bizonytalan határokkal rendelkező természetes nyelvi fogalmak reprezentálására, pl. magas, alacsony, fiatal, idős, stb. Az egyes fogalmak különböző tagsági függvényekkel modellezhetők. Pl. körülbelül 2 :
Fuzzy halmazok általánosítása A fuzzy halmaz értéke lehet: Intervallum: Nem mindig ismert a pontos tagsági érték. Az a elem tagsága valamilyen [α 1, α 2 ] korlátok között van. Fuzzy halmaz: Minden elem értéke maga is fuzzy halmaz. Ezek a másodfajú fuzzy halmazok.
Fuzzy halmazok általánosítása Másfajta általánosítás: A fuzzy halmaz X alaphalmaza maga is lehet fuzzy. Így egy fuzzy alaphalmaz elemeihez is rendelhető tagsági érték. Ezek a 2-es szintű fuzzy halmazok. A másod-, harmad-, stb. fajú, és 2-es, 3-as, stb. szintű fuzzy halmazok kombinálhatók is. Gyakorlatban nem jelentősek a nagy számítási igény miatt.
Fuzzy halmazok tulajdonságai α-vágat: Az α-nál nagyobb tagsági értékű x elemek összessége: A α = {x µ A (x) α}. Szigorú α-vágat: Egyenlőséget nem megengedő α-vágat. Szinthalmaz: Az összes lehetséges α-vágat halmaza. Lényeges α-vágat: Olyan α-vágat, amely a tagsági függvény töréspontjához tartozik. Speciális α-vágatok: A fuzzy halmaz tartója: Ez a 0-nál nagyobb tagsági értékű elemek összessége. supp(a) = {x µ A (x) > 0}. A fuzzy halmaz magja: Ez az 1 tagsági értékű elemek összessége. core(a) = {x µ A (x) = 1}.
Fuzzy halmazok tulajdonságai Magasság: A tagsági ( függvény legnagyobb értéke (supremuma). h(a) = sup x X µa (x) ). Ha a magasság 1, akkor a fuzzy halmaz normális, ha kisebb, akkor szubnormális. Konvexitás: Egy fuzzy halmaz konvex, ha minden α (0, 1]-re az α-vágata konvex. Jelölés: A = n i=1 a i/x i, vagy ha X valós intervallum: A = X µ A(x)/x.
Műveletek fuzzy halmazokon A hagyományos halmazműveletek Zadeh-féle fuzzy általánosítása: Komplemens: µ A (x) = 1 µ A (x). Egyensúlyi pont: Azok az x elemek, melyekre µ A (x) = µ A (x). Únió: (µ A µ B )(x) = max ( µ A (x), µ B (x) ). Metszet: (µ A µ B )(x) = min ( µ A (x), µ B (x) ). Aggregációs operátorok: Több fuzzy halmaz egyesítését végzik: µ A (x) = h ( µ A1 (x),..., µ An (x) ). Általános hatványközép: h α (a 1,..., a n ) = ( 1 n (aα 1 + + aα n ) ) 1 α. OWA: h w (a 1,..., a n ) = n i=1 w ia i, ahol a 1,..., a n csökkenő sorrendben van, és n i=1 w i = 1. A halmazműveletek és aggregációk többféleképpen általánosíthatók.
Fuzzy relációk A relációk halmazok elemei közötti kapcsolatot írnak le. Két elem vagy relációban van, vagy nem. A fuzzy relációk megengedik, hogy a reláció mértéke tetszőleges 0 és 1 közötti szám lehessen. Egy fuzzy reláció az X és Y alaphalmazokon egy fuzzy halmaz az X Y alaphalmazon, így szintén tagsági függvénnyel írható le. A relációk osztályozhatók a relációban lévő halmazok száma szerint. Pl. két halmaz esetén bináris.
Hagyományos szakértői rendszerek A szakértői rendszerek az emberi szakértő következtetési folyamatát emulálják. Általában ha-akkor típusú szimbolikus szabályokból felépülő tudásbázist alkalmaznak. A szabályok alapja a kétértékű logika, implikációként értelmezhetők. Hátrány: Sok esetben folytonos értékkészletű, vagy analóg változókkal kell dolgozni. A leíráshoz végtelen sok szabály kellene, így diszkrét intervallumokra osztják az értékeket. A szabályokban az intervallumok legtipikusabb értéke szerepel. Fuzzy esetben a tipikus értékek között interpoláció lehetséges, így kevesebb szabály kell.
Fuzzy szakértői rendszerek felépítése
Fuzzy szakértői rendszerek felépítése Tudásbázis: Szakterülettel kapcsolatos tudást tartalmazza (hosszú távú memória). Az információt fuzzy produkciós szabályok hordozzák: Ha A akkor B. Adatbázis: Kommunikáció adatait, vagy a feladat paramétereit tárolja (rövid távú memória). Következtető gép: A tények és a szabályok segítségével fuzzy következtetést végez. Adatvezérelt: A tényeket a szabályok feltétel részére illeszti (előre haladó). Célvezérelt: A célt és a szabályok következmény részét illeszti (visszafelé haladó). Metaszabálybázis: Leállási feltételeket, szabályok közti precedenciát tartalmazhat, vagy a kommunikációt segíti. Kommunikációs felület: A felhasználó és a rendszer kapcsolatáért felel, esetleg magyaráz is.
Fuzzy irányítási rendszerek felépítése
Fuzzy irányítási rendszerek felépítése Fuzzy szabálybázis: Ha a bemenet A, akkor a kimenet B típusú szabályokból áll. A szabályok szubszimbolikus információt is hordoznak, a tagsági függvények formájában. Illeszkedési mértéket meghatározó egység: A szabályok előzmény részét illeszti a megfigyelt tény tagsági függvényére. Ha egy szabály tüzel, akkor meghatároz hozzá egy illeszkedési mértéket. Következtető gép: Kiértékeli a tüzelő szabályokat, figyelembe véve az illeszkedési mértékeket. Kimenete egy tagsági függvény. Defuzzifikáló egység: Ha kimenetként éles jelre van szükség, akkor a kapott tagsági függvényből ezt előállítja.
A szabálybázis, mint fuzzy reláció A fuzzy szabályok fuzzy relációként adhatók meg. Ha µ A (x), x X az előzmény, és µ B (y), y Y a következmény, akkor a fuzzy szabály-reláció tagsági függvénye µ R (x, y) = µ A (x) µ B (y). Jelölése: R : A B. A szabálybázisban lévő összes szabály uniója a fuzzy szabálybázis-reláció.
Nyelvi változók A nyelvi változó kifejezést Zadeh vezette be. Értékei természetes nyelvi szavak, kifejezések lehetnek. Három féle értelmezése lehet egy tagsági függvénynek: 1 Hasonlóság, közelség a maghoz (prototípus elemekhez). 2 Szubjektív valószínűség eloszlású bizonytalan állapotok. 3 Rugalmas feltételek teljesülésének mértéke (igen-nem finomítása). Fuzzy irányítási rendszerekben mindhárom értelmezés helyet kap: 1 Nyelvi változók létrehozásakor. 2 Szabályok megalkotásakor. 3 Megfigyelt tény fuzzy halmazzá alakításakor.
Fuzzy partíciók Nyelvi változó definiálásakor fontos, hogy halmazai lefedjék az alaphalmazt (minden megfigyelésből lehessen következtetni). Ha egy halmazcsalád teljesíti ezt a feltételt, akkor fuzzy partíciónak nevezzük. Lényeges az alaphalmaz megválasztása is. Tartalmazzon minden lehetséges megfigyelést, és a lehető legkevesebb fuzzy halmazzal fedjük le. Az előzmény partíció számosságával (szabályok számával) a végrehajtási idő és a tárigény exp. nő, a nyelvi címkék kifejező ereje pedig csökken.
Fuzzy következtetés (Zadeh) A Zadeh-féle módszer a szabálybázist és a megfigyelt tényt fuzzy relációként értelmezi. A következtetés a két reláció kompozíciójaként áll elő. A módszer hátránya, hogy nagy számításigényű.
Fuzzy következtetés (Mamdani) A Mamdani-féle módszer jóval egyszerűbb, bár pontatlanabb lehet. Többdimenziós bemenetnél minden dimenziót függetlenül számol. Az A j megfigyelés és a szabályok A j,i előzményének illesztésével [ meghatároz egy w j,i illeszkedési mértéket: w j,i = max min ( µ A j (x j ), µ Aj,i (x j )) ]. Az összes dimenzióra nézve veszi ezek minimumát: w i = min j (w j,i ). A szabály B i következmény részét w i magasságban csonkolja.
Fuzzy következtetés (Mamdani) Az összesített következtetés az egyes szabályokra vett következtetések uniója: µ B (y) = max i ( µbi (y) ). Lényegében több szabály következtetésének illeszkedési mértékkel súlyozott átlaga.
Defuzzifikációs módszerek A gyakorlatban sokszor éles kimenet kell, így ki kell választani a fuzzy halmazt legjobban jellemző értéket. Súlypont módszer (COG): A jellemző pont a fuzzy halmaz súlypontja lesz, ami a részkonklúziók súlypontjának átlaga. Leggyakrabban használt, mert háromszög és trapéz alakú szabályokon könnyen számolható. Minden illeszkedési mértéknek hatása van a kimenetre. Hátránya, hogy olyan értéket adhat, ahol a következmény tagsági értéke nulla. Geometriai középpont módszer (COA): Míg a COG módszer az átlapolt területeket többször számolja, a COA csak egyszer. Bonyolult tagsági függvényeknél igen nehéz számolni.
Defuzzifikációs módszerek Maximumok közepe módszer (MOM): A defuzzifikált érték a legmagasabb tagsági értékű elemek halmazának középértéke (átlaga). Előnye, hogy egyszerűen számolható. Hátránya, hogy nemfolytonos irányítási függvényt eredményez, mivel a kimenet ugrálhat a különböző szabályok között. Középső maximum módszer (COM): Azok közül az elemek közül választja a középsőt, melyek tagsági értéke a tagsági függvény magassága. Előnye és hátránya megegyezik a MOM módszerével.
Fuzzy algoritmusok komplexitása Ha a bemenetünk k dimenziós, és az alaphalmaz lefedéséhez minden dimenzióban legfeljebb T fuzzy halmazt használunk, akkor a teljes X k alaphalmaz lefedéséhez O(T k ) szabály kell. A Zadeh-féle algoritmus időbonyolultsága: O(T 2k+1 ). A Mamdani-féle algoritmus időbonyolultsága: O ( (k + 1)T k+1). Módszerek az exponenciális bonyolultság csökkentésére: Ritka szabálybázisok: A bemenetnek van olyan pontja, melyhez nem rendelhető szabály. Fuzzy szabályinterpoláció: A szomszédos szabályok segítségével közelítő következtetést határozunk meg. Hierarchikus szabálybázisok: Ha lokálisan a változók egy része is elég a kellő pontosság eléréséhez, akkor az állapottér partícionálható.
Fuzzy algoritmusok komplexitása Példa ritka szabálybázisra: