Author: Robert Hyatt
Date: 13:08:20 03/10/03
Go up one level in this thread
On March 10, 2003 at 11:14:43, Tony Werten wrote: >On March 09, 2003 at 23:29:15, Robert Hyatt wrote: > >>On March 09, 2003 at 16:03:45, Uri Blass wrote: >> >>>On March 09, 2003 at 15:43:37, Russell Reagan wrote: >>> >>>>I think that most people subscribe to the school of thought that says that >>>>quiescent search is not perfect, so do it fast and "good enough" for most >>>>situations. If you could have a perfect quiescent search, what price would you >>>>be willing to pay? One ply of full width search? Two ply? Time to depth takes >>>>twice as long? I am interested what programmers with more experience than myself >>>>think about this. >>> >>>If I have perfect quiescent search that give me exact evaluation of every >>>position(win,draw or loss) then even paying 10 plies may do you unbeatable. >>> >>>I do not know what you mean by perfect qsearch. >> >>The definition is trivial. By definition the _only_ task for the q-search >>is to take a position given to it by the normal search, and reduce it in >>simplicity until there is _no_ dynamic characteristics left. If that can >>be done, then a "static evaluator" can give an accurate score that won't be >>mislead by tactical considerations nor by positional traps. >> >>Not possible to write a perfect one of course. :) >> >>> >>>I think that the idea of Bas Hamastra to do checks in the first plies of the >>>qsearch is productive. >>> >>>Bob tried a similiar idea that did not work but I understood that he only tried >>>checks in all plies of the qsearch. >> >>No. I did as I did in Cray Blitz, which has been documented in the past in >>several papers: If, at a ply P in the q-search, the following conditions are >>met, I will try to generate and search checking moves: > >Different discussion. You are talking about generating all moves when in check. >The idea Bas (and I ) use is about generating check giving moves. When >generating checking moves, you have to generate all check evading moves. You >have to limit these checking moves to the first couple of ply of qsearch or else >it explodes. > >Tony Actually I talked about _both_ above. One was to generate checking moves when reasonable. The "I will try to generate and search checking moves" means this case. two was to exhaustively try to get out of check when reasonable. > >> >>1. At all q-search nodes, P-1, P-3, ..., P-n, my opponent was in check, >> >> >>2. plus at a small number of nodes in the basic search he was also in check >>(this to be sure that I don't follow a bunch of junk checks in the q-search >>if the main search wasn't looking at tactical stuff too.) >> >>If, at any P in the q-search, and >> >>1. at ply P-2, P-4, ..., P-n, this side is in check; >> >>2. The current side was in check in a small number of plies in the normal >>search. >> >>Then I would try all check evasions by using the normal Search() code which >>would recognize mates. >> >>> >>>I found that checks in the first plies of the qsearch did movei slightly better >>>in test suites with no significant demage in games and my function to detect >>>checks in the qsearch is a slow function that I need to improve. >>> >>>I think that other ideas may be also productive and detecting cases when the >>>side to move is in trouble is important(checks are good candidates but it is >>>possible to catch more cases and movei catch more cases but not enough). >>> >>>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.