Genetikus algoritmusok

Slides:



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

Oszthatósággal kapcsolatos feladatok pszeudokódban.
Készítette: Nagy Mihály tanár Perecsen, 2006.
I. előadás.
Elemi algoritmusok Páll Boglárka.
Másodfokú egyenlőtlenségek
Valószínűségszámítás
egy egyszerű példán keresztül
IPv4 címzés.
Az adatábrázolás, adattárolás módja a számítógépekben
QAM, QPSK és OFDM modulációs eljárások
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
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:
Műveletek logaritmussal
Vektormező szinguláris pontjainak indexe
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Bernoulli Egyenlőtlenség
Alhálózat számítás Osztályok Kezdő Kezdete Vége Alapértelmezett CIDR bitek alhálózati maszk megfelelője A /8 B
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.
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
Készítette: Pető László
Algebrai törtek.
Genetikus algoritmusok
Dr. Szalka Éva, Ph.D.1 Statisztika II. VII.. Dr. Szalka Éva, Ph.D.2 Mintavétel Mintavétel célja: következtetést levonni a –sokaságra vonatkozóan Mintavétel.
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
Halmazok Gyakorlás.
Előadó: Prof. Dr. Besenyei Lajos
A digitális számítás elmélete
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
Differenciál számítás
Eseményalgebra, kombinatorika
IRE 5 /18/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – I ntelligens R endszerek E lmélete 5.
Számítógépes Hálózatok GY
Programozás I. Ciklusok
Szélességi bejárás A szélességi bejárással egy irányított vagy irányítás nélküli véges gráfot járhatunk be a kezdőcsúcstól való távolságuk növekvő sorrendjében.
Evolúciósan stabil stratégiák előadás
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Fixpontos, lebegőpontos
Készítette: Gergó Márton Konzulens: Engedy István 2009/2010 tavasz.
Lénárt Szabolcs Páll Boglárka
2006. március 3. Három négyzet oldalai különböző prím- számok. A két kisebb négyzet kerületének ösz- szege egyenlő a legnagyobb négyzet kerületé- vel;
Ciklusok (iterációk).
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ó.
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.
4 Négyzet probléma Készen vagy? B A
Alapsokaság (populáció)
Binomiális eloszlás.
Határozatlan integrál
Fixpontos, lebegőpontos
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Mesterséges Intelligencia 1. Eddig a környezet teljesen megfigyelhető és determinisztikus volt, az ágens tisztában volt minden cselekvésének következményével.
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.
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.
Genetikus algoritmusok
Mesterséges intelligencia
A mesterséges neuronhálók alapjai
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 egyedfitneszé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