Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: bean counters - Ignore The Other Threads And Read This!

Author: Bruce Moreland

Date: 11:27:08 11/17/00

Go up one level in this thread


On November 17, 2000 at 11:31:47, Graham Laight wrote:

>On November 16, 2000 at 09:07:23, walter irvin wrote:
>
>>to me programs fall into 2 list bean counters and knowledge based .
>>bean counters
>>fritz
>>junior
>>nimzo
>>lg2000a
>>
>>knowledge based
>>shredder
>>hiarcs
>>rebel
>>tiger
>>diep
>>crafty
>>king
>>
>>now you would think that the knowledge based programs would destroy bean
>>counters .but that is usually not the case .bean counters are some of the best
>>and strongest .which makes me wonder if trying to put so much knowledge in a
>>program really makes it better .i think that depth of search would count for
>>more than knowledge .
>
>Hi Walter,
>
>I've read the other threads in reply to your post, and I disagree with them
>profoundly.
>
>In fact, at the risk of being insulting (sorry chaps!), I think they're stupid.
>
>What is meant by "bean counting", as used by Chris Whittington (aka Joe Besogn)
>is evaluating a position by generating as many "nodes" in the "game tree" from
>this position as possible, and selecting the move that allows the least worst
>position to be achieved by the opponent. The emphasis is on generating as many
>Nodes Per Second (NPS) as possible.

The emphasis is on beating humans and other programs.  In order to achieve this,
the program must have a balance of tactical power and positional competence.

This is a tradeoff that has practical consequences.  If you make your eval
"better", which you'd think might make it play better positionally, it may be
forced into make positional concessions because it can't see tactical
consequences.  But if your eval is too bad, you end up losing to tactics that
are over your horizon, because your position sucks.

Every programmer here, except the stupid ones, and I can't think of any of those
offhand, would cut the speed of his program by a factor of a thousand if he felt
that the strength of the program would increase.

Another factor that is important is intelligence of search.  If a program can do
the same thing it used to do, only 20% faster, it is usually at least a little
smarter.  Likewise, if it can avoid doing pointless nodes in the tree, it is
also smarter, and this has nothing to do with the eval.

The programmers who read this group are not attached to a particular philosophy
of chess programming.  They are doing what they can do to win games.  And I
include every programmer here, including Chris.

The design of these programs is based in pragmatism that comes from having to
actually solve a problem rather than talking about it.

>"Knowlwdge" (or at least what I think people should mean by "knowledge") is how
>much you know about something. It is estimated that human GMs know 50,000
>discrete things (or recognise 50,000 different patterns) about chess. (Source:
>chess skills in man and machine).

That is an ancient book, which discusses many ideas that have not made the
evolutionary cut in chess program design.  It is an interesting book, but the
proper response to the 50,000 number is "so"?

>Where we have access to the source code for a program, we can make an estimate
>of the amount of knowledge that exists. I have done this for the evaluate.c
>function of Crafty.x (modified 6/1/00) which I downloaded from Dann Corbitt's
>site. I counted 150 discrete pieces of knowledge. I don't claim that number to
>be 100% accurate (I did the count quite quickly), but I do claim it to be of the
>right order of magnitude.

There are more than 150 pieces of discrete knowledge in Crafty, depending upon
how you count.  And that is not how they work, anyway.  There are most likely
thousands of individual little micro-chunks, which working together try to guide
the program toward a good choice.  Mine has ten or twenty thousand of these, a
lot of the evaluation info is generated at boot, rather than by hand, but I
don't claim it's smarter than Crafty.

And even if you count the knowledge in the endpoint eval, there is more
knowledge that is manifested through the addition of search.  Search adds
concrete knowledge as well as intuitive knowledge.

The programs can play as if they had knowledge that is not specifically coded
in, and which their programmer may not even possess.

>Now, if we accept that both the 150 and the 50,000 number are of the right order
>of magnitude, one would have to agree that the human GM is strongly "knowledge"
>based, wheras Crafty is strongly "bean counter" based.

It is representative of all programs, not just fast ones.

>What the other threads from your post are about, goodness only knows.

I started the A-Z thread because I think it makes about as much sense as this
one.  These programs can't be differentiated as to their approach, as long as we
don't know a lot about them.  I think they are mostly very similar.

bruce

>
>-g



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.