Genetic programming uses evolutionary algorithms to generate computer programs. LISP and Scheme are common languages used. Programs are generated and run, with the most effective selected through suitability assessment. The selected programs are used as the basis for a new generation, created through mutation and crossover. This process is repeated until a satisfactory program is found. Genetic programming is used in solving difficult computer problems such as robotic engineering and artificial intelligence.
Genetic programming is the process of using one computer program to write another computer program using a methodology based on evolutionary algorithms. This process is often compared to linear programming, where the programmer writes specific instructions for the computer to execute. LISP and Scheme are the most common programming languages for this type of work due to their high-level functionality and flexibility. Because of its conceptual similarity to biological evolution, genetic programming is often cited as an example of bioinspired computing.
Genetic Programs (GPs) work by generating and running thousands of programs and choosing the most effective one to use. For example, a doctor might be used to create a program to draw a sketch of a photograph. The first thing the general practitioner would do is create a set of programs that use various drawing functions of the computer in random combinations. Then the GP will run each of these programs in order, sending the results of each to image files.
The next step for the GP is to select the best of those programs from the set. This process is generally the hardest part of genetic programming. In the case of the drawing program, the GP will use image comparison software to determine which of the random drawings was closest to the image the software was trying to draw. Of the randomly generated programs, the GP selected the first ones and discarded the rest. The selection process is known as suitability assessment and is generally considered the most difficult part of genetic programming.
Once the first few programs have been selected, the doctor will use them as the basis for a new batch of programs. Each new batch is called a generation. The two ways of creating the new generation are mutation and crossover. Mutation works by taking one of your existing programs and making random changes to it, hopefully for the better. Crossover, also called breeding, works by taking two of the best programs and combining elements of them to create new programs.
After creating a new batch of programs, the GP repeats the run and evaluate process, then repeats the select, delete, and generate processes. General practitioners will often go through hundreds of generations before finding a single program with a satisfactory outcome. Despite this limitation, genetic programming is a common way to solve some types of difficult computer problems, including robotic engineering and artificial intelligence problems.
Protect your devices with Threat Protection by NordVPN