📦
Compressibility = Low Complexity
Strings with repeated patterns compress well. Their K-complexity is small relative to their length.
🎲
Randomness = High Complexity
A truly random string cannot be compressed — its shortest description is itself.
🔍
Approximation via LZ77
True K-complexity is uncomputable. We approximate it using LZ77 compression: fewer tokens → lower complexity.
📏
Normalized Complexity
We show K(s)/|s| — the ratio of compressed tokens to original length. 0% = perfectly regular, 100% = incompressible.
String Input
0 / 600 characters
Examples:
Complexity Metrics
—
characters
—
LZ77 tokens
—
new chars
—
reused patterns
Normalized complexity K(s)/|s|
—
Simple
Moderate
Random
String Visualization — colored blocks share patterns
Literal — unique, seen for the first time
Back-reference — copied from an earlier pattern (same color = same source)
LZ77 Token Stream — the "shortest description" of the string
lit "x" — one new literal character
ref (offset, len) — copy len chars from offset positions back
Complexity Comparison — built-in examples