For cooperation between species to withstand the inherently selfish nature of evolution, individuals that fail to cooperate must have fewer descendants than cooperators, on average. This could result from fitness-reducing sanctions against cheaters or strict dependence of each partner on the other for survival. Partners may also manipulate each other in ways that enhance cooperation in the short term, without necessarily favoring evolution of cooperation over generations. Among related individuals, kin selection favors cooperation with related individuals that are likely to also carry the same genes for cooperation. These mechanisms for enhancing cooperation are not always foolproof, however.
Read the full story.