mathematically developing an evolutionary algorithm