Obecně
Genetické algoritmy jsou vhodné pro řešení problémů, které zahrnují sestavování rozvrhů a plánování. Byly použity také ve strojírenství. Často se používají k řešení globálních optimalizačních problémů.
Obecně platí, že genetické algoritmy mohou být užitečné v problémových oblastech, které mají složité fitness prostředí, protože míchání je navrženo tak, aby posunulo populaci pryč od lokálních optim, ve kterých by tradiční algoritmus hill climbing mohl uvíznout. Běžně používané operátory křížení nemohou změnit žádnou jednotnou populaci. Samotná mutace může zajistit ergodicitu celého procesu genetického algoritmu (chápaného jako Markovův řetězec).
Příklady problémů řešených pomocí genetických algoritmů: zrcadla navržená tak, aby směřovala sluneční světlo do slunečního kolektoru, antény navržené k zachycení rádiových signálů ve vesmíru, metody chůze pro počítačové postavy, optimální návrh aerodynamických těles ve složitých proudových polích.
Skiena ve své Příručce pro návrh algoritmů nedoporučuje používat genetické algoritmy pro jakékoli úlohy: "Je zcela nepřirozené modelovat aplikace pomocí genetických operátorů, jako jsou mutace a křížení, na bitových řetězcích. Pseudobiologie přidává další úroveň složitosti mezi vás a váš problém. Za druhé, genetické algoritmy potřebují u netriviálních problémů velmi dlouhou dobu. [...] Analogie s evolucí - kde významný pokrok vyžaduje [sic] miliony let - může být zcela na místě. [...] Nikdy jsem se nesetkal s problémem, u kterého by mi genetické algoritmy připadaly jako správný způsob, jak na něj zaútočit. Dále jsem nikdy neviděl žádné výsledky výpočtů oznámené pomocí genetických algoritmů, které by na mě příznivě zapůsobily. Pro potřeby heuristického vyhledávání voodoo se držte simulovaného žíhání."
Deskové hry
Deskové hry jsou velmi důležitou součástí oblasti genetických algoritmů aplikovaných na problémy teorie her. Velká část raných prací v oblasti výpočetní inteligence a her byla zaměřena na klasické deskové hry, jako je například tic-tac-toe,[3] šachy a dáma.[4] Deskové hry dnes může počítač ve většině případů hrát na vyšší úrovni než nejlepší člověk, a to i při použití technik slepého vyčerpávajícího vyhledávání. Výjimkou z tohoto trendu je hra Go, která dosud odolávala útokům strojů. Nejlepší počítačoví hráči Go nyní hrají na úrovni dobrého začátečníka.[5][6] Strategie hry Go údajně do značné míry závisí na rozpoznávání vzorů, a ne pouze na logické analýze jako v šachu a jiných hrách, které jsou více závislé na figurách. Obrovský efektivní faktor větvení potřebný k nalezení kvalitních řešení silně omezuje pohled dopředu, který lze použít v rámci hledání posloupnosti tahů.
Počítačové hry
Genetický algoritmus lze použít v počítačových hrách k vytvoření umělé inteligence (počítač hraje proti vám). To umožňuje realističtější herní zážitek; pokud lidský hráč dokáže najít posloupnost kroků, které vždy vedou k úspěchu, i když se opakují v různých hrách, nemůže už být žádná výzva. Naopak pokud se technika učení, jako je genetický algoritmus pro stratéga, dokáže vyhnout opakování minulých chyb, hra bude mít větší hratelnost.
Genetické algoritmy vyžadují následující části:
- Metoda reprezentace úkolu z hlediska řešení (např. směrování vojáků při útoku ve strategické hře).
- fitness nebo hodnotící funkce pro určení kvality instance (např. měření poškození způsobeného protivníkovi při takovém útoku).
Funkce fitness přijímá zmutovanou instanci entity a měří její kvalitu. Tato funkce je přizpůsobena problémové doméně. V mnoha případech, zejména těch, které se týkají optimalizace kódu, může být fitness funkce jednoduše funkcí časování systému. Jakmile jsou definovány genetická reprezentace a fitness funkce, genetický algoritmus vytvoří počáteční kandidáty, jak bylo popsáno dříve, a poté je zlepšuje opakovaným použitím operátorů mutace, křížení, inverze a výběru (definovaných podle problémové domény).