Author: Robert Hyatt
Date: 11:44:59 11/19/02
Go up one level in this thread
On November 19, 2002 at 12:29:44, Sune Fischer wrote: >On November 19, 2002 at 11:44:07, Robert Hyatt wrote: > >>I don't follow your math. If I do a 9 ply search (assuming no extensions here) >>I don't ever >>probe at ply=1 as that is useless, but I do probe at plies 2 through 9. > >How do you know it is useless, what if you have done a 15 ply search two moves >(real moves) earlier, and the pv was correct? You might still have a useful 13 >ply result in the hash, perhaps an exact matescore. What do you get if you get a hash hit _before_ you search anything at that depth? Nothing. Do you now want to start another iteration? If I find the ply-1 position in the hash table, I will almost certainly find the ply-2 position there as well, so there is nothing lost. But I don't like the idea of the search terminating before it starts... > >>I don't >>see how my last >>ply is "not a full ply" as I do everything at the last ply that I do at every >>_other_ ply in the >>full search.. > >I don't follow that; just before going off to qsearch you makemove() and do some >extensions, then you go to qsearch. There is no repetition detection or egtb >probes or anything as far as I can tell, so I don't see how it can be a normal >ply. The _next_ ply doesn't do repetition checks. The _current_ ply does, when I enter. The _current_ ply is normal. Hash probe, repetition check, egtb probe, null-move search, iternal iterative deepening if needed, etc. It is the _next_ ply that won't do a hash probe or any of that, just search captures that look reasonable. > >>>>Ditto for search extensions as they occur right after MakeMove() is called, >>>>prior >>>>to the recursive call to Search or Quiesce... >>> >>>I counted 6 calles to Quiesce() in Search() (Crafty 18.15), I need only 1 call >>>:) >> >> >>Are you doing (a) internal iterative deepening? > >no > >(b) null-move search? > >yes > >>those >>account >>for three distinct calls. (c) PVS? > >on and off, I can't figure out if it works for me, I get more nodes every other >ply and as a principle I don't like to destroy the only real good information >there is: the alpha and beta values. > >>that requires three overall. One for the >>first move, >>Potentially two for any move but the first, since the null-window search can >>fail high >>and it must be re-searched. >> >>None of those are "repeated" or "duplicates"... > >I have several Search() calls, but only one Quiesce() like I only have one >Eval() and only one IsDraw(). > I only have one eval call, in quiesce(). But everywhere I have a search() call I have a matching quiesce() call in case the depth is insufficient to call search yet again. >-S.
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.