Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Some questions about Verified Null-Move Pruning

Author: Uri Blass

Date: 13:37:42 11/22/02

Go up one level in this thread


On November 22, 2002 at 12:18:38, Omid David Tabibi wrote:

>On November 22, 2002 at 12:01:54, Uri Blass wrote:
>
>>On November 22, 2002 at 11:40:35, Tony Werten wrote:
>>
>>>On November 22, 2002 at 10:59:33, Uri Blass wrote:
>>>
>>>>On November 22, 2002 at 10:52:03, Omid David Tabibi wrote:
>>>>
>>>>>On November 22, 2002 at 10:47:00, Uri Blass wrote:
>>>>>
>>>>>>On November 22, 2002 at 03:46:06, Tony Werten wrote:
>>>>>>
>>>>>>>On November 22, 2002 at 03:31:37, Uri Blass wrote:
>>>>>>>
>>>>>>>>On November 22, 2002 at 02:59:34, Tony Werten wrote:
>>>>>>>>
>>>>>>>>>On November 22, 2002 at 02:44:52, Tony Werten wrote:
>>>>>>>>>
>>>>>>>>>>On November 21, 2002 at 17:01:11, Omid David Tabibi wrote:
>>>>>>>>>>
>>>>>>>>>>>On November 21, 2002 at 16:55:04, Tony Werten wrote:
>>>>>>>>>>>
>>>>>>>>>>>>On November 21, 2002 at 16:19:17, Omid David Tabibi wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>On November 21, 2002 at 16:05:45, Tony Werten wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>On November 21, 2002 at 13:52:33, Omid David Tabibi wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>On November 21, 2002 at 13:05:28, Uri Blass wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>On November 21, 2002 at 09:16:09, Omid David Tabibi wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>On November 21, 2002 at 08:34:36, Uri Blass wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>1)I do not find in the pseudo code in figure 3 undo null move.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>I assume that it should be before if value>=beta and after value=-search(...)
>>>>>>>>>>>>>>>>>>Am I right?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>That is why it is called *pseudo*-code :-)
>>>>>>>>>>>>>>>>>You have to fill in the obvious parts by yourself...
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>2)What is the value of the research for tactical strength?
>>>>>>>>>>>>>>>>>>Should it help significantly relative to searching to reduced depth when
>>>>>>>>>>>>>>>>>>value>=beta without research (even when we get value that is less than beta).
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>I didn't understand the question. Dp you mean doing a shallow search even when
>>>>>>>>>>>>>>>>>we don't have a fail-high report?!
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>I meant to ask what is the tactical value of the research(You suggested people
>>>>>>>>>>>>>>>>to start with doing it without the research first and only after it works to do
>>>>>>>>>>>>>>>>it with the research)
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>The re-search is needed only in zugzwang positions. Such zugzwang positions
>>>>>>>>>>>>>>>occur very rarely in midgames; so you can forgo the zugzwang detection re-search
>>>>>>>>>>>>>>>and still benefit all the improved tactical performance.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>I was quite surprised to see them from the starting position at a rate of 5 per
>>>>>>>>>>>>>>second. Not impressive, XiniX searches 400 Kn/s there, but still surprising.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>The rate of what, was 5 per second?
>>>>>>>>>>>>
>>>>>>>>>>>>"Zugzwang positions" or rather, positions where nullmove would have given a
>>>>>>>>>>>>cutoff but that after reducing depth and searching gave a score < beta.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>You mean you got an average of 5 zugzwang indications per second in middle
>>>>>>>>>>>game?!!! Then your program has instabilities which cause a huge number of
>>>>>>>>>>>needless re-searches due to false zugzwang alarm. Turn off your zugzwang
>>>>>>>>>>>detection at once!
>>>>>>>>>>
>>>>>>>>>>I'm quite interested in finding out what is happening so I'll leave it in for a
>>>>>>>>>>while. I think it has something to do with tempo. XiniX doesn't use futility
>>>>>>>>>>pruning so I'm quite curious to know if programs that do, have a bigger false
>>>>>>>>>>zugzwang count.
>>>>>>>>>
>>>>>>>>>Think I found it. Your algoritm doesn't seem to work correctly with threat
>>>>>>>>>detection, causing instabilities. Maybe your testprogram didn't use it ?
>>>>>>>>
>>>>>>>>I do not understand
>>>>>>>>
>>>>>>>>Can you explain?
>>>>>>>>
>>>>>>>>I did not find something strange with the 5 "Zugzwang" per second in the opening
>>>>>>>>position because I assume that it is all about the horizon effect and not about
>>>>>>>>real zugzwang positions".
>>>>>>>
>>>>>>>Yes, and R=3 gets the horizon closer than R=2. Threats fe get found easier with
>>>>>>>R=2.
>>>>>>>
>>>>>>>Tony
>>>>>>
>>>>>>I now checked with movei and counted 63 horizon effects in the first 10,000,000
>>>>>>nodes.
>>>>>>
>>>>>
>>>>>By 63 horizon effects you mean zugzwang detection (they are two different
>>>>>things!)?
>>>>
>>>>The algorithm does not detect zugzwangs but cases when null move search return
>>>>beta and search to bigger depth returned a value that is smaller than beta.
>>>>
>>>>I do not believe in zugzwangs near the opening position so I guess that the
>>>>reason must be some horizon effect.
>>>
>>>I looked at some of the positions and they weren't zugzwang positions. So my
>>>best guess is also horizon. Probably combined with "tempo" wich is quite
>>>important in the beginning.
>>>
>>>Tony
>>
>>It seems that I had a bug of initialized local varaible
>>First positions was no zugzwang
>>
>>36 positions out of 10,000,000 if I have no bugs now.
>>
>
>I think it is still too much. The acceptable average should be less than 5 in 10
>million nodes.
>
>Remember that each such position is re-searched with the original depth; that is
>a huge overhead. I still think that you should turn off zugzwang detection
>before the other parts work fine.

I guess that using side to move in the evaluation may help to get less horizon
effect.

The problem is that I did not like to do it and I even suspect that bonus for
the second side may help because things are not symmetric and movei cannot
evaluate positions when the side to move can capture as leaf nodes but can
evaluate positions when the opponent threat to capture as leaf nodes.

The first small horizon effect happened to movei after 1.Nf3 d5 2.Ng5 Nf6 3.d4

Uri



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.