Prírodou inšpirované algoritmy
študijné materiály pre projekt mobilnej triedy umelej inteligencie
|
|
Applet
Tento applet je postavený na vláknach - každý jedinec je jedno vlákno. Súčasná voľba veľkého počtu jedincov a vysokej rýchlosti môže spôsobiť trhaný, nepravidelný pohyb a v tom prípade treba jednu z hodnôt znížiť (je to spôsobené tým, že časová zložitosť s počtom jedincov kvadraticky narastá). Rýchlosť letu jedincov závisí od výkonu počítača, na ktorom applet beží.
Ovládanie Appletu:
-
Maximálna rýchlosť:
Ovládanie maximálnej rýchlosti jedincov od 1 do 20.
-
Počet jedincov:
Ovládanie počtu jedincov od 1 do 50.
-
Model prostredia:
Možnosť voľby prostredia medzi toroidom (keď jedinec príde na koniec zobrazovacej plochy vyjde z druhej strany) a ohraničenou plochou(pri náraze sa jedinec mierne spomalí a otočí sa v náhodnom smere). Použitím voľby Ohraničený sa dosiahne reálnejšia simulácia.
-
Model vnímania:
Nastavenie zón v ktorých reaguje jedinec na jednotlivé podnety(a ich váhy pri celkovom výpočte smeru jedinca pri pohybe) a možnosť zobrazenia ako ich vníma.:
-
1. pravidlo:
Odstup - diskrétna zóna, do ktorej si jedinec nepustí ostatných jedincov. Algoritmická realizácia je urobená tým spôsobom, že ak nájde jedinec v zvolenom okolí "cudzích" jedincov snaží sa pohnúť v smere opačnom od ich centra. Rozumná hodnota veľkosti zóny pre toto pravidlo je od 5 do 50.
-
2. pravidlo:
Súdržnosť - svoju rýchlosť a smer pohybu určuje podľa najbližších jedincov. Smer a rýchlosť sú vypočítavané ako priemerná hodnota smeru a rýchlosti "cudzích" jedincov v zvolenom okolí pre toto pravidlo. Rozumná hodnota veľkosti zóny pre toto pravidlo je od 20 do 100.
-
3. pravidlo:
Zhlukovanie - udržuje sa čo najbližšie k centru (ťažisku) svojho okolia. Z postavenia jednotlivých "cudzích" jedincov sa v zvolenom okolí jedinca vypočíta centrum, a jedinec sa ho snaží dosiahnuť rýchlosťou, ktorú ma nastavenú ako maximálnu. Rozumná hodnota veľkosti zóny pre toto pravidlo je od 30 do 150.
Tieto pravidlá prispievajú k novému smeru jedinca podľa váhy, ktorú majú nastavenú. Pri nastavení váhy niektorého pravidla na 0 sa toto pravidlo nebude pri pohybe jedincov brať do úvahy (a naopak ak niektoré pravidlo bude mať oproti ostatným pravidlám veľkú váhu, tak bude dominantné). Priorita pravidiel by mala byt najväčšia pre 1. pravidlo nižšia pre 2. pravidlo a najnižšia pre 3. pravidlo, preto aj váhy jednotlivých pravidiel by mali byt také aby 1. pravidlo ju malo najväčšiu (rozumná hodnota váh je v rozmedzí od 0 do 15). Pre názornejší popis pravidiel pozri kapitolu Modelovanie pohybu kŕdľa.
-
Viditeľnosť prekážky:
Na akú vzdialenosť je jedinec schopný rozoznať prekážku a snaží sa jej vyhnúť. Vyhýbania sa prekážkam je riešené tým spôsobom že jedinec sa otočí tým smerom, v ktorom mu prekážka nebude brániť v lete (dotyčnica ku prekážke tak aby prechádzala jedincom). Ak sa jedinec nestihne prekážke vyhnúť a narazí do nej, tak postupným odrážaním sa od prekážky sa snaží nájsť "únikovú cestu". Rozumná hodnota veľkosti zóny pre toto pravidlo je od 40 do 200.
-
Zorný uhol:
Akú schopnosť má jedinec vnímať svoje okolie zrakovým orgánom. Udáva sa pre jeden zrakový orgán (jedinec vníma dvojnásobný zorný uhol pretože má dva zrakové orgány). Zmenou zorného uhla je možné meniť útvar, do ktorého sa jedinci budú zhlukovať (Čím menší bude uhol, tým konečný útvar bude rozťahanejší v smere pohybu. A čím väčší tým bude usporiadanie jedincov do jednej "kopy".). Veľkosť zorného uhla má zmysel nastavovať od 10 do 180.
Zaškrtnutím jednotlivých parametrov vnímania budú jedinci zobrazovať ako vyzerá vnímanie danej zóny (1. pravidlo - červená farba, 2. pravidlo - zelená farba, 3. pravidlo – modrá farba, viditeľnosť prekážok – hnedá farba).
-
Štandardné nastavenia:
Nastaví predvolené hodnoty prostredia a jednotlivých jedincov.
-
Prekážka:
Vloženie prekážky kliknutím ľavého tlačidla myši na plochu. Zmena veľkosti prekážky sa robí pomocou metódy drag and drop pravým tlačidlom (Stlačíme tlačidlo Prekážka. Prejdeme na zobrazovaciu plochu a tam po stlačení pravého tlačidla a pohybovaním myši zvolíme požadovanú veľkosť prekážky. Po pustení tlačidla môžeme s prekážku posúvať po ploche.).
-
Pauza:
Zastavenie letu jedincov (názov tlačidla sa zmení z Pauza na Pokračovať). Opätovným stlačením tlačidla sa pohyb jedincov obnoví.
-
Reštart:
Odstránenie prekážok z plochy a náhodné rozmiestnenie a nasmerovanie jedincov.
|
|
Kontakt: Marek Bundzel |