Thread View: gnu.chess
2 messages
2 total messages
Started by R.Moats
Wed, 14 Nov 1990 20:03
in the interests of BW
Author: R.Moats
Date: Wed, 14 Nov 1990 20:03
Date: Wed, 14 Nov 1990 20:03
48 lines
3153 bytes
3153 bytes
Folks- In the interests of adding BW to this group, and waking up all the computer/chess types out there, I am posting the following questions, suggestions and modifications to GNUchess. 1. GNUchess (at least the version I got from MIT, I don't remember which version # it is) evaluates nights as only 5 points less than a bishop in quiessent state. Since a pawn is nominally 100 points, this leads to GNUchess giving up the 2B's just to double its opponent's pawns. Now, IMHO the doubled pawns are dynamic and can be undoubled with proper play, leading to positions where GNUchess is simply down the B pair with no compensation. By modifying the value of a knight to be 300 (lowering it by 1/2 pawn), GNUchess is much more protective of the 2 B's, and plays slightly stronger. In a G/15 match between the modified GNUchess and the unmodified GNUchess, the modified version went +7 -2 =12. 2. Another obnoxious piece of behavior with GNUchess is that its book does not handle transpositions or do any evaluations on the positions. While I am still thinking about how to build a hashed transposition table in GNUchess (I've been kicking ideas around for about a year, but haven't managed to get the propagation of position values to move backword through the history of positions properly), I am wondering if anyone out there has solved this problem. 3. A minor quip: has somebody out there fiqured out how to use shorthand algebriac (ie. e4 c5 nf3, rather than e2e4 c7c5, g1f3)? 4. Lastly, and where I think the place where the largest improvment as far as the programs speed is concerned, is that GNUchess uses a linear tree for move generation in its searches. This is fine, except that it calculates moves for all ply>1 repeatedly. Has anyone thought of a way to keep a tree of all the legal moves around after a particular move has been played, so that at the next ply, the program is only required to play the moves and not generate them. An alternative (although I doubt it could be made to fit in any reasonably sized machine) is to maintain a record (list, whatever) of all positions arising from the tree, and conducting the next ply of the search by loading the position and doing a 1 ply search on it. Ryan Moats AT&T Bell Laboratories Holmdel, NJ PS. Another thing. Has anybody figured out a good way to improve GNUchess's admittly gross endgame play? Like, any ideas for encoding most of the Averbakh series on endgames?
Re: in the interests of BW
Author: Eugene Wallingford
Date: Thu, 15 Nov 1990 13:33
Date: Thu, 15 Nov 1990 13:33
32 lines
2306 bytes
2306 bytes
Ryan Moats writes:
>1. GNUchess (at least the version I got from MIT, I don't
>remember which version # it is) evaluates nights as only 5 points less
>than a bishop in quiessent state. Since a pawn is nominally 100 points,
>this leads to GNUchess giving up the 2B's just to double its opponent's
>pawns. Now, IMHO the doubled pawns are dynamic and can be undoubled
>with proper play, leading to positions where GNUchess is simply down
>the B pair with no compensation. By modifying the value of a knight to
>be 300 (lowering it by 1/2 pawn), GNUchess is much more protective of
>the 2 B's, and plays slightly stronger. In a G/15 match between the
>modified GNUchess and the unmodified GNUchess, the modified version
>went +7 -2 =12.
I have noticed this propensity for surrendering the two bishops
to double pawns in GNUchess' play, but we have not made any mods
to the program here yet... Maybe we'll try your suggestion (though
it could lead to other anomalies in undervaluing knights in closed
positions...).
>3. A minor quip: has somebody out there fiqured out how to use
>shorthand algebriac (ie. e4 c5 nf3, rather than e2e4 c7c5, g1f3)?
Sure -- but use capital letters for the pieces (i.e., e4 e5 Nf3
Nf6 Ne5 ...). The most annoying thing here is that when one
promotes a pawn one must use a *lower-case* letter for the piece
(i.e., d8q instead of d8Q, or b8n instead of b8N).
--
~~~~ Eugene Wallingford ~~~~ AI/KBS Laboratory ~~~~
~~~~ wallingf@pleiades.cps.msu.edu ~~~~ Michigan State University ~~~~
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads