Exploratory 3D NCD atlas

Programming-Language Atlas

Explore a three-dimensional ordinal map of normalized information distance, approximated with LZMA compression across 200 sampled code corpora.

200 corpora LZMA NCD 4 repository-disjoint folds 64 KiB per object

Interactive three-dimensional atlas

200 corpora
Batch 4 adds 25 corpora; batches are not clusters. Five cumulative panels in predeclared batches of 25 corpora.
Drag to rotate. Pinch or ⌘/Ctrl-scroll to zoom.
Your browser needs canvas support to display the interactive atlas.

Choose a corpus to inspect its full-space density and nearest neighbours.

This is an ordinal display of the full normalized compression distance matrix. Larger points have larger five-neighbour NCD radius; rings identify the newest cohort of 25. Screen-space whitespace is not direct evidence of an information gap.

Method

From NID to a computable map

Normalized information distance is a universal theoretical distance between objects. It is uncomputable, so this atlas uses normalized compression distance as a practical approximation over five cumulative corpus panels.

NID

Kolmogorov complexity K measures the length of the shortest program describing an object. Up to logarithmic terms, the normalized distance is:

NID(x,y) = [K(xy) - min(K(x), K(y))] / max(K(x), K(y))

NCD

Because K cannot be computed, compressor length C is substituted. LZMA is order-sensitive, so this experiment conservatively takes the larger concatenation length:

NCD_C(x,y) = [max(C(xy), C(yx)) - min(C(x), C(y))] / max(C(x), C(y))

Corpus

Each label contributes four repository-disjoint, source-only objects of exactly 64 KiB. The matrix averages all cross-fold NCD comparisons. Labels are GitHub Linguist programming types represented in a frozen Stack v2 revision. This is a map of prepared code corpora, not languages in the abstract.

Cohorts

The first 100 corpora are frozen. Remaining programming-type labels were ordered by deduplicated Stack corpus bytes, then file count, before extension NCD was measured; the first 100 passing the same corpus gate form four groups of 25. Moving the slider takes cumulative induced submatrices at 100, 125, 150, 175, and 200 labels. The groups are release batches, not clusters.

Map

Each cumulative NCD matrix receives its own three-dimensional ordinal embedding. Later stages are aligned to the shared first 100 anchors, removing arbitrary rotation, reflection, translation, and global scale. Earlier points may still move because adding corpora changes a global fit. Thin lines are the minimum spanning tree of the raw stage matrix.

Read carefully

This display preserves much, but not all, of the full NCD ordering. NCD remains compressor-dependent, and screen-space whitespace is not direct evidence of an information gap.

Current finding

A strong signal, conditional geometry

The cumulative LZMA NCD panel strongly distinguishes repeated samples of the same corpus label from samples of different labels.

That supports an exploratory map, but not a claim of canonical coordinates. LZMA also missed one synthetic Markov-relation check, while the PPMd alternative badly violated self-identity. The global NCD signal is stronger than any exact local reading.