Dr. Vincze Dávid, Miskolci Egyetem, Informatikai Intézet: Szabálybázis redukció az FRIQ-tanulási módszerben



Hasonló dokumentumok
Megerősítéses tanulási módszerek és alkalmazásaik

Korszerű információs technológiák

Megerősítéses tanulás 7. előadás

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai. 81f l 2 f 2 + l 2

Elektromechanikai rendszerek szimulációja

15. tétel. Adatszerkezetek és algoritmusok vizsga Frissült: január 30.

Forgattyús mechanizmus modelljének. Adams. elkészítése, kinematikai vizsgálata,

Mesterséges Intelligencia I. kötelező program

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Bonyolultsági. mértékek erlang programokhoz. Király Roland

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

NÉMETH LÁSZLÓ VÁROSI MATEMATIKA VERSENY 2014 HÓDMEZŐVÁSÁRHELY OSZTÁLY ÁPRILIS 7.

BUDAPESTI MŐSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Robotok inverz geometriája

VisualNastran4D. kinematikai vizsgálata, szimuláció

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

I. BESZÁLLÍTÓI TELJESÍTMÉNYEK ÉRTÉKELÉSE

Dicsőségtabló Beadós programozási feladatok

2016, Diszkrét matematika

Matematikai geodéziai számítások 6.

Négycsuklós mechanizmus modelljének. Adams. elkészítése, kinematikai vizsgálata,

Követelmény a 7. évfolyamon félévkor matematikából

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

Matematikai geodéziai számítások 6.

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai

Ejtési teszt modellezése a tervezés fázisában

Az egyszerűsítés utáni alak:

Fuzzy halmazok jellemzői

Mechatronika segédlet 11. gyakorlat

Gyalogos elütések szimulációs vizsgálata

Fizika. Fizika. Nyitray Gergely (PhD) PTE PMMIK február 13.

Regresszió számítás. Tartalomjegyzék: GeoEasy V2.05+ Geodéziai Kommunikációs Program

Számítógépes döntéstámogatás. Genetikus algoritmusok

Az igénybevételi ábrák témakörhöz az alábbi előjelszabályokat használjuk valamennyi feladat esetén.

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

Matlab Fuzzy Logic Toolbox

1. gyakorlat. Egyenletes és egyenletesen változó mozgás. 1. példa

Megkülönböztetett kiszolgáló routerek az

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

KOVÁCS BÉLA, MATEMATIKA I.

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Mit nevezünk nehézségi erőnek?

Matematika pótvizsga témakörök 9. V

A dinamikus geometriai rendszerek használatának egy lehetséges területe

BAGME11NNF Munkavédelmi mérnökasszisztens Galla Jánosné, 2011.

OOP. Alapelvek Elek Tibor

2015. évi Bolyai János Megyei Matematikaverseny MEGOLDÁSI ÉS ÉRTÉKELÉSI ÚTMUTATÓ 9. osztály

1. MATEMATIKA EMELT SZINTŰ ÍRÁSBELI FELADATSOR

6. MECHANIKA-STATIKA GYAKORLAT Kidolgozta: Triesz Péter egy. ts. Négy erő egyensúlya, Culmann-szerkesztés, Ritter-számítás

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Exponenciális és Logaritmikus kifejezések

4. A kézfogások száma pont Összesen: 2 pont

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

egyenlőtlenségnek kell teljesülnie.

Jelek és rendszerek 1. 10/9/2011 Dr. Buchman Attila Informatikai Rendszerek és Hálózatok Tanszék

Rugalmas állandók mérése

KOVÁCS BÉLA, MATEMATIKA I.

A félév során előkerülő témakörök

Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Kisérettségi feladatsorok matematikából

Bevezetés a matematikába (2009. ősz) 1. röpdolgozat

Dr. habil. Maróti György

KOVÁCS BÉLA, MATEMATIKA I.

1. Feladatok a dinamika tárgyköréből

Függvények határértéke, folytonossága FÜGGVÉNYEK TULAJDONSÁGAI, SZÉLSŐÉRTÉK FELADATOK MEGOLDÁSA

MATEMATIKA TANMENET SZAKKÖZÉPISKOLA. 9. Nyelvi előkészítő osztály

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

MATEMATIKA ÉRETTSÉGI május 8. EMELT SZINT

Ellipszis átszelése. 1. ábra

Gauss-Seidel iteráció

Feladatok a szinusz- és koszinusztétel témaköréhez 11. osztály, középszint

SZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

SZERKEZETFÖLDTANI OKTATÓPROGRAM, VETŐMENTI ELMOZDULÁSOK MODELLEZÉSÉRE. Kaczur Sándor Fintor Krisztián

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.

2010. október 12. Dr. Vincze Szilvia

Andó Mátyás Felületi érdesség matyi.misi.eu. Felületi érdesség. 1. ábra. Felületi érdességi jelek

Matematika javítóvizsga témakörök 10.B (kompetencia alapú )

Önálló labor beszámoló Képek szegmentálása textúra analízis segítségével. MAJF21 Eisenberger András május 22. Konzulens: Dr.

NGB_IN040_1 SZIMULÁCIÓS TECHNIKÁK dr. Pozna Claudio Radu, Horváth Ernő

Interfészek. PPT 2007/2008 tavasz.

Programozási nyelvek 2. előadás

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Legnagyobb anyagterjedelem feltétele

Próba érettségi feladatsor április I. RÉSZ

STATISZTIKA. A maradék független a kezelés és blokk hatástól. Maradékok leíró statisztikája. 4. A modell érvényességének ellenőrzése

Pécsvárad Kft Pécsvárad, Pécsi út 49. Tel/Fax: 72/ Szerzők:

Objektumorientált paradigma és a programfejlesztés

Intelligens beágyazott rendszer üvegházak irányításában

Függvények Megoldások

Felvételi tematika INFORMATIKA

Numerikus módszerek 1.

Haszongépj. Németh. Huba. és s Fejlesztési Budapest. Kutatási. Knorr-Bremse November 17. Knorr-Bremse

Nehézségi gyorsulás mérése megfordítható ingával

E x μ x μ K I. és 1. osztály. pontokként), valamint a bayesi döntést megvalósító szeparáló görbét (kék egyenes)

ASTER motorok. Felszerelési és használati utasítás

A PiFast program használata. Nagy Lajos

CAD-CAM-CAE Példatár

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 1.

Átírás:

Kutatási jelentés Dr. Vincze Dávid, Miskolci Egyetem, Informatikai Intézet: Szabálybázis redukció az FRIQ-tanulási módszerben A már korábbi kutatások során kifejlesztett és bemutatott fuzzy szabály interpoláció alapú Q- tanulási módszer (FRIQ-tanulás) [1], és az abban alkalmazható inkrementális szabálybázis építési módszer [2] továbbfejlesztése kerül bemutatásra ebben a jelentésben. Az inkrementálisan létrehozott szabálybázisban nagy valószínűséggel vannak olyan szabályok is, amelyeknek csak az építési folyamatban volt szerepük, vagy az interpoláció használatának köszönhetően más szabályokból kiadódó szabályok. Ezeknek a redundáns szabályoknak a megtalálására és eliminálására mutatok be lehetséges stratégiákat a következőekben. Az FRIQ-tanulásban alkalmazott mohó akció választásból eredően a nagyobb Q értékek valószínűsíthetően nagyobb befolyással vannak a rendszer egészének működésére. Így a magas konzekvens értékekkel (itt a Q) rendelkező szabályoknak feltehetőleg nagyobb hatásuk van a rendszerre, illetve a jutalmakra. Ebből adódóan érdemes lehet egy olyan redukálási stratégiát választani, ami azokat a szabályokat hagyja el az előzőleg inkrementálisan létrehozott szabálybázisból (pl. lásd az 1. ábrát), amelyeknek alacsony a konzekvens Q értékük (I. stratégia). Ezt a stratégiát követve a redukciós folyamatban a szabálybázisból egyesével kerülnek ki a szabályok (mindig a legkisebb abszolút Q értékkel rendelkező). Minden szabály kivétele után az egész szimulációs folyamat megismétlődik, és ha az így kapott eredmény nem tér el ~ 1 k Q ( s ) a s si s i 1 1. ábra. A kiindulásként használt inkrementálisan felépített szabálybázis ~ 2 k Q ( s ) a s si s i 1 2. ábra. Ugyanazt (ill. közel ugyanazt) az eredményt adó, dekrementálisan redukált szabálybázis (jelentősen) az eredeti szabálybázissal kapott eredménytől, akkor a vizsgált szabály végleg eltávolításra kerül a szabálybázisból, ellenkező esetben a szabály kardinális szabálynak minősül, így visszakerül a szabálybázisba (lásd pl. 2. ábra).

A konkrét problémától függően, az összesített jutalomban megengedhető bizonyos eltérés az eredeti és a módosított szabálybázis között, ha az adott probléma még sikeresen megoldható a redukált szabálybázissal. Hogy mekkora lehet ez az eltérés az a feladat megoldásának a követelményeitől és az adott probléma jellegétől függ. Kis eltérés megengedése a jutalomban jó eséllyel olyan redukált szabálybázist eredményez, aminek használatával hasonló lesz a probléma lépésről-lépésre való megoldása, mint az eredeti szabálybázis használatával. Ellenben ha viszonylag nagy (a konkrét problémához definiált jutalomfüggvénytől függően) a tűréshatár az összesített jutalmak között, akkor a redukált szabálybázis eltérő lépéseket (de helyes eredményt) adhat. A következő redukciós stratégia (II. stratégia) az előző stratégiához nagyon hasonló, annyiban tér el, hogy a legnagyobb konzekvens értekkel (Q érték) rendelkező szabályokat vizsgálja meg először. Ezáltal a feltételezhetőleg legfontosabb szabályok lesznek elsőként megvizsgálva, hogy valóban szükség van-e rájuk. Egy másik kifejlesztett stratégia (III. stratégia) szabály csoportokat jelöl ki vizsgálatra és eltávolításra, így tömeges szabály eltávolításra ad lehetőséget, ezáltal a redukciós folyamat jelentősen gyorsabb lefutása érhető el. Ez a módszer először meghatározza a Q értékek teljes tartományát, és a tartomány hosszának a felénél levő Q értéket tűréshatárként véve osztja fel a szabálybázist két részre. Ezután a nagyobb Q értékű szabályokat tartalmazó szabálybázis kerül kiértékelésre. Ha ez a csökkentett szabálybázis is elegendőnek bizonyul a probléma sikeres megoldásához, akkor ebből a szabálybázisból kiindulva megismétlődik az előző eljárás. Abban az esetben, ha az ideiglenesen csökkentett szabálybázis nem elegendő (tehát a tűréshatár túl nagy) a probléma megoldásához, a kivett szabályok visszakerülnek a szabálybázisba. Viszont az előzőleg használt tűréshatár megfeleződik, és ezzel a tűréshatárral ismétlődik meg az ideiglenesen törlendő szabályok meghatározása. Ez a folyamat addig ismétlődik, amíg a tűréshatár elér egy olyan értéket, amikor már az adott szabálycsoport eltávolítható. Abban az esetben, ha már csak 1 szabály marad az adott tűréshatár szerint, és a probléma megoldása így is sikertelen, akkor a szabály állandó jelölést kap (így a későbbiekben már nem lesz többször kivételre választva), és a folyamat újraindul egy új tűréshatárral (az előzőleg állandó -ra megjelölt szabály ebbe már nem fog beleszámítani). Az egész folyamat addig ismétlődik, amíg a végső szabálybázisban csak a kardinális szabályok maradnak bent (tehát az állandó -nak jelölt szabályok). Érdemes megemlíteni, hogy a különböző stratégiák különböző végleges szabálybázisokat hozhatnak létre, más-más szabályokkal, de mégis helyes (akár lépésről-lépésre megegyező) megoldást adnak a problémára. A redukciós folyamat végeztével, a végleges szabálybázisban már csak a legjelentősebb szerepű szabályok fognak szerepelni, másként fogalmazva ez a módszer a rendszer működtető tudását nyeri ki fuzzy szabályok formájában.

A módszer implementációjaként készültek minta alkalmazások, amelyeken keresztül tanulmányozható a módszerek működése. A fejlesztés során továbbá egy egységes FRIQtanulási keretrendszer is kifejlesztésre került. Ezek bemutatása található a következő részben. Az FRIQ-tanulási keretrendszer Kifejlesztésre került egy FRIQ-tanulási keretrendszer, ami az FRIQ-tanulási problémák, szimulációk gyors és egyszerű kivitelezését segíti elő. Jelenleg MATLAB környezethez készült el a keretrendszer interfésze és implementációja. A keretrendszer használatával az FRIQtanulás mély ismerete nélkül is lehetőség nyílik az FRIQ-tanulás egyszerű használatára. Alapvetően az állapotteret, az abban végrehajtható lehetséges akciókat és ezek környezetre gyakorolt hatásait kell definiálni, hogy egy működő rendszer kapjunk. Az állapotokon és az akcióhalmazon túl két függvényt szükséges definiálni, hogy működő alkalmazást lehessen létrehozni. Az egyik a jutalomfüggvény, ami megadja, hogy az adott állapotba jutva mekkora jutalmat érdemel a rendszer, ezt egy MATLAB nyelven megírt függvényként kell definiálni. A másik definiálandó függvény pedig azt határozza meg, hogy adott akció hatására milyen állapotváltozások menjenek végre a rendszerben (milyen állapotot eredményeznek a különböző akciók). Lehetőség van még természetesen az adott szimuláció vizualizációjára is, ehhez szintén egy saját függvényt lehet megadni, ami minden iterációban meghívásra kerül és frissíti a szimuláció állapotát megjelenítő ábrát. Ezen felül még megadhatók különböző paraméterek, amennyiben az alapbeállítások nem kielégítőek, illetve a kívánt szabálybázis redukciós stratégia (lásd korábban). Az előbbiekben felsorolt probléma leírók megadásával a kifejlesztett keretrendszer képes külső beavatkozás nélkül feltárni a működést leíró minimális szabálybázist, ami csak a lényeges fuzzy szabályokat tartalmazza. A MATLAB implementációból eredően a keretrendszer teljesítménye viszonylag gyenge, ami nagyobb állapottér, illetve akcióhalmaz esetén hosszú futási időt eredményezhet, ami jelentősen befolyásolhatja nem csak magának a FRIQ-tanulásnak a lefutási idejét egy adott problémára, hanem a fejlesztési és tesztelési időt is új problémák leírásakor. Már elkészült az FRIQ-tanulás által alkalmazott fuzzy szabály interpolációs módszer, a FIVE optimalizálása speciálisan az FRIQ-tanulási keretrendszerhez, illetve ANSI C nyelvre való átültetése. Ez az előzetes tesztek szerint, bizonyos esetekben kb. 100-400x gyorsulást eredményez. Mivel javarészt a számítási igénye az FRIQ-tanulásnak magából a FIVE-ból ered, így jelentős teljesítmény növekedés lesz elérhető a teljes FRIQ-tanulási keretrendszer ANSI C nyelvre való portolásával. További részletes információ egy későbbi szakaszban, az FRIQ-tanulási keretrendszer használata részben található, a függvényeinek és paramétereinek dokumentációjával.

Az FRIQ-tanulási keretrendszer mintapéldái A. A Cart-Pole probléma A Cart-Pole, vagy más néven Reversed Pendulum, azaz fordított inga probléma jól ismert a megerősítéses tanulás témakörében. Egy már létező Cart-Pole szimuláció nyílt forráskódú implementációja lett módosítva úgy, hogy a FRIQ-tanulást használja motorjának. Ezt az eredetileg diszkrét térben működő implementációt José Antonio Martin H. készítette MATLAB környezetben [3]. Ebből az implementációból lett kiemelve a jutalomfüggvény, az akciók hatását leíró függvény, és a megjelenítést megvalósító eljárás. Ezeket a FRIQ-tanulási keretrendszerbe építve és megfelelően paraméterezve elkészíthető a probléma szimulációja. A szimuláció célja, hogy egy kiskocsi mozgását úgy szabályozza, hogy a rajta csuklóval rögzített, függőleges rudat egyensúlyban tartsa. A szimuláció epizódokon keresztül fut. Egy epizód akkor ér véget, ha a rúd eldől, illetve a kiskocsi falnak ütközik, tehát ha sikertelen a szabályozás, vagy akkor, ha sikerül a rudat egyensúlyban tartani 1000 lépésen keresztül, tehát ha a szabályozás sikeres. A legnagyobb jutalom úgy érhető el, hogy a rúd teljesen függőleges helyzetben van, és a kiskocsi egyenlő távolságra van a falaktól. Sikertelenség esetén pedig a jutalom negatív. Az állapot-akció-érték függvényt reprezentáló fuzzy szabályok a következőképpen néznek ki: HA s 1 = A 1,i ÉS s 2 = A 2,i ÉS s 3 = A 3,i ÉS s 4 = A 4,i ÉS a = A 5,i AKKOR q = B i Látható, hogy az állapotteret 4, az akciót pedig 1 változó írja le, ezek a következőek: s 1 a kiskocsi elmozdulása a középponttól, s 2 a kiskocsi sebessége, s 3 a rúd függőlegestől való eltérése, s 4 a rúd szögsebessége, a a kiskocsi beavatkozó akciója. Az antecedens részben használt kifejezések a következőek az állapotok leírásához: Negatív (N), Zérus (Z), Pozitív (P), 3 többszörösei [-12, 12 ] tartományban: (N12, N9, N6, N3, Z, P3, P6, P9, P12), és az akciók leírásához: negatívtól pozitívig 0.1 felbontással: AN10-AP10, Z. Ennél a példa alkalmazásnál az inkrementálisan építkező módszer egy 182 szabályból álló szabálybázist hoz létre. Ebből a szabálybázisból kiindulva a I. és II. stratégiákat követve ez 183 epizód iterációt jelent (182 minden egyes szabályra, illetve 1 a helyes összesített jutalom és lépésszám meghatározása, bármely szabály eltávolítása nélkül), és nagy eséllyel iterációnként egyel kevesebb szabály lesz a szabálybázisban, így folyamatosan csökken a számítási igény is. A különböző stratégiák eredménye látható a 3. 4. és 5. ábrán.

3. ábra. A szabályok számának változása az I. stratégiát követve 4. ábra. A szabályok számának változása a II. stratégiát követve 5. ábra. A szabályok számának változása a III. stratégiát követve, abban az esetben, ha a jutalmak pontos egyezése nem követelmény Az redukció sikeressége két különböző feltétel szerint lett meghatározva. Először az összesített jutalmaknak szigorúan egyezniük kellett a redukált és az eredeti, inkrementálisan felépített szabálybázis használatával. A másik esetben pedig az összesített jutalmak között bármekkora eltérés lehetett, azzal a feltétellel, hogy összességében az feladatot teljesíti a redukált szabálybázis. Természetesen így a megoldáshoz vezető lépések eltérhetnek a két esetben, de mégis mindkét esetben sikeresek lesznek az epizódok.

Az minta alkalmazást a fentiek szerint futtatva a legkisebb szabálybázis az I. és II. stratégia szerint mindössze 7 szabályból áll, továbbá ha megengedett az eltérés a jutalmakban, akkor egy 5 szabályból álló szabálybázis is elegendő a probléma megoldásához. Ezek a szabálybázisok láthatóak a következőekben. A végleges szabálybázisban található szabályok listája, abban az esetben, amikor pontos jutalom egyezés volt kikötve: R# s 1 s 2 s 3 s 4 a Q 1 P Z Z P AP10 1325.1 2 P Z N3 N AN10 1316.5 3 P Z Z N AN8 1322 4 P Z N3 P AP8 1317.1 5 N Z N12 N AP10-5251.7 6 P P Z N AN8-3100.5 7 P Z P12 P AP4-6617.7 A szabályokat a következőképpen lehet értelmezni természetes nyelven: 1. Ha jobbra van a középponttól és nem mozog a kiskocsi és rajta a rúd egyenes viszont jobbra dől, akkor teljes gőzzel jobbra. 2. Ha jobbra van a középponttól és nem mozog a kiskocsi és rajta a rúd kicsit balra áll, de nem dől épp semerre, akkor teljes gőzzel balra. 3. Ha jobbra van a középponttól és nem mozog a kiskocsi és rajta a rúd egyenes viszont balra dől, akkor erősen balra. 4. Ha jobbra van a középponttól és nem mozog a kiskocsi és rajta a rúd kicsit balra áll és a rudat a lendület jobbra viszi, akkor erősen jobbra. 5. Ha balra van a középponttól és nem mozog a kiskocsi és rajta a rúd erősen balra áll és balra dől, akkor jobbra menni tilos. 6. Ha jobbra van a középponttól és jobbra halad a kiskocsi és rajta a rúd egyenes viszont balra dől, akkor erősen balra menni tilos. 7. Ha jobbra van a középponttól és nem mozog a kiskocsi és rajta a rúd erősen jobbra áll és a rudat a lendület jobbra viszi, akkor közepes erővel jobbra menni tilos. A végleges szabálybázisban található szabályok listája, abban az esetben, amikor a pontos jutalom egyezés nem volt feltétel: R# s 1 s 2 s 3 s 4 a Q 1 P Z Z P AP10 1325.1 2 P Z N3 N AN10 1316.5 3 P Z Z N AN8 1322 4 P P Z N AN8-3100.5 5 P Z P12 P AP6-6446.9

Továbbá a III. stratégia szempontjából jelentős, hogy az egyes stratégiák egymáshoz képest milyen gyorsan fejezik be a redukciós folyamatot. Az alábbi táblázatból tisztán látható, hogy a csoportos szabály elimináció nagyságrendekkel gyorsabb futást eredményez. Ebben az esetben egy olyan szabálybázis az eredmény, amely szintén 7 szabályból áll és csak egyetlen szabályban tér el a I. és II. stratégia által előállított szabálybázistól. Érdekes eredmény továbbá a III. stratégiánál a zéró és a végtelen toleranciával redukált szabálybázisok különbsége: a szabályok száma mindkettőben 7, viszont kizárólag egyetlen közös szabályuk van (lásd a következőekben). A végső szabálybázis a III. stratégiát követve zéró jutalomeltérés toleranciával: R# s 1 s 2 s 3 s 4 a Q 1 P Z Z P AP10 1325.1 2 P Z N3 N AN10 1316.5 3 P Z Z N AN8 1322 4 P Z N3 P AP8 1317.1 5 N Z N12 N AP10-5251.7 6 N P N12 N AN8-5038.7 7 P Z P12 P AP4-6617.7 A végső szabálybázis a III. stratégiát követve bármekkora jutalomeltérést megengedve (az epizód sikere továbbra is követelmény): R# s 1 s 2 s 3 s 4 a Q 1 P N P12 P AP10-6118.1 2 P N P12 P Z -4012.2 3 P P N12 N AP7-5140.9 4 P P N12 N AP5 5379 5 P Z P12 P AN1-5710.3 6 P Z P12 P AP4-6617.7 7 P N P12 P AN9-5766.9 A különböző redukciós stratégiák eredményei összefoglalva, a Cart-Pole probléma esetén: Stratégia Epizódok száma Szabályok száma Futási idő I. 0 diff 183 7 3445 s I. diff 183 5 3442 s II. 0 diff 183 7 3484 s II. diff 183 5 3432 s III. 0 diff 63 7 256 s III. diff 35 7 101 s

B. A Mountain Car probléma Ebben az alkalmazás példában egy kisautót kell úgy irányítani, hogy ki tudjon jönni egy völgyből. Önerőből erre képtelen, mivel nincs annyi ereje, hogy leküzdje az emelkedőt, ezért lendületből kell felmennie a hegyoldalon. Az eredeti diszkrét térben működő alkalmazás az előzőhöz hasonlóan nyílt forráskódú, José Antonio Martin H. implementációja [3]. Ezen alkalmazás jutalomfüggvényének, akció hatás függvényének és vizualizácós részének újrahasznosításával készült el az FRIQ-tanulási keretrendszert használó verzió. Itt az állapot-akció-érték függvényt reprezentáló fuzzy szabályok alakja a következő: HA s 1 = A 1,i ÉS s 2 = A 2,i ÉS a = A 5,i AKKOR q = B i Az állapotteret két, az akciót pedig egy változó írja le, ezek a következőek: s 1 a kiskocsi pozíciója, s 2 a kiskocsi sebessége, a a kiskocsi meghajtása (bal, jobb, nincs hajtás - álló helyzet). A használt nyelvi fogalmak s 1 esetén: P1 P10 ( P, mint pozíció ebben az esetben), s 2 esetén N3,N2,N1,P1,P2,P3 ( N, mint negatív, P, mint pozitív). A jutalom arra jár, ha a kiskocsi eléri a hegy tetején lévő célpontot, egyéb esetben negatív a jutalom. A FRIQ-tanulással az inkrementálisan felépített szabálybázis 110 szabályt tartalmaz a kiskocsi szabályzásához. Az I. és II. redukciós stratégiát alkalmazva ezen a szabálybázison, az eredményül kapott végső szabálybázis, ami képes megoldani a problémát 28 szabályt tartalmaz: R# s 1 s 2 a Q 1 P6 N1 Z -1457.3 2 P6 P1 P -1480.2 3 P5 N1 P -1409.8 4 P5 P1 N -1448.5 5 P5 P1 Z -1449.3 6 P4 P1 P -1224.8 7 P4 P1 Z -1048.8 8 P7 N1 N -1208.2 9 P4 N1 Z -1012.5 10 P3 N1 P -982.4 11 P4 P2 Z 265.83 12 P8 N1 P -1054.1 13 P7 N1 P -1141.1

14 P7 P1 P 507.95 15 P8 N1 N -645.27 16 P9 P1 N 1493.7 17 P2 N1 P -87.678 18 P2 P1 P -967.03 19 P7 N2 P -339.02 20 P3 P1 Z -981.16 21 P3 P2 N -899.92 22 P8 N1 Z -1060.2 23 P3 P2 Z 136.86 24 P10 P1 P 4072.4 25 P4 N3 P -226.92 26 P6 P2 Z 154.83 27 P8 P2 Z -347.34 28 P5 N3 N -478.21 A redukció folyamata látható a 6. és 7. ábrán. A II. stratégia folyamata nagyon hasonló a I. stratégia folyamatához, ezért ez különállóan nem kerül bemutatásra. Az I. és II. stratégia teljes futási ideje kb. 134 s mindkét esetben, ellenben a III. stratégia kb. 388 s időt vett igénybe, mire az algoritmus megtalálta a legkisebbnek ítélt szabálybázist. A Cart-Pole példával ellentétben a csoportos szabály elimináció (III. strat.) jóval több számítási kapacitást vett igénye ennél a példánál, ellenben az I. és II. stratégiához képest egyel kevesebb szabályból (27 db) álló szabálybázist hozott létre. Utóbbi szabálybázis 26 szabálya megegyezik a I. és II. stratégia szabálybázisának szabályával. 6. ábra. A szabályok számának változása a I. stratégiát követve

7. ábra. A szabályok számának változása a III. stratégiát követve C. Az AcroBot probléma Az AcroBot mintapéldában egy rögzített csuklós robotkar szabályzását kell úgy megvalósítani, hogy a középső csuklóját mozdítva az egész kar felálljon függőleges pozícióba. Az eredeti diszkrét térben működő alkalmazás az előző két alkalmazáshoz hasonlóan nyílt forráskódú, José Antonio Martin H. implementációja [3]. Itt az állapot-akció-érték függvényt reprezentáló fuzzy szabályok alakja, hasonlóan a Cart- Pole problémához, a következő: HA s 1 = A 1,i ÉS s 2 = A 2,i ÉS s 3 = A 3,i ÉS s 4 = A 4,i ÉS a = A 5,i AKKOR q = B i Az állapotteret két, az akciót pedig egy változó írja le, ezek a következőek: s 1 az alsó rész függőlegessel bezárt szöge, s 2 az felső rész függőlegessel bezárt szöge, s 3 az alsó rész szögsebessége, s 4 az felső rész szögsebessége, a a kar elmozdításának iránya (bal, jobb, álló helyzet). A jutalom arra jár, ha a kar eléri a függőleges pozíciót, egyéb esetben negatív a jutalom. A FRIQ-tanulással az inkrementálisan felépített szabálybázis 367 szabályt tartalmaz a kar szabályzásához. Az I. és II. redukciós stratégiát alkalmazva ezen a szabálybázison, az eredményül kapott végső szabálybázis, ami képes megoldani a problémát 191 szabályt tartalmaz. Ugyanezt a III. stratégiával redukálva, egy 168 szabályt tartalmazó szabálybázis a

végeredmény. Ezen példán keresztül jól látható, hogy a szabályok egymásra is hatással vannak és ebben ez esetben a csoportos szabályeltávolítással összességben jobb eredmény érhető el, mint a I. és II. stratégiával, ahol egy lépésben csak egy szabály kerül eltávolításra a szabálybázisból. Az AcroBot FRIQ-tanulási példa redukciós folyamata I. stratégiával a következő ábrákon követhető nyomon, a II. stratégia nagyon hasonló az I. stratégiához (8. ábra), így az külön nem kerül bemutatásra. A III. stratégia végrehajtási folyamata az 9. ábrán figyelhető meg. Az I. és II. stratégia teljes futási ideje kb. 240 s mindkét esetben, ellenben a III. stratégia kb. 472 s időt vett igénybe, mire az algoritmus megtalálta a legkisebbnek ítélt szabálybázist. 8. ábra. A szabályok számának változása az I. stratégiát követve 9. ábra. A szabályok számának változása a III. stratégiát követve

Konklúzió A bemutatott redukciós stratégiák eredményesen képesek csökkenteni az FRIQ-tanulási módszerrel inkrementálisan felépített fuzzy szabálybázisokat. A kifejlesztett FRIQ-tanulási keretrendszerben implementált három mintapéldán végrehajtva a különböző redukciós stratégiákat, a végeredményként kapott redukált szabálybázis jelentősen kevesebb szabályt tartalmaz, mint az eredeti szabálybázis, és ezzel a csökkentett szabálybázissal is képes a kitűzött feladat elérésére. A futási eredmények igazolják, hogy a módszerek hatékonysága a konkrét probléma leíróitól és paramétereitől függ. Továbbá, hogy a redukció során a szabályok eltávolítása más bent maradt szabályok hatását felerősítheti, és ezt a szabályok eltávolításának sorrendje is befolyásolhatja. Ezek a megfigyelések az eddigi redukciós stratégiák további fejlesztéséhez adhatnak elvi alapot, pl. korábban kardinálisnak jelölt szabályok újbóli ellenőrzése, vagy az egymáshoz közeli szabályok összevonása. Köszönetnyilvánítás A kutatás a TÁMOP 4.2.4.A/2-11-1-2012-0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése konvergencia program című kiemelt projekt keretében zajlott. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. Hivatkozások [1] Vincze, D., Kovács, Sz.: Fuzzy Rule Interpolation-based Q-learning, SACI 2009, 5th International Symposium on Applied Computational Intelligence and Informatics, Timisoara, Romania, May 28-29, 2009, ISBN: 978-1-4244-4478-6, pp. 55-59. [2] Vincze, D., Kovács, Sz.: Incremental Rule Base Creation with Fuzzy Rule Interpolation- Based Q-Learning, I. J. Rudas et al. (Eds.), Computational Intelligence in Engineering, Studies in Computational Intelligence, Volume 313/2010, Springer-Verlag, Berlin Heilderberg, 2010, pp. 191-203. [3] http://www.dia.fi.upm.es/~jamartin/download.htm

Az FRIQ-tanulási keretrendszer használata A keretrendszer számos.m MATLAB szkriptfileból áll ( FRIQ_ kezdetűek). Ezek között megtalálhatóak a fentebb bemutatott minta alkalmazások forráskódjai is ( FRIQ_example_ kezdetű fileok). Alapvetően elegendő definiálni az állapotleírókat és akciókat, továbbá ezekhez a megfelelő jutalomfüggvényt és az akciók hatását leíró függvényt. A paraméterek definiálására több példa is található, ezek a _setup.m végű fileokban találhatóak (az érvényes paraméterek leírását lásd lentebb). Ezek beállítása után pedig az FRIQ_mainloop() függvény meghívásával indítható a szimuláció. A keretrendszer által értelmezett paraméterek listája és szerepük: FRIQ_param_appname A keretrendszert használó alkalmazás rövid neve FRIQ_param_apptitle A keretrendszert használó alkalmazás ablakának címsorában megjelenítendő szöveg FRIQ_param_states Az állapotleírók definíciója FRIQ_param_statedivs Az állapotleírók közötti osztás FRIQ_param_states_default A rendszer kezdőállapota FRIQ_param_states_steepness Az állapotleírók fuzzy halmazainak háromszög alakú tagsági függvényeinek meredekségeit adja meg FRIQ_param_actions A lehetséges akciók felsorolása FRIQ_param_actiondiv A lehetséges akciók közötti osztás FRIQ_param_FIVE_UD A FIVE FRI módszernek paraméter. Az állapotleírók és akciók alaphalmazát írja le.

FRIQ_param_qdiff_pos_boundary Az a határérték, ami felett új szabály szúrható be, ez alatt csak a már létező szabályok Q értékei frissülnek (pozitív jutalom esetén) FRIQ_param_qdiff_neg_boundary Az a határérték, ami alatt új szabály szúrható be, efelett csak a már létező szabályok Q értékei frissülnek (negatív jutalom esetén) FRIQ_param_qdiff_final_tolerance A redukciós folyamat közben FRIQ_param_reward_good_above Ezen összesített jutalom érték felett minősül sikeresnek az epizód (redukciónál) FRIQ_param_reduction_reward_tolerance A redukciós folyamatban mekkora a tűréshatár jutalmak között FRIQ_param_norandom Ha értéke 1, akkor nincsen véletlenszerű akció választás FRIQ_param_drawsim Ha értéke 1, akkor minden lépésben meghívásra kerül a vizualizációs függvény FRIQ_param_maxsteps Egy epizódon belüli maximális lépések száma FRIQ_param_alpha Tanulási ráta (Q-tanulás paraméter) FRIQ_param_gamma Leértékelési tényező (Q-tanulás paraméter) FRIQ_param_epsilon A véletlenszerű akció választás valószínűsége FRIQ_param_construct_rb Ha értéke 1, akkor lefut az inkrementális szabálybázis építési folyamat FRIQ_param_reduce_rb

Ha értéke 1, akkor lefut a redukciós folyamat FRIQ_param_reduction_strategy Az alkalmazni kívánt redukciós stratégia megadása (1,2,3) FRIQ_param_doactionfunc Annak a függvénynek a neve, ami az akciók hatását adja meg FRIQ_param_rewardfunc Annak a függvénynek a neve, ami a jutalmat határozza meg ki FRIQ_param_drawfunc Annak a függvénynek a neve, ami a vizualizációt végzi FRIQ_param_quantize_observationsfunc Annak a függvénynek a neve, ami a megfigyelt bemeneti állapotot kvantálja (használható a keretrendszer beépített kvantáló függvénye is)