MyNixOS website logo
Description

Unified Simulation of Isomorphisms Between Ant Colony Intelligence and Machine Learning.

Implements the full suite of simulation, visualization, and analysis tools for exploring the mathematical isomorphisms between ant colony decision-making and three major paradigms of machine learning: random forests (Part I: variance reduction through decorrelation), boosting (Part II: bias reduction through adaptive recruitment), and neural networks (Part III: gradient-based generational learning). Accompanies the trilogy "Isomorphic Functionalities between Ant Colony and Ensemble Learning" (Fokoué, Babbitt, and Levental, 2026, <doi:10.48550/arXiv.2603.20328>, <doi:10.48550/arXiv.2604.00038>).

AntsNet

AntsNet is a comprehensive R package for exploring the mathematical isomorphisms between ant colony decision-making and machine learning. It unifies three previously separate packages into a single toolkit accompanying the research trilogy:

PartarXivIsomorphism
I2603.20328Random Forests ≅ Ant Colonies (variance reduction via decorrelation)
II2604.00038Boosting ≅ Adaptive Recruitment (bias reduction via sequential reweighting)
III2604.09677Neural Networks ≅ Generational Colony Learning (gradient descent via pheromone evolution)

Installation

# From CRAN (when available)
install.packages("AntsNet")

# Development version from GitHub
remotes::install_github("ylevental/IsomorphismSim_Full")

Quick Start

Part I: Random Forest ≅ Ant Colony

library(AntsNet)

# Simulate an ant colony
sim <- simulate_ant_colony(n_ants = 50, p_explore = 0.3)
cat("Colony chose site", sim$decision, "\n")

# Run variance decomposition experiment
rf_results <- variance_decomposition_experiment(n_replicates = 20)
plot_variance_decomposition(rf_results)

# Direct isomorphism test
iso <- isomorphism_test(n_replicates = 20)
plot_correlation_decay(iso)

Part II: Boosting ≅ Adaptive Recruitment

# AdaBoost
data <- generate_classification_data(n = 200, p = 5, noise = 0.1)
boost_res <- adaboost(data$X, data$y, M = 50)

# Ant Colony Adaptive Recruitment
sq <- c(10, 8, 6, 4, 2)
acar_res <- acar(sq, n_ants = 30, n_waves = 50)

# Compare weight/pheromone evolution
plot_weight_pheromone(boost_res, acar_res, sq)

# Weak learnability experiment
wl <- weak_learnability_experiment(n_replicates = 50)
plot_weak_learnability(wl)

Part III: Neural Network ≅ Generational Colony Learning

# Compare gradient descent and generational pheromone learning
plot_isomorphism(site_qualities = c(10, 7, 5, 4, 3), n_generations = 50)

# Learning curves side by side
plot_learning_curves(n_replicates = 10, n_generations = 50)

# Neural plasticity ↔ colony adaptation
plot_plasticity(n_generations = 100, env_shift_at = 50)

Interactive Exploration

# Shiny app for Part I (decorrelation explorer)
launch_app("part1")

# Shiny app for Part II (boosting explorer)
launch_app("part2")

Package Structure

ModuleFunctionsIsomorphism
part1_*simulate_ant_colony(), variance_decomposition_experiment(), isomorphism_test(), ...RF ≅ Colony
part2_*adaboost(), acar(), weak_learnability_experiment(), ...Boosting ≅ ACAR
part3_*gacl(), simple_neural_network(), plot_isomorphism(), ...NN ≅ GACL

Renamed functions (from the original separate packages)

To avoid name collisions in the unified package:

Original (separate package)Unified (AntsNet)Reason
generate_data() (Part I)generate_regression_data()Different signatures
generate_data() (Part II)generate_classification_data()Different signatures
plot_noise_robustness() (Part II)plot_noise_robustness_boost()Name collision with Part III
plot_noise_robustness() (Part III)plot_noise_robustness_nn()Name collision with Part II
plot_convergence() (Part II)plot_convergence_boost()Clarity
noise_experiment() (Part II)noise_experiment_boost()Clarity
convergence_experiment() (Part II)convergence_experiment_boost()Clarity

The Isomorphism in One Equation

All three isomorphisms share the same underlying principle. For an ensemble of N units with individual variance σ² and pairwise correlation ρ:

Var[ensemble] = ρσ² + (1 − ρ)σ²/N

This holds identically for:

  • Random forests: trees decorrelated by random feature selection (θ = m_try/p)
  • Ant colonies: ants decorrelated by stochastic exploration (θ = p_explore)

The ant colony is a random forest running on biological hardware; the random forest is an ant colony running on silicon.

Citation

@misc{fokoue2026partI,
  title={Decorrelation, Diversity, and Emergent Intelligence: The Isomorphism
         Between Social Insect Colonies and Ensemble Machine Learning},
  author={Fokou{\'e}, Ernest and Babbitt, Gregory and Levental, Yuval},
  year={2026},
  eprint={2603.20328},
  archivePrefix={arXiv},
  primaryClass={stat.ML}
}

@misc{fokoue2026partII,
  title={Isomorphic Functionalities between Ant Colony and Ensemble Learning:
         Part II --- On the Strength of Weak Learnability and the Boosting Paradigm},
  author={Fokou{\'e}, Ernest and Babbitt, Gregory and Levental, Yuval},
  year={2026},
  eprint={2604.00038},
  archivePrefix={arXiv},
  primaryClass={stat.ML}
}

Authors

  • Yuval Levental (maintainer) — Center for Imaging Science, RIT
  • Gregory Babbitt — Gosnell School of Life Sciences, RIT
  • Ernest Fokoué — School of Mathematics and Statistics, RIT

License

MIT.

Metadata

Version

1.0.0

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows