As one of the people who submitted a CoopBot. I had three primary motivations.
The first came from a simulation of the competition I created in Python, where I created copies of a lot of the strategies mentioned in the thread comments (excluding of course the ones with a nebulous perfectlyPredictOpponent() function). Given that a lot of the strategies discussed involved checking for cooperation with a coopBot, playing an actual coopBot ranked relatively highly in my test competitions, failing primarily against random or defectbots, and it seemed less exploitable by higher level bots, if they still wanted to be able to trick the lower level bots.
The second motivation was to use the coopBot as a baseline to see how well the other bots really did perform.
The third motivation was simple: I don’t really know Scheme, so most of my more complex bots from my Python simulation proved too difficult to implement in the time I allocated to work on this.
As one of the people who submitted a CoopBot. I had three primary motivations.
The first came from a simulation of the competition I created in Python, where I created copies of a lot of the strategies mentioned in the thread comments (excluding of course the ones with a nebulous perfectlyPredictOpponent() function). Given that a lot of the strategies discussed involved checking for cooperation with a coopBot, playing an actual coopBot ranked relatively highly in my test competitions, failing primarily against random or defectbots, and it seemed less exploitable by higher level bots, if they still wanted to be able to trick the lower level bots.
The second motivation was to use the coopBot as a baseline to see how well the other bots really did perform.
The third motivation was simple: I don’t really know Scheme, so most of my more complex bots from my Python simulation proved too difficult to implement in the time I allocated to work on this.