SimOrgs Project

na podstawie artykułu : "Habitat, Communications and Cooperative Strategies" Kyle Wagner


Aby uruchomić nową symulacje należy przycinąć przecisk "Start new simulation" :


Obsługa programu

Aby bezpośrednio przejść do wykonania symulacji należy nacisnąć "Start". Wykona się wówczas symulacja dla przykładowych danych (średnia ilość zasobów oraz mała liczba osobników). Zmianę konfiguracji wykonuje się wybierając z menu "Actions" okno dialogowe "Configuration". W czasie symulacji można włączyć wizualizację naciskając klawisz "Effects". Dostępne są dwa rodzaje statystyk (w menu "Actions") : wizualizacja procentowych udziałów poszczególnych komórek mózgów dla poszczególnych generacji, oraz uśredniane (względem wszystkich generacji) parametry symulacji. Jeli symulacja daje ciekawe wyniki warto zapisać parametr "seed" z menu konfiguracji, który można później wpisać do pola (nie zaznaczając checkboxa "random seed") dla powtódem wszystkich generacji)

W głównym oknie symulacji można obejrzeć "świat orgów". Orgi są reprezentowane przez białe kropki, może ich być maksymalnie 3 w kratce. Kratki znajdujące się w różnych odcieniach czerwieni oznaczają obecność zasobu. Każdy zasób może trwać maksymalnie 6 iteracji i jest konsumowany przez minimum dwa orgi znajdujące się w jednej kratce. W kolorze seledynowym roztaczającym się w odległości dwóch kratek od niektórych orgów, oznaczone jest sygnalizowanie.

Rezultaty

Rezultaty symulacji potrafią być dość zróżnicowane. Aby uzyskać konkretne rezultaty należy wykonać przynajmniej dziesięć symulacji dla konkretnej konfiguracji, a potem dane te uśrednić. Według artykułu Kyle Wagner [1], warto przeprowadzić symulacji w zależności od różnej gęstości populacji oraz zasobów a także przy włączonym i wyłączonym sygnalizowaniu. Te testy mają na celu dowieść w jakich warunkach populacja wykształci sygnalizowanie a w jakich nie. 

Zastosowany algorytm genetyczny

Najpierw jest wykonywana mutacja, polegająca na losowej zmianie zawartości mózgu poszczególnych orgów, według artykułu [1], z prawdopodobieństwem 0.003 - co można zmienić w oknie konfiguracji programu. Następnie zgodnie z funkcją oceny znajdowana jest para orgów i dokonywane jest ich krzyżowanie. Nowo powstałe orgi zastępują miejsca swoich rodziców. Funkcja oceny polega na porównaniu siły dwóch orgów. Zawsze krzyżowane są te orgi które ze wszystkich pozostałych w populacji mają największą siłę (czyli skonsumowały najwięcej zasobów).

[1] "Habitat, Communications and Cooperative Strategies" Kyle Wagner, http://www.cs.umd.edu/users/elyk/Research/CoopEvol/coop-evol.html


© 2003 Marcin Jędrzejewski, Michał Kabata, Darek Malczewski