1 / 30

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining. 26. Előadás Dr. Pauler Gá bor , Egyetemi Docens PTE-PMMFK Villamos Intézet Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu.

cole
Télécharger la présentation

Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pécsi TudományegyetemPollack Mihály Műszaki KarMűszaki Informatika SzakData Mining 26. Előadás Dr. Pauler Gábor, Egyetemi Docens PTE-PMMFK Villamos Intézet Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu

  2. Az előadás tartalma Globális optimalizáció • Analitikus optimalizáció • A gradiens algoritmus • A gradiens algoritmus problémái, szimulált hűtés algoritmusa • A genetikus algoritmusok • Alapfogalmai • Az egyszerű genetikus algoritmus működése • Az egyszerű genetikus algoritmus értékelése • Sémaelmélet • A genetikus algoritmus továbbfejlesztései • Elitista stratégia • Számítógépes alkalmazás: egyszerű genetikus algoritmus szimulációja Excelben • A nemi és faji elkülönülés szerepe • Számítógépes alkalmazás: nemi elkülönüléses genetikus algoritmus szimulációja Excelben • A génkészlet megkettőzésének szerepe Szakirodalom

  3. A korlátok nélküli, globális optimalizáció (Global Optimization, GO) módszerei Analitikus optimalizáció (Analitic Optimization): adott egy folytonos nemlineáris, i = 1..n változós kétszer differenciálható, y = f(x), xncélfüggvény, korlátozó feltételek nélkül: 1. Olyan lehetséges x* szélsőérték-helyeket keresünk rajta, amelyek „nem lejtenek semerre”: f(x) függvény f’xi(x) elsőrendű parciális (az egyes változók szerinti) deriváltjai legyenek az adott pontban nullák: f’xi(x) = 0, i = 1..n (25.1) Ez egy n változós, n ismeretlenes egyenletrendszert ad, aminek egy vagy több x* gyöke lehet a deriváltak fokszámától függően, ezeket külön-külön megvizsgáljuk (lásd piros pontok ) 2. Attól, hogy egy x* pontban a függvény nem lejt semerre, az még nem biztos, hogy lokális szélsőértékhely lesz, mert egy „nyeregpontban” sem lejt semerre. Ezért kiszámítjuk az f(x) függvény f”xixj(x) másodrendű parciális deriváltjainak értékét az x* pontban: Hn×n = {f”xixj(x*), i, j = 1..n} = {hi, i = 1..n} (25.2) Ezek a függvényértékek egy H-val jelölt n×n-es kvadratikus Hesse-mátrixot (Hessian Matrix) alkotnak, amit hi oszlopvektorokra bontva ábrázolni is tudunk a függvény mellett: azt mutatják merre göbül az adott pontban adott változó szerint (lásd zöld vektorok) 3. Ha ezek a vektorok „nagyjából mind lefele”, negatív irányba mutatnak, akkor egy csúcson, azaz lokális maximumban vagyunk, ha „nagyjából mind felfele”, pozitív irányba mutatnak, akkor egy gödörben, azaz lokális minimumban vagyunk, ha meg összevissza állnak, akkor valamilyen nyeregponton. A vektorok irányultságát azért nehéz kideríteni, mert nem derékszöget zárnak be egymással. Ezért a Session16 -ban már bővebben ismertetett sajátvektorokat (Eigenvector) illesztünk rájuk (lásd piros vektorok), amelyek mind merőlegesek egymásra, és megfigyeljük, hogy hosszaik, a sajátértékek (Eigenvalue) mind pozitívak, mind negatívak, vagy kevert előjelűek-e.

  4. Az analitikus optimalizáció értékelése: +: Egzakt megoldást ad és kicsi a számolásigénye +: Megadja az összes lokális szélsőértéket -: Csak folytonos, kétszer differenciálható célfüggvényekre működik -: Nem kezel korlátozó feltételeket. Ezek megsértését ugyan be lehetne építeni „büntető tételként” a célfüggvénybe, de ez hazavágná a differenciálhatóságát Az analitikus optimalizáció mindezen korlátai miatt különféle globális optimalizációs heurisztikákat találtak ki: • Gradiens algoritmus • Szimulált hűtés • Genetikus algoritmusok • Tabu keresés, stb. Ezekre a következők a jellemzők: • Heurisztikák: matematikailag nem bizonyítható, hogy megtalálják az optimális megoldást, különösen ha a célfüggvénynek sok lokális szélsőértékhelye van. Nem is mérhető meg objektíven, hogy milyen közel jutottak az optimális megoldáshoz • Sokkal nagyobb számolásigényűek, mint az analitikus optimalizáció • Viszont jobban elviselik a kozlátozó feltételek megsértésének büntetésként a célfüggvénybe történő beépítését, mert nem követelik meg a célfüggvény kétszer differenciálhatóságát

  5. z 100 50 0 -50 x 2 -100 10.0 9.0 8.0 -150 7.0 6.0 -200 5.0 4.0 0.0 1.0 3.0 2.0 3.0 2.0 4.0 5.0 1.0 6.0 7.0 0.0 8.0 9.0 x z 10.0 1 0 1 2 3 4 5 6 7 8 9 10 lépés A gradiens algoritmus 7 6 8 5 4 Célja: • Egycsúcsú nemlineáris z=f(x)→Maxcélfüggvény • x* optimális megoldásának megtalálása Működése: „vak ember hegyet mászik” • Először véletlenszerűen vesz fel változóértékeket a megengedett értékhatárokon belül • Kiszámítja a célfüggvényt a megadott értékekkel: alapban nem tud korlátozó feltételeket kezelni, de a túllépéssüknél a célfüggvénynél kettővel magasabb fokú bünetést vonunk le a célfüggvényből. • Minden változóhoz külön-külön hozzáad egy lépésköznyit (először a Max-Min intervalluma 1%-át), és kiszámítja mennyivel változik a célfüggvény • A változónkénti megváltozások megadják a gradiensvektort (Gradient Vector): az adott helyen merre nő a célfüggvény a legjobban. • Elmozdul a gradiens irányba egy lépésköznyit, ez minden új lépésben az előző 99%-ára csökken, vagyis egyre lassít, hogy túl ne fusson a csúcson egy nagy lépéssel Termináció: • Ha 20 lépésen keresztül nem sikerül a célfüggvény értékét 1%-kal javítani, leáll, mert valószínűsíthető, hogy elérte a csúcsot Értékelése: • +:Egyszerű és gyors • -:Csak heurisztika, nem egzakt módszer, nincs garancia a globális optimum elérésére • -:Több csúcsú vagy lépcsős célfüggvény esetén beragadhat lokális optimumba 3 2 1 0 STOP!

  6. A gradiens algoritmus problémái • Lokális optimumokkal vagy lépcsőkkel rendelkező célfüggvény esetén a gradiens algoritmust több random kezdőpontból kell újraindítani, hátha egyszer elkapja a globális optimumot, bár erre semmi garancia nincs Ezért fejlesztették ki a szimulált hűtés (Simulated Annealing) algoritmust, ami a „ha elakadt, jól rázd meg (Shake It Baby)” konyhai alapelvre épül: • Ez olyan gradiens algoritmus, ahol a gradiens irányba történő lépéshez még egy véletlen irányba történő lépést is ad.Ennek hossza mindig az előző lépés 99%-ára változik az algoritmus futása alatt • Így a keresőpont viselkedése egy lassan lehűlő, egyre kevésbé rezgő részecskére hasonlít Az algoritmus értékelése: +:Egy enyhébb lokális optimumból képes kirázni a keresőpontot, de rosszabb a konvergenciája -:Nehéz eltalálni a jó hűlési rátát, és néha nincs ilyen: A célfüggvényt szinte mindig mély szakadékok szabdalják, mert hozzáadjuk egy bonyolult nemlineáris, egészértékű feltételrendszer kettővel magasabb fokú büntetőfüggvényét. Ahhoz hogy a keresőpont átugorja a szakadékokat, annyira kell rázni, hogy sosem tud a csúcsokon landolni (Gyakorlati tesztként próbáljunk egy gyöngyöt egy 10×10-es tojástartó karton középső mélyedésébe berázogatni, hozzáérés nélkül) Ennél kifinomultabb algoritmus kell:

  7. Az előadás tartalma Globális optimalizáció • Analitikus optimalizáció • A gradiens algoritmus • A gradiens algoritmus problémái, szimulált hűtés algoritmusa • A genetikus algoritmusok • Alapfogalmai • Az egyszerű genetikus algoritmus működése • Az egyszerű genetikus algoritmus értékelése • Sémaelmélet • A genetikus algoritmus továbbfejlesztései • Elitista stratégia • Számítógépes alkalmazás: egyszerű genetikus algoritmus szimulációja Excelben • A nemi és faji elkülönülés szerepe • Számítógépes alkalmazás: nemi elkülönüléses genetikus algoritmus szimulációja Excelben • A génkészlet megkettőzésének szerepe Szakirodalom

  8. A genetikus algoritmusok alapfogalmai 1 A genetikus algoritmus (Genetic Algorithm, GA): Holland által 1969-ben kitalált függvény szélsőérték kereső heurisztika, amely: • A biológiai evolúció (Evolution) mechanizmusának jelentősen leegyszerűsített algoritmusa • A célfüggvénnyel szemben egyetlen feltételt támaszt: értéke kiszámolható legyen a döntési változókból • Jól kezel nem lineáris, nem konvex/konkáv, egészértékű, sok lokális optimumot tartalmazó, NP-hard modelleket • Korlátozó feltételeket nem kezel, de ezek megsértése büntetésként beépíthető a célfüggvénybe A biológiai evolúció alapfogalmai: • Egy egyedekből (Entity) álló populáció (Population) adott élőhelyen (Niche) kűzd a túlélésért (Survival) • Az élőhely adottságaihoz legjobban illeszkedő (Fit) egyedek nagyobb eséllyel párosodnak (Mating) és hoznak létre utódokat (Reproduction). A következő generáció (Generation) a szülők tulajdonságainak keverékét öröklik (Inheritance) • Egy egyed tulajdonságait a géntérképe (Genome) határozza meg

  9. A genetikus algoritmusok alapfogalmai 2 • Ez (az embernél) 23db 1400nm átmérőjű kromoszómapárból (Chromosome) áll • Ezek 2db 700nm átmérőjű kromatidából (Chromatid) állnak • Ezek egy 200nm átmérőjű kromatinszál (Chromatin fiber) összetekeredései • Ez 30nm-es gyűrűkből (Solenoid) álló spirál • Amelyeket 6db 10nm átmérőjű nukleoszóma (Nucleosome) épít fel • Amelyeket 8 távtartó és 1 kapcsoló hiszton (Histone) molekulákra tekeredett 146 bázispárnyi DNS molekula szál (DNA) alkot • A 2nm átmérőjű DNS szál bázispár-hármasokra, génekre (Triplet, Gene) oszlik, amelyek 64 lehetséges értéke 20fehérje-építő aminosavat (Protein) kódol • Egy triplet három bázispárra, pozícióra (Base pair, Locus) oszlik • Amelyeknek 4 lehetséges értéke, allélja (Allele) van, aszerint, hogy a DNS kettős spirálját az adott helyen milyen bázispár köti össze (Timin+Adenin vagy Guanin+Citozin), és ezek melyik oldalon vannak: (TA, AT, GC, CG)

  10. A genetikus algoritmusok alapfogalmai 3 • A teljes emberi genom DNS-e összesen 2m hosszú, 3Md bázispárból áll, kb. 30%-a kódolja a szervezetet felépítő fehérjéket (Coding DNA), 70%-a értelmetlen töredék, szemét DNS (Junk DNA), vagy belső szabályozási funkciót lát el • Párosodáskor a szülők hasonló dolgokat kódoló DNS szakaszai véletlenszerűen, vagy belső szabályzók hatására kombinálódnak (Crossover), ez okozza az utódokban a tulajdonságok keveredését • A DNS kódoló bázispárjai megváltozhatnak véletlenül DNS másolási hiba vagy környezeti ártalmak hatására, ez a mutáció (Mutation) • Az egyszerűbb élőlények egyszeres génkészlettel rendelkeznek (Haploid), a bonyolultabbak duplázottal (Diploid), amely kromoszómapárokba rendeződik • Az egyszerűbb élőlények egyneműek (Unisex), a bonyolultabbak kétneműek (Bisex) • Azonos fajba (Race) tartozik két egyed, ha párzással reprodukcióra képes utódokat tudnak létrehozni

  11. Az egyszerű genetikus algoritmus 1 • Az egyszerű genetikus algoritmusban (Simple GA, SGA) a z = f(x) sokváltozós célfüggvény (Goal Function)x*optimumhelyeit (Optima)xi i = 1..n döntési változók vektoraiként megjelenő xjj = 1..m egyedek, keresőpontok (Search Point) populációja keresi (lásd zöld pontok). • A célfüggvénybe (színes felület) beépítettük a korlátok megsértésért járó büntetést • Az egyedek száma, m mindig páros szám • A j = 1..m egyedek az i = 1..n döntési változók értékeit binárisan kódoló gij génekből állnak, így ezek bijll = 1..k locusai a kettes számrendszer helyiértékei (...1/4, ½, 1, 2, 4, 8, 16...), a locusok lehetséges allél értékei pedig 0 vagy 1. • Egy gén mindig annyi locusból áll, amely az adott változó megfelelő értékhatárú és pontosságú tárolásához kell • Számítógépen egy egyed bináris egész vagy bináris fixpontos tört változók, mint gének sorozataként jelenik meg a memóriában • Minden egyed minden génjének minden locusa kezdetben véletlen bináris értékeket vesz fel, vagyis a keresőpontok alaphelyzete (zöld pontok) a döntési térben véletlen

  12. Az egyszerű genetikus algoritmus 2 Az SGA futása 1 = 1..Tgeneráción (Generation) keresztül bonyolódik. Minden generációban a következő lépések történnek: 1. LÉPÉS Fitness: a binárisan kódolt génekből kiszámítjuk minden egyedhez a döntési változó értékeket, és ezeket behelyettesítjük a célfüggvénybe, így minden j = 1..m egyedhez megkapjuk a t-edik generációbeli ztj célfüggvény értékét: ztj = f(xtj), j = 1..m (26.1) • A magasabb célfüggvény-értékű egyedek, jobban illeszkednek a környezethez, ezért nagyobb valószínűséggel fognak párosodni. A valószínűségek meghatározásához először a minimuknál és a maximumuknál fogva a [0,1] intervallumba normalizáljuk a célfüggvény-értékeket: z’tj = (ztj - Min(ztj))/(Max(ztj) – Min(ztj)) , j = 1..m (26.2) • Az egyed ptj párosodási valószínűsége a célfüggvény-értékének részaránya lesz ezek összegéből: ptj = z’tj / Σz’tj , j = 1..m (26.3)

  13. Az egyszerű genetikus algoritmus 3 2. LÉPÉS: Szelekció (Selection): m egyedből r = 1..m/2 párba választunk A és B szülőt, véletlen visszatevéses mintavétellel: • Az egyedek párosodási valószínűségüknek megfelelő eséllyel kerülnek be a párokba (annál többe, minél nagyobb a valószínűség) • A kiválasztandó rA, rB r = 1..m/2 egyedeket úgy határozzuk meg, hogy az egyedek valószínűségeiből egy qs s=1..m+1 kumulált sort képezünk (minden előző elemet hozzáadunk az adott elemhez), ami 0-val kezdődik és 1-el végződik, majd megnézzük hogy a sornak hányadik a legynagyobb eleme, ami kisebb vagy egyenlő mint egy e(0,1) nyílt intervallumbeli folytonos egyenletes eloszlású valószínűségi változó: q1 = 1, qs = Σ(pj | j<s), s = 2..m+1 (26.4) rA = s | (qs < e ≤ qs+1, s = 1..m) , r = 1..m/2 (26.5) rB = s | (qs < e ≤ qs+1, s = 1..m) , r = 1..m/2 (26.6) • Ha nem különböztetjük meg az egyedek nemét (az SGA-nál így van), egy egyed önmagával is párosodhat, ha egy párba véletlenül kétszer választjuk ki

  14. Az egyszerű genetikus algoritmus 4 3. LÉPÉS: Reprodukció (Reproduction): Minden pár két utódot hoz létre, akik a következő generáció tagjai lesznek, majd a szülők törlődnek, hogy a populáció taglétszáma ne változzon: ez a memóriafelhasználás stabilitása miatt fontos • Az utódokba a szülők géntérképének kominációja (Crossover) másolódik át, hogy szerencsés esetben, a szülők jó tulajdonságainak kombinálásával a szülőknél fejlettebb utód jöhessen létre: • A és B szülők kromoszómáiban egy véletlenül, c{0,..n*k} diszkrét egyenletes eloszlás mellett kiválasztott locusánál egy vágási pont (Crossover Point) jön létre • A vágási ponton vagy elötte A szülő adatai A utódba, B szülőé B utódba másolódnak, • Utána pont fordítva, A szülő adatai B utódba, B szülőé A utódba másolódnak 4. LÉPÉS: Mutáció (Mutation): Az utódok géntérképében véletlenszerűen átbillenti a locusok 0.5-3.0%-át 0-ról 1-re vagy fordítva. A mutáció segít elkerülni, hogy az algoritmus beragadjon egy lokális optimumba, de eltúlzott használata erősen rontja a konvergenciát

  15. Az egyszerű genetikus algoritmus 5 • Mindezen lépések több generáción keresztüli megismétlése egyre jobb megoldásokat fejleszt ki • A keresőpontok a döntési térben jellegzetes „ide-oda ugráló” mozgásal tartanak az optimum(ok) felé • Ha az algoritmus konvergál, Ljapunov-stabil állapotot fog elérni: megadható egy határ, amiből a keresőpontok mozgása már nem lép ki • Ha d generáción keresztül nem javul jelentősen az optimális célfüggvény érték, az algoritmust termináljuk • Ennek megállapításában segít a max. célérték diagramm:

  16. Az előadás tartalma Globális optimalizáció • Analitikus optimalizáció • A gradiens algoritmus • A gradiens algoritmus problémái, szimulált hűtés algoritmusa • A genetikus algoritmusok • Alapfogalmai • Az egyszerű genetikus algoritmus működése • Az egyszerű genetikus algoritmus értékelése • Sémaelmélet • A genetikus algoritmus továbbfejlesztései • Elitista stratégia • Számítógépes alkalmazás: egyszerű genetikus algoritmus szimulációja Excelben • A nemi és faji elkülönülés szerepe • Számítógépes alkalmazás: nemi elkülönüléses genetikus algoritmus szimulációja Excelben • A génkészlet megkettőzésének szerepe Szakirodalom

  17. Az egyszerű genetikus algoritmus értékelése Hátrányok: • Az SGA csak heurisztika: matematikailag nem bizonyítható, hogy meg fogja találni a globális optimumot • Korlátozó feltételeket nem kezel, de ezek megsértése büntetésként beépíthető a célfüggvénybe • Fajlagos számolásigénye magas a többi optimalizációs módszerhez képest. Azonban, mivel linearizáció nélkül egy az egyben „megeszik” masszívan nemlineáris modelleket, sokkal gyorsabb megoldást adhat, mint a simplex algoritmus+korlátozás-szétválasztás a linearizálás miatt óriási méretűvé duzzasztott egészértékű modellel • Az algoritmusnak nincs egzakt terminációs kritériuma, a Ljapunov stabilitás kialakulásának megfigyeléséhez jelentős mennyiségű felesleges, a megoldásokat már nem javító számolás kell Előnyök: • A célfüggvénnyel szemben egyetlen feltételt támaszt: értéke kiszámolható legyen a döntési változókból • Jól kezel nemlineáris, nem konvex/konkáv, NP-hard modelleket • Alapértelmezésben egészértékű/bináris változókkal dolgozik, ezek kezelése SEMMILYEN számolásigény növekményt nem okoz! A folytonos változók tetszőleges pontossággal közelíthetők több tört helyiértékű locus használatával, a számolásigény lineáris növelése árán • Kiválóan kezel sok lokális optimumot tartalmazó célfüggvényeket, amelyek a nemlineáris és egyészértékű korlátozó feltételek átlépésével járó büntetés beépítése után keletkeznek. Ez nem egyszerűen a több keresőpont használata miatt van! Egy m keresőpontos SGA jóval hatékonyabb egy m keresőpontos gradiens algoritmusnál, vagy szimulált hűtési algoritmusnál, mert működése a sémaelméleten alapul:

  18. y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 * 1 * x * 1 * * * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Sémaelmélet 1 • A séma (Schema) több bináris kromoszómában fellelhető közös mintázatot jelent, melynek értékei háromfélék lehetnek: {0, * -0-át és 1-et is jelentő joker érték (Wildcard), 1} • Pl. a következő kromószómákhoz: (1,0,0,1,0,1,1,0,0,1) (1,1,0,1,0,0,0,0,0,1) (1,0,0,1,0,0,1,0,0,1) • Mind illeszkedik ez a séma: (1,*,0,1,0,*,*,0,0,1) • Egy l = 1..k locus hosszúságú kromoszóma esetén j = 1..2k féle lehetséges xj egyed van, de sokkal több, w = 1..3k féle yw séma, amelyek cjw fokon kompatibilisek (Compatiblity) az egyedekkel: cjw = Σd(xlj,ylw)/k (26.7) Ahol: (26.8) • Az 1/több génre kiterjedő séma grafikusan egy döntési térbeli 1/többdimenziós bináris hullámalakzatot jelent (lásd sárga hullámhegyek) • A vele erősen kompatibilis egyedek pedig a hullámhegyeknél megjelenő keresőpontok (lásd zöld pontok)

  19. z 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 y 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 * 1 * x * 1 * * * Sémaelmélet 2 • A sémák nem léteznek önnállóan, csak nagyszámú, velük erősen kompatibilis egyedeken keresztül • Két, a sémával erősen kompatibilis egyed párosodása közbeni bármely crossover az utódokat jelentősen megváltoztatja, de a séma változatlanul öröklődik az utódokba! • Egy magas célfüggvényértékű séma egyre több és egyre kompatibilisebb utódban terjed tovább, eközben más sémák iszonyatos tömegeit írtja ki a velük kompatibilis egyedek kihalasztásával • Ez különösen akkor igaz, ha a séma, mint bináris térhullám csúcsai rendre fedik egymást a célfüggvény lokális optimumaival (Schema Interfernce): ekkor mindegy, hogy a véletlen crossover a séma melyik hullámhegyébe löki is be az utódokat, azok mindig magas célfüggvény-értéket érnek el, és néhány generáció alatt bepattanhatnak a globális optimumba • Így az SGA-ban a kizárólag virtuálisan létező objektumok, a sémák keresik meg a globális optimumot, a ténylegesen létező keresőpontok a séma hullámhegyei közt a crossover által ide-oda pattogtatva csak asszisztálnak ebben • A keresőpontok így könnyedén átugorhatják a célfüggvény „szakadékait”, még a keresőpontot folytonos nyomvonalon (Trajectory) húzó gradiens algoritmusnál ez nem lehetséges, a szimulált hűtésnél pedig a keresőpont ugrálása teljesen random, minden rendszert nélkülöz, csak „vak tyúk is talál szemet” alapon ugorhat át

  20. y 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 * 1 * x x2 * 1 * * x3 * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x1 Sémaelmélet 3 1. Felvetődik a kérdés, miért éppen binárisan kódolja az SGA a kromoszómákat? Miért nem 3-mas vagy 4-es számrendszerben? (pl. a DNS-ben egy locuson 4 lehetséges érték lehet) Vagy miért nem az eredeti döntési változók szintjén kódol? • Ha döntési változók szintjén kezelnénk sémákat (egy locuson egy változó értéke lenne) pl: (16.28, *, 32.41, 71.86, *, *) Ezzel csak egyszerű hipersíkokat tudnánk definiálni a döntési térben, amelyek igen kevéssé alkalmasak az optimumhely(ek) megtalálására • Matematikailag bizonyítható, hogy a bináris felbontás mellett alakíthatók ki sémákkal a legbonyolultabb térhullámok 2. Felvetődik a kérdés, hogy az SGA crossovere miért csak 1 véletlen crossover ponton vágja el a kromoszómákat? • A több véletlen crossover pontos vágás látszólag jobban keveri a genetikai anyagot • De a gyakorlatban nem vált be, túl kicsi részekre vágja a sémákat • Csak nagyon hosszú kromoszómák esetén érdemes alkalmazni több crossover pontot

  21. z 0 1 2 3 4 5 6 7 8 9 x 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 (0,1,1,1,0) (0,0,1,1,1) (1,1,0,0,0) (1,0,0,1,0) Sémaelmélet 4 3. Miért „teszi tönkre” az SGA az addigi legjobb megoldást egy rosszabbal történő párosítással? Ez pótolja az érzékenységvizsgálatot! Ha az adott optimumhely stabil, több keresőpontnak is be kell oda ugrania, illetve az „elrontott” megoldásnak néhány generáció múlva újra meg kell jelennie Egy séma súlyának a számbavétele, pláne alakulásának előrejelzése nem könnyű dolog, mert függ attól, hogy: • A séma milyen sok egyedhez milyen erős kompatibilitási fokkal kötődik (lásd sárga nyilak) • Illetve azon egyedek mekkora célfüggvény értéket értek el (lásd piros nyilak) A keresőpontok kezelése az optimalizációs heurisztikákban érdekes párhuzamot mutat az elektronok mozgásáról szóló elméletek fejlődésével: • Kezdetben az elektront valamilyen erőtérben folytonos görbén mozgó testként képzelték el (Rutherford), ez megfelel a gradiens algoritmus működésének • Később az elektront random cikázó mozgá- sú anyagi testnek képzelték valamilyen erő- térben (Braun), ez megfelel a szimulált hű- tés működésének • Végül a kvantumelmélet az elektront erőterek hatására alakuló térhullámnak tartja (Schrödinger), amely bizonyos helyeken anyagi testként is megjelenhet, folytonos mozgási pálya nélkül is. Ez erősen hasonlít a GA sémaelméletére

  22. Az előadás tartalma Globális optimalizáció • Analitikus optimalizáció • A gradiens algoritmus • A gradiens algoritmus problémái, szimulált hűtés algoritmusa • A genetikus algoritmusok • Alapfogalmai • Az egyszerű genetikus algoritmus működése • Az egyszerű genetikus algoritmus értékelése • Sémaelmélet • A genetikus algoritmus továbbfejlesztései • Elitista stratégia • Számítógépes alkalmazás: egyszerű genetikus algoritmus szimulációja Excelben • A nemi és faji elkülönülés szerepe • Számítógépes alkalmazás: nemi elkülönüléses genetikus algoritmus szimulációja Excelben • A génkészlet megkettőzésének szerepe Szakirodalom

  23. A genetikus algoritmus továbbfejlesztései 1 • Az SGA kellemetlen tulajdonsága, hogy a maximális célfüggvény érték a generációk során nem monoton nő, hanem néha visszaesik. Ez azért van, mert a legjobb egyed véletlenül egy „rosszleánnyal” párzik, és „elzüllött” utódok születnek, így több generáció kell, hogy újra az eredeti színvonalra fejlődjön a megoldás • Ennek a kiküszöbölésére szolgál az elitista stratégia (Elitism): a legjobb egyed mindenféle párzás és crossover nélkül változatlanul átmásolódik az új generáció 5-10%-át kitevő helyekre,így a maximális célfüggvény mindig monoton nő • Ez gyorsítja a konvergenciát, viszont az alternatív optimumok felderítése ellen hat • Sőt, az elitizmus eltúlzott használata meghiúsíthatja az optimum megtalálását: egy korai generációban legjobbnak látszóelit túlsúlyba kerülése pár generáción belül kipusztít mindenki mást, aki különbözik az elittől, megszűnik a genetikai változatosság és a továbbfejlődés lehetősége, az optimum elérhetetlen marad (erre látunk példát a diagrammon) • Az „übermensch” mítosza tehát még a matekban is káros

  24. Számítógépes alkalmazás: egyszerű genetikus algoritmus • A SGASzimulator.xls fájl az SGA működésére mutat példát egy kétváltozós célfüggvénnyel. A zöld cellákba tölthetjük az induló populációt, a sárga cellában adható meg a mutációs ráta, a szürkében kapcsolhatjuk be az elitista stratégiát. Jelenleg 4 generációt kezel, de a munkalapon az utolsó generációt vágólapon több példányban egymás mögé másolva, további generációkat szimulálhatunk.

  25. A genetikus algoritmus továbbfejlesztései 2 • A magasabb rendű élőlényeknél megjelennek a nemek (Gender): a populáció két csoportra szakad (♂hím és ♀nőstény), és csak csoportközi párosodással hozhatnak létre utódot, csoporton belülivel nem. • Ez arra szolgál, hogy az egyedek jobban le tudjanak fedni alternativ optimumokat: a párosodási korlát megakadályozza az egynemű eset hibáját, amikor egyfajta elit csoport kiszorít mindenki mást. • Technikailag a párosodásra kiválasztás úgy történik, hogy külön kumulált valószínűségek lesznek a nemeknél, és két e(0,1) egyenletes eloszlású valószínűségi változó értéke választja a párba a hímet és a nőstényt. • Az algoritmus futása során a keresőpontok hajlamosak két csoportra szakadni, és így jobban fogják az alternatív optimumokat • Hasonló célt szolgál a fajok (Race) bevezetése: a nagyon alacsony c kompatibilitású egyedek nem hozhatnak utódokat létre egymással • Ez megakadályozza, hogy teljesen outlier egyedek jöjjenek létre

  26. Számítógépes alkalmazás: nemileg szeparált genetikus algoritmus • A GGASzimulator.xls fájl annyiban különbözik az előzőtől, hogy nemeket különít el a keresőpopulációban. A generációnkénti célfüggvény-diagrammokon a kék keresőpontok jelentik a hímeket, a rózsaszínűek a nőstényeket. A szürke cellában itt is bekapcsolható az elitista stratégia, ekkor az első pár lesz mindig az elit hím és nőstény

  27. A genetikus algoritmus továbbfejlesztései 3 A magasabbrendű élőlények megkettőzött génkészletűek (Diploid). Pl. Az emberi genom 23 pár kromoszómából áll. Egy pár ugyanazon funkciójú géneket kódolja, de gyakran eltérő értékekkel (Heterozygote): • A populációban többségben lévő érték a domináns (Dominant) • A kisebbségi érték(ek) a recesszívek (Recessive) A recesszív értékkészlet célja, hogy eltárolja egy olyan „rejtett egyed” kódját, aki a jelen környezetben nem lenne életképes és kipusztulna: • Ha a célfüggvény időben gyorsan és jelentősen megváltozik, akkor a domináns értékű egyedek elkezdenek tömegesen kipusztulni, és a recesszív értékűek többségbe kerülnek. • Ekkor a kromószómák dominancia szabályozó szakasza átváltja recesszív értéket dominánsra, az új helyzetben életképes „rejtett egyed” néhány generáción belül előtör, és megmenti a populációt a teljes kihalástól. • Pl. A modern domináns nő evolúciósan shoppingolásra és értékesítési menedzsernek optimalizált, de recesszive magában hodoz egy ősi típust, aki gyerekszülésre, gyűjtögetésre, fára mászásra optimalizált. Ha kitör az atomháború, nem lesz mit enni, nem lesz új fehérnemű-kollekció a Victoria’s Secret-ben, és a Cosmopolitan sem jelenik már meg, a domináns pusztul, s a recesszív tipus néhány generáción belül előugorhat, újra átvéve az uralmat...

  28. A genetikus algoritmus továbbfejlesztései 4 • A két kromatidából (A és B) álló diploid kromoszómájú egyedeket olyan genetikus algoritmusban használjuk, ahol a célfüggvény gyorsabban változik időben, mint ahogy az adott hardveren a Ljapunov-stabilitás eléréséhez szükséges generációk száma kiszámítható lenne (pl. repülőgép kormánylap beállítások optimalizálása). • A kromoszómák egy géneket kódoló szakaszra, és egy ugyanannyi locusból álló dominanciát kontrolláló szakaszra oszlanak • A és B kromatidák értékét az adott locuson más logikai operátorral aggregáljuk effektív, utódokba másolódó értékké, attól függően, hogy ott a 0 vagy az 1 érték a domináns: • Ha az 1-es érték domináns, az aggregáció OR. Így pl. ha A a domináns 1 értéket veszi fel, B lehet akár 0, akár 1, az eredmény nem változik, a domináns rátakar a recesszív oldalra • Ha 0 érték a domináns, az aggregáció AND. Ha A a domináns 0, B-nek mindegy, hogy milyen értékű • A dominancia kontroll szakasz adja meg, hogy adott locuson mely érték a domináns. Ez párosodáskor ugyanúgy résztvesz a crossoverben, mint a géneket kódoló szakasz. Ilyen esetekben a crossover legalább 2 crossover pontot használ külön a kódoló és dominancia szabályzó rész számára. • A crossover billentheti át az adott locuson domináns értéket 0-ról 1-re vagy fordítva • Így nem kell a normál SGA műveleteken túl külön számolgatni, hogy melyik locuson melyik értékből van több az egyedekben, vagyis melyik a domináns

  29. Szakirodalom 1 Genetikus algoritmusok elméleti bevezetők • http://cs.felk.cvut.cz/~xobitko/ga/ • http://lancet.mit.edu/~mbwall/presentations/IntroToGAs/ • http://www.geneticprogramming.com/ Genetikus algoritmusok modellkönyvtárak • Lancet GALib: C++ forráskódok: http://lancet.mit.edu/ga/ Genetikus algoritmus demók • Excelben: • PIKAIA: tetszőleges kétváltozós célfüggvény, GUI, diagrammok, Excel cella függvény+VB makró, freeware: http://www.hao.ucar.edu/Public/models/pikaia/pikaia.html • Java appletben: • GA Playground: tetszőleges sokváltozós célfüggvény, telepíthető GUI: http://www.aridolan.com/ga/gaa/gaa.html#Download • Merelo: tetszőleges sokváltozós célfüggvény, on-line GUI: http://kal-el.ugr.es/~jmerelo/GAJS.html • Genetic Algorithm Viewer 1.0: bináris fákat optimalizál, on-line GUI: http://www.rennard.org/alife/english/gavgb.html • Maze Solver: labirintusban keres utat aknák közt , on-line GUI: : http://www.sambee.co.th/MazeSolver/mazega.htm • UAMIS AI Group: erősödő hullám maximumát keresi, on-line GUI: http://ai.bpa.arizona.edu/~mramsey/ga.html

  30. Szakirodalom 2 Ingyenes genetikus algoritmus szoftverek • Angel Martin: GOAL: tetszőleges sokváltozós célfüggvény, GUI, VB kódú modell, nincs adatbázis import, freeware: http://www.geocities.com/geneticoptimization/GOAL.html Kereskedelmi genetikus algoritmus szoftverek: • Kiegészítések más optimalizációs szoftverekhez: • Matlab GEA Toolbox: 30 napos shareware: http://www.geatbx.com/ • Önálló rendszerek: • Sugal: nincs shareware: http://www.trajan-software.demon.co.uk/Products.htm • Excel add-in solverek: • Frontline Inc. Solver: 30 napos shareware: http://www.solver.com/exceluse.htm#Premium%20Solver%20Platform • Pi Blue Inc. OptWorks: 30 napos 10 változóra limitált shareware http://www.piblue.com/products/optworks_ex.html • Ward System Inc. Genehunter: nincs shareware: http://www.wardsystems.com/products.asp?p=genehunter Orvosszakértő a biológiai analógiához: • Tamasikné Dr. Helyes Zsuzsanna, egyetemi docens, PTE-AOK Farmakológiai és Farmakoterápiai Intézet

More Related