Академический Документы
Профессиональный Документы
Культура Документы
AbstractThis paper is a short report of the research done This is the main reason why genetic algorithms are
about genetic algorithms and evolutionary computing. Genetic sometimes the only way to solve problems in several areas, even
algorithms are adaptive methods that can be used to solve that is not guaranteed the solution is the optimum, it will be an
searching and optimization problems. They are based on the acceptable solution in a smaller amount of processing time in
genetic process of organic being, where only the fittest will succeed comparison with the other algorithms.
in surviving.
A. Simple Genetic Algorithm
In this research the fittest survivors will give the best results in The basic steps of a genetic algorithm are [1]:
the problems that will be studied: travelling salesman best route
and Crawling Behavior for a Humanoid Robot. Evaluate the score of each of chromosomes generated.
KeywordsEvolutionary computing; Crawling behavior; Allow reproduction of the chromosomes, the fittest units
Crossover; Chromosome Modification; Fittest; Genetic algorithms; will have more probability to reproduce.
Mutation; Population; Robot Nao; Traveling salesman route. With a certain probability of mutation, the mutation will
happen to a gene of the new generation.
Genetic algorithm are based on a similar analogy to the While (!stopCondition) do:
natural behavior. The way they work is simple, there is a Select best fit individual for reproduction;
population of units, where each of these units represents a
Breed new individuals through crossover and mutation;
solution to solve a given problem. Each of these units has some
qualities like a punctuation related to the solution of the problem, Evaluate fitness of the new individuals;
the equivalent in nature to this is the effectiveness of the organic Replace least-fit population with new individual;
being able to compete successfully for resources. The more fit
the being, the more probabilities to reproduce. This way there is Return solution; [2]
a new population of solutions that will replace the latest
solutions, this means that if the algorithm has been well
programmed. With an small amount of generations the
algorithm will converge to the best solution for the problem in
relation to the amount of generations that are produced. The
more generations there are, the more accurate the result will be
(this isn't always is true, but most of the times is it).
other neurons. The hidden layer has five neurons that processes
and transforms the data into information. Finally, the output
layer has one output neuron which returns the information.
2) Operators: the role of operators is to create new
individuals from the old generations. This means that new
solutions are created. In order to generate new individuals, the
following operators are available:
Mutation: a unary1 variation operator, it is applied to
one genotype randomly and produces a new individual
modified, a mutant. The mutation rate is between
1 1
and . The Fig. 2 shows an example of
mutation in a binary string.
Recombination: also called crossover, this operator
merges information from two parent genotypes into one
or two offspring genotypes. The Fig. 3 shows an
example of crossover in two binary strings and its
offspring.
Selection: Once each chromosome is evaluated and
obtained, the score of a new population has to be
created considering that the good traits of the best are
transmitted to the next generation. The selection can be
done with the Roulette wheel2 mechanism. The Fig. 3
shows an example of simple selection in the population
through generations.
B. Advantages and disadvantages
The reason why genetic algorithm succeed and still an
interesting field of investigation are [3]:
Simple concept: the idea its easy to understand.
Multi-objective optimization: allows to obtain an
Figure 1: Diagram of genetic algorithm (GA) optimal decision that takes in presence more than one
objective.
Answer guaranteed: the more time an answer is
1) Parameters: The behavior of the algorithm can be
processed, the better it will be.
manipulated depending on the use of the following parameters:
Knowledge memory: the acquired knowledge speeds
Population: the amount of chromosomes in the
up and improves the algorithm.
population in one generation.
On the other hand there are disadvantages, which are:
Crossover: the probability for the crossover to be
performed. If there is no crossover, offspring is an exact Implementation issues: basic aspects of
copy of parents. If there is a crossover, offspring are implementation are difficult to set, such like choosing
made from parts of parents chromosome. the right representation, population size, mutation rate,
accept and reject policies, etc.
Mutation: probability of parts of the chromosome being
mutated. If there is no mutation, offspring are taken after Termination criteria: its difficult to tell when to stop.
crossover without any change (thus theres no
improvement in the generated solution). If mutation is Performance: even that algorithm gains experience, the
performed, part of chromosome is changed. performance stills a complex matter to improve.
The Fig. 1 shows a classic neural network model with input, Evaluation function dependence: if the function is not
hidden and output layer. The input layer has four data inputs, the the right one, the whole result will not be correct.
neurons that receive the data and the connections (weights) to
1 2
An operator is unary if it applies to one subject as input. We spin the wheel and when it stops we select the
corresponding chromosome. Obviously, the best individuals
get higher chance.
II. PROBLEM RESOLUTION
In the research two problems have been studied, one for the
classical travelling salesman best route and Crawling Behavior
for a Humanoid Robot. Now, the process and the algorithm used
to reach a solution will be explained.
A. The Traveling Salesman Problem
This problem consists in a salesman who has to travel around
a given amount of cities with minimum cost, visiting each city
only once and finishing in the same city where he started. In this
problem a list of 48 cities is given.
Figure 2: The before and after in a binary string when a The chromosomes are coded like an array of cities, where
mutation takes place each city will be visited by the agent, it can not contain a
repeatition of a city.
Parameters information:
Population size: 80 individuals
Number of generations: 10000
Mutation rate: 2%
Crossover rate: 100%
With this configuration, the algorithm is executed and the
results are exported in a database, which will be used to plot the
results. The Fig. 5 shows the results of the evolution process:
Figure 3: The process of the crossover between two parents
and the resulting offspring
3
A procedure that uses domain knowledge to determine a
perceived value of a situation during a search process.
Nao, if it is not in Belly pose then its necessary to make the Also the raw scores are not accurate as the fitness ones, there
robot stand up and start crawling again. is too mucho difference between the max and the min for each
generation.
Parameters information:
It is necessary to mention that between the 20th generation
A 1D list chromosome and the 37th theres a drop of the max score reached but then,
Population of 10 chromosomes initialized randomly from the 38th theres a rise until peak score is reached. A possible
reason to explain why this drop of score happened could be
Real range method for mutation, with 0.5 probability
because at that point Nao wasnt in the belly position, so the
Uniform method for crossover robot had to stand up and restart all the process of crawling
Fraction of the population created with 0.8 crossover again.
How good would be the performing and the results if we [8] CSU Sacramento, S. R., CSU Sacramento, V. G., & Google, Inc., L. V.
combine genetic algorithm with neural networks? (2014, July 12). Evolving QWOP Gaits. Retrieved April 23, 2017, from
http://static.googleusercontent.com/media/research.google.com/en/us/pu
Is it possible to find a better way to obtain the bs/archive/42902.pdf.
parameters rather than doing few test?