2. Computer Science to Evolutionary Computation
Within the vast field of computer science under it’s vast array of potential
applications there exists the branch of artificial intelligence.
George Bora (UTCN) Genetic Algorithms April 13, 2014 2 / 17
3. Computer Science to Evolutionary Computation
Within the vast field of computer science under it’s vast array of potential
applications there exists the branch of artificial intelligence.
One of the sub-branches of artificial intelligence is evolutionary
computation which seeks to achieve continuous optimization and
combinatorial optimization by incorporating knowledge of natural evolution
processes.
George Bora (UTCN) Genetic Algorithms April 13, 2014 2 / 17
4. Basic Concepts from Biology
The basic building blocks for evolutionary computation, which have kept
their names from their native science, are as follows:
genes
allele
chromosome
individual
mapping
mutation and crossover
fitness function
George Bora (UTCN) Genetic Algorithms April 13, 2014 3 / 17
5. Genes
The element from which this method derives it name, as genes are the
basic building blocks of life.
George Bora (UTCN) Genetic Algorithms April 13, 2014 4 / 17
6. Genes
The element from which this method derives it name, as genes are the
basic building blocks of life.
So too in our search for the solution for various problems, genes are the
basic elements we switch around and juggle with in order to arrive at a
more optimum solution.
George Bora (UTCN) Genetic Algorithms April 13, 2014 4 / 17
7. Allele
If genes are the basics of the solution in theory, alleles are the values
encoded in genes are the ones we use in practice, when developing
software which uses genetic programming.
George Bora (UTCN) Genetic Algorithms April 13, 2014 5 / 17
8. Allele
If genes are the basics of the solution in theory, alleles are the values
encoded in genes are the ones we use in practice, when developing
software which uses genetic programming.
When the time has passed and the solution must effectively be built or
instantiated it is the allele which forms the blue print we go by.
George Bora (UTCN) Genetic Algorithms April 13, 2014 5 / 17
9. Allele
If genes are the basics of the solution in theory, alleles are the values
encoded in genes are the ones we use in practice, when developing
software which uses genetic programming.
When the time has passed and the solution must effectively be built or
instantiated it is the allele which forms the blue print we go by.
In the original vision for genetic algorithms there was only 1 allele per
gene, which was a binary value and was stored in a 1 bit, as the field
progressed all of those constrictions have been lifted.
George Bora (UTCN) Genetic Algorithms April 13, 2014 5 / 17
10. Chromosome and Individual
As in nature an animal can not have it’s information encoded in a single
gene, in programming a solution which warrants genetic algorithms is not
simple enough as to be composed on 1 gene.
George Bora (UTCN) Genetic Algorithms April 13, 2014 6 / 17
11. Chromosome and Individual
As in nature an animal can not have it’s information encoded in a single
gene, in programming a solution which warrants genetic algorithms is not
simple enough as to be composed on 1 gene.
Chromosomes are the collection of genes, which make up the blueprint
from which we will map our solution and create the individual.
George Bora (UTCN) Genetic Algorithms April 13, 2014 6 / 17
12. Chromosome and Individual
As in nature an animal can not have it’s information encoded in a single
gene, in programming a solution which warrants genetic algorithms is not
simple enough as to be composed on 1 gene.
Chromosomes are the collection of genes, which make up the blueprint
from which we will map our solution and create the individual.
If the chromosomes are the blue prints the individual is the ”end product”,
to make an analogy with software engineering, and individual is to a class
what a instance is to a object.
George Bora (UTCN) Genetic Algorithms April 13, 2014 6 / 17
13. Mapping
The process by which we construct a individual from the chromosome we
have generated is called mapping, it is one of the important elements
(alongside chromosome structure and fitness functions) we must consider
before we implement our design.
George Bora (UTCN) Genetic Algorithms April 13, 2014 7 / 17
14. Mapping
The process by which we construct a individual from the chromosome we
have generated is called mapping, it is one of the important elements
(alongside chromosome structure and fitness functions) we must consider
before we implement our design. Mapping and it’s complexity is often tied
with how we define our alleles,genes and chromosome as well as our
genetic operations, a great deal of planning being required in order to
produce the best possible algorithm.
George Bora (UTCN) Genetic Algorithms April 13, 2014 7 / 17
15. Crossover
Crossover is one of the fundamental operations within the toolbox of
genetic algorithms, and one of the most important methods by which we
can combine existing chromosomes to form new ones in the search for a
fit enough solution.
George Bora (UTCN) Genetic Algorithms April 13, 2014 8 / 17
16. Crossover
Crossover is one of the fundamental operations within the toolbox of
genetic algorithms, and one of the most important methods by which we
can combine existing chromosomes to form new ones in the search for a
fit enough solution. It involves separating each chromosome which takes
part into two parts, and then recombining parts from the different old
chromosomes to form the new set of chromosomes.
George Bora (UTCN) Genetic Algorithms April 13, 2014 8 / 17
17. Mutation
Mutation is the changing of the allele of a gene to another one of it’s
possible values.
George Bora (UTCN) Genetic Algorithms April 13, 2014 9 / 17
18. Mutation
Mutation is the changing of the allele of a gene to another one of it’s
possible values. This operation permits genetic algorithms to potentially
escape from local optimum solutions, a very important characteristic in the
field of artificial intelligence.
George Bora (UTCN) Genetic Algorithms April 13, 2014 9 / 17
19. Fitness Function
Via crossover and mutation we can create whole populations of
individuals, potential solutions, and so the question arises when do we
stop the evolutionary cycle?
George Bora (UTCN) Genetic Algorithms April 13, 2014 10 / 17
20. Fitness Function
Via crossover and mutation we can create whole populations of
individuals, potential solutions, and so the question arises when do we
stop the evolutionary cycle? The answer being when we have reached a
certain vicinity of an ideal solution, but for this we need to evaluate how
close is any one individual to satisfying our demands and being the sought
after solution.
George Bora (UTCN) Genetic Algorithms April 13, 2014 10 / 17
21. Fitness Function II
The implementation of the fitness function changes from one class of
problems to another, standardization being much more difficult than with
genes, and is one of the most time consuming elements of genetic
programming.
George Bora (UTCN) Genetic Algorithms April 13, 2014 11 / 17
22. Fitness Function II
The implementation of the fitness function changes from one class of
problems to another, standardization being much more difficult than with
genes, and is one of the most time consuming elements of genetic
programming.
Writing the fitness function, which when given a chromosome will return
how fit or close to the ideal it is, is one of the hardest yet essential tasks in
developing a solution with genetic programming as it is the only way to
close the loop and choose a final solution.
George Bora (UTCN) Genetic Algorithms April 13, 2014 11 / 17
23. Genetic Algorithms vs Genetic Programming
Within this field there exist two very different paradigms, genetic
algorithms and genetic programming the most visible difference between
them being the structure of the chromosomes they produce.
George Bora (UTCN) Genetic Algorithms April 13, 2014 12 / 17
24. Genetic Algorithms vs Genetic Programming
Within this field there exist two very different paradigms, genetic
algorithms and genetic programming the most visible difference between
them being the structure of the chromosomes they produce.
Genetic algorithms work with a chromosome which is linear and often fixed
in length, making them ideal for tunning the behavior of various solutions.
George Bora (UTCN) Genetic Algorithms April 13, 2014 12 / 17
25. Genetic Algorithms vs Genetic Programming
Within this field there exist two very different paradigms, genetic
algorithms and genetic programming the most visible difference between
them being the structure of the chromosomes they produce.
Genetic algorithms work with a chromosome which is linear and often fixed
in length, making them ideal for tunning the behavior of various solutions.
Genetic programming instead uses a tree-structured chromosome variable
in size, which allows it to generate the structure of the solution as well as
the behaviour.
George Bora (UTCN) Genetic Algorithms April 13, 2014 12 / 17
26. The problem
Automatically generate a VHDL program for simple signal processing.
George Bora (UTCN) Genetic Algorithms April 13, 2014 13 / 17
27. The problem
Automatically generate a VHDL program for simple signal processing.
Our solution, create a chromosome structure, crossover and related
operations as well as a fitness fitness which will write the program for us.
George Bora (UTCN) Genetic Algorithms April 13, 2014 13 / 17
28. The problem
Automatically generate a VHDL program for simple signal processing.
Our solution, create a chromosome structure, crossover and related
operations as well as a fitness fitness which will write the program for us.
George Bora (UTCN) Genetic Algorithms April 13, 2014 13 / 17
29. VHDL
VHDL is a hardware description language used in electronic design
automation to describe digital and mixed signal systems, it is most often
used with FPGA and integrated circuits.
George Bora (UTCN) Genetic Algorithms April 13, 2014 14 / 17
30. VHDL
VHDL is a hardware description language used in electronic design
automation to describe digital and mixed signal systems, it is most often
used with FPGA and integrated circuits.
Initially it was designed for simulation of electronic designs but it soon
came to be used as well for implementing those designs in FPGA and
ASIC.
George Bora (UTCN) Genetic Algorithms April 13, 2014 14 / 17
31. VHDL
VHDL is a hardware description language used in electronic design
automation to describe digital and mixed signal systems, it is most often
used with FPGA and integrated circuits.
Initially it was designed for simulation of electronic designs but it soon
came to be used as well for implementing those designs in FPGA and
ASIC.
Another possible use of VHDL, which we will not use in this presentation,
is as a general purpose parallel programming language.?
George Bora (UTCN) Genetic Algorithms April 13, 2014 14 / 17
32. VHDL Designs
A design, the primary goal of VHDL, will always be formed out of two parts:
George Bora (UTCN) Genetic Algorithms April 13, 2014 15 / 17
33. VHDL Designs
A design, the primary goal of VHDL, will always be formed out of two parts:
The entity, or structure which contains the input ports as well as the output
ports.
George Bora (UTCN) Genetic Algorithms April 13, 2014 15 / 17
34. VHDL Designs
A design, the primary goal of VHDL, will always be formed out of two parts:
The entity, or structure which contains the input ports as well as the output
ports.
The architecture in which the behavior of the design is described by using
VHDL’s operators.
George Bora (UTCN) Genetic Algorithms April 13, 2014 15 / 17
35. A possible implementation
For a possible implementation we can start from these basics:
genes and alleles :: either the ports, as leafs, or the operations of
VHDL, as nodes.
chromosome :: the entity combined with the architecture thus the
sought after design.
mapping :: loading the design into a VHDL simulator and later on
standard VHDL mapping
fitness function :: the performance of the chromosomes design in a
BHDL simulator
George Bora (UTCN) Genetic Algorithms April 13, 2014 16 / 17
36. The End
Thank your for your attention !
George Bora (UTCN) Genetic Algorithms April 13, 2014 17 / 17
37. The End
Thank your for your attention !
Any questions ?
George Bora (UTCN) Genetic Algorithms April 13, 2014 17 / 17