Evolvability (computer science)

The term evolvability is used for a recent framework of computational learning introduced by Leslie Valiant in his paper of the same name and described below. The aim of this theory is to model biological evolution and categorize which types of mechanisms are evolvable. Evolution is an extension of PAC learning and learning from statistical queries.

General Framework

Let and be collections of functions on variables. Given an ideal function , the goal is to find by local search a representation that closely approximates . This closeness is measured by the performance of with respect to .

As is the case in the biological world, there is a difference between genotype and phenotype. In general, there can be multiple representations (genotypes) that correspond to the same function (phenotype). That is, for some , with , still for all . However, this need not be the case. The goal then, is to find a representation that closely matches the phenotype of the ideal function, and the spirit of the local search is to allow only small changes in the genotype. Let the neighborhood of a representation be the set of possible mutations of .

For simplicity, consider Boolean functions on , and let be a probability distribution on . Define the performance in terms of this. Specifically,

Note that In general, for non-Boolean functions, the performance will not correspond directly to the probability that the functions agree, although it will have some relationship.

Throughout an organism's life, it will only experience a limited number of environments, so its performance cannot be determined exactly. The empirical performance is defined by where is a multiset of independent selections from according to . If is large enough, evidently will be close to the actual performance .

Given an ideal function , initial representation , sample size , and tolerance , the mutator is a random variable defined as follows. Each is classified as beneficial, neutral, or deleterious, depending on its empirical performance. Specifically,

  • is a beneficial mutation if ;
  • is a neutral mutation if ;
  • is a deleterious mutation if .

If there are any beneficial mutations, then is equal to one of these at random. If there are no beneficial mutations, then is equal to a random neutral mutation. In light of the similarity to biology, itself is required to be available as a mutation, so there will always be at least one neutral mutation.

The intention of this definition is that at each stage of evolution, all possible mutations of the current genome are tested in the environment. Out of the ones who thrive, or at least survive, one is chosen to be the candidate for the next stage. Given , we define the sequence by . Thus is a random variable representing what has evolved to after generations.

Let be a class of functions, be a class of representations, and a class of distributions on . We say that is evolvable by over if there exists polynomials , , , and such that for all and all , for all ideal functions and representations , with probability at least ,

where the sizes of neighborhoods for are at most , the sample size is , the tolerance is , and the generation size is .

is evolvable over if it is evolvable by some over .

is evolvable if it is evolvable over all distributions .

Results

The class of conjunctions and the class of disjunctions are evolvable over the uniform distribution for short conjunctions and disjunctions, respectively.

The class of parity functions (which evaluate to the parity of the number of true literals in a given subset of literals) are not evolvable, even for the uniform distribution.

Evolvability implies PAC learnability.

gollark: There really is a Nobody, and these people are using it, but it is just a part of the system they use. Nobody is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Nobody is normally used in combination with the GNU operating system: the whole system is basically GNU with Nobody added, or GNU/Nobody. All the so-called "Nobody" distributions are really distributions of GNU/Nobody.
gollark: Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Nobody", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
gollark: I'd just like to interject for a moment. What you're referring to as Nobody, is in fact, GNU/Nobody, or as I've recently taken to calling it, GNU plus Nobody. Nobody is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
gollark: SCP. Three. One. Two. Five.
gollark: Again, it was *SCP-3125*, Nobody.

References

  1. Valiant, L. G. (2006), Evolvability, ECCC TR06-120.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.