You can try it, however the side to move bonus is doing this:bob wrote:Could be more aggressive if you search with b-N-1 and b-N. I am testing several values of N right now from 50 to 0 just to see what the effect is.diep wrote:it's searching with a LESS agressive nullmove.MattieShoes wrote:That's an interesting idea though -- if it's playing stronger because it's effectively doing a more aggressive null move scheme, would simply searching for nulls with a shifted window and removing the STM bonus get the same result? Have you ever run a test shifting the null window around to see if perhaps beta-1, beta isn't ideal?bob wrote: Why would I care? If the STM bonus improves play, when added to the complete program, then it seems obvious that it should be kept. Whether it is helping because of aggressive null-move or whatever doesn't matter. I'm not testing on positons, I'm testing on games, which gives this change a chance to fail somewhere between the opening and the endgame (and we use no books in the testing either)...
It is in most nodes similar to nullmove with window [eval+S,eval+S+1]
Might you have a move yourself after that obviously the window reverses.
Note this is nothing new. In diep i'm using up to half a pawn margin sometimes for nullmove with qsearch for S. I'm not giving a side to move bonus though (of course).
In roughly 70% of cases qsearch nullmove will give a cutoff.
Let's assume we give 10 points bonus for side to move.
What happens in such positions P is this:
1. P (side) ==> [alpha,alpha+1]
2. nullmove in P going to qsearch
3. P' (xside) ==> [-alpha-1,-alpha]
if we now consider static evaluation E which gets raised 10 points:
if( E+10 >= -alpha ) then cutoff
This is equivalent with E >= -alpha-10
Or with negamax that's alpha+10 in position P(side)
In short for the first and most important call to qsearch in that qsearch 'root' it's similar to nullmove with a window in position P of [alpha+10,alpha+11]
Now it is of course HARDER to get a cutoff with a nullmove of alpha+10 than trying to find a cutoff above alpha.
In short giving a side to move bonus main effect is making it positional a tad harder for your nullmove to cutoff.
As i explained before i'm already using that for a long period of time. Sometimes i turn it off sometimes i turn it on. There is advantages and there is disadvantages.
At short time controls it has advantages doing it for sure. At longer time controls i'm not so sure.