Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
ZhromažďovanieZhromažďovanieZhromažďovanie je založené na bočnej zložke zrýchlenia. Bočná zložka sa
vyjadruje zo smeru a z gravitácie. Keď sa má objekt otočiť, tak pri natáčaní objekt začne klesať, teda vzrastie
rýchlosť klesania. Veľkosť rýchlosti otáčania je závislá od smerovania boidu. Toto sa vyjadruje pomocou požiadaviek
zrýchlenia. Každá vlastnosť je v tvare: ak zotrvávam v nejakom smere, tak chcem zrýchliť v tomto smere.
Výsledná rýchlosť vtákov bola v prvých verziách daná ako priemerná hodnota zo všetkých vektorov zrýchlenia. Pracuje
to pekne, ale pokiaľ máme prekážku a boid letí veľkou rýchlosťou vzniká riziko kolízie s prekážkou, vtedy
nerozhodnosť boidu (daná spriemernením rýchlostí) je prekážkou a niektoré vtáky narazia priamo na prekážku. Preto je
táto nerozhodnosť nežiadúca a obtekanie prekážok je vytvorené malým natočením boidu, pričom boid pokračuje
v pôvodnom smere.
Na riešenie kritických situácií sa môže použiť expertný systém. Požiadavky na zrýchlenie sú zoradené podľa priority.
Zhromažďovanie požiadaviek pokračuje až kým sa neprekročí maximálna rýchlosť. Vtedy sa posledná požiadavka
na zrýchlenie zruší, aby nebola prekročená maximálna rýchlosť. V prípade ohrozenia, napríklad predátorom, sa
vyhovuje najdôležitejšej požiadavke : Ak mám veľkú rýchlosť a niekto chce spomaliť, tak ho ignorujem. Alebo ak mám
prekážku v dráhe vynechám centrovanie boidu, ale zvýšim prioritu vyhýbania sa objektom.
Zhromažďovanie
Zhromažďovanie sa dá vysvetliť na nasledovnom príklade: Majme kŕdeľ lietadiel zotrvávajúcich v "dobrom" zhromaždení,
ak letia blízko seba krídlo na krídle. Pilot vtedy nevníma okolie je sústredený na svojho predchodcu a je úplne
závislý na ňom. Ak jeho predchodca urobí istý manéver, tak ho nasleduje a snaží sa udržať bezpečnú
vzdialenosť.
|
|
Kontakt: Marek Bundzel |