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

Slides:



Advertisements
Hasonló előadás
Grafikus tervezőrendszerek programozása 10. előadás.
Advertisements

UML Példa © Fülöp Lajos.
Delphi programozás alapjai
Számítógépes geometriai leíró nyelvek
Számítástechnika Levelezőknek
Adatbányászati technikák (VISZM185)
Táblázat kezelő programok
A Windows 7 automatizált telepítése Windows AIK használatával
Útmutató Java telepítéséhez windows 7-re
Programozás II. 3. Gyakorlat C++ alapok.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Címsor menüsor ikonsor munkaterület (ikonsor) állapotsor.
Alapok 2013/2014, őszi szemeszter gyakorlati foglalkozás Automatizálási tanszék.
Megatrend Rt. INFOSYS-v2 CONTROLLING CO330. Controlling.
Dr.Ozsváth Károly TF Kommunikációs-Informatikai és Oktatástechnológiai Tanszék.
PTE Természettudományi Kar
Készítette: Keszthelyi Zsolt
6. előadás Hatókör, láthatóság, élettartam. Változók leképzése a memóriára. Blokkszerkezetes nyelvek. Kivételkezelés.
Az Input-Output használata Az input-outputot a nyelv előredefiniált csomagokon keresztül valósítja meg. Mindegyik csomag az Ada alapcsomag gyereke.
Táblázatkezelés Az Excel.
Programozási technológia 1
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
PTE PMMK Matematika Tanszék dr. Klincsik Mihály Matematika III. előadások MINB083, MILB083 Gépész és Villamosmérnök szak BSc képzés 2007/2008. őszi félév.
Vizuális és web programozás II.
Táblázatok beillesztése, formázása dokumentumokban
Mikrovezérlők, perifériák laboratóriumi gyakorlat 3. óra szeptember 18. Mingesz Róbert v
29. Előadás Dr. Pauler Gábor, Egyetemi Docens
Állomány és lemezműveletek
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Készítette: Rummel Szabolcs Elérhetőség:
Tanulást könnyítő segédprogramok
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Visual Basic 2008 Express Edition
Műszer vezérlő - kezelő program GPI-745A teszterhez.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
A gyakorlatok munkakörnyezete
Egyenesvonalú (lineáris) adatszerkezetek
2. Gyakorlat Zalatnai Csongor
Az NVU webszerkesztő program
5. gyakorlat Fleiner Rita.
A C++ nyelv.
Turócziné Kiscsatári Nóra
A Visual Basic nyelvi elemei
RAD Studio XE5: menük felépítése
Egyéb interpreterek Windows Script Host Internet Explorer Hypertext application.
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Számítógépes grafika I. AUTOCAD alapok
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
A 2. géptermi beszámoló VBA anyagának összefoglalása
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék R „Big Data” elemzési módszerek Kocsis Imre
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Az SPSS programrendszer.
Reverse Engineering Rendszerfejlesztés II. 2. óra.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Alapok Gyakorlat 2015/16 őszi szemeszter Automatizálási tanszék.
Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining 11. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika.
Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining 16. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika.
2004 május 27. GÉPÉSZET Komplex rendszerek szimulációja LabVIEW-ban Lipovszki György Budapesti Műszaki Egyetem Mechatronika, Optika és Gépészeti.
Információ és kommunikáció
BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR
„Designer-barát” játéklogika
PTE Természettudományi Kar
A CLIPS keretrendszer
Útmutató Java telepítéséhez windows 7-re
Táblázatkezelés Az Excel.
B M Java Programozás 5. Gy: Java alapok IT A N Adatkezelő 1.rész
Előadás másolata:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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!

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