Professional Documents
Culture Documents
Evolutionary computation (e.g., genetic algorithms) Immune-system-inspired computer/network security Ant-colony optimization Swarm intelligence Neural networks Molecular (DNA) computation
Research Methodology
Research Methodology
To understand the adaptive processes of natural systems To design artificial systems software that retains the robustness of natural systems
Provide efficient, effective techniques for optimization and machine learning applications Widely-used today in business, scientific and engineering processes.
Research Methodology
Research Methodology
Research Methodology
Components of a GA
Basic genetic population (gene,chromosome) Initialization procedure (creation) Selection of parents (reproduction) Evaluation function (environment) Genetic operators (mutation, recombination) Parameter settings (practice and art)
Research Methodology 6 Genetic Algorithms: A Tutorial
select parent nodes for reproduction; perform recombination and mutation; evaluate population;
} }
Research Methodology 7 Genetic Algorithms: A Tutorial
children
3
modification
modified children
population
deleted members
6
evaluated children
evaluation
discard
Research Methodology 8 Genetic Algorithms: A Tutorial
Population
population Chromosomes could be:
Bit strings Real numbers Any element Lists of rules Program elements ... any data structure ...
(0101 ... 1100) (43.2 -33.1 ... 0.0 89.2) (E11 E3 E7 ... E1 E15) (R1 R2 R3 ... R22 R23) (genetic programming)
Research Methodology
Reproduction
reproduction
parents children
population
Parents are selected at random with selection chances biased in relation to evaluations.
Research Methodology 10 Genetic Algorithms: A Tutorial
Chromosome Modification
children
modification
modified children
Modifications are stochastically triggered Operator types are: Mutation (alter, change) Crossover (recombination)
Research Methodology 11 Genetic Algorithms: A Tutorial
Causes movement in the search space (local or global) Restores lost information to the population
Research Methodology 12 Genetic Algorithms: A Tutorial
Crossover: Recombination
P1 P2
(0 1 1 0 1 0 0 0) (1 1 0 1 1 0 1 0)
(0 1 0 0 1 0 0 0) (1 1 1 1 1 0 1 0)
C1 C2
Crossover is a critical feature of genetic algorithms: It greatly accelerates search early in evolution of a population It leads to effective combination of schemata (subsolutions on different chromosomes)
Research Methodology 13 Genetic Algorithms: A Tutorial
Evaluation
evaluated children modified children
evaluation
The evaluator decodes a chromosome and assigns it a fitness measure The evaluator is the only link between a classical GA and the problem it is solving
Research Methodology 14 Genetic Algorithms: A Tutorial
Deletion
population
discarded members
discard Generational GA: entire populations replaced with each iteration Steady-state GA: a few members replaced each generation
Research Methodology 15 Genetic Algorithms: A Tutorial
Genetic Programming
David E. Goldberg Director, Illinois Genetic Algorithms Laboratory (IlliGAL) University of Illinois at UrbanaChampaign
John R. Koza Consulting Professor Department of Electrical Engineering School of Engineering, Stanford University
Research Methodology
16
A Simple Example
Research Methodology
17
A Simple Example
The Traveling Salesman Problem: Find a tour of a given set of cities so that
each city is visited only once the total distance traveled is minimized
Research Methodology
18
Representation
Representation is an ordered list of city numbers known as an order-based GA.
1) Chennai 3) Vellore 5) Mumbai 7) Tiruchi 2) Coimbatore 4) Hyderabad 6) Pondicherry 8) Vizag
CityList1 CityList2
(3 5 7 2 1 6 4 8) (2 5 7 6 8 1 3 4)
19 Genetic Algorithms: A Tutorial
Research Methodology
Crossover
Crossover combines inversion and recombination: * * Parent1 (3 5 7 2 1 6 4 8) Parent2 (2 5 7 6 8 1 3 4)
Child
(8 5 7 2 1 6 3 4)
Mutation
Mutation involves reordering of the list:
* * (8 5 7 2 1 6 3 4) (8 5 6 2 1 7 3 4)
Before: After:
Research Methodology
21
Research Methodology
22
Research Methodology
23
Research Methodology
24
Research Methodology
25
Research Methodology
26
Overview of Performance
O ve rvie w o f P e rfo rm a n ce
1800 1600 1400 1200 Distance 1000 800 600 400 200 0 11 13 15 17 19 21 23 25 27 29 31 1 3 5 7 9 Ge n e r atio n s (1000) Bes t W ors t
A v erage
Research Methodology
27
representation population size, mutation rate, ... selection, deletion policies crossover, mutation operators
Termination Criteria Performance, scalability Solution is only as good as the evaluation function (often hardest part)
Research Methodology 29 Genetic Algorithms: A Tutorial
When to Use a GA
Alternate solutions are too slow or much complicated Need an exploratory tool to examine new approaches Problem is similar to one that has already been successfully solved. Want to hybridize with an existing solution Benefits of the GA technology meet key problem requirements
Research Methodology
32
Application Types
gas pipeline, pole balancing, missile evasion, pursuit semiconductor layout, aircraft design, keyboard configuration, communication networks manufacturing, facility scheduling, resource allocation trajectory planning designing neural networks, improving classification algorithms, classifier systems filter design poker, checkers, prisoners dilemma set covering, travelling salesman, routing, bin packing, graph colouring and partitioning
33
Research Methodology
35
Evolutionary process
Essentials of Darwinian evolution:
Organisms reproduce in proportion to their fitness in the environment Offspring inherit all traits from parents Traits are inherited with some variation, via mutation and sexual recombination
Computer organisms (e.g., programs) reproduce in proportion to their fitness of problem environment (e.g., how well they perform a desired task) Offspring (outcome) inherit only strong traits (fitness)from their parent. Traits are inherited, with some variation, via mutation and cross-over methods
Genetic Algorithms: A Tutorial
Research Methodology
36
Research Methodology
37
Research Methodology
38
Genetic algorithms
Fitness function: number of non-attacking pairs of queens (min = 0, max = 8 7/2 = 28) 24/(24+23+20+11) = 31% 23/(24+23+20+11) = 29% etc
Research Methodology
39
Research Methodology
40
Research Methodology
41
ANTENNA DESIGN
Research Methodology
42
ANTENNA DESIGN
The problem (Altshuler and Linden 1998) is to determine the x-y-z coordinates of the 3-dimensional position of the ends (X1, Y1, Z1, X2, Y2, Z2, , X7, Y7, Z7) of 7 straight wires so that the resulting 7-wire antenna satisfies certain performance requirements The first wire starts at feed point (0, 0, 0) in the middle of the ground plane The antenna must fit inside the 0.5 cube
Research Methodology 43 Genetic Algorithms: A Tutorial
ANTENNA GENOME
X1 Y1 Z1 X2 Y2 Z2
+0010 -1110 +0001 +0011 -1011 +0011 105-bit chromosome (genome) Each x-y-z coordinate is represented by 5 bits (4-bit granularity for data plus a sign bit) Total chromosome is 3 7 5 = 105 bits
Research Methodology 44 Genetic Algorithms: A Tutorial
ANTENNA FITNESS
Antenna is for ground-to-satellite communications for cars and handsets We desire near-uniform gain pattern 10 above the horizon Fitness is measured based on the antenna's radiation pattern. The radiation pattern is simulated by National Electro-magnetics Code (NEC) Fitness is sum of the squares of the difference between the average gain and the antenna's gain Radiation can be considered for angles between 90 and +90 and all azimuth angles from 0 to 180 The smaller the value of fitness, the better
Research Methodology 45
Research Methodology
46
Determining the set of terminal inputs Determining the set of functions Determining the fitness measure Determining the parameters for the run Determining the method for designating a result and the criterion for terminating a run
Research Methodology 47 Genetic Algorithms: A Tutorial
PREPARATORY STEPS
Objective: Find a computer program with one input (independent variable X) whose output equals the given data T = {X, Random-Constants} F = {+, -, *, %} 1 2 3 Terminal set: Function set: Fitness:
The sum of the absolute value of the differences between the candidate programs output and the given data (computed over numerous values of the independent variable x from 1.0 to +1.0) Population size M = 4 An individual emerges whose sum of absolute errors is less than 0.1
4 5
Parameters: Termination:
Research Methodology
48
Research Methodology
49
Conclusions
Question: Answer:
Why GAs are so smart, rich? Genetic algorithms are rich - rich in application across a large and growing number of disciplines.
- David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning
Research Methodology
50
We are interested in systems where simple units work together to solve complicated tasks.
Research Methodology 51 Genetic Algorithms: A Tutorial
Swarm Intelligence
Based on the study of emergent collective intelligence of groups of simple agents
Bird Flock
Ant Colony
Fish School
Animal Herd
Research Methodology
52
Natural Ants
In a colony each ant has its prescribed task, but the ants can switch tasks if the collective needs it.
Research Methodology
53
ACO - Introduction
The Ant Colony Optimization (ACO) meta-heuristic is a suite of algorithms inspired by the foraging behaviour of ants. Abstraction of the adaptive and cooperation features observed in real ant colonies. Efficient optimization of the food searching process with global information of global environment variables Heuristic / Intelligence in search Consistent Updates on learning
Research Methodology 54
Introduction, cont
Developed by Marco Dorigo (Milan, Italy), and others in early 1990s Some common applications:
Quadratic assignment problems Scheduling problems Dynamic routing problems in networks algorithm is based on a series of random decisions (by artificial ants) probability of decisions changes on each iteration
55 Genetic Algorithms: A Tutorial
Research Methodology
ACO Concept
Ants (blind) navigate from nest to food source Shortest path is discovered via pheromone trails
each ant moves at random pheromone is deposited on each path ants detect lead ants path and inclines to follow high intensity of pheromone on path increases probability of same path being followed
Research Methodology
56
ACO Algorithm
Virtual trail accumulated on path segments Starting node selected at random Path selected at random
based on amount of trail present on possible paths from starting node higher probability for paths with more trail
Ant reaches next node, selects next path Continues until reaches starting node Finished tour is a solution
Research Methodology 57
Ant Algorithms
Research Methodology
58
Direct: antennation, trophallaxis (food or liquid exchange), mandibular contact, visual contact, chemical contact, etc. Indirect: two individuals interact indirectly when one of them modifies the environment and the other responds to the new environment at a later time. This is called stigmergy.
Research Methodology
59
4.
5.
6.
Represent the problem in the form of sets of components and transitions, or by a set of weighted graphs, on which ants can build solutions Define the meaning of the pheromone trails Define the heuristic preference for the ant while constructing a solution If possible implement a efficient local search algorithm for the problem to be solved. Choose a specific ACO algorithm and apply to problem being solved Tune the parameter of the ACO algorithm.
Research Methodology
60
The Algorithm
Ant Colony Algorithms are typically use to solve minimum cost problems. We may usually have N nodes and A undirected arcs There are two working modes for the ants: either forwards or backwards. Pheromones are only deposited in backward mode.
Research Methodology 61 Genetic Algorithms: A Tutorial
Ant Algorithm
The ants memory allows them to retrace the path it has followed while searching for the destination node Before moving backward on their memorized path, they eliminate any loops from it. While moving backwards, the ants leave pheromones on the arcs they traversed.
Research Methodology 62 Genetic Algorithms: A Tutorial
The Algorithm
The ants evaluate the cost of the paths they have traversed. The shorter paths will receive a greater deposit of pheromones. An evaporation rule will be tied with the pheromones, which will reduce the chance for poor quality solutions.
Research Methodology
63
The Algorithm
At the beginning of the search process, a constant amount of pheromone is assigned to all arcs. When located at a node i an ant k uses the pheromone trail to compute the probability of choosing j as the next node:
p ikj ij = l N ik 0
il
if if
j N j N
k i
k i
The Algorithm
When the arc (i,j) is traversed , the pheromone value changes as follows:
ij ij +
By using this rule, the probability increases that forthcoming ants will use this arc.
Research Methodology 65 Genetic Algorithms: A Tutorial
The Algorithm
After each ant k has moved to the next node, the pheromones evaporate by the following equation to all the arcs:
ij (1 p ) ij , (i, j ) A
wherep (0,1] is a parameter. An iteration is a completer cycle involving ants movement, pheromone evaporation, and pheromone deposit.
Research Methodology 66 Genetic Algorithms: A Tutorial
2. 3.
4.
5.
6.
Represent the problem in the form of sets of components and transitions, or by a set of weighted graphs, on which ants can build solutions Define the meaning of the pheromone trails Define the heuristic preference for the ant while constructing a solution If possible implement a efficient local search algorithm for the problem to be solved. Choose a specific ACO algorithm and apply to problem being solved Tune the parameter of the ACO algorithm.
Research Methodology
67
Research Methodology
68
( 1 )
(2 )
Genetic Algorithms: A Tutorial
Since the route B is shorter, the ants on this path will complete the travel more times and thereby lay more pheromone over it.
Research Methodology
A computer simulation of an ant colony performing an efficient search: Blue spot in the middle is an ant nest; other 3 spots represent food sources. Ants (red dots) use chemical signals (green) to find the shortest path to the food and alter their signals as the food is depleted.
Research Methodology 70 Genetic Algorithms: A Tutorial
Environment:
Edges
In a city, it chooses a route based on the intensity of the pheromone over the available paths When it finds the food source, it starts the return travel on its own pheromone trail
Applications
Efficiently Solves NP hard Problems Routing
1 5
Assignment
QAP (Quadratic Assignment Problem) Graph Coloring Generalized Assignment Frequency Assignment University Course Time Scheduling
72
Research Methodology
Applications
Scheduling
Job Shop Open Shop Flow Shop Total tardiness (weighted/non-weighted) Project Scheduling Group Shop Multi-Knapsack Max Independent Set Redundancy Allocation Set Covering Weight Constrained Graph Tree partition Arc-weighted L cardinality tree Maximum Clique
Subset
Research Methodology
73
Applications
Other
Shortest Common Sequence Constraint Satisfaction 2D-HP protein folding Bin Packing Classification Rules Bayesian networks Fuzzy systems Connection oriented network routing Connection network routing Optical network routing
Machine Learning
Network Routing
Research Methodology
74
Sources
Dorigo, Marco and Sttzle, Thomas. (2004) Ant Colony Optimization, Cambridge, MA: The MIT Press. Dorigo, Marco, Gambardella, Luca M., Middendorf, Martin. (2002) Guest Editorial, IEEE Transactions on Evolutionary Computation, 6(4): 317-320. Thompson, Jonathan, Ant Colony Optimization. http://www.orsoc.org.uk/region/regional/swords/swords.ppt, accessed April 24, 2005. Camp, Charles V., Bichon, Barron, J. and Stovall, Scott P. (2005) Design of Steel Frames Using Ant Colony Optimization, Journal of Structural Engineeering, 131 (3):369379. Fjalldal, Johann Bragi, An Introduction to Ant Colony Algorithms. http://www.informatics.sussex.ac.uk/research/nlp/gazdar/teach/a tc/1999/web/johannf/ants.html, accessed April 24, 2005.
Research Methodology 78
Applications
The ACO can be used to solve graph problems such as the Traveling Salesman Problem (TSP).
Of High computational complexity For which the exact algorithms are inefficient For which we dont need the best solution but a good one.
Research Methodology
79
Trying all possible solutions means n! permutations. Using the techniques of dynamic programming, it can be solved in time O(n22n)
If a salesman starts at point A, and if the distances between every pair of points are known, what is the shortest route which visits all points and returns to point A?
The problem is of considerable practical importance. Example: printed circuit manufacturing: scheduling of a route of the drill machine to drill holes in a PCB.
Research Methodology 80 Genetic Algorithms: A Tutorial
Research Methodology
81
CONTROL CENTER
Birds and fish adjust their physical movement to avoid predators, seek for food and mates. Humans tend to adjust our beliefs and attitudes to conform with those of our social peers. Humans change in abstract multidimensional space, collisionfree.
84 Genetic Algorithms: A Tutorial
Research Methodology
Flock is a group of objects that exhibit the general class of polarized (aligned), non-colliding, aggregate motion. Boid is a simulated bird-like object, i.e., it exhibits this type of behavior. It can be a fish, bee, dinosaur, etc. Cohesion: Each boid fly towards the centroid of its local flock mates (that is, boid in its local neighborhood) Separation : Each boid keep a certain distance away from local flock mates to avoid collisions Alignment: Each boid align its velocity vector and keep velocity magnitude similar with that of the local flock
Note: There might be many other rules for making the flock more realistic.
Research Methodology 85 Genetic Algorithms: A Tutorial
The large number of members that make up the particle swarm make the technique impressively resistant to the problem of local minima.
Research Methodology
86
Its best position since the algorithm started (pBest) The best position of the particles around it (lBest) or of the whole group (gBest)
On each iteration, the particle changes its velocity towards pBest and lBest/gBest. So the swarm explores the solution space looking for promising zones.
Research Methodology 88 Genetic Algorithms: A Tutorial
The pseudo code of the procedure is as follows: For each particle Initialize particle END Do
For each particle Calculate fitness value If the fitness value is better than the best fitness value (pBest) in history set current value as the new pBest End Choose the particle with the best fitness value of all the particles as the gBest For each particle Calculate particle velocity according equation (a) Update particle position according equation (b) End
Research Methodology
Social: the particles around are always the same, no matter where they are in space Geographical: the particles around are those whose distance is the shortest
Global PSO vs. Local PSO: the global version converges quickly to a solution but it gets more easily stuck in local minima.
Research Methodology
90
Controlling unmanned vehicles Possibility of using it to control nanobots within the body to kill cancer tumors Disney's The Lion King was the first movie to make use of swarm technology (the stampede of the wildebeests scene). The Lord of the rings used it too during the battle scenes. Grid Data Replication:
Research Methodology
91
Conclusions
We can learn from nature and take advantage of the problems that she has already solved. Many simple individuals interacting with each other can make a global behavior emerge. Techniques based on natural collective behavior (Swarm Intelligence) are interesting as they are cheap, robust, and simple. They have lots of different applications. Swarm intelligence is an active field in Artificial Intelligence, many studies are going Research Methodology 92 Genetic Algorithms: A Tutorial on.