Помехоустойчивость. Каково цена достижения?

Информация внутри компьютера и между компьютерами передается в виде электрических импульсов, различному уровню которых сопоставляют либо 0, либо 1. Через устройства проходят миллионы импульсов в секунду и каждый что-то значит. Понятно, что возникновение ошибок не редкость в такой ситуации, и данные, которые отправил источник информации, могут быть получены в искаженном виде. Для вычислительных машин, где формальность «языка общения» является ключевым моментом, искажение команд может привести к невозможности выполнения поставленной задачи.

Для того, чтобы защитить данные от искажения при их обработке и передаче, придуманы специальные механизмы, заключающиеся в различных методах помехоустойчивого кодирования. Идеи такого кодирования всегда основываются на простом принципе: чтобы различить два значения их кодируют не одиночными сигналами, а целой серией цифр, т.е. с избытком. Например, какой-либо операции можно сопоставить код 0000, а другой – 1111. Единичная ошибка в таком случае не является критичной, т.к. операцию все равно можно распознать, она в любом случае будет отличаться от других.

На самом деле методов помехоустойчивого кодирования достаточно много, но за всеми ими стоит именно этот принцип: чтобы избежать ошибок приходится увеличивать объем данных и как следствие память.

Следует отметить, что существует особая теория, которая говорит о возможности построения сколь угодно надежной системы из сколь угодно ненадежных элементов. Вопрос лишь в количестве этих элементов: чем ненадежней элементы, тем их должно быть больше.