|
|
|
||||||
The UCI challengeAs mentioned in the last section
, Chessbase began supporting the UCI protocol in 2002. Why did the
company choose to do so? Before understanding this question let us take
a closer look at this protocol. The UCI protocol was born on Nov
28,2000. It's authors were Stefan Meyer-Kahlen and
Rudolf Huber. However, while Winboard protocol itself had a ready made user base due to the popularity of Winboard as a chessplaying client, there was no equalavant for UCI. At that time, the only interface that supported it was the commercial Shredder 5. Initially support for UCI was poor. There was only one UCI interface and it was commercial and less then a handful of engines supported UCI compared to the hundreds that supported Winboard. This greatly reduced the benefit of implementing UCI. A programmer who took the plunge and implemented UCI into their engine, would find that it was mostly pointless (leaving aside the fact that you had to pay to get the UCI interface because the only one was commerical), because few other engines could support UCI, so this meant fewer engines to spar against. It was kind of like being the first person on the block to get a phone, who could you call? It was a classical Chicken and Egg problem, No one would support the UCI protocol in their interface because there weren't enough UCI engines to make it worth the effort. On the other hand, no one felt the need to implement UCI for their engines because there was not enough user demand because only 1 interface supported UCI. However when Fritz 7 started supporting UCI, in Jan 2002, it gave the UCI protocol a big boost., since by supporting UCI and dropping Winboard support (which was buggy anyway) it's bought in a established pool of chessbases users who became UCI users overnight. Dialog
box for importing UCI engines into Fritz.
With this deadlock broken, many chess engine programmers began to support UCI as well as Winboard, because supporting UCI was the easiest way to import their engine into Chessbase without problems (compared to using the Winboard protocol anyway). Number
of UCI engines (free and commercial) released since Dec 2002
Which protocol is better?This is a highly technical question that I'm not qualified to
answer.But here are some statistics.
There are also certain number of features that may make UCI
easier to use. Due to the UCI design, it is possible to set up the
configuration of standard options (eg hash tables, endgame tablebase
files etc) for all Chess engines at one go. This is compared to the
Winboard protocol , where usually you have to set up each engine
individually. For a more in depth discussion about the possible future of Winboard versus UCI. refer to my article on UCI versus Winboard. Still some chess engine authors have began to support both protocols, mainly because the UCI protocol is designed to be easy to convert from the winboard one. Yace for example has both a UCI and winboard mode and is supported in the same exe file. Others like Gandalf,Anmon supports both protocols, but a different exe file is needed. AdaptorsSo what happens if the interface and the chess engine you want to use does not share the same protocol? In such cases, you will have to use the adaptors. Adaptors can be seen as "translators" which convert the commands sent by the chess engine to the interface (and vice versa) from one language to another.Some of the adaptors that are available come with the Chess interface eg (ucitowb available with Shredder classic) others are free for download from the company's site and others are third party extensions. In the next article, I will share some tips on when and how to use articles. For now though let me introduce you to the most important adaptors known to me UCI to Winboard
Winboard to uciWinboard to chessbase adaptorAs of Jan 2002, it is not available on the chessbase site. Note as far as i know fritz 7 (and prior versions up to and including Fritz 5.32) still work with the adaptor. It is well known that the adaptor for winboard engines is flawed such that winboard engines will be greatly weakened when used to play games (but probably not in analysis). The technical details need not concern us, but this flaw is of great importance when you want to play engine versus engine matches.This does not apply chessbase natives of course. Because of this problem,if you are using fritz 7 (that
supports UCI) , you might want to use the UCI mode (if available). See
later ConclusionWe have come to the very end of this long article. In the next article , we will focus on the art of using adaptors. |
||||||||||||||||||||||||||||||||||||