Random Go Challenge

How strong are various go programs when playing against a random player? This challenge tries to determine how many handicap stones a program can give to a random player. After every game the handicap is increased by one if the program wins and decreased by one if it loses. Initially only 9x9 games are played.

Current Standings on 9x9

handle
program
name
program
version
max
handicap
mean
handicap
current
handicap
number of
games
latest
result
best
win
best
loss
yellow Yellow 0.2 32 24.67 28 54325 29: B+33 31: W+11 32: B+19
numbah numbah 0.1 32 24.36 27 20508 26: W+13 31: W+21 32: B+25
green Green 0.2 27 22.17 23 692 22: W+9 26: W+37 27: B+19
max_avg_lib MaxAvgLib   25 19.88 19 645 20: B+13 24: W+25 25: B+23
NeuroGo NeuroGo OLYMPIAD2003 23 19.34 17 162 16: W+45 20: W+29 21: B+23
silly-billy Silly Billy 0.1.11 26 19.19 18 2327 19: B+9 25: W+15 26: B+11
NeuroGo_Learning NeuroGo JOB_60 24 18.45 18 5169 17: W+9 23: W+3 24: B+27
gunnar GNU Go 3.5.4 24 18.40 21 11892 20: W+15 23: W+33 24: B+15
gnugo3.4 GNU Go 3.4 24 18.07 19 12654 20: B+23 23: W+15 24: B+81
gnugo_level_1 GNU Go 3.5.4 22 17.99 19 646 20: B+3 21: W+17 22: B+11
gnugo_level_15 GNU Go 3.5.4 22 17.88 16 387 17: B+11 21: W+11 22: B+15
Viking4 Viking 4.5.3 21 16.71 18 511 19: B+9 20: W+47 21: B+7
Viking5b Viking 4.5.3 23 16.68 20 127 19: W+5 22: W+1 23: B+81
Viking Viking 4.5.2 21 15.87 19 790 18: W+15 20: W+11 21: B+1
Nio_test2 Nio 0 20 14.71 18 59 19: B+21 19: W+81 20: B+11
Nio_d1_fd5_t Nio 0.0.0.0.0.01 20 14.38 15 156 14: W+5 19: W+41 20: B+15
Nio_d1_fd5 Nio 0.0.0.0.0.01 14 9.82 11 68 12: B+7 13: W+1 14: B+1
Nio_d4_fd2 Nio 0.0.0.0.0.01 14 8.03 14 31 13: W+7 13: W+7 12: B+1
blue Blue 0.1 16 6.69 7 4470 8: B+21 15: W+19 16: B+47
Nio_test1 Nio 0 15 5.17 14 383 15: B+27 14: W+13 15: B+27
red5 Red - depth 5 0.2 7 2.70 1 50 -1: B+11 6: W+81 7: B+17
red4 Red - depth 4 0.2 8 1.29 1 728 2: B+81 7: W+41 8: B+13
brown Brown 1.0 9 -0.05 -3 18859 -4: B+11 8: W+81 9: B+17
red2 Red - depth 2 0.2 6 -4.21 -4 5004 -3: W+1 5: W+9 6: B+19
red3 Red - depth 3 0.2 2 -5.94 -3 5101 -4: B+7 1: W+35 2: B+15
red0 Red - depth 0 0.2 1 -13.90 -16 5006 -15: W+81 -3: B+81 1: B+81
red1 Red - depth 1 0.2 1 -14.18 -13 5033 -12: W+81 -5: B+7 1: B+33

How to Participate in the Challenge

In order to participate in the challenge you need to have a go program which can talk GTP version 2 over a TCP/IP connection. In addition to the set of required GTP commands you also need to support set_free_handicap and (if you ever risk being forced to a negative handicap) place_free_handicap. To enter the challenge your program needs to do the following:
  1. Connect over TCP/IP to host sellafield.lysator.liu.se, port 9697.
  2. Start by sending a name and a password. These should go on separate rows, i.e. end with a newline each. The name is the handle in the table above. The password you can choose freely the first time you connect. For internal technical reasons the name may only contain letters, digits, underscore, and dash. In particular space cannot be used.
  3. Act as a GTP engine, i.e. respond to the GTP commands sent to you.
  4. To stop playing, just break the connection.

Simple Instructions for Unix programs

If you have a program running under some Unix variant and talking GTP on stdin/stdout, you can easily hook it up by doing the following:
  1. Construct a file name_and_password containing name and password as per the previous instructions on one row each.
  2. mkfifo /tmp/fifo
  3. ./gnugo --quiet --mode gtp --chinese-rules < /tmp/fifo | cat name_and_password - | tcpconnect sellafield.lysator.liu.se 9697 > /tmp/fifo
Replace "./gnugo --quiet --mode gtp --chinese-rules" with an appropriate command line to start your program. If you don't have tcpconnect installed you can either look for a tcputils package in your distribution or download tcputils and build it yourself.

Problems

If you encounter any problems, contact Gunnar Farneb├Ąck at gunnar@lysator.liu.se. Currently this software isn't very well tested or likely to be particularly robust.