Expand description
§Fractal Algebra & Generative Systems
fractal_algebra
is a Rust library for exploring generative art and complex systems
through the lens of algebraic structures and quantum-inspired concepts.
The core idea is to represent complex patterns as FractalField
objects, which
behave like elements in a vector space. These fields can be generated, mutated,
and evaluated through an evolutionary process managed by the GeneratorCriticLoop
.
This library integrates My original research concept of a FractalGraph
enriched
with quantum-inspired amplitudes, making it the foundational data structure for
advanced simulations within an EntangledSystem
.
§Key Components
FractalField
: The central data structure, representing a collection of geometricGraphEdge
s. It supports algebraic operations like addition and scalar multiplication.Generator
&Critic
Traits: A flexible system for creating and evaluatingFractalField
s. UseEvolutionaryGenerator
andCriticSuite
for a standard setup.GeneratorCriticLoop
: An engine that drives the evolutionary process, iteratively finding better fields based on critic scores.Resonance
Trait: An abstraction for measuring coherence, harmony, and other emergent properties of fractals and their transformations.FractalGraph
: A semantically-typed, directed graph that serves as the substrate for quantum-inspired computations and particle simulations.- AI & Bayesian Search: Modules like
ai
andbayes
provide tools for probabilistic searches and simulations within anEntangledSystem
.
§Example Usage
use fractal_algebra::{
GeneratorCriticLoop, EvolutionaryGenerator, MutationSuite, CriticSuite,
SymmetryCritic, EntropyCritic, FractalField
};
// 1. Set up a generator with mutation strategies.
let generator = EvolutionaryGenerator {
mutations: MutationSuite::new(), // Add strategies here
count: 10,
};
// 2. Set up critics to evaluate the fields.
let mut critics = CriticSuite::new();
critics.add_critic(SymmetryCritic, 0.7);
critics.add_critic(EntropyCritic, 0.3);
// 3. Create and run the evolutionary loop.
let loop_engine = GeneratorCriticLoop {
generator,
critic_suite: critics,
iterations: 100,
};
if let Some(best_field) = loop_engine.run() {
println!("Found a best field!");
// Further analysis on best_field...
}
Re-exports§
pub use constants::MODULUS;
pub use field::FractalField;
pub use fractaledge::FractalEdge;
pub use graphedge::GraphEdge;
pub use signature::FractalSignature;
pub use vec3::Vec3;
pub use graph::FractalGraph;
pub use graph::FractalGraphEdge;
pub use graph::EdgeType;
pub use graph::GraphError;
pub use graph::NodeId;
pub use criticloop::GeneratorCriticLoop;
pub use critics::CriticSuite;
pub use evolutionary::EvolutionaryGenerator;
pub use looprep::LoopReport;
pub use mutation::MutationSuite;
pub use rfg::RandomFieldGenerator;
pub use ai::EntangledSystem;
pub use ai::EntropyPulse;
pub use ai::FeedbackSignal;
pub use ai::ParticleResonance;
pub use ai::ProbabilisticSearch;
pub use bayes::FrequencyBeliefSpace;
pub use bayes::Gaussian;
pub use atom::FractalAtom;
pub use resonance::Resonance;
pub use resonance::ResonanceFilter;
pub use resonance::ResonanceLaw;
pub use resonance::ResonantTransform;
pub use resonance::TransformResonanceLaw;
pub use filters::FilterTrace;
pub use filters::LawFilter;
pub use filters::PredicateFilter;
pub use filters::ScoreFilter;
pub use traits::CollectionMember;
pub use traits::Critic;
pub use traits::EntropyCritic;
pub use traits::Fractal;
pub use traits::FractalClone;
pub use traits::FractalCollection;
pub use traits::Generator;
pub use traits::HasSignature;
pub use traits::IFS;
pub use traits::Mandelbrot;
pub use traits::MutationStrategy;
pub use traits::Operation;
pub use traits::SymmetryCritic;
pub use time::Evolvable;
pub use time::FractalSpacetime;
pub use time::SpacetimeCoordinate;
pub use laws::test_associativity;
pub use laws::test_distributivity;
pub use testkit::canonical_test_fractal;
Modules§
- ai
- Defines the core traits and data structures for the quantum-inspired AI system.
- atom
- Defines the
FractalAtom
, a fundamental building block representing a value with semantic context. - bayes
- Implements a probabilistic search strategy using a Bayesian-like update rule.
- constants
- Defines global constants used throughout the application.
- criticloop
- Provides a generator-critic evolutionary loop for finding optimal
FractalField
s. - critics
- Defines a system for evaluating and scoring
FractalField
instances. - evolutionary
- Defines a
Generator
that uses an evolutionary strategy to create newFractalField
candidates. - field
- Defines the
FractalField
struct, a collection ofGraphEdge
s that represents a state in the simulation space. - filters
- Defines a comprehensive filtering system for
Fractal
objects andSemanticUnit
s. - fractaledge
- Defines
FractalEdge
, an abstract representation of a connection or interaction. - graph
- A semantically-typed, directed graph optimized for modification and traversal.
- graphedge
- Defines
GraphEdge
, a struct representing a directed edge in a geometric space. - laws
- Defines functions for testing the algebraic laws of
FractalField
. - looprep
- Defines the
LoopReport
struct for storing results from an evolutionary run. - mutation
- Defines a system for applying weighted, stochastic mutations to a
FractalField
. - resonance
- Defines the core concepts of Resonance for the Fractal Algebra library.
- rfg
- Defines a
Generator
that producesFractalField
s with random properties. - signature
- Defines
FractalSignature
, a condensed summary of aFractalField
’s properties. - stochastic
- Defines a
MutationStrategy
that applies stochastic jitter to amplitude and phase. - testkit
- Provides shared utilities and data fixtures for use in tests.
- tests
- Contains unit tests and algebraic law verification functions.
- time
- A conceptual model for a fractal spacetime that can evolve through different states.
- traits
- Defines the core traits and architectural patterns for the library.
- vec3
- Defines a simple 3D vector struct (
Vec3
) and its associated mathematical operations.
Macros§
- test_
vector_ space_ axioms - A macro to test that a
FractalField
satisfies basic vector space axioms.