Pruning in QS

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Pruning in QS

Post by jdart »

I think this may be overkill because a large percentage of q-search nodes will cut off due to static eval, or due to one capture that is good enough, or they will be really static so no candidate moves are available. So I expect the number that get to the 3rd, 4th or 5th move w/o anything happening is relatively small.

That said like anything else testing will tell if this is a good idea or not.

--Jon
User avatar
hgm
Posts: 27798
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Pruning in QS

Post by hgm »

Yet it has been shown that move sorting in QS has huge impact, and even subtle things like using SEE for ordering has measurable impact. With random ordering you almost always reach a point in the game where the search depth drops from 11-12 ply to 1-2 ply, due to QS explosion.

Plunder raids usually kill you, and some variants are far more susceptible to plunder raids than Chess. And as Daniel remarks, piece drops are a big problem as well. Considering too many checks also would make the QS prone to explosion.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Pruning in QS

Post by bob »

Rebel wrote:
Ron Murawski wrote: * Don't try equal captures if the victim is protected

If there are more attackers then defenders, then this 'equal' capture is probably winning. My opinion is that SEE is needed here, or some sort of attack board.
My experience is that every equal capture should be investigated and that the costs for doing so are to neglect. It's a long time ago and although rare on the bigger scale I have seen quite some horrible tactical blunders because the lack off it in the past.
I actually tested this, and while I don't remember the specific numbers, weeding out equal captures is an Elo loser. You don't want to evaluate something like an outpost knight if it can be removed safely by the opponent (NxN PxN or whatever). It also helps recognize overloaded pieces and such.