CSE 401: Final Project


Spring 2006




Usman Hassan


Faculty Advisor: Lawrence Saul





This report presents IntelliChess, a chess engine that learns to play from the final outcome of games. IntelliChess learns chessboard evaluation functions to compare different boards and based on its experience make the best move. IntelliChess uses temporal differencing to use rewards at the end of the game and to learn a value function for the different board positions encountered during the game.

Chess is a complex game. Each turn taken by a player can actually have hundreds of variations. There are multiple agents with different rules governing their usage and the problem involves knowing to select the one which results in the best outcome. The complexity of the problem is enhanced by the fact that the actual outcome/feedback is not clear-cut and in a sense is not known until the end of the game. Also the outcomes and rewards depend not only on the intelligent players own decisions but also on the opponents play. IntelliChess uses a reinforcement learning approach to develop its intelligence for playing the best chess moves.