Aspiration windows

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Aspiration windows

Post by Rebel »

zamar wrote:
jacobbl wrote:You are saying one should use a low ebf, just as if it's a parameter you can choose. One of my largest struggles is to lower my ebf. Could you please enlighten me on what you mean with: "Use a low ebf"?

Regards
Jacob
Sure! Old chess programs use various extensions and few reductions. This results in high-branching factor >= 2.0.

AFAIK Modern top chess program use very few extensions and are very aggressive in reductions and prunings.

For starters you could try:
- Take out every extensions except checks and single-move
- LMR reducing two plies for non-captures (at least at the end of the move list).
- Null move with R=3,4,5,6 (higher reduction closer to root)
- Prune neg. SEE moves close to leafs
- Prune moves at the end of the move list in close to leafs

Of course every chess engine is a different beast and not every idea can work in every program. But the current tendency is to favor reductions and prunings instead of extensions.
You Stockfish guys are a shining example how computer chess is supposed to be.
JVMerlino
Posts: 1357
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: Aspiration windows

Post by JVMerlino »

zamar wrote:
jacobbl wrote:You are saying one should use a low ebf, just as if it's a parameter you can choose. One of my largest struggles is to lower my ebf. Could you please enlighten me on what you mean with: "Use a low ebf"?

Regards
Jacob
Sure! Old chess programs use various extensions and few reductions. This results in high-branching factor >= 2.0.

AFAIK Modern top chess program use very few extensions and are very aggressive in reductions and prunings.

For starters you could try:
- Take out every extensions except checks and single-move
- LMR reducing two plies for non-captures (at least at the end of the move list).
- Null move with R=3,4,5,6 (higher reduction closer to root)
- Prune neg. SEE moves close to leafs
- Prune moves at the end of the move list in close to leafs

Of course every chess engine is a different beast and not every idea can work in every program. But the current tendency is to favor reductions and prunings instead of extensions.
Regarding "prune moves at the end of the move list in close to leafs", what is the criteria for this? Or do you really just prune all of these moves and hope you don't miss something? How close is "close to leafs"?

jm
JVMerlino
Posts: 1357
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: Aspiration windows

Post by JVMerlino »

zamar wrote:AFAIK the recipe that all top engines are using is:

- Use very small aspiration window (only something like 8cp - 16cp).
- Use very low effective branching factor (~1.6)

This will result in many researches, but for some reason it seems to pay off. Also you must note that with low EBF + small aspiration window, you may want to adjust your time management to be more aggressive compared to high EBF without aspiration window.

IMO all these three issues (aspiration window, EBF and time management) are so closely related that you cannot tune one without also tuning the others.
Is there some limit on how often you will research? In other words, if your search window starts at +/- 8cp, and the next depth produces a mate score, you're not really going to get to that score 8cp at a time, are you?

Or, maybe I should just look at the Stockfish code. :)

jm