Na teoria da codificação, 'quão bom é um código' significa quantos erros de canal podem ser corrigidos, ou melhor, o nível máximo de ruído com o qual o código pode lidar.
Para obter códigos melhores, os códigos são projetados usando um alfabeto grande (em vez de um código binário). E então, o código é bom se puder lidar com uma grande taxa de "símbolos" errados.
Por que isso não é considerado trapaça? Quero dizer, não devemos nos preocupar apenas com o que acontece quando "traduzimos" cada símbolo em uma string binária? A "taxa de erro de bit" é diferente da taxa de "erro de símbolo". Por exemplo, a taxa de erro de bits não pode exceder 1/2, enquanto (se eu entendi isso corretamente), com alfabeto grande o suficiente, o erro de símbolo pode ir até . Isso ocorre porque restringimos artificialmente o canal para alterar apenas "símbolos" em vez de bits ou porque o código é realmente melhor?