Author: Christophe Theron
Date: 10:28:33 01/25/00
Go up one level in this thread
On January 24, 2000 at 16:05:00, Robert Hyatt wrote:
>On January 24, 2000 at 15:34:39, Christophe Theron wrote:
>
>>On January 24, 2000 at 09:10:12, Robert Hyatt wrote:
>>
(snip)
>>I'm really curious about this. Using a SEE to "close" the search is in my
>>opinion a beginner's mistake (no offense intended).
>>
>>It's the first thing I have done myself when I started programming chess, and I
>>suspect many of us have followed the same path.
>>
>>But if somebody tells me it really works, then I have, once again, to reconsider
>>seriously all I know about chess programming.
>>
>>It's not new anyway. Every now and then I realize how little I know. That's part
>>of the fun.
>>
>>
>
>
>Good question. I did this around 1972 or so, and found it was a great addition
>since I couldn't afford a q-search at the speed of 10 nodes per second or so. I
>too dropped this around 1978 when I went "full-width + q-search" to become yet
>another "clone" of chess 4.x after the Frey book came out.
>
>I'll let the 'author' of the suspected non-q-searcher speak up if he wants,
>to avoid starting a long "did, did not, did too" type discussion. I am not
>sure it is totally bad with a decent search in front of it. When I did it I
>was doing a 4-5 ply selective search. It was ok. I went to a 4-5 ply full-
>width search. It was not ok after that. Maybe after 13-14 plies it is OK
>again?
I think the SEE idea is not good because on deep searches the QSearch typically
is very quick, looking at a very reduced number of nodes in average (maybe one
or two nodes is enough in most cases).
If your make/unmake move and evaluation is fast enough, this is going to be much
faster than using a SEE in this position. Because to be reliable a SEE has a lot
of work to do (bitboarded or not).
Another thing is that a QSearch is more accurate than a SEE. Being accurate is
important, because it makes your tree smaller. If your SEE is wrong often
enough, then the next ply depth is going to have some extra work to do because
the last time you have found this position (a position near the horizon) you
actually did not find the best move. Your move ordering near the horizon is less
good with a SEE, and this is expensive.
I have actually found several cases in my program where looking at a bigger
potential tree was actually faster than trying to reduce the potential tree.
Very often, an algorithm that has a bigger potential tree runs faster than a
reduced potential tree algorithm, because it extracts more accurate information.
And when you go to the next ply depth, the accurate information is extremely
efficient.
The most interesting example for me is that without QSearch my program is much
slower (and of course less accurate).
Search+QSearch has a bigger potential tree, but is far better (and actually
faster) than Search alone.
This is counter intuitive, but very interesting. When I realized that, I was
able to think differently.
Christophe
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.