[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Pattern matching - example play
This is a misunderstanding. Nullmove works great in chess. Nullmove is
*not* a threat detection at all. It tries an entire search tree to refute a
line.
In short the better your evaluation function the better nullmove should
work. I guess you created some bugs when implementing it in go. What you do
near the leafs is far more important in go than in chess because of the
total global search depth.
Of course it's impossible to write a good go program at todays hardware
(say a quad opteron or so) without writing thousands of rules which moves
to try or not try in the selective search and quiescencesearch.
If that search is doing well in combination with evaluation, then nullmove
is very powerful.
Threats in chess are not 'immediate'.
The search depth in chess is so much larger than in go software, that you
see it quicker.
The immediate threats in chess are also utmost beginners level.
In the 80s no one had heard of nullmove by the way. First official
publication was in 1991 if i remember well by Chrilly Donninger (if i have
th edate straight, perhaps chrilly can say something on that as this is
from before that i was a member of ICGA in those days called ICCA) and only
in 1995 when Frans Morsch won the world championship computerchess (also
won from deep blue there for those who try to get history right) he
announced publicly that the reason was recursive nullmove.
After that everyone had it in his program of course.
So nullmove only works better in go than it does in chess, that's all. If
for your go evaluation function playing a few moves doesn't drastically
change score i would argue that's a bug in evaluation. Not in nullmove :)
At 13:57 2-12-2004 -0500, Don Dailey wrote:
>
>I too had great trouble with null move in GO. Yes, I get large
>speedups but null move isn't so great when the threats are slow and
>long term. In chess, threats tend to be immediate and require
>immediate responses. Even chess programs suffer from null move when
>long slow burning attacks happen. I think the evaluation has to be
>really good to get the most benefit from this kind of pruning, because
>null move also prunes tiny positional threats. It won't prune these
>too much if the evaluation has some sense about them.
>
>Every time I try, null move weakens the program. I believe this can
>be fixed. I just haven't spend a great deal of time yet getting into
>the problem since my program is not search based. (I have a version
>that is for experimentation.)
>
>
>- Don
>
>
>
> X-Original-To: computer-go@xxxxxxxxxxxxxxxxx
> Date: Thu, 02 Dec 2004 12:21:29 +0100
> From: Erik van der Werf <e.vanderwerf@xxxxxxxxxxxxxxxxx>
>
> Hi Vincent,
>
> You're absolutely right that I can get far deeper using nullmove.
> Unfortunately however, as I mentioned here before, for reasons I do not
> yet fully understand nullmove did not increase the playing strength.
> The speed was in the order of Mnps, and the evaluation was of course
> quite stupid. However, I should point out that these numbers are for an
> ancient version of Magog which has very little in common with the
> current version which is at least 5 times slower in nps.
>
> Erik
>
>
> Vincent Diepeveen wrote:
> > With nullmove R=3 and some selectivity and good hashtables you should
get
> > far deeper depending upon the total nodes you see.
> >
> > What's the nps you get and what time does it allocate for the first few
> > moves?
> >
> > Vincent
> >
> > At 00:48 2-12-2004 +0100, Erik van der Werf wrote:
> > >Chris Fant wrote:
> > >> 9 ply full width on 9x9? Certainly not near the beginning of the
game.
> > >
> > >It depends on the time settings. For tournament play it was probably a
> > >bit less in the opening and a bit more towards the end.
> > >
> > >E.
> > >_______________________________________________
> > >computer-go mailing list
> > >computer-go@xxxxxxxxxxxxxxxxx
> > >http://www.computer-go.org/mailman/listinfo/computer-go/
> > >
> > >
> > _______________________________________________
> > computer-go mailing list
> > computer-go@xxxxxxxxxxxxxxxxx
> > http://www.computer-go.org/mailman/listinfo/computer-go/
> >
>
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
>_______________________________________________
>computer-go mailing list
>computer-go@xxxxxxxxxxxxxxxxx
>http://www.computer-go.org/mailman/listinfo/computer-go/
>
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/