endgame

Discussion of chess software programming and technical issues.

Moderator: Ras

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

Re: endgame

Post by Uri Blass »

hgm wrote:I tested in an earlier version of uMax the effect of a check extension. It made it weaker. Only when I disabled the check extension in the end-game, the check extension had a benificial effect. (And enough to warrant the extra characters.)

I might have to retest this to be 100% sure it also holds in the new version. This was tested in self-play at extremely short games (10 moves/sec, or so).

As for coming out when the opponent has Q: I intentionally discouraged that, although I admit that I did not test what the optimum would be here. IMO dropping King safety in the presence of enemy super-pieces is only viable in combination with an eval that penalizes undefended pieces in such positions. I think the difference would be so small here that it would be difficult to test in matches of normal games. I would have to design a test of KQ+Pawns vs KQ+Pawns positions with good King safety for both sides, and then play a few thousand games (pairs with reversed colors) between versions with different thresholds.

I think King-safety evaluation and check extension should be linked. In positions with exposed King, where checks are the norm rather than the exception, a check extension makes little sense. We know that in most endings checks are a waste of time, that will not lead to any progress. Searching deeper on those branches in engines with little or no end-game knowledge helps pushing the reward for good plans over the horizon. And if you think that delivering checks is a waste of time for the opponent, there is no reason to penalize it in the evaluation if he can. And there is no way to gradually switch off the check extension.
I do not agree that check extension make little sense in queen endgame.

It may be possible to find ideas of perpetual check or promotion of pawns thanks to check extensions in the endgame

check extensions in the endgame clearly help to find WAC number 2 faster(otherwise the program may not see the promotion at small depth).

[d]8/7p/5k2/5p2/p1p2P2/Pr1pPK2/1P1R3P/8 b - - bm Rxb2; id "WAC.002";

Maybe it is better to disable check extensions in the endgame(I did not test it) but at least it is not obvious.

Note that I have a different rule to disable check extensions if the side that gives check has a big material advantage before the check(big material advantage is at least 8 pawns(maybe smaller margin than 8 pawns is better but I did not check it)

Uri
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: endgame

Post by hgm »

I did not say it was obvious. I discovered it through testing. And I only did this testing in an older version of uMax, so I won't claim that it is a universal truth either.

But just showing a position where check extension would help is meaningless. It is the statistics of how many positions there exist where it does help, versus how many positions where it is detrimental, that decides if it is good or bad to give the extension. This can only be done by testing through playing games, or at least end-games, as only this testing samples the positions with the relevant distribution.

If you are above +8, I would be surprised if it matters how you conduct your search at all (provided you don't make the program crash).
Uri Blass
Posts: 10793
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: endgame

Post by Uri Blass »

hgm wrote:I did not say it was obvious. I discovered it through testing. And I only did this testing in an older version of uMax, so I won't claim that it is a universal truth either.

But just showing a position where check extension would help is meaningless. It is the statistics of how many positions there exist where it does help, versus how many positions where it is detrimental, that decides if it is good or bad to give the extension. This can only be done by testing through playing games, or at least end-games, as only this testing samples the positions with the relevant distribution.

If you are above +8, I would be surprised if it matters how you conduct your search at all (provided you don't make the program crash).
It is not important when I am above +8 in the position of the board but
the point is when I am above +8 on the search and the result of the game is not trivial because the reason that I am above +8 in the search is that my opponent blunder in the search(not in the game)

If I am sure that the move is a blunder then I can use selective search but I cannot be sure in 100% about it and it is possible that sacrificing the queen wins the game and I prefer to know it if I search deep enough.

In this case it is better to use less time for the relevant line and I do some steps including not extending checks(this is not the only thing that I do and I also prune when the remaining depth is small and simply do not search this line.

Uri