Servis

Lukáš Marek - Vývoj aplikací (0:00 | 19.5.)  Jagg.cz  linkuj.cz

Genetické programování (část 2)

V minulém díle seriálu jsme si probrali teoretický úvod, dnes se zkusíme podívat jak genetický algoritmus pracuje. Než začneme, tak poslední upozornění - autor není znalec přírodních věd, takže pokud je tedy mezi ctěnými čtenáři genetik, snad projeví jistou shovívavost.

Genetické algoritmy si kromě základní myšlenky vypůjčují od pana Mendela také názvosloví. Rozlišují tedy gen, jako základní stavební jednotku organismu. Organismus může být tvořen buď jednou, nebo dvěmi sadami genů. Sada genů se nazývá gameta. Organismy se mohou mezi sebou množit, mají tedy potomky a předky. V genetickém algoritmu potom organismus vyjadřuje vlastní řešení problému - pokud se vrátíme k problému z minulého dílu, použitý organismus bude tvořen několika geny, z nichž každý bude vyjadřovat pořadí navštívení daného města.

Posledním používaným pojmem je populace, což je jedna generace organismů.

No a protože jde o programování, tak gen může být tvořen (a to záleží i na konkrétní implementaci genetického programování) celým či desetinným číslem, znakem, booleovskou hodnotou a podobně.

Jednoduchý organismus s jednou sadou genů vypadá takto:

Organismus
Gen A1
Gen A2

Organismus s dvěmi sadami genů - nazývaný též Mendelův organismus analogicky vypadá takto:

Mendelův Organismus
Gen AA1 Gen BB1
Gen AA2 Gen BB2

Jednoduché, ne?

Rozmnožování

Další analogii s přírodou najdeme v rozmnožování. Pokud "spáříme" dva organismy, vzniknou dva další. Chcete příklad?

Organismus A
Gen A1
Gen A2
Gen A3
+
Organismus B
Gen B1
Gen B2
Gen B3

V případě jednoduchých organismů tak, že první z potomků dostane náhodně gen buď z rodiče A nebo B, druhý z potomků dostane zbývající gen. Například takto:

Potomek AB1
Gen A1
Gen B2
Gen A3
Potomek AB2
Gen B1
Gen A2
Gen B3

U Mendelovských organismů je rozmnožování o trošku složitější, zato je ale podobné rozmožování u živých organismů:

Mendelův Organismus AB
Gen A1 Gen B1
Gen A2 Gen B2
+
Mendelův Organismus CD
Gen C1 Gen D1
Gen C2 Gen D2

Z každého organismu se totiž vezme jedna kompletní sada genů (gameta) a z těch se složí organismus nový. Potomci Mendelovského organismu jsou tedy více podobní svým rodičům.

Potomek ABCD1
Gen A1 Gen C1
Gen A2 Gen C2
 
Potomek ABCD2
Gen B1 Gen D1
Gen B2 Gen D2

V příštím díle se budeme věnovat mutacím - jako studijní materiál zatím doporučuji film Moucha ;-).

Diskuze

  • martin: geneticke prtogramovani?

    26. 5. | 21:11
    • dyemlm: iQ0AiI <a href="http://ooyetfxwzdnc.com/">ooyetfxwzdnc</a>, [url=http://mxfuioxivyni.com/]mxfuioxivyni[/url], [link=http://ceticdivbqnw.com/]ceticdivbqnw[/link], http://xkibidivdxhy.com/

      22. 5. | 11:29