- •«Дискретная математика»
- •Множества и отношения Тема 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-3-2 двоичного двухразрядного сигнала (в десятичном коде).
Требуется получить ПФ, описывающие соответствующий конечный автомат-распознаватель последовательности (рис. 75).
Рис. 75. Распознаватель последовательности на входах a, b
Последовательность поступает на входы a, b конечного автомата (КА):
Это правильная последовательность изменения входов а, b в соответствии с заданием.
Возможны и неправильные последовательности из алфавита А = {0, 1, 2, 3}. Ограничим возможные неправильные коды изменением только одного двоичного разряда.
Рассмотрим соответствующий квадрат соседних чисел (рис. 76, так как всего два входа).
Рис. 76. Иллюстрация изменения входов
Направление изменения входных кодов показано стрелками. Видно, что вначале из 00 (0) имеем переход в 01 (1), если последовательность правильная. Если последовательность неправильная, тогда возможен лишь один вариант (рис. 77).
Рис. 77. Иллюстрация возможного нарушения последовательности: из 00(0) в 10(2)
На втором шаге правильно: 01 (1) в 11 (3), а неправильно (рис. 78), т. е. возможен возврат в 00.
Рис. 78. Иллюстрация возможного нарушения последовательности: из 01(1) в 00(0)
Аналогично на третьем шаге неправильным будет переход из 11 (3) в 01 (1) (рис. 79).
Рис. 79. Иллюстрация возможного нарушения последовательности: из 11(3) в 01(1)
Таким образом, можно построить граф возможных последовательностей (рис. 80).
Рис. 80. Граф последовательностей распознавателя 0-1-3-2
Таким образом, имеем всего 4 последовательности:
Строим первичную таблицу переходов (ПТП) соответствующего конечного автомата-распознавателя последовательности 0-1-3-2 (табл. 63).
Таблица 63
Первичная таблица переходов-выходов распознавателя 0-1-3-2
Здесь (см. табл. 63) кружком обведены устойчивые такты работы автомата-распознавателя. Переход от одного устойчивого такта в соответствующей строке таблицы переходов-выходов к другому осуществляется через неустойчивый такт. В каждой строке ПТП только один устойчивый такт, номер которого соответствует номеру строки.
Цит. по: Дискретная математика и математическая логика: учебник / Ю.А. Аляев, С.Ф. Тюрин. — М.: Финансы и статистика, 2006. — С. 157–189.
Тема 4. Элементы теории кодирования
В кибернетике особое место занимает проблема надежности передачи информации. Это связано с тем, что разнообразные дискретные устройства, реализующие алгоритмы, имеют многочисленные каналы передачи информации. В этих каналах происходит искажение сигналов. Кодирование позволяет надежно передать требуемое сообщение, несмотря на наличие помех в канале.
Проблема кодирования сообщений
Пусть по информационному каналу требуется передавать слова в некотором алфавите А . При этом на входе канала передается слово a ∈ A *, на выходе канала принимается искаженное помехами слово с ∈ А* . Требуется по слову с восстановить слово а . Основная идея решения этой задачи заключается в следующем. Вместо слова а по каналу передается другое слово b = K (а ), которое называется кодом слова а . Код должен быть таким, чтобы по принятому искаженному слову можно было, как минимум, обнаружить ошибку или, как максимум, исправить ошибку. В связи с этим коды делятся на два класса:
1) коды с обнаружением ошибок;
2) коды с исправлением ошибок.
Далее после коррекции принятого слова предполагается его декодирование а = К –1 ( b ). Тем самым по каналу с помехами будет передано требуемое сообщение.
Пример 13 .1 . Рассмотрим простой код с обнаружением одиночной ошибки в сообщении а = а 1 ... am длины т над алфавитом В = {0,1}:
К (а ) = b = b 1 ... bm bm +1 ,
где bi = а i , i = 1, ..., т .
Последний символ кода bm +1 — контрольная сумма всех предыдущих символов по mod 2. Про символы bi , i = 1, ..., m , говорят, что они информационные, а про bm +1 , что он контрольный. Теперь принятое сообщение легко проверить на ошибку. Надо найти контрольную сумму всех символов принятого сообщения, кроме последнего символа, и сравнить ее с этим пришедшим последним символом. Если нет совпадения, то — ошибка. В каком именно из т + 1 символов принятого сообщения будет ошибка, неясно. Заметим, что в случае наличия ошибок в четном числе символов этот код их не обнаружит.
