/GP_Final

Final Project for Genetic Programming

GP_Final

Final Project for Genetic Programming

Project Proposal: 3D Tic-Tac-Toe Player

The final goal of our project will be to develop a strong player of tic-tac-toe in a 3x3x3 game. We will solve this problem by setting our function set to a series of rules which the tic-tac-toe player must abide by, which should produce only valid moves. Additionally we will need to build a terminal set which will most likely include the positions of the grid as well as player information. In order to implement the tic tac toe game, we will need to construct a module that will allow the player to play tic-tac-toe on. The tic-tac-toe game will be represented using triple nested vectors. We hope to be able to have the player programs play each other, implementing a tournament type style of selection. To improve this selection, we plan to implement a lexicase selection. Our evolution implementations will most likely be the same to mutate and crossover, but we plan to add additional types of mutations and crossovers, such as hoist mutation. The fitness evaluation will include if moves the player makes are valid moves. The biggest issue we predict to run into is developing the function set. We will have to determine which rules we will want to implement and if they are implementable within a Clojure namespace. We may also have difficulty in controlling bloat, as we do not want to develop massive programs.