0% found this document useful (0 votes)
36 views

Introduction To Evolutionary Computation: Assist. Prof. Dr. Mohammed Najm Abdullah

This document introduces evolutionary computation as a field devoted to designing problem solvers based on natural selection. It lists many application areas where evolutionary computation has been successfully applied, such as aircraft design, routing, robotics, and scheduling. The document then describes the basic process of an evolutionary computation, including generating an initial population, evaluating fitness, selecting parents, generating offspring, and iterating to find optimal solutions. Finally, it provides a brief history of evolutionary computation and its three generations of development.

Uploaded by

ljjb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Introduction To Evolutionary Computation: Assist. Prof. Dr. Mohammed Najm Abdullah

This document introduces evolutionary computation as a field devoted to designing problem solvers based on natural selection. It lists many application areas where evolutionary computation has been successfully applied, such as aircraft design, routing, robotics, and scheduling. The document then describes the basic process of an evolutionary computation, including generating an initial population, evaluating fitness, selecting parents, generating offspring, and iterating to find optimal solutions. Finally, it provides a brief history of evolutionary computation and its three generations of development.

Uploaded by

ljjb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Introduction to Evolutionary Computation

Assist. Prof. Dr. Mohammed Najm Abdullah


https://itswtech.academia.edu/MohammedAlSalam
Introduction to Evolutionary Computation

• Evolutionary Computation is the field of study devoted to the design,


development, and analysis is problem solvers based on natural selection
(simulated evolution).
• Evolution has proven to be a powerful search process.
• Evolutionary Computation has been successfully applied to a wide range of
problems including:
• Aircraft Design,
• Routing in Communications Networks,
• Tracking Winds hear,
• Game Playing (Checkers [Fogel])
Introduction to Evolutionary Computation
(Applications cont.)

• Robotics,
• Air Traffic Control,
• Design,
• Scheduling,
• Machine Learning,
• Pattern Recognition,
• Job Shop Scheduling,
• VLSI Circuit Layout,
• Strike Force Allocation,
Introduction to Evolutionary Computation
(Applications cont.)

• Theme Park Tours (Disney Land/World) http://www.TouringPlans.com


• Market Forecasting,
• Egg Price Forecasting,
• Design of Filters and Barriers,
• Data-Mining,
• User-Mining,
• Resource Allocation,
• Path Planning,
• Etc.
Introduction to Evolutionary Computation (cont.)

• In an Evolutionary Computation, a population of candidate solutions


(CSs) is randomly generated.
• Each of the CSs is evaluated and assigned a fitness based on a user
specified evaluation function. The evaluation function is used to
determine the ‘goodness’ of a CS.
• A number of individuals are then selected to be parents based on their
fitness. The Select Parents method must be one that balances the urge
for selecting the best performing CSs with the need for population
diversity.
Introduction to Evolutionary Computation (cont.)

• The selected parents are then allowed to create a set of offspring which
are evaluated and assigned a fitness using the same evaluation function
defined by the user.
• Finally, a decision must be made as to which individuals of the current
population and the offspring population should be allowed to survive.
Typically, in EC , this is done to guarantee that the population size
remains constant. [The study of ECs with dynamic population sizes
would make an interesting project for this course]
Introduction to Evolutionary Computation (cont.)
• Once a decision is made the survivors comprise the next generation (Pop(t+1)).
• This process of selecting parents based on their fitness, allowing them to create
offspring, and replacing weaker members of the population is repeated for a
user specified number of cycles.
• Stopping conditions for evolutionary search could be:
• The discovery of an optimal or near optimal solution
• Convergence on a single solution or set of similar solutions,
• When the EC detects the problem has no feasible solution,
• After a user-specified threshold has been reached, or
• After a maximum number of cycles.
A Brief History of Evolutionary Computation
• The idea of using simulated evolution to solve engineering and
design problems have been around since the 1950’s (Fogel, 2000).
• Bremermann, 1962
• Box, 1957
• Friedberg, 1958
• However, it wasn’t until the early 1960’s that we began to see three
influential forms of EC emerge (Back et al, 1997):
• Evolutionary Programming (Lawrence Fogel, 1962),
• Genetic Algorithms (Holland, 1962)
• Evolution Strategies (Rechenberg, 1965 & Schwefel, 1968),
• The designers of each of the EC techniques saw that their particular
problems could be solved via simulated evolution.
• Fogel was concerned with solving prediction problems.
• Rechenberg & Schwefel were concerned with solving parameter optimization
problems.
• Holland was concerned with developing robust adaptive systems.

• Each of these researchers successfully developed appropriate ECs for their


particular problems independently.
• In the US, Genetic Algorithms have become the most popular EC technique due to
a book by David E. Goldberg (1989) entitled, “Genetic Algorithms in Search,
Optimization & Machine Learning”.
• This book explained the concept of Genetic Search in such a way the a wide
variety of engineers and scientist could understand and apply.
• However, a number of other books helped fuel the growing interest in EC:
• Lawrence Davis’, “Handbook of Genetic Algorithms”, (1991),
• Zbigniew Michalewicz’ book (1992), “Genetic Algorithms + Data Structures = Evolution
Programs.
• John R. Koza’s “Genetic Programming” (1992), and
• D. B. Fogel’s 1995 book entitled, “Evolutionary Computation: Toward a New Philosophy of
Machine Intelligence.
• These books not only fueled interest in EC but they also were instrumental in
bringing together the EP, ES, and GA concepts together in a way that fostered
unity and an explosion of new and exciting forms of EC.
A Brief History of Evolutionary Computation:
The Evolution of Evolutionary Computation
• First Generation EC • Third Generation EC
• EP (Fogel) • Artificial Immune Systems (Forrest)
• GA (Holland) • Cultural Algorithms (Reynolds)
• ES (Rechenberg, Schwefel) • DNA Computing (Adleman)
• Second Generation EC • Ant Colony Optimization (Dorigo)
• Genetic Evolution of Data Structures (Michalewicz)• Particle Swarm Optimization (Kennedy & Eberhart)
• Genetic Evolution of Programs (Koza) • Memetic Algorithms
• Hybrid Genetic Search (Davis) • Estimation of Distribution Algorithms
• Tabu Search (Glover) • Fourth Generation ????

You might also like