A book on evolutionary computation by De Jong mentions both the term evolutionary algorithms (EA) as well as evolutionary computation (EC). However, it remains unclear to me what the difference between the two is. According to Vikhar, EA forms a subset of EC. However, it remains unclear to me what sort of topics/algorithms would be considered EC but not EA. Is there a clear difference between the two? If so, what is this difference?
1 Answer
As you can find on Wikipedia:
Evolutionary algorithms form a subset of evolutionary computation in that they generally only involve techniques implementing mechanisms inspired by biological evolution such as reproduction, mutation, recombination, natural selection, and survival of the fittest.
This means that other types of evolutions, which are not necessarily a biological evolution, are found in evolutionary computation but not in evolutionary algorithms. For example, learning classifier systems are in EC as they are evolutionary, but not completely in EA as they are not biological.
-
$\begingroup$ Thanks for your input, good point that it is indeed mentioned that EA use biological evolution. However; I am not quite convinced by your example. In the paper that introduced Grammatical Evolution, the authors classify it as an EA: "We present grammatical evolution, an evolutionary algorithm that can evolve complete programs". Source: pdfs.semanticscholar.org/469e/… . Are there in general other forms of evolution that are not biological? I'm sorry if I'm being overly pedantic here, I'm just trying to get my head wrapped around this. $\endgroup$– dan888Mar 18, 2020 at 18:26
-
$\begingroup$ @DaniëlWillemsen no problem. You're right. LCS can be a better example. It's a rule-based algorithm and has some differences with EAs. $\endgroup$– OmGMar 18, 2020 at 23:57