I have a (big) PGN file in which I store all my test games
(say 100 000 games of 2000 engines). I want to have pairings
of groups with (say) 12 engines from the bottom up to the top.
Criteria for pairings are:
-- a certain ratings interval (say 80) and
-- the number of games in the database. I should explain further:
if it is bigger than (say ) 5, I dont necessarily want both engines
in the same group. On the other hand, I want to have: each two
engines within (say) 80-points range have played (say) once or twice.
I know this could be done by checkin manually BayesElo details file.
This is the latest option for me.
Hi Harun,
If I understand your requirements correctly you are looking for a program that makes groups for round robin tournaments. Programs of similar strength that have not played many games against each other should go to the same group.
Some questions:
Does your PGN file contain ELO ratings?
Do you want every engine in your PGN file to become member in a pairing group?
Some engines might be left, when every group is required to have the same size. Which ones should be left out, those from the top or maybe those that have enough games against close opponents?
What about engines that have played against higher/lower rated opponents on average?
According to your requirements, there might be more lower/higher rated opponents then to chose from, but this is not guaranteed.
Are there different versions of the same engine in your PGN file? If not, the following questions don't make sense.
Should different versions of the same engine be allowed to be in the same group?
Should the fact that EngineA-Version1 already played against EngineB-Version1 have any influence on
- pairings of EngineA-Version1 against EngineB-Version2 (same as EngineA-Version2 against EngineB-Version1)
- pairings of EngineA-Version2 against EngineB-Version2
Is there enough programmers for a programming contest?
I will not participate in a programmers contest on this. Although the problem is interesting, I will not waste time on it when you have the option to chose another solution.
I have a program SwissOpt that makes swiss pairings from a PGN file. It does not use the FIDE swiss pairing rules. It uses an optimization algorithm instead. This shoud be a good starting point to make the program you want.
Greetings
Volker