First published 2 July 2012
Is Evolution by Natural Selection the Algorithm of Biological Evolution?
Richard A. Watson
It is tempting to be confident that we know how biological evolution works. After all, we know a mechanism capable of producing adaptation, and we understand the necessary and sufficient conditions for this to occur, and those conditions are met in natural populations — the rest is surely just details. However, there can be many different algorithms that utilise a given underlying mechanism (sub-algorithm), and in other contexts we cannot assert that we know what algorithm is operating just because we identify a sub-algorithm it contains. Using sorting algorithms based on the mechanism of 'compare and swap' (as an analogue of evolutionary algorithms based on natural selection) we discuss three substantial ways in which an algorithm can be based on, and depend on, a mechanism and yet not be that mechanism, each of which has some bearing on natural processes of evolution: 1) unstructured versus structured applications of a mechanism, 2) data-independent versus data-dependent, 3) iterative versus recursive. In the context of computational algorithms more generally, it is easy to see that each of these issues corresponds to different algorithmic classes. We suggest that in natural evolution, it is not obvious that none of these issues apply, nor that the empirical evidence supports the view that an unstructured, data-independent and iterative interpretation of natural selection is sufficient to create biological evolution.