From: Tord Romstad gmail com> Date: 15 jan 2007 Subject: Some thoughts on computer Shogi Hello all, I am new to this list, and apologise in advance if the topics below have already been discussed to death before. Before posting, I spent some time browsing the archives and couldn't find any such discussions, but I may have missed something. I know very little about Shogi, but I have some experience with computer chess. I am the author of Glaurung, one of the stronger open source chess engines (it is stronger than Crafty, but weaker than Fruit). In the near future, I will get an enthusiastic Shogi player as my colleague (hi, Oluf!), I have therefore decided to stop doing chess programming for a while, and spend some time working on computer Shogi instead. There is no doubt that computer Shogi is currently quite far behind computer chess, in the sense that the strongest chess programs are almost certainly stronger than the best humans, while the top shogi programs have no chance against professional players. To a big extent, this is without a doubt because Shogi is a more difficult game to program. But I don't think this is the only reason. This brings me to the topic of this e-mail. One of the most striking things about computer Shogi, from the perspective of a chess programmer, is the lack of "technical infrastructure". In chess, there are two wide-spread chess engine protocols (the XBoard and UCI protocols) for communication between a chess engine and the GUI, and almost all of the about 400 publicly available chess engines support one or both of these protocols. GUIs with support for these protocols exist for all major operating systems. The existence and ubiqutouness of these protocols gives several benefits: It makes it much easier for the programmer to make a chess program, because he can write a simple text-mode program instead of writing a full-featured GUI app. Because the engines are running in console mode, they are usually very easy to port to different OSes. From the user perspective, it is nice to be able to run all chess engines from a single GUI, instead of having to start a new GUI every time he wants to switch to another program. The most important advantage of all, however, is that it is very easy to run automated matches and tournaments between chess engines. There is a huge crowd of enthusiasts who run tournaments and produce rating lists with all the programs. Have a look at the CCRL and CEGT rating lists, for instance (and note in particular the immense number of games played with every single engine): http://computerchess.org.uk/ccrl/404/ http://www.husvankempen.de/nunn/ The big community is one of the main attractions of computer chess, and probably also the most important reason why computer chess has progressed so much in recent years. Needless to say, I would like to see something similar in computer Shogi. Another problem with computer Shogi seems to be that there is no really strong open source program. Of course there is GNU Shogi, but I've been told that it is rather old and no longer close to the top programs (please correct me if I am wrong). I think strong open source programs are an important resource for beginners. My ambition is to work on these two problems. I want to design an engine communication protocol for shogi engines, and to write a strong open source shogi program (the latter goal will take some time to achieve, of course). But evidently, I cannot do this without support from the community. An engine communication protocol is worthless if it only works with my own engine and GUI. It is necessary that as many shogi programmers as possible add support for the protocol to their engines, and that someone is willing to do the work of writing GUIs for Windows and Linux (I'll write a Mac OS X GUI myself). Before I start programming I therefore would like to hear some opinions from the rest of you. My suggestion is that we use the UCI ("Universal Chess Interface") protocol as the basis for a shogi engine protocol (USI?): http://download.shredderchess.com/div/uci.zip As far as I can see, it should be possible to adapt the UCI protocol to shogi with just a handful of small changes, but beging a computer shogi beginner, I might be missing something obvious. I would appreciate if the programmers among you could have a look at the UCI specification and let me know what we should change in order to make it work for shogi. Tord --^---------------------------------------------------------------- This email was sent to: shogi-l shogi net EASY UNSUBSCRIBE click here: http://topica.com/u/?a2i6Ys.aBsjvI.c2hvZ2kt Or send an email to: shogi-unsubscribe topica com For Topica's complete suite of email marketing solutions visit: http://www.topica.com/?p=TEXFOOTER --^----------------------------------------------------------------