- •28. Свойства логических операций
- •Примеры и контрпримеры
- •Построение днф Алгоритм построения днф
- •Пример построения днф
- •Переход от днф к сднф
- •Примеры и контрпримеры
- •Построение кнф Алгоритм построения кнф
- •Пример построения кнф
- •Переход от кнф к скнф
- •Предпосылки
- •Cуществование и единственность представления
- •Метод треугольника
- •Трёхзначные логики
- •Четырёхзначные логики
- •Конечнозначные логики
- •Бесконечнозначные логики
- •37. Перестановочный шифр
- •Пример (шифр Древней Спарты)
- •Шифры простой замены
- •Примеры шифров простой замены Шифр Атбаш
- •Шифр с использованием кодового слова
- •Безопасность шифров простой замены
- •Омофоническая замена
- •Примеры омофонических шифров Номенклатор
- •Великий Шифр Россиньоля
- •Книжный шифр
- •Криптоанализ
- •Математическая модель
- •Префиксные коды
- •40. Необходимые и достаточные условия существования префиксного кода с заданными длинами кодовых слов. Неравенство Крафта
- •41. Оптимальное кодирование, свойства оптимальных кодов, построение оптимальных кодов методом Хафмена
- •42. Передача данных и кодирование информации
- •Коды обнаружения и исправления ошибок
- •43. Коды обнаружения и исправления ошибок
- •Блоковые коды
- •Линейные коды общего вида
- •Минимальное расстояние и корректирующая способность
- •Коды Хемминга — простейшие линейные коды с минимальным расстоянием 3, то есть способные исправить одну ошибку. Код Хемминга может быть представлен в таком виде, что синдром
- •Общий метод декодирования линейных кодов
- •Линейные циклические коды
- •Порождающий (генераторный) полином
- •Коды crc
- •Преимущества и недостатки свёрточных кодов
- •Каскадное кодирование. Итеративное декодирование
- •Примеры
- •Свойства
- •История
- •Систематические коды
- •Самоконтролирующиеся коды
- •Самокорректирующиеся коды
- •Литература
- •Код Хемминга
- •Алгоритм
- •Другие способы описания
- •Детерминированность
- •Автоматы и регулярные языки
- •Специализированные языки программирования
- •Разработка моделей с использованием конечных автоматов
- •Принцип построения
- •Способы получения минимальной формы
- •Граф переходов
- •Матрица переходов
- •Свойства минимальной формы
- •Термины
- •Порождающие грамматики
- •Типы грамматик
- •Применение
- •Пример — арифметические выражения
- •Аналитические грамматики
- •Классификация грамматик
- •Классификация языков
- •8.2. Устранение эпсилон-правил
- •8.3. Нормальная форма Хомского
Матрица переходов
Если заданы матрица переходов и эквивалентное разбиение Σ1..Σň автомата S, то матрица переходов Š может быть построена следующим образом:
Провести симметрическую перестановку и симметрическое разбиение [S] так, чтобы строки (и столбцы) группировались соответственно классам эквивалентности S (эту же матрицу можно получить при матричном методе эквивалентного разбиения).
Заменить все обозначения строк (и столбцов) каждой группы, представляющей класс эквивалентности, одним обозначением этого класса.
Заменить каждую подматрицу в разбитой матрице одной клеткой, содержащей все пары вход-выход, которые имеются в любой строке этой подматрицы (все строки в любой такой подматрице содержат одно и то же множество пар вход-выход).
Полученная в результате матрица является матрицей переходов Š.
Свойства минимальной формы
Если Š является минимальной формой автомата S, то:
Š является единственной минимальной формой с точностью до обозначения состояний
Š=S
Никакие два состояния Š не являются эквивалентными
Не существует автомата, эквивалентного S и меньшего (с меньшим числом состояний), чем Š.
76. Формальная грамматика или просто грамматика в теории формальных языков — способ описания формального языка, то есть выделения некоторого подмножества из множества всех слов некоторого конечного алфавита. Различают порождающие и распознающие (или аналитические) грамматики — первые задают правила, с помощью которых можно построить любое слово языка, а вторые позволяют по данному слову определить, входит оно в язык или нет.
Термины
Терминал (терминальный символ) — объект, непосредственно присутствующий в словах языка, соответствующего грамматике, и имеющий конкретное, неизменяемое значение (обобщение понятия «буквы»). В формальных языках, используемых на компьютере, в качестве терминалов обычно берут все или часть стандартных символов ASCII — латинские буквы, цифры и спец. символы.
Нетерминал (нетерминальный символ) — объект, обозначающий какую-либо сущность языка (например: формула, арифметическое выражение, команда) и не имеющий конкретного символьного значения.
Порождающие грамматики
Словами языка, заданного грамматикой, являются все последовательности терминалов, выводимые (порождаемые) из начального нетерминала по правилам вывода.
Чтобы задать грамматику, требуется задать алфавиты терминалов и нетерминалов, набор правил вывода, а также выделить в множестве нетерминалов начальный.
Итак, грамматика определяется следующими характеристиками:
—
набор (алфавит)
терминальных символовN — набор (алфавит) нетерминальных символов
P — набор правил вида: «левая часть» «правая часть», где:
«левая часть» — непустая последовательность терминалов и нетерминалов, содержащая хотя бы один нетерминал
«правая часть» — любая последовательность терминалов и нетерминалов
S — стартовый (начальный) символ из набора нетерминалов.
Вывод
Выводом называется последовательность строк, состоящих из терминалов и нетерминалов, где первой идет строка, состоящая из одного стартового нетерминала, а каждая последующая строка получена из предыдущей путем замены некоторой подстроки по одному (любому) из правил. Конечной строкой является строка, полностью состоящая из терминалов, и следовательно являющаяся словом языка.
Существование вывода для некоторого слова является критерием его принадлежности к языку, определяемому данной грамматикой.
