Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Management Of Evaluation Knowledge - How Does Crafty Do It?

Author: Robert Hyatt

Date: 19:27:54 07/22/00

Go up one level in this thread


On July 22, 2000 at 20:03:26, Graham Laight wrote:

>On July 22, 2000 at 18:19:37, Ralf Elvsén wrote:
>
>>On July 22, 2000 at 13:18:54, Graham Laight wrote:
>>
>>>On July 22, 2000 at 07:26:12, Ralf Elvsén wrote:
>>>
>>>>On July 22, 2000 at 04:47:14, Graham Laight wrote:
>>>>
>>>>>Looks like Ed doesn't want to continue this thread any more, which is
>>>>>understandable, because if he does, he could end up revealing more about how he
>>>>>does evaluation than he really wants to.
>>>>>
>>>>>So - if anyone reading this knows how knowledge in Crafty is organised, could
>>>>>they post an overview here, please, so that we can continue this thread?
>>>>>
>>>>>Thanks for your help with this.
>>>>>
>>>>>-g
>>>>>
>>>>
>>>>You can download the source code and look for yourself. I know
>>>>roughly how the program works, but don't feel qualified
>>>>to answer your question.
>>>>
>>>>Ralf
>>>
>>>OK - I'll look for it when I've got a spare moment (next week).
>>>
>>>In the meantime, please feel free to write a brief overview here. As long as you
>>>don't claim to be an authorative expert, I'm sure none of us will mind if you're
>>>not 100% accurate!
>>>
>>>-g
>>
>>I think I'll pass. I don't quite understand what you're
>>looking for since yours and Ed's discussion was over my head.
>>But promise to tell us what conclusions you
>>reached. I for one is interested. Btw, I hope you know how a
>>chess program is organized? Otherwise I'll be glad to help you as
>>well as I can.
>>
>>Ralf
>
>To save me a bit of time, can you tell me where I can download the source code
>for Crafty, please?
>
>Thanks.
>
>Btw, what I'm after at this stage is nothing more than an overview of how the
>evaluation is done.
>
>For example, it might be (and I hope I'm proven wrong on this!) that it's
>nothing more than, for each position evaluated, a chunk of code asks if a
>particular positional aspect (e.g. past pawn) is present, another piece asks if
>the next positional aspect is present, and so on.
>
>Any kind of answer from anyone would be useful to get us started here - I don't
>think any of us will mind if the first poster is not very accurate. I think that
>once the ice is broken, we'll start to home in on what's happening fairly
>quickly.
>
>-g


I have three kinds of knowledge in crafty.

First-order knowledge is simply knowledge that is independent of any other
piece on the board.  IE a pawn at e4 is worth X.

Second-order knowledge covers interactions between pieces.  IE a rook on the
7th is good if the opponent's king is on the 8th, or if the opponent has pawns
on the 7th.  Or if it is an "absolute 7th".  A knight is good if it sits in
a good outpost square that can't be attacked by an enemy pawn.

Finally there are third-order terms.  I look at king safety like this:  1.  how
is the pawn shelter around the king?  holes?  missing pawns?  open files?  half
open files for the opponent?  etc.  2. how close are opponent pieces to my king
and what combinations of pieces are present (ie a queen is important here).
3.  how much total material is left on the board.  All three of these values
are merged thru indirect table lookups so that more pieces around a king with a
weak pawn protection is good, while more pieces around a less open king is not
as good, etc...  It is pretty complex, but it mimics the way I tend to think of
king safety myself...

And there are some special-purpose eval tests, for trapped bishops (ie Bxh7 g6),
positions with no pawns, positions with 1 pawn, etc..



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.