DEV Community

Sandor Dargo
Sandor Dargo

Posted on • Originally published at sandordargo.com

The Evolution of Cooperation by Robert Axelrod

How to maximize the benefits of cooperation? Is it better to cooperate with others or to defect? How to decide? How to react when you're a good person but you're taken advantage of? Can we avoid escalation till the end?

These are questions that Robert Axelrod wanted to answer when he started the project that became the basis of his book The Evolution of Cooperation.

At the core of this book, you'll find a particular game called the Prisoner's Dilemma. To solve the dilemma they tested several approaches against each other in multiple rounds. Approaches were submitted by students, programmers, and game theorists, both amateurs and professionals.

Before we get into the details, let's see what the dilemma is about and what was the best approach.

The Prisoner's Dilemma

A prisoner's dilemma is a situation where participants can decide either to cooperate with others or to defect. Cooperation produces optimal outcomes for the group, but defection is more beneficial - in the short term - to the non-cooperating person, while the sucker ... well... sucks.

The book uses a version with the following rules

  • if both participants cooperate, both receive 3 points
  • if one defects while the other cooperates, the defecting person will receive 5 points while the other 0
  • if both players defect, both receive 1 point

The researchers used many different algorithms against each other in two tournaments. Participants could submit new algorithms to the second tournament based on the outcomes of the first one. Still, both were dominated by the very same algorithm. Actually, by quite a simple algorithm called Tit For Tat which has these rules:

  • Start by cooperation
  • If the other player cooperated in the previous round, let's continue cooperating
  • If the other player defected in the previous round, let's defect for one turn, then forget about it and cooperate again

A surprisingly simple and forgiving algorithm. What can we learn from it?

The 4 rules of cooperation

The rules of cooperation are based on the winning strategy Tit For Tat

  • avoid unnecessary conflict by cooperation
  • provocability in the face of an uncalled for defection
  • forgiveness after responding to a provocation
  • clarity of behaviour

While you might get away with a defection, if you have to face the same person again and again, defection reduces what both parties can achieve in the long run. Therefore we should never start defecting, it's better to avoid unnecessary conflicts.

Yet, it's important to show the others that they cannot get away for free if they defect from us. We have to be provocable and punish any defection.

At the same time, it's important that we don't let a single defection escalate into a long-term conflict. After punishing a defection we should fall back to a friendlier behaviour.

Above all, long-term cooperation requires clarity of behaviour. Be deterministic, let the others know what they can expect from you. This is not a weakness. It also shows what you do not tolerate.

Unexpected cooperation in the trenches

In The Evolution of Cooperation, we can learn about a very strange part of the First World War. On the western front, the lines froze, and the different armies could move forward very little. They dug hundreds of kilometres of trenches which were pretty well defendable.

The same soldiers spent quite some time at the same places, meaning that the very same people fought against each other for longer periods of time.

They did not want to kill each other.

Soon, when they were ordered to shoot, they didn't shoot on target, they shoot wide an in a predictable way. Both sides tried to follow their rules of cooperation. Of course, if the enemy defected, they retaliated. It was not uncommon that soldiers expressed that they were sorry if their artillery performed a foolish attack.

Soldiers tried to avoid setting off a long string of recriminations and counter-recriminations as they knew that such a course of actions would lead to unnecessary loss of lives on both sides.

Of course, the leaders - who were not in the trenches - didn't like this kind of warfare and with time they figured out what to do. Still, it's interesting to know how English, French, and German soldiers cooperated on the frontlines.

In the end, what helped the most for the leaders to dismantle this cooperation was to change people in the given trenches frequently. As such, there was no continuity of rules, there was no time to for cooperation to evolve and soldiers did their best to defeat the enemy.

Count to 100 before you react, or maybe not?

Probably we have all heard that we should count to 10 or even to 100 when we are annoyed by something before we'd react. But is that a good strategy when you are provoked?

Our mothers and grandmothers definitely told us so.

On the other hand, research shows that it's not so much the case. If you're provoked, react, retaliate even before thinking. Your response should be automatic. It's important as an individual and probably even more important as a state. If your enemy regroups some army corps, you should do something comparable.

In fact, these should be all written rules. The responses to different types of provocation should be set in stone. This makes responses deterministic which helps avoid some of the provocation. What is also important is to limit the responses. Ideally, they are comparable to the provocation, but a little bit smaller in order to avoid escalation.

Keep these in mind if you are provoked.

Conclusion

The Evolution of Cooperation is a surprising book based on research about what works and what does not when people try to cooperate. The good news is that cooperation almost always trumps defecting the other. The difficult part of the good advice is to forget quite fast if you are defected. And the final one is to hit back if you're provoked. Don't even think. What do you think?

Connect deeper

If you liked this article, please

Oldest comments (0)