ONMCGP: Orthogonal Neighbourhood Mutation Cartesian Genetic Programming for Evolvable Hardware

Evolvable Hardware is facing the problems of scalability and stalling effect. This paper proposed a novel Orthogonal Neighbourhood Mutation (ONM) operator in Cartesian genetic programming (CGP), to reduce the stalling effect in CGP and improve the efficiency of the algorithms.The method incorporates with Differential Evolution strategy. Demonstrated by experiments on benchmark, the proposed Orthogonal Neighbourhood Search can jump out of Local optima, reduce the stalling effect in CGP and the algorithm convergence faster.

the GA. But all these methodologies are devised for function optimization. Thereby this paper proposes the Orthogonal Neighborhood Mutation(ONM) for CGP to evolve the combination circuits efficiently.
This paper is organized as follows. Section 2 considers the principal CGP in EHW. Section 3 proposes ONM operator in CGP to design combinational circuit, as well as the algorithm process. Sections 4 presents the experiment results with benchmark. Finally, section 5 presents the main conclusions.

Cartesian genetic programming
In Cartesian Genetic Programming (CGP), which was proposed by Miller [2], a candidate circuit is represented as an array of programmable elements with of u(columns) and v(rows), whose inputs and outputs is fixed. For each node, its' input can be connected either to the output of a node placed in the previous L columns or to some of the circuit inputs. The L parameter is defined as the level of connectivity. Feedback is not allowed. Each node is programmed to perform one of n-input functions defined in the function set. The outputs are selected randomly from the codes in the array. CGP, using evolution strategy (ES), operates with the population of µ+λ individuals. The initial population is randomly generated. Every new population consists of the best individual of the previous population and the offsprings are created by point mutation. The fitness function is the difference between the output and the required truth table. The goal is to minimize the difference. Figure 1(a)describes how one-bit adder representation in CGP, 3 columns and 3 rows. The chromosome is arranged as : 2 0 1, 0 1 3, 1 0 3, 4 2 1, 0 1 1, 2 4 3, 2 8 1, 6 7 2, 3 1 0, 10, 8. The Length is 3 × 3 × 3 + 2 = 29. Node [1][0], i.e. 0 1 3, 0,1 are the number of connect responding to the input A, B; 3, is the index of the function type, representing XOR. The codes underlined are activated, which would be decoded. Figure 1(b) shows the logic circuit when the the chromosome is decoded.

Orthogonal Neighborhood Mutation in CGP
As described in section 1, the CGP often traps into being Stalling. To improve the search efficiency of CGP, Orthogonal Neighborhood Mutation(ONM) is proposed and Differential Evolution strategy is considered. The operator is listed as follow: (1)For a individual i (i =1,2,3, ..., n; n defined as size of the population), which the fitness is f i , select other three individuals randomly; (2)Select four loci as alleles randomly, in gene strings, to compose a Four-factor-three-level orthogonal experiment and local search is conducted; (3)by means of range analysis, the best combination is obtained; (4) If the fitness of the best combination(f ′ ) is the best solution, the individual i is replaced, else produce a random number R:

defined as a constant between 0 and 1) the individual i is replaced; else the individual i is reserved.
The algorithm of Construction of Orthogonal Array refers to [9]. In detail, for the example cited in section 2, the genotype consists of thirteen nodes; select the 2nd, 5th, 7th and 8th nodes as 4 alleles randomly from 3 chromosomes, described as A1, A2, A3; B1, B2, B3; C1, C2, C3 and the fitnesses are f 1 , f 2 and f 3 . Compose a Four-factorthree-level orthogonal experiment; the orthogonal array table list as Table1: Calculate the fitnesses of 9 novel individuals and analyze the range. Presume that the best combination is A ′ , B ′ , C ′ , D ′ and the fitness is f ′ .
According to Differential Evolution Strategy [8], the new individual would be accept with probability R.
.., f ′ 9 }, the individual i is substituted by the best combination with probability R.
Compared to local search conducted in each locus for every individual, which deteriorates into exhaustive search, ONM operator selects the best in the neighborhood, and could can jump out of Local optima more easily and faster.

Experiment result
The compared experiment between traditional CGP and the ONMCGP is complimented. The benchmark is one-bit full adder circuit which has 3 inputs and 2 output. The two algorithms are same except Mutation operator. The CPU is Intel Core i5-3230 @2.6GHZ, RAM 8G based on Windows 8 64bits. The population size is 10;The number of generation is 60000; The probability of mutation is 0.6. The Code Matrix is 3 rows with 10 columns and the level-back is set to 10. The two algorithms all run 30 times.The succeed rates reach 100%. The average First Hit generation of CGP is 4543 and that of ONMCGP is 500. Figure 2 shows the evolving process of the ONMCGP. Figure 2(a) is the best, which converged at 93 generation; Figure 2(b) is the worst, which costs 1900 iterations to get the satisfied solution. Figure 3 shows the evolving process of the CGP. Figure 3(a) is the best, which converged at 174 generation; Figure 3(b) is the worst, which costs about 12500 iterations to get the satisfied solution.

Conclusion
The results of the compared experiments demonstrate that the ONM operator could reduce the stalling effect and convergence more quickly. Incorporated with orthogonal experimental design method , the proposed operator can scan the feasible solution space once to locate the