BABYL OPTIONS: Version: 5 Labels: Note: This is the header of an rmail file. Note: If you are seeing it in rmail, Note: it means the file has no messages in it.  1,, Return-Path: <@sunic.sunet.se:hes@athena> Received: from sunic.sunet.se by life.ai.mit.edu (4.0/AI-4.10) id AA11013; Tue, 13 Mar 90 08:49:07 EST Received: from log-sv.se by sunic.sunet.se (5.61+IDA/KTH/LTH/1.123) id AAsunic27754; Tue, 13 Mar 90 14:48:57 +0100 Received: from athena. by log-sv.se (3.2/SMI-3.2) id AA13376; Tue, 13 Mar 90 14:48:21 +0100 Received: by athena. (4.0/SMI-4.0) id AA01107; Tue, 13 Mar 90 14:48:05 +0100 Date: Tue, 13 Mar 90 14:48:05 +0100 From: hes@athena.ai.mit.edu (Hans-Eric Sandstr|m) Message-Id: <9003131348.AA01107@athena.> To: cracraft@ai.mit.edu Subject: gnuchess, things to do. *** EOOH *** Return-Path: <@sunic.sunet.se:hes@athena> Date: Tue, 13 Mar 90 14:48:05 +0100 From: hes@athena.ai.mit.edu (Hans-Eric Sandstr|m) To: cracraft@ai.mit.edu Subject: gnuchess, things to do. I have a file here, together with gnuchess. I have called it TODO. Whenever I feel like doing some gnuchess hacking I take a look in this file, choose something and then I do it. There is no priority on things they are just entered and given a number and when they are implemented I remove it. Here is the file, maybe you could prioritize these tasks and send them out to people who might have time to implement it. ---CUT--- GNU CHESS - THINGS TO DO 4.Total Cleanup of SqValue. 5.The routine repetition() could use some form of hashing to check if the same position has occured before. The present implementation is quite slow. And it is also wrong since it considers only where a piece is placed not the type of the piece. 6.A tournament program to play chess between two different chess programs. This could be done by extending xchess so it could play two chess programs against each other. If such a beast exsisted we could play different versions of gnuchess against each other. And calculate ratings for different machines. A nodes/sec - rating table would be very nice to have. Also we could test different evaluation heuristics against each other. 7.A chess database to store historical games. 10.gnuchess does not handle stalemate correctly(is this still true?) 13.Convert the type of all time variables to time_t. 18.Check gnuchess compliance with GNU Coding Standards. 19.enum colors { white, black, neutral }; enum pieces { no_piece, pawn, knight, bishop, rook, queen, king }; enum squares { a1, a2, a3, a4, a5, a6, a7, a8, b1, b2, b3, b4, b5, b6, b7, b8, c1, c2, c3, c4, c5, c6, c7, c8, d1, d2, d3, d4, d5, d6, d7, d8, e1, e2, e3, e4, e5, e6, e7, e8, f1, f2, f3, f4, f5, f6, f7, f8, g1, g2, g3, g4, g5. g6, g7, g8, h1, h2 ,h3, h4, h5, h6, h7, h8 }; 20.write more documentation 21.Fix this bug report Article 95 in gnu.chess: From: campbell@rnd.GBA.NYU.EDU (Bruce Dietrich-Campbell) Subject: A Couple of Minor Bugs Summary: mate ignored, removing en passant Message-ID: <2004@rnd.GBA.NYU.EDU> Date: 21 Feb 90 19:41:40 GMT Reply-To: campbell@rnd.UUCP (Bruce Dietrich-Campbell) Organization: NYU Stern School of Business Lines: 43 Good fighting spirit!! Gnuchess fights on even when mated !-) ------------------------------- Try the following 8| | |*R | | | |*K | | Board Layout moves: |-------------------------------| 7| | | | | | R | | R | white black white black |-------------------------------| 6| | | | | | | | | kg2 kg8 f5e6 b8e8 |-------------------------------| rh7 rb8 f7g7 g8f8 5| | | | | | B | | | rf7 g7g8 f8f7(??) |-------------------------------| bf5 4| | | | | | | | | That's the way |-------------------------------| to fight!! 3| | | | | | | | | |-------------------------------| 2| | | | | | | K | | |-------------------------------| 1| | | | | | | | | ------------------------------- a b c d e f g h ------------------------------- Try the following 8| | | | | | | | | Board Layout: moves: |-------------------------------| 7| | | | | | | | | white black white black |-------------------------------| 6| | | | | | | | | ke2 kb2 c2c4 d4c3 |-------------------------------| pc2 pd4 5| | | | | | | | | ie. black takes |-------------------------------| en passant 4| | | |*P | | | | | |-------------------------------| Now try the 3| | | | | | | | | remove command. |-------------------------------| The white pawn 2| |*K | P | | K | | | | doesn't reappear. |-------------------------------| 1| | | | | | | | | ------------------------------- a b c d e f g h ............................................................................. Bruce Dietrich-Campbell ARPA: campbell@rnd.gba.nyu.edu USENET: ...!{uunet,rocky,harvard}!cmcl2!rnd!campbell Try moving a rook to row and and the undo (it becomes a pawn!!!) And also fix undo of promotions when using edit to setup a position. 22. Regression testing of strength against a bank of positions. The regression should compare performance between two releases, assess solution times, speed in nodes per second, accuracy of evaluation, and depth and then produce a comparison table, along with a final assessment of which version is superior. 23. Complete rework of the book, eliminating all illegal moves, providing a score for each variation with support code to enter variations based on the score. 24. An analyse mode, feed gnuchess with a game. gnuchess will analyse each posistion in that game giving it`s own principle variation and score and a principle variation and score for the played move, if they are not the same. --- ps. Maybe we could arrange some voting on the newsgroup gnu.chess for the most wanted feature in gnuchess. Hans Eric