Jump to content

AN-коды

AN-коды [1] — это код, исправляющий ошибки , который используется в арифметических приложениях. Арифметические коды обычно использовались в компьютерных процессорах для обеспечения точности арифметических операций, когда электроника была более ненадежной. Арифметические коды помогают процессору обнаружить ошибку и исправить ее. Без этих кодов процессоры были бы ненадежны, поскольку любые ошибки остались бы незамеченными. Коды AN — это арифметические коды, названные в честь целых чисел. и которые используются для кодирования и декодирования кодовых слов.

Эти коды отличаются от большинства других кодов тем, что они используют арифметический вес для максимизации арифметического расстояния между кодовыми словами в отличие от веса Хэмминга и расстояния Хэмминга . Арифметическое расстояние между двумя словами является мерой количества ошибок, допущенных при выполнении арифметической операции. Использование арифметического расстояния необходимо, поскольку одна ошибка в арифметической операции может вызвать большое расстояние Хэмминга между полученным ответом и правильным ответом.

Арифметический вес и расстояние

[ редактировать ]

Арифметический вес целого числа в базе определяется

[ нужна ссылка ]

где < , , и . Арифметическое расстояние слова ограничено сверху его весом Хэмминга, поскольку любое целое число может быть представлено его стандартной полиномиальной формой где это цифры целого числа. Удаление всех терминов, в которых будет моделировать равен его весу Хэмминга. Арифметический вес обычно будет меньше веса Хэмминга, поскольку допускается быть отрицательным. Например, целое число который в двоичном формате имеет вес Хэмминга . Это быстрая верхняя граница арифметического веса, поскольку . Однако, поскольку может быть отрицательным, мы можем написать что делает арифметический вес равным .

Арифметическое расстояние между двумя целыми числами определяется выражением

[ нужна ссылка ]

Это одна из основных метрик, используемых при анализе арифметических кодов. [ нужна ссылка ]

Коды AN определяются целыми числами и и используются для кодирования целых чисел из к такой, что

<

Каждый выбор приведет к другому коду, в то время как служит ограничивающим фактором для обеспечения полезных свойств на расстоянии кода. Если слишком велико, оно может пропустить в код кодовое слово с очень малым арифметическим весом, что ухудшит расстояние всего кода. Чтобы использовать эти коды, перед выполнением арифметической операции над двумя целыми числами каждое целое число умножается на . Пусть результатом операции над кодовыми словами будет . Обратите внимание, что также должно быть между к для правильного декодирования. Чтобы расшифровать, просто разделите . Если не является фактором , то произошла хотя бы одна ошибка и наиболее вероятным решением будет кодовое слово с наименьшим арифметическим расстоянием от . Как и коды, использующие расстояние Хэмминга, коды AN могут корректировать до ошибки, где расстояние кода.

Например, код AN с , операция сложения и начнется с кодирования обоих операндов. Это приводит к операции . Затем, чтобы найти решение, разделим . Пока > , это будет возможная операция по коду. Предположим, что в каждом двоичном представлении операндов возникает ошибка, такая что и , затем . Обратите внимание, что поскольку , вес Хэмминга между полученным словом и правильным решением равен после того, как ошибки. Для вычисления арифметического веса возьмем который можно представить как или . В любом случае арифметическое расстояние равно как и ожидалось, поскольку это количество допущенных ошибок. Чтобы исправить эту ошибку, будет использоваться алгоритм вычисления ближайшего к полученному слову кодового слова с точки зрения арифметического расстояния. Подробно алгоритмы описывать не будем.

Чтобы гарантировать, что расстояние кода не будет слишком маленьким, мы определим модульные AN-коды. Модульный AN-код является подгруппой , где . Коды измеряются с точки зрения модульного расстояния, которое определяется в виде графа, вершины которого являются элементами . Две вершины и связаны, если и только если

где и < < , . Тогда модульное расстояние между двумя словами — это длина кратчайшего пути между их узлами в графе. Модульный вес слова – это его расстояние от что равно

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

Используя модульный вес с , коды AN будут циклическими кодами .

определение : Циклический AN-код — это код это подгруппа , где .

Циклический AN-код является главным идеалом кольца . Есть целые числа и где и удовлетворяют определению кода AN. Циклические AN-коды представляют собой подмножество циклических кодов и обладают теми же свойствами.

Коды Мандельбаума-Бэрроуза

[ редактировать ]

Коды Мандельбаума-Бэрроуза представляют собой тип циклических AN-кодов, введенных Д. Мандельбаумом и Дж. Т. Барроузом. [2] [3] Эти коды создаются путем выбора быть простым числом, которое не делится такой, что генерируется и , и . Позволять быть положительным целым числом, где и . Например, выбирая , и результатом будет код Мандельбаума-Бэрроуза такой, что < в базе .

Для анализа расстояния кодов Мандельбаума-Бэрроуза нам понадобится следующая теорема.

Теорема : Пусть быть циклическим AN-кодом с генератором , и

Затем,

Доказательство : Предположим, что каждый имеет уникальный циклический NAF [4] представительство, которое

Мы определяем матрица с элементами где и . Эта матрица по существу представляет собой список всех кодовых слов в где каждый столбец представляет собой кодовое слово. С является циклическим, каждый столбец матрицы имеет одинаковое количество нулей. Теперь мы должны вычислить , что раз количество кодовых слов, которые не заканчиваются на . Как свойство находиться в циклическом NAF, если есть с < . С с < , затем < . Тогда количество целых чисел, последним битом которых является ноль, равно . Умножив это на символов в кодовых словах дает нам сумму весов кодовых слов по желанию.

Теперь мы будем использовать предыдущую теорему, чтобы показать, что коды Мандельбаума-Бэрроуза эквидистантны (что означает, что каждая пара кодовых слов имеет одинаковое расстояние) с расстоянием

доказательство : Пусть , затем и не делится на . Это подразумевает, что там . Затем . Это доказывает, что равноудален, поскольку все кодовые слова имеют одинаковый вес, как . Поскольку все кодовые слова имеют одинаковый вес и по предыдущей теореме мы знаем общий вес всех кодовых слов, расстояние кода находится путем деления общего веса на количество кодовых слов (исключая 0).

См. также

[ редактировать ]
  1. ^ Петерсон, В.В. и Уэлдон, Э.Дж.: Коды, исправляющие ошибки. Кембридж, Массачусетс: MIT Press, 1972.
  2. ^ Мэсси, Дж.Л. и Гарсия, Онтарио: Коды с исправлением ошибок в компьютерной арифметике. В: Достижения в области науки об информационных системах, Vol. 4, гл. 5. (Под редакцией Дж. Т. Тона). Нью-Йорк: Пленум Пресс, 1972.
  3. ^ Дж. Х. Ван Линт (1982). Введение в теорию кодирования. ГТМ. 86. Нью-Йорк: Спрингер-Верлаг.
  4. ^ Кларк, В.Е. и Лян, Дж.Дж.: О модульном весе и циклических несмежных формах для арифметических кодов. IEEE Транс. Информация. Теория, 20 стр. 767-770 (1974).
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0ff1b006d89aff23cbc0214afd8e96c9__1712213280
URL1:https://arc.ask3.ru/arc/aa/0f/c9/0ff1b006d89aff23cbc0214afd8e96c9.html
Заголовок, (Title) документа по адресу, URL1:
AN codes - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)