Geschrieben von:/Posted by: B M Schaeffer at 14. May 2004 03:19:
Als Antwort auf:/In reply to: Re: Variable Material Values geschrieben von:/posted by: Volker Annuss at 13 May 2004 21:05:55:
For the next version of my engine Hermann I created a table with gives the score from different material.
It looks like this:
QRBNP QRBNP games score
12228 12227 1751 48.78%
01100 01001 218 56.91%
00001 00000 670 76.64%
The first line means: If player one has all pieces from the start position and player two has lost one pawn, then player one can ecpect a score of 48,78%. This line is made from 1751 games. This is one of the surprising results I got. The player with more material gets the lower score.
The second line gives the score for R+B vs. R+P and the last line the score for K+P vs. K.
Of course the complete table is much larger and there are many lines that come from very few games, so they are not statistically significant.
It would be fine to have only quiet positions in the table, but I cannot test them with a quiecence search. I would have do make assumptions on the material value for that, but the material value is what I want to find out. So only positions (better: material combinations) are used where there was no capture for at least three moves. Checks were ignored for that table, but I will use them in future to get a better approximation to quiecence.
There are gaps in the table that have to be filled with reasonable values, and reasonable values must be found for the lines that come from only a few games.
The score must be translated to a material evaluation value. I have a concept for all that. I also had an experimental version of Hermann with a material evaluation that used these ideas. It did not play better but it also did not play much worse than the version with the new material evaluation switched off.
There is much to do to make this work good. I started with a new job this month, so I have not much time to make this work. It will take some months and its not 100% sure that it will be successful.
Volker
-----
I see you are already doing a much deeper implementation of that, one that I only imagined would be at the end of a project! What your looking into is a database of 486x486 possibilities, although plenty of combinations are going to be greater than a minor piece difference. That could be very powerful when coming down to making a close decision.
What I have been playing around with is much simpler. So far only one side's material would be effected, like this: (Alert: I have not tested this code yet)
// Sample Variable Material Tables
// Date: May 13, 2004
// Copyright 2004 by Ben Schaeffer
/*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Contact me with "Chess" in the subject (or it will get deleted!):
bens2@myrealbox.com*/
//skipping stuff...
/*k*/ 0,1,2,3,4,5,6,7,8,
/*kn*/ 3,4,5,6,7,8,9,10,11,
/*knn*/ 6,7,8,9,10,11,12,13,14,
/*kb*/ 3,4,5,6,7,8,9,10,11,
/*kbn*/ 6,7,8,9,10,11,12,13,14,
/*kbnn*/ 9,10,11,12,13,14,15,16,17,
/*kbb*/ 6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,
/*kbbn*/ 9.5,10.5,11.5,12.5,13.5,14.5,15.5,16.5,17.5,
/*kbbnn*/ 12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5,
/*kr*/ 5,6,7,8,9,10,11,12,13,
/*krn*/ 8,9,10,11,12,13,14,15,16,
/*krnn*/ 11,12,13,14,15,16,17,18,19,
/*krb*/ 8,9,10,11,12,13,14,15,16,
/*krbn*/ 11,12,13,14,15,16,17,18,19,
/*krbnn*/ 14,15,16,17,18,19,20,21,22,
/*krbb*/ 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,
/*krbbn*/ 14.5,15.5,16.5,17.5,18.5,19.5,20.5,21.5,22.5,
/*krbbnn*/ 17.5,18.5,19.5,20.5,21.5,22.5,23.5,24.5,25.5,
/*krr*/ 10,11,12,13,14,15,16,17,18,
/*krrn*/ 13,14,15,16,17,18,19,20,21,
/*krrnn*/ 16,17,18,19,20,21,22,23,24,
/*krrb*/ 13,14,15,16,17,18,19,20,21,
/*krrbn*/ 16,17,18,19,20,21,22,23,24,
/*krrbnn*/ 19,20,21,22,23,24,25,26,27,
/*krrbb*/ 16.5,17.5,18.5,19.5,20.5,21.5,22.5,23.5,24.5,
/*krrbbn*/ 19.5,20.5,21.5,22.5,23.5,24.5,25.5,26.5,27.5,
/*krrbbnn*/ 22.5,23.5,24.5,25.5,26.5,27.5,28.5,29.5,30.5,
/*kq*/ 9,10,11,12,13,14,15,16,17,
/*kqn*/ 12,13,14,15,16,17,18,19,20,
/*kqnn*/ 15,16,17,18,19,20,21,22,23,
/*kqb*/ 12,13,14,15,16,17,18,19,20,
/*kqbn*/ 15,16,17,18,19,20,21,22,23,
/*kqbnn*/ 18,19,20,21,22,23,24,25,26,
/*kqbb*/ 15.5,16.5,17.5,18.5,19.5,20.5,21.5,22.5,23.5,
/*kqbbn*/ 18.5,19.5,20.5,21.5,22.5,23.5,24.5,25.5,26.5,
/*kqbbnn*/ 21.5,22.5,23.5,24.5,25.5,26.5,27.5,28.5,29.5,
/*kqr*/ 14,15,16,17,18,19,20,21,22,
/*kqrn*/ 17,18,19,20,21,22,23,24,25,
/*kqrnn*/ 20,21,22,23,24,25,26,27,28,
/*kqrb*/ 17,18,19,20,21,22,23,24,25,
/*kqrbn*/ 20,21,22,23,24,25,26,27,28,
/*kqrbnn*/ 23,24,25,26,27,28,29,30,31,
/*kqrbb*/ 20.5,21.5,22.5,23.5,24.5,25.5,26.5,27.5,28.5,
/*kqrbbn*/ 23.5,24.5,25.5,26.5,27.5,28.5,29.5,30.5,31.5,
/*kqrbbnn*/ 26.5,27.5,28.5,29.5,30.5,31.5,32.5,33.5,34.5,
/*kqrr*/ 19,20,21,22,23,24,25,26,27,
/*kqrrn*/ 22,23,24,25,26,27,28,29,30,
/*kqrrnn*/ 25,26,27,28,29,30,31,32,33,
/*kqrrb*/ 22,23,24,25,26,27,28,29,30,
/*kqrrbn*/ 25,26,27,28,29,30,31,32,33,
/*kqrrbnn*/ 28,29,30,31,32,33,34,35,36,
/*kqrrbb*/ 25.5,26.5,27.5,28.5,29.5,30.5,31.5,32.5,33.5,
/*kqrrbbn*/ 28.5,29.5,30.5,31.5,32.5,33.5,34.5,35.5,36.5,
/*kqrrbbnn*/ 31.5,32.5,33.5,34.5,35.5,36.5,37.5,38.5,39.5
//Just a Bishop bonus on that one...
//Her's snippet of more involved one
/*kqbbn*/ 19.7475,20.81,21.8725,22.935,23.9975,25.06,26.1225,27.185,28.2475,
/*kqbbnn*/ 22.6225,23.7475,24.8725,25.9975,27.1225,28.2475,29.3725,30.4975,31.6225,
//etc.
Getting a table that lends itself to more advantageous positions was the goal there on the second one.
The obscure situation of having 2 queens, 3 rooks, etc. throws a monkey wrench into things. I don't know if there is an accepted term for that; I have been calling it redundant promotions.
Perhaps a fine tuned table might assist in getting to a statistically significant advantage.
Ben