Author: Robert Hyatt
Date: 05:39:30 01/15/99
Go up one level in this thread
On January 15, 1999 at 00:03:23, KarinsDad wrote: >On January 14, 1999 at 22:37:25, Robert Hyatt wrote: > >>On January 14, 1999 at 17:49:15, KarinsDad wrote: >> >>>I have been considering the possibility of having two sets of evaluation >>>routines in my code. One set is a quick simplistic evalution and the other is a >>>slower, more detailed evaluation. >>> >>>The simplistic evaluation consists of any set of data which can quickly be >>>calculated such as material and safe squares. I was also going to have my pawn >>>structure score here as well since I am using one large hash table for it, >>>hence, since pawn structures are relatively stable and once calculated, they can >>>be re-used for multiple positions across the search tree. >>> >>>The detailed evaluation was going to consist of the simplistic evaluation, plus >>>modified piece values (based on where they are and what they are doing), square >>>control, king safety, etc. >>> >>>My questions are: >>> >>>1) Has anyone used an approach similar to this, and if so, is it successful? and >> >>One example I know of was/is Cray Blitz. We did a fair amount of the eval in >>an incremental update mode, because the peculiar hardware on the cray let us do >>this stuff absolutely 'free'. We didn't do anywhere near all of the eval like >>this, of course, but we did a lot. And this was available in a global variable >>whenever we wanted it, instantly. It included material and a lot of basic eval >>stuff like the piece/square values, most pawn structure plus things like >>outposts and so forth. This could be used as a good 'first approximation' of >>the eval (ken thompson [and then Hsu in DT/DB] used a 'fast eval/full eval' >>approach to produce the same result in hardware). So it can work. >> >>An alternative is a 'lazy eval' which was how our slow eval in Cray Blitz >>worked. I do a sorta-lazy-eval in crafty, where I just take an early exit >>before I hit the time-consuming part of the eval, if the score is too far >>outside the A-B window. >> > >Excellent! As always Robert, you are a gentleman and a scholar. > >> >> >> >>>2) If I use this approach, where should I use each evaluation? I was thinking of >>>using the detailed evaluation only on the first few ply (maybe up to 4), on the >>>entire PV, and at the leaf nodes of non-quiescent paths (once they became >>>relatively quiescent again). I would then use the simplistic evaluation >>>everywhere else for speed. Does this seem reasonable, or am I missing something >>>here? Will having scores derived from two different evaluations result in a >>>skewing of the search? >> >> >>I think that more than one commercial program does this... full eval done >>somewhere before the leaf positions, and then only minor incremental changes >>for the last few plies, to get more speed. I'm not willing to do that yet. >>IE I tried (a couple of years ago) to do my full eval at 'leaf' positions and >>then just update material thru the q-search. And I ended up with shredded >>pawns for one thing. > >One final question: Would it be worthwhile to calculate the time remaining >versus the number of nodes at the leafs versus the time it takes to do a >detailed evaluation (plus a little extra if your pv changes) and then do a full >eval for some majority of the leafs (to verify the correctness of the search)? >In other words, drop a fraction of a ply of searching at the end in order to >verify that the searching you did do was more accurate. > >Thanks for the input :) > >KarinsDad > > I can't answer. In theory, it sounds as flawed as my "eval at the leaves then update material only for the remainder of the q-search" idea. Because when you make several captures you perturb the position. IE Bxf6 gxf6 is not something I want to commit to lightly, if I have castled over there. Ditto for Rxb2 Rxb2, giving my opponent a rook on my 7th. It could work, but what is needed is for 'significant' evaluation things to be done everywhere, so at least you don't overlook the important things. Whether two pawns are side by side or staggered one rank is important, but not nearly as important as a shredded kingside or a knight stuck in my throat. >> >> >> >>> >>>Thanks, >>> >>>KarinsDad
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.