Table of Contents
Fetching ...

An $\mathcal{O}(n)$ Space Construction of Superpermutations

Dhruv Ajmera

TL;DR

The paper addresses the challenge of constructing superpermutations with limited memory. It introduces a bead-based framework and a hierarchical assembly via 1-rings and k-rings, employing straight-shift and mirror-shift operations to generate the sequence incrementally while printing on the fly. It proves structural properties such as maximal overlaps, palindrome behavior, and derives a closed-form expression for the sequence length, complemented by a concrete Java implementation. Compared to recursive and graph-theoretic methods, the approach achieves $O(n!)$ time with $O(n)$ space, enabling generation of larger instances in practice and offering a significant memory advantage for superpermutation construction.

Abstract

A superpermutation is a sequence that contains every permutation of $n$ distinct symbols as a contiguous substring. For instance, a valid example for three symbols is a sequence that contains all six permutations. This paper introduces a new algorithm that constructs such sequences more efficiently than existing recursive and graph-theoretic methods. Unlike traditional techniques that suffer from scalability and factorial memory demands, the proposed approach builds superpermutations directly and compactly. This improves memory usage, enabling the construction of larger sequences previously considered impractical.

An $\mathcal{O}(n)$ Space Construction of Superpermutations

TL;DR

The paper addresses the challenge of constructing superpermutations with limited memory. It introduces a bead-based framework and a hierarchical assembly via 1-rings and k-rings, employing straight-shift and mirror-shift operations to generate the sequence incrementally while printing on the fly. It proves structural properties such as maximal overlaps, palindrome behavior, and derives a closed-form expression for the sequence length, complemented by a concrete Java implementation. Compared to recursive and graph-theoretic methods, the approach achieves time with space, enabling generation of larger instances in practice and offering a significant memory advantage for superpermutation construction.

Abstract

A superpermutation is a sequence that contains every permutation of distinct symbols as a contiguous substring. For instance, a valid example for three symbols is a sequence that contains all six permutations. This paper introduces a new algorithm that constructs such sequences more efficiently than existing recursive and graph-theoretic methods. Unlike traditional techniques that suffer from scalability and factorial memory demands, the proposed approach builds superpermutations directly and compactly. This improves memory usage, enabling the construction of larger sequences previously considered impractical.
Paper Structure (34 sections, 18 theorems, 95 equations, 5 figures, 1 table)

This paper contains 34 sections, 18 theorems, 95 equations, 5 figures, 1 table.

Key Result

Theorem 1

The following properties hold for all beads.

Figures (5)

  • Figure 1: Application of straight-shift $\mathrm{SS}_{n-2}$ on a bead over $\{c_1, c_2, \dots, c_5\}$, where the leading letter is re-inserted and structural duplication is applied.
  • Figure 2: Application of straight-unshift $\mathrm{SU}_{n-2}$ on a bead over $\{c_1, c_2, \dots, c_5\}$, where the $n-2$th letter is re-inserted and structural duplication is applied.
  • Figure 3: Hierarchical relationship between $k$-rings.
  • Figure 4: Application of mirror-shift $\mathrm{MS}_{n-1}$ on a bead over $\{c_1, c_2, \dots, c_5\}$, where letters are inserted and mirrored about the $n-1$-th index; structural duplication is applied.
  • Figure 5: Application of mirror-unshift $\mathrm{MU}_{n-1}$ on a bead over $\{c_1, c_2, \dots, c_5\}$, where letters are re-inserted and mirrored about the $n-1$-th index; structural duplication is applied.

Theorems & Definitions (52)

  • Definition 1: Bead
  • Definition 2: Space Efficiency
  • Theorem 1: Bead Properties
  • proof
  • Definition 3: Intersection
  • Definition 4: Leading letter
  • Definition 5: Straight‑shift $\mathrm{SS}_{n-k}$
  • Definition 6: Straight-unshift $\mathrm{SU}_{n-k}$
  • Lemma 1: $\mathrm{SS}_{n-k}$ And $\mathrm{SU}_{n-k}$ Are Inverses
  • proof
  • ...and 42 more