by Steve Lopez

IMPORTANT NOTICE FOR CHESSBASE USA CUSTOMERS: It's that time of year again -- my annual vacation. Consequently, there will be no e-mail or telephone tech support the week of July 14, 2002. Obviously you'll still be able to send me e-mails but I won't be replying until my return, so please don't expect an answer before July 22. Telephone tech support will resume at the normal time (Tuesday evenings 6 PM to Midnight ET) on July 23.


by Steve Lopez

A few weeks ago in ETN (June 9, 2002) we examined how to set up and run engine matches in Fritz (as well as the other playing programs like Junior and Hiarcs). This week, we'll set up and run engine tournaments in Fritz.

Of course the initial question is "What's the difference between a match and a tournament?" A chess match is a series of games between just two players (in this case, two different chess programs). A chess tournament is a competition involving more than two players (or engines).

The first step in setting up a tourney is to create the file where the event's information will be stored. Go to the File menu, select "New", and then choose "Tournament" from the submenu. The standard Windows file select dialogue will be displayed which will allow you to name the tournament file (which ends in the extension .trn) and select the folder in which you want it to be stored. You can name this file whatever you want. I tend to use a "month, year, letter designation" format -- for example, my first tournament this month would have a filename of 0702a.trn. If I run another tournament this month, I'd call it 0702b.trn, and so on. But you can name your tournament files in any way you choose. Name the file and click "Save".

Once you've done this, the following dialogue will appear:

You'll set the various parameters for your tournament here. Let's have a look at these numerous options.

"Title" defaults to your filename from the previous step, but you can change this to whatever you want. When you run an engine tournament, the games are saved automatically into a database (more on this later) and whatever you type into this box will appear in the "Tournament" field of the game headers. "Publish" allows you to send the games to an Internet web page on your web site, updating the games as they're played. This procedure is explained pretty well in the Help files; it would take a separate article to explain it in ETN, so we'll skip that for now. "Link Elo list" lets you use ratings from an Elo list you've already generated (see last week's ETN) and these ratings will be included as part of the game headers when the games are automatically saved into a database.

The biggest step in this process is to "invite" engines to play in the tournament. Clicking the "Invite" button brings up the standard engine selection dialogue (similar to the one in ChessBase 8; see ETN for November 12, 2000). In this dialogue you can choose an engine, set any engine parameters, set the hash table size, designate the opening book the engine will use, and select any special opening book parameters. You can also set an Elo rating which will be used in the game headers (if you've not linked the tournament to an existing Elo list -- see above). After you've set these options and clicked "OK" you'll see the engine's name appear in the large white box to the left of the "Invite" button.

If you later decide to change any of these options, click on the engine's name (to highlight it) and then click the "Edit" button to redisplay the engine selection dialogue, then change any of the options. If you change your mind about an engine's participation and want to drop it from the tournament, highlight the engine's name and click the "Delete" button. This doesn't delete the engine from your hard drive, it just removes the engine from the list of tournament participants.

For the truly masochistic among us, you also have the option of participating in the tournament as a player yourself. You'll see your last name appear in the list (assuming, of course, that you've previously entered it under "User Info" in the Tools menu). If you lose your nerve and decide not to play after all, just highlight your name and click "Delete"; you won't be deleted (I tried this and I failed to vanish from the face of the earth), but your name will disappear from the list of players in the tournament.

"Unify book" and "Unify hash" are useful shortcut buttons. You can click these to set a single opening book and a single hash table size that will be used by all of the engines playing in the event.

Next you'll set the time control for the tournament. Click on "Blitz game" or "Long game" to display dialogues that let you set the time controls for the games (January 9, 2000's ETN provides my long rambling screed on the various time controls).

"Tournament type" lets you set a number of formats for the event. "Round robin" is an all-play-all format; every competitor will play a game against every other competitor. "Knockout" is the same format as the last few rounds of the World Cup -- winners advance to play another game, losers go home. When a competitor loses a game it (or he/she if it's a human player) says adios and gets to sit and watch the rest of the event. "Run the gauntlet" lets you add new engines to a tournament already in progress -- the new engine will play "catch up", playing games until it reaches the same stage of the tournament as the competitors who have already been playing. "Swiss" is the standard "weekend chess tournament" format. A complete description would require more space than we have here (have a look at the USCF rulebook for complete details) but basically prior winners are paired with winners each round while prior losers are paired with other losers. In general, round robin events are good for tournaments of less than eight participants, while swiss tournaments work best with eight players or more (though, as always, your mileage may vary).

The box for "Cycles" works hand in glove with the tournament type. "Cycles" determines how many rounds the tourney will last which, in turn, will determine the total number of games in the event (displayed next to the Cycles box). For example, let's say that you've set up a four engine round robin. One cycle means that the event will have three games -- each engine will play every other engine once. If you set the same tournament for two cycles (allowing each engine to play every other engine twice), you'll end up with a total of six games. For another example, let's say that you've created an eight engine swiss tournament. This is pretty easy to figure out -- every round will have four games (eight engines divided by two since they're paired off), so you can just multiply the number of rounds by four to get the total number of games. An eight engine knockout will run seven games (four in the first round, two in the second, and then the last two surviving engines will play the "Cup" game to determine the winner).

So keep an eye on the number of games as you set the number of cycles. An eight engine four cycle round robin (112 games) at 40 moves in two hours will potentially take nearly three weeks to complete (assuming that your computer is running continuously around the clock), so keep in mind the amount of time you want to keep your computer devoted to a chess tournament. I run a two-cycle six engine round robin (thirty games) at 10 minute controls from time to time, start it when I go to bed, and usually find that it's finished when I get up in the morning (since most games don't go right down to the wire, timewise).

The "Permanent brain" check box allows an engine to think on its opponent's time. As described in the June 9, 2002 ETN, this feature is best left switched off for engine vs. engine games; otherwise the two programs end up fighting over processor time. "Book learning" enables the interface to alter the weighting of moves in the opening book according to the results of the games (see the February 27, 2000 ETN for more on book learning and weighting). The "Openings DB" button gets an extensive treatment in the June 9, 2002 ETN.

Once you've set these parameters, you're ready to throw out the first pawn and start the event rolling. Click the "Run/continue" button to get things going. You'll see the screen display change to show a chessboard on the left and a pair of panes on the right; these let you watch what both engines are "thinking" as they play the game. You can right click in an engine pane to change the display options (I'm fond of "Scoll main line" which shows you ply-by-ply the best move that the engine has found in its search).

You also have buttons at the top of the screen that let you stop a tournament in progess or see a crosstable of the results so far. If you do choose to stop a tournament and later want to resume it, go to the File menu, choose "Open", and then pick "Tournament" from the submenu. A file select dialogue will appear; go to the folder where you stored your .trn file (which you created as the first step in this whole process, way back at the beginning of this article) and double-click it. This will again display the tournament options dialogue, and you can click "Run/continue" to start the action back up.

If you're playing in one of these tournaments, you can "jump ahead" to one of your games whenever you want by clicking the "Next human game" button, which will load your next engine opponent for the start of your next scheduled game. You could even play all of your games back-to-back, become severely embittered when you end up with a score of 0.5, realize that you now have no chance to win the event, and take a sledgehammer to your computer. Note that I'm not saying that you should do this -- only that you could.

Finally, if you've stopped a tournament and are about to restart it, you can click the "Crosstable" button to get a review of the action so far.

After each game is played, it's saved automatically in a database called engtourn.cbh which (unless you changed the default parameters when you installed Fritz) will be found in the folder C:\My Documents\ChessBase\Compbase; you can access this database quickly by selecting it from the pulldown window in the upper right of your database (game list) window in Fritz. The games from a particular event will be easily identifiable by looking at the "Tournament" column; this will display the name of the event as you set it up in the Tournament dialogue (described earlier in this article). And, as always, this database is also able to be loaded and viewed in ChessBase.

OK, now that you know how to do it, fire 'em up and let 'em rip! Until next week, have fun!

You can e-mail me with your comments, suggestions, and analysis for Electronic T-Notes.

Click here to return to the main Electronic T-Notes page.

© 2002, Steven A. Lopez. All rights reserved.