Fracnetics
Fracnetics is a high-performance C++ library with Python bindings for Genetic Network Programming (GNP) — an evolutionary approach that evolves directed graph structures for decision-making and control tasks.
Bridging evolution, networks, and fractals into one framework.
🔬 Overview
Fracnetics extends Genetic Network Programming (GNP) with variable-size networks and fractal geometry, designed to model adaptive, recursive, and self-similar network structures inspired by biological evolution and natural growth patterns.
It is designed for researchers and developers exploring:
- Evolutionary network design
- Obtain fully interpretable networks
- Training agents in dynamic environments
- Directed multigraph network architecture
- variable-size networks based on Fabian Köhnke and Christian Borgelt, 2025
- Complex systems with self-similar topology
🚀 Installation
pip install fracnetics
📓 Colab Tutorials
Small Tutorials Using Fracnetics
This notebooks demonstrate how to use the Fracnetics library to solve the CartPole environment problem from Gymnasium (a fork of OpenAI Gym) and the simple Irisdata classification.
🦾 Features
-
Population Management
- Create and manage a full population of
Networkindividuals. - Graph-Based Evolution: Networks evolve as directed graphs with judgment nodes (conditional decisions) and processing nodes (actions), enabling node reuse and cyclic execution paths
- Create and manage a full population of
-
Fitness Evaluation
- Built-in support for OpenAI Gymnasium environments
- Traverse a network path via
callTraversePathand calculate any own fitness/ target function
-
Selection & Elitism: Tournament selection with configurable size.
-
Mutation Operators
- Edge mutation (altering connections between nodes).
- Boundary mutations (multiple variants):
- Uniform
- Normally distributed
- Network-size dependent sigma scaling
- Edge-count dependent sigma scaling
- Fractal-based mutation
-
Crossover: Node exchange between individuals.
-
Innovative Opreators
- Add/Delete Nodes – dynamic structural changes in networks.
- Fractal Geometry Integration – hierarchical boundary generation via production rules (L-systems-style subdivision).
Metadata
Release files for fracnetics 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fracnetics-2.0.0.tar.gz | 2.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fracnetics-2.0.0-cp311-cp311-macosx_26_0_x86_64.whl | CPython 3.11 | CPython 3.11 | macOS 26.0+ x86-64 | Details |
Total release size: 2.5 MB
Release files / fracnetics-2.0.0.tar.gz
| Download URL | fracnetics-2.0.0.tar.gz |
|---|---|
| Size | 2.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07c79eb1d8874d88f42e7558910c69978198914d831001e31a8fbba6e7b1eabd
|
|
BLAKE2b-256 checksum How to use checksums |
7a78879ba394cea48ac40b421f8664eaa347517fcd25ad4c4e1e1f3877aaa2a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|
Release files / fracnetics-2.0.0-cp311-cp311-macosx_26_0_x86_64.whl
| Download URL | fracnetics-2.0.0-cp311-cp311-macosx_26_0_x86_64.whl |
|---|---|
| Size | 271.1 kB |
| Tags | CPython 3.11 macOS 26.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
f2c1ba82222691ccdbf8cdbe1ba2416cdc2f14d80370a36845c5f9e50626333a
|
|
BLAKE2b-256 checksum How to use checksums |
7fae75702551ed0a34bac02f8329e8711126232fe25cdcc4ecc565334ebe4f73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|