Przyświecające nam cele - Jakubas Piotr

advertisement
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
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
KONSTRUKCJA PROGRAMU
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
Stoi
Ucieka
Walczy
Duch
Śpi
Siedzi
Poruszanie się
• Algorytm przemieszczania odporny na
„zacinanie się” Agentów.
• Dyskretyzacja przestrzeni w której
znajdują się agenci
ALGORYTMY
Algorytm 1 - śledzenie
• Wybieramy jednego z sąsiadów i staramy
się do niego podejść.
Algorytm 1 – śledzenie
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 2 – tłum
Algorytm 3 - ewakuacja
• Staram się przemieszczać w kierunku
wyjścia.
Algorytm 3 - ewakuacja
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 )
Algorytm 4 - walka
Algorytm 4 - walka
PODSUMOWANIE
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
Pytania
Download