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

29. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens

Hasonló előadás


Az előadások a következő témára: "29. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens"— Előadás másolata:

1 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/ /3725 Készült a PTE Alapítvány támogatásával

2 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

3 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%-át Telepítéséhez töltsük le az INSTALL.CLASS telepítőfájlt (1.4Mb) a lapról 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 címen érhető el 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 katt katt

4 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 katt katt katt katt katt katt

5 Rendszertervezés 2 katt katt 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-m Szintén (Also): max Nagyon (Very): m2 Többé-kevésbé (Moreorless): m0.5 Kevéssé (Slightly): 4m(1-m) Defuzzifikáció: CoA A beállítások mindenkoron File| Save System As… menüvel menthetők egy *.XFL fájlba, pl.: MyFirstSystem.xfl katt katt katt katt katt katt katt

6 Rendszertervezés 3 Nyelvi változó típus (Type) definíció:
katt 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 katt katt katt kat- kat katt katt katt katt

7 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 katt katt katt katt katt katt

8 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

9 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 Rendszertervezés 5 katt katt katt katt katt katt Ins Ins katt katt katt katt

10 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, ()|() -Vagy, !() -Nem →: következmény rész, output érték (Conclusion): Variable = Label Rendszertervezés 6 katt katt katt katt katt katt katt katt

11 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 Rendszertervezés 7 katt katt katt katt húz

12 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

13 A fuzzy rendszer verifikációja 1
katt katt 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 katt katt katt katt katt katt katt katt katt katt katt katt katt katt

14 A fuzzy rendszer verifikációja 2
katt Szimulációval rendelkező rendszer megnyitása: File| Load system| truck.xfl - egy kamion kormányvezérlése tolatás közben 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 meg 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ók 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 katt katt katt katt katt katt katt katt katt katt katt katt katt

15 A fuzzy rendszer szintézise 1
katt A fuzzy rendszer tanítása (XFsl): Tuning| Supervised learning menü Erről a funkcióról a Lesson33-ban lesz szó 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ál 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ál xfuzzy.cpp kód-, és xfuzzy.hpp struktúraleíró fájlpárt generál 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ója katt katt katt katt katt katt

16 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.doc Hmm… és mondja még valaki, hogy a matek unalmas dolog!

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


Letölteni ppt "29. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens"

Hasonló előadás


Google Hirdetések