Genetický algoritmus

Genetické algoritmy patří do třídy evolučních algoritmů, které mimo ně zahrnují také evoluční programování, evoluční strategii a genetické programování. Jsou to vyhledávací algoritmy založené na mechanismu přirozeného výběru a principech genetiky. Jejich velkou výhodou je poměrná jednoduchost. Ideovým vzorem pro genetické algoritmy byly principy vývoje, které se uplatňují v přírodě. Zde existují populace jednotlivých živočišných druhů, složených z jedinců různých vlastností. Tyto vlastnosti jsou prvotně zakódovány v jejich genech, které tvoří větší celky, chromozómy. Při křížení vznikají noví jedinci, kteří mají zpravidla náhodně část genů od jednoho rodiče a část genů od rodiče druhého. Přitom ve zvlášť vyjímečném případě může dojít k náhodné změně některého genu v chromozómu, tzv. mutaci, která může být pro další vývoj druhu příznivá nebo ne. Podle svých vlastností má každý z potomků větší nebo menší schopnost obstát v přirozeném výběru a vytvořit další generaci. Proces výběru se stále opakuje a v jeho průběhu se zlepšují genetické vlastnosti daného druhu. Tak probíhala celá evoluce v přírodě.

 

Historické osobnosti:

John Holland – Americký teoretický biolog se stal průkopníkem v oblasti GA  , který studoval elementární procesy v populacích, jež jsou z hlediska evoluce nepostradatelné. Na základě těchto výzkumů navrhl genetický algoritmus jako abstrakci příslušných biologických procesů. V těchto algoritmech je prohledávací prostor problému reprezentován jako soubor jedinců. Tito jedinci jsou reprezentováni řetězcem (případně maticí) konečné délky, který bývá v analogii s obecnou genetikou nazýván chromozom a je v něm vhodným způsobem zakódované řešení problému. Účelem genetických algoritmů je najít jedince z prohledávaného prostoru s nejlepší „genetickou výbavou”. Kvalita (ohodnocení) jedince, tzv. fitness, je měřena ohodnocovací funkcí.

David Goldberg – Je považován za jednoho z klasiků této disciplíny a který systematicky studoval GA z technického pohledu, tedy z pohledu snažícího se chápat GA jako techniku obecně aplikovatelnou na širokou třídu úloh.

Zbigniew Michalewicz – Je považován za jednoho z původců výrazných modifikací klasických GA.

John R. Koza – Zakladatele genetického programování. Genetické programování navazuje na genetické algoritmy. Využívá metod podobných biologické evoluci při vytváření počítačových programů, které co nejlépe řeší konkrétní úlohu (nebo skupinu úloh). Jedná se o metodu strojového učení, která používá evoluční algoritmy, které postupně zlepšují populaci počítačových programů. Od samotných genetických algoritmů se genetické programování odlišuje zejména ve způsobu, jakým jsou jedinci podléhající evolučnímu procesu reprezentováni, jak jsou interpretováni a ohodnocováni.

 

Operátory:

Selekce  – simuluje v GA proces přirozeného výběru. Znamená vybrat z populace jedince, kteří se budou podílet na vytvoření následující populace (populaci nazýváme též generace). Tento výběr probíhá pomocí nějakého selekčního, zpravidla pravděpodobnostního, kriteria. Cílem je, aby průměrné ohodnocení nové generace bylo lepší než průměrné ohodnocení generace předchozí.

Křížení – generuje jednoho či více jedinců z několika (zpravidla dvou) rodičů. V případě dvou rodičů je to binární křížení. Křížení by mělo zvýšit průměrnou kvalitu populace.

Mutace - je unární operace, která trochu změní konkrétního jedince. Umožňuje prozkoumání nových stavů a napomáhá tomu, abychom neuvízli v lokálním optimu.

 

Možnosti použití:

Návrh motorů pro letadlo Boeing 777 – O této aplikaci nemáme z pochopitelných důvodů mnoho detailů. Nicméně GA byly použity při vývoji proudového motoru pro letoun Boeing 777. Motor samotný byl navržen klasickými metodami s důrazem kladeným na minimální spotřebu paliva. Avšak pro optimalizaci a detailní doladění některých parametrů byly použity genetické algoritmy. Dosažený výsledek umožnil snížení nákladů o téměř 2,5%, což u jednoho letounu činí úsporu asi 2 mil. dolarů ročně.

Identifikace zločinců – Zcela netechnickou aplikací genetických algoritmů je úloha rekonstrukce vzhledu osob podezřelých ze spáchání zločinu. Tato metoda je již v USA poměrně rozšířená a považuje se za velice účinnou.