I simply don't like UCI

Interview about engine protocols with Craft author Prof. Dr. Robert Hyatt, May 11th, 2002.

Frank Quisinsky: More than a year ago, as Stefan Meyer-Kahlen and Rudolf Huber presented the UCI protocol in the CCC forum, a partly temperamental discussion started. For me as a user, there's the question if it wouldn't be better to let interested and experienced programmers discuss new engine protocols in the forefield - mainly justified by the circumstances, that one could hope for a bigger support and that a team can achieve better results. I do not intend to question the abilities of Rudolf Huber and Stefan Meyer-Kahlen, but personally I think it's better to include more persons to take care directly that possible ideas for improvement can be included - independent from the fact, that everyone can develop its own engine protocol. What do you think about this?
Prof. Dr. Robert Hyatt (Crafty): I simply don't like UCI. It subsumes _all_ engine control parameters. It tells the engine when to ponder, when to search, when to stop, etc. That is contrary to my design and I have no interest in hacking Crafty to support something that is so different from the Winboard protocol that has been around for a _long_ time and which works _perfectly_. My intent is to continue to use the winboard protocol exclusively and not try to support other protocols that offer no increased functionality and which actually hurt some of the design features in the current Crafty chess engine.

Frank Quisinsky: Do you think that it is helpful for the user if there are several engine protocols, or should we try to support one existing protocol (WinBoard) and to develop it further?
Prof. Dr. Robert Hyatt (Crafty): That is my plan. Winboard works. I already have support for protocol version 2 in Crafty. I see no reason to support yet another protocol when the present one works perfectly. Auto232 is a good example. It is a piece of trash.

Frank Quisinsky: Based on your comments in the CCC forum, you must have studied the UCI protocol very accurately. Where are in your opinion possible weak points compared to the WinBoard protocol?
Prof. Dr. Robert Hyatt (Crafty): See above. It removes several critical engine-decisions that are best made by the engine, not the GUI.

Frank Quisinsky: For me as a user, the UCI protocol offers interesting options: the engine has the possibility to use a GUI-controlled opening book. The integration in a GUI is much easier for the user, engine options can be changed in a dialog box, individual configuration files aren't necessary. The engine output contains more info too, e.g. the usage of hash tables. So, shouldn't all - as far as possible - support the UCI protocol? Will there be an UCI Crafty in the future?
Prof. Dr. Robert Hyatt (Crafty): There will never be a UCI crafty. I don't like the protocol. A common book is (to me) not a worthwhile idea. Otherwise, why not a "common search" or a "common evaluation" or something else?

Frank Quisinsky: Because of your never ending help in chess fora, you have very good fame under the amateurs. I think that you have animated much amateur programmers to start with a chess program, also because of your very good commented source code. Furthermore, your program is IMO the number one of the freely available chess programs (though other programs like Yace also have achieved this level). Other amateur programmers often compare the strength of their programs with Crafty and enjoy each point the gain. Did you ever suspect that there would be 130 freely available programs which support the WinBoard protocol? Isn't there the danger that free source codes are implemented in various other engine developments?
Prof. Dr. Robert Hyatt (Crafty): I always _hoped_ we would see a large number of free engines. The current number is somewhat surprising, but it is a good thing. Distributing source has its risks. I am certain that there are a few current programs that are mainly based on Crafty. We have seen several in the past, from Bionic, to Voyager, to Le Petite, etc. I doubt that will end the list. However, without sharing ideas, progress goes slow. Even the commercial programmers take ideas from the amateurs, because lots of the ideas are good. Of course, they give little back in return, but then that is a statement about their integrity rather than about how open source works.

Frank Quisinsky: More the more, interesting developments in computer chess, especially in amateur chess, can be found in the WWW. I don't like to call this over-saturation, but no user can intensively use and know more than 10 programs. Do you think that, based on this fact, the commercials will die out - from a long-term point of view?
Prof. Dr. Robert Hyatt (Crafty): Possibly. But this won't be a _bad_ thing. There will always be a place for a commercial GUI with features not available in public GUI programs. But commercial engines are not furthering computer chess whatsoever, because they are so secretive about what they do. The amateurs, on the other hand, publish and discuss their ideas all the time.

Frank Quisinsky: Personally, I'm interested in your opion concerning the topic of chess servers. They enjoy a big popularity since many years. Won't the chess game level out, if more the more persons are exposured to this really existing danger of obsession and may lose the reality of the game by these virtual realities? Since many years, WinBoard supports as the first multi-engine GUI various chess servers. Do you think that the section "chess servers" is really important respectively do you think that this is the cause for the success of WinBoard? Is the still increasing number of users, who use the Internet for information exchange, responsible for the boom in the section of amateur chess, or do you think that rather WinBoard was the stimulus for today's situation?
Prof. Dr. Robert Hyatt (Crafty): Can't answer that. Playing on a server is just as much fun as playing in person, in general. And it offers far greater opportunities to play more games whenever you want, rather than having to wait for a weekly club meeting or a monthly club tournament.

Frank Quisinsky: Which is the secret of programs to achieve the unbelievable high ratings? Which programming techniques can be responsible for such a high level of playing strength? Are there any limits - independent of hardware power, opening books and endgame databases - to further develop programs at highest level and with the same tempo as in the past? Which of the last programming techniques is in your opinion breathtaking?
Prof. Dr. Robert Hyatt (Crafty): There are really few secrets. The commercial programs are using some form of forward pruning that they won't discuss. Other than that, things are pretty well-known. Evaluation. Search extensions. Data structures. Search tricks like null-move, EGTBs and the like. Hardware is playing a critical role due to speed. And, of course, SMP programs are providing even more speed using multiple CPUs.
Copyright © 1984-2007 Ed Schröder Mail Me