Artificial Intelligence by Richard Urwin

Artificial Intelligence by Richard Urwin

Author:Richard Urwin
Language: eng
Format: mobi
Publisher: Arcturus Publishing
Published: 2016-03-17T22:00:00+00:00


Chapter 10

Evolutionary Computing

Neural nets take their inspiration from nature, mimicking the cells that make up living brains. Genetic algorithms and evolutionary computing use the methods of natural selection to create a program that solves the problems we set it. In nature a population of organisms will usually consist of several thousand individuals at any one time. Multiple generations are generally alive at the same time. The form of each individual is stored in its chromosomes. Each chromosome contains many genes. The individuals that are the best adapted to the living conditions are more likely to reproduce. Pairs of organisms mate and their genes are mixed to create the next generation. Sometimes there are spontaneous random mutations.

Genetic algorithms do precisely the same in software. A small computer object called a chromosome is designed that represents all of the variable parameters needed to solve the problem. Each of these parameters is called a gene.

As an example we will return to the robotic insect that hid in the dark but needed to eat. We might give it two genes, one that determined how scared of light it was and the other that made it braver when it was hungry. There will often be many more genes in the chromosome. Unlike in nature, a single chromosome is used to characterize an individual; there is no advantage to be gained in using more. Initially we need a population of different individuals. A thousand or more chromosomes are created with random contents. Then they are tested to find how good they are at solving the problem. Maybe we run our robotic insects through simulated lifetimes and measure their lifespans. The most successful ones are mated in pairs and maybe some of them are mutated. The new children take the place of some of the previous generation and the process is repeated.

This may seem to be a somewhat haphazard method of reaching a solution to a problem. One does not expect random numbers to be involved in an efficient process. It might feel as if we are saying ‘Pick a number ... No not that one; try again,’ but in fact it settles quickly on a chromosome quite close to the solution. Of course, it might quickly settle on an answer that is only good when compared to other answers close to it. Elsewhere there might be an even better solution but no chromosomes happened to get near enough to find it. That is why mutations are used; they create genes that do not exist in the population. Most of those will be disastrous failures but occasionally they will prove to be better than anything else in the population.

The difficulty with genetic algorithms, and with evolutionary programming in general, is knowing when it has finished. Since we do not know how to solve the problem in the first place, we may not even know if an answer that we are given is as close as it is possible to get. Given time it will get as close to the answer as the genes will permit but that might take a long time and be needlessly precise.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.