On the Computability of Finding Capacity-Achieving Codes

Abstract

This work studies the problem of constructing capacity-achieving codes from an algorithmic perspective. Specifically, we prove that there exists a Turing machine which, given a discrete memoryless channel pY|X, a target rate R less than the channel capacity C(pY|X), and an error tolerance ε > 0, outputs a block code C achieving a rate at least R and a maximum block error probability below ε. The machine operates in the general case where all transition probabilities of pY|X are computable real numbers, and the parameters R and ε are rational. The proof builds on Shannon's channel coding theorem and relies on an exhaustive search approach that systematically enumerates all codes of increasing block length until a valid code is found. This construction is formalized using the theory of recursive functions, yielding a μ-recursive function FindCode : N3 N that takes as input appropriate encodings of pY|X, R, and ε, and, whenever R < C(pY|X), outputs an encoding of a valid code. By Kleene's normal form theorem, which establishes the computational equivalence between Turing machines and μ-recursive functions, we conclude that the problem is solvable by a Turing machine. This result can also be extended to the case where ε is a computable real number, while we further discuss an analogous generalization of our analysis when R is computable as well. We note that the assumptions that the probabilities of pY|X, as well as ε and R, are computable real numbers cannot be further weakened, since computable reals constitute the largest subset of R representable by algorithmic means.

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…