🧮 Kolmogorov Complexity Lab
An interactive string-compression visualizer estimating the shortest program that could generate a bit string, contrasting patterned and random data.
A 3D bit-grid visualizer that runs a live LZ-style compressor over a generated string, drawing matched repeats as glowing linked runs and building a compressed "program" column beside it — a concrete, watchable upper bound on the string's Kolmogorov complexity.
🔬 What It Demonstrates
Kolmogorov complexity K(x) is uncomputable in general, but any lossless compressor gives an upper bound: decompressor + compressed data is itself a program that outputs x. Patterned strings compress far below their raw length; uniformly random strings barely compress at all.
🎮 How to Use
Pick a source pattern, adjust its length and (for repeating motifs) period, then drag in noise to watch compressibility collapse toward incompressible randomness. Matched runs glow cyan and arc back to their first occurrence; unmatched bits stay as plain literal cubes.
💡 Did You Know?
The Thue–Morse sequence is generated by a tiny recursive rule yet fails many statistical randomness tests — a classic example that "looks random" and "has high Kolmogorov complexity" are not the same property.
Interactive 3D string-and-program visualizer where compressing different sequences shows how the shortest generating program defines a string's Kolmogorov complexity.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install