[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