Universität M Mis is k k olol cic, F Eg a y kultä etem t, für Wi Gazda rts ságcha tudfts o w máis n s yen i scha Kar, ften,

Hasonló dokumentumok
Számítógépes döntéstámogatás. Genetikus algoritmusok

Algoritmusok Tervezése. 9. Előadás Genetikus Algoritmusok Dr. Bécsi Tamás

Genetikus algoritmusok

Informatikai Rendszerek Tervezése

Mesterséges Intelligencia MI

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal

Evolúciós algoritmusok

Universität M Mis is k k olol ci c, F Eg a y kultä etem t, für Wi Gazda rts ságcha tudft o sw máis n s yen i scha Kar, ften,

Mesterséges Intelligencia MI

A genetikus algoritmus, mint a részletes modell többszempontú és többérdekű "optimálásának" általános és robosztus módszere

értékel függvény: rátermettségi függvény (tness function)

Genetikus algoritmusok az L- rendszereken alapuló. Werner Ágnes

Képrekonstrukció 9. előadás

Dr. habil. Maróti György

Intelligens Rendszerek Elmélete. Párhuzamos keresés genetikus algoritmusokkal. A genetikus algoritmus működése. Az élet információ tárolói

értékel függvény: rátermettségi függvény (tness function)

2. Visszalépéses keresés

Gépi tanulás a gyakorlatban. Lineáris regresszió

Számítógép és programozás 2

Tartalomjegyzék. Tartalomjegyzék... 3 Előszó... 9

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

Nem-lineáris programozási feladatok

2. Visszalépéses stratégia

Evolúció. Dr. Szemethy László egyetemi docens Szent István Egyetem VadVilág Megőrzési Intézet

Képrekonstrukció 6. előadás

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Intelligens Rendszerek Elmélete IRE 4/32/1

HÁLÓZATSZERŰEN MŰKÖDŐ LOGISZTIKÁVAL INTEGRÁLT TERMELÉSÜTEMEZÉS MEGOLDÁSA GENETIKUS ALGORITMUS ALKALMAZÁSÁVAL. OLÁH Béla

Az evolúció folyamatos változások olyan sorozata, melynek során bizonyos populációk öröklődő jellegei nemzedékről nemzedékre változnak.

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Számítógép és programozás 2

Közgazdaságtan alapjai. Dr. Karajz Sándor Gazdaságelméleti Intézet

Kereső algoritmusok a diszkrét optimalizálás problémájához

Evolúció. Dr. Szemethy László egyetemi docens Szent István Egyetem VadVilág Megőrzési Intézet

Matematika III előadás

V. Kétszemélyes játékok

Hidraulikus hálózatok robusztusságának növelése

Kereső algoritmusok a diszkrét optimalizálás problémájához

Populációgenetikai. alapok

Megkülönböztetett kiszolgáló routerek az

Programozási módszertan. Mohó algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok

Közgazdaságtan alapjai. Dr. Karajz Sándor Gazdaságelméleti Intézet

Struktúra nélküli adatszerkezetek

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Térinformatikai algoritmusok Elemi algoritmusok

Mesterséges Intelligencia MI

First Prev Next Last Go Back Full Screen Close Quit

Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

DOKTORI (PhD) ÉRTEKEZÉS BALOGH SÁNDOR KAPOSVÁRI EGYETEM GAZDASÁGTUDOMÁNYI KAR

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Kétváltozós függvények differenciálszámítása

Heurisztikák algoritmusok ütemezési problémákra. 1. Állapottér és a megoldások kezelése

Algoritmizálás, adatmodellezés tanítása 8. előadás

Evolúciós alapfogalmak, általános algoritmusok

2017/ Szegedi Tudományegyetem Informatikai Intézet

6. Előadás. Vereb György, DE OEC BSI, október 12.

Keresési algoritmusok, optimalizáció

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Valószínűségi változók. Várható érték és szórás

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Gépi tanulás. Neurális hálók, genetikus algoritmus. Közlekedési informatika MSc. Földes Dávid St. 405.

KUTATÁSMÓDSZERTAN 4. ELŐADÁS. A minta és mintavétel

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Korlátozás és szétválasztás elve. ADAGOLO adattípus

Bevezetés az informatikába

Számítógép és programozás 2

1. A kísérlet naiv fogalma. melyek közül a kísérlet minden végrehajtásakor pontosan egy következik be.

Függvények növekedési korlátainak jellemzése

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

HÁROM KÖR A HÁROMSZÖGBEN

Általános algoritmustervezési módszerek

17. A 2-3 fák és B-fák. 2-3 fák

Ütemezési problémák. Kis Tamás 1. ELTE Problémamegoldó Szeminárium, ősz 1 MTA SZTAKI. valamint ELTE, Operációkutatási Tanszék

Optimalizációs stratégiák 2.

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

Számelméleti alapfogalmak

Visszalépéses keresés

P 2 P ábra Az f(x) függvény globális minimuma (P 1 ) és egy lokális minimuma (P 2 ).

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

Rendezések. Összehasonlító rendezések

Megerősítéses tanulás 7. előadás

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

Mohó algoritmusok. Példa:

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

Számítsuk ki a nyelvet! Matematika, fizika és algoritmusok a nyelvben

Programozási segédlet

Követelmények Motiváció Matematikai modellezés: példák A lineáris programozás alapfeladata 2017/ Szegedi Tudományegyetem Informatikai Intézet

A sz.ot.ag. III. Magyar Számítógépes Nyelvészeti Konferencia december 8. Bíró Tamás, ELTE, Budapest / RUG, Groningen, NL 1/ 16

Természetes szelekció és adaptáció

Példa sejtautomatákra. Homokdomb modellek.

A derivált alkalmazásai

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

Átírás:

8. Előadás

Speciális optimalizációs eljárások

Genetikus algoritmusok

OPTIMALIZÁLÁSI ELJÁRÁSOK Gradiens alapú módszerek Véletlent használó módszerek Kimerítő keresésen alapuló módszerek Direkt módszerek Indirekt módszerek Tabukeresés Szimulált lehűtés Evolúciós algoritmusok Dinamikus programozás Evolúciós stratégiák Genetikus algoritmus párhuzamos soros

Gradiens alapú módszerek 1. direkt indirekt Fajtái Lokális vizsgálódás Jellemzők Feltételezik a deriváltfüggvény létezését

Gradiens alapú módszerek 2. Indirekt módszerek A lokális szélsőértéket a gradiensfüggvény nullává tételével keresik meg. A differenciáláson alapuló egydimenziós szélsőérték-keresés többdimenziós általánosítása

Gradiens alapú módszerek 3. Direkt módszerek A lokális minimumot a lokális gradiens irányába való elmozdulással igyekeznek elérni a felületen. Hegymászás (hill-climbing) fogalma: a lokális szélsőérték eléréséhez a legmeredekebb emelkedőn kell felmászni, vagy a legmeredekebb lejtőn kell leereszkedni.

Robusztusság Mindkét módszer csak lokálisan vizsgálódik, az aktuális (kiindulási) pont környezetében keresi a legjobb szélsőértéket. Egy kisebb abszolút értékű szélsőérték közeléből indítva az eljárást gyakran nem találja meg a nagyobb abszolút értékű szélsőértéket. Sőt, ha már megtalálta az eljárás a kisebb abszolút értékű szélsőértéket, akkor véletlenszerű újraindítással vagy más trükkel lehet csak rávenni a nagyobb abszolút értékű szélsőérték keresésére.

Robusztusság A gradiens alapú módszerek feltételezik a deriváltfüggvény létezését. Számos gyakorlati problématér nem biztosít elegendő simaságot az optimalizálandó függvénynek, ebből következően nem létezik deriváltfüggvény sem. A valós életben nem mindenütt folytonos, sok lokális szélsőértékkel rendelkező függvényekkel és zajos keresési terekkel kell dolgozni.

Jellemzők Kimerítő keresésen alapuló módszerek 1. A problématér minden pontját megvizsgálja Korlátok A problématér komplexitása Idő Előnyök Megtalálja a globális optimumot

Kimerítő keresésen alapuló módszerek 2. Egy véges vagy diszkretizált végtelen problématérben az algoritmus egyesével végignézi a tér összes pontját. A problématér pontjait legtöbbször leírhatjuk egy fával. Ezután teljes bejárást végezve, egyszerű módszerrel megvizsgálható a fában található valamennyi pont.

Kimerítő keresésen alapuló módszerek 3. Visszalépéses eljárás A gyökértől indulva az elágazásokban egy előre rögzített sorrendben haladunk rendre a lehetséges irányok egyikében. Először minden elágazásban a sorrend szerinti első lehetséges irányba haladunk, amíg egy levélhez nem érünk. Ekkor megvizsgáljuk, hogy a levél jelentheti-e az optimumot. Ezután az ehhez a levélhez vezető út utolsó elágazásig visszalépünk. Nagy problématérnél nehezen használható.

Kimerítő keresésen alapuló módszerek 4. Elágazás és korlátozás Amennyiben rendelkezésre állnak olyan feltételek vagy megkötések, amelyek segítségével egy adott csúcsot megvizsgálva könnyen eldönthető, hogy az optimum biztosan nem az adott csúcsból kiinduló egyik részfában található, akkor levágjuk ezt a részfát, vagyis az ebben található pontokat nem kell megvizsgálnunk.

Kimerítő keresésen alapuló módszerek 5. Bár a kimerítő keresési módszerek biztosan megtalálják a globális optimumot, valamint a pontok sorravétele is hasonlít az emberi keresés technikájához, mégis azt kell mondanunk, hogy ezek az eljárások sem bizonyulnak elegendően robosztusnak, ugyanis hatékonyságuknak korlátot szab a problématér komplexitása.

Véletlent használó módszerek 1. Szimulált lehűtés 2. Tabukeresés 3. Genetikus algoritmus

Véletlenszerű bejárást végző módszerek véletlent használó technikák A véletlenszerű bejárást végző módszerek lényegében az enumerációs módszerek használatát jelenti, csak az ágak kiválasztása történik véletlenszerűen. Ez a módszer nem hoz jelentős sebesség növekedést és merőben eltér a véletlent használó technikáktól.

Véletlent használó módszerek Meg kell határozni, hogy mit nevezünk jónak Ha globális optimumot kell keresnünk, akkor nem bizonyulnak jobbnak a kimerítő keresésen alapuló aljárásoknál A valóságban a megoldásoptimum mellett a költségoptimumot is figyelembe kell venni, ezért van létjogosultságuk

A kompromisszum eredménye 1. Megelégszünk egy közel optimális eredménnyel 2. Erősen korlátos időn belül eredményt akarunk/kell szolgáltatni

Szimulált lehűtés Egyetlen megoldást szolgáltat A szilárd anyagok rácsszerkezetének hőkezelés során történő kialakulását másolja. Egy megoldásjelöltet módosít, mégpedig a hőmérsékleti folyamatok mintájára mindig az alacsonyabb energiájú hely felé haladva.

Tabukeresés A problématér egy véletlen pontjából indul ki Megvizsgálja a pont szomszédjait, s a legjobbra tovább lép A körbe-körbe haladás elkerülése érdekében van egy tiltólista (tabulista) Egy előre megadott lépésszám, vagy jóság esetén befejezzük az eljárást Paraméterei: tabulista hossza, küszöb nagysága, pont szomszédjainak listája

Genetikus algoritmus Genetikus algoritmusok számítógépes modellezésével John Holland kezdett foglalkozni 1975-ben. Ezeket az algoritmusokat a Darwin-féle biológiai evolúció elve alapján vezetik le, s az algoritmus, egy lehetséges, többnyire véletlenszerűen kiválasztott állapotból (populációból) indul ki. Ebből a kezdeti generációból különböző műveletek során új generációk keletkeznek, és ezeket a generáló műveleteket mindaddig folytatják, amíg megtalálják a feladat legjobbnak vélt megoldását. A probléma jellemzői általában adott hosszúságú szavakkal (sztring) vannak kódolva, amelyeket kromoszómáknak neveznek. A genetikus algoritmus előállít egy új populációt a genetikai szaporodáshoz hasonlóan. Egy vagy két egyedet kiválaszt a meglevőkből, és a genetikai műveletek segítségével generál újabb lehetséges egyedeket, amelyeket utódoknak nevezünk. Alapvető genetikai műveletek a szelekció, rekombináció és a mutáció, amelyekre a genetikus algoritmus is épül.

Alapvető genetikai műveletek A legfontosabb genetikai műveletek: szelekció rekombináció mutáció.

Szelekció A szelekció folyamán az algoritmus kiválasztja a szülőket, amelyekből a genetikus műveletek segítségével létrejönnek az utódok. Az egyedek az aktuális populációban a fitneszértékük alapján meghatározott eséllyel kerülnek kiválasztódásra. A fitneszérték tehát az egyedek alkalmasságát mutatja a célfüggvény alapján.

Rulettmódszer A legáltalánosabban elterjedt kiválasztási algoritmus az úgynevezett rulett-módszer. Úgy képzelhetjük el ezt a módszert, mint egy szerencsekereket, amely n számú részre van felosztva. A szeletek szélessége egyenesen arányos a hozzátartozó egyed szelekciós valószínűségével. A kereket n-szer megforgatjuk és kiválasztjuk a szülőket a következő generációhoz. Természetesen egy egyednek annál nagyobb az esélye a többszöri kiválasztásra, minél nagyobb a fitneszértéke. Fennáll annak a veszélye, hogy az összes kiválasztott egyed azonos lesz. Ennél az eljárásnál aránylag magas a tervezett és a tényleges kiválasztás közötti eltérés, mégis ez a legelterjedtebb eljárás.

Szelekció (Sztohasztikus mintavétel) D A egyed várható érték másolások száma A 0,1 0 B B C 1,0 0,4 1 1 C D 2,5 2

Rekombináció A rekombináció az utódok létrehozása során kicseréli a szülők egyes kromoszómarészeit hasonlóan a természetbeni genetikai rekombinációhoz. Például: 1. kromoszóma (1 2 3 4 5 6) 2. kromoszóma (6 5 4 3 2 1) A rekombináció után létrejött új kromoszómák: (1 2 3 4 5 6) (1 2 3 3 2 1) (6 5 4 3 2 1) (6 5 4 4 5 6)

Egypontos rekombináció E típus alapján először is kiválasztunk egy rekombinációs pontot 1 és L-1 között (L a kromoszóma hossza), így meghatározzuk azt a pontot - két gén határvonalát -, amelytől az egyik szülő esetén a jobbra eső gének az első, a balra eső gének a második utódba kerülnek, a másik szülő esetén pedig éppen fordítva történik a gének elosztása.

N-pontos rekombináció 1. 2. 3. 4. 5. 1. szülő 1 1 1 1 1 1 1 1 1 2. szülő 0 0 0 0 0 0 0 0 0 1. utód 1 1 0 0 0 1 0 0 1 2. utód 0 0 1 1 1 0 1 1 0

Uniform rekombináció Az uniform rekombináció folyamán minden egyes gén esetén vizsgáljuk, hogy az kicserélésre kerüljön-e vagy sem. A döntés a következőképpen történik: adott egy előre meghatározott érték p ux, és az egyes génekre jellemző U z (ahol z=1,2,,l) érték. Ha p ux > U z, akkor a gén kicserélésre kerül, ellenkező esetben nem.

Uniform rekombináció folyamata 1. szülő 0 0 1 1 1 1 2. szülő 1 1 1 1 0 0 csere igen igen nem igen nem igen 1. utód 1 1 1 1 1 0 2. utód 0 0 1 1 0 1

Génkevert rekombináció A génkevert rekombináció az egy-, illetve n-pontos rekombináció továbbfejlesztett változata. Ebben az esetben az említett rekombinációs folyamatok további két lépéssel (keverés, visszakeverés) bővülnek. Első lépésként a megszámozott géneket összekeverjük, majd következik a már megismert egy-, illetve n-pontos rekombináció. Az utolsó lépés a gének sorrendjének visszaállítása.

Génkevert rekombináció folyamata Sorszám: Keverés Sorszám: Rekombináció Sorszám: Visszakeverés Sorszám: 1 1 1 1 0 1. 2. 3. 4. 5. 0 0 0 1 1 1 1 0 1 1 4. 2. 5. 3. 1. 1 0 1 0 0 1 1 1 0 0 4. 2. 5. 3. 1. 1 0 0 1 1 0 1 0 1 1 1. 2. 3. 4. 5. 1 0 1 1 0 szülők utódok

Diagonális rekombináció A diagonális rekombináció szintén az n-pontos rekombináció továbbfejlesztett változata. Azonban az eltérés most más szempontból történik a korábban megismert eljárásokhoz képest: Ebben az esetben a rekombináció csak több mint, két szülő esetében működhet. A diagonális módszer - sajátossága miatt - i darab szülőből i mennyiségű utódot hoz létre. Ebből a szempontból ez a variáció nem a biológiai analógiát követi, mivel a természetben kevés példa található az ilyen szaporodásra. A folyamat első lépése, hogy az i számú szülői és a még üres utód kromoszómán kiválasztunk i-1 számú töréspontot. Ezután az alábbiak szerint feltöltjük az utód kromoszómákat: az első utód az első üres szakaszban az első szülői kromoszómaszakaszt örökli, a másodikban a második szülő második szakaszát, a harmadikban pedig a harmadik szülő harmadik szakaszát, majd a folyamat a leírtaknak megfelelően folytatódik a második utóddal.

Diagonális rekombináció folyamata 1. szülő 1 1 1 1 1 1 1 2. szülő 1 0 1 0 1 0 0 3. szülő 0 1 0 1 0 1 1 1. utód 1 1 1 0 0 1 1 2. utód 1 0 0 1 1 1 1 3. utód 0 1 1 1 1 0 0

Mutáció A mutáció folyamata alatt véletlenszerűen megváltozik a kromoszómák néhány része: a mutáció előtti kromoszóma: (1 2 3 4 5 6) a mutáció utáni kromoszóma: (1 2 3 4 7 6)

Genetikai műveletek paraméterei Stratégiaválasztás: a kiválasztott szelekciós, illetve rekombinációs stratégia tartalmazza, hogyan generálják a szülők az utódokat, és hogy választják ki a szülőket a következő generációs lépésre. Rekombinációk száma: a rekombinációk számát lehet kiválasztani, vagyis hány ilyen lépés legyen az evolúció alatt. Ez a szám lényegében megadja a genetikus algoritmus generációinak a számát. Mutációs paraméterek: a mutáció esélyét, illetve a mutációkor bekövetkező elváltozás mértékét szabályozzák. > Ezek a tényezők speciálisan az optimalizálási feladattól függnek, ezért általánosságban nem, csak a probléma pontos ismerete, vagy elemzése után határozhatók meg.

Jósági vagy fitneszfüggvény Egy a lehetséges kromoszómák halmazán értelmezett, valós értékkészletű leképzés. A függvényértékek az egyes kromoszómák által reprezentált megoldások jóságát tükrözik.

Reprezentáció A genetikus algoritmus egyik legfontosabb tényezője a probléma szempontjából lényeges tulajdonságok kiválasztása és ezek kódolása.

Kódolás Decimál Bináris kód D Gray-kód D 0 000 --- 000 --- 1 001 1 001 1 2 010 2 011 1 3 011 1 010 1 4 100 3 110 1

Universität Miskolc, Fakultät für Wirtschaftswissenschaften, Istitut für Wirtschaftstheorie Kiindulási időszak (t:=0) A kiindulási populáció meghatározása P(0) A kiindulási populáció értékelése A kívánt jósági szint elérve? ige n ne m t:=t+1 Szelekció Rekombináció Mutáció Az új populáció értékelése A folyamat vége

Egyszerű genetikus algoritmus modell Egy egyszerű példa a fitneszfüggvényre: 30/x. A genotípusok, legyenek például 1010 és 0101, megjelenési formájuk (fenotípusuk) 10 és 5, a fitneszértékek pedig a fitneszfüggvény alapján 30/10=3 és 30/5=6. Ezek az értékek a reprodukció esélyét. a két említett szrtingből (1010, 0101) az első számjegy után történt szakadás eredményeképpen kialakulhat a következő sztringpár: 1101 és 0010. A rekombináció mellett természetesen lehetőség van mutációra is. Ennek során a sztring egy véletlenszerűen kiválasztott helyén megváltozik az adott gén, vagy egy elemének az értéke. Példánkban elképzelhető ez a harmadik helyen: 1111. A folyamat lefutása után meghatározásra kerülnek az új generáció fitneszértékei. A mi példánkban 1111 2 és 0010 15. A legmagasabb egyedi fitneszérték így 6-ról 15-re, a populáció összfitneszértéke 9-ről 17- re emelkedett.