Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms


THE DISTRIBUTED CHESS PROJECT

Creating Chess-Playing Artificial Neural Networks with Distributed Evolutionary Algorithms


Download | Client Doc | The Project | Results & Stats | Links | Feedback | The Press | Bugs | Home


Documentation on the Handling of the Chess Saver 2.0 Client

In the following the features of Chess Saver 2.0 will be explained by means of screen shots of the main user dialogs. This is what you will normally see in the lower right corner of the screen - the so called system tray - when the Chess Saver client is running on your computer:

The left icon (little blue monitor) indicates the presence of the optional Hot Corner utility provided by Lucian Wischik. This program allows to temporarily disable or to activate the screen saver by moving the mouse pointer in the appropriate corner of the screen.

Located in the middle is the 'progress meter'. It shows the percentage of the current task yet to do (57% in the example). In terms of generations, this means for instance that of 2000 total generations 860 are finished with 1140 still to go.

Finally, on the right hand side is the Chess Saver icon. When you double click it, the Chess Saver control pad pops up:

(Click on thumb to enlarge)

The control pad is pretty much self-explanatory. As far as options are concerned, you can choose whether the client is to connect automatically to the internet or not, whether it should run permanently on a minimal priority or only simultaneously to a screen saver, and whether you want to modify the default parameters for the genetic algorithm and the neural nets at the beginning of a new task (see below for further explanation).

It might be necessary for you to enter information specifying a proxy server before you can connect to the internet. Please contact your system administrator to get the necessary data if that is the case. Usually you'll even be fine leaving the proxy input fields blank, except in those cases where the proxy server requires authentication before it allows you to pass.

You can pick a back up interval for the population ranging from 1 to 15 minutes.

It is possible to run any screen saver you like and it can be located anywhere on your computer. The screen saver, you enter will be used by the screen saver multiplexer. The PGN-file that is to be used by the screen saver, must be in the installation directory specified by you at installation time.

When you click the button 'Show Task Status', the following window will appear:

(Click on thumb to enlarge)

It provides in real time according to the back up interval some key information on the state of affairs with the running genetic algorithm. There is the current generation and the cumulated computation time. The parameter 'population diversity' is to be interpreted long the following lines: 0% diversity means that all members of the population are absolutely identical, whereas 100% diversity means that all members of the population differ from each other in at least one gene.

Then you get some information on the performance of the best five neural nets: The ranking is according to the performance on the set of trainings positions. A score of 90% means that from a set of e.g. 200 training positions the net came up with 180 correct continuations. In parentheses you see the performance on an independent set of test positions. This score is important in order to judge how well the net is able to generalize. An additional algorithm based on trainings and test performance picks the so called 'candidate' from the population. This is the neural net that is going to be transmitted back to the server once the algorithm is finished. The best neural nets are those that have high scores in both the training and the test department.

At the beginning of a new task, the server transmitts a set of nominal parameters for the genetic algorithm and the neural networks. If you opt to do so on the control pad, you may modify them according to the following dialog:

(Click on thumb to enlarge)

With the exeption of 'maximum input offset', where the allowed range is 0 to 2, you can modify each parameter by factors in the range 0.5 to 2. Some parameters (e.g. probabilties, which mathematically are not allowed to be greater than one) are limited to reasonable values.

In the following, I give a short explanation for those parameters:

Replacement percentage: In oder to generate generation n+1 from generation n, the genetic algorithm replaces a number of individuals by their offspring. This parameter controls the number to be replaced in terms of the percent of the population. Note: The computation time increases with this parameter.

Population size: Number of individuals making up a population.

Number of generations: Specifies the generation after which the algorithm terminates and seeks contact to the server.

Mutation probability: When generating offspring there may be random mutations affecting each gene. Usually the probability for this to happen is close to zero.

Crossover probability: Defines the probabilty that the parents exchange their genetic information in the process of creating the offspring for the next generation (crossover). Usually this probability is close to unity.

Number of hidden layers: A multilayer perceptron neural net (MLP) can have one or more hidden layers between the input and the output layers. Even though it is unlikely that the performance is positively affected by a number greater than one, you may increase this parameter.

Number of nodes per hidden layer: Determines the number of nonlinear processing units within each hidden layer. For simplicity this number is the same for all hidden layers.

Weights range: The nodes of the MLP are interconnected from layer to layer by scalar numerical weights. This parameter determines the boundaries within which the weights can vary. When the range is e.g. 4, the weights can vary in the interval [-4, 4].

Slope of nonlinearity: The nonlinear function utilized here by the neurons is given by f(x) = tanh(s x). The parameter s is the slope of the graph of f(x) at the origin (x = 0). It determines the shape of the nonlinear function.

Maximum input offset: If enabled, each neural net can add an additive offset to the positional input pattern. This parameter defines the maxmal value of the offset and is also subject to the genetic operators mutation and crossover.


The Chess Saver Screen Saver

The screen saver that comes with the Chess Saver package displays animations of chess games from PGN-files. The PGN-files must not contain comments. Those games are not related to the evolutionary algorithm running simultaneously. The games from the book 'My 60 Memorable Games' by Bobby Fischer come with the installation.

To give you an impression of the screen saver, here is a screenshot of a game from the 1997 Fontys tournament in Tilburg between Tal Shaked and Garry Kasparov. It shows the final position after Garry punished Tal's blunder 20. Qd2-f4 with 20.... Bg7-e5, trapping the white queen:

(Click on thumb to enlarge)

However, with the screen saver multiplexer you can run any screen saver you like by specifying it on the Chess Saver control pad.


Copyright (c) 2002-2003 by Ralf Seliger. All rights reserved.