Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Help with Static Exchange Evaluator

Author: Don Dailey

Date: 13:10:03 07/21/99

Go up one level in this thread


> My point is this.  Your checks are good for some tactical shots.  They are
> awful for common positions.  Because you are running down stuff in the q-search
> that is totally wasted.  And if you waste time here, you lose time elsewhere.
>
> For every position you find where a check in the q-search helps, There are
> hundreds of positions where it hurts just as much or more.  If my game results
> were bad, I'd be looking at why.  But I do just fine at present.  I have older
> versions of Crafty that _did_ do checks in the q-search (trivial to implement)
> but they don't play better because of it, IMHO.
>
> If you want to solve tactical problems, it is probably a good idea to do them.
> If you want to win _games_ I am not so sure.  IE when you use my quad p6/200,
> you are about 1/2 as fast as my quad xeon, yet when we play I don't see any
> tactical oversights by my program, generally...  And the extra depth on the
> positional moves I get helps significantly when there are no king-chasing
> tactics...

Very well  said Bob.  You have to  look at the whole  picture.  I have
discovered a  whole class of  tactical algorithms and tricks  that can
greatly improve a  programs tactical ability and yet,  when push comes
to shove makes the program weaker.

Have you ever  noticed just how often you find the  right move just in
the nick of time?  No matter  how fast my program gets, which hardware
and which time control, I easily and often see cases where it is about
to play  a losing move, and switches  over just in time.   There is no
doubt in my  mind this is happening all the  time in little positional
ways that I would never notice.  It happened at the world championship
and I  see it  happening to Occam  on the  chess server.  THAT  is the
reason that even with modern  hardware and awesome speeds every little
bit of speed is guaranteed to  help.  It's the same with knowledge, if
it slows  down the program  and is highly  specific to a  position, it
might  be great  knowledge to  have, but  it might  make  your program
weaker.  The question is how often does the missing knowledge make you
lose half  a point or more,  versus the 1/2 percent  slowdown it might
create in your  program?  Even 1/2 percent slowdown  will CAUSE you to
lose games  once in a while.   So the extra knowledge  better make you
win at least as much.

Now if  you add  an algorithm to  pick up  tactics, such as  checks in
quies, you are guaranteed to drop your speed just below this threshold
and suddenly  you miss  a whole class  of positional nuances  and even
tactics  (that don't  happen  to involve  needing  to see  a check  in
quies.)  All the  positions that you just barely saw  in time, you now
miss.  To  compensate, there  is a (much  smaller) class  of positions
that you definitely improve at,  namely any tactic (or even positional
nuance) that  involves needing  to see a  critical check in  the quies
search.

I think what  happens in peoples minds is that  these little things go
completely unnoticed and the  little slowdowns are too easily forgiven
when compared to  the sensation tactics that make  it appear that your
program must be stronger now when in fact it's just flashier.

But  still, I  am  not so  quick  to dismiss  checks  in quies.   They
introduce a real value and  benefit to null move selectivity, which is
quite weak  in picking up mate  threats.  But I suspect  that once you
give them  up, it may enable you  to do a host  of other optimizations
that may in the long run be a win.  It's all about tradeoffs isn't it?

Also, who knows what works  and doesn't in any particular program.  My
programs usually  covers some  classes of mate  threats with  a static
analysis that improves the quality  of the selectivity, I have no idea
what others  may do.  I  don't think using  or not using  a particular
algorithm can be easily  criticized since each programmer must measure
the tradeoff for his own program.

The proof is in the pudding.  Does a program play awesome chess?  Then
the programmer has probably made a lot of good tradeoffs.

- Don



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.