From: Manabu Terao mx3 ttcn ne jp> Date: 30 jan 2007 Subject: Re: First draft of the Universal Shogi Interface (USI) Hello Tord, I still wonder if the proposed USI can adopt the method of notation (piece names and squares etc..,) used in CSA standard kifu format rather than described as SFEN even if USI and CSA protocol have different purposes. I guess most of Japanese shogi programmers already got used to the CSA method since WCSC hosted by CSA has 16 year history. Several other inputs came to my blog after traslating your draft into Japanese. The usage of Shogi software includes not only playing a game but also solving tsume problems or finding if there are mates in a specific position. It does not seem that your draft has defined how to send back information whether there are mates or not from Engine to GUI. This might be added. In section 3, the draft says "Again we use uppercase letters for black pieces, and lowercase letters for white's captured pieces." "black pieces" should be corrected as "black's captured pieces". Best regards Manabu Terao Tord Romstad gmail com> wrote: > > On 1/30/07, TAKIZAWA Takenobu mnc waseda ac jp> wrote: > > > > Dear Tord: > > > > I would like you to know our communication protocol which is > > used in the World Computer Shogi Championships. > > Please look at the latest version of the protocol: > > http://www.computer-shogi.org/protocol/tcp_ip_server_11_e.html > > If needed, sample codes (in C, by Reijer Grimbergen) are available at: > > http://www.computer-shogi.org/protocol/csa_tcp.cpp > > > Hello Takenobu, > > Thanks for your reply. > > I am aware of the CSA protocol, but the CSA protocol and my proposed > USI protocol serve entirely different purposes, and one cannot replace > the other. The CSA protocol is made for allowing shogi engines > running on multiple computers (possibly even on several operating > systems) to connect to a central server and play automated games > against each other. The USI protocol is made for communication > between a GUI and a shogi engine running on the same machine. > > While it is technically possible to write a GUI to communicate with a > local engine using the CSA protocol (perhaps there are already GUIs > which do this?), it is not a very flexible or user-friendly solution, > for several reasons: > > 1. In the CSA protocol, the engine starts out as a completely > independent process, which initially opens a TCP connection to the > server. This does not make sense for a program running under a > local GUI. When the user loads an engine into a running GUI, the > natural way to do it is to start the engine as a child process > under the GUI, and not to start it as an independent process and > somehow tell this process that it's supposed to connect to > localhost on port 4081. > > 2. Using TCP/IP, which is the obvious choice when the engine should > connect to a remote server, is in my opinion not an ideal solution > when running locally. It adds extra complexity to the program, > especially when trying to maintain easy portability between > different operating systems. The simplest and most portable > approach is to use pipes connected to the engine's standard input > and output for communication. > > 3. The CSA protocol does not offer any way to modify engine > parameters. As a consequence, when using the CSA protocol for > communication between a shogi engine and a GUI, the user cannot > adjust any engine parameters (hash table size, playing style, > various pruning techniques, etc.) from the GUI. This must probably > be done by editing a configuration file or sending startup options > to the engine process, but neither of these solutions are > user-friendly (especially not when there are many shogi engines > installed on the computer). > > 4. In the CSA protocol, there is no way for the engine to send any > information about its thinking process (principal variation, score, > search depth, nodes/second, current move, and so on). Users want > to see such information in the GUI. > > The above is not intended as a criticism of the CSA protocol. The CSA > protocol probably works very well for its intended purpose, i.e. using > a central server to run automated games and matches between shogi > programs running on multiple machines. The USI protocol is not a > competitor to the CSA protocol; the two protocols are complimentary. > > Tord --^---------------------------------------------------------------- This email was sent to: shogi-l shogi net EASY UNSUBSCRIBE click here: http://topica.com/u/?a2i6Ys.aBVYf3.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 --^----------------------------------------------------------------