WinBoard Modularity, Engines and Chess Servers
by
Dr.
Djordje Vidanovic
A recent poll on the Internet
Computer Chess Club revealed that only 28% of computer
chess fans actually play chess against their programs.
So, what do we actually do with our programs? Study them,
autoplay, run tests, spend small fortunes in equipment,
beta test, email other chess freaks, play from positions,
take a look at the postings on CCC (the free Internet
forum called Computer Chess Club,
www.icdchess.com) and r.g.c.c. (the news group recent
games chess computer), post to
these, or slowly get peacefully crazy about all this?
This is how Enrique Irazoqui, the editor of Computer
Chess Reports, recently described
the situation on Computer Chess Club. In order to suggest some of the things we can do with our chess software, Ill venture a description of one of the most recent trends in this esoteric area and try to outline the important new computer chess forms that the Internet has brought about. This new development is revolutionary, regarding computer testing and self-improvement, so much so that in less than a year with the help of the Internet a chess computer program tester or a mere amateur chess player can accomplish as much as it would have taken him 3-5 years otherwise. What is it that the Internet offers us? Briefly, it offers us about a dozen chess servers where one can play chess against people from all over the world, and where an account for a chess program can be obtained so that the program can be tested in thousands of games. Most of the chess servers are free, only the prestigious Internet Chess Club is commercial; one can register there for a fee of about 40 dollars per year. You need an Internet connection through your ISP (Internet Service Provider), a graphics interface and a lot of time. There are several excellent interfaces for the PC, the most widespread of which is WinBoard, programmed by Dr. Tim Mann. This interface can be thought of as a graphical chess-board that is there for your convenience apart from connecting you to a chess server, it can help you read pgn files, edit and save games, and serve as a GUI (Graphical User Interface) for a dozen or so chess programs. WinBoard is a modular concept and as such is only a cyber-induced version of the modularity started first on a large scale by the Hegener+Glaser in the famous Mephisto Modular series, the BP, MM4, MM5, etc. Hardware modularity was around for a while, and now, with the triumphant advent of PC chess programs there are two rather satisfyingly set-up modular software systems: the professional Fritz system and the free modular WinBoard system. The Fritz modular system offers an almost perfect environment for program testing and for personal improvement in chess prowess. Its flagship is, of course, Fritz (four different engines are offered: 1.2, 3.10, 4.01, 5.03, and as additional modules are offered Hiarcs 6, Junior 4.6 and Doctor 2. Fritz plays a dominantly tactical game of chess, but is by no means a bad positional player, while Hiarcs and Junior, together with Doctor 2 extend the possibilities of this system so that a tester can compare the playing styles and pit two programs against each other without having to worry about saving the games, saving scores (auto-save is always on) or calculating the new ELO values (computed automatically). This, coupled with the exquisite book-making option, book-browsing capabilities and an almost perfect graphical interface have turned it into a professional tool that can be enjoyed both by GM and amateur alike. The only thing lacking, and I do not for a moment doubt that ChessBase are going to indulge the customers in this respect in due course is a chess server interface enabling the customers to play their favorite programs against other programs or players on the Net. As Fritz and its environment have already been discussed in CSS (cf. CSS 4/97, articles by F. Friedel and C. Liebert on Fritz 5, and CSS 2/97, an article on Hiarcs 6 as a Fritz 5 engine by M. Wnllenweber) I shall not deal with it here. The other rapidly growing modular system WinBoard, mentioned above, is in its beta-testing stage (3.6.10), improving on the older variant WinBoard 3.6.2 that was quite stable and widely used by many net players to hook up to chess servers and play games there. As stated, WinBoard offers three choices on start: a game of chess against its default chess program Gnu (patch 77, ver. 4), automatic logging on to one of a dozen or so chess servers (addresses and ports are pre-set) and browsing a pgn collection of games. The beta variant is graphically impressive Id venture to say that it is one of the best graphical interfaces around, has sound card support and animated piece movement. What also matters is the range of computer programs compatible with it, employing its Win 32 bit protocols. Notably the first addition to the communal Gnu program was Dr. Robert Hyatts Crafty engine that had had only text output up to version 10.18 (that placed highly in the WMCC in 1996). Then Mann and Hyatt agreed on the protocol and Crafty slowly outpaced Gnu. Soon, there appeared some new engines -- a strong program by Remy Coulom, The Crazy Bishop, and several weaker ones such as Tristram by James F. Long, SSE Chess by Sam Slutzky and Olipow by Oliver Brausch (now available in an improved form and adapted for Linux, rechristened there as Olithink). Meanwhile, some middle-of-the-roaders have appeared too for instance Dan Homans Exchess ver. 2.33, as a very solid program that has come a long way from a complete duffer to a strong 2200 blitz player in a very short period of time, and John Darts Arasan that is about 2200 at blitz too (the default host machine being a PPro/200). In this article Ill focus my attention on three strongest engines compliant with WinBoard: Crafty, Comet and Patzer. By covering Patzer, the program that I am testing and running on the Internet, in more detail, I will hopefully have shown the possibilities offered by WinBoard and the Internet both to the chess computer fan and the programmer. Crafty (currently ver. 15.11) is a bit of a legend, because its creator, Professor of Computer Science in the University of Alabama, Robert Hyatt (together with Al Gower) programmed Cray Blitz, the 1983 and 1986 Absolute World Computerchess Champion. Crafty is now one of the most talked about programs in the world, not the least because Hyatt comes up with new versions almost weakly, does a lot in terms of explaining its features and is a regular on computer chess forums on the Net. Hyatt firmly believes in computing power and search depth and insists on making Crafty run as fast as possible. The latest versions are dual and quad compatible, meaning that multiprocessing is enabled so that you may often run into a monster Crafty running on a quad Pentium Pro (4X200Mhz) exploiting the machines crunching power to the full. Crafty uses Steven Edwards endgame tablebases (taking up about 500 MB) and, if EGTB are present, plays all 3, 4, and some of 5 piece endgames perfectly. A mate in 30 or more moves is not a rare occurrence! Its latest opening book is an incredibly huge affair too, comprising more than a dozen million positions, compiled from 330,000 GM games. Crafty performs an internal evaluation of its wins and losses and fine-tunes its book by itself. The other night on the Chess.net server I observed a rapid chess match between Crafty and GM Roman Dzindzihashvilli (25 min per game) that was won by the dual processor Crafty 1.5-0.5. The program was on the point of losing the second game, having ruined its kingside pawn formation and exposed its King to attack (the kibitzing GMs all agreed that it was just a routine win for Roman), but managed to create a counter-attack out of nowhere and forced a perpetual on the gaping GM. Some months ago Roland Pfister (author of the program Patzer, and a Frankfurter) and I have agreed that it would be quite interesting to try his progeny Patzer out on one of the chess servers. Rolands Patzer had taken part in several big computer chess events placing slightly behind the middle pack, but scoring some nice and important wins. I had tested it meanwhile and pleaded with Roland to give it a try, insisting that some small changes could make it much stronger and claiming that it should reach 2350 at blitz, and more at faster time controls. I myself am rated at 2270 blitz (3-15 min per game) and 2220 lightning (time controls of 2 min per game and less) on FICS (the Free Internet Chess Server, Oklahoma City, U.S.A.) and could feel that Patzer on my machine (an AMD K6-233, 128 MB RAM) was rather stronger than I. I thought that varied opposition could help Roland to evaluate the strong and weak points of the program much more quickly and precisely. I also had a feeling that Patzers book was much too sharp for computer vs computer bouts, although it was just about perfect against humans. Rolands friend, Dr. Ulrich Tnrke, whose program Comet is probably the strongest non-commercial German program, and probably one of the strongest German programs anyway (1995 version of Comet is about 2250 on a slow Pentium on the SSDF list) was naturally listening in and following closely the Patzer project. (When I say that it is probably the strongest non-commercial German program, I should add that there is another very strong non-commercial German program supported, however, only by the 64bit DEC-alpha platform Dark Thought by Markus Gille and Ernst A. Heinz, of the University of Karlsruhe. Dark Thought should, to all appearances, be a serious contender for the title of the best program in any chess computer program competition.) Later on, spurred on by the mass of useful information obtained for Patzer on the server, he decided to offer his new version of Comet, A.90, in a WinBoard supported console form, just like Roland did. At the time I am testing a yet newer version of Comet, superseding A.90, and the results are very encouraging. It is extremely aware of attacking possibilities and plays an energetic, attractive game. I wouldnt be much surprised to find out that it has surpassed s7ome of the highly-rated commercial programs. I think that it can be safely estimated to be at least as strong as Crafty and some 50-70 rating points stronger than Patzer. The first results obtained by Alan Tomalty, the well known journalist pen-named Komputer Korner, confirm this: in a series of test-games Comet has proven a little stronger than Crafty (according to a report submitted to CCC). Anyway, I started testing Patzer and the first results were very encouraging, Patzer reaching 2300 easily on FICS. However, there were first bugs, slowly emerging, creeping out and unveiling their ugly faces. These bugs may have been, just may have been, found in normal non-server testing, but would have required months, perhaps a whole year, to trace. One of such was the time-allocation routine, i.e. the amount of time Patzer would spend on some obvious move in the opening would sometimes be vexing e.g. recapturing a piece would take 30 or more seconds! Patzer would surely hurry things later on, but to no avail especially if playing a super-fast Crafty program. There were also some "suicidal moves" when Patzer would simply give up a piece to the opponent in a won position. It seemed to have reached a panicky stage and would just play "anything" in order to fill its quota of moves within an assigned time span. You cant find these bugs in the new versions. There was a funny 50 move rule bug that had to be dealt with that a programmer or a tester would never normally get to in a standard batch of tests. This is so because with only a handful of opponents in normal testing one can trace the difficulties and eventual bugs and change the evals, or clean the code quite easily so that such problems would probably not occur anymore. However, if more than a hundred opponents are played, the odds that one will come across difficulties and bugs are much higher. FICS is quite a handy place to try out a program in development; altogether more than 40,000 players have played on it, the count within a week is more than 7,000 and during an average day about 2,000 people and about 100 computer programs log on to play chess. The figures on ICC are three to four times as big! If, above all, you wish to test your chess prowess on the Internet, and to play live chess, then you should know some things beforehand. The very first notions that a prospective user of WinBoard on a chess server may encounter are the lag and mouse-slip. Id like to explain these two in some detail as most people are baffled by them. Thus, when you log on onto the server, register (the procedure is rather simple and self-explanatory), and the board appears before you, you can type in who and a list of players, both computer and human will appear. If you wish to match someone you type in, for example, match X 5 0 rated meaning that you are challenging person X for a game lasting 5 minutes without any incremental time, and that your game will be rated. If person X accepts the challenge a graphical board with both names yours and the name of your opponent will reappear and your clock will start ticking away. You may use your mouse to pick up the piece you want to move, say pawn e2 to e4. However, you may accidentally drop your pawn to e3 and wish to take back the move. This unintentional dropping a piece is called a mouse-slip and you may type in a request to your opponent that it was a mouse-slip and that you would like to take back the move. The opponent may grant your request or not it is all up to him, just like in a normal game. Another very frequent occurrence is lag. As you may have presumed by now, lag refers to the time taken for your move to be relayed to your opponent and vice versa. Some servers have the ping command that says exactly how big the lag of either you or your opponent is. The greater the lag, the less fun you have, as the game does not take place in real time. Sometimes lag is so obvious that most of the players complain about it, and you can see lots of humorous comments on it. The lag problem is treated by help of adequate software, so that on FICS one employs timeseal, a little program that seals the time when you make your move on your board, and that very time gets converted into the server time, with additional time added to your clock until your move reaches the opponents board. This actually means that you cannot be flagged (lose on time) because of the lag on the Internet. But, surely, you do get flagged, just like in a normal, over the board game, if you move slowly or find yourself in a difficult position and spend a lot of time on a difficult move. ICCs variant of timeseal is called timestamp, and it does basically the same job as timeseal. Before I go on, Id like to further comment on how strong another top engine for WinBoard, Patzer, is. Amongst other things, CSS readers would surely like to know how well it does on different tests . Well, on the BS2830 test Patzer scores just about like Genius 5, and my own run-of-the-mill tests show that it is just as fast, if not faster, than some much acclaimed commercial programs. Many will recall the Sarychev brothers position in which the white king goes back to the 8th rank just in order to draw well, Patzer finds this move in 12 seconds on my machine (8/1pPK3b/8/8/8/5k2/8/8 w - -, solution 1.Kc8!). It is very good at endgames generally, and observes the wrong bishop square rule. My evaluation, which is necessarily subjective, would assign it 2400-2450 on my machine at blitz, with a lot of room for drastic improvement. It is EGTB compliant, has 24 RPKRK bitbases and about 30 most frequent endgame tablebases set up at the moment, with plans for more meaning that right now it can mate with Knight and Bishop vs sole King in the shortest possible time, win the Q vs R ending without a hitch, or win a R+P vs R ending if it is winnable in the span of seconds, has an open opening book structure that can be added to and reads and exports pgn and epd format. One can change lots of internal parameters and mold it to his hearts content. Roland is planning to test an interesting idea on my machine -- he'll place the bitbases, taking up 48 MB, in the computer's memory after starting Patzer, as well as the allotted hashtables and endgame tablebases, turning it into an endgame monster. After the first wins came some moments of sobering up. Losses against strong and fast Crafties. Losses against strong and fast humans. I took some time to set up the basic EGTBs. All the time I was sending Patzers pgn output to Roland and he was finding out to his astonishment that the program apparently had some "emergent" characteristics. Deus ex machina! It would simply be rebellious and play something else or would not play book moves at all! Roland wrote back saying that the book must have been corrupted through the encoding / decoding into the zip format and emailing... Suggested by Ulrich Tnrke. I reloaded Patzer with a new opening book. The program read in the new book, created the bin file and when started, would play normal, book moves. Great! On to something else. Lots of games against different versions of Crafty (there are about 30 different versions of Crafty running on FICS at the moment some of them are mongrel-versions, almost mutilated by the compilers, as Crafty is free both as the executable and as the source on the Internet!) were lost because of the excellent Crafty booking up so I suggested to Roland to change some of the Marshall lines as White as well as some of the Cambridge Springs. It turned out to have been a pretty good idea. Some premature pawn moves to h3/h6 and subsequently to g4/g5 have been dealt with too all this helping Patzer play a much better game. The latest version has an improved mobility evaluation, making it the strongest so far. In my opinion the improvement is drastic as much as 80 ELO points! In order to illustrate the change, I can offer another of my favorite testing positions to the reader: 2r5/2pR1pk1/p1P3p1/P2K4/5P1p/5P1P/8/8 w - - . The position actually originated from the Readers Corner in CSS (CSS 6/89) and was played between Mephisto MM II and Leonardo Maestro 6 A. Leonardo played 39.Ke5?? and the winning move is 39.Rxc7! The previous version of Patzer found 39.Rxc7 in about 5 minutes on my machine, while the latest version took only about 20 seconds! New Patzer has beaten humans convincingly several FIDE masters have felt its chess power, at time controls perfectly suited to them three or five minutes per game plus 3 to 5 seconds increment. A game between new Patzer and Snoot (a quad processor Crafty !) on FICS is a rather good example of what Roland has been trying to do add mobility to the pieces, get as much space as possible, even at the expense of material. This seems to be paying off naturally, much more testing is needed before the final verdict. The game is worth seeing, anyway:
At the moment Patzer is being reconstructed again after more than 700 games, it is at 2385 blitz and 2505 lightning which is very good, especially having in mind that these ratings are at least 200 points lower than the ICC (Internet Chess Club), and correspond quite closely to the FIDE ELO ratings. The new bitbase support has been added to the console version of Patzer (the version that can be hooked up to WinBoard) as well as new pawn structure fine-tuning. The latest series of games against two strong programs on FICS are very promising out of 12 games Patzer allowed only two points. This is what the statistics for Patzer on FICS look like: |
Statistics for Patzer(C) (Last disconnected Sat Jun 6, 21:27 CDT 1998): |
rating | RD | win | loss | draw | total | best | ||
Blitz | 2383 | 38.7 | 202 | 104 | 31 | 337 | 2419 | (04-May-98) |
Standard | 2129 | 137.2 | 6 | 2 | 0 | 8 | ||
Lightning | 2505 | 41.4 | 250 | 83 | 28 | 361 | 2515 | (23-May-98) |
Wild | ---- | 350.0 | 0 | 0 | 0 | 0 | ||
Bughouse | ---- | 350.0 | 0 | 0 | 0 | 0 | ||
Suicide | ---- | 350.0 | 0 | 0 | 0 | 0 |
1: Patzer, by Roland Pfister.
An Xperimental version. 2: AMD K6/233, 128 MB, Win 95. 3: Have a nice game of chess. 4: Account owned by wolfv. 5: Message this lupine character about Patzer. 6: Roland and I are working on the bugs. Do not be shy and report, please. |
At the moment only two people are
running Patzer on the Internet servers Alan
Bratton and I. Very soon it will be quite clear that this
way of beta-testing new versions is the most economical
and revealing. Regardless of the WinBoard CPU slowdown
(up to 50%) it is a statistical and playing indicator per
excellence helping the programmer
evaluate the good and the bad in its brain-child. Playing chess on a server is great fun, be it as an operator of a chess program or as a player. I have played there for a year and have encountered many interesting people, played lots of interesting programs, and missed many a night out with my friends in actual life. The contacts are so real and take place in real time, that one tends to forget about its vicarious aspects. Beware, playing on a chess server is terribly addictive I have witnessed people spending night and day there, unwilling to trade the virtual chess-club for harsh daylight reality. Of course, a virtual chess club offers much in terms of broadening ones views and making acquaintances from all over the world. I have made friends with people from the Netherlands, the USA, Germany, the former Yugoslavia, Canada. Each has a nickname that is their log-in name and most of them apparently gladly accept a new identity on the server. Kingroche, my Dutch friend on the server, has played about 10,000 games so far he is one of the best humans at lightning, slightly below the famous German, nicknamed Stealthfighter, an IM with very pleasing manners. The people you like to talk to (chat in the Internet lingo) you can put on your notify list so that each time you log on, the server will look them up for you automatically. My notify list has several programmers that I talk to on the servers Dan Homan (Exchess), Marcel Kervinck (author of the strong Dutch program Rookie 2.0), Andre Dados (a new, fast, selective program MissSilicon). This list has some other people too those I talk to about just anything the newly discovered neutrino mass, Kramniks defeat against Shirov, Eschers graphics, Kolakowskis Marxist philosophy, etc. Besides the notify list, one can compile a no-play list. That is a list of players that you may wish to censor for some reason. The most frequent reason for censoring an opponent is ungentlemanly behavior or straightforward insolence and verbal abuse. FICS has handled such players by banning them from the server. Another rather frequent reason for censoring someone is the suspicion about your opponent using some chess software that helps him. There have been some interesting cases of suspected computer-assisted accounts, the most famous of which is the case of NatalieR. NatalieR is a 30 yr old ex-Russian/Ukrainian Natalie Radosevic, who played very successfully on FICS, reaching 2400, which is the level seldom reached by International Masters there. She especially excelled at beating computer opponents and earned an enviable reputation as being the only one to have reached a favorable score against the strongest Crafty version. However, she was eventually suspected of cheating that is of using the Genius 5 program in deciding which moves to play, especially in crucial positions. The computer chess expert employed by FICS ascertained that NatalieR was a fraud and banned her from FICS. NatalieR joined ICC and is rated only around 2300 there (translated into 2100 FICS, nickname SundayGirl) meaning that the suspicion was probably founded. By the way, heres Natalie Radosevic, playing White against The Crazy Bishop not an impressive performance by SundayGirl, I am afraid:
Robert Hyatt, the programmer of Crafty often insists on the fact that todays top programs are simply not yet on a par with strong IMs and GMs. His reply to critics is that he can always match a program with one of the IMs specialized to play against software, one of whom, he would say, is the IM known as Adolf on ICC. Heres Adolf playing against Comet, A.90 (By the way, Comet, without its opening book!, shredded Adolf easily, 3-0):
Probably the best two programs that I have seen on the servers are WchessX, an experimental new version by Dave Kittinger and Mink (a.k.a. Ferret), a version of Ferret, operated by Bruce Moreland, the programmer. These two play astonishingly human-like chess, and almost perfect endgames. Both WchessX and Ferret are known to sacrifice a pawn, or two, just in order to make the opponents life tough. Two examples, The Crazy Bishop is on the receiving end in the first, playing Ferret, and Comet A.90 in the second, playing WchessX. I urge the reader to take a careful look at WchessXs 27th move c5!! A GM move, played at 5 minutes per game:
In closing, let me freshen this story about WinBoard modularity, chess servers and programs with a piece of speculation spreading on FICS lately: theres been much talk about the identity of a GM nicknamed Robespierre. The man came on FICS several weeks ago and has been regularly thrashing the best players there in great style. Rumour has it that Robespierre is actually Lautier, but theres been no confirmation as yet... Unfortunately, the GM will not play computers probably adding a new slogan to the spirit of the French Revolution humanitT... |