Wait, someone actually submitted CooperateBot? That wasn’t just a default entry?
Thoughts on a possible second tournament:
I like Luke Somers’s suggestion that each matchup should be run several times to smooth out randomness (obviously, bots don’t get access to earlier runs, this isn’t iterated prisoner’s dilemma)
Should it include default entries? Perhaps a CooperateBot, a DefectBot, and a RandomBot? Or perhaps just a RandomBot?
Should we maybe restrict to a subset of Scheme to make things easier for those of us who want to do static analysis? :) (Yeah, yeah, I never actually submitted anything...) Or should we just rely on pre-announcmets of “If you do this, I’m defecting?”
Why does submitting CooperateBot to a competition that does not include it make someone a troll? Would submitting DefectBot make one a troll, too?
(I believe the competition should have automatically included one CooperateBot and DefectBot each, and stated that this was the case at the beginning. I am sad there were three CooperateBots and no DefectBots.)
I think the idea is that someone submitting CooperateBot is not trying to win. But I find this a poor excuse. (It’s why I always give the maximum possible number whenever I play “guess 2/3rds of the average.”) I agree that the competition should have been seeded with some reasonable default bots.
Submitting DefectBot makes you a CDT agent, not a troll.
As one of the players who submitted a cooperatebot (yes, I see the irony), allow me to explain my reasoning for doing so. I scoped the comments to see what bots were being suggested (mimicbots, prudentbots, etc) and I saw much more focus on trying to enforce mutual cooperation than trying to exploit bots that can be exploited. I metagamed accordingly, hypothesizing that the other bots would cooperate with a cooperatebot but possibly fail to cooperate with each other. My hypothesis was incorrect, but worth testing IMO.
I scoped the comments to see what bots were being suggested (mimicbots, prudentbots, etc) and I saw much more focus on trying to enforce mutual cooperation than trying to exploit bots that can be exploited. I metagamed accordingly, hypothesizing that the other bots would cooperate with a cooperatebot but possibly fail to cooperate with each other.
There’s a problem with that logic. Did you really expect the people designing exploitation bots to talk about them publicly?
Considering this was an experimental tournament, learning how certain strategies perform against others seems far more interesting to me than winning, and I can’t imagine any strategy I would label as a troll submission. Even strategies solely designed to be obstacles are valid and valuable contributions, and the fact that random strategies skew the results is a fault of the tournament rules and not of the strategies themselves.
You are right that I used the inflammatory t-word because CooperateBot submitters are probably not trying to win. I certainly expected to see DefectBots (or CliqueBots from optimists), and agree that the competition should have been seeded with both CooperateBots and DefectBots.
But I don’t understand this at all:
But I find this a poor excuse. (It’s why I always give the maximum possible number whenever I play “guess 2/3rds of the average.”)
To me, this looks like t-wording the people who play 0.
Are we thinking of the same game, where the payout is constant?
Yes, that game. My point is that complaining “that’s not fair, X player wasn’t playing to win” is a failure to think like reality. You know that you’re playing against humans, and that humans do lots of things, including playing games in a way that isn’t playing to win. You should be taking that into account when modeling the likely distribution of opponents you’re going to face. This is especially true if there isn’t a strong incentive to play to win.
I would have liked to see a proper DefectBot as well, however contenstant K defected every time and only one of the bots that cooperated with it would have defected against DefectBot, so it makes a fairly close proxy.
Yes, the “here’s why Quinn is wrong about CooperateBot being a troll submission” comments were valuable, so I don’t regret provoking them. Presumably if my comment had said “players” instead of “trolls” from the outset, it would have been ignored for being inoffensive and content-free.
But provoking a few good comments was a happy accident from my perspective. I will avoid casual use of the word “troll” on this site, unless I have a specific purpose in mind.
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.
Plus even a flowchart of the ideal strategy is hard to create without using black boxes or brute-force iterating every possible proof of something.
EDIT: Oh, and the humans played to win a game different from the nominal game. That distinction is important, because you can only observe them in the actual game and not the nominal one. (At CFAR workshops, PD for low stakes resulted in universal cooperation when it was done openly; the first time it was done semi-anonymously, there was a defector. There were several other differences as well, but the nominal stakes were similar.)
There exist LW readers who believe that Cooperate is the dominant strategy in PD.
Can you provide links to comments that are examples of this? If so, I’d like to look at them to confirm and then to make sure I have downvoted and/or corrected them as necessary. Without seeing the examples I assign roughly 0.5 probability to them existing, with most of the remaining probability mass going to “There exist comments that defy CDT in a way that some readers may consider to be equivalent to declaring that Cooperate is dominant but is in fact not a claim about strategic dominance at all”.
I had that discussion in person, so I can’t point to comments. There may have been some confusion about the claims made, such that the claim I understood them to be making is different from the claim that they made, and the specific game in question was 2-iteration PD with the nonstandard payoff matrix (50,50; 100,0; 0;100; 25,25), but I think they were using cached thoughts for the discussion, rather than something that applied to the specific case but not the general.
I was a bit irritated that no fewer than three trolls submitted CooperateBot, as I cooperated with it in hopes of tricking bots like submission B.
Anyone who submits a strategy that cooperates with CooperateBot has no place shaming others as ‘trolls’ for cooperating. If you are trying to ‘trick’ others and guess their responses incorrectly then the joke is entirely on you!
Wait, someone actually submitted CooperateBot? That wasn’t just a default entry?
Thoughts on a possible second tournament:
I like Luke Somers’s suggestion that each matchup should be run several times to smooth out randomness (obviously, bots don’t get access to earlier runs, this isn’t iterated prisoner’s dilemma)
Should it include default entries? Perhaps a CooperateBot, a DefectBot, and a RandomBot? Or perhaps just a RandomBot?
Should we maybe restrict to a subset of Scheme to make things easier for those of us who want to do static analysis? :) (Yeah, yeah, I never actually submitted anything...) Or should we just rely on pre-announcmets of “If you do this, I’m defecting?”
I was a bit irritated that no fewer than three players submitted CooperateBot, as I cooperated with it in hopes of tricking bots like submission B.
EDIT: More offense was taken at my use of the word “trolls” than was intended.
Why does submitting CooperateBot to a competition that does not include it make someone a troll? Would submitting DefectBot make one a troll, too?
(I believe the competition should have automatically included one CooperateBot and DefectBot each, and stated that this was the case at the beginning. I am sad there were three CooperateBots and no DefectBots.)
I think the idea is that someone submitting CooperateBot is not trying to win. But I find this a poor excuse. (It’s why I always give the maximum possible number whenever I play “guess 2/3rds of the average.”) I agree that the competition should have been seeded with some reasonable default bots.
Submitting DefectBot makes you a CDT agent, not a troll.
As one of the players who submitted a cooperatebot (yes, I see the irony), allow me to explain my reasoning for doing so. I scoped the comments to see what bots were being suggested (mimicbots, prudentbots, etc) and I saw much more focus on trying to enforce mutual cooperation than trying to exploit bots that can be exploited. I metagamed accordingly, hypothesizing that the other bots would cooperate with a cooperatebot but possibly fail to cooperate with each other. My hypothesis was incorrect, but worth testing IMO.
Thank you.
There’s a problem with that logic. Did you really expect the people designing exploitation bots to talk about them publicly?
How do we draw the line? Tit-for-Tat is very simple, yet does very well. Arguably before knowing how it performs it could be considered a troll.
Considering this was an experimental tournament, learning how certain strategies perform against others seems far more interesting to me than winning, and I can’t imagine any strategy I would label as a troll submission. Even strategies solely designed to be obstacles are valid and valuable contributions, and the fact that random strategies skew the results is a fault of the tournament rules and not of the strategies themselves.
Can you elaborate on this?
You are right that I used the inflammatory t-word because CooperateBot submitters are probably not trying to win. I certainly expected to see DefectBots (or CliqueBots from optimists), and agree that the competition should have been seeded with both CooperateBots and DefectBots.
But I don’t understand this at all:
To me, this looks like t-wording the people who play 0.
Are we thinking of the same game, where the payout is constant?
Yes, that game. My point is that complaining “that’s not fair, X player wasn’t playing to win” is a failure to think like reality. You know that you’re playing against humans, and that humans do lots of things, including playing games in a way that isn’t playing to win. You should be taking that into account when modeling the likely distribution of opponents you’re going to face. This is especially true if there isn’t a strong incentive to play to win.
Yes, and I agree with this. I’m familiar with Straw Vulcanism and accept that guessing incorrectly is my mistake, not others’.
It seems anger and frustration were read into my comment, when in fact I was merely surprised, so I’ve edited out the offending t-word.
I would have liked to see a proper DefectBot as well, however contenstant K defected every time and only one of the bots that cooperated with it would have defected against DefectBot, so it makes a fairly close proxy.
Be sure to distinguish the “think you’re wrong” and the “find it offensive” components of the responses.
Yes, the “here’s why Quinn is wrong about CooperateBot being a troll submission” comments were valuable, so I don’t regret provoking them. Presumably if my comment had said “players” instead of “trolls” from the outset, it would have been ignored for being inoffensive and content-free.
But provoking a few good comments was a happy accident from my perspective. I will avoid casual use of the word “troll” on this site, unless I have a specific purpose in mind.
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.
There exist LW readers who believe that Cooperate is the dominant strategy in PD.
Humans don’t only play to win, coupled with a comparatively obscure choice of programming language, simple bots will be in the majority.
Plus even a flowchart of the ideal strategy is hard to create without using black boxes or brute-force iterating every possible proof of something.
EDIT: Oh, and the humans played to win a game different from the nominal game. That distinction is important, because you can only observe them in the actual game and not the nominal one. (At CFAR workshops, PD for low stakes resulted in universal cooperation when it was done openly; the first time it was done semi-anonymously, there was a defector. There were several other differences as well, but the nominal stakes were similar.)
Can you provide links to comments that are examples of this? If so, I’d like to look at them to confirm and then to make sure I have downvoted and/or corrected them as necessary. Without seeing the examples I assign roughly 0.5 probability to them existing, with most of the remaining probability mass going to “There exist comments that defy CDT in a way that some readers may consider to be equivalent to declaring that Cooperate is dominant but is in fact not a claim about strategic dominance at all”.
I had that discussion in person, so I can’t point to comments. There may have been some confusion about the claims made, such that the claim I understood them to be making is different from the claim that they made, and the specific game in question was 2-iteration PD with the nonstandard payoff matrix (50,50; 100,0; 0;100; 25,25), but I think they were using cached thoughts for the discussion, rather than something that applied to the specific case but not the general.
Anyone who submits a strategy that cooperates with CooperateBot has no place shaming others as ‘trolls’ for cooperating. If you are trying to ‘trick’ others and guess their responses incorrectly then the joke is entirely on you!