Vo všeobecnosti
Genetické algoritmy sú dobré pri riešení problémov, ktoré zahŕňajú plánovanie a rozvrhovanie. Uplatňujú sa aj v strojárstve. Často sa používajú na riešenie globálnych optimalizačných problémov.
Všeobecne platí, že genetické algoritmy môžu byť užitočné v problémových oblastiach, ktoré majú komplexné fitness prostredie, pretože miešanie je navrhnuté tak, aby posunulo populáciu preč od lokálnych optim, v ktorých by tradičný algoritmus kopcovitého lezenia mohol uviaznuť. Bežne používané operátory kríženia nemôžu zmeniť žiadnu jednotnú populáciu. Samotná mutácia môže zabezpečiť ergodicitu celkového procesu genetického algoritmu (vnímaného ako Markovov reťazec).
Príklady problémov riešených genetickými algoritmami zahŕňajú: zrkadlá navrhnuté na usmernenie slnečného svetla do slnečného kolektora, antény navrhnuté na zachytávanie rádiových signálov vo vesmíre, metódy chôdze pre počítačové postavy, optimálny návrh aerodynamických telies v zložitých prúdových poliach
Skiena vo svojej Príručke návrhu algoritmov neodporúča genetické algoritmy pre akúkoľvek úlohu: "Je celkom neprirodzené modelovať aplikácie v zmysle genetických operátorov, ako sú mutácia a kríženie na bitových reťazcoch. Pseudobiológia pridáva ďalšiu úroveň zložitosti medzi vás a váš problém. Po druhé, genetické algoritmy potrebujú na netriviálne problémy veľmi veľa času. [...] Analógia s evolúciou - kde si významný pokrok vyžaduje [sic] milióny rokov - môže byť celkom vhodná. [...] Nikdy som sa nestretol so žiadnym problémom, pri ktorom by sa mi genetické algoritmy zdali správnym spôsobom, ako naň zaútočiť. Ďalej som nikdy nevidel žiadne výsledky výpočtov oznámené pomocou genetických algoritmov, ktoré by na mňa urobili priaznivý dojem. Pre potreby heuristického vyhľadávania voodoo sa držte simulovaného žíhania."
Stolové hry
Stolové hry sú veľmi dôležitou súčasťou oblasti genetických algoritmov aplikovaných na problémy teórie hier. Veľká časť ranej práce v oblasti výpočtovej inteligencie a hier bola zameraná na klasické stolové hry, ako napríklad tic-tac-toe,[3] šach a dáma.[4] Stolové hry dnes vo väčšine prípadov dokáže počítač hrať na vyššej úrovni ako najlepší ľudia, a to dokonca aj pomocou techník slepého vyčerpávajúceho vyhľadávania. Hra Go je v tomto smere výnimkou a doteraz odolávala útokom strojov. Najlepší počítačoví hráči Go hrajú v súčasnosti na úrovni dobrého začiatočníka.[5][6] Hovorí sa, že stratégia hry Go sa vo veľkej miere spolieha na rozpoznávanie vzorov, a nie len na logickú analýzu ako v šachu a iných hrách, ktoré sú viac závislé od figúr. Obrovský efektívny faktor vetvenia potrebný na nájdenie kvalitných riešení výrazne obmedzuje pohľad dopredu, ktorý možno použiť v rámci hľadania postupnosti ťahov.
Počítačové hry
Genetický algoritmus možno použiť v počítačových hrách na vytvorenie umelej inteligencie (počítač hrá proti vám). To umožňuje realistickejší zážitok z hry; ak ľudský hráč dokáže nájsť postupnosť krokov, ktoré vždy vedú k úspechu, aj keď sa opakujú v rôznych hrách, nemôže zostať žiadna výzva. Naopak, ak sa technika učenia, napríklad genetický algoritmus pre stratéga, dokáže vyhnúť opakovaniu minulých chýb, hra bude mať väčšiu hrateľnosť.
Genetické algoritmy vyžadujú tieto časti:
- Metóda reprezentácie úlohy z hľadiska riešenia (napr. smerovanie vojakov pri útoku v strategickej hre)
- Fitness alebo hodnotiaca funkcia na určenie kvality inštancie (napr. meranie poškodenia spôsobeného súperovi pri takomto útoku).
Funkcia fitness akceptuje zmutovanú inštanciu entity a meria jej kvalitu. Táto funkcia je prispôsobená problémovej doméne. V mnohých prípadoch, najmä tých, ktoré zahŕňajú optimalizáciu kódu, môže byť fitness funkcia jednoducho funkciou časovania systému. Po definovaní genetickej reprezentácie a fitness funkcie genetický algoritmus inštanciuje počiatočných kandidátov, ako bolo opísané predtým, a potom ich zlepšuje opakovaným použitím operátorov mutácie, kríženia, inverzie a výberu (definovaných podľa problémovej oblasti).