News for hackers. Stuff that matters.
Re:The Programmer's Dilemma by o1iver on Sunday June 05, 2011 @10:08AM (#2622015)
Sounds a little bit like the prisoner's dilemma...
Re:The Programmer's Dilemma by gwern on Sunday June 05, 2011 @10:42AM (#2622070)
1. It's pretty much isomorphic, yes

2. The title gestures to that (notice that programmer and prisoner both have 3 syllables, even)

3. The article links straight to the SEP article on the prisoner's dilemma

Re:The Programmer's Dilemma by Mz on Sunday June 05, 2011 @10:43AM (#2622072)
A little, except in the prisoner's dilemma, if they both agree and don't blame each other, you get the best outcome. That isn't really the case here. And if they both betray each other, they are both screwed.
Re:The Programmer's Dilemma by raganwald on Sunday June 05, 2011 @11:09AM (#2622131)
Check your definition again. In Game Theory, that's a different game, where cooperating outweighs suckering the other guy. That's called a "Stag Hunt:"

http://plato.stanford.edu/entries/prisoner-dilemma/#StaHunPD

It could be that in some organizations, the rewards are such that a Stag Hunt is a better model.

Re:The Programmer's Dilemma by Mz on Sunday June 05, 2011 @11:13AM (#2622138)
No, I mean best outcome for all parties -- ie win-win -- and the story sounds to me like there is no actual good outcome for this tale. I am well aware that in prisoner's dilemma if one person betrays/blames and the other does not, that's when one party gets over.

Sorry for being unclear.

Re:The Programmer's Dilemma by jerf on Sunday June 05, 2011 @01:36PM (#2622440)
No, you're still missing it. In Prisoner's Dilemma, if they both cooperate they still get a bad outcome. It is globally the least bad, but individually worse for each of them than defecting if the other cooperates. Look at the payoff matrix: [1]

If mutual cooperation was the best outcome, there would be no dilemma.

[1]: http://en.wikipedia.org/wiki/Prisoner%27s_dilemma#Strategy_f...

Re:The Programmer's Dilemma by daw on Sunday June 05, 2011 @05:44PM (#2622915)
A Prisoner's Dilemma is defined by the ordinal ranking of alternatives, not the absolute cardinal values. The common example used from which the name of the game is derived happens to be prison sentences, which are all negative payoffs (or zero for no time). But as long as the payoffs maintain the same ordinal ranking, they could positive, negative, or a mix.
Re:The Programmer's Dilemma by Mz on Sunday June 05, 2011 @05:30PM (#2622884)
In that matrix, total time served if they remain loyal is 2 months (one month for each of them). If one of them betrays the other, total time served is 1 year (for one of them while the other goes free). If they both betray, total time served is 6 months (3 for each of them). So it seems to me that if they both remain silent, that is the best aggregate outcome. However, it isn't always the case that someone will automatically be screwed no matter what. Sometimes if they both remain loyal, they can't be charged with anything. The reason there is temptation in a case like that is because if the other guy breaks, then you are screwed, not because loyalty isn't the overall best outcome but because individual outcomes vary with each possible set of choices in the matrix and there is risk in not knowing what the other person will do.

Maybe you don't care about "overall best outcome". Maybe you only care what happens to you, in which case I assume you would betray me. But in the face of rules that are going to screw the people no matter what, closing ranks causes the least overall harm -- assuming you have sufficient trust to pull that off in the absence of communication. (EDIT: For example, if you are both members of an organized crime syndicate or a resistance movement, the organization suffers the least overall loss/cost if it gives very strict orders that no one talks -- assuming the two people are of equal value to the organization. Even if you are not part of a larger organization, betrayal costs not only time served but trust of the person you betrayed. Depending upon the situation, one month in jail may be less of a loss than losing this person's trust.)

Re:The Programmer's Dilemma by jerf on Sunday June 05, 2011 @08:28PM (#2623235)
"Sometimes if they both remain loyal, they can't be charged with anything."

It's important to not bring too much real-world logic to the matter. What's being discussed is a certain payoff matrix; the "story" of the Prisoner's Dilemma is really just a way to try to wrap the non-math part of your brain around it, but the payoff matrix, exactly as written, is what is under discussion. The payoff matrix where there is a non-zero probability that they will both manage to skate is a different problem, one not necessarily less worthy of discussion, but one that is not the Prisoner's Dilemma any longer.

If you are interested in further discussion, you should google "Iterated Prisoner's Dilemma" for more fun, including stories about computer simulations of various strategies. Prisoner's Dilemma on its own isn't actually all that interesting, it's more useful as a framing device. Iterated Prisoner's Dilemma is actually interesting.

Re:The Programmer's Dilemma by Mz on Sunday June 05, 2011 @08:59PM (#2623294)
Actually, I've had a college class on "Negotiation and Conflict Management" where stuff like Prisoner's Dilemma was covered fairly well. I cleaned up in the negotiation rounds at the end of class, so I suspect my understanding of the concepts we were taught is just fine. But you and I appear to be talking at cross purposes.

Peace.

Re:The Programmer's Dilemma by briggsbio on Sunday June 05, 2011 @10:22AM (#2622032)
Thanks for the insight Captain Obvious. Did you forget to eat your Wheaties this morning?
Re:The Programmer's Dilemma by younata on Sunday June 05, 2011 @03:01PM (#2622617)
"Be civil. Don't say things you wouldn't say in a face to face conversation." [1] There are many places for insulting others, HN is not one of those places.

[1] http://ycombinator.com/newsguidelines.html