SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
ZAVOD ZA ELEKTRONIKU, MIKROELEKTRONIKU, RAČUNALNE I INTELIGENTNE SUSTAVE
Projekt iz programske potpore
Simulacija umjetnog života
Mario Halambek
Sandi Fatić
Voditelj: prof. dr. sc. Marin Golub
Siječanj, 2015.
Sažetak
Nadogradili smo postojeći projekt kolege Zvonimira Frasa. U njegov projekt “Simulacija umjetnog života” ugradili smo simetričnu neuronsku mrežu kako bi demonstrirali napredniji način donošenja odluka za naša umjetna bića. Cilj projekta je demonstrirati donošenje odluka u viših životinja.
Život koji je potrebno simulirati odvija se u fizičkom svijetu, koji se ponaša prema
ograničenjima i pravilima koja poznajemo. Osim fizičkih pravila, potrebno je modelirati i živa
bića koja žive u tom svijetu, njihove nagone i način ponašanja. Na kraju, potrebno je sve
uklopiti u sustav koji možemo nadzirati i vidjeti grafički prikazan.
U okviru implementiranog računalnog programa, umjetni život odvija se u
dvodimenzionalnom prostoru bez prisutne gravitacije kojeg nazivamo svijet. Možemo ga
zamisliti kao svijet kojeg promatramo pod mikroskopom između stakalca, s razlikom da se
veličina bića koja žive u njemu, mjeri u metrima.
Imamo tri osnovne vrste bića: biljke, biljojede i mesojede.
Biljke su predstavljene zelenim osmerokutima.
Biljojedi se hrane biljkama. U simulaciji su predstavljeni plavim kvadratima.
Mesojedi su prikazani crvenom bojom, koja predstavlja opasnost, i u obliku trokuta. Mesojedi se hrane biljojedima.
Neuronska mreža je stavljena samo unutar predatora I biljojeda jer biljke nemaju mogućnost odlučivanja.
Neuronska mreža je izmodelirana sa promijenjivom konfiguracijom.U svrhu testiranja implementacije na ulaze su stavljene udaljenosti do najbliže hrane i partnera za razmnožavanje.
Izlazom neuronske mreže se odlučuje da li će jedinka ići do najbližeg partnera za razmožavanje ili hrane.
Literatura
- [1] Zvonimir Fras, Simulacija umjetnog života, Fakultet Elektrotehnike i računarstva, Zagreb, 2014
- [2] Neuronske mreže, dostupno na adresi: http://en.wikipedia.org/wiki/Artificial_neural_network
- [3] Dokumentacija Qt okosnice, dostupno na adresi : http://doc.qt.io/
- [4] Instrukcijski priručnik, dostupno na adresi: http://www.ai-junkie.com/ann/evolved/nnt1.html
- [5] Box2D instrukcijski priručnik, dostupno na adresi: http://box2d.org/manual.pdf/
- [6] OpenGL instrukcijski priručnik, dostupno na adresi: https://www.opengl.org/documentation/