Genetikus algoritmusok Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT.- 5. kurzus 1 Informatikai Rendszerek Tervezése 5. Előadás: Genetikus algoritmusok Illyés László
Tartalom Bevezető A kanonikus genetikus algoritmus A genetikus algoritmusok biológiai alapjai Történelem Permutációs adatstruktúrák Speciális reprezentációk Saját reprezentációk
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 modellezni és utánozni tudnák a nagy túlélőt: a Természetet.
A DNS struktúrája Forrás: Wikipedia, dezoxiribonukleinsav
Két székely barkchobázik: - Tekeredik. - Ja, tekeredik Két székely barkchobázik: - Tekeredik? - Ja, tekeredik! - Oszt kunkorodik is? - A' hát, kunkorodik is! - De oszt csavarodni oszt csavarodik-é? - Csavarodik hát! - Nono, na csak nem tán a dezoxiribonukleinsav?! http://kecskefeszek.net/vicc/szekely-viccek/barkochba.html
Az algoritmus működése POPULÁCIÓval dolgozunk Kezdeti populáció elkészítése a véletlent használja (RAND). Minden ciklus egy új GENERÁCIÓ Kiértékelés: a problémára adott megoldás EREDMÉNYének kiszámítása
Genetikus OPERÁTOROK kiválasztás (Darwin szerinti) Az életképesebb egyéneknek nagyobb az esélyük a túlélésre vagy szaporodásra, génei nagyobb valószínűséggel lesznek benne a következő generáció gyerekeiben életképesség ↔ jobb eredmény keresztezés mutáció reprodukció
Mandel szerinti öröklődés (a keresztezés mechanizmusa) Forrás: Wikipedia, Mandelian inheritance
Mi történik, ha keresztezik a zsiráfot és a vakondot Mi történik, ha keresztezik a zsiráfot és a vakondot?! fúrótorony Mit történik, ha keresztezzük a pulit egy zsiráffal? szívinfarktust kap a juhász Mi lesz, ha a kecskét és a kacsát keresztezzük? mekkdonalds. Mi lesz a bulldog és a boxer kereszteződéséből? bulldózer Mi lesz a kígyó és a sűndisznó kereszteződéséből? szögesdrót
Bináris sztringek egypontos keresztezése Szülők Keresztezés locus P1 1 P2 1 Gyerekek (offsprings) O1 1 1 O2
Bináris sztringek kétpontos keresztezése Keresztezés locusok Szülők P1 1 P2 1 Gyerekek (offsprings) O1 1 1 O2
Bináris sztringek uniform keresztezése Szülők P1 1 P2 1 Gyerekek (offsprings) O1 1 1 O2 0.5-0.5 valószínűséggel egyik vagy másik szülőtől
Túlzott mutáció http://www.pecsistop.hu/tudomany/elkepeszto-mutans-szuletett-a-tudosok-is-elismertek-video/1133995/
Mutáció tipusok Törlés Duplikálás Inverzió Beszúrás Transzlokáció "All of the illustrations in the Talking Glossary of Genetics are freely available and may be used without special permission." Mutáció tipusok Törlés Duplikálás Inverzió Beszúrás Transzlokáció
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
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
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:
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
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
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.
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
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.
Á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
Á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)”
Á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
Á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
Á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
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
Reprezentáció és kódolás 4. Változó hosszúságú kromoszóma 1 1 1 5. Kétdimenziós kromoszóma 1
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
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
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
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
Sarok algoritmus kromoszómája
Kontroll kromoszóma
Kontroll kromoszóma keresztezés operátora