Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Genetikus algoritmusok Kezdőknek és haladóknak
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda február 19 Genetikus algoritmusok Kezdőknek és haladóknak Illyés László
2
Tartalom Bevezető A kanonikus genetikus algoritmus
A genetikus algoritmusok biológiai alapjai Történelem A genetikus algoritmusok helye az optimalizálásban A genetikus algoritmusok elméleti alapjai Permutációs adatstruktúrák Speciális reprezentációk Saját reprezentációk Könyvészet
3
Bevezető Charles Darwin elmélete és G.J. Mendel statisztikai kísérletei egy minőségi ugrást jelentettek a biológiában. J.D. Watson és F. Crick készítették el először a DNS struktúrát, ahogy ma is ismerjük. A komplexitás elmélet és az operációkutatás nagy hatással voltak a kutatásokra, kimutatva, hogy a valós, komplex problémák nem oldhatók meg polinomiális idő alatt Keresték az olyan algoritmusokat, amelyek modelezni és utánozni tudnák a nagy túlélőt: a Természetet.
4
A kanonikus genetikus algoritmus
A problémát a hátizsák problémán keresztül vizsgáljuk, amelyik egy befektetési portfólióról szól. Egy befektetőnek c tőkéje van, amit be szeretne fektetni. Választhat n befektetésből. Az összes lehetséges befektetés értéke nagyobb, mint a tőke, ami rendelkezésére áll. Az i-edik befektetés összege fdi és a várható nyereség bi si-kiválasztási vektor: si=1 ha kiválasztjuk az i-edik variáns, másképp si=0 A matematikai modell:
5
1 ajánlat 2 ajánlat 3 ajánlat 4 ajánlat 5 ajánlat 6 ajánlat fdi befektetés 2.000 2.200 2.500 3.000 3.200 bi jövedelem 300 400 500 600 700 705 Kodifikálás. Egyszerre több kromoszómával (egyeddel) dolgozunk, amelyek populációt alkotnak. Az első generáció általában pszeudó- aleatorikus Az alábbi kodifikáció azt jelenti, hogy a befektető elfogadta a {O1, O2, O5, O6} ajánlatokat, vagyis befektetett egységet és a várható jövedelme 2.105egység. Ha a befektetőnek csak egység befektetni valója van, akkor ez a kromoszóma egy nem érvényes egyedet jelképez. O1 O2 O3 O4 O5 O6 1
6
Inicializálás és szelekció
Az algoritmus központi eleme a POPULÁCIÓ. Egy populáció a kromoszómák egy halmaza, amelyek a megoldások terében egy lehetséges megoldást kódolnak. Az algoritmus iterációi során újabb egyedek keletkeznek, amelyek egy újabb populációt alkotnak: a következő generációt. Az inicializálás folyamán egy pszeudo-aleatorikus, kezdeti (P0) populációt állítunk elő. Szelekció: – a populáció egyedeiből (kromoszómákból) az algoritmus kiválaszt egyeseket, a jósági értékükkel arányos valószínűséggel, akik szülővé válnak, s amelyek génjeit örökli a következő generáció.
7
A célfüggvény és a fitnessz függvény (fitness function): A fitnessz függvény a célfüggvényből alakul ki. Azt mutatja meg, hogy mennyire jó a kromoszóma által kodifikált megoldás. A kanonikus genetikus algoritmus esetében a fitnessz függvény megegyezik a célfüggvénnyel, vagyis fi= Skáláznunk kell az eredményeket, hogy megállapíthassunk egy relatív jóságot is.
8
A példapopuláció 4 egyedből (kromoszómából) áll.
fi fdi P1 1 P2 1 P3 1 P4 1 Az eredmények skálázása: ff1=1605/( )=0.314 ff2=1800/( )=0.352 ff3=1705/( )=0.333
9
Bináris sztringek egypontos keresztezése
Szülők Keresztezés locus P1 1 P2 1 Gyerekek (offsprings) O1 1 1 O2
10
Bináris sztringek kétpontos keresztezése
Keresztezés locusok Szülők P1 1 P2 1 Gyerekek (offsprings) O1 1 1 O2
11
Bináris sztringek uniform keresztezése
Szülők P1 1 P2 1 Gyerekek (offsprings) O1 1 1 O2 valószínűséggel egyik vagy másik szülőtől
12
Bináris sztringek mutációja
Csak egy gén mutálódik P1 1 O1 1 A gének egymástól függetlenül mutálódnak P1 1 O1 1
13
P1 (első kromoszóma) Feltételeztük, hogy a kiválasztás a következő kromoszóma-párokat adta {P1, P2} és {P2, P3} Alkalmazva az 1 pontos keresztezést, a következő generáció a következő képpen néz ki, feltételezve, hogy még a 2-es gyerek mutációja az 5-ös génben is megtörtént: 1 P2 (második kromoszóma) 1 O1 (első leszármazott) 1 O2 1 P2 1 1 P3 1 O3 1 O4 1
14
A genetikus algoritmus helye az optimalizálásban
optimalizálási eljárások gradiens alapú módszerek sztochasztikus kimerítő keresésen alapuló szimulált lehűtés direkt indirekt tabu algoritmus evolúciós algoritmusok Dinamikus programozás evolúciós stratégiák genetikus algoritmusok párhúzamos soros Álmos A. et.all, Genetikus algoritmusok, Typotex, Budapest, 2002, pp. 21
15
Történeti áttekintés -minden rendszer egy olyan populáció kialakítására épül, amely egy adott probléma megoldási lehetőségeit tartalmazza 1965,73 – Rechenberg – evolúciós stratégiák 1966 – Fogel, Owens és Walsh – evolutív programozás 1975 – Holland J. – genetikus algoritmusok – a kanonikus genetikus algoritmus 1992,94 – Koza J.R. – genetikus programozás
16
A genetikus algoritmusok biológiai háttere
Miért használható? Sok számítási feladat megoldásakor szükségünk van egy adaptációs lehetőségre, vagyis arra, hogy az algoritmus robusztus legyen változó környezetben is Robotikában, a robotirányításban, meg kell oldani olyan feladatokat, amelyek változó környezetben zajlanak, a program használható kell legyen más felhasználó számára is. A túlélési versenyben, az erősebb egyedeknek (akik jobban megoldanak egy problémát, több energiaforráshoz jutnak) nagyobb az esélyük, hogy szaporodjanak, a gyerekeik örökölni fogják a kromoszóma-állományuk egy részét.
17
A genetikus algoritmus és a biológiai megfelelője
Genetikus algoritmusok Kromoszóma Sztring Gén jellemző génváltozat (allél) Jellemző értéke Gén helye (locus) Sztring-pozíció Genotípus Struktúra Fenotípus Egy megoldás Álmos A. et.all, Genetikus algoritmusok, Typotex, Budapest, 2002, pp. 40
18
A szaporodás Az egyszerű, vagy a generációs szaporodás: lecseréli a szülő (régi) populációt. Ennek kiegészítése képpen, használatos az elitizmus princípiuma, amelyben a populáció legjobb elemei továbbélnek a következő generációban is.
19
A genetikus algoritmus elméletei
A sémaelmélet. (Holland) GA egy komplex keresést végezve bejárja a hipertér particióit. (*10)-egy él, (*1*) egy sík a 3 dimenziós térben. Azon sztring, amely tartalmaz * séma vagy sablon
20
Elméleti alapok A sémák egymással versengenek, hogy megvalósítsák a célfüggvényt (meta-egyedek versengése) Holland szerint az adaptív rendszereknek két fontos tulajdonságuk van: Új területek felfedezése (exploration) A régi adaptációk felhasználása (exploitation) Ezen tulajdonságok használatának egyensúlya jó eredményekhez vezet a megoldások terében. A mutáció ki tudja mozdítani az algoritmust egy lokális optimumból. A felfedezés a mutációs operátor által valósul meg, a kiaknázás pedig a keresztezés operátor által.
21
Más elméleti megközelítések
Building block hyphotesis (Goldberg) Markov láncokkal Mechanikai statisztika
22
Átrendező operátorok Permutációkra kidolgozott
Az utazóügynök problémát megoldó Egy olyan genetikus anyag, amelyben minden gén más-más információt hordoz- nincs 2 egyforma gén A permutációs jelleg megmarad
23
Átrendező operátorok K T L O S P F H K S O L T P F H INVERZIÓ-művelete
A K T L O S P F H A’ K S O L T P F H “Egy valódi gén funkciója gyakran független annak a kromoszómán belüli pozíciójától (habár egy helyhez tartozó gének gyakran együttműködnek)”
24
Átrendező operátorok PMX-Partially Mixed Crossover A 9 8 4 5 6 7 1 3 2 10 8 7 1 2 3 10 9 5 4 6 B Gyerekek (offsprings) A’ 9 8 4 2 3 10 1 B’ 8 1 5 6 7 9 4
25
Átrendező operátorok PMX-Partially Mixed Crossover A 9 8 4 5 6 7 1 3 2 10 8 7 1 2 3 10 9 5 4 6 B Gyerekek (offsprings) A’ 9 8 4 2 3 10 1 6 5 7 B’ 8 10 1 5 6 7 9 2 4 3
26
Átrendező operátorok OX - Order Crossover A 9 8 4 5 6 7 1 3 2 10 8 7 1 2 3 10 9 5 4 6 B Gyerekek (offsprings) A’ 9 8 4 5 6 7 1 B’ 8 1 2 3 10 9 4
27
Átrendező operátorok OX - Order Crossover A 9 8 4 5 6 7 1 3 2 10 8 7 1 2 3 10 9 5 4 6 B Gyerekek (offsprings) A’ 5 6 7 2 3 10 1 9 8 4 B’ 2 3 10 5 6 7 9 4 8 1
28
Átrendező operátorok CX - Cycle Crossover A 9 8 2 1 7 4 5 10 6 3 1 2 3 4 5 6 7 8 9 10 B Gyerekek (offsprings) A’ 9 B’ 1
29
Átrendező operátorok CX - Cycle Crossover A 9 8 2 1 7 4 5 10 6 3 1 2 3 4 5 6 7 8 9 10 B Gyerekek (offsprings) A’ 9 1 4 6 B’ 1 4 6 9
30
Átrendező operátorok CX - Cycle Crossover A 9 8 2 1 7 4 5 10 6 3 1 2 3 4 5 6 7 8 9 10 B Gyerekek (offsprings) A’ 9 2 3 1 5 4 7 8 6 10 B’ 1 8 2 4 7 6 5 10 9 3
31
A szülők permutáció sorszámai közti szomszédos kapcsolatokat öröklik
Edge rekombináció A szülők permutáció sorszámai közti szomszédos kapcsolatokat öröklik
32
Átrendező operátorok G D M H B J F I A K E C C E K A G B H I J F M D A
ERC – Edge Recombination Crossover P1 G D M H B J F I A K E C P2 C E K A G B H I J F M D A G, I, -K B G, -H, J C D, -E, G D C, G, -M E -C, -K F I, -J, M csúcslista Amely elemek 2-szer vannak jelen, külön megjelöljük – jellel. Ezeknek prioritásuk lesz az elkövetkezőkben.
33
Átrendező operátorok G D M H B J F I A K E C C E K A G B H I J F M D G
ERC – Edge Recombination Crossover P1 G D M H B J F I A K E C P2 C E K A G B H I J F M D G A, B, C, D H -B, I, M I A, F, H, J J B, -F, I K -A, -E M -D, F, H csúcslista Ez a megközelítés akkor állja a helyét, ha szimmetrikus a költségmátrix és az utazó- ügynök vissza kell térjen a bázishelyre
34
Reprezentáció és kódolás
1. Klasszikus, rögzített hosszúságú bináris sztring 1 2. Egészértékű kódolás 3 24 51 68 15 42 79 37 12 7 3. Lebegőpontos kódolás 1.1 3.25 4.3 9.71 2.8 7.31 6.01 5.8
35
Reprezentáció és kódolás
4. Változó hosszúságú kromoszóma 1 1 1 5. Kétdimenziós kromoszóma 1
36
Reprezentáció és kódolás
5. Listás kromoszóma ábrázolás 5 31 4 63 16 6. Fa-struktúrájú kromoszóma ábrázolás 35 41 1 8 23 56 17
37
Reprezentáció és kódolás
x + x - - + + c b 1 a x x 3.5 -1.2 b 2.5 c a Programok kódolása fa-struktúrában
38
MTSP –több utazóügynök probléma
Egy kromoszómás technika 2 5 14 6 -1 1 11 8 13 -2 4 10 3 -3 12 15 9 7 Két kromoszómás technika 2 5 14 6 1 11 8 13 4 10 3 12 15 9 7 2 1 3 4
39
MTSP –több utazóügynök probléma
Kétrészű kromoszóma technika 2 5 14 6 1 11 8 13 4 10 3 12 15 9 7 A kromoszóma első részére lehet alkalmazni bármilyen rekombinációs műveletet. A második részére a kromoszómának ki kell találni egy másfajta keresztezés vagy mutációs műveletet
40
Sarok algoritmus kromoszómája
41
Kontroll kromoszóma
42
Kontroll kromoszóma keresztezés operátora
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.