14 prototypes × 20 clean samples + 2 corrupted samples per concept (uniformly random feature values, labelled *_BAD). The corrupted samples recruit their own hubs on first encounter. With template decay applied to every losing hub each step (winners are exempt), orphan hubs wither while the 14 concept hubs stay refreshed. Defaults are tuned to leave 14 pure concept hubs plus a tail of decayed/decaying orphans — scrub the training history to watch them shrink.
Clean concepts: 8 species + 4 kingdom generics + 2 super-generics (14 total) Corrupted:*_BAD1, *_BAD2 per concept — each pool's features drawn uniformly random, simplex pools renormalised Mechanism: on every training step, all templates are multiplied by (1 - decay_rate) before the usual snap-or-recruit. Active hubs recover via the EWMA pull toward their input; idle hubs shrink toward zero and are pruned when their average element drops below prune_threshold. Source: generated by scripts/generate_synthetic_12_corrupted.js. Downloads:samples + prototypes (.xlsx)