Name : perl-AI-Genetic
| |
Version : 0.05
| Vendor : obs://build_opensuse_org/devel:languages:perl
|
Release : lp154.8.1
| Date : 2023-01-27 16:06:59
|
Group : Development/Libraries/Perl
| Source RPM : perl-AI-Genetic-0.05-lp154.8.1.src.rpm
|
Size : 0.08 MB
| |
Packager : https://www_suse_com/
| |
Summary : Pure Perl Genetic Algorithm Implementation
|
Description :
This module implements a Genetic Algorithm (GA) in pure Perl. Other Perl modules that achieve the same thing (perhaps better, perhaps worse) do exist. Please check CPAN. I mainly wrote this module to satisfy my own needs, and to learn something about GAs along the way.
*PLEASE NOTE:* As of v0.02, AI::Genetic has been re-written from scratch to be more modular and expandable. To achieve this, I had to modify the API, so it is not backward-compatible with v0.01. As a result, I do not plan on supporting v0.01.
I will not go into the details of GAs here, but here are the bare basics. Plenty of information can be found on the web.
In a GA, a population of individuals compete for survival. Each individual is designated by a set of genes that define its behaviour. Individuals that perform better (as defined by the fitness function) have a higher chance of mating with other individuals. When two individuals mate, they swap some of their genes, resulting in an individual that has properties from both of its \"parents\". Every now and then, a mutation occurs where some gene randomly changes value, resulting in a different individual. If all is well defined, after a few generations, the population should converge on a \"good-enough\" solution to the problem being tackled.
A GA implementation runs for a discrete number of time steps called _generations_. What happens during each generation can vary greatly depending on the strategy being used (See \"STRATEGIES\" for more info). Typically, a variation of the following happens at each generation:
* *1. Selection*
Here the performance of all the individuals is evaluated based on the fitness function, and each is given a specific fitness value. The higher the value, the bigger the chance of an individual passing its genes on in future generations through mating (crossover).
* *2. Crossover*
Here, individuals selected are randomly paired up for crossover (aka _sexual reproduction_). This is further controlled by the crossover rate specified and may result in a new offspring individual that contains genes common to both parents. New individuals are injected into the current population.
* *3. Mutation*
In this step, each individual is given the chance to mutate based on the mutation probability specified. If an individual is to mutate, each of its genes is given the chance to randomly switch its value to some other state.
|
RPM found in directory: /packages/linux-pbone/ftp5.gwdg.de/pub/opensuse/repositories/devel:/languages:/perl:/CPAN-A/15.4/noarch |