Explore chapters and articles related to this topic
Genetic Programming
Published in A Vasuki, Nature-Inspired Optimization Algorithms, 2020
Genetic programming is an integration of biological evolution and computer science with inclusion of artificial intelligence and machine learning. GP involves computer programs that evolve which requires computation-intensive resources, and it is an advanced concept compared to other evolutionary algorithms. The data structures for representing programs in GP become important with respect to the space and time complexity of the algorithm. The possibility of using different data structures such as trees, graphs, and other linear structures gives an added advantage in GP. The memory required to store the population of programs and the data upon which the program operates are dependent on the data structure used for storing the programs. The fitness function of every member of the population has to be obtained by executing the programs which could use computational resources depending on the length and structure of the individual program. This could also be an advantage in GP since it gives the user some flexibility in creating variations among the population members instead of their being identical.
Genetic Algorithm (GA)
Published in Paresh Chra Deka, A Primer on Machine Learning Applications in Civil Engineering, 2019
One of the central challenges of computer science is to get a computer to do what needs to be done without telling it how to do it. Genetic programming (GP) addresses this challenge by providing a method for automatically creating a working computer program from a high-level problem statement of the problem. Genetic programming achieves this goal of automatic programming (also called program synthesis or program induction) by genetically breeding a population of computer programs using the principles of Darwinian natural selection and biologically inspired operations. The operations include reproduction, crossover (sexual recombination), mutation, and architecture-altering operations patterned after gene duplication and gene deletion in nature. For example, an element of a population might correspond to an arbitrary placement of eight queens on a chessboard, and the fitness function might count the number of queens that are not attacked by any other queens. Given an appropriate set of genetic operators by which an initial population of queen placements can spawn new collections of queen placements, a suitably designed system could solve the classic ‘eight queens’ problem.
Evolutionary Learning
Published in Stephen Marsland, Machine Learning, 2014
One extension of genetic algorithms that has had a lot of attention is the idea of genetic programming. This was introduced by John Koza, and the basic idea is to represent a computer program as a tree (imagine a flow chart of the code). For certain programming languages, notably LISP, this is actually a very natural way to represent a program, but it doesn’t work very well in Python, so we will have a quick look at the idea, but not get into writing any explicit algorithms for the method. Tree-based variants on mutation and crossover are defined (replace subtrees by other subtrees, either randomly generated (mutation, Figure 10.13) or swapped from another tree (crossover, Figure 10.14)), and then the genetic program runs just like a normal genetic algorithm, but acting on these program trees rather than strings.
Investigation of the fatigue life relationship among different geometry combinations of the 3-point bending cylinder (3PBC) fatigue test for asphalt concrete
Published in International Journal of Pavement Engineering, 2023
Aksel Seitllari, M. Emin Kutay
Genetic programming is an advanced computation method that uses Darwinian selection principles to solve a given phenomenon (Koza 1992). Initially, the technique randomly engages computer programs to create varying possible solutions. The generated computer programs, often referred to as ‘trees,’ are created through the combinations of functions and terminals. While the selected functions consist of basic mathematical operations (i.e. addition, division, etc.), power functions (i.e. logarithm, etc.), logic functions (i.e. AND, etc.), or any other operators, terminals could consist of arguments and\or variables, etc. The generated functions and terminals evolve cycle by cycle and are merged to create a model representing the optimal combination to solve the problem. Once this is completed, the model’s accuracy is compared to other hybrids, and the fittest models will be used to start the next generation of more successful models. For this to be achieved, genetic operations including mutation, reproduction, and crossover are used. The process terminates once the convergence condition is met. Generally, the models with higher accuracy possess more chances for selection (Nazzal and Tatari 2013, Eleyedath et al.2021). MGGP is, however, a new approach to genetic programming. It engages multiple genetic programming trees. These trees are then combined in linear form despite the nonlinear terms that the trees may consist of (Searson 2015, Danandeh Mehr and Safari 2020).
New calibration approach to improve Pavement ME Design thermal cracking prediction: mixture-specific coefficients – the Michigan case study
Published in Road Materials and Pavement Design, 2020
Michele Lanotte, M. Emin Kutay, Syed W. Haider, Gopi Krishna Musunuru
To overcome this problem the MGGP approach has been adopted. The Genetic Programming is an evolutionary computation technique that creates and evolves computer programs to solve a given problem (Koza, 1992). A random primary population of computer programs is generated to initiate the operation of finding the possible solutions. The computer programs have a ‘tree-like’ structures created from the combination of random functions and terminals. Functions include arithmetic operations (+, −, ×, or ÷), Boolean logic functions (AND, OR, NOT, etc.), mathematical functions (sin, cos, log) or any other operators. The terminal set can be constituted by variable and/or numerical constants. The computer programs evolve cycle by cycle with the selection of the best individuals that can allow the solution of the problem. The goodness-of-fit of each individual in the population is measured and the ones with superior performance are selected as a starting point for the next generation. The next generation evolves with respect to the previous generation of solutions with the application of the so-called ‘genetic operations’ such as mutation, crossover and reproduction with the purpose of improving the overall goodness-of-fit. Although each step of the procedure is randomly based, models with higher performances have more chance of selection. The MGGP combines several tree-structures (or genes) using the least square method. Individual trees containing non-linear terms are then combined linearly with each other in order to incorporate the power of linear and non-linear behaviour and enhances the performance of MGGP-based model.
Entry capacity modelling of signalized roundabouts under heterogeneous traffic conditions
Published in Transportation Letters, 2020
Ashish Kumar Patnaik, L. Ankit Agarwal, Mahabir Panda, Prasanta Kumar Bhuyan
Premature convergence is known to be common problem in the genetic programming evolutionary algorithm. The common problem is that the processing time is too high enough to get the solution. In the execution step, the solution of the problem is stagnating. Hence, more computational effort is required means more number of iterations is required to get the desired solution. In order to sort out the premature convergence, ALPS GP is employed in the genetic programming technique (Hornby 2006, 2009a, 2009b). In this study, ALPS GP technique is used to develop the roundabout entry capacity model under heterogeneous traffic flow condition. In ALPS GP technique, age is a measure of how long the genotypic material of individuals’ family has existed in the population.