Author: Vasik Rajlich
Date: 00:24:50 12/26/03
Go up one level in this thread
On December 25, 2003 at 20:32:24, Christophe Theron wrote: >On December 25, 2003 at 14:35:53, Uri Blass wrote: > >>On December 25, 2003 at 14:04:47, Christophe Theron wrote: >><snipped> >>>By experience, no smart evaluation can compensate for the loss of one ply of >>>search. In theory evaluation could compensate, but in practice I don't think >>>anybody has ever managed to do it. >> >>I think that evaluation can compensate easily for loss of one ply of search and >>not only in theory because it is easy to tell your evaluation to calculate the >>result of 2 ply search. >> >>Evaluation by definition is a function that get a position and returns a number. >>If the target is not to play better but to prove that evaluation can compensate >>for 1 ply search then you simply tell your evaluation to perform 2 plies search. >> >>Note that some kind of search is already needed in smart evaluation even if you >>do not make moves. >> >>For example you cannot detect trapped pieces in evaluation without checking that >>every square that they can go is threatened by the opponent. >> >>You cannot detect forks in your evaluation without doing some kind of search. >> >>Uri > > > >Why did I *know* you would say that? :) > >In this case (positional evaluation doing a search), it's going to be a very >expensive (computationally) evaluation. And what it does is... a search. So it >just proves that nothing beats searching deeper... > >You can quibble on the definition of what positional is, of course. I have >already stated myself several times that simple evaluation terms are able, given >enough depth, to understand more complex concepts. So search is able to extract >some positional information that is not explicitely described in the evaluation >function, yes. > This appears to be true for shallow searches. I've noticed that with very shallow searches (like four or five ply) my program wants to play all sorts of positionally weak moves which it doesn't want to play any more at seven or eight ply. It seems that this also applies to extending deeper searches, according to for example the SSDF results for different hardware. Clearly, a higher nps is good. I am just wondering where exactly the line lies between maximizing speed and adding knowledge. Considering the following hypothetical engines: engine A - spends 10% of its time in eval engine B - spends 67% of its time in eval Engine A will have a 3x higher nps, so it will do slightly more than 1/2 ply extra. Engine B will be spending 20x longer evaluating each position. It seems that engine A will gain around 50 rating points from its deeper searches (at least at time controls long enough that engine B can also make it to 8 or 9 ply). It's hard to believe that a few accurate eval computations couldn't compensate for this. This would suggest that generally speaking it's quite acceptable to have some expensive computations in the eval, provided you stay within some sort of an acceptable limit, say not more than two-thirds of total search time. Vas >Basically, positional evaluation is the kind of information you extract without >doing a search, which is not material bean-couting, and which tries to evaluate >how well your pieces are positioned. A SEE for example is not a positional >evaluator: a SEE is doing some kind of move search (it searches a degenerated >capture tree) and it does material bean-counting... On the other hand, a penalty >for a weak pawn is a positional term, for example. > > > > 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.