- •«Дискретная математика»
- •Множества и отношения Тема 1. Основные понятия теории множеств Множества и основные операции над ними
- •Кортеж. Декартово произведение
- •Мощность множества
- •Тема 2. Элементы комбинаторики Комбинаторные вычисления
- •Основные понятия комбинаторики
- •Размещения
- •Перестановки
- •Сочетания
- •Определение числа сочетаний с повторениями
- •Бином Ньютона
- •Решение комбинаторных уравнений
- •Метод включений и исключений
- •Рекуррентные соотношения. Возвратные последовательности
- •Тема 3. Отношения на множествах Отношения. Функции. Взаимно однозначные соответствия
- •Отношения эквивалентности и разбиения. Фактор-множества
- •Отношения порядка
- •Тема 4. Элементы теории графов
- •Определение и примеры графов
- •Связность графа
- •Обзор основных задач теории графов
- •Расчет сетевого графика
- •Резервы сетевого графика
- •Сети Петри
- •Маршруты
- •Степени вершин
- •Раскраски графов
- •Планарные графы
- •Изоморфизм графов
- •Алгебра и топология Тема 1. Элементы общей алгебры Операции на множествах
- •Унарные операции алгебры поворотов квадрата
- •Группа подстановок Галуа
- •Алгебра множеств (алгебра Кантора)
- •Алгебраические системы. Решетки
- •Задание множеств конституентами
- •Задание множества а двоичным числом
- •Пересечение множеств № 12 и № 5
- •Тема 2. Булевы функции
- •Табличное задание булевых функций
- •Задание булевой функции
- •Задание булевых функций одной переменной
- •Задание булевых функций двух переменных
- •Аналитическое задание булевых функций
- •Задание булевой функции голосования
- •Полные системы булевых функций
- •Тема 3. Алгебраические системы Определения и примеры
- •Подсистемы
- •Конгруэнции. Фактор-алгебры. Теорема о гомоморфизме
- •Тема 4. Элементы общей топологии
- •Топологические пространства, сходимость к точке и направленности
- •Фильтры и ультрафильтры
- •Булевы решетки подмножеств
- •Атомы и шкалы решеток подмножеств
- •Алгебра логики Тема 1. Алгебра логики высказываний Формулы алгебры логики
- •Функции алгебры логики
- •Эквивалентность формул
- •Дизъюнктивные и конъюнктивные нормальные формы
- •Минимизация булевых функций в классе днф
- •Карты Карно
- •Логические сети Определение и реализация булевых функций
- •Схемы из функциональных элементов
- •Мультиплексоры
- •Программируемые логические матрицы
- •Тема 2. Логика предикатов Предикаты. Кванторы
- •Формулы логики предикатов
- •Правила преобразования формул логики предикатов
- •Тема 3. Элементы теории доказательств Аксиоматическая (формальная) теория. Исчисление предикатов
- •Метод резолюций
- •Хорновские дизъюнкты
- •Унификация. Метод резолюций в логике предикатов
- •Тема 4. Алгоритмы Понятие об алгоритмах. Схемы алгоритмов Понятие об алгоритме и теории алгоритмов
- •Схемы алгоритмов
- •Описание символов, используемых в схемах алгоритмов
- •Неразрешимые алгоритмические проблемы
- •Конечные автоматы и регулярные языки Тема 1. Синтаксис языков Алфавит, слово, язык
- •Классификация грамматик и языков
- •Регулярные языки и регулярные выражения
- •Тема 2. Переключательные функции и способы их задания Понятие о переключательных функциях
- •Некоторая трехзначная переключательная функция двух переменных
- •Трехзначная пф «дизъюнкция а, b »
- •Трехзначная пф «сумма a, b по модулю 3»
- •Трехзначная пф «а плюс 1 по модулю 3 — циклический сдвиг а»
- •Двоичные переключательные функции и способы их задания
- •Одномерная таблица истинности некоторой функции
- •Двухмерная таблица истинности
- •Основные бинарные логические операции
- •Бинарная конъюнкция
- •Бинарная конъюнкция
- •Бинарная дизъюнкция
- •Бинарная инверсия
- •Импликация
- •Эквиваленция
- •Функциональная полнота систем переключательных функций
- •Линейные функции двух переменных
- •Базисы представления переключательных функций
- •Переключательные функции от трех аргументов
- •Векторы переключательных функций
- •Вектор свойств пф
- •Цель минимизации переключательных функций
- •Тема 3. Элементы теории конечных автоматов Основные определения теории конечных автоматов
- •Понятие о технической интерпретации конечных автоматов
- •Синтез комбинационных автоматов в заданном базисе Синтез комбинационных автоматов
- •Синтез переключательной схемы
- •Синтез в базисе и, или, не
- •Синтез методом каскадов
- •Синтез в базисах и-не, или-не
- •Элементарные автоматы памяти на основе комбинационного автомата и задержки
- •Первичная таблица переходов-выходов
- •Синтез автомата-распознавателя последовательности
- •Первичная таблица переходов-выходов распознавателя 0-1-3-2
- •Тема 4. Элементы теории кодирования
- •Проблема кодирования сообщений
- •Расстояние Хемминга
- •Групповые коды
- •Хемминговы коды
Групповые коды
Рассмотрим подробнее коды слов в алфавите В = {0, 1}. Если для слов длиной т используются кодовые слова длиной n , то такие коды будем называть (т , п )-коды. Всего слов длиной m равно 2 m . Чтобы задать (т , п )-код, можно перечислить кодовые слова для всех возможных слов длиной m , как в предыдущем примере. Более экономным способом задания кодовых слов является матричное задание.
В этом случае задается порождающая матрица G = ∣∣ gij ∣∣ порядка т × п из 0 и 1. Кодовые слова определяются каждый раз по слову а = а 1 a 2 ... ат путем умножения этого слова слева, как вектора, на порождающую матрицу
Здесь сложение определяется по модулю 2. Для того чтобы разным словам соответствовали разные кодовые слова, достаточно иметь в матрице G единичный базисный минор порядка т , например крайний левый.
Пример 13 .4 . Рассмотрим порождающую матрицу
Эта матрица задает (3, 4)-код. При этом три первые символа в кодовом слове информационные, а четвертый — контрольный. Он равен 0, если четное число единиц в исходном слове, и 1, если нечетное число единиц. Например, для слова а = 101 кодом будет b = aG = 1010. Минимальное расстояние Хемминга между кодовыми словами равно d ( bi , bj ) = 2. Поэтому это — код, обнаруживающий однократную ошибку.
Определение 13.2. Код
называется групповым
, если множество всех
кодовых слов образует группу. Число
единиц в слове а называется весам
слова и обозначается
Если b
— кодовое слово и принятое
в канале связи слово с
= b
+ е
, то слово е
называется вектором
ошибок
.
Теорема 13.3. Пусть
имеется групповой (т
, п
)-код. Тогда коммутативная группа К
всех кодовых слов является подгруппой
коммутативной группы С
всех слов длины п
, которые могут быть приняты в канале
связи. Наименьшее расстояние между
кодовыми словами равно наименьшему
весу ненулевого кодового слова и
Рассмотрим фактор-группу С / K . Смежные классы здесь будут определяться сдвигом е + b , b ∈ K .
В качестве представителя смежного класса выберем элемент с наименьшим весом. Будем такие элементы называть лидерами смежного класса .
Если лидеры трактовать как векторы ошибок, то каждый смежный класс — множество искаженных слов в канале связи с фиксированным вектором ошибок, в частности при е = 0 имеем смежный класс слов без искажений, т. е. множество всех кодовых слов. Процесс коррекции и декодирования слова с заключается в поиске того смежного класса, к которому относится слово с = е + b . Вектор ошибок е определяет число и локализацию ошибок, кодовое слово b определяет коррекцию принятого слова.
Чтобы облегчить поиск смежного класса и тем самым вектора ошибок, Хемминг предложил использовать групповые коды со специальными порождающими матрицами.
Хемминговы коды
Рассмотрим построение хеммингова (т , п )-кода с наименьшим весом кодового слова равным 3, т. е. кода, исправляющего одну ошибку.
Положим п = 2 r – 1 и пусть в каждом кодовом слове будут r символов контрольными, а т символов (т = п – r = 2 r – 1– r ) — информационными, r ≥ 2, например (1, 3)-код, (4, 7)-код и т. д. При этом в каждом кодовом слове b = b 1 b 2 ... b п символы с индексами, равными степени 2, будут контрольными, а остальные информационными. Например, для (4, 7)-кода в кодовом слове b = b 1 b 2 b 3 b 4 b 5 b 6 b 7 символы b 1 b 2 b 4 будут контрольными, а символы b 3 b 5 b 6 b 7 — информационными. Чтобы задать порождающую матрицу G хеммингова (т , п )-кода, рассмотрим вспомогательную матрицу М порядка r × п , где п = 2 r – 1, такую, что в каждом j столбце матрицы М будут стоять символы двоичного разложения числа j , например для (4, 7)-кода матрица М будет 3 × 7:
Множество всех кодовых слов зададим как множество решений однородной системы линейных алгебраических уравнений вида
b МТ = 0.
Например, для (4, 7)-кода такая система будет:
Выберем естественный базисный минор системы b МТ = 0, стоящий в столбцах с номерами, равными степени 2. Тем самым переменные разделим на базисные (кодовые) и свободные (информационные). Теперь, задав свободные переменные, легко получить базисные. Найдем фундаментальную систему m = п – r решений этой однородной системы. Тогда любое решение системы есть линейная комбинация этих m решений. Поэтому, выписав построчно m решений фундаментальной системы в виде матрицы G размером m × п , получим порождающую матрицу хеммингова группового (т , п )-кода, например для (4, 7)-кода фундаментальной системой решений будут 4 = 7 – 3 следующих решения однородной системы:
g 1 = 1110000, g 2 = 1001100, g 3 = 0101010, g 4 = 1101001.
Любая линейная комбинация этих решений будет решением, т. е. кодовым словом. Составим из этих фундаментальных решений порождающую матрицу
Теперь по любому слову а длиной т = 4 легко вычислить кодовое слово b длиной п = 7 при помощи порождающей матрицы b = aG . При этом символы b 3 , b 5 , b 6 , b 7 будут информационными. Они совпадают с а 1 , а 1 , а 3 , а 4 .Символы b 1 , b 2 , b 4 будут контрольными.
Вывод . Хемминговы коды удобны тем, что при декодировании легко определяются классы смежности. Пусть принятое по каналу связи слово будет с = е + b , где е — ошибка, b — кодовое слово. Тогда умножим его на вспомогательную матрицу сМТ = (е + b )МТ = еМ T . Если еМ T = 0, то слово с — кодовое и считаем: ошибки нет. Если еМ T ≠ 0, то слово е определяет ошибку.
Напомним, что построенный хеммингов (т , п )-код определяет одну ошибку. Поэтому вектор ошибки е содержит одну единицу в i позиции. Причем номер i позиции получается в двоичном представлении как результат еМ T , совпадающий с i столбцом матрицы М . Осталось изменить символ i в принятом по каналу слове с, вычеркнуть контрольные символы и выписать декодированное слово.
Например, пусть принятое слово будет с = 1100011 для (4, 7)-кода Хемминга. Умножим это слово на матрицу М T . Получим
(1100011}М T =(010).
Следовательно, есть ошибка во втором символе. Поэтому кодовое слово будет b = 1000011. Вычеркнем контрольные символы b 1 , b 2 , b 4 .Декодированное слово будет а = 0011.
Конечно, если ошибка была допущена более чем в одном символе, то этот код ее не исправит.
Цит. по: Дискретная математика: учебник для студ. вузов / Т.С. Соболева, А.В. Чечкин; под ред. А.В. Чечкина. — М.: Издательский центр «Академия», 2006. — С. 180–186. — (Университетский учебник. Сер. Прикладная математика и информатика).
Горбатов В.А. Основы дискретной математики / Учеб. пособие для вузов. - М: Высшая школа, 1986. — 312 с.
Там же.
ГОСТ 701-90. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. — М.: Издательство стандартов, 1991. — 26 с.
Горбатов В.А. Основы дискретной математики / Учеб. пособие для вузов. — М: Высшая школа, 1986. — 312 с.
Кэли (Кейли) ( Cayley ) Артур (1821-1895) — английский математик.
Горбатов В.А. Основы дискретной математики / Учеб. пособие для вузов. — М: Высшая школа, 1986. — 312 с.
Тюрин С.Ф. Проблема сохранения функциональной полноты булевых функций при «отказах» аргументов // Автоматика и телемеханика. — 1999. — № 9. — С. 176–186.
Потемкин И.С. Функциональные узлы цифровой автоматики. — М.: Энергоатомиздат, 1988. — 258 с.
Там же.
Коган Т.И. Дискретные устройства (автоматы). — Пермь: Тип. ПВВКИУ, 1985. — 208 с.
Кузнецов О.П. Дискретная математика для инженера / О.П. Кузнецов, Г.М. Адельсон-Вельский. — М: Энергоатомиздат, 1988 г. — 450 с.
Там же.
Там же.
Там же.
Там же.
Там же.
Там же.
Горбатов В.А. Основы дискретной математики / Учеб. пособие для вузов. — М: Высшая школа, 1986. — 312 с.
Там же.
Горбатов В.А. Фундаментальные основы дискретной математики. Информационная математика: Учеб. пособие для вузов. — М.: Наука, 2000. — 540 с.;
Кузнецов О.П. Дискретная математика для инженера / О.П. Кузнецов, Г.М. Адельсон-Вельский. — М: Энергоатомиздат, 1988 г. — 450 с.
