Távműködtetett program: IEC alkalmazás


ALKALMAZÁS ELÉRÉSE

IEC

Az évek során már számtalan próbálkozás történt az evolúció mechanizmusának reprodukálására. Ezek egyike az IEC (Interactive Evolutionary Computation) interaktív evolúciós számítás. Az IEC egy biztonságos tervezési eljárás, melynek központi eleme az evolúció mechanizmusának számítógépes modellje, szemben a valóságos evolúciós kísérletekkel, melyek idő- és pénzigényesek.
Az IEC segítségével kémiai jellegű folyamatmérnöki problémák is megoldhatók, erre nagyon jó példa a MATLAB EA-IEC toolbox.

IEC séma A): Evolúciós algoritmus (EA),  B): Interaktív evolúciós algoritmus (IEA)

Ahogy az ábrán is látható (A- Evolúciós algoritmus: EA; B - Interaktív evolúciós algoritmus: IEA, [1]), az interaktív algoritmusnál a felhasználó az interfészen keresztül, az érzelmei alapján, előérzetei és pszichológiai állapotának megfelelően alakítja ki a következő generációt. Ez a fajta megközelítés az interaktív evolúciós számítás. Ennek az eljárásnak a megvalósítására alkalmas tehát például a MATLAB.
Az IEC lehetővé teszi a számítógépen belüli természetes kiválasztódást. Ehhez szükség van evolúciós algoritmusokra (EA, lásd fenti ábrán). Ezek az algoritmusok természetesen biológiai alapokra épülnek, mint például C. Darwin által felfedezett matematikai modell. Az EA a megoldások folyamatos megoldása helyett a lehetséges megoldások halmazával dolgozik, és a jobb egyedek szelektálására épül. Az ilyen algoritmusok egy kezdeti, véletlenszerű populációból indulnak ki, ahol az egyes egyedek mind egy-egy megoldást reprezentálnak. A sikert az úgynevezett fitneszfüggvények segítségével tudjuk mérni. Például minél nagyobb értéked ad vissza a fitneszfüggvény, annál sikeresebbnek tekintjük az egyedet. A sikeres egyedek szaporodhatnak, általában a legsikeresebb, tehát legjobb fitnesz értékkel rendelkező egyedet választjuk ki reprodukcióra. Az ily módon előálló új egyedek egyre jobb tulajdonságokkal rendelkeznek, és ezek alkotják a következő generációt. Az algoritmus egymás után generálja az új populációkat, egészen addig, míg létre nem hozza a lehető legjobb tulajdonságú egyedet, vagy míg egy általunk meghatározott megállási feltétel nem teljesül.
George A. Miller kutatása alapján az emberi agy egy időben csak 5-9 különböző információval tud párhuzamosan dolgozni. Ezért interaktív eljárásnál, melynél az ember is jelen van a folyamatban, a megjelenítés szempontjából szükséges az egyedek számának korlátozása, így a megjelenített egyedek feldolgozhatóvá válnak az operátor számára.

IEC Toolbox

Ahogy már említettük, az IEC, avagy az interaktív evolúciós számítás és a klasszikus evolúciós stratégia közötti különbség főként abban nyilvánul meg, hogy az egyedek kiértékelése (a sikeresség meghatározása) nem automatikusan történik, hanem a felhasználó adja meg, hogy melyik egyedet tekintse az algoritmus sikeresnek, a legsikeresebbnek. Mivel a felhasználónak az evolúciós csoportokból kell kiválasztania egy megoldássorozatot, az átláthatósághoz egy egyértelmű grafikus felhasználói felület (GUI) szükséges, mely kapcsolatban áll a folyamat szimulációjával, vagy az adatbekérő rendszerrel. A EA-IEC Toolbox úgy lett kifejlesztve, hogy alkalmas legyen ilyen fajta problémák megoldására. A felhasználónak csupán egy MATLAB függvényt kell írnia, mely becslést végez az egyedek megoldásaira, és megjeleníti a megoldást. A toolbox kezeli az evolúciós csoportokat és lehetővé teszi az interaktív megjelenítést. Az emberi felfogó képesség limitáltsága miatt a megjelenített megoldások számát körülbelül 7-re célszerű választani.
Ez az aktív beavatkozás a Matlab Web Server segítségével megvalósítható interneten keresztül is, melynek segítségével az algoritmusunkat könnyen elérhetővé tehetjük a felhasználók számára, akik böngészőből irányíthatják azt.

Távműködtetés

Az eljáráshoz tehát szükséges a Matlab Web Server, egy webszerver (esetünkben IIS) és egy böngésző. Adott tehát a MATLAB-ban megírt evolúciós algoritmus (melynek fák nemesítése az egyik lehetséges alkalmazása). A felhasználó az interneten keresztül bárhol és bármikor képes elvégezni a számára megfelelő fák keresztezését egy két kattintással. A MATLAB-ban megvalósított GUI kezelés során a fanemesítéshez szüksége van a felhasználónak a gépén egy MATLAB programra és a program futtatására. Ezzel szemben Matlab Web Server esetén a felhasználónak GUI kezeléshez csak egy böngészőre van szüksége. A MATLAB program egy tetszőleges gépen lehet és csak a Matlab server szolgáltatásnak kell futnia.
Az evolúciós algoritmus MATLAB fájlként áll a rendelkezésünkre. Az adatok bekérése illetve kijelzése pedig a html dokumentum segítségével történik.
A felhasználó tehát szubjektívan választja ki a 8 fa közül, hogy mit mivel szeretne keresztezni, milyen típusú utódokat szeretne, és azoknak milyen tulajdonságai legyenek (magas, lombos stb.). Ezt az oldalon lévő nyomógombok segítségével teheti meg. Az első populáció során az algoritmus véletlen számokkal számol, a következő generációk során azonban a felhasználó által választott megoldások (fák) adataival számol tovább. A MATLAB által kirajzolt megoldások a weblapba képként kerültek beágyazásra. A kiválasztott egyedeket pedig sütikben tároljuk, és ennek megfelelően számol tovább a MATLAB.
A megvalósított IEC alkalmazás ITT ÉRHETŐ EL.

  1. J. Madar, J. Abonyi, F. Szeifert, Interactive Evolutonary Computation in Process Engineering
  2. http://en.wikipedia.org/wiki/Interactive_evolutionary_computation
  3. http://tracer.uc3m.es/tws/MinisiteIEC/
  4. http://index.hu/kultur/cyb/evolucio
  5. http://www.jataka.hu/rics/speci/src/class7/index.html



Kezdőlap
Témakörök
Alkalmazások
Publikációk
Alprojektek
Kapcsolat