Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
Simulované stádoSimulované stádoNa vytvorenie boidu sa dá použiť geometrické lietanie s dodaním vlastností ,
ktoré zodpovedajú odpudivým silám pri kolízii a súria pripojenie sa ku kŕdľu. Uvedené pravidlá sú v poradí s
klesajúcou prioritou:
- Collision Avoidance : vyhnutie sa kolízii s najbližšími vtákmi,
- Velocity Matching:
pokús sa vyrovnať sa rýchlosťou s okolitými vtákmi,
- Flock Centering: pokús o zotrvanie v blízkosti
okolitých vtákov.
Ide v podstate o obdobné pravidlá aké navrhol Reynolds.
Rýchlosť je definovaná vektorom, ktorý zodpovedá kombinácii smerovania a rýchlosti. Pravidlo, že výsledná rýchlosť
je uvažovaná vzhľadom k ostatným boidom v okolí, je kľúčovým prvkom pri vytváraní boidov.
Pravidlá vyhnutie sa kolízii a dynamické prispôsobenie rýchlosti sú komplementárne a spôsobujú to, že sa vtáky
pohybujú rovnomerne, aj keď je ich veľa a sú husto vedľa seba.
Pri vyhýbaní sa statickému objektu sa neuvažuje rýchlosť, ale berie sa len poloha. Naproti tomu prispôsobenie
rýchlosti je nezávislé od polohy, ale závisí od rýchlosti boidu. Centrovanie boidu vytvára taký dojem, akoby vtáci
chceli byť spolu.
Keďže vták má obmedzenú viditeľnosť, centruje sa len podľa svojho najbližšieho okolia. Centrovanie ďalej spôsobuje
to, že sa boid pohybuje ako celok v určitom smere.
Ak je vták veľmi hlboko v kŕdli, tak jeho okolie je zhruba homogénne a hustota je vo všetkých smeroch
približne rovnaká. V tomto prípade sa centrum okolitých boidov a centrum kŕdľa zhoduje, a preto je požiadavka na
centrovanie znížená.
Ak sa boid pohybuje na okraji kŕdľa , tak je aj okolie boidu na tejto strane. V tomto prípade sa zvyšuje požiadavka
na centrovanie kŕdľa, a zároveň nastane zmena dráhy letu, ktorá je vyvolaná centrovaním boidu.
Reálny kŕdeľ sa niekedy rozdelí a lieta osamotene. Aby sa zvýšila realistickosť simulácie, musí sa do simulácie
zahrnúť aj táto vlastnosť. Centrovanie kŕdľa povoľuje rozdelenie kŕdľa.
Individuálny boid zotrváva v blízkosti okolitých boidov, ale zároveň sa nestará o to čo robia
ostatní, či odlietajú iným smerom. To sa dá realizovať zoslabením úlohy centrovania, pokiaľ sa kŕdeľ nerozdelí a
potom mieru centrovania vrátiť späť. Jednoduchšie modely rozdelenie kŕdľa neumožňujú (model centrálnej sily alebo
model sledovania vodcu).
Tento model kŕdľa paradoxne lepšie vystihuje správanie sa húfu rýb v mútnej vode, resp. stáda zvierat, než let
vtákov, pretože ryby majú viac obmedzené vnímanie okolia. Naproti tomu vtáky a hlavne tie, ktoré sú na okraji kŕdľa, majú vynikajúce diaľkové vnímanie okolia, preto sa napr. môžu dva kŕdle boidov skôr spojiť do jedného celku, než dva húfy
rýb.
Ak je centrovanie kŕdľa obmedzené a vzdialenosť boidov je dostatočná, začnú sa navzájom ignorovať. Videnie do diaľky
zohráva veľkú úlohu pri spájaní sa kŕdľov boidov a vytvorení efektu šírenia sa vlny cez kŕdeľ. Takáto vlna je
trikrát rýchlejšia ako zrýchlenie vyplašeného vtáka. Vysvetlenie efektu pochádza od (Potts, 1984): vtáky vnímajú
pohyb blížiacej sa vlny a snažia sa dosiahnuť túto rýchlosť. Potts to nazval hypotézou "zborovej
krivky".
|
|
Kontakt: Marek Bundzel |