Last year, AlexMennen ran a prisoner's dilemma tournament with bots that could see each other's source code, which was dubbed a "program equilibrium" tournament. This year, I will be running a similar tournament. Here's how it's going to work: Anyone can submit a bot that plays the iterated PD against other bots. Bots can not only remember previous rounds, as in the standard iterated PD, but also run perfect simulations of their opponent before making a move. Please see the github repo for the full list of rules and a brief tutorial.
There are a few key differences this year:
1) The tournament is in Haskell rather than Scheme.
2) The time limit for each round is shorter (5 seconds rather than 10) but the penalty for not outputting Cooperate or Defect within the time limit has been reduced.
3) Bots cannot directly see each other's source code, but they can run their opponent, specifying the initial conditions of the simulation, and then observe the output.
All submissions should be emailed to pdtournament@gmail.com or PM'd to me here on LessWrong by September 15th, 2014. LW users with 50+ karma who want to participate but do not know Haskell can PM me with an algorithm/psuedocode, and I will translate it into a bot for them. (If there is a flood of such requests, I would appreciate some volunteers to help me out.)
Really cool project, thanks a lot! I actually like your choice of haskell - the example bots are beautiful. I thought about implementing something like this myself some time ago, but I wouldn't have been able to do it as well as you did.
Just one small concern about the tournament rules:
One round could take up to 10 second if both players make full use of their time, so one match of a 100 rounds could take up to 1000 seconds, right? And let's say there are at a very rough estimate 100 matches per tournament. And you want to run 1000 tournaments. Maybe I just made a stupid mistake, I am quite tired right now, but this could theoretically require years of computation time, couldn't it?
Oh, and I could probably translate bots into haskell, if you need help.