A framework for creating bio-inspired computational intelligence algorithms in Python
Project description
inspyred is a free, open source framework for creating biologically-inspired computational intelligence algorithms in Python, including evolutionary computation, swarm intelligence, and immunocomputing. Additionally, inspyred provides easy-to-use canonical versions of many bio-inspired algorithms for users who do not need much customization.
Example
The following example illustrates the basics of the inspyred package. In this example, candidate solutions are 10-bit binary strings whose decimal values should be maximized:
import random import time import inspyred def generate_binary(random, args): bits = args.get('num_bits', 8) return [random.choice([0, 1]) for i in range(bits)] @inspyred.ec.evaluators.evaluator def evaluate_binary(candidate, args): return int("".join([str(c) for c in candidate]), 2) rand = random.Random() rand.seed(int(time.time())) ga = inspyred.ec.GA(rand) ga.observer = inspyred.ec.observers.stats_observer ga.terminator = inspyred.ec.terminators.evaluation_termination final_pop = ga.evolve(evaluator=evaluate_binary, generator=generate_binary, max_evaluations=1000, num_elites=1, pop_size=100, num_bits=10) final_pop.sort(reverse=True) for ind in final_pop: print(str(ind))
Requirements
Requires Python 3+.
Numpy and Matplotlib are required for several functions in ec.observers.
Matplotlib is required for several functions in ec.analysis.
Parallel Python (ppft) is required if ec.evaluators.parallel_evaluation_pp is used.
You can use the all extra to install inspyred with all the extra dependencies:
pip install inspyred[all]
License
This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.
Resources
Homepage: http://aarongarrett.github.io/inspyred
Documentation: https://inspyred.readthedocs.io.
Citing
Garrett, A. (2012). inspyred (Version 1.0.1) [software]. Inspired Intelligence. Retrieved from https://github.com/aarongarrett/inspyred [accessed CURRENT DATE].
Features
TODO
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file inspyred-1.0.3.tar.gz
.
File metadata
- Download URL: inspyred-1.0.3.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | acc1215003a8937ef174f2719e8256bf21b4bb67a9aa7de495db6044f4055961 |
|
MD5 | 3196ca82bd5257f5edcfb0f46a62e01f |
|
BLAKE2b-256 | 8e9dbc27d8a83c3b53c59437782f9f54834b08e332b2bce3d0b00e65543b62ee |
File details
Details for the file inspyred-1.0.3-py2.py3-none-any.whl
.
File metadata
- Download URL: inspyred-1.0.3-py2.py3-none-any.whl
- Upload date:
- Size: 74.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db0cadf0932be7e8b999f6a33ccb38903ccbca17230ce6c4cbb5d6435c920eb6 |
|
MD5 | c8a05f7194f2f24ca17c22b6383e9e94 |
|
BLAKE2b-256 | 75b778dc5a789d5dfeacf668c5243c6c180433e2564bec5a1ed8343073d17200 |