Sniffnoy comments on Prisoner's dilemma tournament results - Less Wrong

32 Post author: AlexMennen 09 July 2013 08:50PM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (122)

You are viewing a single comment's thread.

Comment author: Sniffnoy 10 July 2013 10:16:18PM 6 points [-]

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?"
Comment author: Quinn 10 July 2013 10:48:58PM *  0 points [-]

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.

Comment author: evec 10 July 2013 11:19:50PM 7 points [-]

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.)

Comment author: Qiaochu_Yuan 10 July 2013 11:37:51PM *  3 points [-]

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.

Comment author: defectbot 10 July 2013 11:40:59PM 27 points [-]

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.

Comment author: Quinn 11 July 2013 05:41:17AM 3 points [-]

Thank you.

Comment author: Eugine_Nier 13 July 2013 06:34:20AM 0 points [-]

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?

Comment author: wubbles 11 July 2013 12:36:43AM 2 points [-]

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.

Comment author: Andreas_Giger 11 July 2013 01:39:36AM 14 points [-]

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.

Comment author: Quinn 11 July 2013 05:39:59AM -1 points [-]

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:

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?

Comment author: Qiaochu_Yuan 11 July 2013 06:50:05PM *  5 points [-]

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.

Comment author: Quinn 11 July 2013 07:25:00PM 1 point [-]

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.

Comment author: hylleddin 11 July 2013 03:02:29AM 1 point [-]

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.

Comment author: wedrifid 11 July 2013 09:00:37PM 4 points [-]

EDIT: More offense was taken at my use of the word "trolls" than was intended.

Be sure to distinguish the "think you're wrong" and the "find it offensive" components of the responses.

Comment author: Quinn 11 July 2013 10:47:33PM 2 points [-]

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.

Comment author: Illano 12 July 2013 01:22:53PM 2 points [-]

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.

Comment author: wedrifid 11 July 2013 06:47:21AM *  2 points [-]

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!

Comment author: Decius 11 July 2013 05:36:29PM 1 point [-]

There exist LW readers who believe that Cooperate is the dominant strategy in PD.

Comment author: Kawoomba 11 July 2013 09:02:38PM 1 point [-]

Humans don't only play to win, coupled with a comparatively obscure choice of programming language, simple bots will be in the majority.

Comment author: Decius 12 July 2013 03:03:53AM *  1 point [-]

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.)

Comment author: wedrifid 11 July 2013 08:56:53PM 1 point [-]

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".

Comment author: Decius 12 July 2013 02:15:47AM 0 points [-]

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.