sites and their hosts to out-and-out altruism that people often exhibit toward total strangers. Human civilization could never have developed as it has without such widespread cooperation; finding the Code of Nature describing human social behavior will not be possible without understanding how that cooperation evolved. And the key clues to that understanding are coming from game theory.
In the 1960s, even before most economists took game theory seriously, several biologists noticed that it might prove useful in explaining aspects of evolution. But the man who really put evolutionary game theory on the scientific map was the British biologist John Maynard Smith.
He was “an approachable man with unruly white hair and thick glasses,” one of his obituaries noted, “remembered by colleagues and friends as a charismatic speaker but deadly debater, a lover of nature and an avid gardener, and a man who enjoyed nothing better than discussing scientific ideas with young researchers over a glass of beer in a pub.”4 Unfortunately I never had a chance to have a beer with him. He died in 2004.
Maynard Smith was born in 1920. As a child, he enjoyed collecting beetles and bird-watching, foreshadowing his future biological interests. At Eton College he was immersed in mathematics and then specialized in engineering at Cambridge University. During World War II he did engineering research on airplane stability, but after the war he returned to biology, studying zoology under the famed J. B. S. Haldane at University College London.
In the early 1970s, Maynard Smith received a paper to review that had been submitted to the journal Nature by an American researcher named George Price. Price had attempted to explain why animals competing for resources did not always fight as ferociously as they might have, a puzzling observation if natural selection really implied that they should fight to the death if only the fittest survive. Price’s paper was too long for Nature, but the issue remained in the back of Maynard Smith’s mind. A year later, while