Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: transition to endgame

Author: Dann Corbit

Date: 18:03:42 04/02/04

Go up one level in this thread


On April 02, 2004 at 21:02:39, Dann Corbit wrote:

>On April 02, 2004 at 19:00:47, Dann Corbit wrote:
>
>>On April 02, 2004 at 18:47:34, Eric Oldre wrote:
>>
>>>Hi everyone,
>>>I've been working on my new chess engine for a few weeks now and am pretty happy
>>>with the progress i've made so far. I'm even going to try entering it into
>>>Olivier Deville's ChessWar tournament next week. I've set the lofty goal for
>>>myself of not taking last place. I give myself a 50/50 shot of reaching it.
>>>
>>>I've been playing it against some engines here at home and noticed a trend in
>>>it's play. It seems to do OK in the middle game, but about the time it get down
>>>to having some pawns and 2 minors/rooks it's game starts to fall apart.
>>>
>>>At this point t is usually about even or sometimes up in material (not against
>>>any "elite" engines of course, and i don't see any major weaknesses in it's
>>>position, but the opponent either chips away at it's pawns, or gets a promotion.
>>>or just mates it. The point is that i don't see any one specific thing that it
>>>isn't catching.
>>>
>>>One thing is that i don't have any special endgame evaluation changes. I plan on
>>>making it so that it starts to value the king in the center instead of behind
>>>it's pawns. but i don't think that alone will make the difference.
>>>
>>>So my question is: what suggestions do you have for ways could i improve it's
>>>play during the endgame, or would i call it the "middle-endgame" at that point?
>>
>>If the board is sparse, centralize your king.  He'll help a lot.  He attacks 8
>>squares, just like a knight, after all.
>>
>>Give a bonus for the forward pawn squares.
>>Give a bonus for passed pawns.
>>Give a bigger bonus for unstoppable passed pawns.
>
>Here is how Beowulf figures out the game stage:
>
>/* Sorts out what stage of the game the board is in. */
>int             GetGamestage(int tpts)
>{
>    if (tpts > 70)
>        return Opening;
>    if (tpts > 62)
>        return EarlyMid;
>    if (tpts > 54)
>        return Middle;
>    if (tpts > 46)
>        return LateMid;
>    if (tpts > 22)
>        return Endgame;
>    return LateEnd;
>}
>
>piece value is q=9, r=5, b=n=3, p=1
>tpts is the total points on the board.
>
>Here are TSCP's king square tables:
[snip]
Oops.  Not sure why so much got pasted.

>int             king_pcsq[64] = {
>    -40, -40, -40, -40, -40, -40, -40, -40,
>    -40, -40, -40, -40, -40, -40, -40, -40,
>    -40, -40, -40, -40, -40, -40, -40, -40,
>    -40, -40, -40, -40, -40, -40, -40, -40,
>    -40, -40, -40, -40, -40, -40, -40, -40,
>    -40, -40, -40, -40, -40, -40, -40, -40,
>    -20, -20, -20, -20, -20, -20, -20, -20,
>    0, 20, 40, -20, 0, -20, 40, 20
>};
>
>int             king_endgame_pcsq[64] = {
>    0, 10, 20, 30, 30, 20, 10, 0,
>    10, 20, 30, 40, 40, 30, 20, 10,
>    20, 30, 40, 50, 50, 40, 30, 20,
>    30, 40, 50, 60, 60, 50, 40, 30,
>    30, 40, 50, 60, 60, 50, 40, 30,
>    20, 30, 40, 50, 50, 40, 30, 20,
>    10, 20, 30, 40, 40, 30, 20, 10,
>    0, 10, 20, 30, 30, 20, 10, 0
>};



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.