r/chessprogramming • u/joe_applesause • 11d ago
aspiration window is GOD
Long time lurker, first time poster. I went back to my hobby engine from a few years ago. It plays around 2200 on lichess. I added some forward pruning refinements, tuning changes, eval changes, bug fixes, etc. getting between 1-20 elo most of the time. Spent weeks on it. Got about 100 elo doing this. I got fed up with how little progress I was making and decided to try out aspiration windows. I have seen people say aspiration windows just don't work for them so I never decided to try it out before today. This morning I put in a pretty basic implementation of it and it gave me +219elo (+-8), which is huge obviously. I should have done it sooner. It sees 1-4 extra ply most of the time, and in some positions it sees double the depth it did before. This is just a post telling you to try out aspiration windows if you haven't. I start with a margin of 30cp and it increases exponentially as we go out of bounds. I am using handcrafted eval and fail hard PVSearch with null move, futility, reverse futility, LMR, and hashtable cutoffs with hashmove-mvvlva-killers-history for move ordering. My scores are are usually very stable - thats probably why this works so well. Im just so happy something finally worked out I made a reddit account to post on here. My search became so much stronger my engine is figuring out how to exploit weaknesses in my eval function which is something I have never seen before.
1
u/Im_from_rAll 10d ago
Good job! You could probably go even lower than 30cp to start. My engine self-tuned to about 5cp which results in a lot of re-searches, but it seems to work.