Evolutionary Computation

advertisement
Nature inspired modelling and
algorithms
Xiaodong Li
School of Computer Science and IT, RMIT University,
Melbourne, Australia
Email: xiaodong.li@rmit.edu.au
URL: http://goanna.cs.rmit.edu.au/~xiaodong/
Topics
•
•
•
•
•
•
•
•
Introduction to Evolutionary Computation (EC)
Particle Swarm Optimization
Differential Evolution
Evolutionary Multiobjective Optimization
Optimization in dynamic environments
Coevolutionary models
Multimodal Optimization (Niching)
Large Scale Global Optimization
What is EC about?
• Evolutionary Computation is concerned with
the use of simulated biological evolution to
solve problems for which it can be difficult
using traditional methods. This course will
examine different models of evolutionary
computation and the kinds of problems they
can be used for.
Where EC fits in AI?
Web
Mining
Navigation
Vision
Planning
Lisp
Data
Mining
Factory
Robots
Games
Evolutionary
computation
Manipulation
Prolog
Machine
Learning
Robotics
Shells
Programming
Languages/Tools
KE Env.
Rules
Heuristic
Search
Problem
Solving
Hardware
SEARCH
Semantic Nets
Representation
Methods
Conceptual
Graph
Logic
Synthesis
AI
Knowledge
Acquisition
Applications
Neural
Networks
Vision
Medical
Imaging
Industrial
Inspection
Object
Recognition
Scene
Analysis
Speech
Recognition
Written
Database
Query
Machine
Translation
Agents
Image
Processing
Applications
Pattern
Recognitions
Natural
Language
Knowledge
Representation
Knowledge
Engineering
Expert
Systems
Simulated
Annealing
Optimization
Mobile Agents
Softbots &
Games
How do we run this course?
• This course runs in a mix of lecture/seminar mode
where key concepts are presented, and research
articles are discussed and analysed. Each class will
consist of 1 hour lecture and 1 hour discussion.
• Students are expected to read the prescribed
research papers before each class, and come to the
class prepared to discuss the concepts and issues
involved.
• Students are expected to participate actively in the
discussion, and to take it in turn to lead the
discussion.
Pre-requisite and assumed knowledge
• Some knowledge of Artificial Intelligence;
• You are required to have programming skills in
Java, C, or C++, including basic data structures
and algorithms;
• Familiarity with Unix is strongly recommended.
Learning objectives
You will learn:
• The basic principles and techniques of evolutionary
algorithms and swarm intelligence.
• How to apply these techniques to optimisation
problems and problems that require machine
learning.
• How to compare different approaches to problems.
• How to read research papers in the area and lead a
discussion on current research issues.
Assessment
• Assignment#1: SGA-C programming and
experimentation (30%)
• Assignment#2: Research proposal (50%)
• Discussion leadership (10%)
• Discussion participation (10%)
• No exam (presentations??)
Discussion and Participation
• Each student will be asked to lead the discussion at least
once during the semester.This involves chairing the class
discussion, and preparing and disseminating a set of focus
questions to the class one week before the discussion
takes place.
• Students will be assessed on:
-The quality of the focus questions proposed;
-The ability to involve classmates in a scholarly discussion;
-Evidence of careful preparation to facilitate useful discussion if
interaction is stalled;
• In the first class, we will provide an example of suitable
questions for a demonstration study topic, and lead an
example discussion.
What is optimization?
• Optimization is the process of making
something better.
• An engineer or scientist conjures up a new idea
and optimization improves on that idea.
• Optimization consists in trying variations on an
initial concept and using the information gained
to improve on the idea.
Function to be optimized
Airfoil Design
Journey planning
Vehicle routing
Warehouse storage
Six categories of optimization
Examples of optimization problems
•
•
•
•
•
Aerodynamic design
Vehicle routing
Journey planning
University timetabling
etc
Biological optimization
• Nature does computation the best!
• Natural Selection – survival of the fittest.
• Evolution Theory by Charles Darwin.
4 premises of Evolution Theory
• First, an offspring has many of the characteristics
of its parents. This premise implies that the
population is stable.
• Second, there are variations in characteristics
between individuals that can be passed from one
generation to the next.
• The third premise is that only a small percentage
of the offspring produced survive to adulthood.
• Finally, which of the offspring survive depends on
their inherited characteristics.
Flow chart of an EC
EC is an optimization and
search technique based
on the principles of genetics
and natural selection.
Advantages of EC
•
•
•
•
•
•
Optimizes with continuous or discrete variables,
Doesn’t require derivative information,
Simultaneously searches from a wide sampling of the cost surface,
Deals with a large number of variables,
Is well suited for parallel computers,
Optimizes variables with extremely complex cost surfaces (they
can jump out of a local minimum),
• Provides a list of optimum variables, not just a single solution,
• May encode the variables so that the optimization is done with
the encoded variables, and
• Works with numerically generated data, experimental data, or
analytical functions.
Binary Genetic Algorithms
Flowchart of GA
Cost surface
Contour plot of the cost surface
An ‘kangaroo’ analogy
• Imagine that you fly a helicopter into Himalayas, and then
parachuted hundreds of kangaroos into the region at random
places. You hope that at least one of them will find Everest.
• A genetic algorithm begins like the following - these
kangaroos do not know that they are supposed to be looking
for the top of a mountain. Every few years, you shoot the
kangaroos at low altitudes and hope the ones that are left will
be fruitful, multiply, and ascend. Current research suggests
that fleas may be more effective than kangaroos in genetic
algorithms, since their faster rate of reproduction more than
compensates for their shorter hops.
26
De Jong function 2
27
Measuring performance
28
Questions for week 1
•
•
•
•
•
•
What is Evolutionary Computation, and what is it about?
How does a Genetic Algorithm work? And Why?
What sort of applications GAs can be used for?
How to represent a problem?
What are the GA parameters?
How to setup a GA experiment and record the result?
29
Assignment 1
Due date: 9:30pm, Wednesday 25 March 2015
• You are required to use an existing program - SGA-C (see the handout) to
solve at least two optimization problems of your choice. Recommended
functions are De Jong’s test bed (see assignment#1 specs).
• You need to modify the original SGA-C code in order to complete the
required tasks.
• You need to show your experimental results on a plotted graph (say using
Excel spreadsheet, or gnuplot, jgraph). You should run your experiments
with various setups, e.g., a low or high mutation probability (or crossover
probability), a small or large population size.
• You should write a brief report on analysis of the experimental results.
• You need to hand in the assignment in hardcopy as well as a softcopy, to
your class representative. You may be required to demonstrate your GA
runs.
30
Readings on Genetic Algorithms
• Randy I. Haupt and Sue Ellen Haupt. Practical Genetic Algorithms,
Chapter 1 Introduction to Optimization, John Wiley and Sons New
York, 1998.
• Randy I. Haupt and Sue Ellen Haupt. Practical Genetic Algorithms,
Chapter 2 The Binary Genetic Algorithms, John Wiley and Sons
New York, 1998.
You can download the above two chapters from the course QQ site.
Download