integrating cwu chess in the arena chess gui kyle littlefield - cs department advisor: razvan...

14
ADAPTIVE CHESS PROGRAM Integrating CWU Chess in the ARENA Chess GUI Kyle Littlefield - CS Department Advisor: Razvan Andonie 1 Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

Upload: whitney-andrews

Post on 16-Dec-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

1

ADAPTIVE CHESS PROGRAM

Integrating CWU Chess in the ARENA Chess GUI

Kyle Littlefield - CS Department

Advisor: Razvan Andonie

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

2

Program Collaborators

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 (currently enrolled)

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

3

The CWU Chess Program

Genetic Algorithm trains 10 separate weights used in the neural network.

Increases in skill level per set of 10 games.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

4

What is a Neural Network?

It Starts with the basic unit called a Neuron

Takes continuous input from an external source

Projects output based on the sum of the inputs and threshold of the neuron.

A neural network is excellent at classifying an input to an output.

Outputs the “learned” result from the acquired input.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

5

Criteria used by Neural Network

Carrascal, A, Manrique, D, & Rios, J Neural networks evolutionary learning in chess game.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

6

What is a Genetic Algorithm? Uses a population of

chromosomes

Each chromosome represents an individual.

Has a fitness value representinghow well it survives in this world

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

7

The Goal…

To optimize the population Find the individuals with the highest fitness.Avoid getting caught in a local optima

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

8

The CWU Chess Program

Genetic Algorithm trains 10 separate weights used in the neural network.

Increases in skill level per set of 10 games.

Neural Network controls the behavior of an Alpha-Beta Search algorithm.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

9

What is an Alpha-Beta Search?

A search algorithmSeeks to reduce the number of nodes

evaluated in a search tree.

8

8

8 5 2 9

1

0 1

198

Cut Off Region

Node being Examined

No need to evaluate the left branch of the examined node. The value will be 1 or less. The root will be 8.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

10

CWU Chess Program Running

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

11

The Problem

The CWU-Chess program used a Windows Form for a User Interface. This didn’t allow for communications with

other chess interfaces or engines.

The Universal Chess Interface (UCI) Protocol allowed this to happen.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

12

The UCI Protocol

Uses the console to communicate between the User Interface and the Chess Engine.

Communication is performed by sending and receiving textual information.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

13

Implementation

Remove the Windows Form Interface and all dependencies to it.

Parse UCI Commands and parameters. Use them to control the engine.

Redesign Genetic Algorithm fitness function and network parameters.

Redesign Genetic Algorithm fitness function and network parameters.

Symposium On University Research and Creative Expression (SOURCE2009), Central Washington University, Ellensburg, USA, May 21st 2009

14

UCI Chess Running On ARENA