The idea is instead of having a mid/end game evaluation, you will have set evaluations based upon pieces.
An example you create an eval just for KQRNPP; Your mobility, PST, King Safety, etc... is only based upon this piece arrangement. Then you run a million games with this setup to perfect it. Running the same depth...you can easily beat the top chess engine on this type of arrangement.
Create another piece combination...rinse and repeat.
The chess eval of top engine are "Jack of all trades and master of none", with this type of evaluation it will be "A master of all"
Now the first thought that this will be a ton of work with thousands of combinations evaluations to compute.
You can begin by starting with the most common piece arrangement in mid-game. You don't have to make the Eval "Perfect" Just good enough to beat your default evaluation for that particular piece arrangement. Make 10 of these common piece arrangement and test your engine. Your engine will have the default eval...but once it finds a combination it will use the corresponding evaluation.
So that is the gist of the idea.
Idea: Making the ultimate chess evaluation.
Moderators: hgm, Dann Corbit, Harvey Williamson
-
voyagerOne
- Posts: 154
- Joined: Tue May 17, 2011 8:12 pm
-
nionita
- Posts: 175
- Joined: Fri Oct 22, 2010 9:47 pm
- Location: Austria
Re: Idea: Making the ultimate chess evaluation.
1. But then you must begin with the simplest combinations, otherwise you will not play well after simplifications.voyagerOne wrote:The idea is instead of having a mid/end game evaluation, you will have set evaluations based upon pieces.
An example you create an eval just for KQRNPP; Your mobility, PST, King Safety, etc... is only based upon this piece arrangement. Then you run a million games with this setup to perfect it. Running the same depth...you can easily beat the top chess engine on this type of arrangement.
Create another piece combination...rinse and repeat.
The chess eval of top engine are "Jack of all trades and master of none", with this type of evaluation it will be "A master of all"
Now the first thought that this will be a ton of work with thousands of combinations evaluations to compute.
You can begin by starting with the most common piece arrangement in mid-game. You don't have to make the Eval "Perfect" Just good enough to beat your default evaluation for that particular piece arrangement. Make 10 of these common piece arrangement and test your engine. Your engine will have the default eval...but once it finds a combination it will use the corresponding evaluation.
So that is the gist of the idea.
2. How many millions of games then you'll have to play? This would probably work only in a grid computing effort, so you#ll need many volunteers...
-
jli
Re: Idea: Making the ultimate chess evaluation.
So.. you're suggesting that we make a tablebase?
-
voyagerOne
- Posts: 154
- Joined: Tue May 17, 2011 8:12 pm
Re: Idea: Making the ultimate chess evaluation.
@jli: Essentially yes...the tablebase will store the eval parameters.
example;
key=getEvalKey() //based on piece combo
BishopMobWeight=BMW[key];
kingSafetyWeight=KSW[key];
example;
key=getEvalKey() //based on piece combo
BishopMobWeight=BMW[key];
kingSafetyWeight=KSW[key];
-
voyagerOne
- Posts: 154
- Joined: Tue May 17, 2011 8:12 pm
Re: Idea: Making the ultimate chess evaluation.
@Ionita:
You don't really need to play that many games...just enough that your specific eval for a piece arrangement will beat your default engine.
Also the games will terminate much quicker...because each game will start with the specific piece combo and not all 32 pieces.
You don't really need to play that many games...just enough that your specific eval for a piece arrangement will beat your default engine.
Also the games will terminate much quicker...because each game will start with the specific piece combo and not all 32 pieces.
-
mcostalba
- Posts: 2684
- Joined: Sat Jun 14, 2008 9:17 pm
Re: Idea: Making the ultimate chess evaluation.
If you bring in the hardware for playing the needed games, I will write he softwarevoyagerOne wrote: So that is the gist of the idea.
-
jdart
- Posts: 4361
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Idea: Making the ultimate chess evaluation.
IMO eval will not help much with many of the more complex endgames such as the one you mention (KQRNPP). The right move is often not obvious and proving it is a win, loss or draw may require deep search. Eval can help guide you but it is not a substitute for search.
--Jon
--Jon
-
voyagerOne
- Posts: 154
- Joined: Tue May 17, 2011 8:12 pm
Re: Idea: Making the ultimate chess evaluation.
@Jon
Yeah but it will be significantly better, than the "one size fits all" search.
Yeah but it will be significantly better, than the "one size fits all" search.
-
wgarvin
- Posts: 838
- Joined: Thu Jul 05, 2007 5:03 pm
- Location: British Columbia, Canada
Re: Idea: Making the ultimate chess evaluation.
One part that might be difficult, is tuning the score ranges for all of the different endgame evaluations to have the proper values relative to each other.
This idea reminds me of DarkThought in the 90's: they had bitbases in RAM for all 4-man endings, and then they had a heuristic scoring function for each ending to push the pieces towards the actual win. But choosing the scoring ranges required some care.
And for 5- or 6-man endings there will be many more of them and you don't want a case where your engine doesn't have the bitbase (so it doesn't really know if it can win or not) and it plays into an ending with dicey prospects instead of the one with a high probability of a simple win. etc. So you'd need to come up with an intended scoring range to use for each ending, and make sure they all make sense relative to each other.
This idea reminds me of DarkThought in the 90's: they had bitbases in RAM for all 4-man endings, and then they had a heuristic scoring function for each ending to push the pieces towards the actual win. But choosing the scoring ranges required some care.
And for 5- or 6-man endings there will be many more of them and you don't want a case where your engine doesn't have the bitbase (so it doesn't really know if it can win or not) and it plays into an ending with dicey prospects instead of the one with a high probability of a simple win. etc. So you'd need to come up with an intended scoring range to use for each ending, and make sure they all make sense relative to each other.
-
jd1
- Posts: 269
- Joined: Wed Oct 24, 2012 2:07 am
Re: Idea: Making the ultimate chess evaluation.
Wylie makes a very good point.
With regards to Bill's idea, I would suggest trying this out on a smaller scale, maybe for each king + one piece endgame. It probably doesn't make a lot of difference how many pawns are on the board, so that would only be KQ, KR, KB (opposite colour and same colour) and KN and probably King and pawns too. A total of six different evaluations, probably not too hard to implement and would diminish the hardware requirements.
Jerry
With regards to Bill's idea, I would suggest trying this out on a smaller scale, maybe for each king + one piece endgame. It probably doesn't make a lot of difference how many pawns are on the board, so that would only be KQ, KR, KB (opposite colour and same colour) and KN and probably King and pawns too. A total of six different evaluations, probably not too hard to implement and would diminish the hardware requirements.
Jerry