360 likes | 523 Views
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE ) Csíkszereda IRT .- 5 . kurzus 1. Informatikai Rendszerek Tervez ése 5. El ő ad á s: G enetikus algoritmus ok Illy és László. Tartalom. Bevezető A kanonikus genetikus algoritmus A genetikus algoritmusok biológiai alapjai Történelem
E N D
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT.- 5.kurzus 1 InformatikaiRendszerekTervezé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étszékelybarkchobázik:- Tekeredik?- Ja, tekeredik!- Osztkunkorodik is?- A' hát, kunkorodik is!- De osztcsavarodniosztcsavarodik-é?- Csavarodikhát!- Nono, nacsaknemtá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 újGENERÁ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?! • fúrótorony • Mittörténik, ha keresztezzük a pulitegyzsiráffal? • szívinfarktustkap a juhász • Mi lesz, ha a kecskétés a kacsátkeresztezzü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 P2 Gyerekek (offsprings) O1 O2
Bináris sztringek kétpontos keresztezése Keresztezés locusok Szülők P1 P2 Gyerekek (offsprings) O1 O2
Bináris sztringek uniform keresztezése Szülők P1 P2 Gyerekek (offsprings) O1 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/
"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 O1 A gének egymástól függetlenül mutálódnak P1 O1
Bináris sztringek mutációja Csak egy gén mutálódik P1 O1 A gének egymástól függetlenül mutálódnak P1 O1
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 Á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 INVERZIÓ-művelete A A’ “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 B Gyerekek (offsprings) A’ B’
Átrendező operátorok CX- Cycle Crossover A B Gyerekek (offsprings) A’ B’
Átrendező operátorok CX- Cycle Crossover A B Gyerekek (offsprings) A’ B’
Reprezentáció és kódolás 1. Klasszikus, rögzített hosszúságú bináris sztring 2. Egészértékű kódolás 3. Lebegőpontos kódolás
Reprezentáció és kódolás 4. Változó hosszúságú kromoszóma 5. Kétdimenziós kromoszóma
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 Két kromoszómás technika
MTSP –több utazóügynök probléma Kétrészű kromoszóma technika 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