Tournament readiness

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

mike_bike_kite
Posts: 98
Joined: Tue Jul 26, 2011 12:18 am
Location: London

Re: Tournament readiness

Post by mike_bike_kite »

stevemulligan wrote:If I claim a draw and the GUI doesn't think there is insufficient material my guess is that would count as a loss?
I think you just offer a draw and it's up to the opposing program to accept it or not. This means you should always send a move.

I'm actually in the same position as you in that I'm trying to get an ELO for my little program. I tried finding a bunch of low ranking programs to play against (I don't expect to beat much) and have been using winboard 4.5 tm to run tournaments between all the programs and my own. I have been amazed at how many programs had issues with time controls.

My next stage is to connect to a chess server and let it play but I have yet to find out how to do this part. Perhaps you can say how it's done when you do this?
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Tournament readiness

Post by hgm »

stevemulligan wrote:So for time control I'll need "st" and "level" - What about time and otim. Do I need those too?

What about insufficient material? What is the safest way to claim a draw that works with most GUI's? If I claim a draw and the GUI doesn't think there is insufficient material my guess is that would count as a loss?
Time tells you the time left on your clock. You could decide to have the program determine that by itself, independent of the GUI, but if they differ for whatever reason, you might be flagged.

Claiming a draw can be done by the "1/2-1/2" command. Winboard has a mode (Verify Engine Claims) where it would forfeit you if you use it frivolously (e.g. in KBNK or when the right to claim exists only after a move you have not done yet). "offer draw" is treated by WinBoard as a draw claim when you have the right to claim, and as a offer to be relayed to the opponent otherwise. This works even when the right to claim will arise only after your move, and the "offer draw" was sent before it.

WinBoard also has an option to automatically end the game when the material is insufficient (and other options to end it on mate, repetitions, 50-move and trivial draws such as KBNK), even before the engine gets the chance to claim anything.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Tournament readiness

Post by hgm »

mike_bike_kite wrote:I have been amazed at how many programs had issues with time controls.
True, I noticed the same thing when I was developing micro-Max. Some can only do classical, others only incremental. Engines in this Elo range are quite flaky. And when you force in the first few moves from an opening line, even strong engines frequently mess up classical time controls.
My next stage is to connect to a chess server and let it play but I have yet to find out how to do this part. Perhaps you can say how it's done when you do this?
winboard -zp -ics -icshost freechess.org -icshelper timeseal -fcp "java -jar chess.jar engine"

You could set -zippyGameEnd "seek 5 0" as well, to automatically seek a new blitz game if the previous one ends. Be sure the engine understands incremental time controls!
mike_bike_kite
Posts: 98
Joined: Tue Jul 26, 2011 12:18 am
Location: London

Re: Tournament readiness

Post by mike_bike_kite »

Thanks for that!

If you run a tournament in WinBoard is there a way of getting debug output? I had a tournament running when suddenly my engine died. Is there a way of getting the error output?

I only asked here because I think it will be useful to both of us :)
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Tournament readiness

Post by hgm »

Not after the fact. To get debug output you would have to run with the option -debug (or press Ctrl+Alt+F12 while running, to toggle the debug mode), and save the winboard.debug file when you crash before it is overwritten by the next session.
User avatar
mhull
Posts: 13447
Joined: Wed Mar 08, 2006 9:02 pm
Location: Dallas, Texas
Full name: Matthew Hull

Re: Tournament readiness

Post by mhull »

stevemulligan wrote: I'm wondering what features my engine needs to be tournament ready for normal chess in the average tournament.

A recent thread in the tournament forums has some items that I don't understand like:

128mb hash each
3-4-5 piece tablebases
Charlotte 1.0 mini.cgb book

Also, before I start tuning my engine I want to get a baseline ELO. What is the best way to go about that?
Avoid (like the plague) uniform platform rating tournaments which create lists based on least common denominators. A rating list of cripple-ware means nothing. Instead, run your AI with its full capabilities on a chess server (e.g. FICS). Then you can gauge how it smart it really is with all it's brains turned on.
Matthew Hull
User avatar
stevemulligan
Posts: 117
Joined: Wed Jul 20, 2011 2:54 pm
Location: Ottawa, Canada

Re: Tournament readiness

Post by stevemulligan »

Since my engine is c# I'm wondering how frequently do windows tournaments run? Are they more or less common than linux tournaments?

For instance, is the 2011 6h Annual ACCA Pan American Computer Chess Championship windows or linux engines?
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Tournament readiness

Post by hgm »

This is an on-line tournament, where you play on your own hardware and communicate the moves to the opponent (using an ICS as relay station). So anything with an internet connection can participate, whether it is using Windows or Amiga-DOS.
User avatar
stevemulligan
Posts: 117
Joined: Wed Jul 20, 2011 2:54 pm
Location: Ottawa, Canada

Re: Tournament readiness

Post by stevemulligan »

hgm wrote:This is an on-line tournament, where you play on your own hardware and communicate the moves to the opponent (using an ICS as relay station). So anything with an internet connection can participate, whether it is using Windows or Amiga-DOS.
Is there a test server that I can use without getting banned? Freechess.org says I need to be a member for at least 3 months before applying for a computer account.

If I setup chessd would that be a valid test to see if my engine is ICS compatible? (Or is there better server software I can try)
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Tournament readiness

Post by hgm »

You can try to connect to http://80.100.28.169 , which is a version of chessd which I have already setup, and which will be used for the ACCA event. Logged in as a guest you can basically do anything. But you should not expect any people there. But you can login twice, to provide an opponent, and test against that.

Of course you could also set up one yourself; that should not be difficult if you have a Linux machine. I have sources on line at http://hgm.nubati.net/cgi-bin/gitweb.cgi .