Skip to body

CWU Faculty Websites

CWU Chess: A Distributed Adaptive Chess Program


Computer Science Department

Razvan Andonie, Ph.D. (mentor)

CWU Alumni

Ashur Odah (graduated 2004), Pushpinder Heer (graduated 2004), Joseph Lemnley (graduated 2006), Jonathan Widger (graduated 2006), Berk Erkul (graduated 2007), Lukas Magill (graduated 2008), Kyle Littlefield (graduated 2009).

External Collaborator

Michael Diosi (Germany), one of the ARENA developers. Thanks Michael for introducing us to ARENA and for your continuous support!

Publications and Presentations

Lemley, J., Andonie, R., Odah, A., Heer, P., Widger, J., Erkul, B., Magill, L., Littlefield, K. CWU-Chess: An Adaptive Chess Program that Improves After Each Game, Proceedings of the IEEE Games, Entertainment, Media Conference (GEM), August 15-17, 2018, Galway, Ireland, 86-89.

Kyle Littlefield, Razvan Andonie. Integrating CWU Chess in the ARENA Chess GUI, Symposium on University Research and Creative Expression (SOURCE 2009), Ellensburg, May 21, 2009.

Lukas Magill, Joseph Lemley, Jonathan Widger, Berk Erkul, Razvan Andonie. Fuzzy ARTMAP for Chess Artificial Iintelligence, Symposium on University Research and Creative Expression (SOURCE 2006), Ellensburg, May 18, 2006.
Joseph Lemley, Jonathan Widger, Razvan Andonie. An Adaptive Chess Program Distributed Over A Network of Workstations, Symposium on University Research and Creative Expression (SOURCE 2005), Ellensburg, May 19, 2005 - Outstanding Undergraduate Student Oral Presentations Award.
Ashur Odah, Pushpinder Heer, Joe Lemley, Razvan Andonie. CWU-Chess - An Adaptive Chess Program, Student Poster Session of the Sixth Annual Northwestern Regional Conference of the Consortium for Computing Sciences in Colleges, Willamette University, Salem, Oregon, October 8 & 9, 2004.


Writing a chess program is a notoriously difficult task. Our solution is to develop an adaptive distributed program that uses a genetic algorithm in combination with a neural network that can learn after each game it plays. The entire genetic algorithm/neural network component is part of the evaluation function used to rank each board. Given a board configuration, ten attributes are evaluated each of which is used as the input to the neural network. The weights of the neural network are optimized on a computer network, using a distributed genetic algorithm. Each time the evaluation function is called, the neural network calculates the value for a given board configuration which will then be used in a recursive search algorithm that uses Alpha-Beta pruning. The weights are adjusted at the end of the game based on its outcome. Work on parallelizing the alpha beta function to achieve greater search depths is partially complete. Our final goal is a fully distributed chess program which learns after each game it plays and analyzes in parallel strategies. CWU-Chess is integrated in the ARENA GUI. Approx. 250 chess engines run under Arena.

The free and publicly available UCI and Winboard protocols are used for the communication between CWU-Chess and Arena GUI. CWU-Chess can play against any of the Arena supported engines, against itself, and against a human partner.

Originally a final project in the CS457 Computational Intelligence course by Ashur Odah, Pushpinder Heer, and Joe Lemley, the CWU Chess program has turned in to a tradition for emerging research students.


Take the Next Step to Becoming a Wildcat.