Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Adaptívne algoritmy
Neadaptívne algoritmy
Optimalizačné metódy a grafové algoritmy
Expertné systémy
Fuzzy logika
Konečné automaty
Skupinové správanie



Ostatné kapitoly
Freemanove K modely
Umelé imunitné systémy
Biomimicry - Biomimetics
Umelé chémie
Chemické vlny
DNK počítače
Artificial Music
Memetika
Artificial Life Games
Artificial Art
Väzenská dilema


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


Adaptívne algoritmy

Rozhodovanie na základe prípadov (Case-based reasoning)

Rozhodovanie na základe prípadov je jedna z menej obvyklých foriem expertného systému. Tento typ nemá databázu pravidiel, ale databázu prípadov a neustále porovnáva, či to, čo analyzuje neodpovedá nejakému už známemu prípadu. Počítač napríklad objaví vašu ťažnú vežu a zistí podľa databázy prípad "málo strážená nepriateľská ťažná veža nad bohatým ložiskom" doporučuje ako riešenie "hneď na ňu vtrhnúť, rozstrieľať a miesto obsadiť vlastnou vežou".

Prípady v databáze nemusia úplne súhlasiť s presne vzniknutou situáciou, algoritmy case based reasoning-u sú schopné zistiť, ktorý prípad je "najpodobnejší". Ohromná výhoda tejto metódy je v tom, že pokiaľ počítaču predvediete novú a fungujúcu stratégiu, môžete si ju uložiť ako nový prípad do databázy. Naopak, pokiaľ na vás neúspešne skúša použiť nejaký prípad a on nefunguje, môže ho z databázy vyradiť, alebo označiť ako "málo fungujúci". Táto metóda je pomerne zložitá a náročná na návrh štruktúry bázy prípadov.

Neurónové siete (Neural Networks)

O neurónových sieťach sa veľa hovorí, ale nejde o jedinú metódu - naopak, je to veľmi široká rodina rôznych technológii, ktoré sa veľmi líšia. Všeobecne sú inšpirované princípom funkcie ľudského mozgu - jednotlivé elementy neurónovej siete sú prepojené spojmi, ktoré majú rôzne miery dôležitosti - váhy - a pri výpočte sa sieťou informácii šíria podobne ako v nervovom vlákne. Váhy spojov potom určujú "dôležitosť" informácie pre nasledujúci neurón v sieti.

Neurónové siete je pomerne náročné simulovať, samostatný výpočet je ale efektívny. Ohromná výhoda neurónových sietí je v schopnosti algoritmov meniť váhy spojov podľa predchádzajúcich skúseností, a tým sieť učiť - a to i mimoriadne obtiažne kúsky,ktoré by sa do pravidiel prepisovali veľmi zle. Neurónové siete dokážu niekedy prekvapivo riešiť aj úlohy, ktoré nikdy nevideli; na druhej strane u nich nie je zaručené "rozumné chovanie" - občas sa výstupy neurónových sietí chovajú divne.

Genetické algoritmy (Genetic algorithms)

Vo svete to funguje podľa zákonov pravdepodobnosti a štatistiky a život objavil prekvapujúci spôsob, ako štatistiku a zákony termodynamiky "podviesť" - nechá náhodne mutovať genetický kód živočíchov a svet si už pretriedi, ktoré sú dobré a ktoré nie, Genetické algoritmy sa chovajú rovnako - náhodne sa vygenerujú možné riešenia, vyberú sa tie najlepšie a nechajú sa ďalej mutovať a vyberať.

Po pomerne malom počte generácii - typicky päť až sedem - zostávajú veľmi dobré riešenia. Sila genetických algoritmov je v tom, že dokážu rýchlo nájsť uspokojivé riešenia i vo veľmi neprehľadnej, a ťažko popísateľnej situácii, ich nevýhoda je v tom, že nemusia nájsť úplne najlepšie riešenie. Veľmi pekná ukážka sily genetických algoritmov bola v shareware hre Cloak, Dagger.Pokročilé modelovanie DNA procesu bolo obsiahnuté aj v Creatures.

viac o genetickych algoritmoch sa dozviete tu...

Umelý život (Artificial life)

Technológia umelého života sa sústreďuje na tvorbu vnútorného modelu živočíchov, alebo monštrier, simuluje jeho nálady, vnútorné procesy a vzťahy k okoliu. Umelý život je mohutne inšpirovaný biológiou a psychológiou a do dnešnej doby sa vyskytuje hlavne v poloexperimentálnych hrách typu CatZ And DogZ od P.F.Magic a teraz ich nové BabyZ, simulácia batoliat.

Najúžasnejšie sú ale Creatures od firmy Cyberlife, ktoré sú tak ďaleko v simulácii života,že simulujú i enzýmy a DNA - úplné šialenstvo ! Technológia virtuálneho života pravdepodobne nájde veľké uplatnenie aj v adventúrach a RPG, pretože sa zaoberá tým istým - vývojom postavy - ale nie na základe niekoľkých desiatok jednoduchých pravidiel, ale na základe stoviek a tisícov komplexných vzťahov.

Ale výsledok stojí za to - v umelom živote silne funguje emergencia a verte, že vás neprekvapí nič viac než keď si virtuálne zviera povie o to aby ste ho poškrabali a VY viete, že TO v ňom naprogramované nebolo, že oná potreba v ňom vznikla samostatne, z jeho vlastnej digitálnej vôle!

Hore
Kontakt: Marek Bundzel