Killers in Q-Search

Discussion of chess software programming and technical issues.

Moderator: Ras

metax
Posts: 344
Joined: Wed Sep 23, 2009 5:56 pm
Location: Germany

Killers in Q-Search

Post by metax »

Do killer moves in quiescence search make sense or should I just order moves with MVV-LVA (or SEE, if I get that to run some day :))?
Ron Murawski
Posts: 397
Joined: Sun Oct 29, 2006 4:38 am
Location: Schenectady, NY

Re: Killers in Q-Search

Post by Ron Murawski »

metax wrote:Do killer moves in quiescence search make sense or should I just order moves with MVV-LVA (or SEE, if I get that to run some day :))?
For most programs it makes no sense at all. Killers are usually limited to non-capture moves only. And Qsearch is usually confined to capture moves only.

Ron
mjlef
Posts: 1494
Joined: Thu Mar 30, 2006 2:08 pm

Re: Killers in Q-Search

Post by mjlef »

Ron Murawski wrote:
metax wrote:Do killer moves in quiescence search make sense or should I just order moves with MVV-LVA (or SEE, if I get that to run some day :))?
For most programs it makes no sense at all. Killers are usually limited to non-capture moves only. And Qsearch is usually confined to capture moves only.

Ron
I always wanted to test the idea of killers in qsearch. For me, a killer would be an apparent low ranking ( by MPV/LVA) move which unexpected failed high. I think for this to work at all you would have to reset it very often, and I think it would be rare that something like nxP is "better" than BxQ. But worth investigating.

Mark
Ron Murawski
Posts: 397
Joined: Sun Oct 29, 2006 4:38 am
Location: Schenectady, NY

Re: Killers in Q-Search

Post by Ron Murawski »

mjlef wrote:
Ron Murawski wrote:
metax wrote:Do killer moves in quiescence search make sense or should I just order moves with MVV-LVA (or SEE, if I get that to run some day :))?
For most programs it makes no sense at all. Killers are usually limited to non-capture moves only. And Qsearch is usually confined to capture moves only.

Ron
I always wanted to test the idea of killers in qsearch. For me, a killer would be an apparent low ranking ( by MPV/LVA) move which unexpected failed high. I think for this to work at all you would have to reset it very often, and I think it would be rare that something like nxP is "better" than BxQ. But worth investigating.

Mark
I actually use certain types of killers in my qsearch. I allow captures in my killers if SEE says it's a bad capture. In qsearch if the capture move is a killer I bump up its move-order scoring. I thought I detected a slight ELO increase, but the number of test games I played was not enough.

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

Re: Killers in Q-Search

Post by hgm »

mjlef wrote:I always wanted to test the idea of killers in qsearch. For me, a killer would be an apparent low ranking ( by MPV/LVA) move which unexpected failed high. I think for this to work at all you would have to reset it very often, and I think it would be rare that something like nxP is "better" than BxQ. But worth investigating.
Perhaps it would work even better in QS to have 'anti-killers'. I can imagine BxQ to be worse that NxP when the B was soft-pinned on my own Q. In QS moves cannot be better than the value of the victim, (the opponent would simply stand pat), but they can be worse, because they expose material to a refuting capture. Using SEE to screen them solves most of that, but it does not detect pins or overloads. So occasionally a capture of a high victim is 'poisoned'.

It would be especially useful to remember when this happens in null-move responses. When the null move at d=1 jumps directly into QS, if the capture of the highest victim is poisoned, but another capture did refute it, you will continue to search real moves at d=1. For most of these moves, the capture of the highest victim in the QS reply will be equally poisoned. So it makes sense to make that capture an 'anti-killer', which is pushed down in the capture ordering. The advantage is that when the real move is really stupid, e.g. Q x defended P, you would still try the specific refutation of recapturing the Queen before the general null-move refutation.

In fact, when you do this, you might not even need SEE anymore, because HxL captures of defended pieces would also become anti-killers. (You might still want to use SEE in a null-move reply, though, to get good move ordering there, as in the null-move reply the anti-killer is a leftover from a more-remote parallel branch, and thus not very reliable.)

At other depth than d=1, a low-failing null move will not have QS replies to the real moves. But even in full-width search the anti-killer might be useful to get better ordering of captures, tailored more to the situation, rather than using a 'one-should-work-for-all' order.

Wen you keep using SEE, te anti-killer should perhaps suppress not a single capture, but all captures with a certain piece, as the most common reasons why capturing the highest victim is bad are overloading and pinning of the capturer. Both of these would make the capturer unsuitable for other captures too.