Quantum Inspired Differential Evolution Algorithm

To enhance the optimization performance of differential evolution algorithm, by studying the implementation mechanism of differential evolution algorithm, a new idea of incorporating differential strategy and rotation of qubits in the Bloch sphere is proposed in this paper. In the proposed approach, the individuals are encoded by qubits described on Bloch sphere, and the rotation angles of qubits in current individual are obtained by differential strategy. The axis of rotation is designed by using vector product theory, and the rotation matrixes are constructed by using Pauli matrixes. Taking the corresponding qubits in current best individual as targets, the qubits in current individual are rotated to the target qubits about the rotation axis on the Bloch sphere. The Hadamard gates are used to mutate individuals. The simulation results of optimizing the minimum value of functions indicate that, for an iterative step, the average time of the proposed approach is 13 times as long as that of the classical differential evolution algorithm. When the same limited steps are applied in two approaches, the average optimization result of the proposed approach is 0.3 times as great as that of the classical differential evolution algorithm; when the same running time is applied in two approaches, the average optimization result of the proposed approach is 0.4 times as great as that of the classical differential evolution algorithm. These results suggest that the proposed approach is inefficient in computational ability; however, it is obviously efficient in optimization ability, and the overall optimization performance is better than that of the classical differential evolution algorithm.


Introduction
Differential evolution algorithm is a bionic intelligent optimization method proposed by American scholar Storn and Price in 1995.This algorithm simulated the "survival of the fittest" natural evolution law.In 2004, Price and others published the first monograph of the algorithm, which has become a classic in the field of DE algorithm [1].In 2008, Chakraborty published his work named "Advances in Differential Evolution" [2], in which he made a comprehensive and systematic explanation to the theory, the application and the developing direction in the future of DE.In order to improve the optimization ability of DE algorithm, speed up the convergence and overcome the premature convergence phenomenon of the common heuristic algorithm, many scholars made improvements on DE algorithm.Ref. [3] proposed a crossover mutation differential evolution algorithm.This method firstly divided the species into two groups according to the fitness, and then selected individuals from two groups respectively and implemented intersection between groups, which could ensure the species had higher diversity.Ref. [4] proposed a self-adaption species adjustment scheme.This method can delete redundant individuals automatically according to the current state of search, which improved the ability of search.Ref. [5] proposed a method which adjusted the scale factor and the crossover possibility respectively by the Gaussian distribution and the uniform distribution, so that the diversity of the species could be improved.Considering about the impact of population initialization algorithm for optimizing performance, Ref. [6] proposed a new method of the species initialization which was based on quadratic interpolation and nonlinear simplex.In terms of integration with other algorithms, Ref. [7] proposed a self-adaption memetic differential evolution algorithm.Ref. [8] proposed a kind of differential evolution algorithm which was fused with genetic algorithm and applied to the Doppler source of radiation research.The crossover operator used in the classical differential evolution algorithm has a flaw, that is to say, it can only generate one vertex of the super rectangle solid.To address this problem, Ref. [9] proposed a new kind of orthogonal crossover operator.This operator can search more effectively in the matrix defined area.Now most majorities of differential evolution algorithms are appropriated for the continuous optimization.For combinatorial optimization, converting real solutions into integer solutions by decoding method is the common way.For this problem, Ref. [10] proposed a differential evolution algorithm based on integer (or discrete) coding.This algorithm effectively improved the optimization efficiency of dealing with the discrete matters by differential evolution algorithm.To enhance the convergence speed of the algorithm, Ref. [11] [12] proposed a new mutation strategy which differed the optimal and the worst individuals at the beginning of the algorithm.This method not only effectively balanced the exploration and the development of the algorithm, but also enhanced the ability to detect the solution space.Ref. [13] studied the distributed differential evolution model, and also proposed two new species of migration strategies.These improvements improved the optimization ability of differential evolution algorithm in some extent.
Quantum computing is a new computing model derived from quantum mechanics.At present, in the aspect of integrating particle swarm optimization, the basic theory and the applied research are mature.Sun Jun simulated the particles' movement to the lowest energy point in the quantum potential well, by which they firstly put forward quantum behavior particle swarm algorithm [14].The core problem of quantum-inspired genetic algorithm is how to design the coding scheme and the evolutionary operators.Currently the most commonly used method of the qubit coding is the one based on the description of the unit circle.The two probability amplitudes of the qubit are both real number, in which there is only one adjustable phase parameter.In regard to the evolutionary operator, the usual way is to change the quantum rotation gate and the quantum NOT-gate with only one phase parameter.However, the real qubit is based on the description of the Bloch sphere, not only the two probability amplitudes of which are complex numbers.It also includes two phase operators.Ref. [15] presented an individual coding method that adopted qubit Bloch coordinate.Even though this method strengthened the characteristics of the quantum, it still overlooked the matching relationship between two parameters' adjustment amount.From the point of the geometry, the bits on the Bloch sphere cannot move to the target bit along the shortest path, so that the optimization ability is limited.Thus, how to design a new kind of coding method and evolutionary operator to enhance the optimization ability of the quantum-inspired evolutionary algorithm is a project deserving further study.
Based on the above consideration, this article selected the differential evolution algorithm as the entry point, and presented the Bloch quantum-inspired differential evolution algorithm, which is called BQDE for short.This algorithm used the qubit described by the Bloch sphere (not its Bloch coordinate) to encode the individuals directly, used the qubit vector product to build the rotation axis, and used the quantum computing principle to construct the rotation matrix.On the Bloch sphere, it realized the individual's evolution by the qubit's pivoting, and used Hadamard gate to achieve individual's evolution to increase the diversity of the species.This method can simultaneously adjust two parameters of the qubit in the best matching mode.Taking typical function ex-tremum for example, the simulation result shows that the optimization ability of this algorithm is obviously better than that of the common differential evolution algorithm.
The remainder of the paper is structured as follows.Section 2 gives a brief survey on Common Differential Evolution (CDE) Algorithm.Section 3 describes the basic principle of BQDE algorithm.In Section 4, we test our algorithm using 8 benchmark functions and also compare our results with CDE.Section 5 contains the conclusions.

Differential Evolution Algorithm
Let NP denote the population size, D denote the dimension of the feasible solution space, and ( ) denote the population in the t th generation.The initial population is ( ) { }

Mutation Operation
For any target vector in the parent population t i x , differential evolution algorithm can generate the mutation vector t i v as follows [16].

(
) ( ) where x denote individuals selected randomly in the parent generation. 1 2 r r i ≠ ≠ , λ , F denote the scaling factors.

Crossover Operation
Differential evolution algorithm (DE) generated the new crossover vector , by restructuring every dimension component of the mutation vector t i v and the target vector t i x .The definite crossover method is as follows: , rand , , , rand CR, or , , 1, 2, , NP , rand CR where rand is the random number between (0, 1 ) .

Selecting Operation
Differential evolution algorithm adopted the greedy choice strategy.The new individual t i u can only be ac- cepted when it is superior to t ( , .
By the selecting operation, differential evolution algorithm makes the individuals in the child population are always better than that in the parent population.This can make the population always evolve in the direction of the optimal solution.

The Qubit Description Based on Bloch Sphere
In the quantum computation, qubit has two ground states: 0 and 1 .According to the principle of su- perposition, qubit can be expressed by the linear combination of the two ground states.i cos 0 e sin 1 2 2 where 0 π θ ≤ ≤ , 0 2π ϕ ≤ ≤ .Since θ and φ is continuous, so that one qubit can describe infinite different states.A qubit can be de- scribed by a point on the Bloch sphere.As is shown in Figure 1, where cos sin . Thus, the qubit ϕ can also be described by the vector in two-dimensional complex Hilbert space as follows.
( ) Now every point on the Bloch sphere ( ) P x y z is corresponds to a qubit ϕ .

Method of BQFE
BQDE algorithm encodes individuals by the qubits described based on the Bloch sphere.Let NP denote the population size, D denote the dimension of optimization space, and ( ) ( ) ( ) ( ) where

Measure of Qubit
According to the principles of Quantum computing, we can acquire the Bloch coordinate ( ) , , x y z of ϕ by the Pauli matrices.This process is called the projection measurement of qubit.The definition of Pauli matrices are shown as follows.
The projection measurement calculation formula of qubit ϕ is below.

Solution Space Transformation
In BQDE, three optimal solutions made by each individual were expressed by Bloch coordinates.Since the , we have to transform the optimal solutions to the actual problem solution space.Set the j-th variable Min ,Max  , the solution space transformation can be described as follows.

Individual Evolution of BQDE
In BQDE, we will establish the searching mechanism relay on the Bloch sphere, which can make the qubit revolve around a certain axis towards the target bit.Set t-th generation's optimal individual as ( ) , we firstly choose two individuals randomly ( ) r r i ≠ ≠ , and then let ( , where , F λ denote scale factors.Taking

Determination of the Rotation Axis
In order to rotate ( ) ϕ , the selection of the rotate axis ( ) Based on the theory of Hilbert space vector produce, we present the following method.
On the Bloch sphere, set , , , which respectively correspond the point P and Q .The axis of rotating the qubits from point P towards to point

Determination of the Rotation Matrix
According to the quantum computing principle, the rotation matrix made the qubit revolve about the unit vector axis , ,  n with a angle δ on the Bloch sphere is below.
Thus, on the Bloch sphere, the rotation matrix that made the current bit ( ) ij t ϕ revolve around the axis ( ) ϕ is given as follows.
( ) ( ) The rotate operation made the current bit ( )  , t denotes the iteration step.

Crossover Operation of BQDE
BQDE adopted the same crossover strategy as CDE does.With help of the recombination of the qubit before and after the individual's evolution, the new crossover individual ˆˆ, , , where rand is the random between ( ) 0,1 , CR is the constant between [ ] 0,1 ., , X Y Z , the operation can be described as follows.

Test Functions
Use the following eight standard test functions to verify the performance of BQDE, and compared with CDE.All eight functions are minimum optimization, which X * denotes the minimum extreme value point.All test functions are standard, unconstrained, single objective benchmark functions with different characteristics.For example, the ( ) f X is multi-modal, non-separable, asymmetrical, continuous but differentiable only on a set of points. (1) (3) ( ) ( ) 10 cos 2π 10

Some Definitions
Precision threshold ε : when the preset Maximum Iterative Steps (MIS) reaches, if Error E: the error definition of a optimized solution X is defined as Iterative steps (IS): the iterative steps when the algorithm reaches convergence.If the algorithm is not convergence, set IS = MIS.
Running time (RT): the average time of executing an iteration.

Parameter Setting
In the CDE algorithms, the range of the scale factor f as example, each combination was optimized 50 times by CDE, and each iteration steps are 1000.
Finally by comparing the average value of the 50 times optimal results, when λ , F is equal to 0.6 and CR is equal to 0.8, the optimization is the best.Thus, in the following experiments, we set 0.6 F λ = = and CR 0.8 = for BQDE and CDE.Considering the large amount of calculation of the BQDE, we found that the running time of which are about 10 to 20 times to CDE after a lot of simulations.To enhance the credibility of the performance of BQDE, it is necessary to make comparison in the same period of time.Thus, the maximum iteration step is MIS = 10 4 for BQDE, and is MIS = 10 4 and MIS = To reflect the superiority of the proposed algorithm and deduce the randomness of it, each function would be optimized 50 times independently by BQDE and CDE.Choose the following items from the 50 optimization results as the comparison index.These items are as follows: the Mean and the standard deviation (STD) of the error E, the Mean and the standard deviation (STD) of the iteration steps, the number of convergence (NC) and the running time (RT).

Results Comparison and Analysis
The two algorithms were implemented on the computer with 2.0 GHz CPU and 1.0 G RAM, using Matlab7.0 simulation software.The result contrasts of the average error, the standard deviation of error, the number of convergence, and the running time are shown in Table 1.The comparison of the average and the standard deviation of the iteration steps are shown in Table 2.
The experimental results show that for the contrast of every index, BQDE is obviously superior to CDE not only when the iteration steps of two algorithms are the same, but also when the optimization times of two are same.For the experimental results above, we can analysis as follows.
First, BQDE adopted the same DE strategy with CDE so that it obtains the advantages CDE.Second, BQDE coding scheme shows that every individual can give three optimal solutions simultaneously.And the three optimal solutions would be updated with each iteration step.This effectively enhanced the ergodicity of solution space.Third, BQDE adopted a qubit update method that the qubit rotate on the Bloch sphere about an axis.These methods not only can adjust the two parameters of qubits simultaneously, but also can achieve the best match between the two parameters so that to enhance the efficiency of optimization.Besides, it's worth pointing out, the computing efficiency of BQDE is pretty low since BQDE involves many matrix operations (such as construct the axis of rotation, revolve operation, projection measurement).As the experiment results show, BQDE's running time is 10 to 20 times of CDE's.According to the No Free Lunch Theorem, BQDE gained the performance improvement in expense of scarifying the computing efficiency.BQDE is also obviously better than CDE when comparing with the same period of time (at this time, CDE's iteration steps is 20 times of BQDE's).These experimental results show that the CDE's performance cannot be apparently improved only by extending the iteration step.Therefore the introduction of quantum computing mechanism indeed is an effective way to improve the performance of CDE optimization.

Conclusion
This paper proposed a quantum inspired differential evolution algorithm.Different from the existing improved method, this method adopted qubit encoding mechanism.For CDE, every dimension variable's search range of each individual is an internal.While in the proposed algorithm, the variable's search ranges of every dimension are the Bloch sphere in the three-dimensional space.This algorithm can search the optimized solution on three coordinate axes simultaneously relying on qubit's pivoting, which can improve the efficiency of optimization.
Moreover, the algorithm's searching range on three coordinate axes is the closed interval [ ] 1,1 − . Then the optimized solutions for problem can be gained through the solution space transforms.Therefore, this method does not have to consider about the variable's value range of every dimension during initialization, which is benefit to make uniform optimization strategy.The experimental results showed that it is available to introduce quantum computing mechanism into CDE algorithm to improve the optimization performance.And it also revealed that the combination of realizing individual coding based on quantum bit, computing rotating angle based on CDE strategy, realizing individual updates based on Bloch sphere can enhance the optimization performance of CDE algorithm.
i x .Otherwise, t i x would be kept in the next generation of population.Let ( ) ( ) min f x denote the optimization question.The selecting operation is shown as follows.

Figure 1 .
Figure 1.A qubit description on the Bloch sphere.
as the follows.
the most reasonable combination of the three parameters above, we firstly select F , CR from { } 0.1, 0.2, ,1.0  , which can compose 1000 kinds of combination.Then taking 30-dimension function 1 The other parameter settings of two algorithms are as follows: Population size NP 100 = ; Function dimension 30 D = ; Precision threshold: for 1 non-separable, and has a very narrow valley from local optimum to global optimum.The

Table 1 .
The mean and standard deviation contrasts of error E for 50 trials.

Table 2 .
The mean and standard deviation contrasts of iterative steps IS for 50 trials.