260 likes | 448 Views
Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining. 29. Előadás Dr. Pauler Gá bor , Egyetemi Docens PTE-PMMFK Villamos Intézet 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
E N D
Pécsi TudományegyetemPollack Mihály Műszaki KarMűszaki Informatika SzakData Mining 29. Előadás Dr. Pauler Gábor, Egyetemi Docens PTE-PMMFK Villamos Intézet 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
Az előadás tartalma Inform Gmbh.: FuzzyTech 5.5.5 • Telepítése • Fuzzy rendszer előzetes tervezése varázslóval • Az elkészült alap fuzzy rendszer manuális finomítása • Fuzzy nyelvi változók • Változók varázsló • Változó szerkesztő • Fuzzy szabálybázisok • Szabálybázis varázsló • Adatbázis táblás formátumú szabálybázis szerkesztő • Kereszttáblás formátumú szabálybázis szerkesztő • Szöveges szabálybázis szerkesztő, Fuzzy rendszer lefordítása más nyelvre • A fuzzy rendszer debugolása • Analizáló eszközök • Transzformációs diagramm • 3D diagramm • Idő diagramm • Szabály analizátor, Szabály debugolás táblázatos szerkesztőben • Offline debug • Interaktív debug, Fájl rekorder • Rendszerállapot fájlba írása, Kötegelt feldolgozás • On-line debug • Monitor/ Monitor&Modify üzemmódok • Fuzzytech más alkalmazásokhoz kapcsolása • Távvezérlő modul használata • Dynamic Data Exchange Windowsban • FuzzyTech használata Excelből Szakirodalom
Inform Gmbh.: FuzzyTech 5.5.5 telepítése Az Inform Gmbh. FuzzyTech 5.5.5 (http://www.fuzzytech.com/ ) szoftvere a jelenlegi piacvezető fuzzy szabályalapú rendszer tervező shell: • Fejlett grafikus felhasználói felületet kínál fuzzy rendszerek tervezésére és tesztelésére • Neuro-fuzzy technológiák alkalmazásával automatikusan képes fuzzy szabályrendszereket összeállítani • Szinte bármely mikrokontrollereken használt programnyelvben képes legenerálni a fuzzy rendszert • Soros porton keresztül külső rendszerek vezérlésére is alkalmas • Szemléletes, grafikus, interaktív demók vannak hozzá FuzzyTech Demo telepítése • http://www.fuzzytech.comDemo menüpont • Regisztráció, FT555I.EXE (16Mb) letöltése, futtatása, a telepítő jelszó: purple • Ha sorozatszámként 000000-t írunk, műszaki szimulációs példákat telepít, ha 123456-ot, akkor üzletieket • Ajánlatos mégegyszer lefuttatni a telepítőt Repair üzemmódban és mindkét fajta példákat, plusz még nem a FuzzyTech által gyártott példákat is telepíteni katt katt katt katt
Fuzzy rendszer előzetes tervezése varázslóval 1 katt A Fuzzy tervező varázsló (FDW, Fuzzy Design Wizard) a File|Fuzzy Design Wizard menüvel vagy Nyuszi gombbal indul: Belépő képernyő (Welcome screen): • Új vagy létező rendszerhez? New • Van-e külső template *.FTL fájl? No Változók és értékek száma (Number of variables): • (Input, Intermedier, Output változók) • ×(Változók száma, Értékek száma változónként) Változó definíció (Variable definition) (annyiszor, ahány változó van): • Változónév • Alapváltozó minimuma / maximuma • Fuzzy értékek száma • Elnevezéseik, listából kiválasztva Output változók defuzzifikációs módszere (Defuzzyfication) • Center of Maxima / Mean of Maximum katt katt katt katt katt katt katt
Fuzzy rendszer előzetes tervezése varázslóval 2 katt katt Jobb katt katt Jobb katt Szabálybázisok definíciója (Define Rule Blocks) • Szabálybázisok száma: 1 • Hozza létre a szabálybázisokat? Igen • Szabályok random vagy manuális súlyt (DoS, Degree of Support) kapjanak: User Defined DoS = 0 • Legenerálja az összes lehetséges szabályt, a nyelvi változók Descartes-szorzataként, de mindegyik 0 súlyt kap egyelőre Létrehozza a fuzzy rendszert (Confirm)?Igen • Alapértelmezésben 2 input és egy output változós, egy szabálybázisos fuzzy rendszer projektet (Project) hoz létre A rendszer blokkdiagrammját a projekt szerkesztőben (Project Editor) tanulmányozhatjuk - Egérhúzással tudjuk mozgatni és összekötögetni az elemeket - Jobbkattra, előugró menüből tud új elemeket hozzáadni, illetve jönnek fel a tulajdonságaik - Duplakattra az elemek szerkeszthetők A rendszer komponensei megjelennek az objektum nézegetőben (Tree-View) • Jobbkattra , előugró menüből tud hozzáadni/törölni objektumokat a fában File| Save as… menüvel menthetjük az új projektet egy *.FTL kiterjesztésű szöveges script fájlba, ami különben szövegszerkesztővel is szerkeszthető (a demóban a mentés inaktiválva van) Jobb katt katt Jobb katt Kat- kat Jobb katt húz
Az előadás tartalma Inform Gmbh.: FuzzyTech 5.5.5 • Telepítése • Fuzzy rendszer előzetes tervezése varázslóval • Az elkészült alap fuzzy rendszer manuális finomítása • Fuzzy nyelvi változók • Változók varázsló • Változó szerkesztő • Fuzzy szabálybázisok • Szabálybázis varázsló • Adatbázis táblás formátumú szabálybázis szerkesztő • Kereszttáblás formátumú szabálybázis szerkesztő • Szöveges szabálybázis szerkesztő, Fuzzy rendszer lefordítása más nyelvre • A fuzzy rendszer debugolása • Analizáló eszközök • Transzformációs diagramm • 3D diagramm • Idő diagramm • Szabály analizátor, Szabály debugolás táblázatos szerkesztőben • Offline debug • Interaktív debug, Fájl rekorder • Rendszerállapot fájlba írása, Kötegelt feldolgozás • On-line debug • Monitor/ Monitor&Modify üzemmódok • Fuzzytech más alkalmazásokhoz kapcsolása • Távvezérlő modul használata • Dynamic Data Exchange Windowsban • FuzzyTech használata Excelből Szakirodalom
Preference Az elkészült alap fuzzy rendszer manuális finomítása: Fuzzy nyelvi változók 1 katt Változók varázsló (Variable Definition Wizard): • Bárhonnan Add New Variable-vel indul • Dinamikus fuzzy nyelvi változó definíciót (Dynamic Linguistic Variable Definition) tesz lehetővé: az alapváltozó átskáláz-ható a fuzzy értékei alatt, azok relatív helyzete nem változik Változó neve (Name) és fajtája (Type): • Bemenő (Input)/ Kimenő (Output)/ Köztes változók (Intermediate) Változó színkódja (Color) Fuzzifikációs módszere (Method): (csak input változóhoz) • Tagságfüggvény matematikai számolása (Compute MBF): lassabb, de pontosabb, memóriatakarékosabb • Tagságfüggvény lookup táblából (Lookup MBF): gyors, de pontatlanabb és sok memóriát fogyaszt • Többértékű fuzzy input (Fuzzy): más szabálybázis outputjaként jöhet be • Kategória változó (Categorical): nem folytonos az alapváltozója • Megjelenítő (Display): csak megjeleníti a változót, de nem használja fel Defuzzifikációs módszere (Defuzzyfication): (csak output változókhoz) • CoM: gyors, de pontatlanabb műszaki vezérléshez • MoM: mintafelismeréshez • CoA: lassabb, de pontosabb műszaki vezérléshez • Fuzzy: marad fuzzy, más szabálybázis inputja lesz, vagy többértékű output pl. tőzsdei árfolyam előrejelzéshez • Hyper CoM: megengedő-tiltó szabályok együtt • Force: a változó értékét kézzel a felhasználó állíthatja katt katt katt katt katt katt katt
Az elkészült alap fuzzy rendszer manuális finomítása: Fuzzy nyelvi változók 2 Az alapváltozójának értelmezési tartománya (Base variable range): • Min, Max, Default→ ezt mutatja, ha nincs tüzelő szabály és nem tud dönteni, mi legyen az alapértelmezett • Code Values: A minimum és a maximum bináris kódja. Az alapváltozóértékek számábrázolási felbontását a Tools| Project Options |Global alatt lehet állítani: 8bit unsigned integer/ 16bit unsigned integer/ 64bit Double • Unit: Mértékegység név Fuzzy értékeinek definíciója (MBF Definition): • Names: elnevezésük, beírható vesszővel elválaszva, vagy listából kiválasztható a megadott mintákból • Number: a fuzzy értékek száma • Shoulder: a szélső fuzzy értékek jellege • High: a szélső értékek tagsága maradjon 1 az alpváltozó értelmezési tartományának szélein, tipikusan inputoknál • Low: a széső értékek tagsága menjen le 0-ra az alpváltozó értelmezési tartományának szélein, tipikusan outputoknál • Width: egy közbülső fuzzy érték tartójának hány százaléka legyen a szélső fuzzy értékek tartója • Non-Linearity: nemlináris változók esetén használjuk, pl. a változó két másik hányadosa • Symmetrical: a középső értéktől kifele a fuzzy értékek tartója mértani sort alkot • Asymmetrical: balról jobbra haladva a fuzzy értékek tartója mértani sort alkot • Factor: = a mértani sorozat kvóciense - 1 A változó magyarázata és kommentje (Comment) katt katt katt katt katt
Kat- kat Az elkészült alap fuzzy rendszer manuális finomítása: Fuzzy nyelvi változók 3 Kat- kat katt katt katt katt Változószimbólum (Variable Symbol): • Baloldalt a fuzzifikációs módszer ikonja • Jobboldalt a defuzzifikációs módszer Változó szerkesztő (Variable Editor): • A változó szimbólumonduplakattal indul • Next Term gomb: sorrendben a következő értékre léptet • New Term gomb: új fuzzy érték hozzáadása, megjelenik az érték tulajdonságai (Term Properties) dialógus: • Name: az érték neve • Color: színkódja • Shape: Tagságfüggvény típus • S-Shape: Szigmoid S-görbe, az aszimmetria faktora megadható, • L-Shape: szakaszonként lineáris • Függvénygörbére kattintás után a szerkesztődobozok segítségével egérhúzással szerkeszthető • Duplakattintással új definíciós pont is kialakítható, ha bonyolultabb görbét akarunk • Inverse term gomb: a fuzzy érték tagadását állítja elő • Sort Terms gomb: sorbarakja az értékeket a maximumuk szerint Kat- kat húz katt katt
Az elkészült alap fuzzy rendszer manuális finomítása: Fuzzy nyelvi változók 4 katt katt katt katt katt • Grid gomb: fuzzy érték szerkesztőrács felbontásának beállításai • Standard MBF gomb: Z, L,..L, Srendszerű, 50%-os átlapolásúértékekké konvertálja az összes fuzzy értéket, és csak a maximumukat lehet állítgatni • Nyuszi gomb: újraindítja a változó varázslót • Listbox gomb: értéklista elrejtése/előhozása • Learn gomb: a neuro-fuzzy tanulás során változtathatja a tagságfüggvények maximumát katt katt katt
Az előadás tartalma Inform Gmbh.: FuzzyTech 5.5.5 • Telepítése • Fuzzy rendszer előzetes tervezése varázslóval • Az elkészült alap fuzzy rendszer manuális finomítása • Fuzzy nyelvi változók • Változók varázsló • Változó szerkesztő • Fuzzy szabálybázisok • Szabálybázis varázsló • Adatbázis táblás formátumú szabálybázis szerkesztő • Kereszttáblás formátumú szabálybázis szerkesztő • Szöveges szabálybázis szerkesztő, Fuzzy rendszer lefordítása más nyelvre • A fuzzy rendszer debugolása • Analizáló eszközök • Transzformációs diagramm • 3D diagramm • Idő diagramm • Szabály analizátor, Szabály debugolás táblázatos szerkesztőben • Offline debug • Interaktív debug, Fájl rekorder • Rendszerállapot fájlba írása, Kötegelt feldolgozás • On-line debug • Monitor/ Monitor&Modify üzemmódok • Fuzzytech más alkalmazásokhoz kapcsolása • Távvezérlő modul használata • Dynamic Data Exchange Windowsban • FuzzyTech használata Excelből Szakirodalom
Fuzzy szabálybázisok 1 katt Szabálybázis varázsló (Rule Block Wizard): • Bárhonnan az Add New Rule Block-al indítható Konfiguráció (Configuration): • Name: szabálybázis neve • Input: input változólista • Output: output változólista • Create Rule Base: automatikusan hozza létre Operátordefiníció (Define Rule Block Operators): • Input: input aggregáció • Min: nem kompenzáló (leggyakoribb) • MinAvg+Paraméter: kompenzáló • Gamma+Paraméter: kompenzáló, „kikerekíti” a fuzzy szabályok hiper gúláit, folytonosítja a modellezett vezérlési függvényt • Result: eredményhalmaz kompozíció • Max: maximum, nem kompenzáló (leggyakoribb) • Bsum: korlátozott összeg, teljesen kompenzáló Az input változók parciális hatása az output változókra (Define Variable Influence) (input változónként egy dialógus): • Negative..Zero..Positive: a hatás erőssége egy skálán • A szabálybázis automatikus összeállításához használja • Csak monoton parciális kapcsolat definiálható Szabálybázis kommentezése (Comment) katt katt katt katt katt katt katt katt
Fuzzy szabálybázisok 2 Kat- kat katt katt katt katt Szabálybázis szimbólum (Rule Block Symbol): • Baloldalon az input nyelvi változók listája • Jobboldalon az output nyelvi változók listája • Fent a szabálybázis objektum neve, lent az aggregációs/kompozíciós operátor Adatbázis táblás formátumú szabálybázis szerkesztő (Spreadsheet Rule Editor) • Szabálybázison duplakattra indul • Sok változó szerint képes a szabályokat megjeleníteni, de nem túl áttekinthetően Adatbázis tábla a következő mezőkkel: • Szabály ID • IF-rész: Input változó értékek oszlopai • THEN-rész(ek): output változóérték, módosítható szabálysúly (DoS), szabálysúly történelmi minimuma/maximuma oszlopai • A mezők értékeit lookup-táblából lehet kitölteni, a nyelvi változók értékei alapján • A Hyper CoM defuzzifikációhoz szükséges antiszabályok negatív tagságú értékei pirossal jelennek meg Szabályszerkesztés • Matrix Editor gomb: mátrixos szabályszerjesztő nézetre kapcsolás • Rule Block Wizard gomb: szabálybázis varázsló újraindítása • Delete: szabályok törlése • a-cut: egy bizonyos DoS alatti szabályok törlése • Set All DoS: egyszerre állítja az összes szabálysúlyt • Create Partial Rule Block: Csak az inputok összes lehetséges kombinációját generálja le, az outputot kézzel kell hozzárendelni • Create Full Rule Block: automatikusan újragenerálja az összes a szabályt varázslóban előzőleg beállítottak szerint katt katt
Fuzzy szabálybázisok 3 • Nemtörődöm szabály (Don’t Care Rule): nem minden input változóérték definiált, van amelyik nem számít, és a cellája üresen marad. Az ilyen szabály a tengelyekre merőleges fuzzy hipersíkként jelenik meg a döntési térben Kereszttáblás formátumú szabálybázis szerkesztő (Matrix Rule Editor) • Matrix Rule Editor gobbal indul • Csak 2-3 változó szerint képes a szabályokat meg-jeleníteni, de jól áttekinthető módon, kereszttáblában • Minden változóra: • IF: Input változólista, THEN: Output változólista • Horizontal gombbal a vízszintes tengelyre, • Vertical gombbal a függőlegesre lehet tenni • Ha nincs tengelyre rakva, menüvel rögzíteni lehet az értékét • A cellákban (Fekete ha nincs szabály definiálva): • Szimplakattal jelöljük ki megnézésre • Duplakattal definiálunk új szabályt a cellában • „me”,”ve"- Az output változó értéke szövegként • Szám – az adott nézetben egymás tetején lévő szabályok száma, más nézetben láthatók: • Jobbkattal feljön egy menü, ahol az egymáson lévő szabályok súlya (DoS) menüből állítható • Cellaszín: A legerősebb szabály súlya ezekből • Preferences gombbal állítható, mit jelezzen ki a cellákban • A mátrix sor/oszlop totáljaiban: • A nemtörődöm (parciálisan definált) szabályok kerülnek kijelzésre katt katt katt katt Kat- kat katt katt jobb katt katt katt katt
RULEBLOCK { NAME = RB1; INPUT = Angle, Distance; OUTPUT = Power; AGGREGATION = (MIN_MAX, PAR (0.0)); RESULT_AGGR = MAX; POS = -80, -35; RULES { IF Angle = pos_small AND Distance = zero THEN Power = neg_medium WITH 1.000; IF Angle = zero AND Distance = zero THEN Power = zero WITH 1.000; IF Angle = pos_small AND Distance = close THEN Power = neg_medium WITH 1.000; IF Angle = zero AND Distance = close THEN Power = zero WITH 1.000; IF Angle = neg_small AND Distance = close THEN Power = pos_medium WITH 1.000; IF Angle = neg_small AND Distance = medium THEN Power = pos_high WITH 1.000; IF Angle = neg_big AND Distance = medium THEN Power = pos_medium WITH 1.000; IF Angle = zero AND Distance = far THEN Power = pos_medium WITH 1.000; IF Angle = neg_small AND Distance = far THEN Power = pos_high WITH 1.000; } /* RULES */ } /* RULEBLOCK */ Fuzzy szabálybázisok 4 Szöveges szabálybázis szerkesztés (Text Rule Editor) • *.FTL fájl szövegszerkesztővel szerkeszthető Magyarázó feliratok (Text): • Nincs szerepe a rendszer működésében, kommentezni lehet vele a rendszer diagrammot Fuzzy rendszer lefordítása más nyelvre (Tools|Compile to| C…): • ANSI C, M, Java, Visual Basic nyelveken tud forráskódot generálni • Ezenkívül a robotikában és mikrokontrollereknél használatos összes fontosabb nyelven is le tudja generálni a fuzzy rendszert • A demó verzióban ez a funkció inaktív katt katt katt
Az előadás tartalma Inform Gmbh.: FuzzyTech 5.5.5 • Telepítése • Fuzzy rendszer előzetes tervezése varázslóval • Az elkészült alap fuzzy rendszer manuális finomítása • Fuzzy nyelvi változók • Változók varázsló • Változó szerkesztő • Fuzzy szabálybázisok • Szabálybázis varázsló • Adatbázis táblás formátumú szabálybázis szerkesztő • Kereszttáblás formátumú szabálybázis szerkesztő • Szöveges szabálybázis szerkesztő, Fuzzy rendszer lefordítása más nyelvre • A fuzzy rendszer debugolása • Analizáló eszközök • Transzformációs diagramm • 3D diagramm • Idő diagramm • Szabály analizátor, Szabály debugolás táblázatos szerkesztőben • Offline debug • Interaktív debug, Fájl rekorder • Rendszerállapot fájlba írása, Kötegelt feldolgozás • On-line debug • Monitor/ Monitor&Modify üzemmódok • Fuzzytech más alkalmazásokhoz kapcsolása • Távvezérlő modul használata • Dynamic Data Exchange Windowsban • FuzzyTech használata Excelből Szakirodalom
katt A fuzzy rendszer debugolása 1 katt katt katt katt A FuzzyTechnek két üzemmódja van: • Tervezési üzemmód (Design): ez az alapértelmezett, ilyenkor nyelvi változók/ értékek is hozzáadhatók/ törölhetők, míg futtatás közben nem • Futtatási üzemmód (Debug): Debug| Intercative menüből érhető el, futtatja a fuzzy rendszert. Ilyenkor nem érhető el minden tervezési funkció, de a tagságfüggvények, szabályok továbbra is szerkeszthetők. Új inputokat tudunk megadni a Watch ablakban, és különböző analizáló eszközökön on-line követhető a hatásuk: Transzfer grafikon (Analyzer| Transfer Plot) • A modellezett vezérlési függvényt ábrázolja síkban, színfokozati skálával • 2 input és 1 output változót tud egyszerre mutatni, plusz az input változók parciális hatását is mutatja • A többi változó értéke a Watch-ban kézzel rögzített, vagy fájlból jön be • Felbontás% lista doboz: input változók értelmezési tartományát milyen sűrűen bontsa fel diagrammrajzolásnál, nagyobb felbontás = lassabb rajzolás • Trace gomb: rendszerállapot-nyomvonalat rajzol a diagrammra • Reset Trace gomb: kitörli a nyomvonalat • Repaint gomb: ki/be kapcsolja a diagramm újrarajzolását, ilyenkor csak a trace-et frissíti katt katt katt katt katt katt katt katt
Kat- kat A fuzzy rendszer debugolása 2 katt katt katt katt katt katt katt katt katt katt 3D diagramm (Analyze| 3D Plot): • A modellezett vezérlési függvényt ábrázolja 3 dimenzióban, színfokozati skálával • 2 inputés 1 output változót tud egyszerre mutatni • A többi változóértéke a Watch-ban kézzel rögzített, vagy fájlból jön be • Forgató gombok: diagramm forgatása, duplakattra folyamatos forgatás • Stop gomb: forgatás megállítása • Flip gomb: függőleges tengely tükrözése • Felbontás combo box: input változók értelmezési tartományát milyen sűrűen bontsa fel diagrammrajzolásnál, nagyobb felbontás lassab rajzolás • Trace gomb: rendszerállapot-nyomvonalat rajzol a diagrammra • Reset Trace gomb: kitörli a nyomvonalat • Repaint gomb: ki/be kapcsolja a diagramm újrarajzolását, ilyenkor csak a trace-et frissíti • Hide Plot Drawing gomb: háttérben rajzolja az új fázist, és csak készen rakja ki Szabály debugolás mátrix szerkesztőben: • A cellák szürke árnyalatai kijelezhetik: • A szabályok tüzelését (Firing) • A szabályok súlyát (DoS) • Az aggregáció eredménének és a szabálysúlynak a szorzatát (Composition of Firing and DoS) katt katt katt
A fuzzy rendszer debugolása 3 katt katt katt katt katt Idő diagramm (Analyzer| Time Plot): • Input/Output gombokkal tetszőleges számú I/O változót rak ki egy idő diagrammra • Az input változók aktuális időbeli értékeit a Watch ablakban kézzel állítgathatjuk, vagy fájlból jönnek be • Zoom gombok: idő felbontás változtatása • Freeze gomb: állókép • Reset gomb: kitöröl mindent • Configuration gomb: egyéb dolgok, pl. szabálytüzelés hozzáadása Szabály analizátor (Analyzer| Rule Analyzer): • Az adott következtetésben aktív fuzzy szabá-lyok szöveges listáját hozza fel: • Tüzelési (Aggregation) erősségi sorrendben • Vagy tüzelés×súly (Result-Aggregation) sorrendben Szabály debugolás táblázatos szerkesztőben (Analyzer| Statistics): • Az output oszlopok mellett plusz oszlopokban aktuális szabálytüzelési értékeket és statisztikákat is mutat: katt katt katt katt
A fuzzy rendszer debugolása 4 katt katt katt • A debugolás többféle üzemmódban történhet, ezek első nagy csoportja az Offline debug, ami az FTRCU32.DLL-ben lévő távvezérlőt (RCU, Remote Control Unit) használja: Interaktív (Debug| Interactive): • A felhasználó manuálisan adhat be inputokat egy Watch ablakban, közben szinte mindent lehet változtatni, és minden szerkesztő grafikusan mutatja a működést File recorder (Debug| File recorder): • Vessző karakterrel oszlophatárolt szöveges fájlból (Comma Separated Values, *.CSV) olvassa be az input adatokat, • Ahol az egyes változók értékei oszlopokban vannak, nevük az első sorban megegyezik a megfelelő input nyelvi változó nevével • Pl. Naugatuck.CSV a Lesson26 -ban szereplő Naugatuck Framed Seat esettanulmány adatbázisa, ahol Size a két input a gyerekülés mérete inchben (Size), az anyagfelhasználás poundban (Material), és az ülés átlagos fogyasztói preferenciája B iskolai osztályzatokkal (Preference) • Videolejátszó kezelőgombokat biztosít az input adatok „lejátszásához” a rendszerben • Bármely korábban ismertett szerkesztőben nyomonkövethető a fuzzy rendszer reagálása az inputokra, akár a nyomvonal (Trace) bekapcsolásával is katt katt katt Size,Material,Preference 20,9,1.3 22,10,3.1 30,12,1.0 27,11,3.7 24,10,3.8 26,11,3.8 24,10,4.8 24,10,3.9 29,12,1.9
A fuzzy rendszer debugolása 5 katt katt katt Ha nincsen külső adatforrásból származó input fájlunk, a Mintagenerátorral (Pattern Generator) is előállíthatjuk File| Pattern Generator menüből: • Variable: input változó kiválasztása • From, To, Step: változó minimuma, maximuma, felbontási lépésköze • Margins On/Off: a határértékből is képezzen-e mintákat • Generate: A kiválasztott input változók felbontásának Descartes-szorzatát generálja le mintának egy *.CSV fálba, pl. NaugatuckAutoInput.csv Rendszerállapot fájlba írása (Analyzer| Trace): • A Start/Stop gombokkal lehet indítani/leállítani a rendszerállapot rögzítését a rendszerállapot bufferbe • A Save gombbal a rendszerállapot bufferben lévő I/O változók adatait lementi egy *.CSV fájlba, pl. NaugatuckTrace.csv Kötegelt feldolgozás (Debug| Batch): • Egy … gombbal kiválasztott *.CSV fájlban megadott inputokból outputok tömeges kiszámítása, és egy … gombbal kiválasztott másik *.CSV fájlba történő visszaírása, hiba flagekkel kiegészítve, pl. NaugatuckBatch.csv • A Compute gombbal indítható számítási folyamat nem jelenik meg a grafikus szerkesztőben, nem módosíthatunk közben semmit, ezért nagyon gyors Material,Size 9,20 9,21 9,22 9,23 9,24 katt katt katt Material,Size,Preference 11.506,25,3.4703 10.565,25,3.5437 11.639,25,3.3545 katt katt katt Material,Size,Preference,__flags__ 9,20,1.6665,0 10,22,2.2667,0 12,30,2,0 11,27,3.0666,0
Az előadás tartalma Inform Gmbh.: FuzzyTech 5.5.5 • Telepítése • Fuzzy rendszer előzetes tervezése varázslóval • Az elkészült alap fuzzy rendszer manuális finomítása • Fuzzy nyelvi változók • Változók varázsló • Változó szerkesztő • Fuzzy szabálybázisok • Szabálybázis varázsló • Adatbázis táblás formátumú szabálybázis szerkesztő • Kereszttáblás formátumú szabálybázis szerkesztő • Szöveges szabálybázis szerkesztő, Fuzzy rendszer lefordítása más nyelvre • A fuzzy rendszer debugolása • Analizáló eszközök • Transzformációs diagramm • 3D diagramm • Idő diagramm • Szabály analizátor, Szabály debugolás táblázatos szerkesztőben • Offline debug • Interaktív debug, Fájl rekorder • Rendszerállapot fájlba írása, Kötegelt feldolgozás • On-line debug • Monitor/ Monitor&Modify üzemmódok • Fuzzytech más alkalmazásokhoz kapcsolása • Távvezérlő modul használata • Dynamic Data Exchange Windowsban • FuzzyTech használata Excelből Szakirodalom
katt A fuzzy rendszer debugolása 6 katt katt katt A debugolások másik nagy csoportja Valósidejű (On-line Debug). Szereplői: • FTRUN32.DLL-ben lévőValósidejű távirányított debug (RTRCD, Real Time Remote Control Debug) modul. Ez sokkal kisebb és gyorsabb, mint a grafikus szerkesztő • Fuzzy rendszer lefordítva *.FTR runtime fájlba Tools| Compile to| FTR menüben • Kliens (Client): vezérelt rendszer (pl. PC, PLC, mikrokontroller). Az RTRCD alternáló 2 irányú kommunikációt végez vele: fogadja az aktuális inputok értékeit, majd kiküldi az output értékeket Üzemmódjai: • Debug| Monitor: A rendszer nem módosítható, gyorsabb • Debug| Monitor&Modify: Tervezni is lehet, lassabb • Mindkettő az Online varázslót (Online Wizard) indítja, ahol ki kell választani a kommunkációs csatornát: • TCP/IP protokoll, Dynamic Data Exchange (DDE), • Soros port, a Configuration gombbal állítható: • Connection: soros port választás • Transfer rate: átviteli sebesség • Data bits: hány biten megy adat • Parity: van-e paritás ellenőrzése az adatbiteknek • Buffer size: bufferméret byte-ban • Stop Bits, Protocol: kommunikációs szabványok • Lebegőpontos értékek szöveges formában, 1 érték max. 100 byte, ASCII(31)-el elhatárolva, • ASCII(0) karakter zárja az adást, ASCII(26) jelzi a másik félnek, hogy számolhat katt katt katt katt katt katt katt katt katt
FuzzyTech más alkalmazásokhoz kapcsolása 1 katt katt A Távvezérlő modul (Remote Control Unit, RCU) használata • A másik alkalmazás indítása, amelynek tartalmaznia kell az FTRCU32.DLL távvezérlő modult, ez indítja a FuzzyTech-et. • Pl. a Session28–ban leírt daru-vezérlő szimulátora: Simcrane.exe(Fuzzy/Manual gombok: fuzzy/kézi vezérlés +/- gombokkal, Start gomb:indítás, Reset gomb:alapállapot) • A FuzzyTech elindítja a grafikus szerkesztőt, betölti a kívánt *.FTL projekt fájlt (pl. Crane.ftl), ellenőrzi az I/O változónevek egyezését, RCU Debug módban futtatja • Ekkor kézzel is bele lehet nyúlni a vezérlésbe DDE (Dynamic Data Exchange) Windowsban • Másik alkalmazás indítása, ami csak egy FuzzyTech-es Windows DDE hívást tartalmaz, nincs benne FuzzyTech-es DLL • Pl.: Traffic.mdb Ez egy TRAFFIC.FTL–ben modellezett fuzzy rendszer futtatható lefordítására (TRAFFIC.FTR) hivatkozik, ami egy jármű hosszából, m (Length) és sebességéből km/h (Speed) megbecsli a kategóriáját (Category) • A FuzzyTech DDE Server modulja betölti a DDE-ben hivatkozott *.FTR lefordított projekt fájlt, ellenőrzi az I/O változónevek egyezését, és RCU módban futtatja • Ekkor nincs grafikus szerkesztő, kézzel nem lehet belenyúlni a vezérlésbe katt katt
FuzzyTech más alkalmazásokhoz kapcsolása 2 katt katt FuzzyTech használata Excelből • Excelben a FuzzyTech hozzáadá-sa a bővítménykezelőben: Tools|Add-Ins| Add| ..INFORM\FuzzyTech55\RCU \EXCEL\FTWIN32.XLA FuzzyTech Assistant-ot bekattintva elindul ennek az eszközsora, saját képletvarázslóval: • Select New: *.FTL modellfájl kiválasztása • Connect: ennek lefordítása, Fuzzytech grafikus szerkesztő elindítása a háttérben • Input/Output interfaces: I/O abszolút cellahivatkozások • Az Output cellában megjelenik egy becslést végző, FuzzyTech-en alapuló makró-cellafüggvény, aminek általánosított szintaxisa: • Amíg az Excel munkalap fut, a FuzzyTech sem zárható be! katt katt katt katt katt katt katt katt =FTWIN32.XLA!FuzComp( „<Path>\AlkalmazasNev.FTL”, InputVáltozóSzám, OutputVáltozóSzám, HányadikOutputotAdjaVissza, InputAbszCellaHivatkozás1, InputAbszCellaHivatkozás2,..)
Szakirodalom • Szakirodalom, vevőszolgálat, terméktámogatás, minta alkalmazások angolul vagy németül: http://www.fuzzytech.com • FuzzyTech 5.5 Manual angolul: FuzzyTech55Manual.pdf • Fuzzytech felhasználói tájékoztató jegyzetek CANAL-formátumban magyarul: FuzzyTech55Notes.doc