Idea: Making the ultimate chess evaluation.

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

voyagerOne
Posts: 154
Joined: Tue May 17, 2011 8:12 pm

Idea: Making the ultimate chess evaluation.

Post by voyagerOne »

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.
nionita
Posts: 175
Joined: Fri Oct 22, 2010 9:47 pm
Location: Austria

Re: Idea: Making the ultimate chess evaluation.

Post by nionita »

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.
1. But then you must begin with the simplest combinations, otherwise you will not play well after simplifications.

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.

Post by jli »

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.

Post by voyagerOne »

@jli: Essentially yes...the tablebase will store the eval parameters.

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.

Post by voyagerOne »

@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.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Idea: Making the ultimate chess evaluation.

Post by mcostalba »

voyagerOne wrote: So that is the gist of the idea.
If you bring in the hardware for playing the needed games, I will write he software :-)
jdart
Posts: 4361
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Idea: Making the ultimate chess evaluation.

Post by jdart »

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
voyagerOne
Posts: 154
Joined: Tue May 17, 2011 8:12 pm

Re: Idea: Making the ultimate chess evaluation.

Post by voyagerOne »

@Jon
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.

Post by wgarvin »

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.
jd1
Posts: 269
Joined: Wed Oct 24, 2012 2:07 am

Re: Idea: Making the ultimate chess evaluation.

Post by jd1 »

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