Crate fractal_algebra

Crate fractal_algebra 

Source
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 geometric GraphEdges. It supports algebraic operations like addition and scalar multiplication.
  • Generator & Critic Traits: A flexible system for creating and evaluating FractalFields. Use EvolutionaryGenerator and CriticSuite 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 and bayes provide tools for probabilistic searches and simulations within an EntangledSystem.

§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 FractalFields.
critics
Defines a system for evaluating and scoring FractalField instances.
evolutionary
Defines a Generator that uses an evolutionary strategy to create new FractalField candidates.
field
Defines the FractalField struct, a collection of GraphEdges that represents a state in the simulation space.
filters
Defines a comprehensive filtering system for Fractal objects and SemanticUnits.
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 produces FractalFields with random properties.
signature
Defines FractalSignature, a condensed summary of a FractalField’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.