IT_418 Programování pro pokročile
Simulace a objektový přístup
Mravenci hledající potravu

V tomto prohlížeči nelze applet spustit.

Tento applet znázorňuje jednoduchou simulaci s mravenci (agenty), kteří mají za úkol nalézt, a potom přinést potravu do mraveniště.

Od okamžiku opuštění mraveniště za sebou zanechává mravenec feromonovou stopu o intenzitě odpovídající počtu kroků od mraveniště. Čím více kroků se mravenec od mraveniště vzdálil, tím je zelená barva méně syté až se úplně ztratí.

Nalezne-li mravenec potravu, začne zanechávat feromovou stopu informující o počtu kroků od potravy. Ta je znázorněna červenou barvu a opět s klesající sytostí se vzdáleností od potravy. Od tohoto okamžiku se mravenec navíc snaží jít vždy směrem, ve kterém je nejvyšší intenzita feromonu vzdálenosti od mraveniště (sytější zelená). Využívá tak informace, kterou na políčku zanechali mravenci vycházející z mraveniště. Všichni mravenci hledající potravu naopak využívají informaci o její vzdálenosti, kterou zanechává mravenec vracející se do mraveniště a snaží se jít vždy směrem vyšší intenzity. V případě, že není k dispozici feromonová stopa, je pohyb mravenců náhodný.

Počet kroků, po které za sebou zanechává mravenec feromonovou stopu obojího typu, se nastavuje parametrem "Délka stopy". Intensita, se kterou je upravena informace na daném políčku, se nastavuje paremetrem "Intensita stopy" v procentech. Nová hodnota hladiny feromonu na políčku je dána jako w*mravenec+(1-w)*puvodni_hladina, kde w je parametr intensita stopy. V případě, že hladina feromonu na políčku je vyšší než hladina, kterou by mravenec zanechal na políčku podle počtu kroků od mraveniště, aktualizuje naopak mravenec svoji informaci o vzdálenosti mraveniště podle hladiny feromonomu na políčku.

Při každém kroku času je snížena hladina feromonu na každém políčku o hodnotu danou jako u*puvodni_hladina, kde u je parametr "Úbytek stopy", který se zadává také v procentech.

Žádná další "inteligence" není mravencům implementována. Přesto se při dostatečném počtu mravenců, délce stopy a její intenzitě po čase vytvoří sub-optimální cesta spojující mraveniště s potravou, po které začnou chodit všichni mravenci.

Legenda:
Mraveniste
Potrava
Mravenec hledající potravu
Mravenec nesoucí potravu a hledající mraveniště