Like ANNs, Evolutionary Algorithms (EAs) are techniques inspired by models of biological intelligence, applied to real-world problem solving. In the case of EAs, the approach is population-based. Here’s how it works: A model of the desired outcome is used for producing candidate solutions otherwise known as genes. For example, let’s say we are given ten numbers and the task is to order them from smallest to largest. The model for the desired outcome is a list of size ten that includes all ten numbers. In other words, as long as we have a full list of ten numbers, in any particular order they may be, we have a candidate. The system then generates a population of such candidates, all of which comply with the model, but that differ with one another. To generate this population, the easiest thing to do is to throw dice, and generate the candidates randomly (step 1). It is likely that none of the candidates generated in the first go round are our solution, because none are ordered from smallest to largest. However, some are closer to the solution than the others. In other words, some seem to be more ordered. One way to measure how “ordered” the lists are with respect to one another is to go through each list and count how many times we run into a number that is not greater than the prior number. This method of measuring the relative distance of the candidates from the solution is called a fitness function, and it helps the system rank order the candidates in the population based on “fittest” to “least fit” to be the solution (step 2). (…)
Read the full article on the Huffington Post.