evaluation and scaling

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Uri Blass
Posts: 10282
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

evaluation and scaling

Post by Uri Blass »

today the static evaluation of chess programs cannot detect fortress for the simple reason that the evaluation does not include play against yourself at a reasonable level to get a final result.

Here is my idea to detect fortress by evaluation.
I suggest to use stockfish but you can use every engine for it.

start with the normal evaluation of stockfish and call it eval1.

Now define eval2 that is practically based on playing a game.
let stockfish play against itself at level of rating 1800 until you get final result of win or draw(you can use at least some fixed number of nodes with always finish the iteration to achieve level of 1800 and I guess the game should usually take less than a second).

eval2 is equal to eval1 if the result of the game is a draw.
eval2 is mate in 30 for white if the result of the game is mate in 30 for white(note that the evaluation may be wrong and of course it may be a win for black).

Now the program search using eval2 with the same search algorithm as stockfish(except of having different evaluation and maybe some modifications in the search considering the knowledge that mate in X by evaluation 2 is not a sure win).
Of course the program is going to be weaker than stockfish(because eval2 is slow) but my intuition tells me that it is going to scale better than stockfish and maybe if the time control is long enough it can beat stockfish(maybe not in practical time control that we can measure it).

I also think that it may be interesting for the user
and it will be easy to find positions when it shows a high score that is not mate(that is translated by the user to draw) when usually programs cannot show a draw score because they cannot search 100 plies forward to see the 50 move rule.

What is your opinion?