CS150 Machine Learning
Spring 2008

Project 1
Adaptive Gomoku Program


In this project, you will, among other things: For this project, you will write a program that plays Gomoku. However, the point is not to do search (as we did in CS010), but rather for the program to learn an evaluation function that will select the best move without search. Chapter 1 of your text describes the design of an adaptive checkers-playing program. You should use that as a guide and implement LMS as your learning method.

You may use whatever programming language you would like. Your implementation should play games against itself (or another version of itself), improving it's performance based on the games that have been played. Thus, you will have to create training instances from the games played, and then modify your program's model based on these training instances.

This is an individual assignment. Appropriate expectations on working together apply. If you search for them, you can find many implementations of Gomoku in many different programming languages. It is not the goal of this exercise to end up with an adaptive Gomoku player; the goal is for you to learn about machine learning through the process. Do not short-change your own learning experience by grabbing an implementation from the web and then making a few changes.