Gene Expression Programming and the Evolution of Computer Programs

2011 ◽  
pp. 2154-2173
Author(s):  
Cândida Ferreira

In this chapter an artificial problem solver inspired in natural genotype/phenotype systems — gene expression programming — is presented. As an introduction, the fundamental differences between gene expression programming and its predecessors, genetic algorithms and genetic programming, are briefly summarized so that the evolutionary advantages of gene expression programming are better understood. The work proceeds with a detailed description of the architecture of the main players of this new algorithm (chromosomes and expression trees), focusing mainly on the interactions between them and how the simple yet revolutionary structure of the chromosomes allows the efficient, unconstrained exploration of the search space. And finally, the chapter closes with an advanced application in which gene expression programming is used to evolve computer programs for diagnosing breast cancer.

Author(s):  
Cândida Ferreira

In this chapter an artificial problem solver inspired in natural genotype/phenotype systems — gene expression programming — is presented. As an introduction, the fundamental differences between gene expression programming and its predecessors, genetic algorithms and genetic programming, are briefly summarized so that the evolutionary advantages of gene expression programming are better understood. The work proceeds with a detailed description of the architecture of the main players of this new algorithm (chromosomes and expression trees), focusing mainly on the interactions between them and how the simple yet revolutionary structure of the chromosomes allows the efficient, unconstrained exploration of the search space. And finally, the chapter closes with an advanced application in which gene expression programming is used to evolve computer programs for diagnosing breast cancer.


The GP method explained in previous chapters was about the evolution of computer programs represented by monolithic gene (syntax tree). This is the original and most widespread type of GP that is also referred to as tree-based GP. In recent years, new variants of GP have emerged that follow the basic idea of traditional GP to automatically evolve computer programs, but the programs are evolved/represented in different ways. New variants of GP include but are not limited to stack-based genetic programming, linear genetic programming (LGP), Cartesian genetic programming, grammatical evolution (GE), graph-based GP (GGP), context-free grammar (CFGGP), multigene genetic programming (MGGP), and gene expression programming (GEP). Among these variants, main features, evolution of computer programs, and a brief review of engineering applications of MGGP, GEP, and LGP are introduced in this chapter.


2009 ◽  
Vol 18 (02) ◽  
pp. 197-238 ◽  
Author(s):  
MIHAI OLTEAN ◽  
CRINA GROŞAN ◽  
LAURA DIOŞAN ◽  
CRISTINA MIHĂILĂ

Genetic Programming (GP) is an automated method for creating computer programs starting from a high-level description of the problem to be solved. Many variants of GP have been proposed in the recent years. In this paper we are reviewing the main GP variants with linear representation. Namely, Linear Genetic Programming, Gene Expression Programming, Multi Expression Programming, Grammatical Evolution, Cartesian Genetic Programming and Stack-Based Genetic Programming. A complete description is provided for each method. The set of applications where the methods have been applied and several Internet sites with more information about them are also given.


Author(s):  
Daniel Manrique ◽  
Juan Ríos ◽  
Alfonso Rodríguez-Patón

Evolutionary computation (EC) is the study of computational systems that borrow ideas from and are inspired by natural evolution and adaptation (Yao & Xu, 2006, pp. 1-18). EC covers a number of techniques based on evolutionary processes and natural selection: evolutionary strategies, genetic algorithms and genetic programming (Keedwell & Narayanan, 2005). Evolutionary strategies are an approach for efficiently solving certain continuous problems, yielding good results for some parametric problems in real domains. Compared with genetic algorithms, evolutionary strategies run more exploratory searches and are a good option when applied to relatively unknown parametric problems. Genetic algorithms emulate the evolutionary process that takes place in nature. Individuals compete for survival by adapting as best they can to the environmental conditions. Crossovers between individuals, mutations and deaths are all part of this process of adaptation. By substituting the natural environment for the problem to be solved, we get a computationally cheap method that is capable of dealing with any problem, provided we know how to determine individuals’ fitness (Manrique, 2001). Genetic programming is an extension of genetic algorithms (Couchet, Manrique, Ríos & Rodríguez- Patón, 2006). Its aim is to build computer programs that are not expressly designed and programmed by a human being. It can be said to be an optimization technique whose search space is composed of all possible computer programs for solving a particular problem. Genetic programming’s key advantage over genetic algorithms is that it can handle individuals (computer programs) of different lengths. Grammar-guided genetic programming (GGGP) is an extension of traditional GP systems (Whigham, 1995, pp. 33-41). The difference lies in the fact that they employ context-free grammars (CFG) that generate all the possible solutions to a given problem as sentences, establishing this way the formal definition of the syntactic problem constraints, and use the derivation trees for each sentence to encode these solutions (Dounias, Tsakonas, Jantzen, Axer, Bjerregard & von Keyserlingk, D. 2002, pp. 494-500). The use of this type of syntactic formalisms helps to solve the so-called closure problem (Whigham, 1996). To achieve closure valid individuals (points that belong to the search space) should always be generated. As the generation of invalid individuals slows down convergence speed a great deal, solving this problem will very much improve the GP search capability. The basic operator directly affecting the closure problem is crossover: crossing two (or any) valid individuals should generate a valid offspring. Similarly, this is the operator that has the biggest impact on the process of convergence towards the optimum solution. Therefore, this article reviews the most important crossover operators employed in GP and GGGP, highlighting the weaknesses existing nowadays in this area of research. We also propose a GGGP system. This system incorporates the original idea of employing ambiguous CFG to overcome these weaknesses, thereby increasing convergence speed and reducing the likelihood of trapping in local optima. Comparative results are shown to empirically corroborate our claims.


Author(s):  
Baddrud Zaman Laskar ◽  
Swanirbhar Majumder

Gene expression programming (GEP) introduced by Candida Ferreira is a descendant of genetic algorithm (GA) and genetic programming (GP). It takes the advantage of both the optimization and search technique based on genetics and natural selection as GA and its programmatic Darwinian counterpart GP. It is gaining popularity because; it has to some extent eradicated the ‘cons' of both while keeping in the ‘pros'. It is still a new technique not much explored since its introduction in 2001. In this chapter both GA and GP is first discussed followed by the elaborate discussion of GEP. This is followed up by the discussion on research work done is different fields using GEP as a tool followed up by GEP architectures. Finally, here GEP has been used for detection of age from facial features as a soft computing based optimization problem using genetic operators.


2019 ◽  
Vol 06 (02) ◽  
pp. 163-175 ◽  
Author(s):  
Joanna Jȩdrzejowicz ◽  
Piotr Jȩdrzejowicz ◽  
Izabela Wierzbowska

The paper investigates a Gene Expression Programming (GEP)-based ensemble classifier constructed using the stacked generalization concept. The classifier has been implemented with a view to enable parallel processing with the use of Spark and SWIM — an open source genetic programming library. The classifier has been validated in computational experiments carried out on benchmark datasets. Also, it has been inbvestigated how the results are influenced by some settings. The paper is an extension of a previous paper of the authors.


Author(s):  
Mohammad Anas ◽  
Mohiuddeen Khan ◽  
Hammad Basit

Usually, evolutionary algorithms are used to provide strong approximations to problems that are difficult to solve with other methods. Gene expression programming (GEP) is a type of evolutionary algorithm used in computer programming to generate computer programs or models. These computer programs are complex tree structures that, like a living organism, learn and adapt by modifying their sizes, shapes, and composition. In the present work, a comparison study was made among GEP and the standard prediction techniques to find the best predicting model on the BOSTON HOUSING dataset. Three approaches viz. GEP, ANN and polynomial regression were implemented on the dataset. The study showed how the three methods solve the problem of high bias and high variance and which one outperforms the other. The research work, however, gave a glimpse of the actual limitations and advantages of the methods on one another indicating the dependency of method on the type of data used. The results conclude the comparison of different methods on different performance metrics. The GEP model however reduced the problem of high bias and high variance by giving a slight difference between the train and test accuracy but was not able to outperform ANN and polynomial regression in terms of performance metrics.


Author(s):  
Baddrud Zaman Laskar ◽  
Swanirbhar Majumder

Gene expression programming (GEP) introduced by Candida Ferreira is a descendant of genetic algorithm (GA) and genetic programming (GP). It takes the advantage of both the optimization and search technique based on genetics and natural selection as GA and its programmatic Darwinian counterpart GP. It is gaining popularity because; it has to some extent eradicated the ‘cons' of both while keeping in the ‘pros'. It is still a new technique not much explored since its introduction in 2001. In this chapter both GA and GP is first discussed followed by the elaborate discussion of GEP. This is followed up by the discussion on research work done is different fields using GEP as a tool followed up by GEP architectures. Finally, here GEP has been used for detection of age from facial features as a soft computing based optimization problem using genetic operators.


Sign in / Sign up

Export Citation Format

Share Document