Skip to main content

Mass extinction class for evolutionary algorithms.

Project description

Mass Extinction in Evolutionary Algorithms
Author: Kaelan Engholdt
Version: 02/11/2020

A biologically inspired mass extinction class for use in evolutionary algorithms. Contains adjustable parameters for extinction events and methods of repopulation. This package is designed to be integrated into an evolutionary algorithm. Due to the problem-specific nature of evolutionary algorithms, minor parts of this package must be finished by the user.

If used and tuned correctly, extinction can be a powerful tool in evolutionary algorithms. This simple package attempts to provide a basis upon which users can integrate extinction events into their evolutionary algorithms, maintain population diversity, improve the overall fitness of their population, and attempt to overcome sub-optimal peaks within the search space of their particular problem.

Includes support for integration with evolutionary algorithms that make use of the Distributed Evolutionary Algorithms in Python (DEAP) library, which is a framework for writing evolutionary algorithms. This package is not affiliated with DEAP, but offers support for evolutionary algorithms using that library.


Compatibility
----------
The package is OS independent, and can be run on either Python 2 or Python 3.


Requirements
----------
Requirements:
- A population based evolutionary algorithm.
- The parent population must be sorted by fitness and stored in a list.
- Following and completing all TODO comments.


Contents
----------
The package consists of the following files:
- mass_extinction.py: Contains the main Extinction class.
- ext_params.py: Contains all of the adjustable parameters for the Extinction class.
- ext_types.py: Contains numerous extinction parameter sets for testing.


Design
----------
This package has been specifically designed to be integrated and interlaced with an evolutionary algorithm. Due to the problem-specific nature of evolutionary algorithms, some of this package must be finished by the user.

This package features the following:

A multitude of completely adjustable parameters that affect how both extinction and repopulation operate.
Two methods of extinction:
- Instant Extinction
- Gradual Extinction
Three types of extinction that can be used separately or in conjunction with one another:
- Interval Extinction
- Probabilistic Extinction
- Fitness Extinction
Two methods of repopulation:
- Instant Repopulation
- Gradual Repopulation
Three types of repopulation that can be used separately or in conjunction with one another:
- Repopulation using elite members.
- Repopulation using surviving members.
- Repopulation using random members.
Testing of up to 324 parameter sets generated from permutations of user-defined parameters.
All parameters can be saved and later called upon to revert back to a previous version of extinction/repopulation.

Further information can be found in the README.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mass-extinction, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size mass_extinction-0.4.0.tar.gz (43.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page