SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
1

Abstract— This paper briefly presents the concept of genetic
algorithms (GAs) which are evolutionary meta-heuristics popular
in many domains. It starts with an introduction of the natural
evolution process that was the inspiration behind these
algorithms. Then it describes how this kind of algorithms is
implemented. After that, we present the application of GAs on
different domains such as transportation problems and
convolutional decoders. Finally we discuss the benefits of parallel
computing for GAs.
Index Terms—Genetic algorithms, evolution process, natural
selection, transportation problem, mathematical model, crossover,
mutation, turbo-codes, GPU programming, data mining,
I. INTRODUCTION
Genetic evolution consists in the change in the inherited
characteristics of a living being over successive generations. It
is the main key to the survivability of this being because it
permits it to adapt to its environment. Throughout the ages,
while a specie is genetically evolving, the process of natural
selection allows the survival of the fittest [1]. This complex
and amazing system was the source of inspiration behind
Genetic Algorithms. They are a family of computational
models that imitate the evolution and natural selection
process.
We can describe genetic evolution as it exists in nature in a
minimalistic way as follows:
If you take a population of our ancestors living in the wild
10000 years ago, it is made of three types of individuals (the
good, the average and the bad). The individuals that are most
likely to survive while growing up and the ones who are most
likely to copulate are the good ones.
Consequently, from this generation to the generation that
comes right after, a selection process occurs.
In the reproduction process, the genotype of the progeny is
composed of a combination of the chromosomes of the
parents. But we must not forget that there are also several
genetic processes that appear among which:
● Mutation: a permanent change in the DNA sequence
that makes up a gene.
● Crossover: the exchange of a segment of DNA
between two homologous chromosomes.
The new-born population resulting from the reproduction
inherits from the characteristics of the previous generation and
present at the same time individuals with entirely new
characteristics.
In sum, natural selection only keeps the best individuals while
eliminating the ones that have inconvenient characteristics,
then genetic operators create new characteristics to the
population.
More specifically, GAs are population-based metaheuristics
with a search strategy that has a learning component. In fact,
metaheuristics are methods that provide a “good” solution
(approximation) to a problem that cannot be solved in an exact
way by using conventional methods in an acceptable
resolution time [3]. A good solution means a solution that is as
close as possible to the optimum one. Metaheuristics in
general, and more specifically GAs, have been applied to
solve timetabling, scheduling, global optimization, and many
other engineering problems [2].
We will explain how GAs are implemented in section II,
then we will discuss the use of GAs to solve transportation
problems by minimizing the total transportation cost, then a
GA based convolutional decoder is presented in section IV
and finally we will explain how the use of parallel computing
can improve the performance of GAs in section V.
II. IMPLEMENTATION OF GAS
Genetic algorithms are evolutionary algorithms i.e. they
mimic nature by running on a population that evolves until
finding a good solution.
This evolution starts with initializing the population [2]. An
intuitive way to do this is by using a random sample of
solutions so as to increase diversity.
The next step is to represent these solutions in a way that
allows the algorithm to run. As far as the problem to be solved
is concerned, this choice may be more or less important and
difficult.
In Fig 1, the evaluation of the current population solutions
goes through the calculation of the fitness metric witch assigns
a metric to every one of them considering at the same time the
value of the objective function (the function to be optimized )
and the constraints. The choice of this metric is another
important issue of this kind of algorithms. At the end of this
step a termination condition is checked. If this condition is not
satisfied, a new population is generated using three genetic
operators namely selection, crossover and mutation [2].
Application of Genetic Algorithms
Anthony Abou Naoum, Othmane Amane and Yasser Rougui
2
1 0 1 1 1 0 0 1 0 0
0 0 1 0 0 1 0 1 0 1
1 0 1 1 0 1 0 1 0 0
0 0 1 0 1 0 0 1 0 1
Parents
Children
Crossover
Fig 1: Genetic Algorithms mechanism [21]
a) Selection
Selection is how the breeding stock of a population is chosen.
This means that the best individuals according to the fitness
function are preferred and allowed to pass to the next
generation. The fitness function can be either an objective
function or a subjective judgment.
b) Crossover
Two individuals from the breeding stock exchange portions of
the information they carry, so as to create two new
individuals. This operator is likely to create better individuals
each generation.
Fig 2: Illustration of the crossover
c) Mutation
In order to maintain diversity within the population and avoid
early convergence, some of the new individuals have one or
some of their bits changed, with a low probability (defined by
the user).
The change occurring here could be of many different types:
Flip Bit, Boundary, Non-Uniform, Uniform, and Gaussian.
1 0 1 1 1 0 0 1 0 0
1 0 1 1 0 0 0 1 0 0
Fig 3: Illustration of the mutation
III. THE BALANCED TRANSPORTATION PROBLEM
A. Nature of the problem
The transportation problem [4] took this name because it
initially arose in the context of determining optimal shipping
patterns. However, we can use the same mathematical model
for many problems that have nothing to do with transportation.
Therefore, these problems can be solved by the same solution
procedures.
B. Prototype of a transportation problem
To illustrate a typical transportation problem, we suppose
that homogeneous goods have to be transported from m
factories to n warehouses. Factory i (i = 1, 2, …., n) produces
ai units and warehouse j (j = 1, 2, …., m) requires bj units.
The cost of shipping from factory i to warehouse j obtained by
multiplying the amount of goods shipped (xij) by the cost of
unit transport between i and j (cij).
The solution of the problem is a shipping pattern that
minimizes the total transportation cost.
C. Mathematical Model
We call a balanced transportation problem a problem where
the total demand is equal to the total supply [4]:
(1)
We have to find xij (i = 1, 2, …., n; j = 1, 2, …., m) in order to
minimize
(2)
3
Subject to restrictions:
For j = 1, 2, …, m
(3)
For i = 1, 2, …, n
(4)
xij >= 0
D. Solution Methods
There are several solution methods for transportation
problems. The Vogel’s Approximation Method (VAM) [5] and
the least cost method (LCM) [6] are two easily-implemented
ways to solve small to mid-sized linear programming
problems.
However, when the dimensions of the problem are very
high, which means the quantity of data that needs to be treated
is immense, or the problem is non-linear or has a fixed-
charge[7], conventional solution methods do not work.
Therefore, meta-heuristics such as GAs are the appropriate
solution ways.
E. Solving using a GA
1. GA parameters
To be able to solve this problem using a GA you have to
adapt the mathematical model to the mechanism used and set
the several parameters [8] in the way that optimizes the solution
search:
 Encoding: each individual is represented by a matrix
(m x n) that shows the delivery schema of goods
between the m sources to the n destinations. Each
element of the matrix is a non-negative integer that
represents the quantity of goods delivered between a
sender and a receiver.
 Initial population: we suppose that the chose initial
population size is k which is a strictly positive
integer. Each individual is represented by a two-
dimensional matrix (m x n), this is why, in order to
initialize this population we have to create k
individuals, resulting in a three dimensional matrix
(m x n x k) that represents our population.
Where the first two dimensions represent each
individual and the third represents the set of
individuals (ranging from individual 1 to k).
 Fitness function: the fitness of each individual in the
population is measure by calculating the total
transportation cost of this individual :
 Crossover: crossover is done by 2 parents (individuals)
and leads to an offspring of 2 individuals and
choosing a random column A. The values in column
A of the first child come from the father (column A)
while the values of the same column of the second
child come from the mother.
Even though the values of the other columns of the
first child should be coming from the mother and
those of the second child from the father, these values
are modified in a way that satisfies the constraints of
the problem. [8]
 Mutation [7]: mutation is conducted on a random
individual by changing one or more values in the
matrix that represents him. The probability of
mutation is very small and changing the value of xij
in the matrix means we have to modify values in the
matrix to satisfy the constraints on the row (eq. 4)
and on the column (eq. 3). In order to have a
minimum change on the individual we have to
change 3 other values which are xaj, xjb, and xab where
‘a’ is a randomly chosen column and ‘b’ is a
randomly chosen row. The model of the matrix after
mutation becomes :
… . … . …
… . … . …
… xij … xaj …
… . … . …
… . … . …
… xjb … xab …
… . … . …
… . … . …
2. The evolutionary process:
The evolutionary process [8] is described as follows:
Parents are chosen randomly for crossover to create offspring.
After the crossover, mutation occurs on one or more
individuals. Finally, because we have a fixed population size k
the selection process occurs by calculating the fitness (the total
transportation cost) for all individuals (parents, offspring,
mutants). This allows all the individuals to compete by
comparing their total cost of transportation and choosing the k
individuals that have the lowest total cost to go on to the next
generation.
3. Example:
In this example, we set the population size k to 100,
crossover probability to 0.1 and mutation probability to 10-4.
We also set the number of cycles to 500 which means after
500 generations the best individual of the population is chosen
as the solution and his total cost is compared with the results
of the other methods (VAM and the least cost method).
Representation of the problem:
20 18 22 25 170
15 25 30 15 200
45 30 40 35 180
130 160 120 140
Table 1: Cost matrix [8]
4
The numbers in bold represent the cost of transportation, the
numbers in the 4th
row represent the demand and the numbers
in the 5th
column represent the supply. We can see that the
total supply is equal to the total demand (550) which means
this is a balanced transportation problem.
After running the algorithm (programmed on Matlab
v7.13.0.564) [8] 100 times, the program was checked for the
best results. The solution found had a total cost of 12596. The
resolution by VAM leads to a total cost of 12200 and the
result obtained with the least cost method is 12950.
62 20 83 2
59 0 6 13
9 140 31 7
Table 2: GA results [8]
0 160 10 0
130 0 0 70
0 0 110 70
Table 3: least cost method results [8]
70 0 100 0
60 0 0 140
0 160 20 0
Table 4: VAM results [8]
4. Result analysis:
The example above shows that FOR A SMALL PROBLEM, GAs
are capable of having ACCEPTABLE solutions. The result of the
GA is better than that of the least cost method but worse than
that of the VAM. But we should not forget that the
implementation of a GA is much more expensive in time and
in materials than the other two solutions. The latter solve the
problem in a number of iterations of THE ORDER OF THE
PROBLEM SIZE (n * k), whereas the genetic method, with each
generation, constructs a set of potential solutions to the
problem [8]. However, GAs hold promise of being useful in
problems with larger dimensions [7], non-linear and fixed-
charge problems where the standard transportation methods
cannot be used [8], and other optimization problems [7].
In fact, for a nonlinear transportation problem, the solution
found by the GA is only 0.2% different than the optimum
found by Gams (a commercial system) [7].
IV. A GENETIC ALGORITHM BASED
CONVOLUTIONAL DECODER
This section's aim is to use genetic algorithms so as to build
a new decoder for channel coding. We also compare this
algorithm with the few attempts from the literature that
achieve the same goal.
Channel coding is used to protect data from the errors
introduced while transmitting information through a channel.
One of its strategies is forward error correction which consists
of adding extra bits (parity bits) to the information message
and thereby giving the receiver more chances to correct the
errors in the received message.
The channel coding process can be described as follows:
given a sequence of information bits, a set of redundancy bits
are added then the whole message is sent. The channel output
can be written m + n where n is the noise sequence. Getting
this noisy message, the receiver should evaluate the original
message m. In practice two ways are used to encode the
original message: Block codes and convolutional codes.
The convolutional codes were introduced by P. Elias at [9].
They are very popular due to their good performances and the
simplicity of their decoding process. In practice, they are
mostly decoded using Viterbi algorithm [10] and MAP decoder
[11]. Convolutional codes are used today in different standards
such as 802.11 and 802.16, they are also used as component
codes for turbo codes [12].
Recently, optimization methods and artificial intelligence
algorithms were introduced to decode this type of codes ([13]
for example). In this section, we use Genetic algorithms to
implement ML decoding of recursive systematic convolutional
codes. Related works were lead to introduce these algorithms
in turbo codes as in [14] or to decode product block codes like
[15] and most of them show good performances. In [15], it was
shown that genetic algorithms based decoder outperforms the
Viterbi decoder, especially for high SNRs. In this paper, we
describe an efficient decoding algorithm for codes with large
memory size and small block length.
The initial population is generated from the received
sequence by making a hard decision on both the information
bits part and the parity bits part. Let (x) be the received
sequence, the first individual is made by applying a hard
decision (nearest value) on the information bits, the second is
the message corresponding to the demodulation of the first
parity part and so on. The rest of the individuals of the initial
population are generated by adding random error patterns to
these first individuals.
The selection operator used in our algorithm is the
tournament selection. It has been shown in [16] that this
selection operator has better or equivalent convergence and
computational complexity proprieties than any other selection
operator known in the literature. The selection procedure is
performed as follows: For every individual a random other one
is chosen and the one who has the best fitness is kept in the
mating pool (the fitness of a solution being its distance from
the received sequence). Every solution has two, one or no
copies in the mating pool.
5
To create new solutions, the decoder randomly choose two
individuals from the mating pool and crossover them. The
goal here is to get a new individual which has better (or at
least the same) likelihood as its parents. Therefore, a greedy
algorithm is used during the crossover. Actually, if the parents
have the same bit in a given position the child inherits this bit,
else the child's bit it chosen so as to minimize the distance
from the received sequence (taking into consideration the
corresponding parities as well). Moreover, between the parents
and the child only the one who has the best fitness is kept in
the new population.
Finally, to cover the biggest part of the search space, the
algorithm adds random correction patterns (sparse information
vectors where the frequency of ones depends on the variance
of the noise in the channel and the the statistical distribution of
the error patterns of the encoder) to the new individuals. This
mutation operator is used in a rate Pm.
The following table shows the computational and the
memory complexity of the algorithm:
Computational
complexity
Memory
complexity
Initial
population
generating
O(Ni*n) O(Ni*n)
Fitness
calculation
O(Ni*Ng*n) O(Ni)
Selection
operator
O(Ni*Ng) O(Ni)
Crossover O(Ni*Ng*n) O(n)
mutation O(Ni*Ng*Pm) O(1)
Table 5: Computational and memory complexity of the algorithm
In the previous table, Ng is the number of generations, Ni
the number of individuals and n the number and n the length
of the message.
For convolutional codes with large memory size, the search
space remains the same while, for well-designed codes, the
minimum distance between two code words becomes much
bigger. Classical decoding algorithms cannot take advantage
of this, for their computational complexity exponentially rises
with the memory size of the encoder. As our algorithm does
not depend on this parameter, we use good convolutional
codes with large free distance and big memory size.
In [17] a convolutional codes decoder based on genetic
algorithms is described but even if it shows better
performances than the Viterbi decoder it has quadratic
computational complexity which makes it worse than the
Viterbi decoder (Fig 4) in most practical situations. The other
drawback of that decoder comes from its incapability of
improving its performances for decoders with larger memory
size. The algorithm introduced in this paper is less elitist
which make it able to discover solutions that are further from
the received sequence, it also has linear complexity which
makes it more practical.
Fig 4: Performances of GAD versus Viterbi
For the moment, we were not able to run the decoder
simulations but more work is being carried out to make
performances plots and to choose good parameters.
Further work will consist of using parallel concatenated
convolutional codes (PCCCs) and a multi-objective
evolutionary algorithm such as NSGA II for decoding. The
use of puncturing patterns should be studied as well.
In this section, a genetic algorithm solution for ML
decoding was introduced. This solution seems to be interesting
either because of its linear complexity or its independence
from the memory size of the encoder.
IV. PARALLEL COMPUTING, MACHINE LEARNING, AND
GENETIC ALGORITHMS
1. Context
The huge computation abilities available now are changing the
way scientific experiments and studies are done. The data
generated and used is increasing exponentially in both volume
and complexity. This section explains how Genetic
Algorithms can be used with parallel computing [11] to achieve
highly performant and scalable calculations. It concerns the
design and the implementation of a multi-purpose genetic
algorithm with the General Purpose Processing in Graphics
Processing Units (GPGPU) using CUDA architecture
(Developed by NVIDIA [18]).
The model shown here is inspired by the Machine Learning
(ML) Supervised Paradigm, which is appropriate to deal with
both regression and classification problems when the data sets
involved are so-called massive.
As explained earlier, GAs are inspired by Darwin’s evolution
law, which means that parallelism is an intrinsic property of its
learning rule and how it processes data patterns. Furthermore,
the parallel computing paradigm allows an optimal exploit of
the training data set, permitting a strong optimization in
processing performances.
6
2. The GAME model
a) Definition
The category of supervised ML models and techniques that
follows the Darwin’s evolution law is called evolutionary.
GAME (Genetic Algorithm Model Experiment) [19] is a
genetic algorithm designed to perform supervised
optimizations involving regression and classification features,
scalable to manage Massive Data Sets, and is based on the
usual genetic operators explained in former sections.
b) Game Model Mathematics
Given a generic dataset with N features and a target t, let pat a
generic pattern of the dataset 1( ,..., , )Npat f f t , and let
( )g x a generic real function.
The next generation of the feature if can be represented with
a polynomial sequence of degree d as:
0 1( ) ( ) ... ( )d
i i d iG f a a g f a g f   
Hence the next generation of the k-th pattern ( )kpat with
N features may be represented by
0
1 1 1
( ) ( ) ( )
N N N
i
k i i j
i i j
Out pat G f a a g f
  
   
The target kt is used to evaluate the approximation error
( ( ))²k k kE t Out pat 
c) The Genetic Algorithm
We define the GA as following:
 The array 0( ,..., )Ma a defines M genes of the genetic
chromosome and initially generated random and
normalized between -1 and 1).
 All the chromosomes have the same size.
 The expression of the error calculation gives the
standard error to evaluate the fitness level of the
chromosomes.
 The population (genome) is composed by a number of
chromosomes imposed from the choice of the
function ( )g x of the polynomial sequence.
3. Experiment on Globular Cluster
a) The problem
A Globular Cluster (GC) is a spherical collection of stars that
orbits a galactic core as a satellite [23]. The study of GCs
populations in external galaxies requires wide-field, multi-
brand photometry and high resolution data. However, the use
of single-band photometry available through space facilities,
costs less and still can yield to very complete datasets using
Machine Learning algorithms.
The idea here is to build a genetic algorithm able to perform
supervised classification and regression duties, related to high-
complexity parameter space where the background analytic
function is known only for a limited number of input-target
couples, representing known valid example of a physical
phenomenon, here the GCs. To do so, the input patterns are
combined in a polynomial expansion whose coefficients are
the chromosomes genes. The objective is then to find the best
chromosome that makes the polynomial expansion able to
approximate the right solution to input pattern
classification/regression. The fitness function used is the
complement of the approximation error. [20]
b) Parallelization of the Algorithm
This process present several long execution time issues:
 The polytrigo function is used at each iteration to
obtain the output for each input dataset and for the
error calculation;
 The information about the fitness function must be
pack-propaged to evolve the genetic population.
These two issues make the training use case take much more
execution time than the test and validation phases. It is
therefore the one that needs to be optimized.
Generating the random chromosomes and the calculation of
the fitness function will be parallelized by executing them on
the GPU since we need to perform the same instruction
simultaneously on as much as data as possible.
The CUDA architecture strength comes from its ad hoc
software development methodology called APOD for (Assess,
Parallelize, Optimize, and Deploy) (NVIDIA Corp. 2011).
APOD 4 steps cycle aims at quickly identify the algorithm
tasks that can take the most benefits from the GPU
acceleration, and gets the closest to the theoretical highest
speedup achievable, according to Gustafson laws.
c) Results :
After performing a series of tests, with a GPU-parallelized, a
CPU-serial, and a CPU-optimized version of the algorithm,
the results are the same. Slight differences in terms of least
significant digit are due to the randomness of genetic
algorithms.
In terms of execution time, as expected, the two CPU-based
implementations appear to be similar, a large difference is
observed with the GPU implementation, all with the same
polynomial degree, as shown in the figure 5.
7
Fig.5 Comparison among the GAME implementations with the polynomial
degree =8 [19]
As shown in the figure 6, the speedup is also increased
proportionally with the increase of the polynomial degree. The
GPU implementation outperforms the CPU performance by a
factor of 8x to 200x in the serial case and in a range from 6x to
125x in the optimized case, leading to an intensive and highly
scalable use of the algorithm impossible with a CPU [19].
Fig.6 Speedup comparison among GAME CPU implementations against the
GPU version. [19]
The results above show that the GA performance have been
tremendously increased by the parallelization using GPGPU
technologies on NVIDIA CUDA architecture. This means that
the parallel computing paradigm can speed up the execution of
these algorithms, and consequently allow us to get further to
the optimal solution.
V. CONCLUSION
As illustrated in this article, Genetic Algorithms may be
applied to many domains. They can solve optimization
problems as long as they are represented (encoded) in the right
way. That makes them an important domain of research within
Mathematical Optimization. Still, being general
metaheuristics, GAs cannot compete with algorithms
specialized in solving certain problems. Sometimes
conventional methods fail (or take a long time) to solve a
problem for several reasons (big dimensions of the problem,
non-linearity…) GAs help find a solution as close as possible
from the exact one in a short time. The main problem is that
we cannot know exactly how close we are unless we have the
optimal solution.
Because GAs are inherently parallel, their performance can
be improved. The parallel computing paradigm has shown
very strong results with highly efficient processing of massive
datasets. Apart from the example in astrophysics treated in this
article, further research could be made to investigate further
optimization in terms of processing time in other fields of
application like those presented. This could include the use of
newer versions of hardware and software developed, or
moving the formation of the population matrix and its
evolution to the GPU.
REFERENCES
[1]D.J. Futuyma, "Evolution, Science, and Society: Evolutionary Biology
and the National Research Agenda", 1999
[2]M. Mitchell, An Introduction to Genetic Algorithms, Cambridge, MA:
MIT Press, 1996
[3]J. Teghem, Recherche Opérationnelle, Tome 1 Méthodes d’optimisation,
ellipses, 2012
[4]F.S. Hillier, G.J. Lieberman, “The Transportation Problem” in
Introduction to OPERATIONS RESEARCH, Holden-day inc.,1970
[5]Utpal Kanti Das , Md. Ashraful Babu, Aminur Rahman Khan, Md. Abu
Helal, Dr. Md. Sharif Uddin, “Logical Development Of Vogel’s
Approximation Method (LD-VAM): An Approach To Find Basic Feasible
Solution Of Transportation Problem,” February, 2014
[6]University of Surrey, Operations research course, Chapter 7,
“Transportation Problems”, consulted on 07/12/2014, link:
http://personal.maths.surrey.ac.uk/st/J.F/chapter7.pdf
[7]G.A. Vignaux, Z. Michalewicz, “A Genetic Algorithm for the Linear
transportation Problem”, March/April 1991
[8]N. Thu Huyền, L. Sỹ Ước,R.B. Alday, “Genetic Algorithm for Solving
Balanced Transportation Problem” , September, 2013
[9] P. Elias . Coding for noisy channels. IRE Conv. Rec. 1955
[10] Viterbi, A.J., Error bounds for convolutional codes and an
asymptotically optimum decoding algorithm. IEEE Trans. Information
Theory, 1967. 13(2): p. 260-269.
[11]L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear
codes for minimizing symbol error rate,” IEEE Trans. Inform. Theory, vol.
20, pp. 284-287, Mar. 1974.
[12]C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit
error-correcting coding and decoding: Turbo-codes,” in Proc. ICC ’ 93,
Geneva Switzerland, pp. 1064-1070, May 1993
[13] Y. S. Han, C. R. P. Hartmann, and C.-C. Chen, ”Efficient maximum-
likelihood soft-decision decoding of linear block codes using algorithm
A*”, Technical Report SU-CIS-91-42, Syracuse University, Syracuse, NY
13244 December 1991
[14]L. Hebbes, R. Malyan, A. Lenaghan, "Genetic Algorithms for Turbo
Codes", IEEE EUROCON 2005, November, Belgrade, 2005
[15]M. Belkasmi, H. Berbia, F. El Bouanani, “Iterative decoding of product
block codes based on genetic algorithms”, SCC 2008, 14-16 January 2008,
Ulm Germany
[16]D. E. Goldberg and K. Deb “A comparaison of selection shchemes”
used in genetic algorithms. In Foudations of Genetic Algorithms 1 (FOGA -
1), 1991, pp. 69-93.
[17]H. Berbia, M. Belkasmi. F. Elbouanani, F. Ayoub, Proceedings of
International Conference on Computer and Communication Engineering,
2008. ICCCE 2008, Kuala Lumpur, pp 667 – 671, 13-15 May 2008.
[18]Nvidia, C. U. D. A. (2007). Compute unified device architecture
programming guide.
[19]Cavuoti, S.; Garofalo, M.; Brescia, M.; Pescape', A.; Longo, G.; Ventre,
G., 2012, Genetic Algorithm Modeling with GPU Parallel Computing
8
Technology, 22nd WIRN, Italian Workshop on Neural Networks, Vietri sul
Mare, Salerno, Italy, May 17-19
[20]Cavuoti, S.; Garofalo, M.; Brescia, M.; Paolillo, M; Pescape', A.;
Longo, G.; Ventre, G., 2014, Astrophysical data mining with GPU. A case
study: genetic classification of globular clusters, New Astronomy, Vol. 26,
pp. 12-22, Elsevier
[21]D. Brusilovsky, H. Ahary, Application of genetic algorithm to piece-
wise linear approximation of response curves, July 2011.
[22]Y. S. Han, C. R. P. Hartmann, and C.-C. Chen, ”Efficient maximum-
likelihood soft-decision decoding of linear block codes using algorithm
A*”, Technical Report SU-CIS-91-42, Syracuse University, Syracuse, NY
13244 December 1991
[23] Zepf, S. E. (10.1993). "Globular cluster systems formed in galaxy
mergers". Monthly notices of the Royal Astronomical Society (0035-
8711), 264 (3), p. 611

Weitere ähnliche Inhalte

Was ist angesagt?

Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...
Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...
Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...IRJET Journal
 
A new survey on biclustering of
A new survey on biclustering ofA new survey on biclustering of
A new survey on biclustering ofcsandit
 
Genetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceGenetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceSahil Kumar
 
Collocation Extraction Performance Ratings Using Fuzzy logic
Collocation Extraction Performance Ratings Using Fuzzy logicCollocation Extraction Performance Ratings Using Fuzzy logic
Collocation Extraction Performance Ratings Using Fuzzy logicWaqas Tariq
 
A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.
A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.
A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.inventionjournals
 
Large-Scale Nonparametric Estimation of Vehicle Travel Time Distributions
Large-Scale Nonparametric Estimation of Vehicle Travel Time DistributionsLarge-Scale Nonparametric Estimation of Vehicle Travel Time Distributions
Large-Scale Nonparametric Estimation of Vehicle Travel Time DistributionsRikiya Takahashi
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsDerek Kane
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
Mimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithmMimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithmCemal Ardil
 
Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)Ahmed Gad
 
Predicting an Applicant Status Using Principal Component, Discriminant and Lo...
Predicting an Applicant Status Using Principal Component, Discriminant and Lo...Predicting an Applicant Status Using Principal Component, Discriminant and Lo...
Predicting an Applicant Status Using Principal Component, Discriminant and Lo...inventionjournals
 
Combinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic AlgorithmCombinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic AlgorithmVivek Maheshwari
 
2020 6 16_ga_introduction
2020 6 16_ga_introduction2020 6 16_ga_introduction
2020 6 16_ga_introductiondinesh malla
 
Evaluation of Process Capability Using Fuzzy Inference System
Evaluation of Process Capability Using Fuzzy Inference SystemEvaluation of Process Capability Using Fuzzy Inference System
Evaluation of Process Capability Using Fuzzy Inference SystemIOSR Journals
 

Was ist angesagt? (19)

Genetic Algorithm
Genetic AlgorithmGenetic Algorithm
Genetic Algorithm
 
Cz24655657
Cz24655657Cz24655657
Cz24655657
 
Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...
Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...
Cost Optimization of Multistoried RC Framed Structure Using Hybrid Genetic Al...
 
A new survey on biclustering of
A new survey on biclustering ofA new survey on biclustering of
A new survey on biclustering of
 
Genetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial IntelligenceGenetic Algorithms - Artificial Intelligence
Genetic Algorithms - Artificial Intelligence
 
Collocation Extraction Performance Ratings Using Fuzzy logic
Collocation Extraction Performance Ratings Using Fuzzy logicCollocation Extraction Performance Ratings Using Fuzzy logic
Collocation Extraction Performance Ratings Using Fuzzy logic
 
A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.
A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.
A Fuzzy Mean-Variance-Skewness Portfolioselection Problem.
 
D034017022
D034017022D034017022
D034017022
 
Moga
MogaMoga
Moga
 
Large-Scale Nonparametric Estimation of Vehicle Travel Time Distributions
Large-Scale Nonparametric Estimation of Vehicle Travel Time DistributionsLarge-Scale Nonparametric Estimation of Vehicle Travel Time Distributions
Large-Scale Nonparametric Estimation of Vehicle Travel Time Distributions
 
B04110710
B04110710B04110710
B04110710
 
Data Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic AlgorithmsData Science - Part XIV - Genetic Algorithms
Data Science - Part XIV - Genetic Algorithms
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Mimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithmMimo system-order-reduction-using-real-coded-genetic-algorithm
Mimo system-order-reduction-using-real-coded-genetic-algorithm
 
Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)Introduction to Optimization with Genetic Algorithm (GA)
Introduction to Optimization with Genetic Algorithm (GA)
 
Predicting an Applicant Status Using Principal Component, Discriminant and Lo...
Predicting an Applicant Status Using Principal Component, Discriminant and Lo...Predicting an Applicant Status Using Principal Component, Discriminant and Lo...
Predicting an Applicant Status Using Principal Component, Discriminant and Lo...
 
Combinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic AlgorithmCombinational circuit designer using 2D Genetic Algorithm
Combinational circuit designer using 2D Genetic Algorithm
 
2020 6 16_ga_introduction
2020 6 16_ga_introduction2020 6 16_ga_introduction
2020 6 16_ga_introduction
 
Evaluation of Process Capability Using Fuzzy Inference System
Evaluation of Process Capability Using Fuzzy Inference SystemEvaluation of Process Capability Using Fuzzy Inference System
Evaluation of Process Capability Using Fuzzy Inference System
 

Ähnlich wie ABOU-NAOUM_AMANE_ROUGUI_Article

F043046054
F043046054F043046054
F043046054inventy
 
F043046054
F043046054F043046054
F043046054inventy
 
F043046054
F043046054F043046054
F043046054inventy
 
Advanced Optimization Techniques
Advanced Optimization TechniquesAdvanced Optimization Techniques
Advanced Optimization TechniquesValerie Felton
 
Evolutionary computing - soft computing
Evolutionary computing - soft computingEvolutionary computing - soft computing
Evolutionary computing - soft computingSakshiMahto1
 
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...eSAT Publishing House
 
Multi objective optimization using
Multi objective optimization usingMulti objective optimization using
Multi objective optimization usingijaia
 
Two-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential EvolutionTwo-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential EvolutionXin-She Yang
 
Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...
Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...
Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...CSCJournals
 
Genetic Algorithm 2 -.pptx
Genetic Algorithm 2 -.pptxGenetic Algorithm 2 -.pptx
Genetic Algorithm 2 -.pptxTAHANMKH
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithmgarima931
 
Parallel evolutionary approach paper
Parallel evolutionary approach paperParallel evolutionary approach paper
Parallel evolutionary approach paperPriti Punia
 
An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...Zac Darcy
 
An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...Zac Darcy
 
AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...
AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...
AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...Zac Darcy
 

Ähnlich wie ABOU-NAOUM_AMANE_ROUGUI_Article (20)

F043046054
F043046054F043046054
F043046054
 
F043046054
F043046054F043046054
F043046054
 
F043046054
F043046054F043046054
F043046054
 
Advanced Optimization Techniques
Advanced Optimization TechniquesAdvanced Optimization Techniques
Advanced Optimization Techniques
 
Evolutionary computing - soft computing
Evolutionary computing - soft computingEvolutionary computing - soft computing
Evolutionary computing - soft computing
 
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...Quantum inspired evolutionary algorithm for solving multiple travelling sales...
Quantum inspired evolutionary algorithm for solving multiple travelling sales...
 
Multi objective optimization using
Multi objective optimization usingMulti objective optimization using
Multi objective optimization using
 
Optimal combination of operators in Genetic Algorithmsfor VRP problems
Optimal combination of operators in Genetic Algorithmsfor VRP problemsOptimal combination of operators in Genetic Algorithmsfor VRP problems
Optimal combination of operators in Genetic Algorithmsfor VRP problems
 
Genetic algorithms mahyar
Genetic algorithms   mahyarGenetic algorithms   mahyar
Genetic algorithms mahyar
 
Two-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential EvolutionTwo-Stage Eagle Strategy with Differential Evolution
Two-Stage Eagle Strategy with Differential Evolution
 
Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...
Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...
Simulation-based Optimization of a Real-world Travelling Salesman Problem Usi...
 
10.1.1.34.7361
10.1.1.34.736110.1.1.34.7361
10.1.1.34.7361
 
Comparison
ComparisonComparison
Comparison
 
Genetic Algorithm 2 -.pptx
Genetic Algorithm 2 -.pptxGenetic Algorithm 2 -.pptx
Genetic Algorithm 2 -.pptx
 
Genetic algorithm
Genetic algorithmGenetic algorithm
Genetic algorithm
 
F0422052058
F0422052058F0422052058
F0422052058
 
Parallel evolutionary approach paper
Parallel evolutionary approach paperParallel evolutionary approach paper
Parallel evolutionary approach paper
 
An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...
 
An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...An Improved Iterative Method for Solving General System of Equations via Gene...
An Improved Iterative Method for Solving General System of Equations via Gene...
 
AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...
AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...
AN IMPROVED ITERATIVE METHOD FOR SOLVING GENERAL SYSTEM OF EQUATIONS VIA GENE...
 

ABOU-NAOUM_AMANE_ROUGUI_Article

  • 1. 1  Abstract— This paper briefly presents the concept of genetic algorithms (GAs) which are evolutionary meta-heuristics popular in many domains. It starts with an introduction of the natural evolution process that was the inspiration behind these algorithms. Then it describes how this kind of algorithms is implemented. After that, we present the application of GAs on different domains such as transportation problems and convolutional decoders. Finally we discuss the benefits of parallel computing for GAs. Index Terms—Genetic algorithms, evolution process, natural selection, transportation problem, mathematical model, crossover, mutation, turbo-codes, GPU programming, data mining, I. INTRODUCTION Genetic evolution consists in the change in the inherited characteristics of a living being over successive generations. It is the main key to the survivability of this being because it permits it to adapt to its environment. Throughout the ages, while a specie is genetically evolving, the process of natural selection allows the survival of the fittest [1]. This complex and amazing system was the source of inspiration behind Genetic Algorithms. They are a family of computational models that imitate the evolution and natural selection process. We can describe genetic evolution as it exists in nature in a minimalistic way as follows: If you take a population of our ancestors living in the wild 10000 years ago, it is made of three types of individuals (the good, the average and the bad). The individuals that are most likely to survive while growing up and the ones who are most likely to copulate are the good ones. Consequently, from this generation to the generation that comes right after, a selection process occurs. In the reproduction process, the genotype of the progeny is composed of a combination of the chromosomes of the parents. But we must not forget that there are also several genetic processes that appear among which: ● Mutation: a permanent change in the DNA sequence that makes up a gene. ● Crossover: the exchange of a segment of DNA between two homologous chromosomes. The new-born population resulting from the reproduction inherits from the characteristics of the previous generation and present at the same time individuals with entirely new characteristics. In sum, natural selection only keeps the best individuals while eliminating the ones that have inconvenient characteristics, then genetic operators create new characteristics to the population. More specifically, GAs are population-based metaheuristics with a search strategy that has a learning component. In fact, metaheuristics are methods that provide a “good” solution (approximation) to a problem that cannot be solved in an exact way by using conventional methods in an acceptable resolution time [3]. A good solution means a solution that is as close as possible to the optimum one. Metaheuristics in general, and more specifically GAs, have been applied to solve timetabling, scheduling, global optimization, and many other engineering problems [2]. We will explain how GAs are implemented in section II, then we will discuss the use of GAs to solve transportation problems by minimizing the total transportation cost, then a GA based convolutional decoder is presented in section IV and finally we will explain how the use of parallel computing can improve the performance of GAs in section V. II. IMPLEMENTATION OF GAS Genetic algorithms are evolutionary algorithms i.e. they mimic nature by running on a population that evolves until finding a good solution. This evolution starts with initializing the population [2]. An intuitive way to do this is by using a random sample of solutions so as to increase diversity. The next step is to represent these solutions in a way that allows the algorithm to run. As far as the problem to be solved is concerned, this choice may be more or less important and difficult. In Fig 1, the evaluation of the current population solutions goes through the calculation of the fitness metric witch assigns a metric to every one of them considering at the same time the value of the objective function (the function to be optimized ) and the constraints. The choice of this metric is another important issue of this kind of algorithms. At the end of this step a termination condition is checked. If this condition is not satisfied, a new population is generated using three genetic operators namely selection, crossover and mutation [2]. Application of Genetic Algorithms Anthony Abou Naoum, Othmane Amane and Yasser Rougui
  • 2. 2 1 0 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 Parents Children Crossover Fig 1: Genetic Algorithms mechanism [21] a) Selection Selection is how the breeding stock of a population is chosen. This means that the best individuals according to the fitness function are preferred and allowed to pass to the next generation. The fitness function can be either an objective function or a subjective judgment. b) Crossover Two individuals from the breeding stock exchange portions of the information they carry, so as to create two new individuals. This operator is likely to create better individuals each generation. Fig 2: Illustration of the crossover c) Mutation In order to maintain diversity within the population and avoid early convergence, some of the new individuals have one or some of their bits changed, with a low probability (defined by the user). The change occurring here could be of many different types: Flip Bit, Boundary, Non-Uniform, Uniform, and Gaussian. 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 0 Fig 3: Illustration of the mutation III. THE BALANCED TRANSPORTATION PROBLEM A. Nature of the problem The transportation problem [4] took this name because it initially arose in the context of determining optimal shipping patterns. However, we can use the same mathematical model for many problems that have nothing to do with transportation. Therefore, these problems can be solved by the same solution procedures. B. Prototype of a transportation problem To illustrate a typical transportation problem, we suppose that homogeneous goods have to be transported from m factories to n warehouses. Factory i (i = 1, 2, …., n) produces ai units and warehouse j (j = 1, 2, …., m) requires bj units. The cost of shipping from factory i to warehouse j obtained by multiplying the amount of goods shipped (xij) by the cost of unit transport between i and j (cij). The solution of the problem is a shipping pattern that minimizes the total transportation cost. C. Mathematical Model We call a balanced transportation problem a problem where the total demand is equal to the total supply [4]: (1) We have to find xij (i = 1, 2, …., n; j = 1, 2, …., m) in order to minimize (2)
  • 3. 3 Subject to restrictions: For j = 1, 2, …, m (3) For i = 1, 2, …, n (4) xij >= 0 D. Solution Methods There are several solution methods for transportation problems. The Vogel’s Approximation Method (VAM) [5] and the least cost method (LCM) [6] are two easily-implemented ways to solve small to mid-sized linear programming problems. However, when the dimensions of the problem are very high, which means the quantity of data that needs to be treated is immense, or the problem is non-linear or has a fixed- charge[7], conventional solution methods do not work. Therefore, meta-heuristics such as GAs are the appropriate solution ways. E. Solving using a GA 1. GA parameters To be able to solve this problem using a GA you have to adapt the mathematical model to the mechanism used and set the several parameters [8] in the way that optimizes the solution search:  Encoding: each individual is represented by a matrix (m x n) that shows the delivery schema of goods between the m sources to the n destinations. Each element of the matrix is a non-negative integer that represents the quantity of goods delivered between a sender and a receiver.  Initial population: we suppose that the chose initial population size is k which is a strictly positive integer. Each individual is represented by a two- dimensional matrix (m x n), this is why, in order to initialize this population we have to create k individuals, resulting in a three dimensional matrix (m x n x k) that represents our population. Where the first two dimensions represent each individual and the third represents the set of individuals (ranging from individual 1 to k).  Fitness function: the fitness of each individual in the population is measure by calculating the total transportation cost of this individual :  Crossover: crossover is done by 2 parents (individuals) and leads to an offspring of 2 individuals and choosing a random column A. The values in column A of the first child come from the father (column A) while the values of the same column of the second child come from the mother. Even though the values of the other columns of the first child should be coming from the mother and those of the second child from the father, these values are modified in a way that satisfies the constraints of the problem. [8]  Mutation [7]: mutation is conducted on a random individual by changing one or more values in the matrix that represents him. The probability of mutation is very small and changing the value of xij in the matrix means we have to modify values in the matrix to satisfy the constraints on the row (eq. 4) and on the column (eq. 3). In order to have a minimum change on the individual we have to change 3 other values which are xaj, xjb, and xab where ‘a’ is a randomly chosen column and ‘b’ is a randomly chosen row. The model of the matrix after mutation becomes : … . … . … … . … . … … xij … xaj … … . … . … … . … . … … xjb … xab … … . … . … … . … . … 2. The evolutionary process: The evolutionary process [8] is described as follows: Parents are chosen randomly for crossover to create offspring. After the crossover, mutation occurs on one or more individuals. Finally, because we have a fixed population size k the selection process occurs by calculating the fitness (the total transportation cost) for all individuals (parents, offspring, mutants). This allows all the individuals to compete by comparing their total cost of transportation and choosing the k individuals that have the lowest total cost to go on to the next generation. 3. Example: In this example, we set the population size k to 100, crossover probability to 0.1 and mutation probability to 10-4. We also set the number of cycles to 500 which means after 500 generations the best individual of the population is chosen as the solution and his total cost is compared with the results of the other methods (VAM and the least cost method). Representation of the problem: 20 18 22 25 170 15 25 30 15 200 45 30 40 35 180 130 160 120 140 Table 1: Cost matrix [8]
  • 4. 4 The numbers in bold represent the cost of transportation, the numbers in the 4th row represent the demand and the numbers in the 5th column represent the supply. We can see that the total supply is equal to the total demand (550) which means this is a balanced transportation problem. After running the algorithm (programmed on Matlab v7.13.0.564) [8] 100 times, the program was checked for the best results. The solution found had a total cost of 12596. The resolution by VAM leads to a total cost of 12200 and the result obtained with the least cost method is 12950. 62 20 83 2 59 0 6 13 9 140 31 7 Table 2: GA results [8] 0 160 10 0 130 0 0 70 0 0 110 70 Table 3: least cost method results [8] 70 0 100 0 60 0 0 140 0 160 20 0 Table 4: VAM results [8] 4. Result analysis: The example above shows that FOR A SMALL PROBLEM, GAs are capable of having ACCEPTABLE solutions. The result of the GA is better than that of the least cost method but worse than that of the VAM. But we should not forget that the implementation of a GA is much more expensive in time and in materials than the other two solutions. The latter solve the problem in a number of iterations of THE ORDER OF THE PROBLEM SIZE (n * k), whereas the genetic method, with each generation, constructs a set of potential solutions to the problem [8]. However, GAs hold promise of being useful in problems with larger dimensions [7], non-linear and fixed- charge problems where the standard transportation methods cannot be used [8], and other optimization problems [7]. In fact, for a nonlinear transportation problem, the solution found by the GA is only 0.2% different than the optimum found by Gams (a commercial system) [7]. IV. A GENETIC ALGORITHM BASED CONVOLUTIONAL DECODER This section's aim is to use genetic algorithms so as to build a new decoder for channel coding. We also compare this algorithm with the few attempts from the literature that achieve the same goal. Channel coding is used to protect data from the errors introduced while transmitting information through a channel. One of its strategies is forward error correction which consists of adding extra bits (parity bits) to the information message and thereby giving the receiver more chances to correct the errors in the received message. The channel coding process can be described as follows: given a sequence of information bits, a set of redundancy bits are added then the whole message is sent. The channel output can be written m + n where n is the noise sequence. Getting this noisy message, the receiver should evaluate the original message m. In practice two ways are used to encode the original message: Block codes and convolutional codes. The convolutional codes were introduced by P. Elias at [9]. They are very popular due to their good performances and the simplicity of their decoding process. In practice, they are mostly decoded using Viterbi algorithm [10] and MAP decoder [11]. Convolutional codes are used today in different standards such as 802.11 and 802.16, they are also used as component codes for turbo codes [12]. Recently, optimization methods and artificial intelligence algorithms were introduced to decode this type of codes ([13] for example). In this section, we use Genetic algorithms to implement ML decoding of recursive systematic convolutional codes. Related works were lead to introduce these algorithms in turbo codes as in [14] or to decode product block codes like [15] and most of them show good performances. In [15], it was shown that genetic algorithms based decoder outperforms the Viterbi decoder, especially for high SNRs. In this paper, we describe an efficient decoding algorithm for codes with large memory size and small block length. The initial population is generated from the received sequence by making a hard decision on both the information bits part and the parity bits part. Let (x) be the received sequence, the first individual is made by applying a hard decision (nearest value) on the information bits, the second is the message corresponding to the demodulation of the first parity part and so on. The rest of the individuals of the initial population are generated by adding random error patterns to these first individuals. The selection operator used in our algorithm is the tournament selection. It has been shown in [16] that this selection operator has better or equivalent convergence and computational complexity proprieties than any other selection operator known in the literature. The selection procedure is performed as follows: For every individual a random other one is chosen and the one who has the best fitness is kept in the mating pool (the fitness of a solution being its distance from the received sequence). Every solution has two, one or no copies in the mating pool.
  • 5. 5 To create new solutions, the decoder randomly choose two individuals from the mating pool and crossover them. The goal here is to get a new individual which has better (or at least the same) likelihood as its parents. Therefore, a greedy algorithm is used during the crossover. Actually, if the parents have the same bit in a given position the child inherits this bit, else the child's bit it chosen so as to minimize the distance from the received sequence (taking into consideration the corresponding parities as well). Moreover, between the parents and the child only the one who has the best fitness is kept in the new population. Finally, to cover the biggest part of the search space, the algorithm adds random correction patterns (sparse information vectors where the frequency of ones depends on the variance of the noise in the channel and the the statistical distribution of the error patterns of the encoder) to the new individuals. This mutation operator is used in a rate Pm. The following table shows the computational and the memory complexity of the algorithm: Computational complexity Memory complexity Initial population generating O(Ni*n) O(Ni*n) Fitness calculation O(Ni*Ng*n) O(Ni) Selection operator O(Ni*Ng) O(Ni) Crossover O(Ni*Ng*n) O(n) mutation O(Ni*Ng*Pm) O(1) Table 5: Computational and memory complexity of the algorithm In the previous table, Ng is the number of generations, Ni the number of individuals and n the number and n the length of the message. For convolutional codes with large memory size, the search space remains the same while, for well-designed codes, the minimum distance between two code words becomes much bigger. Classical decoding algorithms cannot take advantage of this, for their computational complexity exponentially rises with the memory size of the encoder. As our algorithm does not depend on this parameter, we use good convolutional codes with large free distance and big memory size. In [17] a convolutional codes decoder based on genetic algorithms is described but even if it shows better performances than the Viterbi decoder it has quadratic computational complexity which makes it worse than the Viterbi decoder (Fig 4) in most practical situations. The other drawback of that decoder comes from its incapability of improving its performances for decoders with larger memory size. The algorithm introduced in this paper is less elitist which make it able to discover solutions that are further from the received sequence, it also has linear complexity which makes it more practical. Fig 4: Performances of GAD versus Viterbi For the moment, we were not able to run the decoder simulations but more work is being carried out to make performances plots and to choose good parameters. Further work will consist of using parallel concatenated convolutional codes (PCCCs) and a multi-objective evolutionary algorithm such as NSGA II for decoding. The use of puncturing patterns should be studied as well. In this section, a genetic algorithm solution for ML decoding was introduced. This solution seems to be interesting either because of its linear complexity or its independence from the memory size of the encoder. IV. PARALLEL COMPUTING, MACHINE LEARNING, AND GENETIC ALGORITHMS 1. Context The huge computation abilities available now are changing the way scientific experiments and studies are done. The data generated and used is increasing exponentially in both volume and complexity. This section explains how Genetic Algorithms can be used with parallel computing [11] to achieve highly performant and scalable calculations. It concerns the design and the implementation of a multi-purpose genetic algorithm with the General Purpose Processing in Graphics Processing Units (GPGPU) using CUDA architecture (Developed by NVIDIA [18]). The model shown here is inspired by the Machine Learning (ML) Supervised Paradigm, which is appropriate to deal with both regression and classification problems when the data sets involved are so-called massive. As explained earlier, GAs are inspired by Darwin’s evolution law, which means that parallelism is an intrinsic property of its learning rule and how it processes data patterns. Furthermore, the parallel computing paradigm allows an optimal exploit of the training data set, permitting a strong optimization in processing performances.
  • 6. 6 2. The GAME model a) Definition The category of supervised ML models and techniques that follows the Darwin’s evolution law is called evolutionary. GAME (Genetic Algorithm Model Experiment) [19] is a genetic algorithm designed to perform supervised optimizations involving regression and classification features, scalable to manage Massive Data Sets, and is based on the usual genetic operators explained in former sections. b) Game Model Mathematics Given a generic dataset with N features and a target t, let pat a generic pattern of the dataset 1( ,..., , )Npat f f t , and let ( )g x a generic real function. The next generation of the feature if can be represented with a polynomial sequence of degree d as: 0 1( ) ( ) ... ( )d i i d iG f a a g f a g f    Hence the next generation of the k-th pattern ( )kpat with N features may be represented by 0 1 1 1 ( ) ( ) ( ) N N N i k i i j i i j Out pat G f a a g f        The target kt is used to evaluate the approximation error ( ( ))²k k kE t Out pat  c) The Genetic Algorithm We define the GA as following:  The array 0( ,..., )Ma a defines M genes of the genetic chromosome and initially generated random and normalized between -1 and 1).  All the chromosomes have the same size.  The expression of the error calculation gives the standard error to evaluate the fitness level of the chromosomes.  The population (genome) is composed by a number of chromosomes imposed from the choice of the function ( )g x of the polynomial sequence. 3. Experiment on Globular Cluster a) The problem A Globular Cluster (GC) is a spherical collection of stars that orbits a galactic core as a satellite [23]. The study of GCs populations in external galaxies requires wide-field, multi- brand photometry and high resolution data. However, the use of single-band photometry available through space facilities, costs less and still can yield to very complete datasets using Machine Learning algorithms. The idea here is to build a genetic algorithm able to perform supervised classification and regression duties, related to high- complexity parameter space where the background analytic function is known only for a limited number of input-target couples, representing known valid example of a physical phenomenon, here the GCs. To do so, the input patterns are combined in a polynomial expansion whose coefficients are the chromosomes genes. The objective is then to find the best chromosome that makes the polynomial expansion able to approximate the right solution to input pattern classification/regression. The fitness function used is the complement of the approximation error. [20] b) Parallelization of the Algorithm This process present several long execution time issues:  The polytrigo function is used at each iteration to obtain the output for each input dataset and for the error calculation;  The information about the fitness function must be pack-propaged to evolve the genetic population. These two issues make the training use case take much more execution time than the test and validation phases. It is therefore the one that needs to be optimized. Generating the random chromosomes and the calculation of the fitness function will be parallelized by executing them on the GPU since we need to perform the same instruction simultaneously on as much as data as possible. The CUDA architecture strength comes from its ad hoc software development methodology called APOD for (Assess, Parallelize, Optimize, and Deploy) (NVIDIA Corp. 2011). APOD 4 steps cycle aims at quickly identify the algorithm tasks that can take the most benefits from the GPU acceleration, and gets the closest to the theoretical highest speedup achievable, according to Gustafson laws. c) Results : After performing a series of tests, with a GPU-parallelized, a CPU-serial, and a CPU-optimized version of the algorithm, the results are the same. Slight differences in terms of least significant digit are due to the randomness of genetic algorithms. In terms of execution time, as expected, the two CPU-based implementations appear to be similar, a large difference is observed with the GPU implementation, all with the same polynomial degree, as shown in the figure 5.
  • 7. 7 Fig.5 Comparison among the GAME implementations with the polynomial degree =8 [19] As shown in the figure 6, the speedup is also increased proportionally with the increase of the polynomial degree. The GPU implementation outperforms the CPU performance by a factor of 8x to 200x in the serial case and in a range from 6x to 125x in the optimized case, leading to an intensive and highly scalable use of the algorithm impossible with a CPU [19]. Fig.6 Speedup comparison among GAME CPU implementations against the GPU version. [19] The results above show that the GA performance have been tremendously increased by the parallelization using GPGPU technologies on NVIDIA CUDA architecture. This means that the parallel computing paradigm can speed up the execution of these algorithms, and consequently allow us to get further to the optimal solution. V. CONCLUSION As illustrated in this article, Genetic Algorithms may be applied to many domains. They can solve optimization problems as long as they are represented (encoded) in the right way. That makes them an important domain of research within Mathematical Optimization. Still, being general metaheuristics, GAs cannot compete with algorithms specialized in solving certain problems. Sometimes conventional methods fail (or take a long time) to solve a problem for several reasons (big dimensions of the problem, non-linearity…) GAs help find a solution as close as possible from the exact one in a short time. The main problem is that we cannot know exactly how close we are unless we have the optimal solution. Because GAs are inherently parallel, their performance can be improved. The parallel computing paradigm has shown very strong results with highly efficient processing of massive datasets. Apart from the example in astrophysics treated in this article, further research could be made to investigate further optimization in terms of processing time in other fields of application like those presented. This could include the use of newer versions of hardware and software developed, or moving the formation of the population matrix and its evolution to the GPU. REFERENCES [1]D.J. Futuyma, "Evolution, Science, and Society: Evolutionary Biology and the National Research Agenda", 1999 [2]M. Mitchell, An Introduction to Genetic Algorithms, Cambridge, MA: MIT Press, 1996 [3]J. Teghem, Recherche Opérationnelle, Tome 1 Méthodes d’optimisation, ellipses, 2012 [4]F.S. Hillier, G.J. Lieberman, “The Transportation Problem” in Introduction to OPERATIONS RESEARCH, Holden-day inc.,1970 [5]Utpal Kanti Das , Md. Ashraful Babu, Aminur Rahman Khan, Md. Abu Helal, Dr. Md. Sharif Uddin, “Logical Development Of Vogel’s Approximation Method (LD-VAM): An Approach To Find Basic Feasible Solution Of Transportation Problem,” February, 2014 [6]University of Surrey, Operations research course, Chapter 7, “Transportation Problems”, consulted on 07/12/2014, link: http://personal.maths.surrey.ac.uk/st/J.F/chapter7.pdf [7]G.A. Vignaux, Z. Michalewicz, “A Genetic Algorithm for the Linear transportation Problem”, March/April 1991 [8]N. Thu Huyền, L. Sỹ Ước,R.B. Alday, “Genetic Algorithm for Solving Balanced Transportation Problem” , September, 2013 [9] P. Elias . Coding for noisy channels. IRE Conv. Rec. 1955 [10] Viterbi, A.J., Error bounds for convolutional codes and an asymptotically optimum decoding algorithm. IEEE Trans. Information Theory, 1967. 13(2): p. 260-269. [11]L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes for minimizing symbol error rate,” IEEE Trans. Inform. Theory, vol. 20, pp. 284-287, Mar. 1974. [12]C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: Turbo-codes,” in Proc. ICC ’ 93, Geneva Switzerland, pp. 1064-1070, May 1993 [13] Y. S. Han, C. R. P. Hartmann, and C.-C. Chen, ”Efficient maximum- likelihood soft-decision decoding of linear block codes using algorithm A*”, Technical Report SU-CIS-91-42, Syracuse University, Syracuse, NY 13244 December 1991 [14]L. Hebbes, R. Malyan, A. Lenaghan, "Genetic Algorithms for Turbo Codes", IEEE EUROCON 2005, November, Belgrade, 2005 [15]M. Belkasmi, H. Berbia, F. El Bouanani, “Iterative decoding of product block codes based on genetic algorithms”, SCC 2008, 14-16 January 2008, Ulm Germany [16]D. E. Goldberg and K. Deb “A comparaison of selection shchemes” used in genetic algorithms. In Foudations of Genetic Algorithms 1 (FOGA - 1), 1991, pp. 69-93. [17]H. Berbia, M. Belkasmi. F. Elbouanani, F. Ayoub, Proceedings of International Conference on Computer and Communication Engineering, 2008. ICCCE 2008, Kuala Lumpur, pp 667 – 671, 13-15 May 2008. [18]Nvidia, C. U. D. A. (2007). Compute unified device architecture programming guide. [19]Cavuoti, S.; Garofalo, M.; Brescia, M.; Pescape', A.; Longo, G.; Ventre, G., 2012, Genetic Algorithm Modeling with GPU Parallel Computing
  • 8. 8 Technology, 22nd WIRN, Italian Workshop on Neural Networks, Vietri sul Mare, Salerno, Italy, May 17-19 [20]Cavuoti, S.; Garofalo, M.; Brescia, M.; Paolillo, M; Pescape', A.; Longo, G.; Ventre, G., 2014, Astrophysical data mining with GPU. A case study: genetic classification of globular clusters, New Astronomy, Vol. 26, pp. 12-22, Elsevier [21]D. Brusilovsky, H. Ahary, Application of genetic algorithm to piece- wise linear approximation of response curves, July 2011. [22]Y. S. Han, C. R. P. Hartmann, and C.-C. Chen, ”Efficient maximum- likelihood soft-decision decoding of linear block codes using algorithm A*”, Technical Report SU-CIS-91-42, Syracuse University, Syracuse, NY 13244 December 1991 [23] Zepf, S. E. (10.1993). "Globular cluster systems formed in galaxy mergers". Monthly notices of the Royal Astronomical Society (0035- 8711), 264 (3), p. 611