- •«Дискретная математика»
- •Множества и отношения Тема 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. Элементы теории кодирования
- •Проблема кодирования сообщений
- •Расстояние Хемминга
- •Групповые коды
- •Хемминговы коды
Понятие о технической интерпретации конечных автоматов
В абстрактной теории автоматов существенна только работа автомата со словами при наличии конечной памяти.
Нас же более всего будет интересовать прикладная сторона теории конечных автоматов.
Конечный автомат представляет собой
хотя и абстрактную, но с функциональной
точки зрения довольно точную модель
дискретного (цифрового) вычислительного
или управляющего (контролирующего)
устройства с конечным числом состояний.
Входной символ (буква) — это входной
сигнал, точнее комбинация (набор)
сигналов на всех входах x1
, x2 , ...,
хn
(это не буквы алфавита X) устройства.
Эта комбинация сигналов на дискретных
входах еще называется входным вектором
(набором)
.
Выходной сигнал (буква) — комбинация
(набор) сигналов на дискретных выходах
z 1
, z 2
, ..., zm
(это не буквы алфавита Z) — выходной
вектор (набор)
.
Входное слово — последовательность
входных векторов, поступающих в
дискретные моменты времени (такты) t =
1, 2, 3...
Состоянию автомата соответствует
вектор
—
текущее,
—
последующее. Этот вектор задает
комбинация (набор) состояний y
1 , y
2 , ..., ys
(это не буквы алфавита Y) элементов
памяти автомата.
Выходное слово — последовательность выходных векторов в дискретные моменты времени.
Комбинационный автомат интерпретируется некоторой переключательной схемой или схемой из функциональных элементов (рис. 54).
Рис. 54. Техническая интерпретация комбинационного автомата
Функция выходов
(отображение
)
реализуется, например, с использованием
функционально-полного набора элементов,
соответствующих логическим функциям,
составляющим функционально-полную
систему. При этом
представляется
в виде суперпозиции этих логических
функций. Вопрос представления логических
функций в разных базисах и получения
соответствующих схем, так же, как и
вопрос получения переключательных
комбинационных схем, рассматривается
особо.
Последовательностный автомат интерпретируется схемой с обратными связями в виде так называемых задержек на один такт (рис. 55).
Рис. 55. Техническая интерпретация автомата Мили
Дело в том, что проблема автоматной полноты (для последовательностного автомата) алгоритмически неразрешима в отличие от проблемы полноты для переключательных функций (для комбинационного автомата).
Однако в теории конечных автоматов доказано, что последовательностный автомат может быть реализован как композиция комбинационного автомата и двоичных задержек на один такт в цепи обратной связи.
На рис. 55 ЛП — логический преобразователь — комбинационный автомат, реализующий функции переходов φ и выходов ψ, D — задержки (от слова delay — задержка). В качестве задержек могут использоваться так называемые элементы памяти.
В автомате Мура функции выходов реализуются отдельно (рис. 56), т. е. имеются два логических преобразователя (ЛП1, ЛП2).
Таким образом, в автомате Мили выходной вектор в некоторый момент времени зависит как от текущего состояния автомата, так и от входного вектора в этот момент времени.
Рис. 56. Техническая интерпретация автомата Мура
В автомате Мура выходной вектор в некоторый момент времени непосредственно не зависит от входного вектора, а однозначно определяется внутренним состоянием в этот же момент времени. Поэтому автоматы Мура менее быстродействующие, чем автоматы Мили. Автоматы могут быть описаны также уравнением (функциями) переходов и выходов (аналитически).
Реальные дискретные автоматы функционируют по тактам. Такт — отрезок времени произвольной длины, в течение которого состояние автомата остается неизменным. Такты могут обозначаться моментом времени t0 , t1 , t2 ,..., tμ , причем последовательность номеров тактов образует дискретное (автоматное) время.
В теории конечных автоматов принимается допущение, что переход из одного внутреннего состояния в другое происходит скачкообразно, мгновенно. В реальных автоматах всегда имеет место конечная длительность переходных процессов.
Такты бывают устойчивыми и неустойчивыми. Такт называют устойчивым , если очередное изменение состояния автомата происходит только за счет изменения состояния входов, т. е. после поступления очередного входного набора. Такт называют неустойчивым , если очередное изменение состояния автомата происходит только за счет изменения внутреннего состояния — элементов памяти. Устойчивые такты в клетках таблицы переходов-выходов обычно отмечают кружками. Дискретные автоматы, в которых изменение внутренних состояний происходит в определенные моменты времени, определяемые специальным генератором синхронизирующих импульсов, называют синхронными . При этом, как правило, все тактовые интервалы равны.
Автоматы, в которых переходы из одного состояния в другое заранее не определены и могут совершаться в произвольные моменты времени через неравные промежутки времени, называют асинхронными .
Дискретный автомат — это устройство дискретного преобразования информации: при подаче на его вход некоторой последовательности входных наборов он формирует некоторую последовательность выходных наборов.
Для реального автомата актуальным является наиболее экономичная его реализация из всех возможных реализаций в смысле затрат элементов, энергопотребления и т. д.
Можно интерпретировать автомат не только как устройство. Известно, что всякое управление (вычисление, контрольную операцию) можно реализовать как аппаратурно (в виде устройства), так и программно (в виде программы ЭВМ). Это приводит к более общему толкованию конечных автоматов как алгоритмов с конечной памятью, многие свойства которых можно исследовать и безотносительно к способу их реализации.
Имеется еще и другая интерпретация автоматов. Фон Нейман рассматривал автоматы как удобный язык для описания основных законов взаимодействия сложных систем, т. е., по существу, как метаязык кибернетики.
Задачами теории конечных автоматов являются:
1) изучение возможностей автоматов в терминах множеств слов, с которыми они работают (распознавание входных последовательностей — слов), формирование требуемых выходных, т. е. автоматных отображений;
2) распознавание различных свойств автоматов;
3) описание автоматов (анализ) и их реализация, т. е. представление автомата как структуры, состоящей из объектов фиксированной сложности (синтез).
При синтезе автоматов выделяют следующие этапы:
1) абстрактный синтез, или формализация условий работы, когда от некоторого высокоуровневого описания автомата (например, на естественном языке — в виде словесной формулировки) переходят к математической модели. Такой моделью может быть таблица истинности для комбинационного автомата, таблица переходов-выходов для последовательностного автомата. В свою очередь по этим моделям получают переключательные функции в символической форме;
2) структурный синтез — производится минимизация переключательных функций, описывающих автомат, выполняется их представление в виде, соответствующем заданному базису реализации.
Эти два этапа называют логическим проектированием . Их результатом является функциональная схема автомата (например, функциональная электрическая схема);
3) физический синтез — решаются вопросы построения принципиальной схемы (например, принципиальной электрической схемы), создания топологии кристалла микросхемы, обеспечения надежности, помехоустойчивости и в дальнейшем изготовления автомата.
При синтезе последовательностного автомата проводится и минимизация числа состояний автомата — путем сжатия таблицы переходов-выходов.
