HOME Now About me photography blog travel log

Intelligent agents

Project: Intelligent agents in Tileworld

NTU in Singapore, 2014

Abstract: The report describes our solution to the semestral project for CZ4046. We applied genetic programming (GP) to optimize behavior of agents in Tileworld, a multi-agent test-bead. The two resulting agents achieved on average scores 59, 726, and 19 when deployed in the reference configurations one, two, and three respectively.

Download report: [PDF] (Updated: corrected a historical inaccuracy about GP and several grammatical mistakes)


Appendinx explaining the approach of GP:

Runs of the agents: 

(if you had some spare time and was really really bored  you can watch the full runs, it takes "only" 5 minutes :-) )

Group presentation:


Source codes: [ZIP] 

--> The Java project is separated into two parts: GP files and Tileworld files. GP mainly consists from the EpochX framework. Both parts are connected by classes in the package tileworld. Class modelGeneticEvolution describes grammar, initializes EpochX, and implements method to retrieve fitness of program (=connects EpochX to Tileworld). Class Test is used to evolve the programs. Further, class Test2 generates statistics about the program (how it performs in distinct environments, sensitivity analysis).

[I apologize, I tried to clean the source codes and prepare javadoc but some parts still might be very messy.]