Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about fruit code

Author: Uri Blass

Date: 04:37:47 06/29/04

Go up one level in this thread


On June 29, 2004 at 05:19:46, Fabien Letouzey wrote:

>On June 28, 2004 at 21:10:40, Uri Blass wrote:
>
>Hi Uri,
>
>>I do not understand the reason for the name of the following function
>>It does not check if a square is empty but only if the square is not a pawn.
>
>>static bool square_is_empty(const board_t * board, int square) {
>>
>>   ASSERT(board!=NULL);
>>   ASSERT(square_is_ok(square));
>>
>>   return !PIECE_IS_PAWN(board->square[square]);
>>}
>
>This module is the pawn hash table.  I need to make sure that the position of
>pieces does not interfere.  As far as this module is concerned, a square that
>does not contain a pawn is "empty".

1)I think that the name of the function is misleading and it is better to change
it to square_does_not_contain_a_pawn.

2)I think that the definition of backward pawn should be dependent also on
pieces but I dount if the definition of latest movei is better because it means
that a pawn that is supported by the king can be defined as backward(white pawns
a3 b4 and white king a4).

I also thought that speed optimization like pawn hash tables is too early at the
stage of movei and it is better first to find correct evaluation of pawn
structure but maybe punishing blocked backward pawn by a piece is not productive
because it means in the endgame that a3 is backward when you have a3 b4 and king
at the square a4.

I do not find big speed panelty from adding backward pawns but
maybe in the case of movei speed is also less a problem because I use bitboard
for pawnstructure and I can identify suspect for backward pawns by one bitboard
so I do not need to do a loop on all the pawns to find the pawns that are
suspected to be backward pawns.

Note that I have bitboard for weak isolated pawns that is not used in the
program now(it was used in the past to punish isolated pawns only if they are
not passed pawns in all the versions that were tested by people before 00_8_247
but I found that changing it to punish every isolated pawn by 0.1 pawns is
probably better).

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.