Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1. oldal Genetikus Algoritmus Genetikus algoritmus l “A genetikus algoritmusok segítségével óriási méretű paraméter teret vizsgálhatunk meg, hogy megtaláljuk.

Hasonló előadás


Az előadások a következő témára: "1. oldal Genetikus Algoritmus Genetikus algoritmus l “A genetikus algoritmusok segítségével óriási méretű paraméter teret vizsgálhatunk meg, hogy megtaláljuk."— Előadás másolata:

1 1. oldal Genetikus Algoritmus Genetikus algoritmus l “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. l 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

2 2. oldal Genetikus Algoritmus 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 Biológiai háttér (a sejt)

3 3. oldal Genetikus Algoritmus 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.

4 4. oldal Genetikus Algoritmus 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.

5 5. oldal Genetikus Algoritmus 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.

6 6. oldal Genetikus Algoritmus 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

7 7. oldal Genetikus Algoritmus 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ó

8 8. oldal Genetikus Algoritmus 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.

9 9. oldal Genetikus Algoritmus l Közvetlen (direkt) kereső algoritmus, amely a biológiai evolúció mechanizmusán alapul. l 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

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

11 11. oldal Genetikus Algoritmus Keresési eljárások osztályai

12 12. oldal Genetikus Algoritmus Keresési eljárások osztályai

13 13. oldal Genetikus Algoritmus 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) A genetikus algoritmus elemei

14 14. oldal Genetikus Algoritmus 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 populáció célfüggvénye(i)nek kiszámítása; } }

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

16 16. oldal Genetikus Algoritmus Populáció  bit stringek ( )  valós számok (43.2, -33.1, , 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... populáció A kromoszómák (a populáció elemei ) lehetnek: inicializálás

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

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

19 19. oldal Genetikus Algoritmus Valós számok kromoszóma Valós szám kromószóma = valós számok vektora gén = egy valós szám x0x1

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

21 21. oldal Genetikus Algoritmus Reprodukció másolat készítés populáció lehetséges szülők kiválsztott szülők 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.

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

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

24 24. oldal Genetikus Algoritmus Rulett kerék kiválasztási eljárás A fitness értékek „tortája” a populációban terület = fitness(x7,y7)

25 25. oldal Genetikus Algoritmus Reprodukció: Sorrendi kiválasztás l Sorrendbe állítás egy szülő kiválasztási eljárás, amely az egyes kromoszómák sorrenjén alaőpul. l Minden kromoszómát sorrendbe állítunk a hozzá tartozó fitness érték alapján. l r1 értéket rendeljük a legrosszabb fitness értékhez; r2 értéket a második legrosszabhoz és így tovább... l 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. l Határozzuk meg a a sorrendek összegét: eredmény az Rsum. l Szülő választás: Véletlen szám generálás 0 és Rsum között.

26 26. oldal Genetikus Algoritmus Reprodukció: Kiválasztás versenyeztetéssel l 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. l Ha a versenyeztetett elemek száma nagyobb a gyengébb (fitness értékű) elemek kiválasztásának esélye kisebb lesz. l Az egy elemet kiválasztó verseny megegyezik a véletlen kiválasztással.

27 27. oldal Genetikus Algoritmus Módosítás módosítás kiválasztott szülők A módosításokat sztochasztikusan idézzük elő: l 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 ) gyermek(ek)

28 28. oldal Genetikus Algoritmus 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: Keresztezés P1 ( ) ( ) Ch1 P2 ( ) ( ) Ch2 vágás

29 29. oldal Genetikus Algoritmus Módosítás: Mutáció Előtte: ( ) Utána: ( ) Előtte: ( ) Utána: ( ) l Paraméter változtatást okoz a keresési térben (lokális vagy globális változást) l Helyreállítja az elvesztett információt a populációban Valós szám kromoszóma Bitstring kromoszóma véletlen kiválasztott pozició(k)

30 30. oldal Genetikus Algoritmus Értékelés l 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). l A kiértékelő csak egy kapcsolat az egyszerű klasszikus genetikus algoritmus és a megoldandó probléma között. kiértékelő értékkel rendelkező gyermekek gyermek(ek)

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

32 32. oldal Genetikus Algoritmus A folyamat animált formában

33 33. oldal Genetikus Algoritmus “ 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

34 34. oldal Genetikus Algoritmus 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

35 35. oldal Genetikus Algoritmus 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 ( ) VárosLista2 ( )

36 36. oldal Genetikus Algoritmus Keresztezés (TSP) véletlenül kiválasztott poziciók A keresztezés együttesen alkalmazza az inverziót és a rekombinációt: * * Szülő1 ( ) Szülő2 ( ) Gyermek ( )

37 37. oldal Genetikus Algoritmus Mutáció (TSP) véletlenül kiválasztott poziciók A mutáció a lista elemeinek sorrendjét változtatja meg: * Előtte: ( ) Utána: ( )

38 38. oldal Genetikus Algoritmus Utazó ügynök probléma

39 39. oldal Genetikus Algoritmus 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.

40 40. oldal Genetikus Algoritmus Hátizsák csomagolás

41 41. oldal Genetikus Algoritmus 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 Függvény maximum értéke

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

43 43. oldal Genetikus Algoritmus 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!!! / Keresztezés (FVM)

44 44. oldal Genetikus Algoritmus 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!!! / Mutáció (FVM)

45 45. oldal Genetikus Algoritmus Véletlenszám típusok: Egyenletes eloszlású

46 46. oldal Genetikus Algoritmus Véletlenszám típusok: Exponenciális eloszlású

47 47. oldal Genetikus Algoritmus Véletlenszám típusok: Normál eloszlású

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

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

50 50. oldal Genetikus Algoritmus Függvény maximum értéke x10 = 5.0 x20 = 5.0

51 51. oldal Genetikus Algoritmus Függvény maximum értéke x10 = 0.0 x20 = 1.1 x30 = 2.2 x40 = 3.3. x14 = 4.4

52 52. oldal Genetikus Algoritmus 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.

53 53. oldal Genetikus Algoritmus Függvény alak (struktúra keresése)

54 54. oldal Genetikus Algoritmus Genetikus algoritmus alkalmazások felépítése l 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 l Definiáljuk a megállási feltételt l Ügyeljünk a megjelenítésre, skálázhatóságra l A megoldásunk minősíthető költségfüggvény tudjuk létrehozni. l A megoldásunk olyan pontos lesz, mint amilyen pontosnak minősíthető költségfüggvény tudjuk létrehozni.

55 55. oldal Genetikus Algoritmus A genetikus algoritmus előnyei l Könnyű megérteni a működését. l Moduláris, (könnyen) elválasztható az optimalizálandó probléma programjától. l Támogatja a több célfüggvénnyel rendelkező optimalizációkat (is). l Alkalmas „zajos környezetben” történő optimalizálásra. l 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.

56 56. oldal Genetikus Algoritmus A genetikus algoritmus előnyei l 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. l Könnyű kiterjeszteni korábbi megoldásokat, illetve alternatív megoldásokat létrehozni. l Könnyen építhető blokkokat tartalmaz hibrid alkalmazásokhoz. l Belső működése alapvetően párhuzamos, könnyű a futtatása elosztott számítógép hálózaton.

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

58 58. oldal Genetikus Algoritmus Néhány genetikus algoritmus alkalmazás típus


Letölteni ppt "1. oldal Genetikus Algoritmus Genetikus algoritmus l “A genetikus algoritmusok segítségével óriási méretű paraméter teret vizsgálhatunk meg, hogy megtaláljuk."

Hasonló előadás


Google Hirdetések