Automated Research into Computational Ontologies
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.
# 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
# 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+.
All results from 10 independent seeds (ARCO v0.5.0). Reproduce with ./scripts/sweep.sh.
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.
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.
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).
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.
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.
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.
| 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 |
The methodology was first validated in a Python reference implementation. arco-python on GitHub.