Computer programs (600, 700, 800, 900, 1000) and a programmed computer
(1100) for automatically generating computer programs (i.e. sequences of
instructions) are provided. The computer programs (600, 700, 800, 900,
1000) use Hidden Markov Models (400, 500) to generate sequences of
program tokens, e.g., Gene Expression Programming chromosomes (100).
Parameters of the Hidden Markov Models (400, 500) are numerically
optimized, for example, by Differential Evolution with a goal of
increasing the fitness of automatically generated programs.