Author: Peter Fendrich
Date: 14:21:35 04/17/98
Go up one level in this thread
On April 17, 1998 at 00:36:18, Christophe Theron wrote: - snip - >> >>The SEE code itself should be faster than Qsearch, shouldn't it? > >I don't think so. > >If your QSearch has only one, two or three positions to examine to get a >cutoff, I bet it is faster than your SEE. > >That's why I said this is counterintuitive. If you try to imagine what a >QSearch does, you can easily convince yourself that it is a very long >process. Think: it has to try every capture in the position, then every >capture in response, then... with no depth limit. If you assume there is >always 2, 3 or 4 captures available in any position, you come very >quickly to the conclusion that the QSearch has to be avoided by any >mean. > >That's what I thought in 1981 when I was writting my first chess >program. That's why I said that building a SEE was my very first idea >(at that time, I didn't know if anybody else had already tried this >idea). > >But QSearch is far more efficicient that it seems at first glance. For >example, take Crafty and let it think on a position. At the end of the >search, take a look at the number of total nodes visited, and the number >of nodes visited in QSearch. > >I tried this with an old Crafty version, and it seems that QSearch >visits only between 3 and 5 nodes for every node visited in the "full >width" search. Maybe it is even less, due to the way Bob counts the >nodes. > >For my program, Chess Tiger, the ratio is less than that. > >So depending on how your program is designed, a simple QSearch can be >faster than the best SEE you'll ever design, and far more reliable. > >It may or may not be the case. Try it out. > Of cource you have a point but it still doesn't hold for me probably due to different techniques which gives different views on this subject... I use a bitboard approach and generating captures is really nothing compared to going through a search. Futhermore the swapoff can be reduced, it isn't necessary to go throug all captures. But in the end, the SEE isn't as accurate as the QSearch and I still doesn't know which method is best for the deep iterations. One has to take into account that the QSearch misses more sofisticated tactics as well. When I make tests between different versions of my own program the QSearch version is slightly better but against other programs I don't see any real differences at all. That's why have a feeling that the SEE-version could gain more by extended evaluation or extensions. I haven't tried that yet. Peter
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.