### Navigation

- index
- modules |
- next |
- Pyevolve 0.6 final documentation »

# Welcome to Pyevolve documentation !

“We can allow satellites, planets, suns, universe, nay whole systems of universe, to be governed by laws, but the smallest insect, we wish to be created at once by special act.“

- Charles R. Darwin, 1838

Pyevolve was developed to be a complete genetic algorithm framework written in pure python, but since the version 0.6, the framework also supports Genetic Programming, so in the near future, the framework will be more of an Evolutionary Computation framework than a simple GA framework.

See the changes in the What’s new ? section of this documentation.

This is the documentation for the release v.0.6 final.

See some plot screenshots on the Graph Types and Screenshots section.

You can download this manual also in other formats:

Pyevolve PDF Manual v.0.6 final (PDF)
  This is a PDF file version with this manual
Pyevolve CHM Manual v.0.6 final (CHM - Windows Help)
  This is the CHM (Windows Help) version of this manual

## Get Involved !

Join with us in Pyevolve mail-list.

Development information and bug reports are in the Trac, and please, feel free to create new tickets with criticisms or suggestions.

Visit the project blog site and leave your comment.

## Contents

- What’s new ?
- Introduction
  - Requirements
  - Downloads
    - Windows
    - Linux
    - Examples package
  - Installation
  - Genetic Algorithm Features
  - Genetic Programming Features
  - Genetic Algorithms Literature
    - Books
    - Sites
  - Genetic Programming Literature
    - Books
    - Sites
  - Glossary / Concepts
- Other platforms and performance
  - Running Pyevolve on Symbian OS (PyS60)
  - Running Pyevolve on Jython
  - Running Pyevolve on IronPython
  - Running Pyevolve on iPod/iPhone
  - Improving Pyevolve performance
- Get Started - Tutorial
  - First Example
    - Final source code
  - The Interactive Mode
    - Inspecting the population
    - The exposed modules and objects
  - Extending Pyevolve
    - Creating the representation
    - Creating the initializator
    - Creating the mutator
    - Creating the crossover
  - Genetic Programming Tutorial
    - Visualizing individuals
  - Snippets
    - Using two mutators at same time
    - Using one allele for all list (chromosome) elements (genes)
    - Changing the selection method
    - Repeating an evolution with a specific seed
    - Writing the evolution statistics to a CSV File
    - Use the HTTP Post to dump GA statistics
    - Using two or more `evaluation function`
    - Real-time statistics visualization
    - How to manually add non-terminal functions to Genetic Programming core
    - Passing extra parameters to the individual
    - Using ephemeral constants in Genetic Programming
- Modules
  - `pyevolve` – the main pyevolve namespace
  - General Modules
    - `Consts` – constants module
      - General constants
      - Selection methods constants (`Selectors`)
      - Scaling scheme constants (`Scaling`)
      - Population constants (`GPopulation.GPopulation`)
      - 1D Binary String Defaults (`G1DBinaryString.G1DBinaryString`)
      - 2D Binary String Defaults (`G2DBinaryString.G2DBinaryString`)
      - 1D List chromosome constants (`G1DList.G1DList`)
      - Tree chromosome constants (`GTree.GTree`)
      - 2D List chromosome constants (`G2DList.G2DList`)
      - GA Engine constants (`GSimpleGA.GSimpleGA`)
      - DB Adapters constants (`DBAdapters`)
      - Migration Constants (`Migration`)
    - `Util` – utility module
    - `Network` – network utility module
    - `Migration` – the migration schemes, distributed GA
    - `Interaction` – interaction module
    - `DBAdapters` – database adapters for statistics
    - `FunctionSlot` – function slots module
    - `Statistics` – statistical structure module
  - Genetic Algorithm Core Modules
    - `GSimpleGA` – the genetic algorithm by itself
      - Default Parameters
      - Class
    - `GPopulation` – the population module
      - Default Parameters
      - Class
  - Genetic Operators Modules
    - `Mutators` – mutation methods module
    - `Crossovers` – crossover methods module
    - `Initializators` – initialization methods module
    - `Selectors` – selection methods module
    - `Scaling` – scaling schemes module
  - Chromosomes/Representation Modules
    - `GenomeBase` – the genomes base module
    - `GAllele` – the genome alleles module
    - `G1DBinaryString` – the classical binary string chromosome
      - Default Parameters
      - Class
    - `G2DBinaryString` – the classical binary string chromosome
      - Default Parameters
      - Class
    - `G1DList` – the 1D list chromosome
      - Default Parameters
      - Class
    - `G2DList` – the 2D list chromosome
      - Default Parameters
      - Class
    - `GTree` and GTreeGP – the tree chromosomes
      - Default Parameters
      - Classes
- Graphical Analysis - Plots
  - Graphical Plotting Tool Options
  - Usage
  - Usage Examples
  - Graph Types and Screenshots
    - Error bars graph (raw scores) / “-1” option
    - Error bars graph (fitness scores) / “-2” option
    - Max/min/avg/std. dev. graph (raw scores) / “-3” option
    - Max/min/avg graph (fitness scores) / “-4” option
    - Min/max difference graph, raw and fitness scores / “-5” option
    - Compare best raw score of two or more evolutions / “-6” option
    - Compare best fitness score of two or more evolutions / “-7” option
    - Heat map of population raw score distribution / “-8” option
    - Heat map of population fitness score distribution / “-9” option
- Examples
  - Example 1 - Simple example
  - Example 2 - Real numbers, Gaussian Mutator
  - Example 3 - Schaffer F6 deceptive function
  - Example 4 - Using Sigma truncation scaling
  - Example 5 - Step callback function
  - Example 6 - The DB Adapters
  - Example 7 - The Rastrigin function
  - Example 8 - The Gaussian Integer Mutator
  - Example 9 - The 2D List genome
  - Example 10 - The 1D Binary String
  - Example 11 - The use of alleles
  - Example 12 - The Travelling Salesman Problem (TSP)
  - Example 13 - The sphere function
  - Example 14 - The Ackley function
  - Example 15 - The Rosenbrock function
  - Example 16 - The 2D Binary String
  - Example 17 - The Tree genome example
  - Example 18 - The Genetic Programming example
  - Example 21 - The n-queens problem (64x64 chess board)
  - Example 22 - The Infinite Monkey Theorem
- F.A.Q.
- Contributors
- License
- Credits
- Contact the author
- Donate

## Index

- Index
- Module Index

This documentation was updated on July 07, 2015.

### Navigation

- index
- modules |
- next |
- Pyevolve 0.6 final documentation »