Project Guidelines


·         Group formation 14/11/2011

·         A baseline agent implementation has to be completed until 26/12/2011

·         A design specification document has to be submitted by 10/1/2012, to be presented in class on 22/1/2012

·         The deadline for the final submission is 15/4/2012 (both software and project report)

 Baseline Implementation

The baseline playing agent should implement a GUI for manual (human) playing. The baseline agent will be submitted as follows:

1.      Java source of a class implementing the FourInARow Interface (as illustrated in the Architecture section) and any other software used to implement the baseline agent, accompanied with build instructions. Note: non-Java portions of the implementation are allowed, as long as built using a freely available toolset and accompanied with detailed build instructions. 

2.      Executable playing agent (jar), accompanied with execution instructions.   

Design specification document

The design specification document should describe the planned implementation of the agent. Specifically, the following should be detailed:

1.      Learning method:  algorithm to be used (Q-Learning, MinMax, etc') and related mechanisms/data structures.

2.   The game representation - The features intended to be used.

3.      Training/Bootstrapping: The method used to initialize the system, initial opponent, data to be collected, etc'.

4.      High level architecture: main classes, interfaces and relations. 

5.   Infrastructure: for debugging and testing 


The design specification will be presented in class (see milestones above). It is expected that the above will evolve throughout the implementation. A refined updated design document is required as part of the final submission.  

             Final Submission

The complete project should contain the software, the updated design specification reflecting the actual implementation, andthe project report. The software should have a graphical interface and a learningprogram.  The code itself must be welldocumented. Clearly the software should be in the API provided. The projectreport, which will be an html document, will include the following:

1)    Abrief introduction and an overview of the project.

2)    Adetailed explanation regarding the learning algorithms used and the gamerepresentation chosen (including reasoning, explaining and motivating yourdecisions).

3)    Adetailed explanation regarding of methods that were unsuccessful (if any).

4)    Descriptionof the training process.

5)    Relatedbackground (If there is one) 


             The Grade Structure

The grade will be composed from all your activities during the workshop, and will include, but not limited to, the following:

·         The quality of the program: should be at least reasonable! extra points for high performance!

·         Milestones - quality and timely submissions.

·         The ideas and the testing that were tried.

·         An overall impression of the project and the project report.

·         We will hold a competition between the projects!!!