Search statistics

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Edmund
Posts: 670
Joined: Mon Dec 03, 2007 3:01 pm
Location: Barcelona, Spain

Re: Search statistics

Post by Edmund »

MattieShoes wrote:Good move ordering is necessary for null move pruning to operate effeciently. The faster you get alpha up, the more positions will fail high on depth+1.
First of all, nice data and thanks for sharing. But I don't quite understand your last point. You are not mentioning anything like LMR or History Pruning, so I see no reason why the move ordering should affect the value of a node (just the node count). So why do you reckon null move success-rate would change?
One answer I would have is that when you prune in Quies non MVV/LVA captures, the prunings are actually unsound and thus would cause the nullmove to fail if weren't pruned.
MattieShoes
Posts: 718
Joined: Fri Mar 20, 2009 8:59 pm

Re: Search statistics

Post by MattieShoes »

My engine doesn't prune any captures in q-search. It orders them and hopefully gets beta cutoffs, but it'll try them all if it has to.

Null move pruning can certainly affect the value of a node (zugzwangs), but that's not what I was saying.

Lets say opponent has hanging queen. Engine doesn't KNOW this yet because it's stupid -- it hasn't examined the capture move yet.

If we first examine non-capture+null, it fails to cause cutoff because holy crap, it loses queen on next move! better calculate it out the long way. It'll try this over and over again until it tries the queen capture and realizes the queen is already lost and it wasn't the null moves causing us to lose the queen.

Not a very good example. Basically null move is there to save time on stupid moves by comparing them to the best result found so far. If you examine stupid moves first, you end up comparing stupid moves to other stupid moves. If you examine good moves first, you end up comparing stupid moves to good moves, which allows you to shear away all that extra work :-)
Edmund
Posts: 670
Joined: Mon Dec 03, 2007 3:01 pm
Location: Barcelona, Spain

Re: Search statistics

Post by Edmund »

MattieShoes wrote:If we first examine non-capture+null, it fails to cause cutoff because holy crap, it loses queen on next move! better calculate it out the long way. It'll try this over and over again until it tries the queen capture and realizes the queen is already lost and it wasn't the null moves causing us to lose the queen.
Makes sense now .. thanks