background image

Propozycje tematów projektowych – zadania symulacyjne 
 
1. Gra w życie (gra symulacyjna): W czasopiśmie Scientific American z lutego 1971 opisano 

następującą symulację: 

W czasie t pole żyje, jeżeli albo 
a.  było puste w czasie t-1 i żyły dokładnie trzy pola sąsiednie albo 
b.  żyło w czasie t-1 i żyły dwa lub trzy pola sąsiednie. W pozostałych przypadkach pole jest puste.  
Sąsiedztwo pola stanowi osiem pól otaczających którekolwiek pole wewnętrzne: 

X X X 
X Y X 
X X X 

Pole Y ma osiem pól X w charakterze sąsiadów. Jest to wzorcowa symulacja na szachownicy. Jest 
ważne, by jak najsprawniej obliczać konfigurację każdego cyklu. Zadanie polega na 
zasymulowaniu konfiguracji n 

× n pól (np. n=15). W programie ma być możliwe zadanie żyjących 

początkowo pól, lub wylosowanie i-zadanych pól. 

 
2.  Problem liszaja (gra symulacyjna):  

Zasymuluj zarażenie liszajem stosując tablicę n 

× n  (np.  n = 11)  komórek  skóry.  Rozpocznij  od 

zarażenia  środkowej komórki. Po upływie kolejnej jednostki czasu zarażona komórka ma 50% 
szans zarażenia każdej ze zdrowych sąsiednich komórek. Po sześciu jednostkach czasu zarażona 
komórka staje się na cztery jednostki odporna i następnie zdrowa. Zasymuluj tę chorobę i 
wyświetlaj zawartość tablicy po upływie każdej jednostki czasu ukazując, które z komórek są 
zarażone, odporne lub zdrowe.  

 
3.  Wyspa Wilków (gra symulacyjna): 

Wyspa Wilków to obszar n na n (np. n=20) zamieszkały przez żyjące na wolności króliki, wilki i 
wilczyce. Na początku nieco o reprezentantach każdej z tych grup rozproszonych po wyspie. 
Króliki są raczej głupie: po upływie określonego czasu przenoszą się z równym 
prawdopodobieństwem na jedno z sąsiednich pól (ośmiu, chyba że znajduj się na wybrzeżu). Przez 
1/9 czasu siedzą więc po prostu spokojnie. Każdy królik ma 20% szans przekształcenia się w dwa 
króliki. Każda wilczyca również porusza się losowo, chyba że na jednym z ośmiu sąsiednich pól 
znajduje się królik. Wówczas wilczyca rozpoczyna pościg. Jeżeli znajdzie się na tym samym polu 
co królik, to zjada go i zyskuje jedną porcję tłuszczu; jeżeli nie, to traci 0,1 porcji tłuszczu. Wilki 
pozbawione tłuszczu giną. Każdy wilk zachowuje się tak, jak wilczyca, chyba że w pobliżu nie ma 
królika, natomiast jest wilczyca; wówczas wilk rzuca się w pogoń. Jeżeli wilk i wilczyca znajdują 
się na tym samym polu i nie będzie tam królika do zjedzenia, to produkują potomka o losowej płci. 
Zaprogramuj omówioną symulację ekologiczną i zaobserwuj stan populacji po kilku kolejnych 
okresach.  
Symulacja jest z natury niestabilna (Wyspa Wilków musi stać się pustynią). Dodaj żywopłot 
(obszar niedostępny dla wilków) i zaobserwuj wyniki.  

 
4.  Napisz program symulujący pracę bankomatu 
 
5.  Symulacja hodowli robaków. 

Należy napisać program symulujący  życie jakichś bliżej nieokreślonych stworzeń, które są 
zamknięte na jakimś ograniczonym terenie. Robaki mają się poruszać, jeść, rosnąć, rozmnażać się i 
umierać. Podłoże jest samoodnawialnym źródłem pożywienia. W symulacjach mają być 
uwzględnione następujące parametry (które można zmieniać w dowolnym momencie): 1) ilość 
młodych z jednego lęgu, 2) odporność na głód, czyli możliwość poruszania się po terenie, w którym 
już były inne robaczki lub on sam, a nie zdążyło się zregenerować podłoże, 3) szybkość 
regenerowania podłoża, 4) wielkość maksymalna robaczka do jakiej może urosnąć, 5) średni czas 
produktywność, czyli czasu, w którym może się rozmnażać, 6) średni czas życia, czyli czas życia 
który może przeżyć pod warunkiem, że będzie miał pokarm. Związki pomiędzy poszczególnymi 
parametrami są dobierane przez osobę wykonującą projekt.