Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Začiatok - predletci
Časticové systémy
Aktor a distribuovaný systém
Behaviorálna animácia
Geometrické lietanie
Zhromažďovanie
Simulované vnímanie
Simulované stádo
Prirodzené kŕdle, húfy a stáda
Skriptovaný kŕdeľ



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


Simulované stádo

Simulované stádo

Na 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".

Hore
Kontakt: Marek Bundzel