Genetikus algoritmusok

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

I. előadás.
Másodfokú egyenlőtlenségek
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
1. A KVANTUMMECHANIKA AXIÓMÁI
Bernoulli Egyenlőtlenség
Optimális részhalmaz keresése Keresési tér. 0,0,0,0 1,0,0,0 0,1,0,0 0,0,1,0 0,0,0,10,0,1,1 1,1,0,0 1,0,1,0 0,1,1,0 1,1,1,0 1,0,1,1 0,1,1,1 1,1,1,11,1,0,1.
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
MI 2003/ Alakfelismerés - még egy megközelítés: még kevesebbet tudunk. Csak a mintánk adott, de címkék nélkül. Csoportosítás (klaszterezés, clustering).
Metal/plastic foam projekt
Hálózati Biológia A sejt funkcionális működésének megértése.
Készítette: Pető László
Algebrai törtek.
Genetikus algoritmusok
Dr. Szalka Éva, Ph.D.1 Statisztika II. IX.. Dr. Szalka Éva, Ph.D.2 Idősorok elemzése.
Papp Róbert, Blaskovics Viktor, Hantos Norbert
Előadó: Prof. Dr. Besenyei Lajos
Differenciál számítás
Eseményalgebra, kombinatorika
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
IRE 5 /18/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – I ntelligens R endszerek E lmélete 5.
Szabó Attila, Cross-entrópia alkalmazása a megerősítéses tanulásban.
Evolúciósan stabil stratégiák előadás
Excel Hivatkozások, függvények használata
Aszexuális, szimpatrikus speciáció
Függvények.
Lénárt Szabolcs Páll Boglárka
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Problémás függvények : lokális optimalizáció nem használható Globális optimalizáció.
Lokális optimalizáció Feladat: f(x) lokális minimumának meghatározása 0.Adott egy kezdeti pont: x 0 1.Jelöljünk ki egy új x i pontot, ahol (lehetőleg)
Optimalizáció modell kalibrációja Adott az M modell, és p a paraméter vektora. Hogyan állítsuk be p -t hogy a modell kimenete az x bemen ő adatokon a legjobban.
Optimalizáció modell kalibrációja Adott az M modell, és p a paraméter vektora. Hogyan állítsuk be p -t hogy a modell kimenete az x bemenő adatokon a legjobban.
1 Mössbauer-spektrumok illesztése: vonalalak A kibocsátott  -sugárzás energiaspektruma Lorentz-görbe alakú: I : sugárzás intenzitása  : frekvencia 
Környezeti rendszerek modellezése 11. előadás Optimalizáció Balogh Edina.
Gazdaságstatisztika 11. előadás.
Alapsokaság (populáció)
Binomiális eloszlás.
Határozatlan integrál
I. előadás.
Genetikus algoritmusok
Nagy Szilvia 13. Konvolúciós kódolás
Egyenes vonalú mozgások
Programozás, programtervezés
Genetikus algoritmusok
A HATÁROZOTT INTEGRÁL FOGALMA
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
Informatikai Rendszerek Tervezése 5. Előadás: Genetikus algoritmusok Illyés László Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT.-5.
Algoritmizálás és programozás tanítása Balogh Zoltán PTE-TTK IÁTT Az algoritmuskészítés.
Menetrend optimalizálása genetikus algoritmussal
Genetikus algoritmus “A genetikus algoritmusok segítségével óriási méretű paraméter teret vizsgálhatunk meg, hogy megtaláljuk különböző dolgok optimális.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Táblázatkezelés Képletek és függvények. Képletek A képletek olyan egyenletek, amelyek a munkalapon szereplő értékekkel számításokat hajtanak végre. A.
1  BME Híradástechnikai Tsz komhal20.ppt Kommunikációs hálózatok tervezése 20. előadás Izsó Tamás Híradástechnikai tanszék 2000 Budapesti Műszaki.
Kontinuum modellek 1.  Bevezetés a kontinuum modellekbe  Numerikus számolás alapjai.
Programozási alapok.
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Integrálszámítás.
A Fibonacci-féle sorozat
I. Előadás bgk. uni-obuda
Mesterséges intelligencia
A mesterséges neuronhálók alapjai
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
A lineáris függvény NULLAHELYE
Algoritmus készítés.
Cache példák 2019 (IMSC).
Előadás másolata:

Genetikus algoritmusok Mesterséges Intelligencia Genetikus algoritmusok Példa

Genetikus algoritmusok A genetikus algoritmusok olyan keresőalgoritmusok melyek primitív módon reflektálják a természetes evolúció bizonyos folyamatait. A mérnökök és tudósok általában nem sokat törődnek a genetikus algoritmusok biológiai alapjaira, inkább a problémamegoldó képességeikre összpontosítanak.

Genetikus algoritmusok A genetikus algoritmusok az evolúciós számításokhoz taroznak (Evolutionary Computing) – EC, és mint olyanok, a keresési térben a pontok populációjával működnek, nem pedig csak egy potenciális megoldással. A “pontok” mindegyike egy vektor a hipertérben, és egy kandidátust képvisel, vagyis egy potenciális megoldást az adott optimalizációs problémára. A populáció nem más mint vektorok halmaza a hipertérben.

Genetikus algoritmusok Minden vektort a populációban egyednek vagy individuának nevezünk. Az analógia miatt az élő szervezetek genetikai evolúciójával, az egyedet kromoszómának is nevezzük. Minden vektorban (egyedben) az elemek száma egyenlő az adott valós optimalizálási probléma paramétereinek számával.

Genetikus algoritmusok Egy egyszerű (kanonikus) genetikus algoritmus megvaló-sításához a következő műveleteket kell végrehajtani: A populáció inicializációja Minden populációbeli egyed fitneszének a meghatározása A kiválasztott egyedek reprodukciója az új populáció kialakításához Rekombináció (keresztezés) és mutáció genetikus műveletek végrehajtása a populáción Lépések ismétlése a 2. ponttól amíg nem teljesül egy előre meghatározott megállási, illetve kilépési feltétel

Genetikus algoritmusok A genetikus algoritmusokat legkönnyebben egy példán keresztül ismerhetjük meg. Az egyszerű genetikus algoritmus megvaló-sítása nem más mint bitsorozatok másolása, bitsorozatok megváltoztatása, és a bitsorozaton belül az egyes bitek változtatása.

Genetikus algoritmusok A mi példánkban azt az x értéket kell megtalálni amely a következő függvényt fogja makszimizálni a intervallumon Az x csak egész számú értékekre van korlátozva. Az adott függvény egy színuszfüggvény 0-tól π radiánig. A függvény makszimális értéke 1, és ezt az értéket a π/2 pontban éri el, vagyis ekkor x=128.

Genetikus algoritmusok Ebben a példában csak egy változó létezik: x. Feltételezzük, hogy bináris szimbólumkészletet használunk. Először azt kell eldöntenünk, hogy hogyan reprezentáljuk a változót. Mivel az x változó csak a 0-255 intervallumból vehet fel értékeket, logikus hogy minden egyedet egy 8-bites bináris értékkel fogunk reprezentálni.

Genetikus algoritmusok A 00000000 bináris szám a nullát fogja képviselni, míg az 11111111 bináris szám a 255-nek felel meg. Ezután el kell dönteni, hogy hány egyed fogja képezni a populációt. Ez a szám általában néhány tíz és néhány száz között mozog. A mi illusztratív példánkban a populáció 8 egyedből fog állni. A következő lépés a populáció inicializálása. Ez véletlenszerűen történik.

Genetikus algoritmusok Az f(x) az egyed fitnesz-ét (jóságát) jelöli

Reprodukció A fitnesz kiszámítása után, a következő lépés a reprodukció. A reprodukció az új populáció kialakítását jelenti amelyben ugyanannyi egyed lesz mint az előző poulációban. A reprodukció az egyedek kiválasztásával történik a pillanatnyi populációból, méghozzá sztochasztikus kiválasztás módszerével. Minden egyed kiválasztásának a valószínűsége a fitneszétől függ. Minél nagyobb az adott egyed fitnesze, annál nagyobb az egyed esélye a reprodukcióra. A mi példánkban, a kezdeti populációban az összes egyed fitneszének összege 5.083. Ha minden egyes fitneszt elosztunk 5.083-mal, az egyes egyedek normalizált fitneszét kapjuk. A normalizált fitneszek összege 1.

Reprodukció A normalizált fitnesz értékeket a “rulettkerék” eljárásnál használjuk, ahol a rulettkerék minden része (cikke) egy egyednek felel meg. Az egyes cikkek nagysága az egyedek fitnesszétől függ. A rulletkerék forgatásával 8 véletlen számot generálunk 0 és 1 között. Ha a véletlen szám 0 és 0.144 közé esik, az első egyedet választjuk reprodukcióra a pillanatnyi populációból. Ha a véletlen szám 0.144 és (0.144+0.093)=0.237 közé esik, a második egyedet választjuk, és így tovább. Ha a véletlen szám (1-0.128)=0.872 és 1.0 közé esik, akkor az utolsó egyedet választjuk. Minden egyed kiválasztásának valószínűsége a fitneszével arányos.

Reprodukció Megtörténhet (habár annak a valószínűsége nagyon kicsi), hogy a legkisebb fitnesszel rendelkező egyed lesz egymás után mind a 8-szor kiválasztva. Sokkal nagyobb a valószínűsége annak, hogy a nagyobb fitnesszel rendelkező egyedek többször lesznek kiválasztva az új populációba. A nyolc véletlen szám: 0.293, 0.971, 0.160, 0.469, 0.664, 0.568, 0.371, 0.109. Ez rendre a 3, 8, 2, 5, 6, 5, 3, 1 egyedeknek felel meg.

Reprodukció A következő generáció a következő egyedekből áll: 3: 0 1 1 0 0 0 1 1 8: 0 0 1 1 0 1 0 1 2: 1 1 0 1 1 0 0 0 5: 1 0 1 0 1 1 1 0 6: 0 1 0 0 1 0 1 0 1: 1 0 1 1 1 1 0 1

Rekombináció (keresztezés) A populációt először véletlenül kiválasztott páronként rendezzük. Mivel a kiválaszott egyedek sorrendje az előző képről véletlen, a szülőket éppen ilyen sorrendben fogjuk összepárosítani. Minden párra generálunk egy véletlen számot amely azt határozza meg, hogy a keresztezés meg fog-e egyáltalán történni. A példában véletlenszerűen határoztuk meg hogy a 4 párból 3-nál fog a keresztezés megtörténni. A keresztezendő pároknál a keresztezési pontokat véletlenül kell meghatározni.

Rekombináció (keresztezés) A populáció keresztezés előtt, és a keresztezési pontok (a), keresztezés után (b), az x értékei (c) és az f(x) értékei (d) keresztezés után

Mutáció Minden keresztezendő párnál véletlenszerűen választunk két pontot. A kiválasztott két pont között a bitsorozatok részeit kicseréljük. Az utolsó művelet ebben az egyszerű genetikus algoritmusban a mutáció. A mutáció a véletlenül kiválasztott bitek változtatását jelenti. A mutáció valószínűsége állandó a populáció minden bitjére. A mutáció valószínűsége változhat az alkalmazástól és a problémától függően. A mutáció valószínűségének megszokott értékei 0.001 és 0.01 között mozognak.

Mutáció Mivel a mi populációnkban csupán 64 bit van (8 darab 8 bites egyed), nagy a valószínűsége annak, hogy egy bit sem fog változni. Ezért úgy fogjuk tekinteni, hogy a (b) ábrán látható populáció egyben a végső populáció a GA procedúra első iterációja után. A teljes genetikai procedúra végrehajtásával nyrjük az új generációt. A (b) ábrán látható populáció az első generáció a véletlen kezdeti populáció után.

Megjegyzések A fitneszek új összege most 6.313, míg a kezdeti populációban az egyedek összfitnesze 5.083 volt. Az új populációban két olyan egyed is van melyeknek a fitnesze 0.99 felett van. Az új generációban az átlagos és a makszimális fitnesz is növekedett. A populáció a (b) ábráról, és a fitnesz értékek a (d) ábráról most készen állnak egy új reprodukciós, keresztezési és mutálási eljárásra, amely megint egy új populációt fog létrehozni.

Megjegyzések Így újabb és újabb generációk születnek amíg nem teljesül valamilyen kilépési (megállási) feltétel. A kilépési feltétel lehet: előre meghatározott makszimális számú generáció elérése. egy előre meghatározott feltétel teljesülése. meghatározott számú egymást követő generációk száma miközben a fitnesz nem javul.

Változók reprezentálása Az x változó reprezentálására 8-bites bináris értéket használtunk. Viszont, a standard bináris kódolás csak egy lehetőség. Gyakran más kódolási módszerek sokkal alkalmasabbak. Az előző példában a színusz függvény természete az x optimális értékét 128-ra állítja, és akkor a függvény értéke 1.

Változók reprezentálása A 128 bináris reprezentációja 10000000, míg a 127 bináris reprezentációja 01111111. Ez azt jelenti, hogy a fitnesz érték legkisebb változása az összes bit változását idézheti elő a reprezentáción belül. Ez a kódolási mód következménye, és rosszul hat ki a keresés minőségére. Gyakran alkalmasabb a problémát úgy kódolni, hogy az egymást követő értékek Hamming távolsága 1 legyen. Más szóval, az egymást követő értékek csak egy biten különböznek. Egy ilyen kódolási mód a Grey kódolás.

Vége