41. Самокорректирующиеся коды (коды Хэмминга), метод построения.
Кодом исходного сообщения может быть любое m-разрядное словов алфавите {0,1}. Множество всех таких слов образуетm-разрядный линейный код мощности 2m. В реальных системах при передаче информации по каналам связи в силу разных причин может происходить искажение сигналов. В результате отдельные разряды передаваемых кодовых слов могут измениться, т.е. ноль может превратиться в единицу, а единица – в ноль. Если искажению подвергся только один разряд передаваемого слова (называется одиночной ошибкой).
В коде Хэмминга используется несколько контрольных разрядов, каждый из них заполняется таким образом, чтобы анализ их содержимого в случае одиночной ошибки позволил точно определить, в каком именно разряде произошло искажение.
Разряды исходного слова называются информационными, в отличие от контрольных разрядов, которые появляются в передаваемом слове.
Также имеет место формула: , гдеm– длина кодового слова,k– число контрольных разрядов.
Для удобства будем нумеровать контрольные разряды в кодовом слове слева направо степенями двойки, т.е. числами 1,2,4,8,…, 2k−1. Остальные позиции содержат информационные разряды. На рисунке изображено кодовое слово с 6 информационными и 4 контрольными разрядами. Все разряды пронумерованы числами от 1 до 10, а контрольные разряды выделены темным цветом.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Эту последовательность множеств можно продолжать бесконечно, используя следующую закономерность. Во-первых, номера множеств Vi– это степени двойки. Во-вторых, минимальное число во множествеViравноi. В-третьих, множествоViсодержит те, и только те натуральные числа, в разложении которых по различным степеням двойки 1,2,4,8,…,i,…, 2k─1слагаемоеiвходит с коэффициентом 1.
При заполнении контрольных разрядов кодового словаиспользуются следующие равенства:,,и т.д.
Код Хэмминга позволяет проверять правильность передачи кодовых слов по каналу связи и в случае возникновения одиночной ошибки точно определять её местоположение. Для этого используются так называемые контрольные суммы. У кода Хэмминга с kконтрольными разрядами имеется ровноkконтрольных сумм. Обозначим их черезSi, где номерiявляется степенью двойки, т.е. принимает значения 1, 2, 4, 8,…, 2k─1. При вычислении каждой контрольной суммы складывается содержимое одного из контрольных и нескольких информационных разрядов, а именно:,,и т.д.
Указанное правило вычисления контрольных сумм гарантирует, что при передаче кодового слова без искажений все контрольные суммы будут равны нулю. Если же во время передачи кодового слова случится одиночная ошибка, то номер искаженного разряда можно будет легко определить с помощью контрольных сумм. Для этого достаточно вычислить все контрольные суммы (т.е. проверить их на четность) и сложить номера контрольных сумм, отличных от нуля.
Пример 1. Исходные словаимеют длину 5. Требуется выяснить, какую длину будут иметь кодовые слова кода Хэмминга.
По условию задачи m= 5. Поэтому определим число контрольных разрядовkиз неравенства (52), переписав его в следующем виде:. Последовательно подставляя вместоkчисла 1,2,3 и т.д., выясняем, что наименьшее допустимое значениеkравно 4. Значит, кодовые слова кода Хэмминга в данном случае имеют длинуn = m + k= 9.
Пример 2. Требуется построить кодовое слово кода Хэмминга, соответствующее исходному слову.
|
| 0 |
| 0 | 1 | 0 |
| 1 | 1 |
Теперь в соответствии с указанным выше правилом заполним контрольные разряды:
, ,,.
В итоге получаем искомое кодовое слово .
Пример 3. На выходе канала связи получили кодовое слово кода Хэмминга. Требуется выяснить, какое словобыло отправлено.
Найдем контрольные суммы. Их будет столько же, сколько и контрольных разрядов, т.е. четыре. Получим
, ,,.
Отличными от нуля оказались контрольные суммы S2иS4. Складывая их номера, узнаём, что одиночная ошибка произошла в шестом разряде слова. Исправив в этом разряде единицу на ноль, получим отправленное слово.
- 1. Основные понятия теории графов, удаленность вершины, центр, радиус и диаметр графа.
- 2. Способы задания графов, свойства матриц смежности и инциденций, теорема о рукопожатиях.
- 3. Основные операции над графами, неравенства для числа вершин, ребер и компонент связности графа.
- 4. Типы графов, дополнительные графы, двудольные графы, критерий двудольности.
- 5. Обходы графов: эйлеровы цепи и циклы, необходимые и достаточные условия их существования, алгоритм Флери.
- 6. Обходы графов: гамильтоновы цепи и циклы, достаточные условия их существования.
- 7. Деревья, их свойства, кодирование деревьев, остовные деревья.
- 8. Экстремальные задачи теории графов: минимальное остовное дерево, алгоритмы Прима и Краскала.
- 9. Экстремальные задачи теории графов: задача коммивояжера, «жадный» алгоритм
- 10. Экстремальные задачи теории графов: задача о кратчайшем пути, алгоритм Дейкстры.
- 11. Изоморфизм и гомеоморфизм графов, методы доказательства изоморфности и неизоморфности графов.
- 12. Плоские укладки графов, планарные графы, критерий Понтрягина-Куратовского.
- 13. Необходимые условия планарности, формула Эйлера для планарных графов.
- 14. Правильные вершинные раскраски графов, хроматическое число, неравенства для хроматического числа.
- 15. Теорема о пяти красках, гипотеза четырех красок, «жадный» алгоритм.
- 16. Хроматический многочлен, его нахождение и свойства.
- 17. Задача о поиске выхода из лабиринта, реберная раскраска графа.
- 18. Ориентированные графы, источники и стоки, топологическая сортировка, алгоритм Демукрона.
- 19. Составление расписания выполнения комплекса работ в кратчайшие сроки методами теории графов.
- 20. Элементарные булевы функции и способы их задания (табличный, векторный, формульный, графический, карта Карно).
- 21. Существенные и фиктивные переменные булевых функций, основные тождества, эквивалентные преобразования формул.
- 22. Линейные и нелинейные полиномы Жегалкина, разложение булевых функций в полином Жегалкина методом неопределенных коэффициентов.
- 23. Линейные и нелинейные полиномы Жегалкина, разложение булевых функций в полином Жегалкина методом эквивалентных преобразований.
- 24. Разложение булевых функций в сднф и скнф.
- 25. Минимизация днф и кнф методом эквивалентных преобразований.
- 26. Минимизация днф и кнф с помощью карт Карно.
- 27. Замкнутые классы булевых функций т0, т1, l, лемма о нелинейной функции.
- 28. Замкнутые классы булевых функций s и м, леммы о несамодвойственной и немонотонной функции.
- 29. Полная система функций, теорема о двух системах булевых функций.
- 30. Теорема Поста о полноте системы булевых функций, алгоритм проверки системы на полноту, базис.
- 31. Схемы из функциональных элементов, правила построения и функционирования, метод синтеза сфэ, основанный на сднф и скнф.
- 32. Метод синтеза сфэ, основанный на компактной реализации всех конъюнкций с помощью универсального многополюсника, сложность получаемых схем.
- 33. Основные комбинаторные операции, сочетания и размещения (с возвращением и без возвращения элементов).
- 34. Комбинаторные принципы сложения, умножения, дополнения, включения-исключения.
- 35. Биномиальные коэффициенты, их свойства, бином Ньютона.
- 36. Треугольник Паскаля, полиномиальная формула.
- 37. Алфавитное кодирование: необходимое и достаточные условия однозначности декодирования.
- 38. Алфавитное кодирование: теорема Маркова, алгоритм Маркова.
- 39. Коды с минимальной избыточностью (коды Хаффмана), метод построения.
- 40. Линейные коды, порождающая матрица, двойственный код.
- 41. Самокорректирующиеся коды (коды Хэмминга), метод построения.
- 42. Определение, схема и функционирование абстрактного автомата, способы задания автоматов.
- 43. Типы конечных автоматов, автоматы Мили и Мура, автоматы-генераторы.
- 44. Слова и языки, операции над ними, их свойства.
- 45. Регулярные выражения и регулярные языки, теорема Клини.
- 46. Задача анализа автоматов-распознавателей.
- 47. Задача синтеза автоматов-распознавателей.
- 48. Эквивалентные состояния автомата-распознавателя, эквивалентные автоматы-распознаватели, минимизация автоматов-распознавателей, алгоритм Мили.
- 49. Эквивалентные состояния автомата-преобразователя, эквивалентные автоматы- преобразователи, минимизация автоматов- преобразователей, алгоритм Мили.
- 50. Детерминированные и недетерминированные функции, примеры, способы задания.
- 51. Ограниченно-детерминированные (автоматные) функции, способы их задания.
- 52. Логические автоматы, способы их задания, синтез двоичного сумматора.
- 53. Операции над логическими автоматами: суперпозиция и введение обратной связи.