Error-Resilient Weakly Constrained Coding via Row-by-Row Coding
Prachi Mishra, Navin Kashyap
TL;DR
This work addresses the vulnerability of row-by-row weakly constrained codes to errors by fixing the column-concatenation order, thereby removing the decoder’s need to infer the stitching order from the codeword. For primitive subgraphs $G$ of the first-order de Bruijn graph $D_{1,2}$ and an $n$-integral stationary Markov chain $P$, the authors show there exists a constant $Z$ (dependent only on $P$) such that one can injectively encode $m$ messages into a codeword of length $N=(m+Z)n+1$ with exact edge counts $P(e)(N-1)$, where the top row is $U_ ho$ and the bottom row is the left-shifted $U_ ho$, enabling fixed stitching. The main technical contributions are a two-step transition method and a $1$-$1$ boosting technique, which together guarantee the transition from the top to the bottom row in a bounded number of steps, independent of $n$, while maintaining the weak constraint. This yields improved error resilience and reduced redundancy compared to prior weakly constrained schemes, with future work aimed at extending to higher-order de Bruijn graphs. The approach holds promise for robust DNA-based storage and related applications where pattern-frequency constraints must be maintained under errors.
Abstract
A weakly constrained code is a collection of finite-length strings over a finite alphabet in which certain substrings or patterns occur according to some prescribed frequencies. Buzaglo and Siegel (ITW 2017) gave a construction of weakly constrained codes based on row-by-row coding, that achieved the capacity of the weak constraint. In this paper, we propose a method to make this row-by-row coding scheme resilient to errors.
