
- •28. Свойства логических операций
- •Примеры и контрпримеры
- •Построение днф Алгоритм построения днф
- •Пример построения днф
- •Переход от днф к сднф
- •Примеры и контрпримеры
- •Построение кнф Алгоритм построения кнф
- •Пример построения кнф
- •Переход от кнф к скнф
- •Предпосылки
- •Cуществование и единственность представления
- •Метод треугольника
- •Трёхзначные логики
- •Четырёхзначные логики
- •Конечнозначные логики
- •Бесконечнозначные логики
- •37. Перестановочный шифр
- •Пример (шифр Древней Спарты)
- •Шифры простой замены
- •Примеры шифров простой замены Шифр Атбаш
- •Шифр с использованием кодового слова
- •Безопасность шифров простой замены
- •Омофоническая замена
- •Примеры омофонических шифров Номенклатор
- •Великий Шифр Россиньоля
- •Книжный шифр
- •Криптоанализ
- •Математическая модель
- •Префиксные коды
- •40. Необходимые и достаточные условия существования префиксного кода с заданными длинами кодовых слов. Неравенство Крафта
- •41. Оптимальное кодирование, свойства оптимальных кодов, построение оптимальных кодов методом Хафмена
- •42. Передача данных и кодирование информации
- •Коды обнаружения и исправления ошибок
- •43. Коды обнаружения и исправления ошибок
- •Блоковые коды
- •Линейные коды общего вида
- •Минимальное расстояние и корректирующая способность
- •Коды Хемминга — простейшие линейные коды с минимальным расстоянием 3, то есть способные исправить одну ошибку. Код Хемминга может быть представлен в таком виде, что синдром
- •Общий метод декодирования линейных кодов
- •Линейные циклические коды
- •Порождающий (генераторный) полином
- •Коды crc
- •Преимущества и недостатки свёрточных кодов
- •Каскадное кодирование. Итеративное декодирование
- •Примеры
- •Свойства
- •История
- •Систематические коды
- •Самоконтролирующиеся коды
- •Самокорректирующиеся коды
- •Литература
- •Код Хемминга
- •Алгоритм
- •Другие способы описания
- •Детерминированность
- •Автоматы и регулярные языки
- •Специализированные языки программирования
- •Разработка моделей с использованием конечных автоматов
- •Принцип построения
- •Способы получения минимальной формы
- •Граф переходов
- •Матрица переходов
- •Свойства минимальной формы
- •Термины
- •Порождающие грамматики
- •Типы грамматик
- •Применение
- •Пример — арифметические выражения
- •Аналитические грамматики
- •Классификация грамматик
- •Классификация языков
- •8.2. Устранение эпсилон-правил
- •8.3. Нормальная форма Хомского
Другие способы описания
Диаграмма состояний (или иногда граф переходов) — графическое представление множества состояний и функции переходов. Представляет собой нагруженный однонаправленный граф, вершины которого — состояния КА, ребра — переходы из одного состояния в другое, а нагрузка — символы, при которых осуществляется данный переход. Если переход из состояния q1 в q2 может быть осуществлен при появлении одного из нескольких символов, то над дугой диаграммы (ветвью графа) должны быть надписаны все они.
Таблица переходов — табличное представление функции δ. Обычно в такой таблице каждой строке соответствует одно состояние, а столбцу — один допустимый входной символ. В ячейке на пересечении строки и столбца записывается действие, которое должен выполнить автомат, если в ситуации, когда он находился в данном состоянии на входе он получил данный символ.
Детерминированность
Конечные автоматы подразделяются на детерминированные и недетерминированные.
Детерминированный конечный автомат
Детерминированным конечным автоматом (ДКА) называется такой автомат, в котором для каждой последовательности входных символов существует лишь одно состояние, в которое автомат может перейти из текущего.
Недетерминированный конечный автомат (НКА) является обобщением детерминированного. Недетерминированность автоматов достигается двумя способами:
Существуют переходы, помеченные пустой цепочкой ε |
Из одного состояния выходит несколько переходов, помеченных одним и тем же символом |
|
|
Если
рассмотреть случай, когда автомат задан
следующим образом:
,
где:
S — множество стартовых состояний автомата, такое что
;
Тогда
появляется третий признак недетерминизма
- наличие нескольких начальных (стартовых)
состояний у автомата
.
Существует теорема, гласящая, что «Любой недетерминированный конечный автомат может быть преобразован в детерминированный так, чтобы их языки совпадали» (такие автоматы называются эквивалентными). Однако, поскольку количество состояний в эквивалентном ДКА в худшем случае растёт экспоненциально с ростом количества состояний исходного НКА, на практике подобная детерминизация не всегда возможна. Кроме того, конечные автоматы с выходом в общем случае не поддаются детерминизации.
В силу последних двух замечаний, несмотря на бо́льшую сложность недетерминированных конечных автоматов, для задач, связанных с обработкой текста, преимущественно применяются именно НКА.
Автоматы и регулярные языки
Для автомата можно определить язык (множество слов) в алфавите Σ, который он представляет — так называются слова, при вводе которых автомат переходит из начального состояния в одно из состояний множества F.
Теорема Клини гласит, что класс языков, представимых конечными автоматами, совпадает с классом регулярных языков. Кроме того, этот класс совпадает с классом языков, задаваемых регулярными грамматиками.
Специализированные языки программирования
Язык последовательных функциональных схем SFC (Sequential Function Chart) — графический язык программирования широко используется для программирования промышленных логических контроллеров (ПЛК).
В SFC программа описывается в виде схематической последовательности шагов, объединенных переходами.