Prírodou inšpirované algoritmy

študijné materiály pre projekt mobilnej triedy umelej inteligencie

Späť ku kurzom triedy
Obsah
Úvod
História
Základný tvar algoritmu
Prečo GA fungujú?
Modifikácie pre špeciálne typy problémov
Nastavenie parametrov
Hybridizácia GA
Koevolúcia
Paralelizácia GA
Aplikácie GA
Aplikácie GA na internete
Klasifikačné systémy
Evolučná stratégia
Evolučné programovanie
Prílohy
Literatúra a linky
O tejto kapitole



Ostatné kapitoly
Genetické algoritmy
Genetické programovanie
Umelá embryogenéza
Evolučný dizajn
Interaktívny evolučný výpočet
Ekogramatiky
Evolučný hardware


Tutoriály
 Celulárne automaty
 Morfogenéza
 Simulátory
 Evolučné algoritmy
 Chaos
 Roboty
 Rôzne


Aplikácie GA

GA nie sú určené špeciálne na určitú oblasť problémov, je len potrebné zabezpečiť, aby riešenie pozostávalo zo zložiek. Pritom jednotlivé zložky nemusia byť na prvý pohľad viditeľné a ich definovanie môže byť problematické. Sú optimalizačnou technikou, teda hľadajú najoptimálnejšie riešenie. Majú však problém s nájdením presného optima (pri danom počte generácií je to to najlepšie, čo našli. Pričom nie je zaručené, že neexistuje aj lepšie riešenie, len ešte nebolo nájdené). Sú však pomerne odolné voči skĺznutiu do lokálneho optima (boj proti predčasnej konvergencii).

Genetické algoritmy sa používajú na riešenie ťažkých problémov (ako napr. NP-hard problémy), v strojovom učení a tiež na evolvovanie jednoduchých programov. Takisto boli použité aj v umení, na evolvovanie obrázkov a hudby.

Výhodou GA je ich paralelizmus. GA prechádzajú priestorom prehľadávania naraz s viacerými jedincami a teda ťažšie zapadnú do lokálneho extrému ako iné metódy.

Takisto sú ľahko implementovateľné. Keď už máme nejaký GA, stačí naprogramovať spôsob kódovania nového chromozómu riešiaceho nový problém a zmeniť funkciu vhodnosti, to je všetko. Na druhej strane však výber kódovania a funkcie vhodnosti môže byť veľkým problémom.

Nevýhodou GA je ich výpočtová náročnosť. Môžu byť pomalšie ako iné metódy, ale s dnešnými počítačmi by to nemal byť taký veľký problém.

Krátky zoznam problémov riešených genetickými algoritmami:

  • Nelineárne dynamické systémy - predikcia, analýza dát
  • Návrh neurónových dietí, architektúry aj váh
  • Trajektória robota
  • Evolvovanie LISP-ovských programov (genetic programming)
  • Strategické plánovanie
  • Návrh distribučných sietí (od telefónych sietí po ropné potrubia)
  • Problém obchodného cestujúceho a rozvrhovanie sekvencií
  • Návrh rozmiestnenia a umiestnenia predajní
  • Funkcie na tvorbu obrázkov

Detailnejšia tabuľka aplikácií GA je uvedená v prílohe.

Hore
Kontakt: Marek Bundzel