Table of Contents
Fetching ...

Entropy Coding of Unordered Data Structures

Julius Kunze, Daniel Severo, Giulio Zani, Jan-Willem van de Meent, James Townsend

TL;DR

This work introduces shuffle coding, a general, lossless compression framework for unordered data structures by eliminating redundant order information with bits-back coding. It builds a formal bridge between ordered codecs and unordered objects using exchangeability and the orbit-stabilizer theorem, deriving the optimal rate $\log \frac{1}{Q(\tilde{f})} = \log \frac{1}{P(f)} - \log \frac{n!}{|\mathrm{Aut}(f)|}$ and implementing a practical UniformLCoset codec. Empirically, shuffle coding achieves state-of-the-art compression on a range of graphs, including molecular graphs, under Erdős-Rényi and Pólya urn models, while remaining compatible with simple ordered models and scalable to graphs with attributes. The work also discusses limitations (initial bits, computational complexity of canonization) and points to future directions such as approximations, bit-swap techniques, and integration with neural generative models to further improve rates on broader unordered data domains.

Abstract

We present shuffle coding, a general method for optimal compression of sequences of unordered objects using bits-back coding. Data structures that can be compressed using shuffle coding include multisets, graphs, hypergraphs, and others. We release an implementation that can easily be adapted to different data types and statistical models, and demonstrate that our implementation achieves state-of-the-art compression rates on a range of graph datasets including molecular data.

Entropy Coding of Unordered Data Structures

TL;DR

This work introduces shuffle coding, a general, lossless compression framework for unordered data structures by eliminating redundant order information with bits-back coding. It builds a formal bridge between ordered codecs and unordered objects using exchangeability and the orbit-stabilizer theorem, deriving the optimal rate and implementing a practical UniformLCoset codec. Empirically, shuffle coding achieves state-of-the-art compression on a range of graphs, including molecular graphs, under Erdős-Rényi and Pólya urn models, while remaining compatible with simple ordered models and scalable to graphs with attributes. The work also discusses limitations (initial bits, computational complexity of canonization) and points to future directions such as approximations, bit-swap techniques, and integration with neural generative models to further improve rates on broader unordered data domains.

Abstract

We present shuffle coding, a general method for optimal compression of sequences of unordered objects using bits-back coding. Data structures that can be compressed using shuffle coding include multisets, graphs, hypergraphs, and others. We release an implementation that can easily be adapted to different data types and statistical models, and demonstrate that our implementation achieves state-of-the-art compression rates on a range of graph datasets including molecular data.
Paper Structure (21 sections, 4 theorems, 26 equations, 1 figure, 5 tables)

This paper contains 21 sections, 4 theorems, 26 equations, 1 figure, 5 tables.

Key Result

Lemma 3.1

For any distribution $Q$ on a class of unordered objects $\widetilde{\mathcal{F}}$, there exists a unique exchangeable distribution $P$ on ordered objects $\mathcal{F}$ for which

Figures (1)

  • Figure 1: Visualization of \ref{['lemma:OS-aut']}. For a fixed graph $g$, the six elements $s\in\mathcal{S}_3$ can be partitioned according to the value of $s\cdot g$. The three sets in the partition are the left cosets of $\mathop{\mathrm{Aut}}\nolimits(g)$.

Theorems & Definitions (21)

  • Definition 2.1: Permutable class
  • Example 2.1: Length $n$ strings
  • Example 2.2: Simple graphs $\mathcal{G}_n$
  • Definition 2.2: Isomorphism, unordered objects
  • Definition 2.3: Automorphism group
  • Definition 2.4: Canonical ordering
  • Definition 2.5: (Stack-like) codec
  • Definition 3.1: Exchangeability
  • Lemma 3.1: Symmetrization
  • proof
  • ...and 11 more