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

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

Képrekonstrukció 9. előadás

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

Genetikus algoritmusok

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

Evolúciós algoritmusok

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

Képrekonstrukció 6. előadás

Dr. habil. Maróti György

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

Mesterséges Intelligencia MI

Mesterséges Intelligencia MI

Mesterséges Intelligencia I. (I602, IB602)

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)

Markov-láncok stacionárius eloszlása

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

Hidraulikus hálózatok robusztusságának növelése

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

Bevezetés az informatikába

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

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

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

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

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

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

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

Informatikai Rendszerek Tervezése

Gépi tanulás Gregorics Tibor Mesterséges intelligencia

Mesterséges Intelligencia I.

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Konjugált gradiens módszer

Neurális hálózatok bemutató

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

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

Intelligens Rendszerek Elmélete IRE 4/32/1

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Társadalmi és gazdasági hálózatok modellezése

TARTALOMJEGYZÉK. TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS A lágy számításról A könyv célkitűzése és felépítése...

2. Visszalépéses keresés

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?

c adatpontok és az ismeretlen pont közötti kovariancia vektora

Statisztikai következtetések Nemlineáris regresszió Feladatok Vége

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

Matematikai geodéziai számítások 5.

Diszkrét Matematika MSc hallgatók számára. 4. Előadás

Megerősítéses tanulás 9. előadás

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

GROVER-algoritmus. Sinkovicz Péter. ELTE, MSc II dec.15.

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?

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Természetes szelekció és adaptáció

Kiválasztás. A változó szerint. Rangok. Nem-paraméteres eljárások. Rang: Egy valamilyen szabály szerint felállított sorban elfoglalt hely.

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

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

11. Előadás. 1. Lineáris egyenlőség feltételek melletti minimalizálás

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Mesterséges Intelligencia MI

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

Kereső algoritmusok a diszkrét optimalizálás problémájához

Nyerni jó évfolyam

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

I. LABOR -Mesterséges neuron

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

KÖZELÍTŐ INFERENCIA II.

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

Bevezetés a hipotézisvizsgálatokba

Mesterséges Intelligencia alapjai

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

Elemi statisztika. >> =weiszd= << december 20. Szerintem nincs sok szükségünk erre... [visszajelzés esetén azt is belerakom] x x = n

Keresések Gregorics Tibor Mesterséges intelligencia

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Biomatematika 12. Szent István Egyetem Állatorvos-tudományi Kar. Fodor János

Evolúciós algoritmusok bevezetés

Forgalmi modellezés BMEKOKUM209

4. Előadás: Erős dualitás

Dunaújvárosi Főiskola Informatikai Intézet. Intelligens ágensek. Dr. Seebauer Márta. főiskolai tanár

Optimalizálási eljárások GYAKORLAT, MSc hallgatók számára. Analízis R d -ben

Érdekes informatika feladatok

KÖZELÍTŐ INFERENCIA II.

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Algoritmizálás, adatmodellezés tanítása 8. előadás

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

egyenletesen, és c olyan színű golyót teszünk az urnába, amilyen színűt húztunk. Bizonyítsuk

17. előadás: Vektorok a térben

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

7. Régió alapú szegmentálás

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

x, x R, x rögzített esetén esemény. : ( ) x Valószínűségi Változó: Feltételes valószínűség: Teljes valószínűség Tétele: Bayes Tétel:

Robotika. Kinematika. Magyar Attila

angolul: greedy algorithms, románul: algoritmi greedy

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

A maximum likelihood becslésről

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

Adatszerkezetek 2. Dr. Iványi Péter

Valószínűségszámítás összefoglaló

Átírás:

MI2 előadás jegyzet Tartalom: - Evolúciós alapfogalmak, általános algoritmusok - Evolúciós stratégiák - Raj intelligencia, részecske-raj optimalizálás A jegyzetet Jelasity Márk 2008. 04. 08., 2008. 04. 15. és 2008. 04. 22-dikei MI2 előadásai alapján készítette: Szécsényi Hajnalka. Evolúciós alapfogalmak, általános algoritmusok I. Evolúció Mi is az evolúció? - replikáció DNS - variáció mutáció / keresztezés - szelekció fitnesz egy egyed hány szaporodni képes utódot tud létrehozni Kérdések: - survival of the fittest - replikátorok Mi replikálódik? Nem az egyed, hanem a DNS. Csoport is replikálódhat. DNS, sejt, ökoszisztéma, (Dawkins, Csányi Vilmos (etológus)). Órai tanulás is replikáció. - komplexitás Evolúció során növekszik, bonyolódik az ökoszisztéma. Állattenyésztés! Nem megfelelő élőlények kiszelektálása. II. Mesterséges evolúció Fogalmak: optimalizálás modellezés gépi tanulás - optimalizálás A halmaz, f: A R, min f(a), a A. - modellezés A: modellek tere f: illeszkedés empirikus adatokra - tanulás A: hipotézisek tere Cél: adatok egy jó modelljének a megtalálása. Evolúciós algoritmusok: optimalizálás (minden szinten alkalmazható, és adhat is optimális eredményt, de nem garantált, hogy ad is). 9/1

Általános módszer: x 1 y 1,, x n y n y = ax + b f(a,b) = i (y i (ax i + b)) 2 itt például NEM célszerű alkalmazni, mert más módszer van rá Evolúciós algoritmus jó választás pl.: NPnehéz problémák, vagy az óra elején bemutatott videók (ld. honlap) esetén. Sztochasztikus hegymászó (általános evolúciós algoritmus váza): 1 veszünk egy x A véletlen változót 2 y = f(x) //kiértékeljük a változót 3 repeat until kilépés 4 x = kis ugrás x-ből 5 y = f(x ) 6 if (y < y) { x = x ; y = y } 7 end-repeat f Kis ugrás x-ből : Kis véletlen szám hozzáadása x-hez, melynek paraméterével is lehet játszani. Azaz ha közelebb vagyunk az optimumhoz, kisebb lépések kellenek, mert nagy lépéssel rosszabb eredményt kaphatunk. Az ábrán jobbról az első 2 ugrást elfogadjuk, mert kisebb értéket kapunk, de a 3-dikat nem, mert az magasabb. (Hasonló a szimulált hűtéshez, ld. később) Az evolúciós algoritmushoz felhasznált kiegészítések: + populáció: multiset + reprezentáció: halmaz elemeit kódolja DNS 1 populáció inicializálása 2 kiértékelés 3 repeat until kilépés 4 szülő választás //sokféleképp lehet: egész populáció vagy csak 1 egyed 5 új megoldások rekombinációval //általában 2 szülő felhasználásával új egyed létrehozása 6 új megoldásokon mutáció //adott keresési térben kicsit megváltoztatjuk a megoldást 7 kiértékelés 8 túlélők szelekciója //új populáció kiválasztása, elemszám visszatér a kiindulásira 9 end-repeat 9/2

Fő komponensek: - reprezentáció - rekombinációs operátor - mutáció - szülő választás (alkalmazzuk a szelekciót) - túlélő választás (impliciten: versenyeztetés) Ezeknek számos különböző implementálási lehetősége van, így sokféle algoritmus alakult ki: - Genetikus algoritmusok (amerikai irányzat, Michigan) általános - Evolúciós stratégiák (német irányzat, 60-as évek, Berlini Egyetem) - Genetikus programozás: kifejezetten számítógépes algoritmusok, pl. prímszámokat felismerő tenyésztés. - Szimulált hűtés: (fizikus találta ki) populáció mérete 1, a szülő kiválasztása függ a hőmérséklettől, melyet folyamatosan csökkentünk. - Tabu keresés, részecske-raj optimalizálás Terminológia, operátorok: - reprezentáció A B (kódolás / dekódolás, bijektív fv.), ahol A: keresési tér, fenotípus és B: genotípus x A (vagy x B): egyed, lehetséges megoldás és x B: kromoszóma - mutáció m: B B; a = m(a), ahol a: szülő és a : utód - rekombináció b: BB B - kilépési feltétel - CPU idő - kiértékelések száma - javulás sebessége - diverzitás: ha már minden egyed azonos, akkor az az állapot már nem fog változni any time : az algoritmus bármikor megállhat, nem számít a kilépési feltétel; kevés idővel rosszabb megoldást, több idővel jobb megoldást adva. III. Hogyan készültek a videók (ld. honlap)? GOLEM projekt - reprezentáció <pontok><csövek><neuronok><aktivátorok>, ahol pontok: koordináták csövek: melyik pontpárok vannak összekötve csővel; adott a rugalmasság is 9/3

- mutáció Kis változtatások alkalmazása. Aktivátort ad hozzá / vesz el, pontot ad hozzá / vesz el, Kezdésként adott 200 db semmi : 0 pont, 0 cső, 10-20 generáció után már elkezdtek mozogni. 600 generáció után szimmetrikus, valósághű robotok. A projektben nincsenek szenzorok, viszont képesek oszcillációkat létrehozni, ezáltal mozogni (nincs visszacsatolás). Összehasonlítás: úszás, mozgás esetén a megtett út a kritérium, míg küzdelem esetén körmérkőzések alakítják ki a rangsort. KARL SIMS Jelenleg Hollywood-ban dolgozik. Evo lúciós stratégiák Alkalmazás: A R n és f: A R, ahol A: keresési tér. Valós, csúnya függvények optimalizálása. A függvény lehet: - sztochasztikus - nem folytonos - dinamikus: maga a függvény változik: t 1 időpillanatban egyik, t 2 -ben már egy másik - implicit: a függvény nem kiértékelhető, de 2 érték közül tudjuk, melyik a nagyobb Komponensek: - reprezentáció: A B - rekombináció (x 1,, x n ) 1) köztes: z i = (y i + x ) / 2 (z i (y 1,, y n ) 1,, z n ) 2) keverés: z i = x i vagy yi - szülő választás: véletlen - túlélő választás: legjobb utódok (μ db; feltesszük, hogy sorba rendezhetőek, és a fitnesz függvény szerint sorba rendezzük) μ: populáció mérete λ: szülők száma (μ, λ) ES. (Evolúciós Stratégia) vagy vesszős stratégia: az új μ elemű populáció a λ gyerekből van kiválasztva (a gyerekek száma egyenlő a szülőkével, mert minden szülőből egy gyerek van mutációval) (μ + λ) ES.: az új populáció a λ gyerekből és a régi, μ elemű populáció uniójából, vagyis (μ λ)-ból van kiválasztva A vesszős stratégia jobb, inkább ez használatos, főleg ha dinamikus megoldást választunk, mert gyorsabban érvényesíti az adaptációkat. [μ = 15, λ = 100; λ = 7μ] Forrás: - Egyszerű függvényekkel nagyszámú empirikus kísérlet, hogy melyik paraméterekkel kapható a legjobb eredmény 2 - Analitikusan elemezhető, egyszerű függvényeken (pl.: x ) mi az optimális beállítás 9/4

- Pl.: (1 + 1)-ES. sztochasztikus hegymászó mutáció x i = x i + N(0, σ), ahol N a normális eloszlás 0 várható értékkel és σ szórással [p(x) = 1 / (σ (2π))exp(-(x-a) 2 / (2σ 2 ))], ahol σ adaptív, azaz nem fixáljuk le, hanem megpróbáljuk a futás közben optimalizálni (a megoldás közelében a kisebb σ a jobb). 1) homogén (adaptív) megoldás: (x 1,, x n, σ), a keresési tér egy eleme mutáció: 1) σ = σexp(n(0, τ)) 2) x i = x i + N(0, σ ) Jobb lenne, ha minden koordinátának saját σ-ja lenne. τ 1 / n σ ε 0 Ha túl kicsi a σ, akkor nincs mutáció, ezért erre is figyelni kell. 2) heterogén adaptív megoldás: (x 1,, x n, σ 1,, σ n ) mutáció: 1) σ i = σ i exp(n(0, τ))exp(n(0, τ 0 )), ahol exp(n(0, τ))-t minden koordinátára kiszámoljuk exp(n(0, τ 0 )) globális: először kiszámoljuk, aztán csak x 2 helyettesítjük τ 0 = 1 / (2n) τ = 1 / (2 n) x 1 2) x i = x i + N(0, σ i ) A koordináta mutációja megtanulja, hogy melyik koordináták a fontosak, s ezzel nagyobb alkalmazkodást tesz lehetővé. 3) 1/5 szabály (1 + 1)-ES. esetében alkalmazzák, ha 1 db közös σ paraméter (homogén) van. Ha a mutáció túl nagy, vagyis az utódok sikertelensége < 1/5, akkor σ-t csökkenteni kell, ha > 1/5, akkor növelni. G utód esetén (G = n) p: sikeres utódok aránya G-ben σ ha p = 1/5 σ = aσ ha p < 1/5 a 0,9 σ / a ha p > 1/5 Kevésbé általános, így sajnos ez a módszer nem alkalmazható mindig. 4) korrelált mutáció (adaptív) megoldás: (x 1,, x n, σ 1,, σ n, α 12, α 13,, α (n-1)n ) mutáció: σ i = σ i exp(n(0, τ))exp(n(0, τ 0 )), ahol x 2 n 2 db dimenziópárokhoz tartozó forgatás x 1 9/5

exp(n(0, τ)) minden dimenzióban változik exp(n(0, τ 0 )) minden dimenzióban közös α ij = α ij + N(0, β), β 5 x = x + z, z = M(N(0, σ 1 ),, N(0, σ n )) N(0, c) forgatási mátrix 2 c ii = σ i (átlóban éppen σ-k vannak) c (i j σ 2 ij ) = 1/2(σ 2 i - j )tan2αij kovariancia mátrix Hátrány: sok paraméter lassabb evolúció. Dámajáték (ES alkalmazás neurális hálók tanítására) Blondie24: http://en.wikipedia.org/wiki/blondie24 2007-es eredmény viszont, hogy megoldották a dámajátékot, azaz van olyan program, ami matematikailag bizonyíthatóan verhetetlen. Kezdőállás: A szabályok röviden: - A bábukkal átlósan lehet lépni. - Kötelező ütni (figura átugrása), ha lehet. - Több ütés is lehet egymás után. - Ha végigér egy bábu, akkor király lesz: visszafelé is léphet. A pontos szabályok megtalálhatók a neten, pl.: http://www.flyordie.com/games/help/checkers/ hu/games_rules_checkers.html http://mek.oszk.hu/00000/00056/html/133.htm A megoldás során használt m ódszerek: minimax keresés 4 mélységig, α-β vágás, valamint az állást neurális hál ó számította ki. 0: üres 1: saját korong bemenet Össze s 33-as résztábla (36 db) Bal alsó sarok... k: saját király -1 és k: hasonlóan az ellenfélre Összes 44-es résztábla (24 db)..... 40 db. Teljes tábla 32 elemű vektor 91 db neuron......... output 10 db 9/6

(15+15)-ES., heterogén adaptív mutáció. Raj intelligencia, részecske-raj optimalizálás Raj intelligencia: sok komponensű rendszer, pl. ágensekből, hangyákból, madarakból, méhekből, baktériumokból, vagy ténylegesen fizikai részecskékből áll. Olyan rendszerekkel foglalkozik, melyek bizonyos intelligens viselkedést mutatnak, de nem tudnak róla. Érdekes viselkedések pl.: - legrövidebb út felderítése a hangyáknál (fészek táplálék) - bonyolult várak felépítése a termeszeknél (légkondicionálás, élelemtároló szint, ) Alkalmazás pl. P2P hálózatok. Részecske-raj optimalizálás: pl. madárcsapatok, halrajok, nyájak,, együtt mozgó dolgok modellezéséből indul ki. Ilyenek pl.: - ragadozók kikerülése (flash and fountain) - préda elejtése - hatékonyság növelése (pl. ludak V alakban repülése) BOIDS (C. Reynolds, 87.) - n madár: x 1,, x n R 2 (R 3 ) (vektorok!) - madárnak van sebessége: v 1,, v n v i x i 3 szabály, amit betartanak a madarak (k legközelebbi szomszédra vonatkozóan): - elkerülés: ne repüljenek bele a szomszédos madarakba Minden madárnak saját, személyes tere központ: van, ami taszítja a többieket, mint a mágnesek egymást. - központ: minden madár a k legközelebbi szomszéd koordinátáinak átlagába v szeretne repülni k - másolás: minden madár megfigyeli, hogy a szomszédok merre repülnek, milyen sebességgel, és azok átlagát veszi. x i (t + 1 ) = x i (t) + τv i (t + 1) v i (t + 1) = αv i (t) + (1 - α)[ α 1 v elkerülés + α 2 v központ + α 3 v másolás ] 9/7

Részecske-raj optimalizálás - n db részecske x 1,, x n sebesség v 1,, v n memória y 1,, y n y i = min(f(x i (t))), t = 0, 1, - algoritmus 1 inicializálás 2 3 repeat for i = 1 to n 4 y g = min(y j ), j Szomszéd 5 if (f(x i ) < f(y i )) y i = x i 6 v i := v i + c 1 [y i - x i ] + c 2 [y g - x i ] [c1, c 2 [0, 2]] 7 xi := x i + vi 8 end-for 9 until kilépés Sebesség összetevői: - régi sebesség: felfedező magatartás, lendület - szociális tag: globális optimum, mindenkinek afelé kell tartani közös pont felé - saját lokális optimum konvergálnak Ha nem lenne a szociális tag, akkor a részecskéknek nem lenne egymással kapcsolatuk, így a saját maguk által talált optimum körül végeznének véletlen mozgást. Ha pedig a lokális nem lenne, csak a globális, akkor mindenki gyorsan megtalálna egy közös pontot. A saját környezet felderítésének szükségessége miatt tehát szükség van a lokális optimumra is. Szomszédsági struktúra: 1) Globális : hasznos, ha csak egy optimum van tudja meg mindenki és siessen oda. Viszont nem jó, ha több lokális optimum van, mert nem talál meg új területet, hanem az elsőként megtaláltnál leragad. 9/8

2) Lokális ( kör ): szomszédsági gráf 2 szomszéd van csak, így a globális optimum lassan, lineárisan terjed. 1) 2) exploitation (kiaknázás) hatékony kevésbé hatékony exploration (felfedezés) kevésbé hatékony hatékony Ennek megfelelője evolúciós algoritmusokban a szelekciós nyomás. Szintén any time. Az algoritmus javítása: 1) Sebesség korlát (gondot jelent a vég nélküli sebességnövekedés) v i = (v i1,, v in ) v ij δ[xmax,j x min,j ], δ (0,1) adott keresési tér korlátjai Hatások: - A sebesség eléri a maximumot minden dimenzióban a részecskék a doboz falán mászkálnak - Egyik dimenzióban levágok értékeket, a másikban nem irány drasztikusan megváltozhat durva 2) Lendület (inercia) faktor hozzáadása v i = wv i + c 1 (y i - x i ) + c 2 (y g - x i ), ahol w 1; lendület faktor: sebességnövekedés változtatható 3) hűtés technikák Minél kisebb a w, annál inkább lokális lesz a keresés, és megszűnik a felfedezés. Fuzzy: olyan utasítások rendszere, mintha azok természetes nyelven lennének megfogalmazva, pl.: ha y g kicsi és w kicsi akkor közepesen növeljük w-t az aláhúzott egységeket egy-egy 0-1 közötti függvény határozza meg populáció méret (n) 30 (hasraütésszerű érték, amivel el lehet indulni) c 1 és c 2 : (0,2) (uniform, egyenletes eloszlás) Differenciál-evolúció: populáció: x 1,, x n x i -re keresztezés: v (mutáció eredménye) = x i + F(x r1 x r2 ) + λ(y g - x i ), ahol λ 0,9, F 0,8 v y g x i x r1 x r2 u (keresztezés eredménye): x i és v keresztezése CR valószínűséggel x i elemei, 1 CR valószínűséggel v elemei ha f(u) < f(x i ) u felülírja x i -t 9/9