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 , a target rate less than the channel capacity , and an error tolerance , outputs a block code achieving a rate at least and a maximum block error probability below . The machine operates in the general case where all transition probabilities of are computable real numbers, and the parameters 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 that takes as input appropriate encodings of , , and , and, whenever , 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 is computable as well. We note that the assumptions that the probabilities of , as well as and , are computable real numbers cannot be further weakened, since computable reals constitute the largest subset of representable by algorithmic means.
Cite
@article{arxiv.2511.01414,
title = {On the Computability of Finding Capacity-Achieving Codes},
author = {Angelos Gkekas and Nikos A. Mitsiou and Ioannis Souldatos and George K. Karagiannidis},
journal= {arXiv preprint arXiv:2511.01414},
year = {2025}
}