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.