Coevolution Coevolution - CSE659: Computational Intelligence

5/5/2011
Coevolution
Coevolution
Coevolution is “the change of a biological object triggered by the change of a
related object”.
Consider a certain species of plant living in an environment containing insects that
eat the plant. The survival “game” consists of two parts:
–
–
to survive, the plant needs to evolve mechanisms to defend itself from the insects,
the insects need the plant as food source to survive.
Both the plant and the insects evolve in complexity to obtain characteristics that will
enable them to survive.
For example, the plant may evolve a tough exterior, but then the insects evolve stronger jaws. Next the
plant may evolve a poison to kill the insects. Next generations of the insect evolve an enzyme to digest
the poison.
The effect of this coevolutionary process is that, with each generation, both the plant and the
insects become better at their defensive and offensive roles. In the next generation, each species
change in response to the actions of the other species during the previous generation.
1
5/5/2011
Coevolution
• Coevolution is a process in which initially “dumb” individuals
evolve through cooperation, or in competition with one
another, acquiring the necessary characteristics to survive.
• Coevolution is more of an idea than any specific technique.
Coevolution – More examples
Source: Wikipedia
•
•
•
•
•
•
•
•
Hummingbirds and ornithophilous flowers
Angraecoid orchids and African moths
Old world swallowtail and fringed rue
Garter snake and rough-skinned newt
California buckeye and pollinators
Acacia ant and bullhorn acacia tree
Yucca Moth and the yucca plant
Mitochondria in eukaryote cells
•
In astronomy, an emerging theory states that black holes and galaxies develop
in an interdependent way analogous to biological coevolution.
•
Computer software and hardware can be considered as two separate
components but tied intrinsically by coevolution. Similarly, operating systems
and computer applications, web browsers and web applications.
2
5/5/2011
Evolution vs Coevolution
•
In standard EAs, evolution is usually viewed as if the population attempts
to adapt in a fixed physical environment. In contrast, coevolutionary (CoE)
algorithms (CoEA) realize that in natural evolution the physical
environment is influenced by other independently-acting biological
populations.
•
Another difference between standard EAs and CoEAs is that EAs define the
meaning of optimality through an absolute fitness function. This fitness
function then drives the evolutionary process. On the other hand, CoEAs
do not define optimality using a fitness function, but attempt to evolve an
optimal species where optimality is defined as defeating opponents
Evolution and Coevolution
Fitness
Fitness
Fitness
Population 2
Population 1
Population
Fitness
Evaluation
Selection
Crossover
Mutation
Next
Generation
Problem
Domain
Model
Fitness
Evaluation
Fitness
Evaluation
Selection
Crossover
Problem
Domain
Model
Mutation
Next
Generation
3
5/5/2011
Coevolution – CI Perspective
•
Coevolution is a term within the field of computational Intelligence that
refers to evolving two or more interdependent sets of data. For example, if
you are evolving a chess player, you would evolve both a white player and
a black player together. So that each subsequent generation would
(theoretically) be playing a more advanced opponent, forcing the GA to
continuously evolve better players.
– Competitive Coevolution
– Cooperative Coevolution
Competitive Coevolution
•
In competitive coevolution, individual fitness is evaluated through
competition with other individuals in the population, rather than through
an absolute fitness measure.
•
A win for the one species means a failure for the other. To survive, the
“losing” species adapts to counter the “winning” species in order to
become the new winner.
A CCE algorithm usually evolves two populations simultaneously.
•
•
It can be used to evolve interactive behaviors that are difficult to evolve in
terms of an absolute fitness function. For example, evolved simulated 3D
creatures that attempted to capture a ball before an opponent did,
resulting in a variety of effective interactive strategies.
4
5/5/2011
Algorithm
Cooperative Coevolution
•
Cooperative Coevolution (CC) is an emerging field in evolutionary
computation which divides a larger problem into smaller subcomponents
and solves those subcomponents independently in order to solve the
larger problem. The subcomponents are also called species. The
subcomponents are implemented as subpopulations and the only
interaction between subpopulations is in the cooperative evaluation of
each individual of the subpopulations.
•
In this case a success in one species improves the survival strength of the
other species. Symbiotic coevolution is thus achieved through a positive
fitness feedback among the species that take part in this cooperating
process.
•
Here, the fitness of an individual depends on that individual’s ability to
collaborate with individuals from other species.
5
5/5/2011
Coevolution - Fitness
Two important factors in coevolution are:
– Fitness Sampling
What individuals of the competing population are used
– Relative Fitness Evaluation
exactly how these competing individuals are used to compute the
relative fitness.
Fitness Sampling
The relative fitness of individuals is evaluated against a sample of individuals from the competing
population. The following sampling schemes have been developed:
• All versus all sampling, where each individual is tested against all the individuals of the other
population.
• Random sampling, where the fitness of each individual is tested against a randomly selected
group (consisting of one or more) individuals from the other population. The random sampling
approach is computationally less complex than all versus all sampling.
• Tournament sampling, which uses relative fitness measures to select the best opponent
individual.
• All versus best sampling, where all the individuals are tested against the fittest individual of the
other population.
• Shared sampling, where the sample is selected as those opponent individuals with maximum
competitive shared fitness. Shared sampling tends to select opponents that beat a large number of
individuals from the competing population.
6
5/5/2011
Relative Fitness Evaluation
The following approaches can be followed to measure the relative fitness of each
individual in a population. Assume that the two populations C1 and C2 coevolve,
and the aim is to calculate the relative fitness of each individual C1.xi of population
C1.
Simple fitness: A sample of individuals is taken from population C2, and the
number of individuals in population C2 for which C1.xi is the winner, is counted.
The relative fitness of C1.xi is simply the sum of successes for C1.xi.
Fitness sharing : A sharing function is defined to take into consideration similarity
among the individuals of population C1. The simple fitness of an individual is
divided by the sum of its similarities with all the other individuals in that
population. Similarity can be defined as the number of individuals that also beats
the individuals from the population C2 sample. The consequence of the fitness
sharing function is that unusual individuals are rewarded.
Relative Fitness Evaluation
• Competitive fitness sharing : In this case the fitness of
individual C1.xi is defined as f(C1.xi) = C2.ns l=1 where C2.x1,
・ ・ ・ , C2.xC2.ns form the population C2 sample, and C1.nl
is the total number of individuals in population C1 that defeat
individual C2.xl. The competitive fitness sharing method
rewards those population C1 individuals that beat population
C2 individuals, which few other population C1 individuals
could beat. It is therefore not necessarily the case that the
best population C1 individual beats the most population C2
individuals.
7
5/5/2011
Competitive Coevolution Learning game strategies
• The coevolutionary game learning model trains neural networks in
a coevolutionary fashion to approximate the evaluation function of
leaf nodes in a game tree.
• The objective is to evolve game-playing agents from zero
knowledge about playing strategies. The training process is not
supervised. No target evaluation of board states is provided. The
lack of desired outputs for the NN necessitates a coevolutionary
training mechanism, where a NN competes against a sample of NNs
in game tournaments.
• After each NN has played a number of games against each of its
opponents, it is assigned a score based on the number of wins,
losses and draws. These scores are then used as the relative fitness
measure.
Competitive Optimization
Function Optimization
•
Potter and De Jong, applied this approach to function optimization. For an
nx-dimensional problem, nx subpopulations are used – one for each
dimension of the problem. Each subpopulation is therefore responsible for
optimizing one of the parameters of the problem, and no subpopulation
can form a complete solution by itself. Collaboration is achieved by
merging a representative from each subpopulation.
•
The effectiveness of this collaboration is estimated as follows: Considering
the j-th subpopulation, Cj , then each individual, Cj .xi, of Cj performs a
single collaboration with the best individual from each of the other
subpopulations by merging these best components with Cj .xi to form a
complete solution. The credit assigned to Cj .xi is simply the fitness of the
complete solution.
8
5/5/2011
Thanks
9