carykh/PrisonersDilemmaTournament

Is it possible to counter random?

domdabomb42 opened this issue · 6 comments

Assuming random cooperates half the time. The best strategy is to defect because you get an expected result of 3 overall. I think some people will just submit a random one as a joke and my strategies are getting destroyed against random. But is there a way you can detect a random strategy apart from just a complicated one.

yes. It's possible. Not gonna say how but I can get ~ 2.93 average against randoms.

Yep, I’m getting the same against randoms

I got ~ 3.01
Also, a hint is to look into why the iterated prisoner's dilemma is different than the original in the first place.

I’ll eat my hat if the winning strategy doesn’t exploit randoms

@domdabomb42 , here's two naive approaches:

  • Within a window of past moves, count unprovoked defections by your opponent (defections that didn't come after a defection from you). If these occur with a frequency above some threshold, assume you are facing random. (I use this in some of my detective variants.)
  • Count unprovoked defections throughout the game. If these exceed a threshold (constant), assume you are facing random (@Lasermancer uses this and shared it in the Discord).

Note that you probably want a good backoff strategy because these random-detection heuristics are brittle (e.g., they can misfire for joss or for deferred tit-for-tat'ers). You can, of course, come up with something more sophisticated and statistical - think of what would be true for an opponent whose moves have no relationship with yours!

Thanks @I4vr0v. I'm gonna use unprovoked for now and try to figure out something better once after I counter some of the other strategies.