Towards Advanced Phenotypic Mutations in Cartesian Genetic Programming

Towards Advanced Phenotypic Mutations in Cartesian Genetic Programming

Abstract

Cartesian Genetic Programming is often used with a point mutation as the sole genetic operator. In this paper, we propose two phenotypic mutation techniques and take a step towards advanced phenotypic mutations in Cartesian Genetic Programming. The functionality of the proposed mutations is inspired by biological evolution which mutates DNA sequences by inserting and deleting nucleotides. Experiments with symbolic regression and boolean functions problems show a better search performance when the proposed mutations are in use. The results of our experiments indicate that the use of phenotypic mutations could be beneficial for the use of Cartesian Genetic Programming.

Keywords:
Cartesian Genetic Programming Mutation Phenotype
\PassOptionsToPackage

tablexcolor \captionsetupcompatibility=false \AtBeginEnvironmentalgorithmic \crefnameequationequationequations \CrefnameequationEquationEquations\crefrangelabelformatequation(#3#1#4–#5#2#6) \crefmultiformatequation(#2#1#3, #2#1#3)#2#1#3#2#1#3 \Crefmultiformatequation(#2#1#3, #2#1#3)#2#1#3#2#1#3

1 Introduction

Genetic Programming (GP), as popularized by Koza [5, 6, 7], uses syntax trees as program representation. Cartesian Genetic Programming (CGP) as introduced by Miller et al. [10] offers a novel graph-based representation which in addition to standard GP problem domains, makes it easy to be applied to many graph-based applications such as electronic circuits, image processing, and neural networks. CGP is often used only with a point mutation as genetic operator. In contrast to tree-based GP for which advanced methods of crossover and mutation have been introduced and investigated, the use of advanced mutation techniques in CGP appears to be mostly unexplored. This significant lack of knowledge in CGP has been the major motivation for our work. Another motivation for our work has been the introduction of a phenotypic subgraph crossover technique for CGP by Kalkreuth et al. [4]. The experiments of Kalkreuth et al. show that the use of the subgraph crossover technique can be beneficial for the search performance of CGP.
In standard tree-based GP, the simultaneous use of multiple types of mutation has been found beneficial by Kraft et al. [8] and Angeline et al. [1]. To our best knowledge, this principle has not been investigated in CGP yet.

In this paper, we propose two phenotypic mutations for CGP and take a step towards advanced phenotypic mutations in CGP. Furthermore, we present a first empirical initial testing of both techniques. Section 2 of this paper describes CGP briefly and surveys previous work on phenotypic mutations in CGP. In section 3 we propose our new mutation techniques. Section 4 is devoted to the experimental results and the description of our experiments. In Section 5 we discuss the results of our experiments. Finally, section 6 gives a conclusion and outlines future work.

2 Related Work

2.1 Cartesian Genetic Programming

Cartesian Genetic Programming is a form of Genetic Programming which offers a novel graph-based representation. In contrast to tree-based GP, CGP represents a genetic program via genotype-phenotype mapping as an indexed, acyclic and directed graph. Originally the structure of the graphs was a rectangular grid of rows and columns, but later work also focused on a representation with at least one row. The genes in the genotype are grouped, and each group refers to a node of the graph, except the last one which represents the outputs of the phenotype. Each node is represented by two types of genes which index the function number in the GP function set and the node inputs. These nodes are called function nodes and execute functions on the input values. The number of input genes depends on the maximum arity of the function set. The last group in the genotype represents the indexes of the nodes which lead to the outputs. A backward search is used to decode the corresponding phenotype. The backward search starts from the outputs and processes the linked nodes in the genotype. In this way, only active nodes are processed during the evaluation. The number of inputs , outputs and the length of the genotype is fixed. Every candidate program is represented with integers. Even when the length of the genotype is fixed for every candidate program, the length of the corresponding phenotype in CGP is variable which can be considered as a significant advantage of the CGP representation. Figure 2 exemplifies the CGP decoding procedure.
CGP traditionally operates within a (1+) evolutionary algorithm (EA) in which is often chosen with a size of four. The new population in each generation consists of the best individual of the previous population and the created offspring. The breeding procedure is mostly done by a point mutation which swaps genes in the genotype of an individual in their permissible range by chance. Algorithm 1 exemplifies the functioning of the standard (1+)-EA.
One of the most important technique is a special rule for the selection of the new parent. In the case when two or more individuals can serve as the parent, an individual which has not served as the parent in the previous generation will be selected as a new parent. This strategy is important because it ensures the diversity of the population and has been found highly beneficial for the search performance of CGP.

1:procedure (1+)-CGP
2:      Initialize() Initialize parent individual
3:      Evaluate() Evaluate the fitness of the parent individual
4:      Check() Check if the parent individual meets the target fitness
5:      while true do Until termination criteria not triggered
6:             Breed offsprings by mutation
7:            Evaluate() Evaluate the fitness of the offsprings
8:            if any individual of meets the target fitness then
9:                 return best individual of
10:            end if
11:            if any individual of has better fitness then  then
12:                 Replace by the offspring with the best fitness
13:            end if
14:      end while
15:end procedure
Algorithm 1 Standard (1+)-CGP algorithm
Figure 1: Decoding procedure in Cartesian Genetic Programming

2.2 Advanced Mutation Techniques in CGP

For an investigation of the length bias and the search limitation of CGP, a variation of the standard point mutation technique has been introduced by Goldman et al.  [3]. The modified point mutation mutates exactly one active gene for all offspring. This called single active-gene mutation strategy (SAGMS) has been found beneficial for the search performance of CGP. The SAGMS can be seen as a form of phenotypic genetic operator since it respects only active function genes in the genotype which are part of the corresponding phenotype.
Later work by Pedroni [11] utilized SAGMS to propose an explicitly neutral mutation operator which allows the user to directly control the mutation rate of inactive genes. Pedroni found that the proposed mutation is less sensitive to mutation rate and to reach perfect solutions more consistently than the standard mutation operator.

3 The Proposed Methods

The proposed phenotypic mutations for CGP are inspired by biological evolution in which extra base pairs are inserted into a new place in the DNA sequence. This type of mutation is called insertion. Another mutation called deletion removes sections of the DNA sequence. Related to CGP, we adopt this principle by activating and deactivating randomly chosen function nodes. If a genome is selected for the insertion mutation, one inactive function node becomes active. In the case that all function nodes are active, the individual remains unchanged. Contrary, when deletion is performed, one active node becomes inactive. If the option that outputs can directly connect to the input nodes is disabled, a minimum number of active function nodes has to be defined. The activation and deactivation of the nodes is done by adjusting the connection genes of neighborhood nodes. Both mutation techniques work similarly to the single active-gene mutation strategy. The state of exactly one function node of an individual is changed. Since these forms of mutation can elicit strong changes in the behavior of the individuals, we apply an insertion rate and a deletion rate for each offspring which is selected for mutation.

Fig. 2 and Fig. 3 exemplify the insertion and the deletion mutation techniques. As visible, the connection genes in the genotype are adjusted to deactivate or activate a particular function node in the phenotype.

Figure 2: The proposed insertion mutation technique
Figure 3: The proposed deletion mutation technique

4 Experiments

4.1 Experimental Setup

We performed experiments on symbolic regression and boolean functions. To evaluate the search performance of the mutations, we measured the number of generations until the CGP algorithm terminated successfully (generations-to-success) and the best fitness value which was found after a predefined number of generations (best-fitness-of-run). We used the standard (1+)-CGP algorithm with a population size of 5 individuals ( ()-CGP) for our experiments. To classify the significance of our results, we used the Mann-Whitney-U-Test. The mean values are denoted if the -value is less than the significance level and if the -value is less than the significance level compared to the use of mutation as the sole genetic operator. We performed 100 independent runs with different random seeds.
For an empirical initial testing of the proposed mutation techniques we defined a range of the mutation ranges from to inclusive. The setting of important CGP parameters such as point mutation rate has been empirically determined and is oriented with former work. We used the insertion and deletion mutation technique in combination with the standard point mutation technique of CGP. The termination criteria are explained in the particular experiment. For our experiments, we performed a grid analysis of a set of popular benchmark problems which have been used in former GP and CGP experiments. We chose three well known boolean and symbolic regression problems. We analyzed a grid for each problem. The mutations rates for the insertion and deletion mutation techniques are denoted in steps. For instance, a mutation rate of is denoted as . We used a reducing fitness for our experiments. The minimum number of function nodes in the phenotype was set to a number of 4.

4.2 Boolean Functions

For our first experiment in the boolean domain, we chose multiple boolean output problems as the digital adder, subtractor, and multiplier.Former work by White et al. [12] proposed these sort of problems as suitable alternatives to the overused parity problems. To evaluate the fitness of the individuals on the multiple output problems, we used compressed truth tables. We defined the fitness value of an individual as the number of different bits. When this number became zero, the algorithm terminated successfully. The configurations for the two-bit boolean functions are shown in Table 1. In this problem domain, we evaluated the problems with (generations-to-success).

Property Add. 2 Bit Mul. 2 Bit Sub. 2 Bit
Node count 30 30 30
Number of inputs 3 4 4
Number of outputs 2 4 3
Function set AND, OR AND, OR AND, OR, XOR
XOR, AND XOR, AND NOR, AND
Point mutation rate 0.05 0.05 0.05
AND with one inverted input
Table 1: Configuration of the boolean functions problems
Insertion Rate
0.0 0.1 0.2 0.3
Deletion Rate 0.0 86494
0.1
0.2
0.3
Table 2: Mean number of generations for various settings of insertion and deletion mutation for the 2-Bit digital adder problem
Insertion Rate
0.0 0.1 0.2 0.3
Deletion Rate 0.0 17497
0.1
0.2
0.3
Table 3: Mean number of generations for various settings of insertion and deletion mutation for the 2-Bit multiplier problem
Insertion Rate
0.0 0.1 0.2 0.3
Deletion Rate 0.0
0.1
0.2
0.3
Table 4: Mean number of generations for various settings of insertion and deletion mutation for the 2-Bit subtractor problem

Table 2, 3 and 4 show the results of the grid analysis for the boolean problems. It is clearly visible that the use of the insertion and deletion mutation technique significantly reduces the number of generations until the termination criterion triggered.

4.3 Symbolic Regression

For symbolic regression, we have chosen three problems from the work of Clegg et al. [2] and McDermott et al. [9] for better GP benchmarks, and the Pagie-1 problem which has been proposed by White et al. [12] as an alternative to the heavily overused Koza-1 (“quartic”) problem. The functions of the problems are shown in Table 6. A training data set U[] refers to uniform random samples drawn from to inclusive and E[] relates to a grid of points evenly spaced with an interval of , from to inclusive. The configurations for the problems are shown in Table 5. In this problem domain, we evaluated the problems with the (best-fitness-of-run) method. The fitness of the individuals was represented by a cost function value. The cost function was defined by the sum of the absolute difference between the real function values and the values of an evaluated individual. We defined the termination criteria for the experiment with a cost function value less or equal than and a predefined number of generations. We defined a budget of 10000 fitness evaluations for each run.

Property Koza-2,3, Pagie-1
Node count 10
Number of inputs 1
Number of outputs 1
Function set , , , , , , ,
Point mutation rate 0.2
Table 5: Configuration of the symbolic regression problems
Problem Objective Function Vars Training Set
Koza-2 1 U[-1,1,20]
Koza-3 1 U[-1,1,20]
Pagie-1 2 E[-5,5,0.4]
Table 6: Symbolic regression problems of the first experiment
Insertion Rate
0.0 0.1 0.2 0.3
Deletion Rate 0.0
0.1
0.2
0.3
Table 7: Mean best fitness of run for various settings of insertion and deletion mutation for the Koza-2 problem
Insertion Rate
0.0 0.1 0.2 0.3
Deletion Rate 0.0
0.1
0.2
0.3
Table 8: Mean best fitness of run for various settings of insertion and deletion mutation for the Koza-3 problem
Insertion Rate
0.0 0.1 0.2 0.3
Deletion Rate 0.0
0.1
0.2
0.3
Table 9: Mean best fitness of run for various settings of insertion and deletion mutation for the Pagie-1 problem

Table 7, 8 and 9 show the results of the grid analysis for the symbolic regression problems. It is clearly visible that the use of the insertion and deletion mutation technique significantly improves the fitness after a predefined number of fitness evaluations.

5 Discussion

Our experiments indicate that the insertion and deletion mutation may be beneficial for the search performance of CGP. Furthermore, our experiments showed beneficial effects in two different problem domains. The results of our experiments also show that the proposed phenotypic mutations can significantly contribute to the search performance for different types of fitness. However, in our experiments, we only investigated simple test problems which are well known in the field of GP and CGP. For more significant statements about the potential of the insertion and deletion mutation techniques in CGP a more detailed and comprehensive study is needed. This study should include a larger set of state-of-the-art benchmarks which have been proposed by McDermott et al. [9] and White et al. [12] Furthermore, this study should also include more problem domains. Beside to the question of contributions to the search performance of CGP, it has to be investigated in which way the proposed mutations contribute to the search performance. A suitable method to investigate the behavior and effect of both mutations would be an analysis of the exploration abilities of the search space. A method which could contribute to achieving more insight into the exploration behavior of both mutations would be an analysis of the fitness landscape. This analysis could also answer the question if our proposed mutations contribute to the overstepping of local optima.
Another important point to discuss is the parametrization of the insertion and deletion mutation technique. On some problems, the simultaneous use of both mutations showed beneficial effects. However, our experiments also show that the sole use of one phenotypic mutation can also beneficial for the search performance. Therefore we think that a detailed investigation of different cases is needed in which the use of both or only one mutation is beneficial.
The last point which should be discussed is the complexity of the insertion and deletion mutation. To activate and deactivate certain function nodes, both mutations require a permanent listing of the active function nodes and the corresponding structure of connections. Therefore we think that the runtime of both mutations should be investigated on a theoretical and practical level. The results of the runtime measurement should also be compared to the runtime of the respective fitness evaluation tasks. This type of comparison could be very helpful to get more clearness if the insertion and deletion mutation are really beneficial for the search performance of CGP.

6 Conclusion and Future Work

Within this paper, we proposed two new phenotypic mutations and took a step towards advanced phenotypic mutations in CGP. A first initial empirical testing indicates that the use of both mutation techniques could be beneficial for the search performance of CGP. Our experiments clearly show that the use of the insertion and deletion mutation techniques can significantly improve the search performance of CGP for our tested problems. However, for more significant statements about the beneficial effects of the proposed mutations, a rigorous and comprehensive study on a larger set of problems is needed and should include the investigation of different CGP algorithms. Consequently, we will mainly focus on more detailed and comprehensive experiments in the future. These experiments will also include an analysis of the exploration abilities of CGP when the proposed mutations are in use. Another part of our future work is devoted to a detailed investigation of the parametrization of both mutation techniques. This will also include investigations in which way both mutations work together and if there are similar functional behaviors between different problems.

Footnotes

  1. email: Roman.Kalkreuth@tu-dortmund.de

References

  1. Angeline, P.J.: An investigation into the sensitivity of genetic programming to the frequency of leaf selection during subtree crossover. In: Koza, J.R., Goldberg, D.E., Fogel, D.B., Riolo, R.L. (eds.) Genetic Programming 1996: Proceedings of the First Annual Conference. pp. 21–29. MIT Press, Stanford University, CA, USA (28–31 Jul 1996)
  2. Clegg, J., Walker, J.A., Miller, J.F.: A New Crossover Technique for Cartesian Genetic Programming. In: GECCO ’07: Proceedings of the 9th annual conference on Genetic and evolutionary computation. vol. 2, pp. 1580–1587. ACM Press, London (7-11 Jul 2007)
  3. Goldman, B.W., Punch, W.F.: Length bias and search limitations in cartesian genetic programming. In: Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation. pp. 933–940. GECCO ’13, ACM, New York, NY, USA (2013)
  4. Kalkreuth, R., Rudolph, G., Droschinsky, A.: A New Subgraph Crossover for Cartesian Genetic Programming, pp. 294–310. Springer International Publishing, Cham (2017), https://doi.org/10.1007/978-3-319-55696-3_19
  5. Koza, J.: Genetic Programming: A paradigm for genetically breeding populations of computer programs to solve problems. Technical Report STAN-CS-90-1314, Dept. of Computer Science, Stanford University (Jun 1990)
  6. Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA, USA (1992)
  7. Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge Massachusetts (May 1994)
  8. Kraft, D.H., Petry, F.E., Buckles, B.P., Sadasivan, T.: The use of genetic programming to build queries for information retrieval. In: Proceedings of the 1994 IEEE World Congress on Computational Intelligence. vol. 1, pp. 468–473. IEEE Press, Orlando, Florida, USA (27-29 Jun 1994)
  9. McDermott, J., White, D.R., Luke, S., Manzoni, L., Castelli, M., Vanneschi, L., Jaśkowski, W., Krawiec, K., Harper, R., Jong, K.D., O’Reilly, U.M.: Genetic programming needs better benchmarks. In: Proceedings of the 14th international conference on Genetic and Evolutionary Computation Conference. pp. 791–798. GECCO ’08, ACM, Philadelphia (2012)
  10. Miller, J.F., Thomson, P.: Cartesian Genetic Programming. In: Genetic Programming, Proceedings of EuroGP’2000. LNCS, vol. 1802, pp. 121–132. Springer-Verlag, Edinburgh (15-16 Apr 2000)
  11. Pedroni, E.: An explicitly neutral mutation operator in cartesian genetic programming, https://equalparts.eu/about/Neutral-Mutations-in-Cartesian-Genetic-Programming.pdf
  12. White, D.R., McDermott, J., Castelli, M., Manzoni, L., Goldman, B.W., Kronberger, G., Jaskowski, W., O’Reilly, U.M., Luke, S.: Better GP Benchmarks: Community Survey Results and Proposals. Genetic Programming and Evolvable Machines 14(1), 3–29 (Mar 2013)
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
130111
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description