Intelligens számítástechnikai modellek identifikációja evolúciós és gradiens alapú tanuló algoritmusokkal Ph.D. értekezés Botzheim János okleveles mérnök-informatikus Témavezető: Dr. Kóczy T. László egyetemi tanár, az MTA doktora Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Távközlési és Médiainformatikai Tanszék Budapest, 2007
Alulírott, Botzheim János kijelentem, hogy ezt a doktori értekezést magam készítettem és abban csak a megadott forrásokat használtam fel. Minden olyan részt, amelyet szó szerint, vagy azonos tartalomban, de átfogalmazva más forrásból átvettem, egyértelműen, a forrás megadásával megjelöltem. Az értekezés bírálatai és a védésről készült jegyzőkönyv megtekinthető a Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Karának Dékáni Hivatalában. Budapest, 2007. november 11. Botzheim János i
Köszönetnyilvánítás Ezúton fejezem ki köszönetemet témavezetőmnek, Kóczy László professzor úrnak, hogy kutatásaimat segítette, valamint lehetőséget adott arra, hogy az érintett tématerületek legnevesebb kutatói mellett folytathattam tanulmányokat. Köszönöm Antonio Ruanonak, a portugáliai Algarve egyetem professzorának, hogy irányításával folyamatosan segítette kutatásaimat és szakmailag komoly segítséget nyújtott. Köszönöm Cristiano Cabritának, az Algarve egyetem doktoranduszának a szakmai segítséget. Köszönöm Erich Peter Klement professzor úrnak, hogy többször fogadott a linzi Johannes Kepler egyetemen és segítette munkámat. Köszönöm Dr. Mario Drobics és Dr. Edwin Lughofer támogatását a Johannes Kepler egyetemen. Köszönöm Gedeon Tamás professzor úrnak, hogy több hónapra fogadott az Australian National University egyetemen Canberrában, ahol a vezetése alatt álló tanszéken tanulmányozhattam a legfrissebb kutatási eredményeket. Végül, de nem utolsó sorban, szeretnék külön köszönetet mondani családomnak a támogatásért. ii
Tartalomjegyzék 1. Bevezetés. Célkitűzések, módszerek, előzmények. 1 2. A számítási intelligencia fejlődésének és módszereinek áttekintése 8 2.1. Fuzzy rendszerek............................... 8 2.1.1. Fuzzy halmazok........................... 9 2.1.2. Alapműveletek fuzzy halmazokon.................. 10 2.1.2.1. Fuzzy komplemensek................... 11 2.1.2.2. Fuzzy metszetek...................... 12 2.1.2.3. Fuzzy uniók........................ 13 2.1.3. Fuzzy relációk............................ 14 2.1.4. Fuzzy szabályok........................... 14 2.1.5. Mamdani-típusú fuzzy következtető rendszerek........... 15 2.1.5.1. A szabálybázis....................... 15 2.1.5.2. Az illeszkedés mértéke.................. 16 2.1.5.3. A következtetés...................... 17 2.1.5.4. Defuzzifikáció....................... 17 2.1.6. Takagi-Sugeno-típusú fuzzy irányítási rendszerek.......... 18 2.2. Evolúciós algoritmikus módszerek...................... 19 2.2.1. Genetikus algoritmusok....................... 20 2.2.1.1. Gyakran használt fogalmak................ 20 2.2.1.2. Az algoritmus....................... 21 2.2.1.3. Az alkalmassági (fitnesz) függvény............ 22 2.2.1.4. Szelekció.......................... 22 2.2.1.5. Keresztezés........................ 22 2.2.1.6. Mutáció.......................... 23 2.2.1.7. Visszahelyettesítés..................... 23 2.2.1.8. Migráció.......................... 24 2.2.2. Genetikus programozás........................ 24 2.2.2.1. Keresztezés........................ 25 2.2.2.2. Mutáció.......................... 26 2.2.3. Bakteriális evolúciós algoritmusok.................. 27 2.2.3.1. Bakteriális mutáció.................... 27 2.2.3.2. Génátadás......................... 27 2.2.3.3. Összehasonlítás, paraméterek............... 28 iii
2.2.4. Fuzzy szabályoptimalizálás bakteriális evolúciós algoritmussal... 29 2.2.5. Egyéb módszerek........................... 31 2.3. Neurális hálózatok.............................. 31 2.3.1. Többrétegű perceptron........................ 32 2.3.2. Radiális bázisfüggvény hálózatok.................. 33 2.3.3. B-spline neurális hálózatok...................... 35 2.3.3.1. Normalizált bemeneti tér réteg.............. 35 2.3.3.2. A bázisfüggvények rétege................. 36 2.3.3.3. A súlyvektor réteg..................... 36 2.3.3.4. Almodulok......................... 36 2.3.3.5. B-spline neurális hálózatok tervezése........... 37 2.3.4. Más típusú neurális hálózatok.................... 37 2.3.5. Backpropagation eljárás....................... 38 2.3.6. Levenberg-Marquardt algoritmus.................. 39 3. Új módszerek és megközelítések az intelligens számítási modellek identifikációjában 41 3.1. Szabályredukciós operátorokkal kiegészített bakteriális evolúciós algoritmus alkalmazása.................................. 41 3.1.1. A javasolt algoritmus......................... 42 3.1.1.1. Szabályredukciós operátorok............... 44 3.1.1.2. Szabály megszüntetés................... 45 3.1.1.3. Szabály egyesítés..................... 46 3.1.1.4. Szemantikus elemzés................... 46 3.1.1.5. Szabály eltávolítás..................... 47 3.1.2. A módszer tesztelése......................... 47 3.2. A Levenberg-Marquardt algoritmus alkalmazása Mamdani-típusú fuzzy szabálybázis optimalizálására.......................... 49 3.2.1. A Jacobi-mátrix meghatározása................... 49 3.2.2. A módszer alkalmazása........................ 51 3.2.2.1. Referenciaproblémák................... 52 3.2.2.2. Hibadefiníciók....................... 53 3.2.2.3. Két paraméter optimalizációja............... 53 3.2.2.4. Az összes paraméter egyidejű optimalizációja...... 58 3.3. Bakteriális memetikus algoritmus alkalmazása Mamdani-típusú fuzzy szabálybázis optimalizálására.......................... 60 3.3.1. A javasolt algoritmus......................... 61 3.3.2. Az algoritmus alkalmazása...................... 62 3.3.2.1. Rögzített szabályszám................... 62 3.3.2.2. Változó szabályszám................... 70 3.4. Takagi-Sugeno-típusú fuzzy rendszerek paramétereinek optimalizálása... 72 3.4.1. A javasolt algoritmus......................... 73 3.4.1.1. A kódolási elrendezés................... 73 3.4.1.2. Kezdeti populáció..................... 74 iv
3.4.1.3. Antecedens tanulás.................... 74 3.4.1.4. Konzekvens tanulás.................... 76 3.4.2. Az algoritmus alkalmazása...................... 78 3.5. Bakteriális programozás alkalmazása B-spline neurális hálózatok identifikációjára..................................... 80 3.5.1. A javasolt módszer.......................... 80 3.5.1.1. A kódolási elrendezés................... 80 3.5.1.2. Az evolúciós folyamat................... 82 3.5.1.3. Bakteriális mutáció.................... 82 3.5.1.4. Génátadás......................... 83 3.5.1.5. A baktériumok kiértékelése................ 84 3.5.2. A módszer alkalmazása........................ 84 3.5.2.1. A bakteriális programozás paramétereinek meghatározása 84 3.5.2.2. A bakteriális és genetikus programozás összehasonlítása. 86 3.5.2.3. Statisztikai elemzés.................... 88 3.6. Feature kiválasztás bakteriális evolúciós algoritmusokkal.......... 92 3.6.1. A javasolt algoritmus......................... 93 3.6.1.1. A kódolási elrendezés................... 94 3.6.1.2. A baktériumok kiértékelése................ 94 3.6.1.3. Az evolúciós folyamat................... 94 3.6.1.4. Bakteriális mutáció.................... 95 3.6.1.5. Génátadás......................... 95 3.6.2. A módszer alkalmazása........................ 97 3.6.2.1. Sztochasztikus jellegű illeszkedési függvény....... 97 3.6.2.2. RENO optimalizáció................... 98 3.6.2.3. Döntési fa optimalizáció.................. 99 3.6.2.4. Változó hosszúságú baktériumok............. 100 4. Összefoglalás és kitekintés 103 Irodalomjegyzék 107 v
Ábrák jegyzéke 2.1. Példák tagsági függvényekre......................... 9 2.2. Emberek magasságának jellemzése fuzzy halmazokkal........... 10 2.3. Standard (Zadeh-féle) fuzzy műveletek.................... 11 2.4. Fuzzy következtető rendszer vázlata..................... 15 2.5. Illeszkedési mérték meghatározás...................... 16 2.6. Szabály következménye............................ 17 2.7. Teljes Mamdani-következtetés........................ 18 2.8. Példák defuzzifikációra............................ 19 2.9. Az evolúció folyamata egy maximumkeresési példában........... 21 2.10. A szelekció művelete............................. 23 2.11. A keresztezés operáció (bináris példa).................... 23 2.12. A keresztezés operáció (valós példa)..................... 24 2.13. A mutáció művelete.............................. 24 2.14. Példa program és a hozzátartozó kifejezésfa................. 25 2.15. A keresztezés operáció............................ 26 2.16. A mutáció művelete.............................. 26 2.17. Bakteriális evolúciós algoritmus....................... 28 2.18. A génátadás művelete............................. 29 2.19. A kódolási elrendezés............................. 30 2.20. Többrétegű perceptron (MLP)........................ 32 2.21. Egy neuron bemenetei és kimenete...................... 33 2.22. Radiális bázisfüggvény hálózat (RBF).................... 34 2.23. B-spline neurális hálózat........................... 35 2.24. Kétváltozós B-spline függvény........................ 37 3.1. A tagsági függvény paraméterei....................... 42 3.2. A kódolási elrendezés............................. 43 3.3. Kromoszóma a génátadásnál......................... 44 3.4. Tagsági függvény megszüntetése....................... 45 3.5. Tagsági függvények egyesítése........................ 46 3.6. Kezdeti szabálybázis a ph problémára.................... 54 3.7. Kezdeti szabálybázis az ICT problémára................... 54 3.8. LM módszer teljesítménye a ph problémára................. 55 3.9. BProp módszer teljesítménye a ph problémára............... 55 3.10. LM módszer teljesítménye az ICT problémára................ 56 vi
3.11. BProp módszer teljesítménye az ICT problémára.............. 56 3.12. A fuzzy rendszer paramétereinek alakulása................. 58 3.13. Az MSE érték fejlődése............................ 59 3.14. Bakteriális memetikus algoritmus...................... 61 3.15. A legjobb MSE értékű egyed cél- és hibaértékei az egyes mintákra a ph probléma esetén BEA használatával..................... 65 3.16. A legjobb MSE értékű egyed cél- és hibaértékei az egyes mintákra a ph probléma esetén BMA használatával..................... 66 3.17. MSE alakulása a ph probléma esetén.................... 66 3.18. MSE alakulása az ICT probléma esetén................... 67 3.19. MSE alakulása a 6 változós probléma esetén................. 68 3.20. Iteratív hibrid tanulási stratégia az antecedens és a konzekvens paraméterekre 75 3.21. Nemlineáris antecedens paraméterek kódolási elrendezése Takagi-Sugeno fuzzy rendszerekben............................. 75 3.22. Példa B-spline neurális hálózat kifejezésfájára................ 81 3.23. A függvény mutáció művelete........................ 83 3.24. A terminális mutáció művelete........................ 83 3.25. A génátadás művelete............................. 84 3.26. Cél- és hibaértékek a 6 változós problémára GP használatával........ 89 3.27. Cél- és hibaértékek a 6 változós problémára BP használatával........ 90 3.28. Tapasztalati valószínűségi eloszlásfüggvény a ph problémára........ 91 3.29. Tapasztalati valószínűségi eloszlásfüggvény az ICT problémára....... 91 3.30. Tapasztalati valószínűségi eloszlásfüggvény a 6 változós problémára.... 91 3.31. Minta baktérium................................ 95 3.32. A bakteriális mutáció művelete........................ 96 3.33. A génátadás művelete............................. 96 3.34. Szimulációs eredmények a második függvényre lineáris approximációt alkalmazva................................... 99 3.35. Szimulációs eredmények a második függvényre RENO-t alkalmazva.... 100 3.36. Szimulációs eredmények a második függvényre FS-ID3-t alkalmazva... 100 3.37. Szimulációs eredmények változó baktériumhosszra lineáris approximációt alkalmazva.................................. 101 vii
Táblázatok jegyzéke 3.1. Rögzített szabályszám............................ 47 3.2. A megszüntető paraméter (β) hatása..................... 48 3.3. Az eredmények összefoglalása a ph problémára............... 57 3.4. Az eredmények összefoglalása az ICT problémára.............. 57 3.5. A teljes fuzzy szabálybázis optimalizálása a ph problémára a Levenberg- Marquardt módszerrel és a Bakteriális Evolúciós Algoritmussal....... 59 3.6. MSE, MSRE és MREP átlagértékek a tanító és a tesztelési mintákra minden probléma esetén a BEA használatával.................... 63 3.7. MSE, MSRE és MREP átlagértékek a tanító és a tesztelési mintákra minden probléma esetén a BMA használatával.................... 63 3.8. Az MSE kritérium alapján az összes futtatás során talált legjobb egyed... 64 3.9. Az MREP kritérium alapján az összes futtatás során talált legjobb egyed.. 65 3.10. Hiba átlagértékek változó szabályszám esetén................ 71 3.11. Legjobb egyedek változó szabályszám esetén................ 71 3.12. Takagi-Sugeno fuzzy modellek identifikálására kapott eredmények..... 79 3.13. A BIC, MSE, MSRE, és MREP átlagértékei és a modellbonyolultság az N klón paraméter értékét változtatva...................... 85 3.14. A BIC, MSE, MSRE, és MREP átlagértékei és a modellbonyolultság az N inf paraméter értékét változtatva......................... 85 3.15. A két módszerben (genetikus és bakteriális) használt paraméter értékek.. 86 3.16. A BIC, MSE, MSRE, és MREP átlagértékei és a modellbonyolultság a ph problémára.................................. 87 3.17. Az összes futtatás során talált legkisebb BIC értékű egyedhez tartozó modellstruktúra a ph probléma esetén...................... 87 3.18. A BIC, MSE, MSRE, és MREP átlagértékei és a modellbonyolultság az ICT problémára.................................. 87 3.19. Az összes futtatás során talált legkisebb BIC értékű egyedhez tartozó modellstruktúra az ICT probléma esetén..................... 88 3.20. A BIC, MSE, MSRE, és MREP átlagértékei és a modellbonyolultság a 6 változós problémára.............................. 88 3.21. Az összes futtatás során talált legkisebb BIC értékű egyedhez tartozó modellstruktúra a 6 változós probléma esetén.................. 89 3.22. A BP-re és a GP-re vonatkozó statisztikai következmények a Mann-Whitney és a medián teszt módszerekkel........................ 90 3.23. Szimulációs eredmények illusztrációja.................... 98 viii
1. fejezet Bevezetés. Célkitűzések, módszerek, előzmények. A számítási intelligencia módszerek egyre jelentősebb szerepet játszanak a nagy bonyolultságú műszaki és más alkalmazott rendszerek modellezésében, irányításában és a velük kapcsolatos döntési, és optimalizációs feladatok végrehajtásában. Ma már ismertek olyan intelligens számítástechnikai modellek és technikák, amelyekkel az egyre nagyobb bonyolultságú modellezési, irányítási és optimalizációs feladatok hatékonyan végrehajthatók. Számos műszaki területen, mint például a folyamatirányítás, távközlés, logisztika témájában, és más alkalmazott tudományban sok olyan probléma van, amelyek klasszikus matematikai módszerekkel nem jól kezelhetők. A matematikailag nem jól kezelhetőséget többféle kategóriába sorolhatjuk. Az első csoportba azok a feladatok tartoznak, melyeknél a rendszer analitikus modellje legalább elméletileg ismert. Ezen belül kétféle esetet különböztethetünk meg. Az első alcsoportba tartozó problémák esetén a megoldáshoz szükséges algoritmus elméleti szempontból nem kezelhető, azaz a számítási bonyolultsága polinomiálisnál rosszabb. Ide tartoznak például az NP-teljes problémák, melyek esetén a feladat méretének növekedésekor a megoldáshoz szükséges idő annyira megnövekszik, hogy az kezelhetetlenné válik. A második alcsoportba azokat a problémákat sorolhatjuk, amelyeknél a modell ugyan ismert, de nem adható meg rájuk zárt matematikai megoldás. Itt példaként említhetnénk az erősen nemlineáris rendszereket, amelyeket a folyamatirányításban lineáris módszerekkel próbálunk kezelni, ezek azonban rosszul approximálnak. A lineáris módszerek helyett érdemes ilyen esetekben numerikus iteratív megoldásokkal kísérletezni. A második fő kategóriába azok a problémák tartoznak, amelyeknél az analitikus modell nem ismert, esetleg nem is létezik, mert a rendszer nem-determinisztikus viselkedésű. Itt példaként hozhatjuk fel az orvos-biológiai mérnöki problémák legnagyobb részét, az időjárással, mezőgazdasággal kapcsolatos modelleket, illetve az olyan nagyon bonyolult műszaki rendszeregyütteseket, amelyekben nagyszámú változó van, melyek közül bizonyosak külső változók és esetleg random viselkedésűek. Ide tartoznak az erősen nem-determinisztikus zajjal terhelt rendszerek is. A nehéz ipari, vagy pénzügyi problémákban sem rendelkezünk általában azzal a tudással, ami az algoritmikus megoldáshoz elengedhetetlen lenne. Például nem ismerjük az adott folyamat törvényszerűségeit. A harmadik, legnehezebben kezelhető csoportba az olyan feladatokat sorolhatjuk, ahol 1
eleve jelentősége van az emberi pszichének, szubjektív tényezőknek is szerepük van. Ilyenek például az ember-gép rendszerek. Érdekes, hogy ezeknek a problémáknak egy jelentős részét emberi kezelők meg tudják oldani, még ha szuboptimális módon is. A járművezetést hozhatnánk fel kézenfekvő példaként. A természettudósok, mérnökök régi ambíciója, hogy az ilyen problémákra automatizmust generáljanak. Ezt a vágyat jól mutatja Kempelen Farkas sakkozó automatája. Az érdemi megoldás lehetősége azonban csak a számítógép megjelenésével vált lehetővé, mely nagy lökést adott az olyan módszerekre irányuló kutatásnak, melyek az emberi intelligencia elemeit igyekeznek utánozni. Az 50-es években megjelentek már klasszikus mesterséges intelligencia módszerek, amelyek alapvetően a szimbolikus logikára épültek és kisméretű, demonstratív példák esetében adtak megoldást, de valóságos problémákra nem, mivel nem tudták legyőzni a számítási bonyolultság korlátait. Ezeknek a módszereknek azonban számos olyan eleme van, amelyet a későbbi módszerek fel tudtak használni továbbfejlesztve, ilyenek például a ha-akkor típusú modellek. A szekvenciális számítógéppel egyidőben elvi síkon megszülettek a párhuzamos gépek is (sejtautomaták) csak ezeket nem tudták realizálni technológiai és anyagi vonzataik miatt. Az 1960-as évek közepe táján megjelentek a korszerű intelligens módszerek, amelyeket összefoglaló néven lágy számítástudománynak (soft computing) nevezünk. E terület három fő alkotóelemét a fuzzy rendszerek, a neurális hálózatok és a különböző evolúciós algoritmusok képezik. A fuzzy rendszerek alapötlete az emberi gondolkodásmód, emberi következtetések, döntések utánzásán alapul [53, 63]. Az ember gondolkodásmódja és bizonyos jelenségek nem írhatóak le pontosan a kétértékű logikával. Régebben is felmerült már a kétértékű logika kiterjesztésének az igénye, hogy ne csak igaz és hamis logikai értékeket használjunk, hanem lehetőség legyen átmenetek definiálására is. Sok olyan állítás van, amelyikről nem lehet élesen eldönteni, hogy igaz-e vagy hamis, hanem csak valamilyen mértéket lehet mondani az igazságtartalmáról. Ez a gondolat vezette el a 60-as években L. A. Zadeh-t a fuzzy logika megalkotásához [105]. A fuzzy logika a hagyományos (Boole-i) logika kiterjesztése. A fuzzy logikai változó a 0 és az 1 érték között tetszőleges értéket felvehet, a 0 jelöli a teljesen hamis állítást, az 1 pedig a teljesen igaz -at. Ilyen értelemben a 0,5 körüli érték jelképezi a félig igaz -at, és például a 0,9 a majdnem igaz -at. A hagyományos logikai műveletek is kiterjeszthetők fuzzy logikára. A fuzzy logika segítségével definiálhatunk fuzzy halmazokat, fuzzy szabályokat és következtető rendszereket is létrehozhatunk. Az A fuzzy halmazt az úgynevezett tagsági függvénnyel adhatjuk meg. A tagsági függvény minden egyes x alaphalmazbeli értékhez egy a [0,1] intervallumból vett értéket rendel aszerint, hogy az adott x érték mekkora mértékben eleme (tagja) az A fuzzy halmaznak. A tagsági függvény alakjától függően különböző mértékű bizonytalanságot lehet belevinni az adott fogalom leírásába. A legelterjedtebb alakú tagsági függvények a háromszög, trapéz, és Gauss-görbe alakú tagsági függvények. A fuzzy halmazok segítségével fuzzy szabályokat definiálhatunk. A Zadeh által javasolt megoldás a fuzzy halmazok és a klasszikus ha akkor típusú szabályok kombinációja volt. A korábbi szimbolikus megközelítéshez képest ez szubszimbolikus módszert eredményezett. A szubszimbolikus információ használata közel áll az emberi gondolkodásmódhoz, hiszen így olyan szabályokat fogalmazhatunk meg, amelyek ember által is könnyen értelmezhetők, megadhatók. Az adott problémát leíró fuzzy szabályok alkotják a szabálybázist. A fuzzy következtető rendszer egy adott bemenetre (megfigyelésre) a szabályok segítségével valamilyen kimenetet ad. 2
A Zadeh által javasolt kompozíciós következtetési algoritmust [106] a 70-es években E. H. Mamdani átalakította [77]. Olyan módszert fejlesztett ki, mely alacsonyabb számítási bonyolultságú, és a gyakorlatban könnyebben megvalósítható. Módszerét sikeresen alkalmazta egy nagy bonyolultságú erősen nemlineáris gőzgépes rendszer irányítására. Később több sikeres ipari alkalmazás született, elsőként például egy dániai cementmű irányítása fuzzy rendszerrel. A lágy számítási módszerek másik fontos kategóriáját a neurális hálózatok alkotják [46, 108]. Az emberek, és a különféle élőlények sok olyan feladatot képesek megoldani, amellyel a számítógépek nem tudnak mit kezdeni. A mindenki által jól ismert szúnyog például robotpilótával ellátott, helyből felszálló repülőgépnek is felfogható. Manőverezőképessége tökéletes, soha nem zuhan le, sem induláskor, sem landoláskor. Sötétben és világosban egyforma biztonsággal repül. Motorja igen kis hőveszteséggel dolgozik, hőfoka szinte a környezetével azonos. Hajtóanyaga a természet megújuló erőforrásai közül való. Fény, szag, hősugárzás segítségével egyaránt navigál. Robotpilótája, amely mindezt irányítja és vezérli és ezen kívül még sok minden mást is ezredgramm nagyságrendű. A szúnyog még csak nem is a legkisebb robotrepülőgép. A Mymaridá-k (tojásparazita hártyásszárnyúak) közé tartozó parányfürkész (Allaptus minimus) testhossza 0,2 mm, szárnyainak fesztávolsága 0,6 mm, súlya 0,02-0,03 milligramm. Szárnyát másodpercenként 400 fordulattal forgatja, jól repül. És nemcsak repülni tud, de ugyanezeknek a szárnyaknak a mozgatásával a víz alatt kitűnően úszik is. Teljes irányító és vezérlőberendezésének azaz idegrendszerének összsúlya milliomod gramm nagyságrendű [41]. Az ilyen élőlények anélkül képesek ezeket az összetett feladatokat megoldani, hogy bármit is tudnának a bonyolult matematikáról. Idegrendszerük másként működik, mint a számítógépek összetett algoritmusai. A biológiai kutatások, az idegsejt tanulmányozása indította útjára azt az elképzelést, hogy a bonyolult, élő szervezetek mintájára hozzanak létre újfajta számítási rendszereket. A cél az volt, hogy az élőlények agyának, a biológiai neurális hálózatnak a mintájára mesterséges neurális hálózatot alkossanak. Olyan eszközt, mely az adott feladatot nem algoritmikusan oldja meg, hanem a természetből ellesett módon, mintákból, példákból nyert tapasztalatok felhasználásával, tanulás útján alakítja ki a feladatmegoldó képességét. A mesterséges neurális hálózat nagy hasonlóságot mutat a természetes neurális hálózatokkal felépítésében is, mert a feladatot a sok, egymással összekötött elemi egység (neuron, idegsejt) oldja meg, a párhuzamos működés miatt elég gyorsan. A neurális hálózatok számos feladat megoldásánál, nemcsak alkalmasnak, hanem alapvetően jobbnak is bizonyulnak, mint a hagyományos szekvenciális algoritmikus számítási rendszerek. Ilyen feladatok tipikusan a különféle felismerési problémák, kezdve a viszonylag egyszerű nyomtatott számok és karakterek felismerésétől a jóval bonyolultabb kézírás, kép- és egyéb alakzat-felismerésekig. A felismerési feladatokat az élőlények minták alapján tanulják meg. Egy felismerési feladat az ember számára nem jelent gondot, annak ellenére, hogy nehéz megmondani, hogy milyen módon végzi a felismerést, és ezért nehéz olyan algoritmikus megoldást találni, amely hasonlóan sikeres a felismerési feladat megoldásában, mint az ember. A tudás rendelkezésre állhat adatok formájában is. Ezeket az adatokat felhasználva taníthatjuk meg a neurális hálózatot a feladat megoldására. A tanítás során az a cél, hogy a hálózat megvalósítsa a kívánt leképezést a bemenő adatok és a kimenő adatok között. A megtanított háló egy bemenetre adott válaszának és a mintaadatok között szereplő 3
kívánt válasznak a különbsége kell hogy minimális legyen. Tehát a háló úgy fog viselkedni, hogy követi a minták formájában megfogalmazott törvényszerűségeket. A tanítási folyamatban a háló aktuális kimenetének és a kívánt kimenetnek a különbségét kell minimalizálni. Számos tanítási módszert fejlesztettek ki, melyek a hiba visszaterjesztésén alapulnak, vagyis a háló kimenet és a kívánt kimenet közötti különbséget visszaterjesztve módosulnak a háló paraméterei (súlyok) lépésről-lépésre, egyre jobb megoldást adva ezáltal az adott problémára. Nem kell a hálózatnak tökéletes leképezést megvalósítania, azaz nem kell a mintákra tökéletesen ráilleszkednie. Fontosabb az általánosító képesség, vagyis az, hogy más adatokra is megfelelő eredményt adjon a hálózat. A neurális hálózatoknak sok fajtája van, számos tanuló algoritmus létezik, és sok feladattípusra alkalmazhatóak. A számítási intelligencia terület harmadik csoportját az evolúciós algoritmusok alkotják [36, 42]. Számos optimalizációs módszer van, melyet a természetben folyó jelenségek inspiráltak. Ezen algoritmusok előnye, hogy képesek megoldani a problémákat és közelítő megoldást találni akkor is, ha a probléma nemlineáris, magas dimenziószámú, nem folytonos. Semmilyen speciális tulajdonságot nem követelnek meg a modellezni kívánt rendszerről, az irányítani kívánt folyamatról. Az eredeti genetikus algoritmust J. Holland fejlesztette ki a magasabbrendű élőlények populációit, fejlődését meghatározó biológiai folyamatok modellezésére [48]. Ezekben az algoritmusokban az egyedek, akárcsak a természetben, populációkat alkotnak, amelyek egymástól részben vagy egészben elzártan létező szaporodási közösségek. Az egyed reprezentációja technikailag egy kód (kromoszóma, gén), amely úgy tárolja az egyed tulajdonságait, mint ahogy a DNS egy élőlényét. Mutációnak nevezzük egy egyed génkészletének véletlenszerű megváltozását, ezt az algoritmusban a kód véletlenszerű megváltoztatása reprezentálja. A szelekció azt jelenti, hogy csak a legmegfelelőbb egyedek hozhatnak létre utódokat, a gyengék kipusztulnak. Ez az algoritmusban a rossz tulajdonságú egyedek törlését, és a jó tulajdonságúak megtartását jelenti. A szaporodás során, keresztezéssel hoznak létre utódokat az egyedek, és az utódok még megfelelőbbek lehetnek, mint a szüleik. Ezek az evolúciós folyamatokat utánzó módszerek könnyen alkalmazhatók optimalizációs problémák megoldására. Egy egyed a feladat egy megoldását jelenti. A populáció folyamatos fejlődése biztosítja, hogy egyre jobb egyedeket kapunk, azaz a problémát egyre jobban sikerül megoldani, a közelítés egyre pontosabb lesz. A természet sok ötletet ad különböző evolúciós módszerek alkotására a hagyományos genetikus algoritmus mintájára. Az egyik legújabb ilyen módszer a 90-es évek második felében kifejlesztett bakteriális evolúciós algoritmus [82]. Ez az eljárás a baktériumok evolúciós jelenségén alapul, és hasonlóan a genetikus algoritmusokhoz, a természetben végbemenő jelenségeket próbálja utánozni, és felhasználni problémák megoldására. Ennél a módszernél is egy populáció fejlődése zajlik (baktériumpopuláció), és az élőlények különböző folyamatokban vesznek részt. Az egyes baktériumok képesek átadni génrészleteiket más baktériumoknak. Az algoritmusban erre alapozva két operátort alkalmazunk, az ún. bakteriális mutációt és a génátadást (géntranszfert). A bakteriális mutáció egy baktériumon hoz létre olyan változásokat, amelyek által a baktérium fejlődik. Ellentétben a genetikus algoritmusoknál használt mutációval, itt ez a folyamat másképp hajtódik végre. A kromoszómán végrehajtott változtatás előtt ugyanis a baktérium osztódik, és több ugyanolyan példány ( klón ) keletkezik belőle. A változtatás a baktérium összes példányán végrehajtódik (az eredeti baktérium kivételével), természetesen mindegyik lemásolt baktériumon más jellegű változtatást okozva. 4
Ezek után a legmegfelelőbb baktérium megmarad, a többi elpusztul. A bakteriális mutáció biztosítja tehát az egyedek fejlődését, egyre tökéletesebbé válását. Az algoritmusban használt másik operátor a génátadás. Ez teszi lehetővé az egyedek közti információáramlást a populációban. Ennek során a populációt két egyenlő részre bontjuk: jó egyedekre és rossz egyedekre. A jó egyedek átadják valamely génrészletüket a rossz egyedeknek. Ezáltal az egész populációban a keresett megoldáshoz közeledő, egyre jobb egyedek lesznek. A fentin kívül sok egyéb evolúciós és élőlényeket, élőlénypopulációk viselkedését utánzó módszert fejlesztettek ki. Említhetjük például a genetikus programozást [66, 67], a többpopulációs genetikus algoritmust [87, 107], a többkritériumú genetikus algoritmusokat [38, 39], az ún. hangyakolóniákat [29, 30], a vírus alapú evolúciós algoritmust [68], a ragadozó-zsákmány módszert [3], a méhkirálynő evolúciós algoritmust [51], a mesterséges immunrendszereket [27, 44], és a részecske-sereg optimalizációt [33, 52]. A számítási intelligencia módszerek a klasszikus szimbolikus mesterséges intelligencia módszerekhez képest bonyolultságcsökkenést eredményeztek. Annak ellenére, hogy ez a csökkenés a problémák jó részének megoldásához nem elegendő, sikerült a kezelhető és modellezhető problémák határait kitolni. Az utolsó évtized fejlesztései már lényegesebb csökkenést eredményeztek. Olyan módszerek jelentek meg, melyek a korábbi technikákat továbbfejlesztették, kombinálták, valamint egyéb trükkökkel hatékonyabbá tették. A szimbolikus logikához képest a Zadeh-féle megközelítésmód komplexitáscsökkenést eredményezett, de a leíráshoz szükséges szimbólumok számának redukciója csak valamilyen konstans faktorral történhetett, tehát amennyiben egy k dimenziós állapottérben modellezhető rendszer leírásához pl. a szimbolikus megközelítésben O(T k ) nagyságrendű szabályra volt szükség, a fuzzy megoldásban O((T/c) k ) szabály is elegendő, azaz a redukció tényezője c k. Az így megmaradó modellméret azonban még mindig exponenciális k, vagyis az állapotváltozók számának függvényében. A bonyolultság azonban tovább csökkenthető, szélsőséges esetben akár az adott modelltípuson belül maradva a lehetséges minimumig, amely 2 k számú szabály. E redukció alapja a sűrű szabálybázisokról a ritka szabálybázisokra történő áttéréssel lehetséges. Ilyenkor azonban nem alkalmazhatóak a Mamdani-féle (és az ezzel rokon) fuzzy következtető algoritmusok, hanem sajátos, interpolatív következtető módszereket kell alkalmazni [61]. Nyilvánvaló azonban, hogy ezeknek az eljárásoknak a közös korlátját az jelenti, hogy egy k állapotváltozós modell mindenképpen exponenciális, mégpedig k-adik hatvánnyal arányos bonyolultságú. A bonyolultság akkor csökkenthető tovább, ha lehetőség van a bemeneti állapottér valamilyen partícionálására. Ilyenkor a modell állapotterét legalább két altérre partícionáljuk, melyek direkt szorzata adja a tényleges állapotteret. Az egyik altérben az állapotváltozóknak egy olyan csoportja szerepel, amelyek alkalmasak arra, hogy segítségükkel a modell további résztvevő állapotváltozóit lokálisan redukáljuk, tehát a teljes állapotteret ebben az altérben partícionáljuk, majd a partíció minden egyes elemében egymástól független, és lehetőség szerint a teljes állapotváltozó-készlethez képest csökkentett méretű állapotváltozó-számú alszabálybázisok, azaz részmodellek alkothatók. Ezzel az eljárással a bonyolultság igen drasztikusan csökkenthető, hiszen az eredeti állapotváltozó-számhoz képest lényegesen kisebb hatványkitevőjű exponenciális bonyolultság is elérhető. Ily módon hierarchikus szabályrendszer jön létre, melyben van egy metaszabálybázis, és lokális alszabálybázisok. A felső szinten (metaszint) először a megfelelő alszabálybázis kiválasztására kerül sor. Ez a metaszabályok segítségével történik, amelyek vagy bizonyos, a lokális mo- 5
delleket lényegében elkülönítő változók értéke alapján, vagy speciálisan a rendszer lokális működését szabályozó változó értéke alapján választják ki a megfelelő lokális modellt. Hierarchikus szabályrendszerekre jó példa Sugeno pilóta nélküli helikopter kísérlete [96], mely azóta tényleges alkalmazásba is került. A helikoptervezetési probléma értelemszerűen strukturálható, a természetes struktúrát a különböző repülési manőverek összessége adja, melyeknél más és más állapotváltozó-részhalmaz a jellemző. A pilóta ennek megfelelően mindig csak a műszerek egy részhalmazát figyelve vezeti a gépet, ugyanis más változók dominálnak az emelkedés, és megint mások például az előre repülés vagy a helyben lebegés művelete közben. Nagyméretű komplexitáscsökkenés érhető el az előbbi két módszer kombinálásával, azaz a hierarchikus interpolatív fuzzy szabálybázisos modellek alkalmazásával [62]. Tekintettel arra, hogy analitikus modellel nem rendelkező, vagy nemlineáris problémákkal foglalkozunk, ezért központi jelentősége van annak, hogy numerikus mérési adatok alapján hatékony közelítő modelleket állítsunk fel. A modell közelítő pontosságú ezért csak kvázi-optimális, a rendszert valamilyen pontossági határon belül modellezi, vagy a problémát valamilyen pontossággal oldja meg. Ugyanakkor a módszernek hatékonynak is kell lennie, azaz a számítási bonyolultságnak kezelhetőnek kell lennie. Ennek a két követelménynek az egyidejű teljesítése, azaz a pontosság-kezelhetőség viszonynak a megfelelő beállítása nehéz, ám kulcsfontosságú kérdés. Nehéz, mert e két követelmény egymásnak ellentmondó. Kulcsfontosságú, hiszen amennyiben a kettő közül az egyik nem megfelelő, akkor az alkalmazott módszer nem oldja meg a problémát, az továbbra is kezelhetetlen marad. Ezt a kérdéskört jól illusztrálja az úgynevezett fuzzy macska-egér probléma [64, 65]. A macska szeretné elfogni az egeret. Ehhez egy szabálybázist használ, melynek segítségével az egér mozgási jellemzői (pozíció, sebesség stb.) és ismert tulajdonságai alapján képes kikövetkeztetni, hogy hol lesz az egér egy bizonyos idő múlva. Az egér mozgástere egy raszterhálóval felosztott sík. A macska két lépésben próbálja megtalálni az egeret. Az első lépésben a szabálybázis alapján megpróbálja meghatározni, hogy az egér melyik rasztermezőben lesz a keresés időszakában, a második lépésben pedig a mezőn belül pl. kimerítő kereséssel keresi meg az egeret. Ha a szabálybázis sok szabályt tartalmaz, azaz a modell finom és pontos, akkor a rasztermező mérete kicsi, ezért a megfelelő rasztermező azonosítása után az egér könnyen megtalálható. A gond viszont az, hogy a sok szabály miatt a következtetés lassabb lesz, ezért a következtetési fázis tovább tart, és nem eléggé hatékony a módszer. Ha viszont a szabálybázis kisméretű, akkor a következtetés gyorsabb, de ilyenkor a modell pontatlanabb, a rasztermező nagy kiterjedésű, ezért a keresés második lépése fog tovább tartani. A cél tehát egy olyan modell felállítása, mely esetén a pontosság és kezelhetőség együttesen a legkedvezőbb, a komplex optimumot kell megtalálni, ami elfogadható pontosságú és költségű. Az értekezés célkitűzése olyan numerikus adatok alapján történő identifikációs módszerek kifejlesztése amelyek az irodalomban ismerteknél meghatározott kritériumok szerint jobbak. A modell-identifikáció alapvetően két lépésből áll. Az első lépésben a problémát, rendszert még kellő pontossággal leíró változók minimális halmazát keressük meg. A második lépésben ezen állapotváltozók terében egy adott kritérium szempontjából megfelelő jóságú modellt határozunk meg. Ebben az értekezésben a második lépéssel foglalkozom elsősorban, mégpedig olyan problémáknál, ahol numerikus adatok alapján tetszőleges dimenziószámú statikus modell identifikációja történt meg. Többféle technikával felállított modellt, 6
többféle identifikációs technikával határoztam meg, ezek alternatívaként is szóba jönnek, de lehetséges, hogy valamelyik lényegesen kedvezőbb. A következőkben ismertetem az értekezés felépítését. A jelen bevezetésben megkíséreltem röviden megfogalmazni a műszaki problémát, a megoldásra rendelkezésre álló eszköztárat és az értekezés szempontjából szóba jövő módszereket. A 2. fejezet szakirodalmi áttekintést ad a vizsgálat tárgyát képező számítási intelligencia módszerekről, valamint a numerikus adatok alapján identifikációt megvalósító módszerekről. A 3. fejezet tartalmazza a saját kutatási eredményeimet és ezen belül kerülnek megfogalmazásra az ezen eredményeim lényegét megfogalmazó tézisek. Az új eredmények bemutatása kapcsán minden alkalommal kitérek arra, hogy az irodalomból megismert eljárásokkal esetenként többféle kiértékelési szempontból összehasonlítsam a kapott eredményeket, kiértékeljem azok előnyeit, hátrányait. A 4. fejezet tartalmazza az elért eredmények rövid összefoglaló értékelését, és a további kutatási irányokat. Az értekezést az irodalmi hivatkozások jegyzéke zárja, amely tartalmazza saját közleményeimet is. 7
2. fejezet A számítási intelligencia fejlődésének és módszereinek áttekintése Ez a fejezet szakirodalmi áttekintést nyújt a számítási intelligencia módszerekről és az alkalmazott identifikációs technikákról. A fejezet első részében a fuzzy rendszerek alapjait tekintem át. A második alfejezetben az evolúciós módszerekről mutatok átfogó képet, és részletesen bemutatom a bakteriális evolúciós algoritmusokat. A harmadik rész a neurális hálózatok témakörébe enged betekintést, és tanuló algoritmusokat is bemutat. 2.1. Fuzzy rendszerek A mindennapi emberi gondolkodásmód sok eleme és bizonyos objektív jelenségek nem írhatóak le pontosan a megszokott (Boole-féle) kétértékű logikával. Régebben felmerült már a kétértékű logika kiterjesztésének az igénye, azaz hogy ne csak igaz és hamis logikai értékeket használjunk, hanem lehetőség legyen átmenetek definiálására is. Sok olyan állítás van, amelyikről nem lehet élesen eldönteni, hogy igaz-e vagy hamis, hanem csak valamilyen mértéket lehet állítani az igazságtartalmáról. Ez a gondolat vezette el a 60-as években L. A. Zadeh-t a fuzzy logika megalkotásához [105]. Nyilvánvalóvá vált, hogy ha bonyolult feladatok megoldására alkalmas intelligensebb eszközöket szeretnénk létrehozni, jobb eredményt érhetünk el úgy, ha az emberi logikához jobban közelítő módon írjuk le a rendszerek viselkedését. A fuzzy logika a hagyományos logika kiterjesztése. A fuzzy logikai változó a 0 és az 1 érték között tetszőleges értéket felvehet, a 0 jelöli a teljesen hamis állítást, az 1 pedig a teljesen igaz -at. Ilyen értelemben a 0,5 körüli érték jelképezi a félig igaz állítást, és például a 0,9 a majdnem igaz -at. A hagyományos logikai műveletek is kiterjeszthetők fuzzy logikára. Definiálhatunk fuzzy halmazokat, fuzzy szabályokat és következtető rendszereket is létrehozhatunk. A következőkben a fuzzy halmazokat, a fuzzy halmazokon értelmezett alapműveleteket, a fuzzy relációkat, a fuzzy szabályokat és a fuzzy következtető rendszereket vezetem be. 8
2.1.1. Fuzzy halmazok A hagyományos halmazelméletben valamely X alaphalmaz egy A halmazát megadhatjuk például a karakterisztikus függvénye segítségével, amely minden olyan x alaphalmazbeli értékhez 1-et rendel, amelyik eleme az A halmaznak, a többi x értékhez pedig 0-át: { 1, ha x A κ A (x) = 0, ha x / A. Minden egyes x alaphalmazbeli érték tehát egyértelműen vagy eleme az A halmaznak vagy pedig nem eleme az A halmaznak. A fuzzy halmazok elmossák a határt a két eset között, egy halmazhoz való tartozás illetve nem tartozás között tetszőleges átmenetet megengedve. A fuzzy halmazok határa tehát nem éles (crisp), hanem elmosódott (fuzzy). Az A fuzzy halmazt az úgynevezett tagsági függvénnyel adhatjuk meg [105]. A tagsági függvény minden egyes x alaphalmazbeli értékhez egy a [0,1] intervallumból vett értéket rendel aszerint, hogy az adott x érték mekkora mértékben eleme (tagja) az A fuzzy halmaznak: µ A (x): X [0, 1], ahol µ A az A fuzzy halmaz tagsági függvénye, mely egyértelműen megadja a halmazt, ha magát az X alaphalmazt ismerjük. Gyakorlati célokra különféle alakú tagsági függvényeket szoktak definiálni. A gyakorlati alkalmazások céljából a műszaki rendszerekben leginkább a háromszög, a trapéz és a Gauss-görbe alakú tagsági függvények terjedtek el. A 2.1. áb- 2.1. ábra. Példák tagsági függvényekre rán a kb. 5 valós fuzzy szám leírását láthatjuk különféle alakú tagsági függvényekkel. A háromszög alakú esetben csak az x = 5-nél kapunk 1-es tagsági értéket, a trapéz alakúnál az 5-nél kicsit kisebb és az 5-nél kicsit nagyobb értéket is 1-es értékűnek vesszük, míg a Gauss görbénél még a távoli valós számok sem kapnak pontosan 0 értéket. Ez a koncepció tehát kiválóan alkalmazható mérési bizonytalanságok, zajok megfelelő kezelésére is. Az ábrán látható tagsági függvények paramétereinek különböző beállításaival megfelelően finom átmenetet lehet elérni a 0-ás és az 1-es érték között. A 2.2. ábrán emberi magasságokat láthatunk fuzzy halmazokkal jellemezni. Három kategóriát különböztethetünk meg: alacsony, középtermetű és magas halmazokat. A tagsági függvények ebben a példában trapéz alakúak. Az ábrán jól látszanak a fuzzy megközelítés előnyei a hagyományos kétértékű logikával szemben. Kétértékű esetben éles lenne az átmenet, a 164 cm-es ember 1-es értékkel 9
2.2. ábra. Emberek magasságának jellemzése fuzzy halmazokkal lenne alacsony, a 166 cm-es pedig egyáltalán nem számítana alacsony -nak. Fuzzy halmazokkal az átmenetet sokkal finomabban lehet megadni. Egy A fuzzy halmaz magján azt a crisp halmazt értjük, mely az alaphalmaz azon elemeit tartalmazza, amelyeknek a tagsági értékük az A fuzzy halmazban 1: core(a) = {x X µ A (x) = 1}. A halmaz tartója pedig a pozitív tagsági értékű alaphalmazbeli elemeket jelenti: supp(a) = {x X µ A (x) > 0}. Az A fuzzy halmaz α-vágata valamely α [0, 1] értékre azokat az alaphalmazbeli elemeket tartalmazó halmaz, amelyek tagsági értéke az A fuzzy halmazban legalább α: A α = {x X µ A (x) α}. Ha az egyenlőséget nem engedjük meg, akkor a szigorú α-vágat definíciójához jutunk. Egy fuzzy halmaz konvex, ha minden α-vágata konvex. Az A fuzzy halmaz magassága a tagsági függvényének legnagyobb értéke: h(a) = sup µ A (x). x X Egy fuzzy halmaz akkor normális, ha a magassága 1. 2.1.2. Alapműveletek fuzzy halmazokon A hagyományos halmazelméletben értelmezett három alapműveletet végtelen sokféleképpen lehet általánosítani a fuzzy halmazok elméletében. A legelterjedtebbek a klasszikusnak számító Zadeh-féle definíciók [105]. Egy X alaphalmazon értelmezett A fuzzy halmaz Zadeh-féle komplemense A, ahol minden x X értékre: µ A (x) = 1 µ A (x). 10
Az A és B fuzzy halmazok Zadeh-féle metszete: Zadeh-féle uniója pedig: µ A B (x) = min(µ A (x), µ B (x)), µ A B (x) = max(µ A (x), µ B (x)). A Zadeh-féle műveletek illusztrációi a a 2.3. ábrán láthatók. Ha a tagsági függvényérték csak 0 és 1 lehet (crisp eset) akkor a hagyományos komplemens, metszet és unió műveleteket kapjuk vissza. A három alapművelet sok egyéb módon is definiálható. Néhány általánosan elfogadott axiómát azonban mindig ki kell elégíteniük ezeknek a műveleti definícióknak. 2.3. ábra. Standard (Zadeh-féle) fuzzy műveletek 2.1.2.1. Fuzzy komplemensek A fuzzy komplemensképzés az egyváltozós c: [0, 1] [0, 1] függvénnyel adható meg. A függvénynek a következő két axiómát kell teljesítenie: 1. axióma. c(0) = 1 és c(1) = 0 (peremfeltételek). 2. axióma. a, b [0, 1] esetén, ha a b, akkor c(a) c(b) (monotonitás). Ezeken kívül még általában a következő enyhébb (3a), vagy erősebb (3b) axiómát is meg szokás követelni a komplemenstől: 11
3a. axióma. c folytonos függvény. 3b. axióma. a [0, 1]-re c(c(a)) = a, vagyis c involutív. (3b teljesülése esetén 3a biztosan kielégül.) Mind a három (illetve négy) axiómának eleget tevő, két általános komplemens osztály, a Sugeno- és a Yager-féle komplemens. A Sugeno-komplemens alakja [95]: c λ (a) = 1 a 1 + λa, (2.1) ahol λ ( 1, ). λ = 0 esetén a Zadeh-féle komplemenst kapjuk. A Yager-komplemens általános alakja: c w (a) = (1 a w ) 1/w, (2.2) ahol w (0, ). w = 1 esetén itt is visszakapjuk a Zadeh-féle komplemenst. 2.1.2.2. Fuzzy metszetek A fuzzy metszetképzés általánosított műveletét egy geometriai valószínűségi analógia alapján (trianguláris) t-normának nevezzük, és a következő kétváltozós függvénnyel adjuk meg: t: [0, 1] [0, 1] [0, 1]. A t-normára vonatkozó axiómák [63]: 1. axióma. a [0, 1]-re t(a, 1) = a (peremfeltétel). 2. axióma. a, b, c [0, 1]-re b c-ből következik, hogy t(a, b) t(a, c) (monotonitás). 3. axióma. a, b [0, 1]-re t(a, b) = t(b, a) (kommutativitás). 4. axióma. a, b, c [0, 1]-re t(a, t(b, c)) = t(t(a, b), c) (asszociativitás). Általában további feltételeket is megkövetelnek a t-normától: 5. axióma. t folytonos függvény. 6a. axióma. t(a, a) < a (szubidempotencia), vagy 6b. axióma. t(a, a) = a (idempotencia). 7. axióma. Ha a 1 < a 2 és b 1 < b 2, akkor t(a 1, b 1 ) < t(a 2, b 2 ) (szigorú monotonitás). A leggyakrabban használt t-normák a Zadeh-félén kívül az algebrai szorzat: t(a, b) = ab, a korlátos különbség: és a drasztikus metszet: t(a, b) = max(0, a + b 1) a, ha b = 1, t min (a, b) = b, ha a = 1, 0, egyébként. 12
2.1.2.3. Fuzzy uniók A fuzzy unióképzés műveletét a t-normával való duál kapcsolata miatt t-konormának (vagy másként s-normának) nevezzük és szintén egy kétváltozós függvénnyel adjuk meg: s: [0, 1] [0, 1] [0, 1]. A t-normához hasonló axiómákat követelünk meg az s-normától is [63]: 1. axióma. a [0, 1]-re s(a, 0) = a (peremfeltétel). 2. axióma. a, b, c [0, 1]-re b c-ből következik, hogy s(a, b) s(a, c) (monotonitás). 3. axióma. a, b [0, 1]-re s(a, b) = s(b, a) (kommutativitás). 4. axióma. a, b, c [0, 1]-re s(a, s(b, c)) = s(s(a, b), c) (asszociativitás). A t-normához hasonlóan általában további axiómákat is megkövetelnek: 5. axióma. s folytonos függvény. 6a. axióma. s(a, a) > a (szuperidempotencia), vagy 6b. axióma. s(a, a) = a (idempotencia). 7. axióma. Ha a 1 < a 2 és b 1 < b 2, akkor s(a 1, b 1 ) < s(a 2, b 2 ) (szigorú monotonitás). A leggyakrabban használt s-normák a Zadeh-félén kívül az algebrai összeg: a korlátos összeg: és a drasztikus unió: s(a, b) = a + b ab, s(a, b) = min(1, a + b) a, ha b = 0, s max (a, b) = b, ha a = 0, 1, egyébként. A t- és s-normák alkalmas megválasztásával különböző mértékű szubjektivitást tudunk belevinni a halmazműveletekbe, mivel érvényesek a következő korlátok: illetve t min (a, b) t(a, b) min(a, b) max(a, b) s(a, b) s max (a, b). Ilyenkor az egyenlőtlenségek baloldalai jelentik a pesszimista, a jobboldalai pedig az optimista szemléletmódot. 13
2.1.3. Fuzzy relációk Két vagy több halmaz elemei közötti kapcsolat mértékét fuzzy relációkkal írhatjuk le. Ez a fogalom a klasszikus (crisp) reláció fogalmát általánosítja, amelynél két vagy több elem közötti kapcsolat vagy fenn áll, vagy pedig nem. A fuzzy relációt a halmazokhoz hasonlóan a tagsági függvénnyel adhatjuk meg: µ R(x1,...,x n) : X [0, 1], ahol X = X 1 X 2 X n, a relációban szereplő alaphalmazok Descartes-szorzata. Az n alaphalmaz Descartes-szorzatával képzett halmaz egy x elemének részsorozata egy y elem (y x) akkor, ha y j = x j minden j J-re, J N n, ahol y = {y j j J} az j J X j halmaz eleme és J n. Egy X 1 X 2 X n halmazon értelmezett fuzzy relációnak egy szűkebb Y halmazcsaládra vett projekcióját (vetületét) a µ [R Y] (y) = max y x µ R(x) összefüggés alapján határozhatjuk meg. A projekció bizonyos értelemben vett inverzének tekinthető a hengeres kiterjesztés: µ [R X Y] (x) = µ R (y) minden x-re, amelyre (y x). Egy R fuzzy reláció valamely projekcióinak hengeres lezártja: µ cyl{pi }(x) = min i I µ [P i X Y i ](x), ahol Y i az a halmazcsalád, amelyen a P i projekció definiálva van. 2.1.4. Fuzzy szabályok A fuzzy halmazok segítségével természetes emberi nyelven könnyen tudunk szabályokat megfogalmazni. Egy fűtési rendszerben például mondhatunk egy olyan szabályt, hogy Ha kicsit hideg van és a hőmérséklet süllyed, akkor közepesen fűts. Ha ezután definiáljuk a hőmérsékletre, a hőmérsékletváltozásra és a fűtésre vonatkozó tagsági függvényeket, akkor fuzzy szabályhoz jutunk. Egy egy bemenetű, egy kimenetű egyszerű fuzzy szabály alakja: R: Ha x = A akkor y = B, ahol x X a bemeneti változó, y Y a kimeneti változó, X a bemeneti változó alaphalmaza, Y a kimeneti változó alaphalmaza. A és B nyelvi változók. Az A az R szabály antecedense (premisszája), a B pedig az R szabály konzekvense (konklúziója). Több bemenetű, egy kimenetű fuzzy szabály általános ún. Mamdani-féle (ortogonálisan dekomponált) alakja [77]: R: Ha x 1 = A 1 és... és x n = A n akkor y = B, ahol x = (x 1,... x n ) a bemeneti értékek vektora, x j X j, X = X 1 X 2 X n az n-dimenziós alaphalmaz, A = (A 1,... A n ) az antecedens halmazok vektora, A X, y Y 14
2.4. ábra. Fuzzy következtető rendszer vázlata a kimeneti változó, Y a kimeneti változó alaphalmaza, B a konzekvens halmaz, B Y. (A jel fuzzy részhalmazt jelent.) A szabály alkalmazásának feltétele, hogy az összes bemeneti változó pozitív mértékben essék a megfelelő antecedens halmazba. Több kimenetű szabályok esetén a kimenetek függetlenek egymástól, ezért az ilyen szabályok dekomponálhatók a fentivel megegyező alakú egy kimenetűre, csökkentve ezzel a számítási igényt. Egyes szerzők a fuzzy szabályokat implikációként interpretálják, például egy bemenetű esetben: R: A B formában. Ez az interpretáció azonban a műszaki gyakorlati alkalmazások szemszögéből nem jól értelmezhető, ezért nem tárgyaljuk. 2.1.5. Mamdani-típusú fuzzy következtető rendszerek A fuzzy halmazok elméletét felhasználhatjuk bonyolult, analitikus módon nem modellezhető rendszerek kezelhető leírására. Fuzzy szabályok segítségével az emberi gondolkodáshoz hasonlító következtető rendszereket hozhatunk létre. A fuzzy rendszer vázlata a a 2.4. ábrán látható. Az illeszkedési mértéket meghatározó egység a megfigyelést hasonlítja össze a szabályok feltételrészeivel. Ennek alapján a következtető gép valamilyen következtetési algoritmussal meghatározza a kimeneti fuzzy halmazt. Többféle következtetési módszer ismert, gyakorlati alkalmazásokban legelterjedtebb a Mamdani-módszer [77]. A kimenetet defuzzifikációs egységgel alakítjuk át éles (crisp) értékre. 2.1.5.1. A szabálybázis A szabálybázis tartalmazza a problémát leíró szabályokat, melyek a következő alakúak: R i : Ha x 1 = A 1,i és... és x n = A n,i akkor y = B i, ahol x = (x 1,... x n ) a bemeneti vektor, y a kimenet, A i = (A 1,i... A n,i ) az antecedens halmazok vektora, B i pedig a konzekvens halmaz az i. szabályban. A szabályokat alkotó nyel- 15