I am wondering...Daniel Shawul wrote:Before I switched to "pondering on the move" I tried to do some anlaysis.
I could be well of the mark though...
Assuming the total time taken for all moves in a game is T.
Type I - ponder on the move
Type II - ponder on position (simpler one)
case I) very well predicted moves like obvious recapture, single replies and other forced moves. --> 10% of all moves
Here Type I has no significant advantage over Type II because 95% of the time is spent on the singular move.
So it is 10% * 5% * T = 0.005T time advantage for Type I.
Case II) well predicted moves. Assume 60% prediction rate (that will be 10 + 60 = 70% overall, a bit generous i suppose)
Here let us assume 50% of the time is spen on the first move. That means 50% is wasted by II so
70% * 50% * T = 0.35T time advantage for Type I.
Case III) prediction failure (30% of the moves). This is where I think Type II's advantage comes from. Type I is completely lost here while
II has some information on every move. So *disregarding previous search* that will be 100% advantage for II.
That will be 30% * 100% * T = 0.3T
So in summary we are roughly looking at 0.355T time advantage to I , as compared to 0.3T for II. Of course all of this depends
on the assumptions I made above but I think it is safe to say I tends to win over all.
If we have a pv search with zero windows for non pv moves, it seems to me that searching the current position instead of the predicted move will actually produce about the same hash table in real-life anyway.
After all, the root move's current predicted move (pm) will get the full window slot and all the others will search with a brief zero-window scan. So unless the root pv choice changes *for your engine* the hash table entries will be dominated by the move you were going to ponder anyway.
The only place where the "ponder on the root move instead of the expected response" seems to produce an actual benefit (in my gedankenexperiment anyway) is when your own engine was going to switch after just a little more analysis on the root position anyway and the move your engine was about to switch to is the same as the one the opponent makes. So I guess that this is almost never.
It would make an interesting experiment.