HOME

TheInfoList



OR:

:''"Linear genetic programming" is unrelated to "
linear programming Linear programming (LP), also called linear optimization, is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. Linear programming is ...
".'' Linear genetic programming (LGP) is a particular subset of
genetic programming In artificial intelligence, genetic programming (GP) is a technique of evolving programs, starting from a population of unfit (usually random) programs, fit for a particular task by applying operations analogous to natural genetic processes to t ...
wherein
computer programs A computer program is a sequence or set of instructions in a programming language for a computer to execute. Computer programs are one component of software, which also includes documentation and other intangible components. A computer prog ...
in a population are represented as a sequence of instructions from imperative programming language or
machine language In computer programming, machine code is any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a ver ...
. The graph-based data flow that results from a multiple usage of
register Register or registration may refer to: Arts entertainment, and media Music * Register (music), the relative "height" or range of a note, melody, part, instrument, etc. * ''Register'', a 2017 album by Travis Miller * Registration (organ), th ...
contents and the existence of structurally noneffective code (
introns An intron is any nucleotide sequence within a gene that is not expressed or operative in the final RNA product. The word ''intron'' is derived from the term ''intragenic region'', i.e. a region inside a gene."The notion of the cistron .e., gene ...
) are two main differences of this
genetic representation In computer programming, genetic representation is a way of presenting solutions/individuals in evolutionary computation methods. Genetic representation can encode appearance, behavior, physical qualities of individuals. Designing a good genetic re ...
from the more common tree-based
genetic programming In artificial intelligence, genetic programming (GP) is a technique of evolving programs, starting from a population of unfit (usually random) programs, fit for a particular task by applying operations analogous to natural genetic processes to t ...
(TGP) variant.Brameier, M.:
On linear genetic programming
", Dortmund, 2003
W. Banzhaf, P. Nordin, R. Keller, F. Francone, "Genetic Programming – An Introduction. On the Automatic Evolution of Computer Programs and its Application", Morgan Kaufmann, Heidelberg/San Francisco, 1998 In
genetic programming In artificial intelligence, genetic programming (GP) is a technique of evolving programs, starting from a population of unfit (usually random) programs, fit for a particular task by applying operations analogous to natural genetic processes to t ...
(GP) a linear tree is a program composed of a variable number of unary functions and a single
terminal Terminal may refer to: Computing Hardware * Terminal (electronics), a device for joining electrical circuits together * Terminal (telecommunication), a device communicating over a line * Computer terminal, a set of primary input and output devi ...
. Note that linear tree GP differs from bit string
genetic algorithms In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to gene ...
since a population may contain programs of different lengths and there may be more than two types of functions or more than two types of terminals.Foundations of Genetic Programming


Examples of LGP programs

Because LGP programs are basically represented by a linear sequence of instructions, they are simpler to read and to operate on than their tree-based counterparts. For example, a simple program written in the LGP languag
Slash/A
looks like a series of instructions separated by a slash: input/ # gets an input from user and saves it to register F 0/ # sets register I = 0 save/ # saves content of F into data vector D (i.e. D := F) input/ # gets another input, saves to F add/ # adds to F current data pointed to by I (i.e. F := F + D output/. # outputs result from F By representing such code in
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
format, i.e. as an array of bytes each representing a different instruction, one can make
mutation In biology, a mutation is an alteration in the nucleic acid sequence of the genome of an organism, virus, or extrachromosomal DNA. Viral genomes contain either DNA or RNA. Mutations result from errors during DNA or viral replication, m ...
operations simply by changing an element of such an array.


See also

* Multi expression programming * Cartesian genetic programming * Grammatical evolution *
Genetic programming In artificial intelligence, genetic programming (GP) is a technique of evolving programs, starting from a population of unfit (usually random) programs, fit for a particular task by applying operations analogous to natural genetic processes to t ...


Notes


External links


Slash/A
A programming language and C++ library specifically designed for linear GP
DigitalBiology.NET
Vertical search engine for GA/GP resources
Discipulus
Genetic-Programming Software
MicroGP
Genetic-Programming Software (open source)

Genetic programming