Moderator: Andres Valverde
About extensions :
what do you mean by 'all captures at pv' ? Are you really going to extend winning and loosing captures ? What is the purpose of extending all those non forced branches ?
About your test setup :
I don't think that those 5x2 positions contain the features you want to test.
You have too few positions, testing them against more engines do not add diversity.
About the results you will find. Scores won't tell us enought, it would be interesing to have some statistics about the number and kind of extensions trigered.
IMO extending/reducing loosing captures
does not have a significant impact.
Tord Romstad wrote:This is what I currently use:
At PV nodes:At non-PV nodes:
- Check: One ply
- Single reply to check: One ply
- Capture leading to pawn endgame: One ply
- Passed pawn push: Half a ply
- Winning or equal captures (all captures, not just recaptures) of a piece bigger than a pawn: Half a ply
- Single reply to check: One ply
- Capture leading to pawn endgame: One ply
- Check: Half a ply
- Pawn to 7th rank: Half a ply
The most unusual thing is perhaps that I extend checks by only half a ply at non-PV nodes. This causes my program to occasionally miss perpetual check draws, but I think the smaller tree size is worth the price.
One of the top things on my todo list when (and if) I get back to computer chess is to experiment with different extension, pruning and reduction criteria at direct children of PV nodes. It makes some sense to be a little more conservative at such nodes than at ordinary non-PV nodes.
Tord
xinix wrote:Hi Tord,
just wondering.
I think it's the first 2 plies. We want to check if the first ply stays a fh and the 2nd a fl, so maybe 1st ply and first 4 from 2nd are in 1 group.
Then 1 and 2 ply children again are new group etc. Because these are less likely to influence PV ( is that true ?)
The further away the group, the lower extensions / bigger reductions
Tord Romstad wrote:This is what I currently use:
At PV nodes:At non-PV nodes:
- Check: One ply
- Single reply to check: One ply
- Capture leading to pawn endgame: One ply
- Passed pawn push: Half a ply
- Winning or equal captures (all captures, not just recaptures) of a piece bigger than a pawn: Half a ply
- Single reply to check: One ply
- Capture leading to pawn endgame: One ply
- Check: Half a ply
- Pawn to 7th rank: Half a ply
The most unusual thing is perhaps that I extend checks by only half a ply at non-PV nodes. This causes my program to occasionally miss perpetual check draws, but I think the smaller tree size is worth the price.
One of the top things on my todo list when (and if) I get back to computer chess is to experiment with different extension, pruning and reduction criteria at direct children of PV nodes. It makes some sense to be a little more conservative at such nodes than at ordinary non-PV nodes.
Tord
Uri Blass wrote:Extending all checks by the same number of plies(half ply) at non pv nodes seem illogical to me.
You may want to extend more good checks and not to extend bad checks.
You may want to extend more when the result of the game is unclear and extend less when the result of the game is clear.
Tord Romstad wrote:Yes, I agree. The probability that a node has influence on the root score depends on the distance to the closest PV node, and on the indices of its ancestor nodes (along the path up to the closest PV node) among their siblings. It seems reasonable to take bigger risks at nodes which are unlikely to influence the root.
One of my plans in the slightly longer term is to collect statistics about precisely how a node's probability of influencing the root score depends on its coordinates in the search tree, and use this to improve the efficiency and accuracy of my selective search (this will almost certainly introduce some new search inconsistencies, but I hope it won't be a too big problem in practice). Trying to do things somewhat differently in direct children of PV nodes is just a preliminary experiment to decide whether the much more general idea is worth a closer look.
Tord
Tord Romstad wrote:Uri Blass wrote:Extending all checks by the same number of plies(half ply) at non pv nodes seem illogical to me.
You may want to extend more good checks and not to extend bad checks.
You may want to extend more when the result of the game is unclear and extend less when the result of the game is clear.
Absolutely. The problem is to find good practical criterions for good checks, bad checks and whether the result of the game is clear. My attempts to classify good and bad checks have always failed. The most successful attempt was to simply look at the SEE value and only extend non-losing checks. This seemed to perform approximately as well as (but not better than) extending all checks equally much.
Tord
Tord Romstad wrote:Absolutely. The problem is to find good practical criterions for good checks, bad checks and whether the result of the game is clear. My attempts to classify good and bad checks have always failed. The most successful attempt was to simply look at the SEE value and only extend non-losing checks. This seemed to perform approximately as well as (but not better than) extending all checks equally much.
Tord
Return to Programming and Technical Discussions
Users browsing this forum: No registered users and 5 guests