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 geometricGraphEdges. It supports algebraic operations like addition and scalar multiplication.Generator&CriticTraits: A flexible system for creating and evaluatingFractalFields. UseEvolutionaryGeneratorandCriticSuitefor a standard setup.GeneratorCriticLoop: An engine that drives the evolutionary process, iteratively finding better fields based on critic scores.ResonanceTrait: 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
aiandbayesprovide 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
FractalFields. - critics
- Defines a system for evaluating and scoring
FractalFieldinstances. - evolutionary
- Defines a
Generatorthat uses an evolutionary strategy to create newFractalFieldcandidates. - field
- Defines the
FractalFieldstruct, a collection ofGraphEdges that represents a state in the simulation space. - filters
- Defines a comprehensive filtering system for
Fractalobjects andSemanticUnits. - 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
LoopReportstruct 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
Generatorthat producesFractalFields with random properties. - signature
- Defines
FractalSignature, a condensed summary of aFractalField’s properties. - stochastic
- Defines a
MutationStrategythat 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
FractalFieldsatisfies basic vector space axioms.