Skip to main content

A framework for creating bio-inspired computational intelligence algorithms in Python

Project description

PyPi GitHub Actions Documentation Status PRs Issues

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

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

inspyred-1.0.3.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

inspyred-1.0.3-py2.py3-none-any.whl (74.6 kB view details)

Uploaded Python 2 Python 3

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

Hashes for inspyred-1.0.3.tar.gz
Algorithm Hash digest
SHA256 acc1215003a8937ef174f2719e8256bf21b4bb67a9aa7de495db6044f4055961
MD5 3196ca82bd5257f5edcfb0f46a62e01f
BLAKE2b-256 8e9dbc27d8a83c3b53c59437782f9f54834b08e332b2bce3d0b00e65543b62ee

See more details on using hashes here.

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

Hashes for inspyred-1.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 db0cadf0932be7e8b999f6a33ccb38903ccbca17230ce6c4cbb5d6435c920eb6
MD5 c8a05f7194f2f24ca17c22b6383e9e94
BLAKE2b-256 75b778dc5a789d5dfeacf668c5243c6c180433e2564bec5a1ed8343073d17200

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page