[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70448":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":15,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},70448,"schmidhuber-problems","cybertronai\u002Fschmidhuber-problems","cybertronai","58 implementations of synthetic learning problems from Jürgen Schmidhuber's papers (1989-2025). Pure numpy, laptop-runnable, paper-comparison metrics per stub. Algorithmic-lineage companion to hinton-problems.","https:\u002F\u002Fcybertronai.github.io\u002Fschmidhuber-problems\u002F",null,"Python",191,10,57,3,0,4,42,9,3.12,"The Unlicense",false,"main",true,[],"2026-06-12 02:02:33","# Schmidhuber Problems\n\nA reproducible-baseline catalog of the synthetic learning problems that appear in Jürgen Schmidhuber's experimental papers from 1989 through 2025 — implemented in pure numpy, runnable on a laptop CPU, with paper-comparison metrics per stub.\n\n- **GitHub**: https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fschmidhuber-problems\n- **Site**: https:\u002F\u002Fcybertronai.github.io\u002Fschmidhuber-problems\u002F\n- **Catalog**: [RESULTS.md](RESULTS.md)\n- **Visual tour**: [VISUAL_TOUR.md](VISUAL_TOUR.md)\n- **Build notes**: [BUILD_NOTES.md](BUILD_NOTES.md)\n- **Status**: 58 of 58 stubs implemented (PRs [#4](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fschmidhuber-problems\u002Fpull\u002F4)–[#16](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fschmidhuber-problems\u002Fpull\u002F16), all merged 2026-05-08)\n- **Build cost \u002F token math**: ~1.15B tokens across 74 sessions (lead + 73 subagent dispatches), 91% cache_read. The harness \"780k\" is context-window utilisation, not cumulative consumption. Breakdown: [BUILD_NOTES.md § Token consumption](BUILD_NOTES.md) + [issue #19](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fschmidhuber-problems\u002Fissues\u002F19).\n\n## Introduction\n\n> The field has standardized on backprop by the end of the '80s, and Hinton gives a sample of problems that were used at the time. In the last 20 years, we have transitioned to GPUs, and the math has changed considerably. Instead of being bottlenecked by arithmetic, the shrinking of transistors means that arithmetic is essentially free, and all of the work comes from data movement. **Backprop is inefficient in terms of \"commute to compute ratio\"** because it requires fetching all of the activations for each gradient add.\n>\n> So a natural experiment would be to redo key experiments of this time with a focus on data movement. The first step is to get a baseline — to establish the list of problems which are famous, reasonable to implement, and easy to run\u002Freproduce.\n>\n> — Yaroslav, [hinton-problems issue #1](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fhinton-problems\u002Fissues\u002F1#issuecomment-4363088986) (Sutro Group)\n\nThis repository **is the algorithmic-lineage companion** to [`hinton-problems`](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fhinton-problems).\n\n- **Hinton's catalog** emphasizes **representational** toy tasks: small benchmarks where hidden-unit inspection is the experimental payoff (4-2-4 encoder, family trees, shifter, Forward-Forward MNIST).\n- **Schmidhuber's lineage** emphasizes **algorithmic** capability. Four threads run through this catalog:\n    - **Long-time-lag indexing**: 1990 flip-flop → 1992 chunker → 1996 adding-problem → 1997 temporal-order\n    - **Key-value binding**: 1992 fast-weights → 2021 linear Transformers (the same outer-product math, 29 years apart)\n    - **Kolmogorov-complexity search**: 1995 Levin search → 2003 OOPS (program enumeration, no gradients)\n    - **Controller + model + curiosity loops in tiny stochastic environments**: 1990 pole-balance → 2018 World Models\n\nv1 + v1.5 ship 58 implementations covering this lineage from the 1989 NBB through the 2022 Neural Data Router. Each stub is a self-contained folder with model + train + eval + visualization + animated GIF, all in numpy, all runnable in \u003C5 min per seed on an M-series laptop.\n\n## What's here\n\n| 32 reproduce paper claims | 25 partial \u002F qualitative reproductions | 1 honest non-replication |\n| :---: | :---: | :---: |\n| full or qualitative match | algorithm works, paper-config gap documented | gap analysed mathematically |\n\nPure numpy + matplotlib throughout. Every stub runs on a laptop CPU. Each problem lives in its own folder with `\u003Cslug>.py` (model + train + eval), `README.md` (8 sections: Header \u002F Problem \u002F Files \u002F Running \u002F Results \u002F Visualizations \u002F Deviations \u002F Open questions), `make_\u003Cslug>_gif.py`, `visualize_\u003Cslug>.py`, an animated `\u003Cslug>.gif`, and a `viz\u002F` folder of training curves and weight visualizations.\n\nPer the SPEC's RL-stub rule, RL\u002Fenv-heavy stubs (`pole-balance-*`, `pomdp-flag-maze`, `world-models-*`, `torcs-vision-evolution`, `upside-down-rl`, `double-pole-no-velocity`) use **numpy mini-environments** that capture the algorithmic claim of the original paper, not the original simulator. The substitution is documented in each stub's §Deviations. Original-simulator reruns are tracked as v2 follow-ups.\n\n## Development\n\nThis repository includes a minimal Nix development shell with Python and NumPy:\n\n```bash\nnix develop\npython3 nbb-xor\u002Fnbb_xor.py --seed 0\n```\n\nOr run one stub directly without Nix (assumes `python3 -m pip install numpy matplotlib`):\n\n```bash\ncd flip-flop\npython3 flip_flop.py --seed 0\npython3 visualize_flip_flop.py\npython3 make_flip_flop_gif.py\n```\n\n## Visual tour\n\n| ![nbb-xor](nbb-xor\u002Fnbb_xor.gif) | ![flip-flop](flip-flop\u002Fflip_flop.gif) |\n| :---: | :---: |\n| [`nbb-xor`](nbb-xor\u002F) — Schmidhuber 1989 NBB local rule on XOR. The wave-0 sanity validator: WTA + bucket-brigade dissipation, no backprop. | [`flip-flop`](flip-flop\u002F) — Schmidhuber 1990 controller + differentiable world-model on the canonical LSTM-precursor latch. |\n| ![linear-transformers-fwp](linear-transformers-fwp\u002Flinear_transformers_fwp.gif) | ![world-models-carracing](world-models-carracing\u002Fworld_models_carracing.gif) |\n| [`linear-transformers-fwp`](linear-transformers-fwp\u002F) — Schlag\u002FIrie\u002FSchmidhuber 2021. Linear-attention `V^T(Kq)` ≡ 1992-FWP `(V^T K)q` to 2.22e-16 (float64 ulp). | [`world-models-carracing`](world-models-carracing\u002F) — Ha & Schmidhuber 2018 V+M+C on a numpy 2D track. Returns +103.8 mean across 5 seeds (random +4.84). |\n\nFor the long-form picture-first walk through **all 58 stubs** — every GIF, organized by era, with notes on what each visualization is meant to show — see [`VISUAL_TOUR.md`](VISUAL_TOUR.md).\n\n## Catalog\n\nEach table shows the v1 result per stub. Full per-stub metrics (run wallclock, headline numbers, implementation budget) are in [`RESULTS.md`](RESULTS.md).\n\n**Reproduces?** legend: `yes` = matches paper qualitatively or quantitatively; `partial` \u002F `qualitative` = method works, paper-config gap documented in stub README; `no` = paper claim does not replicate (gap analysis documented).\n\n### 1980s — Local rules and the Neural Bucket Brigade\n\n**Schmidhuber (1989)** — A local learning algorithm for dynamic feedforward and recurrent networks (FKI-124-90 \u002F *Connection Science*)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [nbb-xor](nbb-xor\u002F) | qualitative (mean 3012 presentations vs paper 619; 19\u002F20 seeds) | 0.85s |\n| [nbb-moving-light](nbb-moving-light\u002F) | yes (mean 223 — exact match; 9\u002F30 vs paper 9\u002F10) | 0.03s |\n\n### 1990 — Controller + world-model + flip-flop\n\n**Schmidhuber (1990)** — Making the world differentiable (FKI-126-90 \u002F IJCNN-90)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [flip-flop](flip-flop\u002F) | yes (10\u002F10 sequential vs paper 6\u002F10; 30\u002F30 parallel vs 20\u002F30) | 3-5s |\n| [pole-balance-non-markov](pole-balance-non-markov\u002F) | yes (seed 0: 30\u002F30 episodes balance 1000 steps) | 9.5s |\n\n**Schmidhuber (1990)** — Recurrent networks adjusted by adaptive critics (NIPS-3)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [pole-balance-markov-vac](pole-balance-markov-vac\u002F) | yes (173 episodes \u002F 1.21s training; 9\u002F10 multi-seed) | 1.21s |\n\n**Schmidhuber & Huber (1990)** — Learning to generate focus trajectories (FKI-128-90)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [saccadic-target-detection](saccadic-target-detection\u002F) | yes (100% find rate, mean 1.69 saccades vs random 25.5%) | 5.4s |\n\n### 1991 — Curiosity, subgoals, the chunker\n\n**Schmidhuber (1991)** — Adaptive confidence and adaptive curiosity (FKI-149-91)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [curiosity-three-regions](curiosity-three-regions\u002F) | yes (visit ordering C > B > A holds 100% across 10 seeds) | 0.5s |\n\n**Schmidhuber (1991)** — Learning to generate sub-goals for action sequences (ICANN-91)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [subgoal-obstacle-avoidance](subgoal-obstacle-avoidance\u002F) | yes (99% success vs 0% no-sub-goal baseline; 10-seed mean 98.5%) | 6.4s |\n\n**Schmidhuber (1991)** — Reinforcement learning in Markovian and non-Markovian environments (NIPS-3)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [pomdp-flag-maze](pomdp-flag-maze\u002F) | partial (6\u002F10 seeds 100% solve, 4\u002F10 stuck at 50%) | 22-32s |\n\n**Schmidhuber (1991\u002F1992)** — Neural sequence chunkers \u002F *Learning complex extended sequences using the principle of history compression*\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [chunker-22-symbol](chunker-22-symbol\u002F) | yes (99.5% label acc 10\u002F10 seeds; A-alone baseline at chance) | 1.86s |\n\n### 1992 — Neural Computation triple\n\n**Schmidhuber (1992)** — Learning to control fast-weight memories (NC 4(1))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [fast-weights-unknown-delay](fast-weights-unknown-delay\u002F) | yes (100% bit-acc K=5-30 trained \u002F K=1-60 extrapolation; 10\u002F10 seeds) | 3s |\n| [fast-weights-key-value](fast-weights-key-value\u002F) | yes (cos 0.428 → 0.754, 1.76× lift; numerical grad-check \u003C1e-9) | 0.07s |\n\n**Schmidhuber (1992)** — Learning factorial codes by predictability minimization (NC 4(6))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [predictability-min-binary-factors](predictability-min-binary-factors\u002F) | yes (L_pred = 0.2500 chance; pairwise MI 9.6e-5 nats; 8\u002F8 seeds 100%) | 2.8s |\n\n### 1993 — Predictable classifications, self-reference, very deep chunking\n\n**Schmidhuber & Prelinger (1993)** — Discovering predictable classifications (NC 5(4))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [predictable-stereo](predictable-stereo\u002F) | yes (depth recovery 1.000 seed 0; 8\u002F8 seeds 0.997 mean) | 0.08s |\n\n**Schmidhuber (1993)** — A self-referential weight matrix (ICANN-93)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [self-referential-weight-matrix](self-referential-weight-matrix\u002F) | partial (99.6% on 4-way boolean meta-learning; 8\u002F8 seeds > 0.95) | 4.5s |\n\n**Schmidhuber (1993)** — Habilitationsschrift, *Netzwerkarchitekturen, Zielfunktionen und Kettenregel*\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [chunker-very-deep-1200](chunker-very-deep-1200\u002F) | yes (599.5× depth-reduction at T=1200; chunker 100% vs single-net 0%) | 29.8s |\n\n### 1995–1997 — Levin search and the LSTM benchmark suite\n\n**Schmidhuber (1995\u002F1997)** — Discovering solutions with low Kolmogorov complexity (ICML \u002F NN 10)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [levin-count-inputs](levin-count-inputs\u002F) | yes (5-instr popcount, 770k programs, 200\u002F200 generalize) | 1.0s |\n| [levin-add-positions](levin-add-positions\u002F) | yes (3-instr `im+`, 58 evals, 200\u002F200 generalize) | 0.34s |\n\n**Hochreiter & Schmidhuber (1996)** — LSTM can solve hard long time lag problems (NIPS 9)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [rs-two-sequence](rs-two-sequence\u002F) | yes (30\u002F30 seeds solve, median 144 trials vs paper ~718) | 0.94s |\n| [rs-parity](rs-parity\u002F) | yes (N=50 seed 0: 10,253 trials \u002F 15.3s; N=500 seed 0: 412 trials \u002F 3.2s) | 15.3s |\n| [rs-tomita](rs-tomita\u002F) | yes (#1, #2, #4 all solved 10\u002F10 seeds) | 17-19s |\n\n**Hochreiter & Schmidhuber (1997)** — Long Short-Term Memory (NC 9(8)) — canonical 6-experiment battery\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [adding-problem](adding-problem\u002F) | yes (Exp 4: LSTM MSE 0.0007 vs threshold 0.04; vanilla RNN 0.0706) | 39s |\n| [embedded-reber](embedded-reber\u002F) | yes (Exp 1: 10\u002F10 seeds, mean 4800 seqs vs paper 8440 — 1.8× faster) | 2.6s |\n| [noise-free-long-lag](noise-free-long-lag\u002F) | qualitative (Exp 2 sub-(a) at p=50; 6\u002F10 seeds; (b)\u002F(c) deferred) | 21s |\n| [two-sequence-noise](two-sequence-noise\u002F) | yes (Exp 3 variant 3c: 4\u002F4 seeds 100%; ~3k seqs vs paper ~269k) | 32s |\n| [multiplication-problem](multiplication-problem\u002F) | yes (Exp 5: MSE 0.0028 \u002F 17× chance; 3\u002F5 seeds — paper-faithful brittleness) | 4.5s |\n| [temporal-order-3bit](temporal-order-3bit\u002F) | yes (Exp 6a: 5\u002F5 seeds 100%, ~6.4k seqs vs paper 31,390) | 24s |\n\n### Mid-90s — Evolutionary, RL, and feature detection\n\n**Salustowicz & Schmidhuber (1997)** — Probabilistic Incremental Program Evolution\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [pipe-symbolic-regression](pipe-symbolic-regression\u002F) | yes (seed 3 finds Koza target exactly at gen 60) | 1.3s |\n| [pipe-6-bit-parity](pipe-6-bit-parity\u002F) | yes (4-bit clean solve at gen 258; 6-bit partial 71.9%) | 240s |\n\n**Schmidhuber, Zhao, Wiering (1997)** — Shifting inductive bias with SSA (ML 28)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [ssa-bias-transfer-mazes](ssa-bias-transfer-mazes\u002F) | yes (SSA tail solve 0.83 vs no-SSA 0.70, +19%) | 1.7s |\n\n**Wiering & Schmidhuber (1997)** — HQ-learning (Adaptive Behavior 6(2))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [hq-learning-pomdp](hq-learning-pomdp\u002F) | no (honest non-replication: HQ-vs-flat gap doesn't reproduce on 29-cell maze; mathematical analysis in §Open questions) | 21s |\n\n**Schmidhuber, Eldracher, Foltin (1996)** — Semilinear PM produces well-known feature detectors (NC 8(4))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [semilinear-pm-image-patches](semilinear-pm-image-patches\u002F) | yes (12\u002F16 oriented filters; kurtosis 19.96 vs random 2.95; grad-check 5e-10) | 1.2s |\n\n**Hochreiter & Schmidhuber (1999)** — Feature extraction through LOCOCODE (NC 11)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [lococode-ica](lococode-ica\u002F) | qualitative (Amari 0.117 mean — 4× better than PCA's 0.388, 5× of FastICA's 0.022) | 0.4s |\n\n### 2000–2002 — LSTM follow-ups\n\n**Gers, Schmidhuber, Cummins (2000)** — Learning to forget (NC 12(10))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [continual-embedded-reber](continual-embedded-reber\u002F) | yes (5\u002F5 forget seeds 99.7% vs 5\u002F5 no-forget at chance 55%) | 14s |\n\n**Gers & Schmidhuber (2001)** — Context-free and context-sensitive languages (IEEE TNN 12(6))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [anbn-anbncn](anbn-anbncn\u002F) | yes (a^n b^n trained n=1..10 → n=1..65; a^n b^n c^n → n=1..29) | 35s |\n\n**Gers, Schraudolph, Schmidhuber (2002)** — Learning precise timing (JMLR 3)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [timing-counting-spikes](timing-counting-spikes\u002F) | partial (peep MSE 0.00073 vs vanilla 0.00240 seed 4; cross-seed gap small) | 32s |\n\n**Eck & Schmidhuber (2002)** — Blues improvisation with LSTM (NNSP)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [blues-improvisation](blues-improvisation\u002F) | qualitative (12\u002F12 bar-onset chord match; step-chord 0.906) | 12s |\n\n### 2002–2010 — Evolutionary RL, OOPS, BLSTM+CTC\n\n**Schmidhuber, Wierstra, Gomez (2005\u002F2007)** — Evolino\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [evolino-sines-mackey-glass](evolino-sines-mackey-glass\u002F) | partial (sines free-run MSE 0.181; MG NRMSE@84 0.291 vs paper 1.9e-3) | 140s |\n\n**Gomez & Schmidhuber (2005)** — Co-evolving recurrent neurons (GECCO)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [double-pole-no-velocity](double-pole-no-velocity\u002F) | yes (seed 0 solved at gen 27; 7\u002F10 seeds 20\u002F20 generalize) | 60s |\n\n**Graves et al. (2005\u002F2006)** — BLSTM and Connectionist Temporal Classification\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [timit-blstm-ctc](timit-blstm-ctc\u002F) | qualitative (synthetic phoneme corpus; BLSTM 1.87× faster than uni-LSTM) | 73s |\n\n**Graves, Liwicki, Fernández, Bertolami, Bunke, Schmidhuber (2009)** — Unconstrained handwriting (TPAMI)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [iam-handwriting](iam-handwriting\u002F) | qualitative (synthetic 10-char alphabet; in-vocab CER 0.082) | 103s |\n\n**Schmidhuber (2002–2004)** — Optimal Ordered Problem Solver (ML 54)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [oops-towers-of-hanoi](oops-towers-of-hanoi\u002F) | yes (6-token recursive Hanoi; reuse from n=4+; verified through n=15) | 0.25s |\n\n### 2010–2017 — Deep learning at scale\n\n**Cireşan, Meier, Gambardella, Schmidhuber (2010)** — Deep, big, simple nets (NC 22(12))\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [mnist-deep-mlp](mnist-deep-mlp\u002F) | partial (1.17% test err vs paper 0.35% — smaller MLP, fewer epochs) | 79s |\n\n**Cireşan, Meier, Schmidhuber (2012)** — Multi-column deep neural networks (CVPR)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [mcdnn-image-bench](mcdnn-image-bench\u002F) | partial (1.46% single-col MNIST vs paper 35-col 0.23%) | 22.2s |\n\n**Cireşan, Giusti, Gambardella, Schmidhuber (2012)** — EM segmentation (NIPS)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [em-segmentation-isbi](em-segmentation-isbi\u002F) | qualitative (synthetic Voronoi-EM; AUC 0.989 vs Sobel 0.880) | 1.5s |\n\n**Srivastava, Masci, Kazerounian, Gomez, Schmidhuber (2013)** — Compete to compute (NIPS)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [compete-to-compute](compete-to-compute\u002F) | qualitative (LWTA forgetting 0.022 vs ReLU 0.072 seed 0, 3.3× less; 6\u002F10 seeds) | 0.8s |\n\n**Srivastava, Greff, Schmidhuber (2015)** — Training very deep networks (NIPS)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [highway-networks](highway-networks\u002F) | yes (depth 30: highway 0.926 vs plain 0.124 chance; plain dies past 10) | 7s |\n\n**Greff, Srivastava, Koutník, Steunebrink, Schmidhuber (2017)** — LSTM: a search space odyssey (TNNLS)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [lstm-search-space-odyssey](lstm-search-space-odyssey\u002F) | yes (CIFG 1st, NIG last across 3\u002F3 seeds; gradcheck 1.31e-7) | 145s |\n\n**Koutník, Greff, Gomez, Schmidhuber (2014)** — A clockwork RNN (ICML)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [clockwork-rnn](clockwork-rnn\u002F) | yes (CW-RNN MSE 0.117 vs vanilla 0.250; 2.22× mean over 5 seeds) | 22s |\n\n**Koutník, Cuccu, Schmidhuber, Gomez (2013)** — Vision-based RL via evolution (GECCO)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [torcs-vision-evolution](torcs-vision-evolution\u002F) | yes (numpy oval; 14.3× DCT compression; 5\u002F5 seeds solve) | 45.5s |\n\n**Greff, van Steenkiste, Schmidhuber (2017)** — Neural Expectation Maximization (NIPS)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [neural-em-shapes](neural-em-shapes\u002F) | partial (best test NMI 0.428 epoch 7 vs paper AMI 0.96) | 17s |\n\n**van Steenkiste, Chang, Greff, Schmidhuber (2018)** — Relational Neural EM (ICLR)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [relational-nem-bouncing-balls](relational-nem-bouncing-balls\u002F) | qualitative (relational wins K=3,4,5; loses K=6 — distribution shift) | 24.8s |\n\n### 2018–2025 — World models, fast-weight Transformers, systematic generalization\n\n**Ha & Schmidhuber (2018)** — Recurrent World Models Facilitate Policy Evolution (NeurIPS)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [world-models-carracing](world-models-carracing\u002F) | yes (numpy 2D track; V+M+C +103.8 mean vs random +4.84; 5\u002F5 seeds) | 6.5s |\n| [world-models-vizdoom-dream](world-models-vizdoom-dream\u002F) | yes (numpy gridworld; dream 49.1 vs random 22.4 — 2.2× random; 5\u002F5 seeds) | 20s |\n\n**Schmidhuber et al. (2019)** — Reinforcement Learning Upside Down (arXiv)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [upside-down-rl](upside-down-rl\u002F) | yes (numpy 9-state chain; 5\u002F5 seeds reach +4.70 at R*=5.0) | 3.5s |\n\n**Schlag, Irie, Schmidhuber (2021)** — Linear Transformers are secretly fast weight programmers (ICML)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [linear-transformers-fwp](linear-transformers-fwp\u002F) | yes (equivalence verified to 2.22e-16 \u002F float64 ulp; delta-rule +0.05 over sum at N=6) | 0.08s |\n\n**Csordás, Irie, Schmidhuber (2022)** — The Neural Data Router (ICLR)\n\n| Stub | Reproduces? | Run wallclock |\n|---|---|---:|\n| [neural-data-router](neural-data-router\u002F) | partial (test depth 5: NDR 0.60 vs vanilla 0.32; +1 depth above chance vs paper \"100% length-gen\") | 3:30 |\n\n## Structure\n\n```\nproblem-folder\u002F\n├── README.md                  source paper, problem, results, deviations\n├── \u003Cslug>.py                  dataset + model + train + eval\n├── visualize_\u003Cslug>.py        training curves + weight viz (writes to viz\u002F)\n├── make_\u003Cslug>_gif.py         animated GIF (writes \u003Cslug>.gif)\n├── \u003Cslug>.gif                 committed animation\n└── viz\u002F                       committed PNGs\n```\n\n## Methodological caveat\n\nMany of the early TUM technical-report PDFs (FKI-124-90, FKI-126-90, FKI-128-90, FKI-149-91, the 1993 Habilitationsschrift, Hochreiter's 1991 diploma thesis) are difficult to retrieve in original form. Stub READMEs reconstruct the experiments from corroborated secondary sources — Schmidhuber's *Deep Learning: Our Miraculous Year 1990–1991* (2020), the 1997 LSTM paper's literature review, the 2001 Hochreiter\u002FBengio\u002FFrasconi\u002FSchmidhuber chapter *Gradient Flow in Recurrent Nets*, the 2015 *Deep Learning in Neural Networks* survey, and IDSIA HTML transcriptions where available — and flag claims that rest on secondary citation rather than verbatim quotation.\n\n## Schmidhuber vs Hinton: what's different\n\nThe companion catalog [`hinton-problems`](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fhinton-problems) emphasizes **representational** toy tasks: small benchmarks (4-2-4 encoder, family trees, shifter) designed to expose what kind of internal representation a network develops. Hidden-unit inspection is the experimental payoff.\n\nSchmidhuber's lineage emphasizes **algorithmic** capability: long-time-lag indexing (flip-flop, chunker, adding, temporal-order, a^n b^n c^n), key-value binding (1992 fast-weights → 2021 linear Transformers), Kolmogorov-complexity search (Levin → OOPS), and controller+model+curiosity loops in tiny stochastic environments (1990 pole-balance → 2018 World Models). The signature methodological move is the controlled difficulty sweep — (q=50, p=50) → (q=1000, p=1000) in the 1997 LSTM paper, the 5,400-experiment grid in the 2017 *Search Space Odyssey*.\n\n## Roadmap\n\n- [**v2: ByteDMD instrumentation**](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002FByteDMD) — measure data-movement cost per stub on these baselines (the actual research goal). The 58 implementations here are the substrate the data-movement cost tracer will run against.\n- **Original-simulator reruns** — RL\u002Fenv-heavy stubs in v1+v1.5 use numpy mini-environments per the SPEC's RL-stub rule. v2 follow-ups will close the loop on the original simulators (gym CarRacing-v0, VizDoom DoomTakeCover, TORCS, TIMIT, IAM, ISBI).\n- See `Open questions \u002F next experiments` section in each stub README for stub-specific follow-ups.\n\n## Contributing\n\nImplementations follow the [v1 spec](https:\u002F\u002Fgithub.com\u002Fcybertronai\u002Fschmidhuber-problems\u002Fissues\u002F1):\n\n- Each stub fills in `\u003Cslug>.py` (model + train + eval), an 8-section `README.md`, `make_\u003Cslug>_gif.py`, `visualize_\u003Cslug>.py`, an animated `\u003Cslug>.gif`, and `viz\u002F` PNGs.\n- Acceptance: reproduces in \u003C5 min on a laptop; final accuracy with seed in Results table; GIF illustrates problem AND learning dynamics; \"Deviations from the original\" section honest; at least one open question.\n- v1 metrics in PR body: `\"Paper reports X; we got Y. Reproduces: yes\u002Fno.\"` + run wallclock + implementation budget.\n- Algorithmic faithfulness: implement the actual algorithm the paper introduces (NBB local rule, RS over weight space, Levin search, BPTT through LSTM, peephole LSTM, PIPE on PPT, ESP co-evolution, FWP outer-product writes, etc.) — not a backprop shortcut.\n- Pure numpy + matplotlib only. torchvision allowed for MNIST\u002FCIFAR loaders; `gymnasium` \u002F `gym` not allowed (use numpy mini-envs per the RL-stub rule).\n\n## License\n\nReleased into the public domain under the [Unlicense](LICENSE).\n","该项目提供了Jürgen Schmidhuber从1989年至2025年发表的论文中出现的58个合成学习问题的实现。核心功能包括纯numpy实现、可在普通笔记本电脑上运行，并为每个问题提供与论文比较的度量指标。技术特点在于其专注于算法能力，涵盖长时间延迟索引、键值绑定、Kolmogorov复杂性搜索以及控制器+模型+好奇心循环等四个主要方向。适合用于研究者复现经典实验结果、教育领域作为教学案例或任何希望探索早期AI算法演变历程的场景。",2,"2026-06-11 03:32:30","CREATED_QUERY"]