Computer Chess Club Archives


Search

Terms

Messages

Subject: Symbolic: Status report 2004.07.20

Author: Steven Edwards

Date: 13:37:18 07/20/04


Symbolic: Status report 2004.07.20

Symbolic's underlying toolkit has two new classes for connecting to other
programs: CTMediator and CTXboard.

CTMediator is for running automated games.  Initially, the class will support
only a single, N-game match per invocation; eventually it will be able to run an
entire tournament across the network.  Also, it will use the xboard protocol but
will likely have additional protocols added later.  Crafty will be Symbolic's
initial automated sparring partner, just as it was Spector's last sparring
partner back in 1994.

CTXboard is an interfacing class between xboard and the rest of the toolkit.
Instead of adding xboard commands to the current interactive command processor
(as is done in some other programs like Crafty), an instance of CTXboard will
replace an instance of CTCommProc and have its own xboard specific command
interpreter.  This provides a good design firewall between two changing command
sets, one of which I do not control.  The CTXboard class may also serve as a
template of sort for additional protocols; one of these would be the CTICS class
for ICS play.

Auto competition run by the mediator is indicated by the -Mediator command line
option; the -Xboard option selects the xboard interface to Symbolic.  If neither
option is present, the program runs a single instance of the interactive command
processor (CTCommProc) attached to the standard I/O streams.

Testing the CTOppo class (opportunity search; i.e, ponder search) is also being
performed.

Structurally, the CTCommProc, CTMediator, CTOppo, and CTXboard classes are
similar in that thay all inherit the CTContext class as a direct base class.
CTContext is the class that keeps track of the current values of the position,
the game, the control flags, the opening library interface, the tablebase cache
set, and various other objects.  The idea is keep the toolkit design reasonably
well compartmentalized without it getting too bulky.

At this point, I've gotten the CTXboard class to the point where it connects
reliably to xboard using xboard 's protocol version 2.  Enough of the
functionality is present to run automated matches; however, I haven't yet fully
implemented the ponder features.  As proof, here's some sample output, verbatim,
from xboard running under the X11 package under Mac OS X 10.3 on a 700 MHz G3
PowerPC notebook:

[Event "Computer chess game"]
[Site "jenn.local"]
[Date "2004.07.18"]
[Round "12"]
[White "Crafty-19.13"]
[Black "Symbolic"]
[Result "0-1"]
[TimeControl "300"]

1. e4 e6 2. d4 d5 3. Nd2 c5 4. Ngf3 Nc6 5. exd5 exd5 6. Bb5 Bd6 7. O-O Ne7
8. dxc5 Bxc5 9. Nb3 Bd6 10. Re1 O-O 11. Bg5 Bg4 12. Be2 h6 13. Bxe7 Bxe7
14. h3 Bh5 15. c3 Bg6 16. Bd3 a5 17. Bxg6 fxg6 18. a4 Kh7 19. Nbd4 Qd7 20.
Ne6 Rf6 21. Qe2 Bd6 22. Rad1 Nd8 23. Ned4 Qxa4 24. Nb5 Qa2 25. c4 Bb4 26.
Nc7 Bxe1 27. Nxa8 Bb4 28. Rxd5 Ne6 29. Qc2 Nf4 30. Rd7 Nxh3+ 31. Kh2 Ng5
32. Nxg5+ hxg5 33. Rxb7 Bd6+ 34. g3 Qa1 35. Qe2 Rf8 36. Nb6 Bc5 37. Nd7
Rxf2+ 38. Qxf2 Bxf2 39. Nf6+ Kh6 40. Ng4+ Kh5 41. Nxf2 Qf1 42. Rf7 g4 43.
b3 Qe2 44. Kg2 g5 45. Rf5 Qe3 46. Rb5 Qf3+ 47. Kf1 Kg6 48. Rxa5 Qxb3 49.
Re5 Qxc4+ 50. Kg2 Qc6+ 51. Re4 Kf5 52. Kg1 Qxe4 53. Nxe4 Kxe4 54. Kf2 Kd3
55. Kf1 Ke3 56. Ke1 Kf3
{White resigns} 0-1




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.