Prírodou inšpirované algoritmy

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

Späť ku kurzom triedy
Obsah
Úvod
Typy umelých rýb
Model ryby
Galéria
Literatúra a linky
O tejto kapitole



Ostatné kapitoly
Umelé ryby
Umelé mravce
GeNeSiS


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


Typy umelých rýb

Autori implementovali tri typy umelých rýb. Sú to vlastne špeciálne prípady správania sa umelej ryby.

Ryby, ktoré lovia - dravci

Upravená všeobecná schéma generátora správanie pre tento typ ryby je na nasledujúcom obrázku:.

Schema - loviacich ryb

Pre jednoduchosť autori zjednodušili tento model ryby tým, že vypustili napádanie dravcov inými dravcami. Ďalej nepoužili únik, zoskupovanie sa a párenie. Pretože dravci krúžia po okolí, bolo odstránené aj opustenie miesta.

Ryby, ktoré sú lovené

Schéma generátora správania pre tento typ ryby je rovnaká ako všeobecná schéma správania. Jej blok "Generuj nové správanie podľa mentálneho stavu a zvykov" má nasledovný tvar:

Zaujímavým blokom v tejto schéme je zoskupovanie sa. Je to komplexné správanie sa, kde všetky ryby vo všeobecnosti plávajú rovnakým smerom. Každá ryba konštantne prispôsobuje svoju rýchlosť a smer ostatným v zhluku. Udržiavajú si medzi sebou konštantnú vzdialenosť. Každá ryba v zhluku žije autonómne a takéto správanie je dosiahnuté pomocou vnímania senzormi a pohyblivosťou. GS zabraňuje plávať rybám v skupine príliš blízko seba pre časté volanie zámeru vyhnutie sa rybe. Pre vytvorenie kompaktnejšej skupiny sa preto zníži región detekcie kolízie, práve vtedy ak sa zoskupia do formácie. Princíp zoskupovania sa je znázornený na nasledujúcej schéme:

Ryby, ktoré sa pária

Generátor správania tohto typu sa líši od predchádzajúceho tým, že správanie páriť sa je aktivované a únik a zoskupenie sú deaktivované. Párenie je implementované ako súhrn štyroch rutín:

  • pohyb v cykle (looping) - samec cyklicky pláva hore a dole nad a pred samičkou
  • krúženie (circling) - samec a samička okolo seba krúžia, akoby jeden druhému chytali chvosty
  • otieranie sa (nuzzling) - samec pripláva zdola ku samičke a dráždi jej brucho, pokiaľ nie je pripravená púštať ikry
  • vypúšťanie ikier (spawning ascent) - samotné neresenie

Ryba samec si vyberá partnera nasledovne: samička svojho druhu je atraktívnejšia ako samica iného druhu, a bližšia samička je atraktívnejšia ako vzdialenejšia. Samička si vyberá partnera jednoduchšie - prihliada na veľkosť (silnejší, lepšie brániaci) radšej ako na vzdialenosť.

Hore
Kontakt: Marek Bundzel