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

