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.