fractalman 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. Show more comments above.

Comment author: JoshuaZ 09 July 2013 12:31:21PM 8 points [-]

That suggests that a large part of this behavior may have been due to limited amounts of programming time.

Comment author: fractalman 09 July 2013 09:48:43PM 1 point [-]

My own strategy-if i'd felt like joining-would have started by checking the opponent against defectbot; anybody who cooperates with even one of the 5 or so defect-varaints is clearly insane and not to be trusted; defect immediately. OR maybe take a detour and check if they're actually a mimicbot that got unlucky.

well...I might have played Hawkbot instead; Hawkbot spends 9.999 seconds dithering before finally defecting, so it does insanely well against any opponent that tries to run it.

Comment author: hylleddin 09 July 2013 10:47:13PM 2 points [-]

Several of the bots using simulation also used multithreading to create timer processes so they can quit and defect against anyone who took to long to simulate.

I was also thinking of doing something similar, which was to infinite loop if the opposing programs code was small enough, since that probably meant something more complex was simulating it against something.

Comment author: fractalman 10 July 2013 03:41:45AM 2 points [-]

Ah, so multithreading was allowed...so instead of dithering for 9.999 seconds, it would have called forkbomb(9.9seconds)

Comment author: wedrifid 11 July 2013 06:37:27AM 1 point [-]

well...I might have played Hawkbot instead; Hawkbot spends 9.999 seconds dithering before finally defecting, so it does insanely well against any opponent that tries to run it.

Anybody who runs the other program without an interrupt timer and so times out is, as you put it, "clearly insane". Hawkbot gets 1 against any sane opponent that tries to run it.

Comment author: BloodyShrimp 11 July 2013 07:03:58AM 1 point [-]

Forget sanity--if your opponent fails to play, the most you can get is one point. Hawkbot is awful.

Comment author: fractalman 11 July 2013 07:09:29PM *  0 points [-]

I reread the payoff matrix some time after posting that....and the defect-bot test was only the first in a series of tests I had planned out.

Comment author: Luke_A_Somers 10 July 2013 02:46:21PM *  1 point [-]

That wouldn't work well since timing out causes both players to get 0. You'd do better just defecting.

Comment author: fractalman 10 July 2013 08:21:34PM 0 points [-]

It does? The payoff matrix had entries for.. ... double checks original contest rules OH. I see. I misread how the payoffs work when "other" occurs.

Comment author: Kawoomba 10 July 2013 08:48:33PM -2 points [-]

Collaborateurbot: Times out against everyone except the bot it is secretly helping. If it's not against the letter of the rules, it's fair game from a "rational = winning" perspective.

Comment author: Khoth 10 July 2013 09:19:07PM 2 points [-]

I suspect that sort of thing is why the rules forbade multiple entrants.

Comment author: Sniffnoy 11 July 2013 08:30:14AM 0 points [-]

Quinn appears to have submitted something similar. As far as I can tell, against CooperateBot it cooperates; otherwise, it waits 9 seconds before defecting. (The weird timing conditional in there should never return true if things are working properly, and checking the results, indeed, it defected against everything but the three CooperateBots.)

Comment author: Quinn 14 July 2013 10:02:12AM 3 points [-]

Unless I'm going insane, LukeASomers' comment below is incorrect. If you defect and your opponent times out, you still get 1 point and they get 0, which is marginally better than both getting 1 point in the case of mutual defection.

That was the purpose my (sleep 9). I figured anyone who was going to eval me twice against anything other than CooperateBot is going to figure out that I'm a jerk and defect against me, so I'm only getting one point from them anyway. Might as well lower their score by 1.

My assumption might not have been correct though. In the original scoreboard, T (who times out against me) actually does cooperate with K, who defected against everybody!

The bizarre-looking always-false conditional was a long shot at detecting simulation. I heard an idea at a LW meetup (maybe from So8res?) that players might remove sleeps from each other's code before calling eval. I figured I might as well fake such players out if there were any (there were not).