Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Úvod
Modelovanie pohybu kŕdľa
Princípy
Zložitosť
Applet
Applety
Prehľad appletov na webe
Literatúra a linky
O tejto kapitole



Ostatné kapitoly
Výpočtové schopnosti celulárnych automatov
Celulárne automaty - úvod
Samoreprodukujúce sa celulárne automaty
Kryštálove výpocty
HAL
Boidi
Floyi
Aplikácie celulárnych automatov
CAPOW
LIFE - Hra života
Fredkinov biliardový automat


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


Modelovanie pohybu kŕdľa

Možno ste niekedy pozorovali kŕdeľ vtákov, ako voľne lieta po oblohe, trocha krúži, klesne, pristane, a potom znova vzlietne. Skladá sa z jednotlivých vtákov a predsa celá aktivita vyzerá ako niečo jednoliate, ako tekutina, niečo spojité. Niektorí jedinci sa od kŕdľa oddelia, aby sa neskôr k nemu mohli pripojiť. Vyzerá to akoby kŕdeľ mal jednu myseľ, ktorá riadi, synchronizuje jeho pohyby. Napríklad, ak letí kŕdeľ vtákov a má v ceste prekážku, začne ju obtekať. Pritom nikto neurčuje ako sa má kŕdeľ pohybovať, ako sa má rozdeliť, ak má v ceste prekážku, kŕdeľ nikdy nie je preplnený!

V 80-tych rokoch s rozvojom počítačovej animácie vznikla požiadavka vytvoriť taký pohyb objektov, ktorý by bol prirodzený. V (Reynolds, 1987) autor vo svojej práci spísal už existujúce a navrhol nové metódy ako preniesť prirodzený pohyb húfu do počítača. Pohybujúcej sa množine objektov, ktoré navzájom interagujú, a ktoré majú vlastné reakcie resp. spôsoby správania sa (behavior), dal meno boid (skratka od slova "birdoid", tj. útvar vytvorený z vtákov, v ďalšom sa boid používa len ako pomenovanie konkrétneho jedinca a nie celého kŕdľa). Konkrétne aplikácie boidov nájdeme napr. vo filmovej tvorbe (Lion King, Batman sa vracia, Vtáci, Jurský park, Cliffhanger (ukážka vo formáte .AVI)(ukážka vo formáte .MPG).

Jedným zo starších prístupov bol ten, že každý objekt mal dopredu definovanú cestu po ktorej sa mal pohybovať, tzv. skript. Vhodným definovaním cesty sa dala dosiahnuť celkom pôsobivá animácia, ale i najmenšia zmena dráhy, po ktorej sa objekt pohyboval bola veľmi obtiažna a časovo náročná, pretože to vyžadovalo zmenu hodnôt stoviek bodov, ktoré cestu popisovali (napr. zmena rýchlosti pohybu znamená prepočet všetkých polôh objektov pre každé políčko filmu). Tiež nebolo zaručené, že nová dráha bude vyhovovať režisérovi, ktorý týmto pohybom chcel niečo vyjadriť. Navyše dráha nebola popísaná jednoznačne a mohli nastať chyby pri konečnej animácii (splynú dva objekty a pod.).

Nový prístup Reynoldsa spočíval v tom, že o objektoch (boidoch, vtákoch, rybách ...) uvažoval ako o jedincoch, ktorí sa riadia nasledujúcimi pravidlami (v poradí od najvyššej priority k najnižšej):

Odstup Súdržnosť Zhlukovanie
1. Odstup: Udržuj určitú vzdialenosť od objektu (aj od iných boidov) 2. Súdržnosť: Svoju rýchlosť a smer pohybu určí podľa najbližších boidov 3. Zhlukovanie: Udržuj sa čo najbližšie k centru (ťažisku) tvojho okolia

Výsledný pohyb vznikne spojením správania sa jedincov, pričom uvažujeme vnímanie okolia a dodržanie fyzikálnych zákonov.

V nasledujúcich podkapitolách je v skratke priblížený vývin animačných techník používaných v kinematografii a následné radostné objavenie boidov.

Hore
Kontakt: Marek Bundzel