ARCO

Automated Research into Computational Ontologies

crates.io docs.rs CI License: MIT

ARCO is a computational science platform that asks a different question than most computer science: not "what can a given computational model compute?" but "what computational models are possible, and why do they emerge?"

It formalizes this through Information Universes — 6-tuples of state space, transformations, observations, resources, invariants, and schedule — and measures emergent computation via shuffle-corrected normalized mutual information calibrated against destructive null distributions. ARCO does not assume classical, quantum, or neural computation as fundamental. All known paradigms are treated as phenomena to be explained, not primitives to be assumed.

Getting Started

# Binary Graph Universe
cargo run --release -- graph --train 1000 --seed 42

# Cellular Automaton
cargo run --release -- ca

# Compare estimators
cargo run --release -- graph --estimator qe

# Fast test
cargo run --release -- graph --quick

Installation

# As a library
cargo add arco

# From source
git clone https://github.com/kvernet/arco.git
cd arco
cargo build --release

Requires Rust 1.85+.

Key Findings

All results from 10 independent seeds (ARCO v0.5.0). Reproduce with ./scripts/sweep.sh.

Estimator Validation

Three independent MI estimators agree within 2 points across both substrates:

Substrate Plugin Miller-Madow Quadratic Extrap.
Graph — Storage Rate 48.2% 48.2% 48.2%
Graph — Structured 93.9% 94.0% 93.7%
Graph — H5 Survival 10/10 10/10 10/10
CA — Storage Rate 82.7% 84.4% 83.8%
CA — H3 Survival 10/10 10/10 10/10

The plugin estimator (default) is validated. No single-estimator artifact.

Structure-Storage Gradient

Structured universes exhibit storage at 93.9% (range 90.5–99.6%) compared to 21.1% (range 11.0–41.6%) for noise. A 4.5× difference, stable across all seeds and three estimators.

Transport Law

Rule sets containing transport operations (PROPAGATE, SWAP, COPY) exhibit storage at 65.4% mean accuracy (range 50.5–85.2%). Survives at 10/10 seeds. Validated across two independent implementations (Python reference, Rust production).

Paradigm-Neutrality — Cellular Automata

The same storage metric, applied to all 256 Wolfram rules as a first-class substrate, produces structural hypotheses from measurable properties only — no human labels.

Hypothesis Accuracy Range Mean Survival
H3: Low sensitivity → Storage 79.7–92.6% 85.4% 10/10
H4: Even rule number → Storage 77.7–89.0% 83.8% 10/10
H6: Mid-lambda → Storage 77.9–91.1% 83.2% 10/10

H4 (even rule number) corresponds to quiescent rules in Wolfram's classification — ARCO recovered this without being told about quiescence.

Wolfram Class Recovery

Storage values across 5 seeds, computed through the full ARCO pipeline. Reproduce with cargo run --example ca_cycle --release.

Rule Storage Range Mean Wolfram Class
0, 255 0.00–0.00 0.00 Class 1 (fixed point)
30 0.47–0.56 0.51 Class 3 (chaotic)
110 0.64–0.71 0.68 Class 4 (Turing-complete)
184 0.58–0.78 0.68 Class 2 (traffic flow)
54 0.68–0.86 0.74 Class 4 (complex)
90 0.79–0.81 0.80 Class 2 (Sierpinski)

ARCO's storage metric separates Wolfram classes without being told about them. Class 1 (0.00) < Class 3 (0.51) < Class 4 (0.68–0.74) < Class 2 (0.68–0.80). Rule 110 (Turing-complete) sits at the edge of chaos.

How It Works

GENERATE → CALIBRATE → OBSERVE → HYPOTHESIZE → TEST → REVISE

ARCO runs a six-step scientific cycle on any system that implements the InformationUniverse trait. Two substrates ship with ARCO: the Binary Graph Universe (validation) and Cellular Automata (paradigm-neutrality). Three MI estimators are supported: plugin with shuffle correction (default), Miller-Madow, and quadratic extrapolation. Adding a new substrate requires implementing five traits — no changes to ARCO's core.

Architecture

Trait Purpose
State Canonical encoding, distance metric
Rule<S, Context> Transformations with substrate-specific context
Observation<S> Observer-relative perception of states
Schedule<S, R> Temporal structure of rule application
InformationUniverse Bundles S, T, O, K into a single type

Documentation

Limitations & Honesty

Open Questions in Emergent Computation

Go to research questions.

Python Reference

The methodology was first validated in a Python reference implementation. arco-python on GitHub.