1 / 17

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

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/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu

giulio
Download Presentation

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pécsi TudományegyetemPollack Mihály Műszaki KarMűszaki Informatika SzakData 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/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu 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 katt • 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 http://www.imse.cnm.es/Xfuzzy/Xfuzzy_3.0/download.html#DISTRIBUTION 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 http://java.sun.com/javase/downloads/index.jsp 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

  4. katt katt katt Rendszertervezés 1 katt katt 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

  5. katt katt Rendszertervezés 2 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

  6. katt katt Rendszertervezés 3 katt 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 kat- kat katt katt katt katt

  7. katt katt Rendszertervezés 4 katt 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

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

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

  11. katt Rendszertervezés 7 katt katt katt 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 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. katt katt 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

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

  15. katt A fuzzy rendszer szintézise 1 katt katt katt katt 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.hstruktú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.hppstruktú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

  16. 29-1 Házi Feladat: Vezérlési függvény tervezés Hmm… és mondja még valaki, hogy a matek unalmas dolog! • 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

  17. Szakirodalom • Támogatás és műszaki tanácsadás e-mailben: xfuzzy-team@imse.cnm.es • XFuzzy3 Manual angolul: XFuzzy3Manual.pdf • XFuzzy3 Manual jegyzetei CANAL formátumban magyarul: XFuzzyManualNotes.doc

More Related