Can we steal the techniques used
  in nature to solve problems?
Introduction   to

Evolutionary Algorithms
                                   (and open questions)




                Herb Susmann
             Computer Science ‘14
          Advisor: Dr. Gregg Hartvigsen
In Three Parts:

 Introduction
  Examples
 My Research
WHAT IS A GENETIC
ALGORITHM?
A genetic algorithm is a biologically
 inspired optimization algorithm.
Cultural Algorithm                              Swarm Algorithms
Memetic Algorithm                               Particle Swarm Optimization
Probabilistic Algorithms                        Ant System
Population-Based Incremental Learning           Ant Colony System
Univariate Marginal Distribution Algorithm      Bees Algorithm
Compact Genetic Algorithm                       Bacterial Foraging Optimization Algorithm
Bayesian Optimization Algorithm
Cross-Entropy Method                            Immune Algorithms
                                                Clonal Selection Algorithm
Evolutionary Algorithms                         Negative Selection Algorithm
Genetic Algorithm                               Artificial Immune Recognition System
Genetic Programming                             Immune Network Algorithm
Evolution Strategies                            Dendritic Cell Algorithm
Differential Evolution
Evolutionary Programming                        Neural Algorithms
Grammatical Evolution                           Perceptron
Gene Expression Programming                     Back-propagation
Learning Classifier System                      Hopfield Network
Non-dominated Sorting Genetic Algorithm         Learning Vector Quantization
Strength Pareto Evolutionary Algorithm          Self-Organizing Map


                               Source: cleveralgorithms.com
Biological Evolution:

  Natural Selection

Genetic Recombination
     & Mutation
How can we model this in
     a computer?
A very informal description:



1. Generate a population of random individuals

2. Kill off the worst individuals in the population      Selection Pressure

3. Let the good individuals mutate and recombine
   to replace the bad ones
                                                      Genetic
                                                      Recombination
4. Repeat until ending criteria met
A very informal example:



Evolving the color

BLUE
Red   Green   Blue

209   232     35

22    88      206

2     189     28

117   187     40

204   28      225

184   156     176

27    70      161

174   171     176
Red   Green   Blue

209   232     35

22    88      206

2     189     28

117   187     40

204   28      225

184   156     176

27    70      161

174   171     176
Red   Green   Blue

22    88      161

22    88      206

27    88      206

27    70      161

27    88      161

22    88      161

27    70      161

27    88      161
Red   Green   Blue

            22    88      161

MUTATE      2
            22    88      206    Adaption
 Red -20

            27    88      206

            27    70      161

            27    88      161

MUTATE      22    119
                  88      161    Deleterious
Green +31

            27    70      161

            27    88      161
Example:

DATA FITTING
Growth Rate




              Carrying Capacity
Starting Population Size
How can we rank them?

 Sum of the error squared
Free R
      Code
Hartvigsen’s Outbox
filesOutBoxBiologyhartvigShared Learning in Science



My Website
http://herbsusmann.com
DEMONSTRATION
Final Note:

There are much better
 algorithms to do this.
MY RESEARCH
Evolve Mathematical Disease Models to fit Data
Susceptible


 Infectious


Recovered
Can we go the other direction?
Cultural Algorithm                              Swarm Algorithms
Memetic Algorithm                               Particle Swarm Optimization
Probabilistic Algorithms                        Ant System
Population-Based Incremental Learning           Ant Colony System
Univariate Marginal Distribution Algorithm      Bees Algorithm
Compact Genetic Algorithm                       Bacterial Foraging Optimization Algorithm
Bayesian Optimization Algorithm
Cross-Entropy Method                            Immune Algorithms
                                                Clonal Selection Algorithm
Evolutionary Algorithms                         Negative Selection Algorithm
Genetic Algorithm                               Artificial Immune Recognition System
Genetic Programming                             Immune Network Algorithm
Evolution Strategies                            Dendritic Cell Algorithm
Differential Evolution
Evolutionary Programming                        Neural Algorithms
Grammatical Evolution                           Perceptron
Gene Expression Programming                     Back-propagation
Learning Classifier System                      Hopfield Network
Non-dominated Sorting Genetic Algorithm         Learning Vector Quantization
Strength Pareto Evolutionary Algorithm          Self-Organizing Map


                               Source: cleveralgorithms.com
Initial results:

  Does well if given
the parameter values.
Next Step:

Embed a differential genetic algorithm
   to evolve parameter values.
This is an open question,
    I want your ideas!
I want to collaborate with you!
Special Thanks to:

    Dr. Gregg Hartvigsen

The Distributed Systems Lab
   & Prof. Homma Farian

The open source community!
Questions?

Introduction to Evolutionary Algorithms

  • 1.
    Can we stealthe techniques used in nature to solve problems?
  • 2.
    Introduction to Evolutionary Algorithms (and open questions) Herb Susmann Computer Science ‘14 Advisor: Dr. Gregg Hartvigsen
  • 3.
    In Three Parts: Introduction Examples My Research
  • 4.
    WHAT IS AGENETIC ALGORITHM?
  • 5.
    A genetic algorithmis a biologically inspired optimization algorithm.
  • 6.
    Cultural Algorithm Swarm Algorithms Memetic Algorithm Particle Swarm Optimization Probabilistic Algorithms Ant System Population-Based Incremental Learning Ant Colony System Univariate Marginal Distribution Algorithm Bees Algorithm Compact Genetic Algorithm Bacterial Foraging Optimization Algorithm Bayesian Optimization Algorithm Cross-Entropy Method Immune Algorithms Clonal Selection Algorithm Evolutionary Algorithms Negative Selection Algorithm Genetic Algorithm Artificial Immune Recognition System Genetic Programming Immune Network Algorithm Evolution Strategies Dendritic Cell Algorithm Differential Evolution Evolutionary Programming Neural Algorithms Grammatical Evolution Perceptron Gene Expression Programming Back-propagation Learning Classifier System Hopfield Network Non-dominated Sorting Genetic Algorithm Learning Vector Quantization Strength Pareto Evolutionary Algorithm Self-Organizing Map Source: cleveralgorithms.com
  • 7.
    Biological Evolution: Natural Selection Genetic Recombination & Mutation
  • 8.
    How can wemodel this in a computer?
  • 9.
    A very informaldescription: 1. Generate a population of random individuals 2. Kill off the worst individuals in the population Selection Pressure 3. Let the good individuals mutate and recombine to replace the bad ones Genetic Recombination 4. Repeat until ending criteria met
  • 10.
    A very informalexample: Evolving the color BLUE
  • 11.
    Red Green Blue 209 232 35 22 88 206 2 189 28 117 187 40 204 28 225 184 156 176 27 70 161 174 171 176
  • 12.
    Red Green Blue 209 232 35 22 88 206 2 189 28 117 187 40 204 28 225 184 156 176 27 70 161 174 171 176
  • 13.
    Red Green Blue 22 88 161 22 88 206 27 88 206 27 70 161 27 88 161 22 88 161 27 70 161 27 88 161
  • 14.
    Red Green Blue 22 88 161 MUTATE 2 22 88 206 Adaption Red -20 27 88 206 27 70 161 27 88 161 MUTATE 22 119 88 161 Deleterious Green +31 27 70 161 27 88 161
  • 15.
  • 17.
    Growth Rate Carrying Capacity
  • 18.
  • 23.
    How can werank them? Sum of the error squared
  • 25.
    Free R Code Hartvigsen’s Outbox filesOutBoxBiologyhartvigShared Learning in Science My Website http://herbsusmann.com
  • 26.
  • 39.
    Final Note: There aremuch better algorithms to do this.
  • 40.
  • 41.
    Evolve Mathematical DiseaseModels to fit Data
  • 42.
  • 44.
    Can we gothe other direction?
  • 45.
    Cultural Algorithm Swarm Algorithms Memetic Algorithm Particle Swarm Optimization Probabilistic Algorithms Ant System Population-Based Incremental Learning Ant Colony System Univariate Marginal Distribution Algorithm Bees Algorithm Compact Genetic Algorithm Bacterial Foraging Optimization Algorithm Bayesian Optimization Algorithm Cross-Entropy Method Immune Algorithms Clonal Selection Algorithm Evolutionary Algorithms Negative Selection Algorithm Genetic Algorithm Artificial Immune Recognition System Genetic Programming Immune Network Algorithm Evolution Strategies Dendritic Cell Algorithm Differential Evolution Evolutionary Programming Neural Algorithms Grammatical Evolution Perceptron Gene Expression Programming Back-propagation Learning Classifier System Hopfield Network Non-dominated Sorting Genetic Algorithm Learning Vector Quantization Strength Pareto Evolutionary Algorithm Self-Organizing Map Source: cleveralgorithms.com
  • 47.
    Initial results: Does well if given the parameter values.
  • 48.
    Next Step: Embed adifferential genetic algorithm to evolve parameter values.
  • 49.
    This is anopen question, I want your ideas!
  • 50.
    I want tocollaborate with you!
  • 51.
    Special Thanks to: Dr. Gregg Hartvigsen The Distributed Systems Lab & Prof. Homma Farian The open source community!
  • 52.

Editor's Notes

  • #2 Problems in Nature:Humans: how to recognize foreign diseases and target them (immune system)Humans: What proteins to use to get the most energy out of our foodHumans: How to capture and transport blood with maximum efficiencyAnts: How to organize their coloniesHow have solutions developed to these problems?EVOLUTION.Perfection isn’t the point. Human problems:How to recognize computer viruses and destroy themHow should we allocate energy usage in a data centerUPS: How to layout delivery routesCan we harness the power of evolution to solve our problems?
  • #8 First, we need to understand how biological evolution works at a very high level.Natural selection: only the best individuals are allowed to survive.Genes can be passed down from generation to generationRandom mutations allow for novel adaptions
  • #11 A really simple example: let’s try to evolve the color blue from a population of totally random colors.
  • #12 First, we generate a population of 8 totally random colors. As you can see, most of these are not blue, but some of them just happen to be close to blue.
  • #13 Let’s kill off all the individuals who don’t pass the blue test.
  • #14 Now we only have two individuals left. Since they survived, they get to recombine with each other in order to form then next generation.
  • #15 Now there might be a small chance of random mutation.The first mutation is positive – the individual becomes more blue as a result.The second mutation is negative – it moves farther away from our goal.I’m going to stop here, but if we wanted to continue we would just repeat the process over and over again either until we get a perfectly blue sphere.
  • #16 Now, a more complicated example.
  • #17 Say you’re a population biologist who has some data for the population growth of squirrels that were released onto an island.
  • #18 You want to fit a logistic growth model to the data.The logistic model has two parameters: growth rate and carrying capacity.
  • #19 Solved, we have another parameter: the Starting Population size.
  • #20 So it looks like we’re going to have to fit three parameters: the starting population size, the growth rate, and the carrying capacity.
  • #21 But wait, clearly we already know the starting population size, that’s just the number of squirrels that started on the island.
  • #22 So we know the starting population size, so we only need to find values for r and K. So that makes our job a lot easier.
  • #23 Let’s design a genetic algorithm to solve this problem for us.We need to ask ourselves a few key questions. We know that a genetic algorithm works on a population of individuals. What is an individual in this case?Well, an individual is just a possible fit equation, which can be thought of as just a possible growth rate and a possible carrying capacity.
  • #24 Second, we need to figure out a way to rank the individuals relative to each other so that when they are struggling for survival we know which ones to kill.We’ll just use the sum of the error squared, which is standard for such data fitting problems.
  • #25 Finally, we need to design some genetic operators. That is, the details of how genes are passed on to the next generation.We’ll let two individuals recombine by just averaging their growth rate and carrying capacity values. So any offspring will just be the mean of its parents. This is somewhat similar to if you cross a red flower with a white flower and get back a pink flower. Real biological genetics is of course a lot more complicated, but we’re just implementing a really simple model.Also, we’ll let individuals mutate at some low rate. A mutation will just mean that one of the parameters gets bumped up or down by a small amount.
  • #26 At this point, I’m going to transition into a demonstration of a genetic algorithm I wrote in R to solve this problem.
  • #40 There are much better algorithms to fit data to a simple function like this of only two parameters. I used this as an example because it is easy to understand and visualize.The real strength of genetic algorithms comes in much more complicated problems of many more variables, which brings me to my reasearch!