ACM International Collegiate Programming ContestÂ seems like anÂ obviousÂ choice. I have run though these contest back in collage and they where very challenging.
TooÂ challengingÂ for a SHHH where would probablyÂ consumingÂ some beers and having fun. I was hoping for one with less of aÂ barrierÂ to entry where people with lessÂ programmingÂ experienceÂ couldÂ at-lestÂ join in.
A few months ago IÂ listenedÂ to aÂ Radio LabÂ podcastÂ onÂ the prisoners-dilemmaÂ where they describe the problem and created aÂ competition where people could submit robots that would play this game. They went on to describe the outcome of a few of these robots, how they worked, why they worked that way. It was aÂ interestingÂ podcast.
This sounded perfect for a simpleÂ programmingÂ contest. It only had a few rules,Â inputs, Â outputs and its very simple to teach someone.Â So I created a model of the system with a few example bots.
- Jebus – AlwaysÂ cooperates.
- Snitch – AlwaysÂ defects.
- Random – Randomly makes choices.
- Copy Cat – Starts byÂ cooperating but then copies his opponents last move.
- Fool Me Once – Starts byÂ cooperating but if opponentsÂ everÂ defect it will defect every time after that.
- Forgives – Starts byÂ cooperating, if theÂ opponentsÂ defect it will defect until theÂ opponentsÂ cooperates twice in a row.
As you can see from the results the Snitch wins most of the single rounds since he starts byÂ defecting first and gets a jump start on the rest of the group. But overall the Snitch does do well but not the best as he can neverÂ cooperate with anyone to reduce his sentence.Â The fool me once bot tends to do better as he can recover from the snitch theÂ easiest.
Source code can be found on githubÂ funvill/PrisonersDilemma
This was an interesting exercise and it was fun to program but its too simple for a programming competition. The problem is that there is only one input, output and does not allow for a varietyÂ of choices.
On stack overflow I found aÂ programming competition for creating the best battleship AI.Â I also found this one produced by Google that looks amazingÂ http://aichallenge.org/Â too bad there servers are down
More research is needed.