Learning: Evolutionary
In a sense, the evolution process can be seen as a search process for an optimal solution of a given problem by testing and evaluating. The difficulty is that the search space can be very complicated. One does not know where to look for the solution and where to start or stop.
Roughly speaking, genetic algorithm works like this: it keeps a population of individuals, each of which corresponds to a different solution to the same problem, and is represented by a sequence of "genes". For each generation, each individual is evaluated according to a fitness function, indicating how good it is as a solution to the problem. When a next generation is produced, individuals with higher score have more chance to become a parent. Each pair of parents produces their children by crossover their gene sequence, so that the children inherit some, but not all, of each parent. Also, random mutations happen in some gene during reproduction, so that each new generation consists of some novel solutions. Due to resource restriction, the size of the population has an upper bound, so that individuals with low fitness score will be removed. In the long run, the fitness scores usually get higher and higher, because good genes have better chance to survive from generation to generation. This process continues until a termination condition is reached.
A typical representation of genetic algorithm is to code the genes as binary strings, crossover as partial replacement of a pair of strings, and mutation as value change in the string.
An online demo of GA is here. Two examples of GA application are discussed in the Subsection 12.1.1 of the textbook.
When searching a large state-space, a genetic algorithm may offer significant benefits over more typical search or optimization techniques (such as heuristic search), partly because it explores multiple paths in parallel (with different speed), and allows "jumps" to happen in the search process.
Problems of GA:
Genetic programming uses four steps to solve problems:
Further readings: Wikipedia, links.
It is often described as attempting to understand high-level behavior from low-level rules; for example, how the simple rules of Darwinian evolution lead to high-level structure, or the way in which the simple interactions between ants and their environment lead to complex trail-following behavior. Understanding this relationship in particular systems promises to provide novel solutions to complex real-world problems, such as disease prevention, stock-market prediction, and data-mining on the Internet.
Further reading: website.
Intelligence and evolution are closely related, though not exactly the same. Typically, the former is observed in an individual, while the latter in a species. Both are forms of adaptation, though following different procedures and principles.
"The guiding principle of soft computing is: Exploit the tolerance for imprecision, uncertainty and partial truth to achieve tractability, robustness and low solution cost." (Zadeh)
Common themes:
Further reading: website.