Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: u2600 Club Rating List - Jan 25

Author: KarinsDad

Date: 09:09:03 01/26/99

Go up one level in this thread


On January 26, 1999 at 11:01:27, Andrew Williams wrote:

>On January 26, 1999 at 10:05:09, KarinsDad wrote:
>
>>On January 26, 1999 at 05:12:09, Andrew Williams wrote:
>>
>>>On January 25, 1999 at 18:30:20, KarinsDad wrote:
>>>
>>>>
>>>>I don't understand. Couldn't you just as easily find positions that had castling
>>>>in the TT way before you actually castle in your position? What is so special
>>>>about castling? Is it that the number of transpositions drop drastically after
>>>>castling (even though some would still be there)? Also, wouldn't castling often
>>>>be within opening book moves so you are not yet in your TT?
>>>
>>>Sorry, I wasn't being particularly clear here. What I mean is that after I
>>>castle, I change the pawn scoring to reflect the side the King is now sitting
>>>on. So the pawns on that side are told to stay put, while the ones on the
>>>other side are allowed to advance (this is a simplification, of course). So
>>>I clear the TTs because the scores from before castling are not compatible
>>>with those after castling.
>>>
>>>
>>>Andrew
>>
>>Wow! What a good idea! Probably wouldn't have figured this one out on my own in
>>a long time.
>>
>
>I wish I could claim credit for this, but I think crafty (and probably
>everyone else!) does this too.
>
>>With this in mind, do you also modify the pawn information within the search
>>tree once you castle there as well (i.e. 6 ply down, it castles, hence the
>>evaluation function should have a pawn modification below that node which is
>>different than the pawn structure information, I assume you are using a >separate pawn structure evaluation)?
>>
>
>No. But this was my original intention. I didn't do this because....
>Oh dear, I've forgotten now. I think it was something to do with the way I
>hash my pawn scores. The hashing only takes into account the location of
>the Pawns, so I can't include any scoring that depends on the location of
>the pieces. (It's coming back to me now). The original idea here was to
>have different pawn scoring in the endgame (try to get them to promote) from
>in the opening and middlegame (try to get them to stand still long enough
>so that I don't get mated). So, I devised a different piece/square table for
>my pawns once I reach the endgame, but "reaching the endgame" is dependent
>on how many pieces are on the board. If I try to switch halfway-through the
>search, it will mess up my pawn hashing (which I don't want because my pawn
>TT gives me a big speed boost). So I switch piece/square tables at the root
>of a search. While I was doing this (endgame piece/square tables), I thought
>it would be a good idea to have different ones to reflect where each side has
>castled - and I just incorporated this idea with the other.
>
>There is a slightly modified approach that would include the King's position
>in the pawn hash key. Then any scoring relating to the King that doesn't
>depend on other pieces (eg pawn shelter around the king) can be included in
>the score that is put in the pawn hash table. This would allow me to switch
>during the course of a search. This was being talked about here a few months
>ago, and I think that Ernst Heinz said he did this. I'm pretty sure that it's
>in crafty too.

Actually, I would think that having multiple elements of information in your
pawn hash key (similar what I do in my position hash key) such as approaching
endgame (i.e. types and number of pieces remaining, especially the removal of
the rooks and queen), king location, etc., regardless of the pawn structure
could be done. Then, you would not have to prune the TT, each position is scored
individually and "correctly" based on position "conditions". This would either
increase the number of pawn hash entries, or if you put multiple pieces of
information in the pawn structure, you could keep the same number of entries at
the cost of a larger structure and more processing time to calculate it (of
course, you would only have to calculate pertinent info, i.e. if you haven't
castled yet, no need to calculate the castle info., once castling is found in
the search, you could calculate castling info on a per need basis if not
currently in the pawn structure, and once castling is done, you could not
calculate any pre-castle info anymore, and prune the TT accordingly).

All in all, this may take quite a bit of code and additional time in the search,
so you may be better off doing what you are currently doing.

Once the rooks and queens are removed from the board, the only piece that can
simultaneously attack a pawn and the square in front of the pawn is the king
(and this only from 3 squares unless the pawn checks the king). Hence, there is
a threshold where the remaining pieces can either attack the pawn, or the square
in front of the pawn, but not both simultaneously. Therefore, at least two
pieces must be used together to attack a pawn and the nature of the game changes
accordingly.

Also, an open file becomes less useful when the rooks and queen are gone, so
those bonus points for having a half or fully open file should go away at that
point.

Does your pawn structure take into account open diagonals for bishop and queen?
A harder concept to really understand and implement.

>
>I hope this is clear (it's a bit "stream of consciousness", I'm afraid). I'm
>really glad you asked the question, because you reminded me that I've only
>done half of what I was thinking about doing.
>
>From the hints you've dropped, your program sounds like an interesting project.
>Any idea how long before it plays its first game? Are you going to play it on
>the servers?

No. It is in it's infancy. Part of the search algorithm, the hashing algorithm,
and the evaluation function still have to be done, just to get it to work. Plus
we changed it to use xraying and non-xraying attack tables with bitboards for
use by the evaluation function and the legal move generator, hence they have to
change to take advantage of this. Then there is having it talk to WinBoard,
putting more sophisticated evalutation elements such as a pawn structure,
putting in chess knowledge, opening books, etc., etc., etc. We just started 2
months ago and in reality, have spent less than a half hour a day on average
working on it, so it is slow going.

I would guess that we will not have it on the servers (and then maybe only fics)
until summer time. But I'm hoping to have at least a 2000 rated program by then.

Keep working at it :)

KarinsDad
>
>Cheers,
>
>Andrew



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.