Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining 29. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika.

Hasonló előadás


Az előadások a következő témára: "Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining 29. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika."— Előadás másolata:

1

2 Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining 29. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/ / Készült a PTE Alapítvány támogatásával

3 A gyakorlat tartalma 28. Házi Feladat: összetett határidős ügyletek XFuzzy 3.0 fuzzy rendszer tervező shell Telepítése Rendszertervezés –Fuzzy rendszer szerkesztő –Operátorszerkesztő –Nyelvi változó típus szerkesztő –A fuzzy értékek lehetséges típusai –I/O nyelvi változók hozzáadása –Szabálybázis szerkesztő Mátrixos definíció Táblázatos definíció Nyelvi definíció –A szabálybázis meghívása –Rendszerstruktúra szerkesztés –A megvalósítási csomag szerkesztése A fuzzy rendszer verifikációja –2D diagramm, 3D diagramm –Monitoring és szimuláció A fuzzy rendszer szintézise –Felügyelt tanulás –Kódgeneráció Java, C, C++ nyelveken 29. Házi Feladat: Vezérlési függvény tervezés Szakirodalom

4 Az XFuzzy3.0 Telepítése A Instituto de Mictroelectronica de Sevilla (IMSE), Spanyolország által fejlesztett XFuzzy3.0 Java-alapú, GNU Public licenszes (nem üzleti célra szabadon felhasználható) fuzzy rendszer tervező shell (http://www.imse.cnm.es/Xfuzzy/), amely költségtakarékosan biztosítja a FuzzyTech funkcionalitásának 90%-áthttp://www.imse.cnm.es/Xfuzzy/ Telepítéséhez töltsük le az INSTALL.CLASS telepítőfájlt (1.4Mb) a 0/download.html#DISTRIBUTION lapról 0/download.html#DISTRIBUTION -A telepítő és a rendszer futtatásához szükség lesz minimálisan a Java Runtime Environment (JRE) 5.0 telepítésére, ami a ex.jsp címen érhető el ex.jsp -Telepítő futtatása: Start menü| Futtatás…| JAVA INSTALL -Rákérdez, hova telepítse, pl: C:\XFuzzy -Létrehoz egy \BIN alkönyvtárat, itt lesznek a futtatható részek -\BIN\XFUZZY.BAT – tal indítható a rendszer grafikus szerkesztője -A vele párhuzamosan futó DOS-ablakot nem szabad bezárni, amíg ez fut katt

5 Rendszertervezés 1 Az XFuzzy filozófiája 2 lényeges pontban tér el a FuzzyTech-étől: A Fuzzy rendszer finomhangolása nem a szabálysúlyok, hanem a fuzzy operátorok és nyelvi módosítók beállításain alapul Élesen szét van válaszva a fuzzy rendszer elméleti terve (Fuzzy System), és az adott hardver-szoftver környezetbeli matematikai megvalósítási csomagja (Package). Ezek külön fájlokban tárolódnak és külön ablakokban nyithatók meg: Fuzzy rendszerek (Available Systems) ablak: -File| New/ Load system-mel létrehoz/ betölt egy *.xfl fáljban tárolt fuzzy rendszert, rákattintva kijelöli használatra Csomagok (Available Packages) ablak: -File| New/ Load package-vel létrehoz/ betölt egy *.pkg fáljban tárolt fuzzy rendszert, rákattintva kijelöli használatra -Az alapértelmezett csomag: \pkg\xfl.pkg Fuzzy rendszer szerkesztő (XFedit): Design| Edit System menüvel indul Name gomb: a fuzzy rendszer neve katt

6 Rendszertervezés 2 Operátorhalmaz (Operatorset) definíció: a rendszer által használt összes fuzzy operátor tipus szótára: Edit| New operator set-el újat kérünk Name gomb: az operátorhalmaz neve Az aktuális package tartalmából kiválasztjuk a fuzzy operátor- függvényeket, alapértelmezésben ezek a következők: És (And): min Vagy (Or): max Output kiadása (Implication): min Tagadás (Not): 1-  Szintén (Also): max Nagyon (Very):  2 Többé-kevésbé (Moreorless):  0.5 Kevéssé (Slightly): 4  (1-  ) Defuzzifikáció: CoA A beállítások mindenkoron File| Save System As… menüvel menthetők egy *.XFL fájlba, pl.: MyFirstSystem.xflMyFirstSystem.xfl katt

7 Rendszertervezés 3 Nyelvi változó típus (Type) definíció: Edit| New type-al újat kérünk, belép a Type Creation ablakba: Name: Alapváltozó neve Parent: a szülőtípus, ahonnan örökölhet már definiált értékeket (opcionális) Min, Max, Cardinality: alapváltozó min, max, felbontása (diszkrét változóknál) No.MFs: fuzzy értékek száma Extends: Fuzzy értékekrendszer: Háromszöges: outputnak, szakaszonként lineáris vezérlési függvényhez Trapézos: outputnak, lépcsős-lejtős vezérlési függvényhez Haranggörbés: outputnak, folytonos görbe vezérlési függvényhez Vállas háromszöges: inputnak Vállas haranggörbés: inputnak Szingletonos: nem fuzzifikálható rendszer részekhez, pl. nominális kategóriaváltozók Create gomb: átlép a Type Editor ablakba –Ins/Del: fuzzy értékek beszúrása/ törlése –Duplakatt az értéklistán: az érték Parameter Selection ablakába lép Label:értéknév, Function:függvény- típus, a, b, c, d: paraméterek katt kat- kat kat- kat katt

8 Rendszertervezés 4 A fuzzy értékek lehetséges függvénytípusai és paraméterezésük: Triangle (a,b,c): általános háromszög Trapezoid (a,b,c,d): trapéz Isosceles (a,b): szimmetrikus háromszög a középponttal b szélességgel Slope (a,b): szakaszonként lineáris S görbe a középponttal, b meredekséggel Bell (a,b): haranggörbe a csúcsponttal, b szélességgel Sigma (a,b): logisztikus görbe a inflexiós ponttal, b meredekséggel Rectangle (a,b): éles intervallum Singleton (a): éles érték I/O változó (I/O Variables) definíció: Edit| New Input/Output Variable menükben újat kér, Variable properties ablak megjelenik: –Name: az I/O változó neve –Type: típusa, az előzetesen defináltak közül katt

9 A gyakorlat tartalma 28. Házi Feladat: összetett határidős ügyletek XFuzzy 3.0 fuzzy rendszer tervező shell Telepítése Rendszertervezés –Fuzzy rendszer szerkesztő –Operátorszerkesztő –Nyelvi változó típus szerkesztő –A fuzzy értékek lehetséges típusai –I/O nyelvi változók hozzáadása –Szabálybázis szerkesztő Mátrixos definíció Táblázatos definíció Nyelvi definíció –A szabálybázis meghívása –Rendszerstruktúra szerkesztés –A megvalósítási csomag szerkesztése A fuzzy rendszer verifikációja –2D diagramm, 3D diagramm –Monitoring és szimuláció A fuzzy rendszer szintézise –Felügyelt tanulás –Kódgeneráció Jav, C, C++ nyelveken 29. Házi Feladat: Vezérlési függvény tervezés Szakirodalom

10 Rendszertervezés 5 Szabálybázis szerkesztő (Rulebase Edition): Edit| New rulebase menüvel indul Name: szabálybázis neve Operatorset: operátorhalmaz kiválasztása I/O variables + Ins billentyű: I/O változók –Name: változó neve –Type: típusa Mátrixos definíció (Matrix Form): Csak 2 input, 1 output változó esetén működik Cellákba értékcímkéket lehet csak beírni Szabály súlyok nem szerkeszthetők vele Táblázatos definíció (Table Form): Szabálysúly + változónkénti oszlopok Csak == relációk változók és értékek közt Lehetnek Don’t Care szabályok Nem tud több szabályt 1 cellában kezelni katt Ins katt Ins katt

11 Rendszertervezés 6 Nyelvi definíció (Free Form): - [Factor]: szab á lys ú ly, opcion á lis - IF: felt é teli r é sz, építőelemei: -Klauzulák: - Variable : fuzzy nyelvi változó -Relációk: ==, =,, != -nem egyenlő -Fuzzy relációk: %= - slightly equal, ~= - moreorless equal, += - very equal -M.F.: (fuzzy)relációval kapcsolt fuzzy érték -Az érték nyelvi módosítói: +() - very, ~() - moreorless, %() - slightly -Klauzulákat kapcsoló fuzzy operátorok: ()&() -És, ()|() - V agy, !() - N em - →: k ö vetkezm é ny rész, output érték (Conclusion): Variable = Label katt

12 Rendszertervezés 7 Szabálybázis meghívása (Available Rulebases): Edit| New rulebase call menüvel: Szabálybázis kiválasztása: MyFirstRuleBase Create gombra a szabálybázis megjelenik a rendszerstruktúra diagrammon Rendszerstruktúra (System Structure) szerkesztése: egérhúzással összekötögetni: -Az inputokat a szabálybázisok bemenő változóival -Szabálybázisközi intermedier változókat -Szabálybázist az output változóval A rendszermegvalósítási csomag szerkesztése (XFpkg): a package szerkesztő eszköz -Aktuális csomag kijelölése az Available Packages ablakban: XFL -Design| Edit Package menüvel megnyílik az XFpkg package szerkesztő.A package részei: -Name: package név -Unary/Binary functions: egy/kétváltozós operátotok -Membership functions: tagságfüggvények -Defuzzification: defuzzifikáció -A package elemeinek definíciója: -Name: elem neve, Alias: álneve(i) -Parameters: elem paraméterei -Java, C, C++: elem programkódjai -Derivative: elsőrendű parciális deriváltjának kódja Java-ban, szimulációhoz katt húz

13 A gyakorlat tartalma 28. Házi Feladat: összetett határidős ügyletek XFuzzy 3.0 fuzzy rendszer tervező shell Telepítése Rendszertervezés –Fuzzy rendszer szerkesztő –Operátorszerkesztő –Nyelvi változó típus szerkesztő –A fuzzy értékek lehetséges típusai –I/O nyelvi változók hozzáadása –Szabálybázis szerkesztő Mátrixos definíció Táblázatos definíció Nyelvi definíció –A szabálybázis meghívása –Rendszerstruktúra szerkesztés –A megvalósítási csomag szerkesztése A fuzzy rendszer verifikációja –2D diagramm, 3D diagramm –Monitoring és szimuláció A fuzzy rendszer szintézise –Felügyelt tanulás –Kódgeneráció Jav, C, C++ nyelveken 29. Házi Feladat: Vezérlési függvény tervezés Szakirodalom

14 A fuzzy rendszer verifikációja 1 2D vezérlési függvény diagramm (XF2dplot): Verification| 2D Plot menüvel indul X, Y tengelyre változót lehet választani Fixed value:más változók értékét rögzíti X Axis: a tengely felbontásának állítása Plot gomb: diagramm kirajzolása 3D vezérlési függvény diagramm (XF3dplot): Verification| Surface 3D Plot indítja X, Y, Z tengelyre változót lehet választani Number of Samples: a diagramm felbontását lehet állítani Két gördítősávval forgatni lehet Monitoring (XFmt): Verification| Monitoring menüvel indul Input values: változók kézi állítása Szabálybázison kattint: szabályaktivá- ciós szintek, fuzzy eredményhalmaz Output value: éles output érték katt

15 A fuzzy rendszer verifikációja 2 Szimulációval rendelkező rendszer megnyitása: File| Load system| truck.xfl - egy kamion kormányvezérlése tolatás közbentruck.xfl Szimulátor(XFsim):Verification|Simulationmenü Plant model: a hozzátartozó szimulátor algoritmus (pl. TruckModel.java,) *.CLASS lefordítását (pl. TruckModel.class) nyitja megTruckModel.javaTruckModel.class Load gomb: a szimuláció határértékeit (Simulation Limit), kezdőértékeit (Initial values), diagrammjait (Simulation output) tartalmazó *.CFG fájlt nyit meg (pl. truck.cfg), de ezek kézi szerkesztéssel felülbírálhatóktruck.cfg Run gomb: a szimuláció futtatása, diagram- mok, rendszerállapot (Plant State), éles output (Fuzzy System Out- Put) kijelzése Save: eredmé- nyek fájlba mentése katt

16 A fuzzy rendszer szintézise 1 A fuzzy rendszer tanítása (XFsl): Tuning| Supervised learning menü Erről a funkcióról a Lesson33-ban lesz szóLesson33 A fuzzy rendszer szintézise (XFj, XFc, XFcpp): Háromféle nyelvre tudja a rendszert lefordítani: ANSI C Synthesys| To C menü MyFirstSystem.c kód-, és MyFirstSystem.h struktúraleíró fájlpárt generálMyFirstSystem.c MyFirstSystem.h void MyFirstSysemInferenceEngine(I1, I2,... O1, O2,...) a következtetési függvény C++ Synthesys| To C++ menü MyFirstSystem.cpp kód-, és MyFirstSystem.hpp struktúraleíró fájlpárt generálMyFirstSystem.cpp MyFirstSystem.hpp xfuzzy.cpp kód-, és xfuzzy.hpp struktúraleíró fájlpárt generálxfuzzy.cppxfuzzy.hpp void MyFirstSysemInferenceEngine(I1, I2,... *O1, *O2,...) a következtetési függvény Java Synthesys| To Java menü MyFirstSystem.java, FuzzyInferenceEngine.java, MembershipFunction.java, FuzzySingleton.java fájlok generációjaMyFirstSystem.java FuzzyInferenceEngine.java MembershipFunction.java FuzzySingleton.java katt

17 29-1 Házi Feladat: Vezérlési függvény tervezés Modellezze az alábbi 2 input (X és Y) és egy output (Z) változós vezérlési függvényt FuzzyTech-ben! A megoldáshoz mellékelje a 3D diagrammot, a nyelvi változó szerkesztőket képként és a matrix editor tartalmát szöveges fájlban!(5p) A megoldás: 29-1Megoldas.doc29-1Megoldas.doc Hmm… és mondja még valaki, hogy a matek unalmas dolog!

18 Szakirodalom -Támogatás és műszaki tanácsadás ben: -XFuzzy3 Manual angolul: XFuzzy3Manual.pdfXFuzzy3Manual.pdf -XFuzzy3 Manual jegyzetei CANAL formátumban magyarul: XFuzzyManualNotes.docXFuzzyManualNotes.doc


Letölteni ppt "Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining 29. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika."

Hasonló előadás


Google Hirdetések