Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What is Wrong with Shredder 7.0.4's Position Evaluations?

Author: Uri Blass

Date: 16:27:01 09/12/03

Go up one level in this thread


On September 12, 2003 at 18:52:07, Jeremiah Penery wrote:

>On September 12, 2003 at 13:53:53, Uri Blass wrote:
>
>>On September 12, 2003 at 13:33:36, Gian-Carlo Pascutto wrote:
>>
>>>I can see what Bob does (credits to him for that), and I can test
>>>what he does, and I know it's worse than what I do.
>>
>>You need first to understand exactly what he does and it is not a simple task.
>>I think that most programmers have no time for that task and they prefer to work
>>about their program independently.
>>
>>They may look at Crafty but not try to copy everything there in order to compare
>>with Crafty.
>
>I bet GCP knows better what Crafty is doing than almost anybody else does.  He
>did, after all, write complicated code for Singular Extensions in Crafty a while
>back.
>
>But even I (and I do not have the skill or knowledge to write an entire chess
>program by myself) can understand Crafty to a pretty large extent.  I give Bob a
>*ton* of credit for writing what, to me, is extremely readable code.  I've tried
>a few times to read the code of other chess programs and I get lost almost
>immediately in the sea of indecipherable variable/function names and the like.
>As far as chess programs go, Crafty is *EASY* to read and understand.

I can say that there were some things that I understood but I did not try to
understand most of the code.

Comparing evaluation of Sjeng with evaluation of Crafty means understanding
every detail of the evaluation and I did not try to do it.

currently I am struggling in the task of implementing pawn hash for movei when I
want to hash only information.

It is not a simple task for me because I did in the past a lot of incremental
evaluation for pawn structure and I had a lot of global BitBoard that I need to
get rid of them.

I also have no function to calculate full static pawn structure.

I have a function to setup position but this function calculate information
about number of pawns in every file not in one step after I put all the pieces
in the board but incrementally every time that I put a pawn in the board.

Another problem is that I have a function to evaluate the evaluation change from
a move that is based on the change of the piece square table and the change in
part of the pawn structure that is about double pawns
(I use this function to decide if to make moves in the qsearch and if the value
of the move is not big enough then I do not do it).

The reason for this evaluation is that I thought in the past to have incremental
evaluation to save time and I thought to calculate both the piece square table
and the pawn structure incrementally.

I decided after the problems with evaluating only piece square table and double
pawns to stop it but incremental evaluation of piece square table+double pawns
still survived.

Now if I have the information about double pawns only in the hash then I need to
change also the function that evaluate moves in order to read the information
from the hash and not from the global varaible that I have for double pawns.


I hope that I can finish the pawn hash job in the next week so I go back to more
important things.

Uri



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.