Genetic Network Programming with Fractal Expansion
Project description
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.
Connect
🔬 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
- 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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fracnetics-0.7.11.tar.gz.
File metadata
- Download URL: fracnetics-0.7.11.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71bfffd02b4ee4b715413c146a4b0ee42ae50446782e07054009c5c04ab9ea44
|
|
| MD5 |
017b4e46683479451bafb44bf65af7db
|
|
| BLAKE2b-256 |
a3519dcb5c8f2fae6b8d63f4313f8b55304943faddc24d1b26b21116e9f99e60
|
File details
Details for the file fracnetics-0.7.11-cp311-cp311-macosx_15_0_x86_64.whl.
File metadata
- Download URL: fracnetics-0.7.11-cp311-cp311-macosx_15_0_x86_64.whl
- Upload date:
- Size: 138.6 kB
- Tags: CPython 3.11, macOS 15.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4836a3b0f27e435ef05878663323b61263b55f8b3b04ef8508e083e1decdd15c
|
|
| MD5 |
ad48e552cfe9ad65833e8aabcaf856e7
|
|
| BLAKE2b-256 |
f9a6468992a0c11552a2edee21e79a89ccc9324fff8b3baacc729c8b4937c87c
|