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
© Copyright 2026 Paperzz