Skip to main content

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 at least Python 2.6+ or 3+.

  • Numpy and Pylab are required for several functions in ec.observers.

  • Pylab and Matplotlib are required for several functions in ec.analysis.

  • Parallel Python (pp) is required if ec.evaluators.parallel_evaluation_pp is used.

License

This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.

Resources

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.1.tar.gz (58.6 kB view details)

Uploaded Source

Built Distribution

inspyred-1.0.1-py2.py3-none-any.whl (88.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file inspyred-1.0.1.tar.gz.

File metadata

  • Download URL: inspyred-1.0.1.tar.gz
  • Upload date:
  • Size: 58.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for inspyred-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ad472d9256aac445d6b5e2fb412118d76b25732bdbceec84fe6f16c343916957
MD5 ce51b599f5682ec526c97412f3ebaf45
BLAKE2b-256 5ef33d5f05b3be6336691277bcf088197caca789d0cf02c4a7fb2c3f21b021ab

See more details on using hashes here.

File details

Details for the file inspyred-1.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for inspyred-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 da1c9d1f4e68338b961948bbba70f805d9f102c082eabf74cbed831da7f9e5da
MD5 2706dbd3a26bd0bf6028b81884c83d80
BLAKE2b-256 ec8395dc9cc74d802e52b6f33d43de791dcfb376b187269757cf3c945ac7e0bb

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