an evolution of cooperation

Michigan Professor and former SALT talks advisor to the US Government, Robert Axelrod asked himself when should a person cooperate, and when should s/he be selfish?
To explore what a good strategy would be, he invited game theory experts to submit progammes for a computer Prisoner's Dilemma Tournament.
Among many responses, it was that of Anatol Rappoport, a Russian-born, ex-virtuoso pianist and Toronto Emeritus of Psychology and Mathematics who sent in the winning programme: TIT FOR TAT.
It is, in Axelrod's words 'merely the strategy of starting with cooperation, and thereafter doing what the other player did on the previous move'. Axelrod circulated the tournament results and elicited entries for a second round. Unlike others, Rappoport simply resubmitted his TIT FOR TAT. Again, it won.
Many people as well as Axelrod have explored this surprising result. In simulations, cooperation evolves under a large number of conditions using this simple strategy. However, under other circumstances such a migration in or out of the system, it does not as opportunities for free-riders become favourable.
Robert Axelrod's The Evolution of Cooperation (first ed 1994, revised 2006) was followed by The Complexity of Cooperation (first ed 1997). An archive of Axelrod's software, documentation, et al can be found here.