Genetic Programming
   HOME



picture info

Genetic Programming
Genetic programming (GP) is an evolutionary algorithm, an artificial intelligence technique mimicking natural evolution, which operates on a population of programs. It applies the genetic operators selection (evolutionary algorithm), selection according to a predefined fitness function, fitness measure, mutation (evolutionary algorithm), mutation and crossover (evolutionary algorithm), crossover. The crossover operation involves swapping specified parts of selected pairs (parents) to produce new and different offspring that become part of the new generation of programs. Some programs not selected for reproduction are copied from the current generation to the new generation. Mutation involves substitution of some random part of a program with some other random part of a program. Then the selection and other operations are recursively applied to the new generation of programs. Typically, members of each new generation are on average more fit than the members of the previous gene ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Evolutionary Algorithm
Evolutionary algorithms (EA) reproduce essential elements of the biological evolution in a computer algorithm in order to solve "difficult" problems, at least Approximation, approximately, for which no exact or satisfactory solution methods are known. They belong to the class of Metaheuristic, metaheuristics and are a subset of Population Based Bio-Inspired Algorithms, population based bio-inspired algorithms and evolutionary computation, which itself are part of the field of computational intelligence. The mechanisms of biological evolution that an EA mainly imitates are reproduction, mutation, genetic recombination, recombination and natural selection, selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the quality of the solutions (see also loss function). Evolution of the population then takes place after the repeated application of the above operators. Evolutionary algorithms often perfor ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Programming Language
A programming language is a system of notation for writing computer programs. Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually defined by a formal language. Languages usually provide features such as a type system, Variable (computer science), variables, and mechanisms for Exception handling (programming), error handling. An Programming language implementation, implementation of a programming language is required in order to Execution (computing), execute programs, namely an Interpreter (computing), interpreter or a compiler. An interpreter directly executes the source code, while a compiler produces an executable program. Computer architecture has strongly influenced the design of programming languages, with the most common type (imperative languages—which implement operations in a specified order) developed to perform well on the popular von Neumann architecture. ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Genetic Programming Subtree Crossover
Genetic may refer to: *Genetics, in biology, the science of genes, heredity, and the variation of organisms **Genetic, used as an adjective, refers to genes ***Genetic disorder, any disorder caused by a genetic mutation, whether inherited or de novo ***Genetic mutation, a change in a gene ****Heredity, genes and their mutations being passed from parents to offspring **Genetic recombination, refers to the recombining of alleles resulting in a new molecule of DNA *Genetic relationship (linguistics), in linguistics, a relationship between two languages with a common ancestor language *Genetic algorithm, in computer science, a kind of search technique modeled on evolutionary biology See also *Genetic memory (other) Genetic memory may refer to: *Genetic memory (psychology) In psychology, genetic memory is a theorized phenomenon in which certain kinds of memories could be inherited, being present at birth in the absence of any associated sensory perceptio ...
{{disa ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Fitness Proportionate Selection
Fitness proportionate selection, also known as roulette wheel selection or spinning wheel selection, is a selection technique used in evolutionary algorithms for selecting potentially useful solutions for recombination. Method In fitness proportionate selection, as in all selection methods, the fitness function assigns a fitness to possible solutions or chromosomes. This fitness level is used to associate a probability of selection with each individual chromosome. If f_i is the fitness of individual i in the population, its probability of being selected is : p_i = \frac, where N is the number of individuals in the population. This could be imagined similar to a Roulette wheel in a casino. Usually a proportion of the wheel is assigned to each of the possible selections based on their fitness value. This could be achieved by dividing the fitness of a selection by the total fitness of all the selections, thereby normalizing them to 1. Then a random selection is made similar to ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Tournament Selection
Tournament selection is a method of selecting an individual from a population of individuals in a evolutionary algorithm. Tournament selection involves running several "tournaments" among a few individuals (or "chromosomes") chosen at random from the population. The winner of each tournament (the one with the best fitness) is selected for crossover. '' Selection pressure'' is then a probabilistic measure of a chromosome's likelihood of participation in the tournament based on the participant selection pool size, is easily adjusted by changing the tournament size. The reason is that if the tournament size is larger, weak individuals have a smaller chance to be selected, because, if a weak individual is selected to be in a tournament, there is a higher probability that a stronger individual is also in that tournament. Pseudo Code The tournament selection method may be described in pseudo code: choose k (the tournament size) individuals from the population at random choose the ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Variational Properties
In evolutionary biology, the variational properties of an organism are those properties relating to the production of variation among its offspring. In a broader sense variational properties include phenotypic plasticity. Wagner, G. P. and Altenberg, L. 1996. Complex adaptations and the evolution of evolvability. ''Evolution'' 50 (3): 967-976. Variational properties contrast with functional properties. While the functional properties of an organism determine is level of adaptedness to its environment, it is the variational properties of the organisms in a species that chiefly determine its evolvability and genetic robustness. Variational properties group together many classical and more recent concepts of evolutionary biology. It includes the classical concepts of pleiotropy, canalization, developmental constraints, developmental bias, morphological integration, developmental homeostasis and later concepts such as robustness, neutral networks, modularity Modularity is ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Intron
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... must be replaced by that of a transcription unit containing regions which will be lost from the mature messenger – which I suggest we call introns (for intragenic regions) – alternating with regions which will be expressed – exons." (Gilbert 1978) The term ''intron'' refers to both the DNA sequence within a gene and the corresponding RNA sequence in RNA transcripts. The non-intron sequences that become joined by this RNA processing to form the mature RNA are called exons. Introns are found in the genes of most eukaryotes and many eukaryotic viruses, and they can be located in both protein-coding genes and genes that function as RNA ( noncoding genes). There are four main types of introns: tRNA introns, group I introns, group I ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Three-address Code
In computer science, three-address code (often abbreviated to TAC or 3AC) is an intermediate language, intermediate code used by optimizing compilers to aid in the implementation of code-improving transformations. Each TAC instruction has at most three operands and is typically a combination of assignment and a binary operator. For example, t1 := t2 + t3. The name derives from the use of three operands in these statements even though instructions with fewer operands may occur. Since three-address code is used as an intermediate language within compilers, the operands will most likely not be concrete memory addresses or processor registers, but rather symbolic addresses that will be translated into actual addresses during register allocation. It is also not uncommon that operand names are numbered sequentially since three-address code is typically generated by the compiler. A refinement of three-address code is A-normal form (ANF). Examples In three-address code, this would be br ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Multi Expression Programming
Multi Expression Programming (MEP) is an evolutionary algorithm for generating mathematical functions describing a given set of data. MEP is a Genetic Programming variant encoding multiple solutions in the same chromosome. MEP representation is not specific (multiple representations have been tested). In the simplest variant, MEP chromosomes are linear strings of instructions. This representation was inspired by Three-address code. MEP strength consists in the ability to encode multiple solutions, of a problem, in the same chromosome. In this way, one can explore larger zones of the search space. For most of the problems this advantage comes with no running-time penalty compared with genetic programming variants encoding a single solution in a chromosome.Oltean M.; Dumitrescu D.:Multi Expression Programming, Technical report, Univ. Babes-Bolyai, Cluj-Napoca, 2002Oltean M.; Grosan C.: Evolving Evolutionary Algorithms using Multi Expression Programming, The 7th European Conference on ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Assembly Language
In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Assembly language usually has one statement per machine instruction (1:1), but constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported. The first assembly code in which a language is used to represent machine code instructions is found in Kathleen and Andrew Donald Booth's 1947 work, ''Coding for A.R.C.''. Assembly code is converted into executable machine code by a utility program referred to as an '' assembler''. The term "assembler" is generally attributed to Wilkes, Wheeler and Gill in their 1951 book '' The Preparation of Programs for an Electronic Dig ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Directed Multigraph
In mathematics, and more specifically in graph theory, a multigraph is a graph which is permitted to have multiple edges (also called ''parallel edges''), that is, edges that have the same end nodes. Thus two vertices may be connected by more than one edge. There are 2 distinct notions of multiple edges: * ''Edges without own identity'': The identity of an edge is defined solely by the two nodes it connects. In this case, the term "multiple edges" means that the same edge can occur several times between these two nodes. * ''Edges with own identity'': Edges are primitive entities just like nodes. When multiple edges connect two nodes, these are different edges. A multigraph is different from a hypergraph, which is a graph in which an edge can connect any number of nodes, not just two. For some authors, the terms ''pseudograph'' and ''multigraph'' are synonymous. For others, a pseudograph is a multigraph that is permitted to have loops. Undirected multigraph (edges without o ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Peter Nordin
Peter Nordin (9 August 1965 – 12 October 2020) was a Swedish computer scientist, entrepreneur and author who has contributed to artificial intelligence, automatic programming, machine learning, and evolutionary robotics. Studies and early career Peter Nordin was born in 1965 in Helsingborg but moved to Gothenburg in 1967, where he was raised. He began studies at Chalmers University of Technology in 1984 and completed the M.S. in computer science and engineering in 1988 and studied economics. He then worked as a knowledge engineer for artificial intelligence (AI) company, Infologics AB, focusing on research and development of knowledge-based systems and complex system configuration. Nordin began his research while at Infologics AB, Sweden. His work led to several European research projects ( ESPRIT) including projects in machine learning (autonomous vehicles) and methodologies for AI system development. He began his research in Genetic Programming (GP) in 1992. In 1993, ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]