Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Implementation of Evolutionary
Algorithms using DNA Computing.
Imran Ashraf .A.
13th March 2007
What is an Evolutionary Computing?
• Evolutionary Computing is a research area within Computer Science ,which draws inspiration from the process of natural evolution.
• Inspired from Darwin’s Theory of Evolution .(Survival of the fittest).
Need for Evolutionary computing
• Developing automated problem solvers.
Two most powerful natural problem solvers
1) Human Brain
2) Evolutionary process (that created the human brain)
Designing the problem solvers based
on human brain leads to the field of
“neurocomputing”. While the second
one leads to evolutionary computing.
• Technical perspective
1) Rapidly growing demand for problem
solving automation.
2) Urgent need for robust algorithm
with satisfactory performance.
3) Algorithms applicable to a wide
range of problems and provide good
(not necessarily optimal) solutions
within acceptable time.
Human curiosity
Evolutionary algorithms
• The algorithms involved in Evolutionary computing are termed as Evolutionary algorithms (EA).
• Sub-areas of EA:
1) Genetic Algorithm (GA).
2) Evolution strategies (ES).
3) Evolutionary programming (EP).
4) Genetic Programming (GP).
General scheme of Evolutionary
Algorithms
Flowchart representation
Initialisation parent selection
Parents
Population Recombination
Termination
Mutation
Offspring
Important components of Evolutionary Algorithm
� Definition of individuals
� Fitness function
� Population
� Parent selection mechanism
� Variation operators, recombination and mutation
� Survivor selection mechanism (Replacement)
Variation Operators
� The role of variation operators is to create
new individuals from old ones.
� Mutation: Uses one parent to create one
child by applying some randomized change change to the representation.
� Recombination: This involves the creation of new child from two or more parent solutions.
It is also known as Crossover.
Towards Evolutionary DNA Computing
� Populations of trillions of candidates
evaluated for fitness.
� Massive information storage.
� DNA computing techniques might
process in parallel for the population
billion times larger than in
conventional computers.
� Modifications to current technology
in-vitro evolution suffice to
implement point-wise mutation.
Challenges in DNA Evolutionary Computation
� Selecting DNA strands for breeding
according to fitness by designing and
implementing the appropriate
laboratory methods.
Some simple genetic algorithms using DNA computing
� One max problem
� Royal road fitness
� Cold war problem
One max problem
� To evolve some bit strings to match
the prespecified bitstring (usually
taken to be all 1s)
� The output (target) is known
beforehand
� Traditional test problem for
evolutionary computation
Evaluation using 2d- DGGE
� The candidates are selected for
fitness using the 2d – Denaturing
gradient gel electrophoresis.
� The linear dsDNA moves more
downwards than the other denatured
ones.
Royal Road Fitness
� Similar to the One max problem,the
target is specified beforehand.
� Target consists of N blocks, each
block consists of K bits.
� The fitness of the candidate depends
on number of such perfectly matched
blocks.
� The target strand consists of 5 blocks
of 10 Ts to represent the Royal Road
blocks.
� The spacers taken to be 10 Gs.
� 50 Gs are used on each end to avoid
end effects.
Cold war problem
� Here both targets and candidates are
evolved simultaneously.
� The fitness of candidate-target pairs
are evaluated.
� Variation of both, targets and
candidates are induced by breeding.
� New generation ( offspring target-
candidate pairs).
Other Genetic algorithms
� Fuzzy systems
� Maximum Clique
� Knapsack problem
References
� A.E. Eiben, J.E Smith, ”Introduction to
Evolutionary Computation”.
� Michael Rosenman notes on Evolutionary
Algorithms,”http://evonet.lri.fr/evoweb/res
ources/links/record.php?id=151”.
� “DNA computing Implementing Genetic
Algorithms”, Junghuei Chen.