250 likes | 379 Views
Multiagent Simulator. Ogólny symulator multiagentowy do modelowania zachowań tłumu. Piotr Jakubas Artur Kosztyła Koło Naukowe „ Glider ” Kraków, 14.05.2009. Plan wykładu. Przyświecające nam cele Konstrukcja programu Algorytmy Podsumowanie. PRZYŚWIECAJĄCE NAM CELE.
E N D
Multiagent Simulator Ogólny symulator multiagentowy do modelowania zachowań tłumu Piotr Jakubas Artur KosztyłaKoło Naukowe „Glider”Kraków, 14.05.2009
Plan wykładu • Przyświecające nam cele • Konstrukcja programu • Algorytmy • Podsumowanie
Przyświecające nam cele Inspiracja – czyli „how hard can it be”
Przyświecające nam cele • Uniwersalne narzędzie • Proste metody umożliwiające konstruowanie złożonych zachowań • Badania socjologiczne
Wizualizacja • Java3D • Przestrzenni, wymienni agenci • Wielopoziomowy teren • Model MVC - wizualizacja odłączona od obliczeń • Możliwość zmiany metody wyświetlania • W planach możliwość renderowania w narzędziach zewnętrznych
Dwa słowa o Agentach • Cechy: • „inteligencja” , podejmowanie decyzji • Cel • Zasięg widzenia • Zasięg walki • Wielkość obrażeń • Ilość życia • Kolor • Pamięć • Stan
Diagram stanów • Rozróżniane stany: Idzie Ucieka Stoi Walczy Duch Śpi Siedzi
Poruszanie się • Algorytm przemieszczania odporny na „zacinanie się” Agentów. • Dyskretyzacja przestrzeni w której znajdują się agenci
Algorytm 1 - śledzenie • Wybieramy jednego z sąsiadów i staramy się do niego podejść.
Algorytm 2 - tłum • Sprawdzamy ilu Agentów w moim otoczeniu jest w tej samej drużynie, na tej podstawie decydujemy o ucieczce lub ataku.
Algorytm 3 - ewakuacja • Staram się przemieszczać w kierunku wyjścia.
Algorytm 4 - walka • Jeżeli jestem w stanie „atakuj” i w zasięgu mojej broni znajduje się przeciwnik to zaczynam zadawać obrażenia. • Możliwość zróżnicowania jednostek: • Wielkość obrażeń ( rodzaj broni ) • Zasięg ( łucznicy i piechurzy ) • Ilość życia ( rodzaj zbroi )
Podsumowanie • Prosty i łatwy w obsłudze symulator • Duża konfigurowalność • Szerokie spektrum zastosowań • Wbudowane podstawowe funkcje takie jak: • Chodzenie po ziemi • Przemieszczanie się • Znajdywanie sąsiadów