F. Stoica, D. Simian, C. Simian, A new co-mutation genetic operator, Proceedings of the 9th WSEAS International Conference on Evolutionary Computing, Sofia, Bulgaria, ISBN 978-960-6766-58-9, ISSN 1790-5109, pp. 76-81, May 2008
1. A new co-mutation genetic operator
FLORIN STOICA, DANA SIMIAN
Computer Science Department
University “Lucian Blaga” Sibiu
Str. Dr. Ion Ratiu 5-7, 550012, Sibiu
ROMANIA
CORINA SIMIAN
Faculty of Sciences
University “Lucian Blaga” Sibiu
Str. Dr. Ion Ratiu 5-7, 550012, Sibiu
ROMANIA
Abstract: - A new co-mutation operator called LR-Mijn, capable of operating on a set of adjacent bits in one single step
is introduced. Its properties are examined and compared against those of the Mijn operator intoduced in [3]. A simple
Evolutionary Algorithm is described which is based only on selection and LR-Mijn. This algorithm is used for the
optimization of some well-known benchmark functions and its performance is compared against that offered by
algorithms using the Mijn operator. The obtained results prove the effectiveness of the new LR-Mijn operator.
Key-Words: - co-mutation, genetic algorithms
1 Introduction
The problem to determine the relative importance of
crossover and mutation operators in the execution of an
Evolutionary Algorithm has generated two different
opinions in the scientific community and divided it into
two schools [1]. On the one hand, Fogel (USA),
Rechenberg and Schwefel (Germany) supposed mutation
to be the key operator for evolution, so they used just
selection and mutation to evolve population. This
opinion has historically led to the designs of the
Evolutionary Programming, and of the Evolution
Strategies. On the other hand, Holland, De Jong and
Goldberg believe that crossover does play the vital role
and mutation is seen as being only a background
operator. This can be found in Genetic Algorithms.
In present, there is a major interest in design of powerful
mutation operators, in order to solve practical problems
which can not be efficiently resolved using standard
genetic operators. These new operators are called co-
mutation operators.
In [3] was presented a co-mutation operator called Mijn,
capable of operating on a set of adjacent bits in one
single step. Its properties were examined and compared
against those of the bit-fip mutation. A simple
Evolutionary Algorithm, called MEA, based only on
selection and Mijn, was experimentally used on some
classical test functions widely known from literature, in
order to compare its performance against that offered by
a classical Genetic Algorithm (SGA). The obtained
results proved the superiority of MEA algorithm when
compared to the SGA.
The aim of this paper is to introduce a new co-mutation
operator called LR-Mijn, derived from Mijn. The LR-
MEA algorithm, based on the LR-Mijn operator, is used
for the optimization of some well-known benchmark
functions and its performance is compared against that
offered by algorithms using the Mijn operator. The
obtained results prove the effectiveness of our LR-Mijn
operator.
The paper is organized as follows. In Section 2 the Mijn
operator is described. Section 3 contains the main
contribution of this paper, which consists in presentation
of our original co-mutation operator, called LR-Mijn. Its
properties are examined and compared against those of
the bit-flip mutation and Mijn operator. In Section 4 is
presented the evolutionary algorithm based on the LR-
Mijn operator. Section 5 is dedicated to the presentation
of the experimental results achieved. The last Section
contains the final remarks and conclusions.
2 The Mijn operator
Let us consider a generic alphabet A = {a1, a2, … , as}
composed by s ≥2 different symbols. The set of all
sequences of length l over the alphabet A will be denoted
with ∑ = Al
.
In the following we shall denote with σ a generic string
σ = σl-1…σ0 ∈ ∑, where σq ∈ A ∀ q ∈ {0, … , l-1}.
Through σq,i we denote that on position q within the
sequence σ there is the symbol ai of the alphabet A, and
σ
z
jp, denote the presence of z symbols aj within the
sequence σ, starting from the position p and going left.
Definition 2.1 Formally, the Mijn operator is defined as
follows [3]:
Mijn : σ ∈ ∑, p ∈ {0, … , l-1} → σ’ ∈ ∑’ ⊂ ∑, where p
9th WSEAS International Conference on EVOLUTIONARY COMPUTING (EC’08), Sofia, Bulgaria, May 2-4, 2008
ISBN: 978-960-6766-58-9 76 ISSN: 1790-5109
2. is randomly chosen (p = 0 means the rightmost position
in σ, and p = l - 1 means the leftmost one).
(i) σ = σl-1…σp+nσp+n-1,i σ
1-n
jp, σp-1…σ0 ⎯⎯ →⎯
ijnM
σ’ = σl-1…σp+nσp+n-1,j σ
1-n
ip, σp-1…σ0, for
n < l – p + 1 and
(ii) σ = σ
p-
jp,
l
σp-1…σ0 ⎯⎯ →⎯
ijnM
σ’ = σ
p-
kp,
l
σp-1…σ0, for n
= l – p + 1, with ak ≠ aj randomly chosen in A.
As an example, let us consider the binary case, the string
σ = 11110000 and the randomly chosen application
point p = 2. In this case, σ2 = 0, so we have to go left
bound and look for the first occurrence of a 1 in σ. For p
= 4 we have σ4 = 1 so we stop. Then we replace the
string components from 2 to 4: precisely, in the second
and in the third position, where 0 was contained, we
insert a 1, and in the fourth position, where 1 was held,
we put a 0. In conclusion, in such a case the new string
obtained after the application of Mijn is 11101100.
If we suppose that the randomly chosen point p = 6, we
have in this case σ6 = 1. We have reached the end of the
string, an no occurrence of 0 has been met. In such a
case, the new string obtained after the application of Mijn
is 00110000.
3 The LR-Mijn operator
The Mijn operator is capable of operating on a set of
adjacent bits in one single step, starting from a randomly
chosen position p and going left.
In this section we introduce a new co-mutation operator
called LR-Mijn. Our LR-Mijn operator finds the longest
sequence of σp elements, situated in the left or in the
right of the position p. If the longest sequence is in the
left of p, the LR-Mijn behaves as Mijn, otherwise the LR-
Mijn will operate on the set of bits starting from p and
going to the right.
Let us consider the alphabet A already defined, and σ =
σl-1…σ0 ∈ ∑= Al
, where σq ∈ A ∀ q ∈ {0, …, l-1}.
Through σ(q,i) we denote that on position q within the
sequence σ there is the symbol ai of the alphabet A, and
nright
mleft
ip
,
,
),(σ specify the presence of symbol ai on position p
within the sequence σ, between right symbols an on the
right and left symbols am on the left. We suppose that σ
= σ(l-1)... σ(p+left+1,m)
iright
ileft
ip
,
,
),(σ σ(p-right-1,n)... σ(0).
Definition 3.1 Formally, the LR-Mijn operator is defined
as follows:
(i) If p ≠ right and p ≠ l – left – 1,
LR-Mijn(σ)=
⎪
⎪
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎪
⎪
⎨
⎧
=
<−−
++−=
>−−
++−=
5.0,
)0()...,1(
),(),1()...1(
)0()...,1(
),(),1()...1(
,
,
,
,
yprobabilitwithrightleftforor
rightleftforirightp
npmleftpl
rightleftfornrightp
mpileftpl
rleftright
rightt
left
nright
ileft
iright
mleft
σσ
σσ
σσσσ
σσ
σσσσ
(ii) If p = right and p ≠ l – left – 1,
σ = σ(l-1)... σ(p+left+1,m)
iright
ileft
ip
,
,
),(σ and
LR-Mijn(σ) = σ(l-1)... σ(p+left+1,m)
kright
ileft
kp
,
,
),(σ ,
where k ≠ i (randomly chosen).
(iii) If p ≠ right and p = l – left – 1,
σ =
iright
ileft
ip
,
,
),(σ σ(p-right-1,n)... σ(0) and
LR-Mijn(σ) =
iright
kleft
kp
,
,
),(σ σ(p-right-1,n)... σ(0), where k ≠ i
(randomly chosen).
(iv) If p = right and p = l – left –1, σ =
iright
ileft
ip
,
,
),(σ
LR-Mijn(σ)=
⎪
⎪
⎪
⎩
⎪
⎪
⎪
⎨
⎧
=
≠<=
≠>=
5.0,
,,),(
,,),(
,
,
,
,
yprobabilitwithrightleftforor
ikwhererightleftforkp
ikwhererightleftforkp
rleftright
rightt
left
kright
ileft
iright
kleft
σσ
σσ
σσ
As an example, let us consider the binary case, the string
σ = 11110000 and the randomly chosen application
point p = 2. In this case, σ2 = 0, so we have to find the
longest sequence of 0 within string σ, starting from
position p. This sequence goes to the right, and because
we have reached the end of the string, and no occurrence
of 1 has been met, the new string obtained after the
application of LR-Mijn is 11110111.
If we suppose that the randomly chosen point p = 6, we
have in this case σ6 = 1. Again, the longest sequence of
elements 1 within σ goes to the right, so we have to go
right bound and look for the first occurrence of a 0 in σ.
For p = 3 we have σ3 = 0 so we stop. Then we replace
the string components from 6 to 3, and the new string
obtained after the application of LR-Mijn is 10001000.
9th WSEAS International Conference on EVOLUTIONARY COMPUTING (EC’08), Sofia, Bulgaria, May 2-4, 2008
ISBN: 978-960-6766-58-9 77 ISSN: 1790-5109
3. In the following, we will consider that A is the binary
alphabet, A = {0, 1}. We suppose that σ represent just
one and only one integer or real variable. In the
following we shall call value of string σ the integer
number between 0 and 2l
-1 corresponding to the string
encode and jump length the difference between the
values represented by LR-Mijn(σ)/Mijn(σ) and σ,
respectively. In cases (ii), (iii) and (iv), the operator LR-
Mijn will produce so-called long jumps. The operator Mijn
will produce a long jump in case (ii).
Property 3.1 [4] The length of a long jump caused by
Mijn application to k bits is equal to ∑
−
−=
1
2
l
klp
p
Property 3.2 [4] Mijn allows to perform a number of
long jumps γ equal to: 2222
1
1
)1(
−== ∑
−
=
−− l
l
p
pl
γ
Property 3.3 [4] The relative number of long jumps ρ
caused by the Mijn operator is equal to:
⎟
⎠
⎞
⎜
⎝
⎛
−=== − )1(
2
1
1
1
2 ll
lljumpspossibleofnumbertotal
jumpslongofnumber γ
ρ
Property 3.4 [4] The probability of performing long
jumps by the Mijn operator tends to
l
1
.
In the following we will present some properties of the
LR-Mijn operator, in order to evaluate the number of long
jumps performed by our new co-mutation operator.
Property 3.5 LR-Mijn allows to perform a number of
long jumps equal to:
γ’ = )32(
3
4
−+ l
l
c ,
where 2=lc for l even and 1=lc for l odd.
Proof: First of all, we will determine the number of
“left” long jumps, performed by the LR-Mijn. From the
set of long jumps performed by the Mijn, we subtract
those cases in which LR-Mijn will choose to operate at
right of the randomly chosen position p, because it finds
at right a longer sequence of consecutive equal elements.
For a randomly chosen point p, the shortest sequence of
consecutive equal elements for which LR-Mijn will
operate at right of p has the length equal to )(2 plk −=
and the number of non-long jumps is equal to
12)1(
2222 −−−−
⋅=⋅ lpkl
. The maximum value of p for
which the LR-Mijn will not perform a “left” long jump is
1
2
+⎥
⎦
⎤
⎢
⎣
⎡ l
. Thus, the total number of cases when LR-Mijn
will not perform a “left” long jump (as the Mijn operator)
is ∑
−
+⎥
⎦
⎤
⎢
⎣
⎡
=
−−
⋅=
1
1
2
12
22)(
l
l
p
lp
lS .
For l even, we have:
).22(
3
2
21
2*22
2)2...222(2)(
1
2
23
353
−⋅=
=
−
−
⋅=++++⋅=
−
−
−
l
l
l
e lS
For l odd, we have:
).12(
3
2
21
2*21
2)2...221(2)(
1
2
23
342
−⋅=
=
−
−
⋅=++++⋅=
−
−
−
l
l
l
o lS
In conclusion, the number of “left” long jumps
performed by the LR-Mijn operator is:
).32(
3
2
)2(
3
1
122)2(
3
2
22 111
−+⋅=
=⎥
⎦
⎤
⎢
⎣
⎡
−⋅−−⋅=−⋅−− −−−
l
l
l
ll
l
ll
c
cc
where 2=lc for l even and 1=lc for l odd.
But the number of “left” long jumps performed by the
LR-Mijn is equal with the number of “right” long jumps,
thus we conclude that the total number of long jumps
performed by our co-mutation operator is
).32(
3
4
−+⋅ l
l
c
Property 3.6 The relative number of long jumps caused
by the LR-Mijn operator is equal to:
ρ’ =
jumpspossibleofnumbertotal
jumpslongofnumber
=
l
l 2
γ'
= l
l
l
l
c
2
)32(
3
4
⋅
−+⋅
=
)3(
23
4
3
4
−
⋅⋅
+
⋅
= ll
c
ll
, where lc is
defined above.
Property 3.7 The probability of performing long jumps
by the LR-Mijn operator tends to
l
1
3
4
⋅ .
The most interesting points in the co-mutation operators
presented above is the fact that they allows long jumps,
thus the search can reach very far points from where the
search currently is. Both operators allow performing
longer jumps which are not possible in the classical Bit-
Flip Mutation (BFM) used in GAs. This means that a co-
9th WSEAS International Conference on EVOLUTIONARY COMPUTING (EC’08), Sofia, Bulgaria, May 2-4, 2008
ISBN: 978-960-6766-58-9 78 ISSN: 1790-5109
4. mutation operator has about the same capabilities of
local search as ordinary mutation has, and it has also the
possibility of performing jumps to reach far regions in
the search space which cannot be reached by BFM.
Properties 3.5-3.7 lay out that the LR-Mijn operator
performs more long jumps than Mijn, which leads to a
better convergence of an Evolutionary Algorithm based
on the LR-Mijn in comparison with an algorithm based
on the Mijn operator. This statement will be verified
through experimental results in Section 5.
In the following section is presented an Evolutionary
Algorithm which is based only on selection and LR-Mijn
4 The evolutionary algorithm based on
LR-Mijn operator
The basic scheme for our algorithm, called in the
following LR-MEA, is described as follows:
Procedure LR-MEA
begin
t = 0
initialize randomly population P(t) with P elements;
Evaluate P (t) by using fitness function;
while not Terminated
for j = 1 to P-1 do
- select randomly one element among the
best T% from P(t);
- mutate it using LR-Mijn;
- evaluate the obtained offspring;
- insert it into P’(t).
end for
choose the best element from P(t) and
insert it into P’(t)
P(t+1) = P’(t)
t = t + 1
end while
end
5 Experimental results
We wish now to experimentally test our LR-MEA
algorithm on some classical test functions widely known
from literature. Furthermore, we intend to compare its
performance against that offered by the MEA algorithm
presented in [4].
The first optimization problem solved consists in finding
the optimum for function proposed by Rastrigin,
Schwefel and Griewangk in order to evaluate the
evolutive algorithms) [7]:
( ) [ ]12.5,12.5)2cos()(
1
2
−∈⋅−+⋅= ∑=
xxAxAnxf i
n
i
ii π
Each variable was encoded using 10 bits, using a
population size of 400 individuals, and algorithm was
stopped after 1000 generations. Parameters for function
specification was choosed n = 20 and A = 10. The
implemented program was executed for 30 times.
The results obtained are synthesized in table 1 and in
figure 1:
Number of cases in
which was reached
the optimum
Average value of
the determined
optimum
Number of
necessary
steps
Mijn 0 6.63 1000
LR-
Mijn
0 0.09 600
Table 1 Experimental results for Rastrigin’s function
Fig. 1 Experimental results for Rastrigin’s function
The second optimization problem solved consists in
finding the optimum of function proposed by C.F. Wood
from Wastinghouse Research Laboratoires:
[ ]
[ ] 4,1,12.5,12.5
,)1()1(819
)1()1(1.10)1(
)(90)1()(100)(
2
4
2
2
2
4
2
2
2
3
2
4
2
3
2
1
2
2
2
1
=−∈
−−∗
+−+−+−
+−+−+−=
ixwhere
xx
xxx
xxxxxxf
i
Each variable was encoded using 50 bits, using a
population size of 400 individuals, and algorithm was
stopped after 1000 generations. The implemented
program was executed for 30 times, and the results
obtained are synthesized in table 2 and in figure 2:
9th WSEAS International Conference on EVOLUTIONARY COMPUTING (EC’08), Sofia, Bulgaria, May 2-4, 2008
ISBN: 978-960-6766-58-9 79 ISSN: 1790-5109
5. Number of cases in
which was reached
the optimum
Average value of
the determined
optimum
Number of
necessary
steps
Mijn 0 1.14E-04 1000
LR-
Mijn
0 5.63E-07 1000
Table 2 Experimental results for Wood’s function
Fig. 2 Experimental results for Wood’s function
The third optimization problem solved consists in
finding the optimum of function proposed by Griewangk
[5]:
[ ]400,400
1
1
cos
4000
)(
1 1
2
−∈
+⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
+
−= ∑ ∏= =
xwhere
i
xx
xf
i
n
i
n
i
ii
Each variable was encoded using 20 bits, using a
population size of 400 individuals, and algorithm was
stopped after 1000 generations. The implemented
program was executed for 30 times, with parameter
n=10. The results obtained are synthesized in table 3 and
in figure 3:
Number of cases in
which was reached
the optimum
Average value of
the determined
optimum
Number of
necessary
steps
Mijn 0 0.026 330
LR-
Mijn
0 0.007 230
Table 3 Experimental results for Griewangk’s function
Fig. 3 Experimental results for Griewangk’s function
6 Conclusion
In order to further improve the convergence performance
of available genetic algorithms (GAs), a new operator,
namely LR-Mijn, was proposed in this paper. Using the
LR-Mijn, an improved genetic algorithm was developed.
To verify the effectiveness of the new operator on
improving the evolutionary performances of the
algorithm, three benchmarking problems had been
considered. We can conclude that LR-Mijn offer superior
performances than Mijn operator, and evolutionary
algorithm based on LR-Mijn has a better convergence
than corresponding of algorithm based on Mijn operator.
References:
[1] I. De Falco, An introduction to Evolutionary
Algorithms and their application to the Aerofoil
Design Problem – Part I: the Algorithms, von
Karman Lecture Series on Fluid Dynamics,
Bruxelles, April 1997
[2] I. De Falco, R. Del Balio, A. Della Cioppa, E.
Tarantino, A Comparative Analysis of Evolutionary
Algorithms for Function Optimisation, Research
Institute on Parallel Information Systems, National
Research Council of Italy, 1998
[3] I. De Falco, A. Iazzetta, A. Della Cioppa, E.
Tarantino, The Effectiveness of Co-mutation in
Evolutionary Algorithms: the Mijn operator,
Research Institute on Parallel Information Systems,
National Research Council of Italy, 2000
[4] I. De Falco, A. Iazzetta, A. Della Cioppa, E.
Tarantino, Mijn Mutation Operator for Aerofoil
Design Optimisation, Research Institute on Parallel
Information Systems, National Research Council of
Italy, 2001
[5] J. C. F. Pujol, R. Poli, Optimization via Parameter
Mapping with Genetic Programming, Lecture Notes
in Computer Science, Springer-Verlag, ISSU 3242,
ISSN 0302-9743, 2004
9th WSEAS International Conference on EVOLUTIONARY COMPUTING (EC’08), Sofia, Bulgaria, May 2-4, 2008
ISBN: 978-960-6766-58-9 80 ISSN: 1790-5109
6. [6] J. R. Cano, F. Herrera, M. Lozano, Using
evolutionary algorithms as instance selection for
data reduction in KDD: an experimental study.
IEEE Transactions on Evolutionary Computation,
7(6):561-575, December 2003
[7] T. Bäck, H. P. Schwefel, An overview of
evolutionary algorithms for parameter optimization.
Evolutionary Computation, 1(1):1-23, 1993.
[8] E. Bengoetxea, T. Miquélez, Estimation of
distribution algorithms: A new tool for evolutionary
computation, Genetic algorithms and evolutionary
computation, volume 2, chapter Experimental result
in function optimization with EDAs in continuous
Domain. Kluwer, D.E. Goldberg edition, 2002.
[9] H. Kita, A comparison study of self-adaptation in
evolution strategies and real-code genetic
algorithms, Evolutionary Computation, 9(2):223-
241, 2001
[10] D. Whitley, K. Mathias, S. Rana, J. Dzubera,
Building better test functions, In L. Eshelman,
editor, Sixth International Conference on Genetic
Algorithms, pages 239-246. Morgan Kaufmann,
1995
[11] B.T. Zhang, J. J. Kim, Comparison of selection
methods for evolutionary optimization,
Evolutionary Optimization, 2(1):55-70, 2000.
[12] Wen Xian Yang, An improved genetic algorithm
adopting immigration operator, Intelligent Data
Analysis Issue: Volume 8, Number 4 / 2004
9th WSEAS International Conference on EVOLUTIONARY COMPUTING (EC’08), Sofia, Bulgaria, May 2-4, 2008
ISBN: 978-960-6766-58-9 81 ISSN: 1790-5109