Iterated Prisoner's Dilemma: An Approach to Evolutionarily Stable Cooperation