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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|