An empirical study of the Busy Beaver function for Post tag systems, with
exhaustive search results for small alphabets and a discussion of the
Authors: Sahil Ohe & OpenCode (MiniMax M3 and DeepSeek V4 Pro)
The published paper is hosted at the GitHub Pages URL for this repository: https://sahilohe.github.io/BB_TagSystems/
The same paper is also available in two other formats in this repo:
index.html— web version (served as the GitHub Pages home)paper/research.md— Markdown sourcepaper/research.docx— Microsoft Word (publication-ready styling)
| BB | Halting rate |
|
|---|---|---|
| 2 | 1.00 | |
| 4 | 0.39 | |
| 6 | 0.12 | |
| 10 | 0.18 | |
| 2 | 1.00 | |
| 7 | 0.36 |
The value of BB depends sharply on the initial word
tag_busy_beaver/
├── index.html # paper — web version (GitHub Pages root)
├── README.md # this file
├── AGENTS.md # local agent instructions
│
├── src/ # Python source (stdlib only, no dependencies)
│ ├── simulator.py # tag-system simulator (library + tiny demo)
│ ├── find_champions.py # exhaustive search → data/champions.json
│ └── experiment.py # exhaustive search → data/experiment_results.csv
│
├── data/ # generated artifacts (re-creatable from src/)
│ ├── champions.json # winning rule set per (|Σ|, m, L) config
│ ├── experiment_results.csv # BB and ρ per config
│ ├── l3_stepcap_sweep.csv # step-cap sensitivity data (Section 4.1.1)
│ └── l3_stepcap_sweep.md # narrative writeup of the sweep
│
├── paper/ # the paper itself, in three formats
│ ├── research.md # Markdown source (canonical)
│ └── research.docx # Word (publication-ready styling; one-time artifact)
│
└── docs/ # research logs / meta
└── NOTES.md # research log (newest-first)
index.html lives at the repo root because GitHub Pages serves it as the
project home; all other files are grouped by role.
The pipeline is pure stdlib (Python 3.10+, no dependencies). Run from the
repo root (tag_busy_beaver/):
# Verify the canonical BB values
python3 src/find_champions.py
# → writes data/champions.json
# Verify the halting rates
python3 src/experiment.py
# → writes data/experiment_results.csv
# L=3 step-cap sensitivity sweep
python3 src/l3_stepcap_sweep.py # not yet in the repo — see docs/NOTES.mdThe simulator is intentionally simple. src.simulator.simulate_tag_system(word, rules, m, max_steps) returns one of the four status strings:
halted, halted_no_rule, cycle, timeout. Cycle detection is via a
seen_states set; see Lemma 1 in the paper for the correctness argument.
All reported BB values are verified at step cap l3_stepcap_sweep.md). Values are exact when no halting system in
the search space exceeds the cap, and are verified lower bounds otherwise.
Research artifact. Add a license here before publishing if you want explicit terms — for now, all rights reserved by the authors.