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.

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements


Kamarai prezentáció sablon
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Készítette: Boros Erzsi
Adatelemzés számítógéppel
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Erőállóképesség mérése Találjanak teszteket az irodalomban
Az előadásokon oldandók meg. (Szimulációs modell is tartozik hozzájuk)
Humánkineziológia szak
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
Koordináta transzformációk
Matematika II. 3. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Illés Tibor – Hálózati folyamok
Utófeszített vasbeton lemez statikai számítása Részletes számítás
Euklidészi gyűrűk Definíció.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Programozási alapismeretek 10. előadás
A tételek eljuttatása az iskolákba
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.
Elektronikai Áramkörök Tervezése és Megvalósítása
Minimax és problémaredukció, egyszerű példák INCK431 Előadó: Dr. Nagy Benedek Norbert Gyakorlatvezető: Kovács Zita 2011/2012. II. félév A MESTERSÉGES INTELLIGENCIA.
Készítette: Pető László
VÁLOGATÁS ISKOLÁNK ÉLETÉBŐL KÉPEKBEN.
Műszaki ábrázolás alapjai
Genetikus algoritmusok
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
Előadó: Prof. Dr. Besenyei Lajos
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
IRE 5 /18/ 1 Óbudai Egyetem, NIK Dr. Kutor László2011. TÁMOP – I ntelligens R endszerek E lmélete 5.
Szerkezeti elemek teherbírásvizsgálata összetett terhelés esetén:
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
Lineáris egyenletrendszerek (Az evolúciótól a megoldáshalmaz szerkezetéig) dr. Szalkai István Pannon Egyetem, Veszprém /' /
Gráfok Készítette: Dr. Ábrahám István.
szakmérnök hallgatók számára
2. A KVANTUMMECHANIKA AXIÓMÁI 1. Erwin Schrödinger: Quantisierung als Eigenwertproblem (1926) 2.
Exponenciális egyenletek
Logikai szita Izsó Tímea 9.B.
Idősor elemzés Idősor : időben ekvidisztáns elemekből álló sorozat
Lineáris programozás.
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.
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.
7. Házi feladat megoldása
VARIÁCIÓK ISMÉTLÉS NÉLKÜLI ESET DEFINÍCIÓ
A pneumatika alapjai A pneumatikában alkalmazott építőelemek és működésük vezérlő elemek (szelepek)
Csurik Magda Országos Tisztifőorvosi Hivatal
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
2006. május 15P2P hálózatok 1 Fóliák a vizsgára: 1. előadás  Bevezető: 11-16, 21,  Usenet: előadás:  Bevezető: 3-8  Napster: 
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Készítette: Horváth Viktória
Genetikus algoritmusok
Mikroökonómia gyakorlat
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.
Menetrend optimalizálása genetikus algoritmussal
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
előadások, konzultációk
Programozási alapismeretek 10. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 10.2/  Kiválogatás + összegzés.
1.  Szerzői:  Panagiotis Bouros (University of Hong Kong),  Shen Ge (University of Hong Kong),  Nikos Mamoulis (University of Hong Kong)  Esemény:
Genetikus algoritmusok
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.
Előadás másolata:

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 kombinációját. Olyan megoldásokat, amelyeket egyébként egy egész életen át kereshetnénk.” Salvatore Mangano Computer Design, May 1995 Biológiai gén felépítése – a kettős spirál

Biológiai háttér (a sejt) Minden biológiai sejt nagy számú apró „komplex rendszer” (termelő-, fogyasztó egységek) együttes működése Melynek a sejtmag a központja. A sejtmag tartalmazza a genetikus információt.

Biológiai háttér (a kromoszómák) A genetikus információt a kromoszómák tartalmazzák Minden kromoszóma DNS-ből (dezoxiribonuklein savból) épül fel. Az ember kromoszómái ún. párokból állnak. Az emberi kromoszómában 23 pár van. A kromoszómák kisebb részekből állnak, ezek a: gének. A gének kódolják a tulajdonságokat. Egy tulajdonság tárolását a génben allél-nek nevezzük. Minden génnek meghatározott pozici- ója van a kromoszómában ez a locus.

Biológiai háttér (a kromoszómák) Egy sejt összes metafázisú kromoszómája méret és más jellemzők szerint rendezve metafázis: a gén sejtosztódás egyik szakasza, amelynek folyamán a kromoszómák a sejt egyenlítői sikjában helyezkednek el.

Biológiai háttér (reprodukció) A genetikai információ reprodukálása Mitosis Meiosis Mitosis ugyanazon genetikai információ másolása egy új egyedbe: nincs információ változtatás A mitosis a több cellából álló rendszerek növekedésének normális útja, ilyenek például a szervek.

Biológiai háttér (reprodukció) Meiosis a sexuális reprodukció alapja A meiotikus osztódás után 2 gametes jelenik meg az eljárásban A reprodukciós eljárásban a 2 gameter összekapcsolódik egy zygotává, amely egy új egyeddé válik Így a genetikus információ (adott arányaban) a két szülőtől származik és az új egyed ezekkel a genetikus információkkal rendelkezik

Biológiai háttér (reprodukció) A reprodukció alatt „hibák” történnek Ezek a „hibák” genetikus variációkat hoznak létre A legjelentősebb „hibák” : Rekombináció (keresztezés) Mutáció

Biológiai háttér (természetes kiválasztódás) A fajok fennmaradása: „A kecsegtető variációk megőrzése és a kevésbé értékes variációk visszautasítása” Általánosan több egyed születik, mint amennyi képes a túlélésre így folyamatos a küzdelem a túlélésért. Azok az egyedek maradnak fenn, amelyek (egyre) jobb tulajdonságokkal rendelkeznek a túléléshez: csak a legjobb egyed/struktúra éli túl a többi kevésbé sikeres egyedet/struktúrát. species = faj struggle = harc survival = túlélés

A genetikus algoritmus műszaki feladatoknál Közvetlen (direkt) kereső algoritmus, amely a biológiai evolúció mechanizmusán alapul. John Holland, (University of Michigan) dolgozta ki az 1970-es években. Hogy megértse az adaptív (alkalmazkodási) folyamatokat a természetes rendszerekben. Hogy olyan mesterségesen intelligens programot hozzon létre, amely utánozza a természetes rendszerek robosztus viselkedését.

A genetikus algoritmus műszaki feladatoknál Egy effektív, gyors optimalizációs technika a gépi tanulási / tanítási alkalmazásokhoz. Széles körben alkalmazzák napjainkban a gazdasági, tudományos és műszaki életben egyaránt.

Keresési eljárások osztályai

Keresési eljárások osztályai

A genetikus algoritmus elemei Egy probléma amit meg kell oldani, valamint... kódolási technika (gén, kromoszóma) inicializációs eljárás (populáció létrehozása) célfüggvény meghatározás (a keresési térben) szülők kiválasztása (reprodukció) genetikus operátorok (keresztezés, mutáció) paraméter beállítások (gyakorlat és művészet)

Egyszerű genetikus algoritmus { a populáció létrehozása; a populáció célfüggvénye(i)nek kiszámítása; while megállási_feltétel_nem teljesül szülők kiválasztása az új elem(ek) létrehozásához; keresztezés és mutáció; }

A genetikus algoritmus keresési ciklusa új elemek másolat készítés módosítás szülő elemek módosított elemek inicializálás populáció értékelés kiértékelt elemek törölt elemek törlés

Populáció populáció A kromoszómák (a populáció elemei ) lehetnek: inicializálás populáció A kromoszómák (a populáció elemei ) lehetnek: bit stringek (010101001011011010) valós számok (43.2, -33.1, ... 0.0, 89.2) elemek permutációja (E11, E3, E7, ... E1, E15) szabályok listája (R1, R2, R3, ... R22, R23) program elemek (genetic, programming) ... bármilyen adat struktúra ...

Bitstring kromoszóma paraméterek kromoszoma (bit string) a gén = 1 bit egész számok tartománya lineáris dekódolás x=26+13*(4/31) = 27.68 paraméter értékhatárok

Bitstring kromoszóma A függvény: f(x1, x2) = 20-(x1–x10)^2 + (x2–x20)^2 ahol x10 és x20 konstans értékek

Valós számok kromoszóma gén = egy valós szám x0 x1 Valós szám kromószóma = valós számok vektora

Elemek permutációja kromoszóma kromoszóma (az elemek sorrendje) gén = egy sorszám adott pozición reprezentáció gráf segítségével

Reprodukció másolat készítés populáció kiválsztott szülők másolat készítés lehetséges szülők populáció Véletlenszerűen kiválasztott szülők, a kiválasztás valószínűsége a kromoszómához rendelt függvényértékkel (jósági értékkel, fitness value) arányos.

Reprodukció: Fitness Function Bitstring kromoszóma Fitness(x,y) bármilyen számított érték Valós számok kromoszóma

Reprodukció: Fitness Function kromoszóma (elemek sorrendje) Fitness ( kromoszóma ) például a távolság az adott poziciókban lévő pontok között

Rulett kerék kiválasztási eljárás A fitness értékek „tortája” a populációban probability = valószínűség terület = fitness(x7,y7)

Reprodukció: Sorrendi kiválasztás Sorrendbe állítás egy szülő kiválasztási eljárás, amely az egyes kromoszómák sorrenjén alaőpul. Minden kromoszómát sorrendbe állítunk a hozzá tartozó fitness érték alapján. r1 értéket rendeljük a legrosszabb fitness értékhez; r2 értéket a második legrosszabhoz és így tovább... Magasabb fitness értéknek magasabb sorrendi értéke (is) van, ami azt jelenti, hogy nagyobb valószínűséggel lesz kiválasztva szülőként. Határozzuk meg a a sorrendek összegét: eredmény az Rsum. Szülő választás: Véletlen szám generálás 0 és Rsum között.

Reprodukció: Kiválasztás versenyeztetéssel Versenyeztetéses kiválasztás a genetikus algoritmusoknál alkalmazott sok kiválasztási eljárás közül az egyik, amely néhány véletlenszerűen kiválasztott populáció elem közül a legjobb fitness értékkel rendelkezőt választja ki a keresztezéshez. Ha a versenyeztetett elemek száma nagyobb a gyengébb (fitness értékű) elemek kiválasztásának esélye kisebb lesz. Az egy elemet kiválasztó verseny megegyezik a véletlen kiválasztással.

Módosítás módosítás A módosításokat sztochasztikusan idézzük elő: kiválasztott szülők módosítás gyermek(ek) A módosításokat sztochasztikusan idézzük elő: Műveletek típusai: Keresztezés ( a keresztezés valószínűségével ) Mutáció ( a mutáció valószínűségével )

Módosítás: Keresztezés vágás P1 (0 1 1 0 1 0 0 0) (1 1 0 0 1 0 0 0) Ch1 P2 (1 1 0 1 1 0 1 0) (0 1 1 1 1 0 1 0) Ch2 A keresztezés a genetikus algoritmus fontos tulajdonsága: Nagymértékben gyorsítja a keresését a populáció kezdeti keresési lépéseinél A sémák nagyon hatásos kombinációját hozza létre (részmegoldásokat a különböző kromoszómákon)

Módosítás: Mutáció Előtte: (1 0 1 1 0 1 1 0) Utána: (0 1 1 0 0 1 1 0) véletlen kiválasztott pozició(k) Bitstring kromoszóma Előtte: (1 0 1 1 0 1 1 0) Utána: (0 1 1 0 0 1 1 0) Előtte: (1.38 -69.4 326.44 0.1) Utána: (1.38 -67.5 326.44 0.1) Valós szám kromoszóma Paraméter változtatást okoz a keresési térben (lokális vagy globális változást) Helyreállítja az elvesztett információt a populációban

Értékelés kiértékelő gyermek(ek) értékkel rendelkező gyermekek A kiértékelő dekódolja a kromoszóma által hordozott bemeneti paraméter értékeket és hozzárendeli a kiszámított függvény értéket (jósági értéket, fitness value). A kiértékelő csak egy kapcsolat az egyszerű klasszikus genetikus algoritmus és a megoldandó probléma között.

Törlés populáció törlés törölt egyedek törlés Generációs genetikus algoritmus: az eredeti populáció minden elemét helyettesítjük minden iterációban. Állandósult állapotú genetikus algoritmus: csak adott számú elemet helyettesítünk minden generációban.

A folyamat animált formában

“A géntechnológia még ma is minden szempontból a legkifinomultabb programozási rendszer.” “The Gene is by far the most sophisticated program around.” - Bill Gates, Business Week, June 27, 1994

Egy egyszerű példa Az utazó ügynök problémája (TSP): Kersssük meg az útvonalat különböző városok között a következő feltételekkel: minden várost csak egyszer látogathatunk meg az városok között megtett teljes útvonalat minimalizálnunk kell

Kódolás (TSP) A problémát a városok egy sorrendi listájával kódoljuk. A számok így egy sorrend alapú GA-t valósítanak meg. 1) London 3) Budapest 5) Peking 7) Tokió 2) Velence 4) Singapur 6) Phoenix 8) New York VárosLista1 (3 5 7 2 1 6 4 8) VárosLista2 (2 5 7 6 8 1 3 4)

Keresztezés (TSP) A keresztezés együttesen alkalmazza az inverziót és a rekombinációt: * * Szülő1 (3 5 7 2 1 6 4 8) Szülő2 (2 5 7 6 8 1 3 4) Gyermek (5 8 7 2 1 6 3 4) véletlenül kiválasztott poziciók

Mutáció (TSP) A mutáció a lista elemeinek sorrendjét változtatja meg: * * Előtte: (5 8 7 2 1 6 3 4) Utána: (5 8 6 2 1 7 3 4) véletlenül kiválasztott poziciók

Utazó ügynök probléma

Hátizsák csomagolás A probléma: Van N darab tárgyunk, mindegyik meghatározott értékkel és tömeggel. Rendelkezünk egy hátizsákkal amelynek X kg tömeg a teherbírása. A feladat, hogy válogassunk össze úgy tárgyakat, hogy a lehető legnagyobb értéket vihessük magunkkal, de ne lépjük túl a hátizsák teherbírását. A probémát genetikus algoritmussal oldhatjuk meg. A kromoszómák az egyes esetek, a gének pedig azt jelentik, hogy az adott tárgy benne van a zsákban vagy nem (bitstring kromoszóma). A felső mátrix tartalmazza a szülő kromoszómákat, az alsó a keresztezett és mutált kromoszómákat. A mátrixok mellett lévő szám a tárgyak összértéke, azaz a jósági függvény érteke.

Hátizsák csomagolás

Függvény maximum értéke Függvény maximum érték meghatározása (FVM): Keressük meg egy bementi paramétereivel adott függvény maximális függvényértékét (a globális maximumot): a bementi paraméterek értelmezési tartományával megadott paraméter térben

Kódolás (FVM) A kromoszómát a bemeneti paraméterek valós számokból álló vektorával kódoljuk. x = { -20.0, +12.0 } x1 értelmezési tartomány y = { -20.0, +100.0 } x2 értelmezési tartomány k(i) = [ x(i), y(i) ] A kromoszóma alakja k(1) = [ 3.234, 5.111 ] kromoszóma(1) k(2) = [ 22.12, -3.9234 ] kromoszóma(2)

Keresztezés (FVM) Szülő(1)= [x(1), y(1)]; Szülő(2) = [x(2), y(2)]; a = véletlen szám {0..1} között / típus! / Új elem(1) = [ a*x(1) + {1-a}*x(2), a*y(1) + {1-a}*y(2) ] / limitek!!! / Új elem(2) = [ {1-a}*x(1) + a*x(2), {1-a}*y(1) + a*y(2) ] / limitek!!! /

Mutáció (FVM) A mutáció a kiválasztott elem értékeinek véletlenszerű megváltoztatása: a, b = véletlen számok {0..1} között / típus! / c = konstans { pl.= 0.25 } Előtte: [ x1, y1 ] Utána: [ x1 + (x1max - x1min)*a*c, / limitek!!! / y1 + (y1max - y1min)*b*c ] / limitek!!! /

Véletlenszám típusok: Egyenletes eloszlású

Véletlenszám típusok: Exponenciális eloszlású

Véletlenszám típusok: Normál eloszlású

Véletlenszám típusok: Háromszög eloszlású checkpoint = ( usual -minimum ) / ( maximum - minimum ); triangledistribution = ( random <= checkpoint )? sqrt ( random * ( maximum - minimum ) * (usual - minimum) )+minimum : maximum - sqrt ((1-random)*(minimum-maximum)*(usual-maximum)) ;

Függvény maximum értéke A függvény: f(x, y) = 20 - (x1 - x0)^2 + (y1 - y0)^2 ahol x0 és y0 konstans értékek A függvény minimum értékét is kereshetjük, ilyenkor a -f(x,y) függvényt maximalizáljuk.

Függvény maximum értéke

Függvény maximum értéke . x14 = 4.4

Függvény alak (struktúra keresése) Rendelkezésünkre állnak adott bemeneti paraméter értékekhez tartozó mérési adatok. Például legyenek ezek egy kör sugara (r) és a hozzá tartozó mért terület értéke (Area). Szeretnénk meghatározni azt a függvényt (függvény alakot, struktúrát), amely megadja a bemeneti és kimeneti adatok közötti kapcsolatot, az Area(r) függvényt.

Függvény alak (struktúra keresése)

Genetikus algoritmus alkalmazások felépítése Válasszunk ki az alapvető struktúrákat és eljárásokat: a kromoszóma kódolását a populáció méretét, mutációs faktort, ... kiválasztási és törlési stratégiákat keresztezési és mutációs operátorokat Definiáljuk a megállási feltételt Ügyeljünk a megjelenítésre, skálázhatóságra A megoldásunk minősíthető költségfüggvény tudjuk létrehozni. A megoldásunk olyan pontos lesz, mint amilyen pontosnak minősíthető költségfüggvény tudjuk létrehozni.

A genetikus algoritmus előnyei Könnyű megérteni a működését. Moduláris, (könnyen) elválasztható az optimalizálandó probléma programjától. Támogatja a több célfüggvénnyel rendelkező optimalizációkat (is). Alkalmas „zajos környezetben” történő optimalizálásra. Minden esetben ad legalább egy megoldást. A megoldás az idő (iterációs lépések) előrehaladtával egyre jobb (pontosabb) lesz.

A genetikus algoritmus előnyei Számos eljárással felgyorsíthatjuk és autonóm módon fejleszthetjük genetikus algoritmust alkalmazó programjainkat, úgy hogy folyamatosan beépítjük az újabb ismereteket a problémáról, illetve a keresési tér határairól. Könnyű kiterjeszteni korábbi megoldásokat, illetve alternatív megoldásokat létrehozni. Könnyen építhető blokkokat tartalmaz hibrid alkalmazásokhoz. Belső működése alapvetően párhuzamos, könnyű a futtatása elosztott számítógép hálózaton.

Mikor alkalmazzunk genetikus algoritmust Ha más megoldások túlságosan lassúak vagy túlságosan komplikáltak. Ha szükségünk van egy kísérleti eszközre az új elgondolás (algoritmus) kipróbálására. Ha problémához hasonló feladatot korábban már sikeresen megoldottunk GA-al. Ha egy már meglévő GA megoldás kiterjesztését valósítjuk meg.

Néhány genetikus algoritmus alkalmazás típus