Darwin's Watch by Terry Pratchett, Ian Stewart & Jack Cohen
Darwin's Watch by Array