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

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

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

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

Genetikus algoritmusok

Evolúciós algoritmusok

Képrekonstrukció 9. előadás

Informatikai Rendszerek Tervezése

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,

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

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

Képrekonstrukció 6. előadás

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

Szakdolgozat. Miskolci Egyetem. A genetikus algoritmus alkalmazási lehetőségei. Készítette: Biró Szilárd 5. Programtervező informatikus

Simon Károly Babes Bolyai Tudományegyetem

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

Dr. habil. Maróti György

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

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

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

Természetes szelekció és adaptáció

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

Bevezetés az informatikába

Mesterséges Intelligencia MI

Biomatematika 2 Orvosi biometria

Többgénes jellegek. 1. Klasszikus (poligénes) mennyiségi jellegek. 2.Szinte minden jelleg több gén irányítása alatt áll

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.

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

[Biomatematika 2] Orvosi biometria

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

Populációgenetikai. alapok

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Matematikai statisztika. Mi a modell? Binomiális eloszlás sűrűségfüggvény. Binomiális eloszlás

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

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

Hátterükben egyetlen gén áll, melynek általában számottevő a viselkedésre gyakorolt hatása, öröklési mintázata jellegzetes.

DNS viszgálatok, számítási módszerek

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

A Hardy-Weinberg egyensúly. 2. gyakorlat

Mesterséges Intelligencia MI

Véletlenszám generátorok. 6. előadás

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

Mintavétel fogalmai STATISZTIKA, BIOMETRIA. Mintavételi hiba. Statisztikai adatgyűjtés. Nem véletlenen alapuló kiválasztás

ÁLLATTENYÉSZTÉSI GENETIKA

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

1. Adatok kiértékelése. 2. A feltételek megvizsgálása. 3. A hipotézis megfogalmazása

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

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

Mesterséges Intelligencia MI

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

Mesterséges Intelligencia alapjai

Prenatalis diagnosztika lehetőségei mikor, hogyan, miért? Dr. Almássy Zsuzsanna Heim Pál Kórház, Budapest Toxikológia és Anyagcsere Osztály

A genetikai lelet értelmezése monogénes betegségekben

Asszociációs szabályok

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Statisztika I. 4. előadás Mintavétel. Kóczy Á. László KGK-VMI. Minta Mintavétel Feladatok.

A számítástudomány alapjai

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

Hallgatói preferencia rangsorok készítése a jelentkezések alapján

Statisztika I. 4. előadás Mintavétel. Kóczy Á. László KGK-VMI. Minta Mintavétel Feladatok.

A kromoszómák kialakulása előtt a DNS állomány megkettőződik. A két azonos információ tartalmú DNS egymás mellé rendeződik és egy kromoszómát alkot.

Adatbázis rendszerek Gy: Algoritmusok C-ben

STATISZTIKA. A maradék független a kezelés és blokk hatástól. Maradékok leíró statisztikája. 4. A modell érvényességének ellenőrzése

STATISZTIKA. Egymintás u-próba. H 0 : Kefir zsírtartalma 3% Próbafüggvény, alfa=0,05. Egymintás u-próba vagy z-próba

BIOLÓGIA HÁZIVERSENY 1. FORDULÓ BIOKÉMIA, GENETIKA BIOKÉMIA, GENETIKA

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

Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz

Közösség detektálás gráfokban

[Biomatematika 2] Orvosi biometria

ÓRARENDTERVEZÉS GENETIKUS ALGORITMUS SEGÍTSÉGÉVEL

Altruizmus. Altruizmus: a viselkedés az adott egyed fitneszét csökkenti, de másik egyed(ek)ét növeli. Lehet-e önző egyedek között?

Altruizmus. Altruizmus: a viselkedés az adott egyed fitneszét csökkenti, de másik egyed(ek)ét növeli. Lehet-e önző egyedek között?

Tudománytörténeti visszatekintés

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Hipotézis, sejtés STATISZTIKA. Kétmintás hipotézisek. Tudományos hipotézis. Munkahipotézis (H a ) Nullhipotézis (H 0 ) 11. Előadás

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

Matematikai alapok és valószínőségszámítás. Statisztikai becslés Statisztikák eloszlása

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

4/24/12. Regresszióanalízis. Legkisebb négyzetek elve. Regresszióanalízis

Mérési hibák

Adatszerkezetek 2. Dr. Iványi Péter

2. Visszalépéses keresés

Nincs öntermékenyítés, de a véges méret miatt a párosodó egyedek bizonyos valószínűséggel rokonok, ezért kerül egy

Domináns-recesszív öröklődésmenet

A FLOW-SHOP ÜTEMEZÉSI PROBLÉMA MEGFOGALMAZÁSA

Teljesen elosztott adatbányászat pletyka algoritmusokkal. Jelasity Márk Ormándi Róbert, Hegedűs István

Statisztika I. 8. előadás. Előadó: Dr. Ertsey Imre

Kódelméleti és kriptográai alkalmazások

Kettőnél több csoport vizsgálata. Makara B. Gábor MTA Kísérleti Orvostudományi Kutatóintézet

INCZÉDY GYÖRGY SZAKKÖZÉPISKOLA, SZAKISKOLA ÉS KOLLÉGIUM

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

KÖZELÍTŐ INFERENCIA II.

Kísérlettervezés alapfogalmak

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

Számelméleti alapfogalmak

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Mi a modell? Matematikai statisztika. 300 dobás. sűrűségfüggvénye. Egyenletes eloszlás

Regresszió. Fő cél: jóslás Történhet:

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

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

MATEMATIKA ÉRETTSÉGI május 8. KÖZÉPSZINT

Átírás:

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

Biológiai háttér (nagyvonalúan) A sejt genetikai információit hordozó DNS általában kromoszómának nevezett makromolekulákba van csomagolva. A szervezet teljes örökítő információját genomnak (genotípus) nevezzük. A kromoszóma génekből áll össze, amelyek mind egy tulajdonságot kódolnak. A genotípus alapján épül fel az élőlény, melynek tulajdonságainak összessége a fenotípus

Biológiai háttér (nagyvonalúan) Reprodukció során a szülők génjeinek rekombinációjaként áll elő egy új egyed. Az új egyed génjei mutáción keresztül módosulhatnak. Az új egyed fenotípusa meghatározza az egyed jóságát (fitness), amely annak túlélési esélyeit, a saját génjeinek továbbörökítési esélyeit határozza meg.

Elnevezések a GA-ban Egyed (Individual) - Egy lehetséges megoldás Populáció (Population) - Az egyedek csoportja Keresési tér (Search Space) - A probléma összes lehetséges megoldásának halmaza Kromoszóma (Chromosome) - Az egyed információi Jellemvonás (Trait) - Az egyed valamely tulajdonsága Allél (Allele) - Egy tulajdonság lehetséges információi Locus - Egy adott gép pozíciója a kromoszómában

Folyamatábra

Folyamat 1. [Start] Egy véletlen, n egyedet tartalmazó populáció előállítása 2. [Fitness] Minden egyes egyed fitness f(x) értékének meghatározása 3. [New population] Generálj egy új populációt (generációt) a következő lépések felhasználásával 1. [Szelekció Selection] Válassz ki két szülőt a fitnessük alapján, (a nagyobb fitness nagyobb esélyt jelent) 2. [Rekombináció Crossover] Valamely algoritmus felhasználásával keresztezd a szülők génjeit egy gyerek egyed létrehozásához. 3. [Mutáció Mutation] Valamely mutációs valószínűséggel módosítsd az egyes géneket. 4. [Accepting] Helyezd el az új egyedet az új populációban 4. [Replace] A továbbiakban az új populációt használd 5. [Test] Amennyiben az algoritmus befejezési kondíciója teljesül, fejezd be, és térj vissza az aktuális populáció legjobb egyedével. 6. [Loop] Go to step 2

Bináris ábrázolásmód A számítógépben megfelelően reprezentálható, fix pontos megoldás Az ábrázolható értékek pontossága és tartománya egy offsetfactor páros határozza meg. Gének ábrázolása 1.

Gének ábrázolása 2. Valós ábrázolásmód A gén egy valós számként kerül ábrázolásra Ez hat a mutációra és a keresztezésre is A bináris és valós ábrázolás közti ellentétet sok szempont befolyásolja

Gének ábrázolása 3. Permutációs ábrázolásmód A kombinatorikai problémáknál a paramétertér pontjainak, véges számú elemek különböző sorrendjei felelnek meg Az egyedek ábrázolásához megfelelő módszer a permutációban szereplő tagok indexeinek felhasználása

Egyed kiválasztás Elitizmus: Egy lehetséges kiválasztási mód, hogy az aktuális populáció valahány legjobb fitness-szel rendelkező eleme (és azok gyerekei) kerülnek az új populációba. Ezzel elkerülhető a generációk közötti fitness romlása, azonban a GA érzékenyebb lesz a lokális minimumokra.

Túlélés valószínűsége (Fitness Scaling) Minden egyed számára meghatározzuk, hogy milyen eséllyel örökíti tovább a génjeit (Proportional) Fitness értékek normált számítása: P i = f i σ f_i Függ a fitness tényleges nagyságrendjétől, relatív elhelyezkedésétől

Túlélés valószínűsége (Fitness Scaling) Fitness Rank P r = 1 P c r P c P r = 1 r

Túlélés valószínűsége (Fitness Scaling) Top Scaling Az egyedek közül kiválasztott néhány (előre meghatározott számú, vagy arányú) magas valószínűséget kap, a többi alacsonyt, vagy nullát. A top scaling kifejezetten a diverzió ellen dolgozik, gyakorlatilag egy elitista populációt generál.

Szelekció Rulett kerék szelekció A legáltalánosabban használt kiválasztási mód Az egyes egyedekhez a (scaled) fitness értékükkel arányosan rendeli hozzá a rulett kerék kerületének egy részét. Véletlen érték kiválasztása esetén így nagyobb eséllyel választjuk ki az erősebb egyedeket.

Stochastic uniform Az egyedek egy egyenes szakaszin elhelyezkedve, egy véletlen kiindulási pontból, azonos lépésközzel lépegetve kerülnek kiválasztásra Növeli a diverzitást Szelekció

Bajnokság, Tournament Szelekció Vannak problémák, ahol nem lehet egyértelmű fitness értéket hozzárendelni az egyes egyedekhez. (Sakkozó, versenyző) Ekkor kettő, vagy több egyed véletlen kiválasztásával, és egymással való összehasonlításával a győztes lesz a potenciális szülő.

Mutáció Mutáció bináris ábrázolás esetén Ebben az esetben minden egyes gén egy bit. A mutációt egy valószínűségi paraméter határozza meg, mely megmondja, hogy egy gén milyen valószínűséggel billenjen át.

Mutáció Mutáció valós ábrázolás esetén Az egyes gének itt valós számok, amelyek egyenkénti mutációs valószínűségét szintén egy valószínűségi változó befolyásolja. A mutáció lehet egyenletes eloszlású, ekkor egy meghatározott tartományban értelmezett véletlen számot adunk a génhez. A mutáció lehet Gauss eloszlású, ekkor egy 0 középértékű, kezdeti σ szórású véletlen számmal kerül a gén módosításra. A σ értéke a generációk változásával csökkenhet, valamely előre meghatározott módon.

Mutáció Permutációs ábrázolás mutációi Két pont közötti pontok sorrendjének felcserélése Két pont felcserélése Egy pont áthelyezése

Rekombináció Bináris keresztezés A bináris keresztezés esetén két szülő génjei egy {0,1} értékkészletű maszk alapján kereszteződnek. Egy pontos, K pontos, Uniform

Valós keresztezés Ugyanúgy lehetőség egy maszk alapján a szülők génjeinek összefésülése (Scattered crossover), vagy egy- illetve többpontos. Heuristic:C = P 1 + Ratio(P 2 P 1 ) Intermediate: C = P 1 + Rnd Ratio(P 2 P 1 ) Súlyozott átlag Rekombináció

Rekombináció Permutációs keresztezés, DAVIS sorrendi keresztezése Vegyünk két permutációt, az egyik a vágandó sor, a másik a kitöltő! Az első permutációból véletlenszerűen válasszunk ki egy szakaszt (8,7,3), és másoljuk át az utód ugyanazon részére! A maradék helyeket a második szülőből töltsük fel a sorrendet betartva, de a már felhasznált pontokat kihagyva.

Diverzitás fenntartása Niching A genetikus algoritmusok területén alkalmazva a nicheket elérhetjük, hogy az algoritmus a lokális optimumokhoz tartozó megoldásokat is megtalálja. Az eljárás egyik megvalósítási módja a fitness megosztás, amely az egyes egyedek között elosztja egy adott terület fitness értékét. Így limitálja az egyedek számát a megoldások környezetében.

Diverzitás fenntartása Sziget modell. A cél több egymástól független alpopuláció fenntartása, valamely migrációs lehetőség engedélyezésével. Gyűrű, szomszédsági, teljes topológiák

Stopping Criteria Generáció szám: Előre meghatározott generációt futtató algoritmus. A paraméterszám növekedésével ez egyre magasabb kell, hogy legyen. Idő limit: Az optimumkeresésre fordítható idő előzetes meghatározása alapján. Fitness limit: Az algoritmus leáll, ha elér egy előre meghatározott fitness értéket Stall generations: Az algoritmus leáll, ha az átlagos fitness növekedés egy adott érték alá csökken Stall time limit: Hasonlóan, amennyiben a fitness növekedés leáll egy adott időszakon belül.

Limitations A fitness kiértékelésének ideje kritikus, szükséges lehet approx. fitness kiértékelésre Érzékeny a komplexitás növekedésére Sok esetben a GA lokális optimumhoz konvergál Nem alkalmazható döntés jellegű problémák esetén

Példa 1. TSP Permutációs reprezentáció Minimális elitizmus Rulett kerék szelekció Davis keresztezés Sorrendi mutáció

Példa 2. http://rednuht.org/genetic_cars_2/ https://www.youtube.com/watch?v=jbgg_vsp7f8