[computer-go] A new pairing system idea for CGOS

Matt Gokey mgokey at charter.net
Thu Oct 5 21:30:36 PDT 2006


Hi all.

There has been a number of suggestions for a pairing algorithm for CGOS 
which all seem to have their pros and cons.  I am offering some thoughts 
on this topic and a simple (perhaps naive) pairing technique to add to 
the discussion.

First, Don is excited about the potential for the swiss tournament style 
system.  I don't think it really fits the CGOS goals that well, but I 
must admit I don't understand it completely nor exactly how he plans to 
use it.  CGOS is not really a tournament based system, it's an automated 
and continuous running game server to make it easy for computer go 
engines to play against other computer go engines and rate them to 
"understand" their relative strengths.  I don't have a program playing 
on it yet, but I think it is a great thing to have available for 
computer-go.  What Don has done with this including sticking to 
principles such as tromp-taylor rules to make it fully automated is 
wonderful.  Changing it to a tournament based system would seem to 
complicate it IMO.

Anyway, the goals of the new pairing system for CGOS as I have heard 
them and understand them are:
1. To have each engine play approximately the same number of games.
2. To pair engines of relative similar strength together more often than 
those wildly different.

Pairing in rounds provides for the first goal.

How about this simple idea to provide for the second goal:

1. Pick a random player A from the remaining available players.
2. Select a player B from the remaining available players using a 
weighted random selection with the weight based on an inverse distance 
formula between player A's rating and each remaining player's rating.
3. Repeat until all players are paired.  Odd man out.
4. Play all the games and update ratings.
5. Clear all pairings and go back to 1 for the next round.

In this way any player can play any other player, but pairings between 
similar or closer strength players will be more probable.  The weight 
formula could take many forms thus changing the probabilities of 
dissimilar pairings and I don't know what the best one would be, but 
conceptually this seems to be a straightforward way to achieve the 
objectives which have been expressed.  KISS.  So fire away, how does 
this sound and where are the holes?

Matt


More information about the computer-go mailing list