The basic Genetic algorithm, accord to the text
1:Randomly create an initial population of programs
from the available primitives (more on this in
Section 2.2).
2:repeat
3:Execute each program and ascertain its fitness.
4:Select one or two program(s) from the population with
a probability based on fitness to participate in genetic
operations (Section 2.3).
5:Create new individual program(s) by applying genetic
operations with specified probabilities (Section2.4).
6:until an acceptable solution is found or some other
stopping condition is met (e.g., a maximum number of
generations is reached).
7:return the best-so-far individual
By making fairly reasonable variations of the concept of fitness and "genetic operation", it seems like one could have simulated annealing, stochastic gradient descent, particle filters and a host of other standard algorithms. Remember, they say "Select one or two program(s)" - select one and mutate is any monte carlo algorithm, right?Which is to say GP seems more like a mix-in that can be added what ever algorithm (add some binary operations to the unary operations most algorithms effectively use to evolve). Yet GP is spoken of as an alternative all the other approaches, something wholly different. Plus what is spoken of as "genetic programming proper" is this basic loop plus a bunch of less explicit but very assumed approaches.