Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @thi.ng/gp with all npm packages installed. Try it out:

var gp = require("@thi.ng/gp")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@thi.ng/gp v0.1.25

Genetic programming helpers & strategies (tree based & multi-expression programming)

gp

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

Genetic programming helpers & strategies (tree based & multi-expression programming).

This package does not (yet) provide a complete GP framework and is largely focused on the following operations:

  • General GP setup configuration
  • Genotype / chromosome / AST generation
  • Phenotype / chromosome translation
  • Offspring generation
    • Crossover (single-point, uniform)
    • Mutation

Does not specifically deal with:

  • Population management
  • AST evaluation
  • Fitness computation

References:

Status

ALPHA - bleeding edge / work-in-progress

Related packages

  • @thi.ng/defmulti - Dynamic, extensible multiple dispatch via user supplied dispatch function.
  • @thi.ng/pointfree - Pointfree functional composition / Forth style stack execution engine
  • @thi.ng/sexpr - Extensible S-Expression parser & runtime infrastructure
  • @thi.ng/shader-ast - DSL to define shader code in TypeScript and cross-compile to GLSL, JS and other targets
  • @thi.ng/zipper - Functional tree editing, manipulation & navigation

Blog posts

Installation

yarn add @thi.ng/gp
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/gp?module" crossorigin></script>

// UMD
<script src="https://unpkg.com/@thi.ng/gp/lib/index.umd.js" crossorigin></script>

Package sizes (gzipped, pre-treeshake): ESM: 1.25 KB / CJS: 1.29 KB / UMD: 1.40 KB

Dependencies

Usage examples

Several demos in this repo's /examples directory are using this package.

A selection:

ScreenshotDescriptionLive demoSource
Evolutionary shader generation using genetic programmingDemoSource

API

Generated API docs

TODO

Authors

Karsten Schmidt

License

© 2019 - 2020 Karsten Schmidt // Apache Software License 2.0

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free