Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Nullmove question

Author: Michel Langeveld

Date: 07:58:35 01/13/04

Go up one level in this thread


On January 13, 2004 at 10:36:30, martin fierz wrote:

>On January 13, 2004 at 10:28:54, Michel Langeveld wrote:
>
>>The idea of Nullmove is that you let a player have the right to do two moves
>>during a game. If he can't win with this right then his position is really bad,
>>and we count it as lost.
>>--------------------------------------------------------------------------------
>>original
>>6    318    343459     -8  b1c3 b8c6 i1h3 d7d6 h3f4 c8f5
>>7   1782   2188112      3  b1c3 d7d5 d2d4 c8f5 i1h3 i8h6 c1f4
>>
>>nullmove with: if (!c && !nullmoved && depth - 1 - R > 0)
>>6    215    227824     -8  b1c3 b8c6 i1h3 d7d6 h3f4 c8f5
>>7    859   1008458      3  i1h3 d7d5 d2d4 c8f5 b1c3 i8h6 c1f4
>>
>>nullmove with :if (!c && !nullmoved)
>>6     59     63778     -3  i1h3 d7d6 g1f3 i8h6 b1c3 b8c6
>>7    342    403509      3  i1h3 d7d5 d2d4 c8f5 c1f4 i8h6 b1c3
>>
>>My question is do I have to protect that after a nullmove we go immediatly into
>>quiesce or can I live without this protection?
>
>i don't protect against it. as you can see you get a massive speedup without it.

Yes I can see it is huge.

I was thinking a bit more when the if (x >= beta) return beta is triggered.

[d]rnbqkbnr/1ppp1ppp/p7/4p3/4P3/5Q2/PPPP1PPP/RNB1KBNR w KQkq - 0 1
In this position. If white plays f1c4 then we do a nullmove and white can move
again. Then we can win with Qxf7 mate. We have done the variation then
f1c4 <null> f3q7# which is 3 ply

This mate score is returned as
-10000 + ply (does a nullmove has to increase th ply count?)

which is -10000 + 3 = -9997

x = 9997 f3q7 is takebacked
x = -9997 and the nullmove is takebacked

x is then not > beta probably so this example does not work.
Or did I gave now an excellent example of Bruce Moorelands thread extensions.

>what i (and many others of course, before me) do is to generate checks at the
>first ply of qsearch. so if you nullmove, go to qsearch, you probably find out
>whether you're being mated or not.

I hope I can make an ultra fast generatechecks for tscp and expirement with it.

>if you don't have checks on the first ply of
>QS, you will happily cut off in a position where your opponent can mate in one.
>
>so doing checks in QS is a way of protecting yourself here.
>
>then again lots of people don't do checks in QS - a well-known example for this
>is crafty.




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.