Проектирование алгоритмов эффективного кодирования информации — это выполнение проекта алгоритма, обладающего свойством оптимального кодирования данных.
Кодирование информации
Кодовые наборы, являющиеся средством тайного письма, были известны очень и очень давно. Ещё в Древней Греции учёный Геродот примерно в пятом веке до нашей эры говорил о методах письма, которые понятны только тому, кому это послание адресовано. Секретные послания применяли и Юлий Цезарь, и многие средневековые учёные. Разрабатывались очень сложные методы кодирования информации, которые, тем не менее, со временем были расшифрованы и больше не являлись секретными. При передаче информации по каналам связи тоже стали использовать её кодирование и первой здесь считается система кодирования, изобретённая Самуэлем Морзе. Его коды содержали различное число символов для кодов символов и чисел.
Кодирование, в котором применяются два разных простых сигнала, называется бинарным или двоичным. Такие сигналы обычно обозначаются цифрами нуль и единица, то есть всё кодовое послание формируется из последовательного набора нулей и единиц. Двоичная система кодирования тесно взаимосвязана с методикой дихотомии, которая способна представить двоичные данные в формате графов.
Разнообразные алгоритмы осуществления операций арифметики дают верный итог только тогда, когда оборудование функционирует без сбоев. Если возникает какое-то нарушение в работе системы кодирования итоговый результат окажется неправильным, но пользователи могут и не знать этого, если не предусмотреть методы сигнализации о возникновении ошибок. То есть, проектировщики алгоритма кодирования обязаны предусмотреть способы, позволяющие обнаружить вероятные ошибки, и, более того, разработать методы, которые позволяют эти ошибки ликвидировать. Эти операции должны быть заложены в контролирующую систему функционирования цифрового кодирующего устройства.
Системой контроля является набор средств и методик, которые определяют правильность функционирования устройства в целом или его отдельных компонентов, а также устраняют или исправляют обнаруженные ошибки в автоматическом режиме. Ошибки в функционировании цифрового устройства кодирования могут возникнуть из-за поломки какого-либо узла, или уходом за допустимые пределы некоторых параметров. К примеру, это могут быть колебания питающего напряжения или действие наружных помех. Вызываемые такими явлениями ошибки могут быть случайными или постоянными. Постоянную ошибку гораздо легче найти и устранить. Опасность случайных ошибок состоит в их кратковременности и, по этой причине, трудности их обнаружения и ликвидации.
Исходя из вышеизложенного, систему контроля необходимо проектировать таким образом, чтобы она была способна найти и ликвидировать все возможные отклонения от нормы. Необходимо также учитывать следующую классификацию ошибок в итоговых результатах:
- Ошибки, возникшие по причине неточностей в начальных данных.
- Ошибки, которые обусловлены погрешностями методик.
- Ошибки, которые появились по причине сбоев в работе оборудования.
Два первых пункта не входят в область, которую охватывает действие контролирующей системы. Степень точности представления числовых данных в разрядной сетке устройства могут привести к появлению погрешностей в итоге решения задачи. Такая погрешность вполне поддаётся предварительному анализу и расчёту, то есть можно определить её максимум и исходя из него точно назначить величину разрядности устройства. Все погрешности, вызванные неточностями методик, тоже возможно учесть заранее.
Методы контроля правильности работы цифровых устройств
Проверить правильность действия компонентов цифрового устройства и выявить наличие сбоев, можно по следующим аспектам:
- Периодическое выполнение профилактического контроля, целью которого является правильность осуществления устройством всех функций.
- Выполнение оперативного контроля, целью которого является контроль правильности осуществления устройством всех процедур.
Решить все контрольные задачи возможно лишь при некотором информационном избытке. Избыточность информации возможно организовать при помощи аппаратных средств, или посредством использования логических и информационных средств.
К примеру, логическим контролем можно считать следующие способы. В ЭВМ первых поколений, в которых не было системы оперативного контроля, применялся методика «двойного расчёта». То есть все задачи решались два раза и если итоговые результаты совпадали, то считалось, что компьютер исправен.
Если же при решении какой-либо задачи необходимо вычислить значение тригонометрической функции, то контролировать правильность решения можно путём использования известных зависимостей между ними. К примеру, sin2 α + cos2 α = 1. В случае, когда эта формула решается с необходимой точностью на всех этапах расчётов, следует полагать, что компьютер функционирует верно.
Основные понятия теории кодирования
Проблема информационного кодирования может быть представлена как выполнение каких-либо преобразований числовой информации в определённой системе счисления. В частности, эта процедура может рассматриваться как группирование набора символов или отображение в числовом формате позиционной системы счисления. Поскольку все позиционные системы не обладают информационной избыточностью и все комбинации кодов считаются допустимыми, то применять эти системы для контролирования работы невозможно.
Систематическим кодом является такой код, который содержит в себе помимо разрядов, несущих информацию, ещё и разряды контроля. Контрольные разряды содержат информацию об исходных данных. Это условие означает, что у систематического кода есть некоторая избыточность. Следует отметить, что абсолютная избыточность выражается числом разрядов k, предназначенных для контроля, а относительная избыточность выражается как отношение k/n, где n = m + k это общее число разрядов кодового слова, m является числом разрядов данных.
Определение корректирующих кодовых способностей, как правило, связано со способностью обнаружить и исправить ошибку.