Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Should an engine using SEE beat another not using it?

Author: Carlos del Cacho

Date: 16:00:30 01/27/01

Go up one level in this thread


On January 27, 2001 at 16:43:05, Tony Werten wrote:

>On January 27, 2001 at 16:34:53, Carlos del Cacho wrote:
>
>>On January 27, 2001 at 14:30:18, Severi Salminen wrote:
>>
>>>Hi!
>>>
>>>I made a few test games between a version of my engine using SEE and another
>>>using just MVV sorting. I played only a few (24) games and time control was
>>>5min/G and in 8 games 1min/G. The result was 12-12! Is this possible, normal, or
>>>do I have a bug? I would have guessed that the SEE version had beat the hell out
>>>of the other but that never happened. It seems that SEE slows things down a lot
>>>and the net result seems to be that it searches equally deep compared to the
>>>other version. Has anyone here measured the true benefit of using SEE? Could you
>>>show me positions in which SEE makes a big difference or could you run self-test
>>>games between two versions of your program? Are there positions where SEE hurts
>>>searching? I really like to know if SEE is worth it? I have a relatively slow
>>>computer (300Mhz Celeron, Crafty running at 80KNPS) so could time control and
>>>overall speed have influence on this?
>>>
>>>Any comments are welcome!
>>>
>>>Severi
>>
>>Just a quick test. Two runs on WAC 5 sec/problem:
>>
>>   - SEE pruning in Quiescent Search: 270
>>   - without it: 246
>>
>>So it is definitely a win for my program (Pepito).
>>
>>The only difference between these builds was commenting out these lines:
>>
>>    val = SEE(pos_stack->jug);
>>    if (val < 0)
>>      continue;
>>
>>    val += MARGEN_QUIES + pos_eval;
>>
>>    if (val <= alpha)
>>      continue;
>>
>>But you should note that I try not to call the SEE function whenever possible.
>>If I can get a cut with pos_eval + mat_gain I give up this capture. Another
>>question is if SEE is profitable in normal search. I also it there but kicking
>>it out would be a bit more difficult so I haven't tried yet :-). At the same
>>time captures are generated I assign them their MVV/LVA scores. Then I try
>>captures with positive scores and when this gets below zero I call SEE for
>>remaining moves. Losing ones are searched after all non captures. I'm not really
>>sure about the gains here so I'll give it a try...
>
>I'm a correct in assuming you don't do checks in qsearch and your MAX_EVAL < 2
>pawns ? Because in that case SEE is definitly a win ( maybe also if you do some
>checks and max_eval is a bit bigger than 2 pawns )

Yes. I don't include checks in quiesce. I rely in check extensions in normal
search. And my evaluation function can only get positional values over 2 pawns
in the endgame so I should disable this there.

Carlos


>
>Tony
>
>>
>>Greets,
>>Carlos



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.