Computer Chess Club Archives




Subject: Re: no more comments???

Author: Robert Hyatt

Date: 06:58:16 07/26/02

Go up one level in this thread

On July 26, 2002 at 05:16:22, Sune Fischer wrote:

>On July 25, 2002 at 20:21:33, Robert Hyatt wrote:
>>On July 25, 2002 at 18:42:44, Sune Fischer wrote:
>>>On July 25, 2002 at 18:01:49, Robert Hyatt wrote:
>>>>So you are "out of sync" here?  IE you make a move, and update the legal
>>>>move count for your opponent immediately so that you know whether to extend
>>>>here or not?
>>>>That is a bit like my old incremental move generation.  I would make a move
>>>>and update everything so that generating moves was always trivial.  The problem
>>>>is that you make a move, update the stuff, then get a hash hit and don't
>>>>use the updated info at all.  I gave up on that and decided to just update
>>>>exactly when it is needed...
>>>But how many hash hits do you get compared to the node and evaluation numbers?
>>>I have a feeling the hash hit number is insignificant compared to the total node
>>I get about 10-20% in the middlegame...  More as the game goes on, of course.
>>And each hash hit has the potential of avoiding a move generation if the "best
>>move" is good enough...
>>As I said, not a huge savings.  But definitely better than nothing...
>Hmm, I don't think it is that simple.
>I need the information I incrementally update to generate moves and evaluate
>better and faster, possibly also to prune. Looks we agree on the numbers, if you
>add the killer move hits to the list, its about 20% IMO.

I won't argue, but remember this:  What happens as you optimize that remaining
80%?  IE what does that 20% do?  :)

Eventually that 20% might turn into 30-40% if you optimize the other part
pretty well.  Then it looks pretty good to get that bonus...

>Therefore I still say optimizing for the remaining 80% is better.
>One of the things I don't like about running it "fast and stupid" is, that you
>have to design the rest of the program around this minimalistic information
>approach. Like you don't do check evasions in the qsearch because it slows you
>down too much. Say you could generate check evasions at 1/3 of the cost, would
>it still slow you down too much or would it suddenly be worth it? Once you have
>the information to do things quickly, you can and will use it in places where it
>would normally be too expensive.

I don't avoid check evasions because they are too slow.  Older versions of
Crafty copied the Cray Blitz approach which did this.  I don't do them because
the q-search is so full of errors already that including checking moves that
might or might not help at all seems futile.  I want the q-search to be
_tiny_, because it is full of errors.  I would rather get deeper in the real
search, which doesn't have as many errors...

So it really isn't a speed issue for me, it is really about accuracy.  The
q-search makes the tacit assumption that a capture is the best move to play,
and if none are any good, then we stand pat.  I have seen _many_ positions
where a capture is bad, but another move is a killer...

>Since the move generation is only a small part of the total program, I prefer
>spending a little extra time once and for all to prepare some information. Could
>be I need that piece of information 5 times or 0 times, it will depend on the

Certainly.  I don't say all incremental updating is bad.  I do some myself.
I did more in Cray Blitz, such as keeping up with which files were open,
how many pawns were on each file, the rank of the most advanced pawn on each
file, how many pawns on each file, etc...  I'm simply saying that if you
incrementally update too much, deep searches kill that because you can do
the incremental update so many times that it is actually slower than to compute
it at the tips where it is needed.  I saw this in Cray Blitz in simple endings.
It is probably more common in Crafty since I search deeper with R=2-3 null-

>I happen to think there are many different paths leading to the same goal, and
>that mostly it's a matter of taste which road you take :)

I don't disagree at all...  IE selective forward pruning vs select search
extensions.  :)


This page took 0.03 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

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