Article View: gnu.chess
Article #6105in the interests of BW
From: 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?
Technical Details
Message-ID:
<1990Nov14.200351.25132@cbnewsh.att.com>Path:
arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!shelby!snorkelwacker.mit.edu!mintaka!think.com!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!cbnewsh!jayhawkShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10d71d,5c378f83e39c4229,start X-Google-Attributes: gid10d71d,public X-Google-ArrivalTime: 1990-11-14 12:03:51 PST Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!shelby!snorkelwacker.mit.edu!mintaka!think.com!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!cbnewsh!jayhawk From: jayhawk@cbnewsh.att.com (R.Moats) Newsgroups: gnu.chess Subject: in the interests of BW Keywords: transposition, hashing, evaluations, etc. Message-ID: <1990Nov14.200351.25132@cbnewsh.att.com> Date: 14 Nov 90 20:03:51 GMT Organization: AT&T Bell Laboratories Lines: 48 Posted: Wed Nov 14 21:03:51 1990