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 don't need much customization.
This fork adds support for cellular EAs to Inspyred.
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))
- 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.
This package is distributed under the GNU General Public License version 3.0 (GPLv3). This license can be found online at http://www.opensource.org/licenses/gpl-3.0.html.
- Homepage: http://inspyred.github.com
- Email: aaron.lee.garrett@gmail.com