Check out Atomic Chess, our featured variant for November, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Single Comment

Piece Values[Subject Thread] [Add Response]
H. G. Muller wrote on Wed, Jul 2, 2008 07:51 AM UTC:
Sam Trenholme:
| I think the best way to come up with reasonable piece values is 
| to have a computer program play itself hundreds or thousands of 
| games of a given chess variant, and use genetic selection (evolution) 
| to choose the version of the program with piece values that win the 
| most games. 

This has been tried many times before (in normal Chess, mainly), with an
appalling lack of success. The reason is that even a very wrong evaluation
of one of the pieces (say a program that values a Queen at 7.5 in stead of
a correct 9.5) still only leads to bad trades in a minority of the cases, like 10-20%. This because it does require complex exchanges (like Q vs R+B)
rather than simple 1:1 exchanges, which simply do not present themselves
very often in games. In the other 80-90% of games the Queens will be
traded against each other, which will always be a neutral trade to each
program, no matter how much they differ in Queen value.

When only 10% of the games is affected by the piece-value difference,
while 90% with equal trades will have a 50-50 outcome, that latter set of
games will still produce statistical noise, which is added to the noise in
the overall result score, while it dilutes the systematic bias because of
the different evaluation. If, after a wrong trade (say Q vs R+B) induced
by the faulty Q value the side with Q left would have 70% winning chance,
(20% above par), the total score would be only 52% (2% above par). To
detect this score excess with the same relative statistical accuracy as
the 20% excess would require 100x as many games. (So 10,000 in stead of
100.)

The situation could be lightly improved if one would SELECT games before
analysis, throwing out all games whith equal trades (Q vs Q). Then you
eliminate the random noise produced by them from the result, and would
only look at the sample with unequal trades (with 20% score access). You
would still need about 100 of those, but now you only have to play 1,000
games to acquire them. Problem is that judging which games were affected
by the piece-value under study is a bit subjective, as Q vs Q trades do
not always occur through QxQ, ...xQ combinations, but sometimes are part
of a larger exchange with intermediate positions with material imbalance
(not affecting the engine decision, as they were within the horizon of the
engine search).

This is why I adopted the methodology of forcing the material imbalance
under study into the game from the very beginning. ('Asymmetric
playtesting' in Dereks terminology.) All games I play are then relevant.
Even if the engine I play with has a completely wrong idea of the piece
values, the material advantage it has at the outset (say A vs B+N) will be
needlessly traded away in only 10% of the cases. And if both engines share
the misconception, that will be still lower, as the opponent would
actually try to avoid such trades. So you will have only a light
suppression of the excess score, and very little noise added to it.

| I could do it myself, but I need a chess variant engine that I can 
| set, from the command line, white's and black's values of the pieces 
| independently, and then have the variant play itself a game of the 
| chess variant. 

I would only applaud this. In fact the engines you request do exist, and
can be downloaded as free software from my website:

* Joker80 allows setting of the piece values by a command-line argument,
(a feature requested by Derek, as discussed below in this thread) but is
limited to 10x8 variants with the Capablanca pieces.

* Fairy-Max allows implementation of (nearly) arbitrary fairy pieces, and
setting of their values, through a configuration file (fmax.ini) that can
be changed with a simple text editor like Notepad. (This because the
options here are too elaborate to fit on the command line.) The format of
the piece description is admittedly a bit cumbersome (that is, the
description of the way it moves, especially if it is a complex move like
that of a Crooked Bishop), but the fmax.ini that is provided for download includes many examples for the more common fairy pieces. And changing the piece value is absolutely trivial. Furthermore, I am always available to provide assistance.