Dinamikus rendszerek identifikációja genetikus programozással



Hasonló dokumentumok
Irányítási struktúrák összehasonlító vizsgálata. Tóth László Richárd. Pannon Egyetem Vegyészmérnöki és Anyagtudományok Doktori Iskola

MŰSZAKI TUDOMÁNY AZ ÉSZAK-ALFÖLDI RÉGIÓBAN 2010

AZ A PRIORI ISMERETEK ALKALMAZÁSA

AKTUÁTOR MODELLEK KIVÁLASZTÁSA ÉS OBJEKTÍV ÖSSZEHASONLÍTÁSA

I. BEVEZETÉS, MOTIVÁCIÓ, PROBLÉMAFELVETÉS

Dinamikus programozás alapú szivattyú üzemvitel optimalizálási technikák (főként) kombinatorikus vízműhálózatokra

A Margit híd pillérszobrának 3D-s digitális alakzatrekonstrukciója Nagy Zoltán 1 Túri Zoltán 2

OPERÁCIÓKUTATÁS, AZ ELFELEDETT TUDOMÁNY A LOGISZTIKÁBAN (A LOGISZTIKAI CÉL ELÉRÉSÉNEK ÉRDEKÉBEN)

SZAKASZOS GYÁRTÓ RENDSZER MODELL BÁZISÚ IRÁNYÍTÁSA

PILÓTANÉLKÜLI REPÜLŐGÉP REPÜLÉSSZABÁLYOZÓ RENDSZERÉNEK ELŐZETES MÉRETEZÉSE. Bevezetés. 1. Időtartománybeli szabályozótervezési módszerek

MÉLYFÚRÁSI GEOFIZIKAI ADATOK ÉRTELMEZÉSÉNEK MODERN INVERZIÓS MÓDSZEREI

A KUTATÁS EREDMÉNYEI ZÁRÓJELENTÉS

Válasz Prof. Dr. Rudas Imre egyetemi tanár. Computational Methods for the Analysis of Nonnegative Polynomial Systems

A HIBRID LINEÁRIS LÉPTET MOTOR HATÉKONYSÁGÁNAK NÖVELÉSI MÓDOZATAIRÓL

A bemeneti feszültség 10 V és 20 V között van. 1. ábra A fuzzy tagsági függvény

Ph. D. értekezés tézisei

Számítógéppel irányított rendszerek elmélete. A rendszer- és irányításelmélet legfontosabb részterületei. Hangos Katalin. Budapest

GPS-mérések abszolút feldolgozását terhelô hibahatások vizsgálata

GÉPI ÉS EMBERI POZICIONÁLÁSI, ÉRINTÉSI MŰVELETEK DINAMIKÁJA

Autópálya forgalomszabályozás felhajtókorlátozás és változtatható sebességkorlátozás összehangolásával és fejlesztési lehetőségei

BIZONYTALANSÁG A KOCKÁZATBECSLÉSBEN 1. BEVEZETÉS

LÉTRADIAGRAM FORDÍTÓK ELMÉLETE PLC VEZÉRLÉSEK SZÁMÁRA II.

Mérnök informatikus (BSc) alapszak levelező tagozat (BIL) / BSc in Engineering Information Technology (Part Time)

A megerosítéses tanulás és a szimulált hutés kombinált használata: algoritmusok és alkalmazások

Parciális differenciálegyenletek numerikus módszerei számítógépes alkalmazásokkal Karátson, János Horváth, Róbert Izsák, Ferenc

Intelligens Induktív Érzékelők

Bírálat. Farkas András

(11) Lajstromszám: E (13) T2 EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA

BIZONYOS GRÁFELMÉLETI ALGORITMUSOK TANÍTÁSA ELEGÁNSAN KISS LÁSZLÓ

HIDEGEN HENGERELT ALUMÍNIUM SZALAG LENCSÉSSÉGÉNEK VIZSGÁLATA INVESTIGATION OF CROWN OF COLD ROLLED ALUMINIUM STRIP

SZÉCHENYI ISTVÁN EGYETEM MŰSZAKI TUDOMÁNYI KAR RENDSZERELEMZÉS I.

Osztott ter rektifikáló kolonna modellezése és stacioner vizsgálata

Drótposta: ; ; Honlapom:

Hazánkban jelentõs múlttal rendelkeznek a klasszikus tesztelméleti módszerekkel

PARAMÉTERES GÖRBÉK ALKALMAZÁSA VALÓSIDE- JŰ DIGITÁLIS HANGFELDOLGOZÁS SORÁN

Városi légszennyezettség vizsgálata térinformatikai és matematikai statisztikai módszerek alkalmazásával

MŰSZAKI TUDOMÁNY AZ ÉSZAK-KELET MAGYARORSZÁGI RÉGIÓBAN 2012

VI. Magyar Földrajzi Konferencia

SZOFTVEREK A SORBANÁLLÁSI ELMÉLET OKTATÁSÁBAN

Fiáth Attila Nagy Balázs Tóth Péter Dóczi Szilvia Dinya Mariann

FIR SZŰRŐK TELJESÍTMÉNYÉNEK JAVÍTÁSA C/C++-BAN

TECHNOLÓGIAFEJLESZTÉSI CÉLÚ

Kvartó elrendezésű hengerállvány végeselemes modellezése a síkkifekvési hibák kimutatása érdekében. PhD értekezés tézisei

BIZONYTALAN ADATOK KEZELÉSE: FUZZY SZAKÉRTŐI RENDSZEREK

Matematika felvételi feladatok bővített levezetése 2013 (8. osztályosoknak)

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

A forrás pontos megnevezésének elmulasztása valamennyi hivatkozásban szerzői jogsértés (plágium).

Kapacitív áramokkal működtetett relés áramkörök S: B7:S21.3S2.$

A troposzférikus szcintilláció hatása a mûholdas távközlésre

Kémiai és bioipari adatrendszerek és folyamatok minőségellenőrzésének informatikai eszközei. Viczián Gergely

Hibrid rendszerek stabilitásvizsgálata és irányítása. PhD tézis. Írta: Rozgonyi Szabolcs. Témavezet : Prof. Hangos Katalin.

Zárójelentés

RONCSOLÁSMENTES VIZSGÁLATTECHNIKA

Elektro-pneumatikus tengelykapcsoló rendszerek megfigyelő alapú előrecsatolt/visszacsatolt irányítása. Szimandl Barna

MOS logikai rendszerek statikus és dinamikus tulajdonságai

A MEGBÍZHATÓSÁGI ELEMZŐ MÓDSZEREK

Teszt generálás webes alkalmazásokhoz

A kutatási projekt keretében a következő feladatokat tűztük ki:

FELADATMEGOLDÁSI SZOKÁSAINAK VIZSGÁLATA. Baranyai Tünde

Extraktív heteroazeotróp desztilláció: ökologikus elválasztási eljárás nemideális

LTI Rendszerek Dinamikus Analízise és Szabályozásának Alapjai

Herczeg Bálint. Az iskola méretének hatása az iskola hozzáadott értékére November 9.

Síklefedések Erdősné Németh Ágnes, Nagykanizsa

SZEMLÉLETES RÉSZINFORMÁCIÓK INTEGRÁCIÓS PROBLÉMÁINAK VIZSGÁLATA A VIRTUÁLIS VALÓSÁGOT TEREMTŐ SZIMULÁTOROK ALAPJÁN

A strukturális egyenletek modellezésének bemutatása egy komplex dizájnú kutatás (ISPJ) adatain keresztül 1

Dinamikus rendszerek paramétereinek BAYES BECSLÉSE. Hangos Katalin VE Számítástudomány Alkalmazása Tanszék

PRÓBAMÉRÉSEK TEREPI KÖRÜLMÉNYEK KÖZÖTT KÖNNYŰ EJTŐSÚLYOS DINAMIKUS TERHELŐTÁRCSÁVAL

TARTALOM FELELÕS SZERKESZTÕ: Dr. habil. Koren Csaba

Logisztikai mérnök záróvizsga tételsor Módosítva június 3.

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Load-flow jellegű feladat a villamos rendszerirányításban

XV. FIATAL MŰSZAKIAK TUDOMÁNYOS ÜLÉSSZAKA

NYOMÁSOS ÖNTÉS KÖZBEN ÉBREDŐ NYOMÁSVISZONYOK MÉRÉTECHNOLÓGIAI TERVEZÉSE DEVELOPMENT OF CAVITY PRESSURE MEASUREMENT FOR HIGH PRESURE DIE CASTING

FATERMÉSI FOK MEGHATÁROZÁSA AZ EGÉSZÁLLOMÁNY ÁTLAGNÖVEDÉKE ALAPJÁN

Pályázati kézikönyv. az Interreg V-A Ausztria-Magyarország Program pályázói és kedvezményezettjei számára

DOKTORI (PhD) ÉRTEKEZÉS

DIPLOMADOLGOZAT. Szabó László

Irányításelmélet és technika II.

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

KOCKÁZATKEZELÉS A REPÜLÉSBEN

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA

OTKA Zárójelentés Publikációk

Bemenet modellezése II.

Mesterséges intelligencia, 7. előadás október 13. Készítette: Masa Tibor (KPM V.)

23. ISMERKEDÉS A MŰVELETI ERŐSÍTŐKKEL

Következõ: Lineáris rendszerek jellemzõi és vizsgálatuk. Jelfeldolgozás. Lineáris rendszerek jellemzõi és vizsgálatuk

DOKTORI (PHD) ÉRTEKEZÉS TÉZISEI SZAFNER GÁBOR

7. Szisztolikus rendszerek (Eberhard Zehendner)

9. Áramlástechnikai gépek üzemtana

Dekonvolúció, Spike dekonvolúció. Konvolúciós föld model

BIOGÁZ-TERMELŐDÉS MATEMATIKAI MODELLEZÉSE

Lemezgrafitos vasöntvények visszamaradó öntési feszültségének mérése és véges elemes szimulációja

A TERMELÉSI FOLYAMATOK HATÉKONY ÉS OPTIMÁLIS IRÁNYÍTÁSA A KOMPLEX MÓDSZER ALKALMAZÁSÁVAL

1 Rendszer alapok. 1.1 Alapfogalmak

AZ ACETON ÉS AZ ACETONILGYÖK NÉHÁNY LÉGKÖRKÉMIAILAG FONTOS ELEMI REAKCIÓJÁNAK KINETIKAI VIZSGÁLATA

A FÓKUSZÁLT NAPENERGIA TÁROLÁSI ÉS HASZNOSÍTÁSI LEHETŐSÉGEI

Tevékenység: Olvassa el a fejezetet! Gyűjtse ki és jegyezze meg a ragasztás előnyeit és a hátrányait! VIDEO (A ragasztás ereje)

mtatk A kistérségi gyerekesély program és az általános iskolai oktatás teljesítményének összefüggése MTA TK Gyerekesély Műhelytanulmányok 2015/3

Intelligens Érzékelők

MEZŐGAZDASÁGI HULLADÉKOT FELDOLGOZÓ PELLETÁLÓ ÜZEM LÉTESÍTÉSÉNEK FELTÉTELEI

Átírás:

Dinamikus rendszerek identifikációja genetikus programozással Madár János, Abonyi János, Szeifert Ferenc Veszprémi Egyetem, Folyamatmérnöki Tanszék www.fmt.vein.hu/softcomp, abonyij@fmt.vein.hu Kulcsszavak: Struktúra identifikáció, genetikus programozás, bemenet-kimenet modellek, OLS Identification of dynamic systems by genetic programming Abstract The genetic programming (GP) is an automatic method for identifying programs and complex structures. The GP supports the modeling of dynamic systems and selecting the structures of models. In this work, we present identification of structures of models which are linear in parameters. In practice, due to measurement noise, the overtraining and the demand of transparent modeling the GP often does not yields satisfying models. To handle this problem we incorporate the orthogonal least squares method into the GP, which yields better models. The usefulness of the GP is demonstrated by a simulation example where the input-output model of a polymerization reactor is identified. Kivonat A genetikus programozás (GP) alkalmas programok és egyéb komplex struktúrák automatikus identifikációjára. A GP a dinamikus rendszerek modellezésében a modell struktúra kiválasztásában segít. Ebben a cikkben a paramétereiben lineáris modellek struktúrájának GP-al történő identifikációját mutatjuk be. A gyakorlatban a zajos mérési adatok, a modell átláthatóság követelménye és a túlparaméterezés problémája miatt a szokásos algoritmus gyakran szolgáltat nem megfelelő modelleket. Ezért, ahogy ebben a cikkben bemutatjuk, ha bevezetjük az ortogonális legkisebb négyzetek módszerét a GP-ba, akkor robosztusabb és jobb modelleket kapunk. A GP hatékonyságát egy szimulációs példán és egy polimerizációs reaktor bemenet-kimenet modelljén és modellrendűségének meghatározásán keresztül mutatjuk be.. Bevezetés Egy rendszer identifikációja két fő lépésből áll: a modell struktúrájának a meghatározásából, majd a modellben szereplő paraméterek identifikációjából. A paraméterek identifikációjának módja függ a választott modellstruktúrától, így a különböző modellfajtákhoz elég sok hatékony paraméter identifikáló módszert fejlesztettek ki az évek során. A modellstruktúra meghatározását azonban az esetek többségében az ember végzi el. A mérési adatokon alapuló modell struktúra identifikáció előnye a szokásos a priori modell struktúra felíráshoz képest az, hogy a fehér doboz modellezéshez a rendszer pontos elméleti ismeretére van szükség. Emiatt a fehér-doboz modellezés hosszadalmasabb és körülményesebb lehet a fekete-doboz modellezésnél, és ha nem minden jelenség ismert illetve formalizálható pontosan, akkor akár elvi hibákat is tartalmazhat []. Ez a vegyészmérnöki gyakorlatban felmerülő modellezési problémákra különösen jellemző, mert a modellek megalkotása gyakran a modellezendő rendszer mély ismeretét igényli. A genetikus programozás egy olyan eljárás, amely segítségével a mérési adatokból automatikusan lehet modell struktúrát generálni. A genetikus programozásról kitűnő történeti áttekintést nyújt [], a genetikus programozást használták például kvantumszámítógépek algoritmusainak fejlesztésére, elektronikus áramkörök tervezésére. A GP többféle struktúra identifikációra használható: Kinetikai rendűség meghatározása [] Stacioner modellek identifikációja [] Differenciálegyenletek identifikálása [] Mi ebben a cikkben a GP-t paramétereiben lineáris dinamikus modellek struktúrájának a meghatározására használjuk. Mivel a gyakorlatban a mért adatok zajosak így a túlparaméterezés veszélye fennáll, aminek eredményeképpen a kapott modellben megjelenhetnek felesleges tagok. Bemutatjuk, hogy az ortogonális legkisebb négyzetek módszere (OLS) GP-ba történő bevezetésével már a GP alatt is eltávolíthatjuk ezeket a felesleges tagokat. A GP hatékonyságát szimulációs példákon keresztül mutatjuk be, amelyekben bemenet-kimenet modelleket identifikálunk, és modellrendűség meghatározásárát végezzük el.. Genetikus Programozás A genetikus programozás (GP) a genetikus algoritmus (GA) egy fajtája [5]. A GA egy olyan sztochasztikus optimalizáló algoritmus, amely egyszerre sok lehetséges

(potenciális) megoldást kezel. A Darni evolúciós elmélet mintájára ezeket a potenciális megoldásokat, mint egyedeket fogjuk fel, amik közösen egy populációt alkotnak. Mindegyik egyedet egy kromoszómával reprezentálunk, ami egy vagy több génből áll. A GA-ban a kromoszóma nem más, mint a potenciális megoldás kódolva valamilyen formában. A populáció egyedei rendelkeznek ún. életképességi értékkel, ami azt határozza meg, hogy az adott egyed mennyire sikeres, vagyis az optimalizációs probléma szempontjából mennyire jó. A következő generációt a régi generáció egyedeiből állítjuk elő, követve a kiválasztódás elvét, vagyis a sikeresebb egyedek nagyobb valószínűséggel tudják tovább örökíteni a génjeiket. A GA-ban az új egyedeket a szelekció alapján rekombinációval és mutációval állítják elő.. táblázat: Fa struktúrában található elemek Terminális elemek Változók: x, x, Paraméterek: p, p, Nem terminális elemek Operátorok:,,*, Függvények: *log(), *exp(),.. Genetikus operátorok A GP-ban három genetikus operátor van: a szelekció, a rekombináció és a mutáció. Az algoritmus folyamatábrája a. ábrán látható. Kezdeti populáció generálása Kiértékelés Paraméterek optimálása Életképességi érték számítása Szelekció.. A modell kódolása A GP tulajdonképpen egy szimbolikus optimalizáló algoritmus. Míg a klasszikus optimalizáló algoritmusok számokkal reprezentálják az egyes megoldásokat (például egy többdimenziós vektorral), addig a szimbolikus algoritmusokban az egyes megoldásokat szimbólumok valamilyen struktúrájával reprezentálják. Az egyik legelterjedtebb módszer a fa struktúra használata. Példaként az. ábra mutatja az y = x ( p x )/ p egyenletet fa struktúrában ábrázolva. Rekombináció Direkt reprodukció Új populáció Kilépési feltétel? Vége igen nem Mutáció X / P P X. ábra: Egy egyenlet bináris fa struktúrában ábrázolva Fa struktúrával nemcsak egyenleteket, hanem egyenletrendszereket vagy moduláris blokkokból összetett modelleket is reprezentálhatunk. Mi ebben a cikkben a szokásos bináris fa reprezentációt választottuk az egyenletek kódolására. A bináris fa olyan fa struktúra, amelyben minden csomópontnak két alága van. Kétféle eleme fordul elő egy bináris fában: a terminális és a nem terminális. A terminális olyan elem, aminek nincsen alága, vagyis amely lezárja a fát. A terminális elemekben mindig változók vagy paraméterek vannak, míg a nem terminális elemekben mindig operátorok és függvények vannak (ld. az. táblázat).. ábra: A GP folyamatábrája A GP legelső lépése a kezdeti populáció előállítása. Ez legtöbbször véletlen kromoszómák előállítását jelenti, ugyanis ez teszi lehetővé a kezdeti populáció diverzitását, azaz azt, hogy a populáció sokféle potenciális megoldást tartalmazhasson. A következő lépés az aktuális populáció egyedeinek a kiértékelése, vagyis az életképességi értékek megállapítása. Ennek menete és módja jelentősen függ magától a problémától. Általában ez a feladat az optimalizálandó célfüggvény kiértékelését jelenti. A szelekció során véletlenszerűen kiválasztjuk a következő generáció egyedeinek szülőpárjait. A kiválasztásra többféle stratégiát dolgoztak ki, és igazából nem egyértelmű, hogy melyik a legjobb. A leginkább elterjedt szelekciós stratégia az életképességi értéken alapuló rulettkerék szelekció [], ezért mi is ezt választottuk. Ennek a szelekciós stratégiának a lényege az, hogy egy egyed kiválasztásának a valószínűsége arányos annak életképességi értékével: fi p ( szelekció) i = () f i

ahol a f i az i-ik egyed életképességi értéke, a p(szelekció) i pedig az i-ik egyed kiválasztási valószínűsége. Amikor egy egyedet kiválasztunk a reprodukcióra, akkor három fajta genetikus reprodukciós műveletet alkalmazhatunk: a direkt reprodukciót, a mutációt és a rekombinációt. A mutáció valószínűsége p m a rekombináció valószínűsége p c, a direkt reprodukció valószínűsége -p c -p m. Ez a két valószínűség a GP algoritmus paramétere. A direkt reprodukció a kiválasztott egyedet minden változtatás nélkül átmásolja a következő generációba. A mutáció során a kiválasztott egyeden egy véletlenszerűen megváltoztatunk egy elemet a fában (ha több fát tartalmaz a kromoszóma, akkor csak egy véletlenszerűen kiválasztott fát mutálunk). Amikor egy fában megváltoztatunk egy elemet, akkor akár a fa struktúrája is megváltozhat, ha egy nem terminális elemet terminális elemmel cserélünk ki vagy fordítva. Ilyenkor ügyelni kell arra, hogy jó fát kapjunk vissza, aminek az első feltétele az, hogy a legalsó még engedélyezett szinten csak terminális elemre cserélhetjük ki a mutálandó elemet. A másik feltétele az, hogy a még halott levek se legyenek üresek a bináris fákban, így mikor azok a mutáció során felélednek nem fog hibás struktúrájú fa létrejönni. (Ez a probléma megoldható úgy is, hogy egy véletlen fát generálunk és azt illesztjük be a mutálandó fába.) A rekombinációhoz a kiválasztott egyedhez még egy egyedet kell kiválasztani (ugyanazt a szelekciós stratégiát használva). Ezután a két fát úgy kombináljuk, hogy mindkét fában kiválasztunk egy pontot, majd az alatti fa részeket kicseréljük, így két új egyedet hozva létre. A keresztezési pontok kiválasztását kétféle módon végezhetjük el: vagy ugyanazon a véletlenszerűen kiválasztott helyen keresztezzük a két fát (egypontos rekombináció); vagy a két fában két különböző helyet választunk ki véletlenszerűen, és úgy végezzük el a rekombinációt (kétpontos rekombináció). Mielőtt az új generáció egyedeit előállítjuk, azoknak helyet kell csinálni, vagyis el kell dönteni, hogy a régi populációból mennyi egyed haljon meg. A legegyszerűbb módszer, ha a teljes populációt lecseréljük, de ennek az a hátránya, hogy a legjobb egyedek eltűnhetnek. Ezért általában az a szokás, hogy a legjobb egyedeket meghagyják a populációban. A P gap paraméter (generációs különbség) adja meg, hogy a populáció mekkora hányada haljon meg. Ha például a P gap =0.9, akkor a populáció egyedei közül a legjobb 0%-ot hagyjuk meg... Életképességi érték kiszámítása Az életképességi értékkel a GP által előállított struktúrákat értékeljük az adott probléma szempontjából. Az életképességi érték függvénye általában a mért és a jósolt adatok közötti hibán (legtöbbször a négyzetes hiba összegen) alapul. Azonban a szimbolikus regresszió esetén a négyzetes hiba helyett inkább érdemes a két adatsor közötti korrelációt tekinteni, ahogyan [6] ajánlja. Így ebben a cikkben az életképességi érték számítására a korrelációs koefficiens négyzetét használtuk (A korrelációs koefficiens abszolút értéke 0 és között változik, minél közelebb van az -hez annál nagyobb a korreláció). Egy modell megítélésekor nemcsak az számít, hogy mennyire jól működik a modell, hanem az is számít, hogy minél egyszerűbb, áttekinthetőbb legyen. Erre azért is szükség van, mert a bonyolult modellek esetén fennáll a veszélye a túlparaméterezésnek. Ezért ahogyan [] ajánlja bevezettük a büntetőfüggvény használatát az életképességi érték számításába: r f = i i exp( a( L a )) () ahol f i az életképességi érték, r i a számított korrelációs koefficiens, L i a fa-struktúra mérete (leveleinek a száma), a és a a büntető függvény két paramétere.. Modellek identifikációja GP-al Általában a modellek egyenletekből állnak, és ezek az egyenletek paramétereket/konstansokat és változókat tartalmaznak. Mikor a GP-al előállítunk egy egyenletet, akkor az abban található paramétereket optimalizálni kell, mert még egy struktúrájában tökéletes egyenlet is teljesen rossz modellt szolgáltat, ha a benne szereplő paraméterek hibásak. Mivel általában a GP által előállított modellek a paraméterire nézve (is) nemlineárisak, így nemlineáris optimalizáló algoritmust kell használni. Ez azt jelenti, hogy minden egyes új egyed kiértékelésekor el kell végezni egy nemlineáris optimálást, aminek köszönhetően a GP nagyon számításigényes... Paramétereiben lineáris modellek GP-ban A nemlineáris optimálási feladat elkerülhető, ha olyan modelleket használunk, amely modellek a paramétereikre nézve lineárisak, vagyis a következő formában írhatóak fel: m ( k) = ai Fi ( x ( k),..., xn ( k) ) yˆ () i= ahol F i függvények, a i a paraméterek, ( ) k ŷ a modell kimenete a k-ik időpontban, és x(k) a modell bemenete a k-ik időpontban. A modell bemenetei vektora (a felhasználható adatok vektora) a k-ik időpontban x(k) = (x (k),, x n (k)). A mért kimenetek alkotják a kimeneti vektort: y = (y(),,y(n)) T ahol N az adatpontok száma. A paraméterek identifikálására így használható a lineáris

legkisebb négyzetek módszere: a cél mért kimenet és a számolt kimenet közötti különbség négyzetösszegének a csökkentése, vagyis a N m χ = y( k) ai Fi ( x( k )) () k= i= összeg csökkentése az a = (a,...,a m ) paramétervektor optimálásával. A paramétervektort ekkor a szokásos: T T a = ( F F ) F y (5) összefüggéssel határozhatjuk meg, ahol F mátrix: F ( x() ) L Fm ( x( ) ) F = M O M (6) F ( x( N )) L F ( x( N )) m Tehát GP során a fa struktúrákban nem szerepelnek paraméterek, azokat mi illesztjük hozzá az egyenlet tagjaihoz a () egyenlet szerint. Az F i egyenletek egy fastruktúrában vannak, és úgy kapjuk meg őket, hogy a fát szétbontjuk a gyökérből kiindulva az összeadások mentén, erre a. ábrán látható példa... Az OLS módszer alkalmazása A GP futása során a generációszám növekedésével a modellek kimenetei a célfüggvény szerint egyre jobban megközelítik a mért adatokat. Sajnos a gyakorlatban a mért adatok mérési zajokat is tartalmaznak így a tökéletes illeszkedés nem lehetséges, sőt a túlzottan jó illeszkedés a túlparaméterezés veszélyével jár, és megjelenhetnek az egyenletekben felesleges, komplex tagok, amelyekre a helyes modellben nem lenne szükség. Az értékelő függvénybe bevezetett büntetőfüggvény részben tud segíteni ezen a problémán, mert a feleslegesen nagy fastruktúrák életképességi értékeit csökkenti. De a büntető függvény nem képes hatékony megoldást kínálni erre a problémára. Ennek az egyik oka az, hogy ha az ember nem tudja előre a végeredményt (márpedig a gyakorlatban nem tudja), akkor igen nehéz jól beállítani a büntetőfüggvény paramétereit. Ha túl nagy a súlya a büntetőfüggvénynek, akkor a modellek túlegyszerűsödnek és értékes tagok vesznek el; ha meg túl kicsi, akkor alig lesz valami hatása. De ha sikerül is jól beállítani a büntetőfüggvény paramétereit, önmagában akkor se tudja hatékonyan megoldani a problémát. Például egy olyan fa, ami struktúrájában teljesen jó csak tartalmaz egy-két felesleges tagot, a büntetőfüggvény következtében rosszabb életképességi értékkel fog rendelkezni, mint egy majdnem jó struktúrájú fa, ami viszont mentes ezektől a felesleges tagoktól. Látható, hogy a hatékony megoldás egy olyan algoritmus lenne, amely képes arra, hogy már a GP futása közben kiszűrje a fákból ezeket a felesleges tagokat. A paramétereiben lineáris modellek esetén erre az ortogonális legkisebb négyzetek (OLS) módszere kínál megoldást. Az OLS módszerének a lényege az, hogy kiszámítjuk a () egyenletben szereplő F i egyenletek hibacsökkentő hozzájárulását, vagyis azt, hogy mekkora részben járulnak hozzá a számolt kimenet és a mért adat közötti hiba csökkentéséhez. Az OLS a legkisebb négyzetek módszeréből indul ki. A kimenet felírható az y = F a e (7) formában, ahol e a hibavektor. Az OLS transzformálja az F mátrix oszlopvektorait ortogonális bázisvektorokká a F = W A (8) alapján, ahol W az ortogonális mátrix, amelyre W T W = I egységmátrix, és A felső háromszögmátrix egység diagonális elemekkel. A (7) egyenletbe behelyettesítve a ()-t y = W A a e = W g e, ahol g = A a. Ha w i jelöli a W mátrix i-ik oszlopvektorát és g i a hozzá tartozó elemét az OLS megoldásvektornak a kimenet varianciája y T y/n kifejezhető felhasználva, hogy y T m T T y = gi e e (9) i= Ebből a hibacsökkentés értéke: T i gi [ err] = (0) T y y ahol [err] i jelöli az F i hibacsökkentő hozzájárulását. Azokat az F i függvényeket, amelyeknek a hozzájárulása túl kicsi, kitöröljük a fából. Az életképességi érték kiszámítása csak ezután történik meg az új fát használva. A. ábrán látható erre egy példa: az eredeti fa tartalmazott három függvényt: F, F, F, ezeket az OLS alapján sorba rendeztük és eldöntöttük, hogy az F függvényt kitöröljük a fából, így kaptuk az ábra jobb oldalán látható egyszerűbb fát. * x x F x x * x x F F * x x. ábra: A fa egy alágának kivágása az OLS-t alkalmazva. Alkalmazási példák Ebben a fejezetben szimulációs modellek alapján mutatjuk be az GP használhatóságát a modell struktúrájának a meghatározásában. A GP paraméterei mindegyik példában. táblázatban található értékek voltak. F x F

. táblázat: A GP paraméterei Populáció mérete 50 Generált egyedek maximális száma 500 Generációs különbség 0.7 Rekombináció módja kétpontos Rekombinációs valószínűség 0.5 Mutációs valószínűség 0.5 Elemtípus-váltás valószínűsége mutáció során (terminális - nem terminális) 0.5.. Nemlineáris bemenet-kimenet modell Az első példában egy egyszerű nemlineáris bemenetkimenet modell struktúráját határoztuk meg GP-t használva. A modell a következő: y ( k) = 0.8u( k ).y( k ) 0.9y( k ) 0. () A mérési adatsort szimulációval állítottuk elő és a kimenethez %-os relatív nagyságú normál eloszlású zajt adtunk, az adatsor a. ábrán látható: 0-0 0 0 60 80 00. ábra: Adatsor a.. példához A pontozott vonal a bemenet, a folytonos a kimenet Az adatsor alapján a GP-át használva identifikáltuk a bemenet-kimenet modell egyenletet, úgy hogy az F i függvények változói az u(k-), u(k-), y(k-), y(k-) voltak (pontosabban ezek közül választhatott a GP algoritmus a fastruktúrák generálása, mutálása során). Az OLS-t úgy alkalmaztuk a példában, hogy maximum öt tagot engedélyeztünk egy modellben (a bias-t természetesen nem beleértve). Ha ennél több volt az egyenletben, akkor az OLS alapján sorba rendeztük a tagokat és a legkisebb hibacsökkentési értékkel rendelkezőket kitöröltük a fából. Így használva a GP-t, az képes volt struktúrájában pontosan meghatározni a bemenet-kimenet modellt. A végeredmény minden futatás végén a következő formájú volt: y( k) = 0.890y( k ).75y( k ) (8) 0.855u( k ) u( k ) 0. 07 Az egyenletben szereplő paraméterek azért nem pontosak, mert az adatsor zajos volt. De az látható, hogy a bemenet-kimenet modell struktúrája jó... Polimerizációs reaktor A következő esettanulmány egy folyamatosan működő polimerizációs reaktor modelljét mutatja be. A modell a metil-metakrilát gyökös polimerizációjára vonatkozik, melyben azo-bisz(izobutiro-nitril)-t használunk iníciátorként és toluolt oldószerként. További információk: [7]-ban találhatók. Feltételezzük, hogy a reakció tökéletesen kevert üstben zajlik és még néhány további egyszerűsítést téve a következő matematikai modell kapjuk: x& = 0 x x x () (6 ). 568 x& = 80u 0. 0x () x& 0 x () =.00x x 0.9x 0 x& 5 x (5) =.978x x 0 x x y = (6) A dimenziómentes x állapotváltozó utal a monomer koncentrációjára, x az iníciátor koncentrációjára és x /x az átlagos molekulasúlyra. Az u bemenet az iníciátor dimenziómentes térfogatárama. A következő példákban az u értéke 0.007 és 0.005 között változik és mintavételezési ideje 0.. Ilyen bemenet esetén az y kimenet 6000 és 000 közötti értékeket vesz fel. A [8] szerint a modell jól felírható a következő formában: y ( t) = G[ y( t 0.), u( t 0.), u( t 0.)], (7) mivel a MARS modellezési technikát alkalmazva a jövőbeli kimenet pontosan jósolható belőle. Egy kérdés természetesen adódik ebből az eredményből: hogyan lehet az, hogy a regresszor vektor kisebb, mint a rendszer állapotainak a száma? Ennek magyarázata az lehet, hogy az állapotváltozók száma csak elégséges, de nem szükséges feltételt ad a regresszor vektor dimenziójára vonatkozóan. Ebben a konkrét példában a valós ok az, hogy a rendszer állapotváltozója közül kettőt nem megfigyelhető. Másrészt valószínű, hogy a folyamat alulmintavételezett, vagyis a mintavételezési idő túl nagy. Ezt néhány szimulációs vizsgálatunk is igazolta. Az adatsort a ()-(6) differenciálegyenletrendszerrel megadott modellből szimulációval állítottuk elő, és az első példához hasonló módon identifikáltunk egy bemenet-kimenet modellt GP-al. Mivel a GP sztochasztikus eljárás, így a végeredmény se lesz minden futatás végén ugyanaz, itt látható két jellegzetes eredmény: és y ( k) = 85.y( k )( u k )( u k ) 5.077y( k ) u( k ) 0.776y( k ) 97u( k ) 588, (8) 5

y ( k) = 0.0568y( k ) y( k ) u( k ) 6.0y( k ) u( k ).60y( k ) 955 (9) Ahogyan a példákon is látszik az eredményül kapott bemenet-kimenet modellek rendűsége megegyezik azzal amit a (7) alapján vártunk. Tehát a genetikus programozás egy hatékony eszköz a dinamikus rendszerek bemenet-kimenet modellek rendűségének meghatározására. Sőt, az eredményül kapott modellekből az is látható, hogy hasonlóan a folyamatot leíró differenciálegyenletekhez a modellben megjelentek gyökös összefüggések is. 5. Összefoglalás A genetikus programozás egy szimbolikus regressziós módszer, amely alkalmas modell struktúrák identifikálására. A cikkben bemutattuk, hogy hogyan lehet a GP-al dinamikus rendszerek bemenet-kimenet modelljét meghatározni és az ortogonális legkisebb négyzete módszert alkalmazni paramétereire lineáris modellek esetén. Egy folytonos polimerizációs rekator példáján keresztül bemutattuk, hogy a GP alkalmas a modell rendűségének a meghatározására. Köszönetnyilvánítás A szerzők ezúton szeretnék kifejezni köszönetüket a Vegyészmérnöki Intézet Koordinációs Kutatási Központjának (KKK-I-7 projekt) az Oktatási Minisztériumnak (FKFP-007/00), és az OTKA-nak (No. T07600) a támogatásért. Abonyi János munkáját a Magyar Tudományos Akadémia Bolyai János Kutatói Ösztöndíja is támogatta Irodalom [] McKay B., Willis M., Barton G., Steady-state modelling of chemical process systems using genetic programming, Computers chem. Engng, (9), 98-996 (997) [] Koza J. R., Keane M. A., Yu J., Bennett F. H., Mydlowec W., Automatic creation of human-competitive programs and controllers by means of genetic programming, Genetic Programming and Evolable Machines,, -6 (000) [] Cao H., Yu J., Kang L., Chen Y., Chen. Y., The kinetic evolutionary modeling of complex systems of chemical reactions, Computers & Chemistry,, -5 (999) [] Sakamoto E., Iba H., Inferring a system of differential equations for gene regulatory network by using genetic programming, Inferring a system of differential equations for gene regulatory network by using genetic programming, 70-76, (00) [5] Alvarez L. F., Toropov V. V., Hughes D. C., Ashour A. F., Approximation model building using genetic programming methodology: applications, Second ISSMO/AIAA Internet Conference on Approximations and Fast Reanalysis in Engineering Optimization, (000) [6] South, M. C., The application of genetic algorithms to rule finding in data analysis Ph.D. Theses, Dept. of Chemical and Process Eng., The University of Newcastle upon Tyne, UK (99) [7] Doyle F. J., Ogunnaike B. A., Pearson R. K., Nonlinear model-based control using second-order Volterra models Automatica, (995) [8] Rhodes C., Morari M., Determining the model order of nonlinear input/output systems, AIChE Journal, (998) 6