- •Введение в дискретный анализ
- •Глава 1. Введение в теорию множеств
- •Тема 1.1. Множества и операции над ними
- •1.1.1. Основные понятия
- •1.1.2. Операции над множествами
- •1.1.3. Векторы и прямые произведения
- •Вопросы для повторения
- •Резюме по теме
- •Тема 1.2. Отношения
- •1.2.1. Основные понятия и определения
- •1.2.2. Бинарные отношения. Основные определения
- •1.2.4. Эквивалентность и порядок
- •Вопросы для повторения
- •Резюме по теме
- •Тема 1.3. Соответствия и функции
- •1.3.1. Соответствия и их свойства
- •1.3.2. Взаимно однозначные соответствия и мощности множеств
- •1.3.3. Функции и отображения
- •1.3.4. Операции
- •1.3.5. Гомоморфизмы и изоморфизмы
- •Вопросы для повторения
- •Резюме по теме
- •Глава 2. Математическая логика
- •Тема 2.1. Логика высказываний
- •2.1.1. Логические связки
- •2.1.2. Основные схемы логически правильных рассуждений
- •2.2.2. Булева алгебра
- •2.2.3. Эквивалентные преобразования
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2.3. Полнота и замкнутость
- •2.3.1. Функционально полные системы
- •2.3.2. Алгебра Жегалкина и линейные функции
- •2.3.3. Замкнутые классы и монотонные функции
- •2.3.4. Теоремы о функциональной полноте
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2.4. Нечеткая логика
- •2.4.1. Основные понятия теории нечетких множеств
- •2.4.2. Логические операции над нечеткими множествами
- •2.4.3. Свойства логических операций над нечеткими множествами
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2.5. Нечеткие модели управления
- •2.5.1. Нечеткие операторы
- •2.5.2. Нечеткая и лингвистическая переменные
- •2.5.3. Нечеткий логический вывод
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2.6. Логика предикатов
- •2.6.1. Предикаты. Основные понятия
- •2.6.2. Кванторы
- •2.6.3. Выполнимость и истинность
- •2.6.4. Эквивалентные соотношения. Префиксная нормальная форма
- •Вопросы для повторения
- •Резюме по теме
- •Глава 3. Комбинаторика
- •Тема 3.1. Комбинаторные конфигурации
- •3.1.1. Принципы сложения и умножения
- •3.1.2. Перестановки
- •3.1.3. Размещения
- •3.1.4. Сочетания
- •3.2.2. Полиномиальная формула
- •3.2.3. Формула включений и исключений
- •Вопросы для повторения
- •Резюме по теме
- •Глава 4. Теория графов
- •Тема 4.1. Основные понятия и операции на графах
- •4.1.1. Основные понятия
- •4.1.2. Способы задания графов
- •4.1.3. Операции над частями графа. Графы и бинарные отношения
- •Вопросы для повторения
- •Резюме по теме
- •Тема 4.2. Маршруты и деревья
- •4.2.1. Маршруты, пути, цепи, циклы
- •4.2.2. Дерево и лес
- •5.1.2. Способы задания автоматов
- •5.1.3. Взаимосвязь между моделями Мили и Мура
- •Вопросы для повторения
- •Резюме по теме
- •Тема 5.2. Детерминированные конечные автоматы
- •5.2.1.Основные понятия детерминированных конечных автоматов
- •5.2.2. Схема доказательства правильности конечного автомата
- •5.2.3. Произведение автоматов
- •5.3.2. Детерминизация нка
- •Вопросы для повторения
- •Резюме по теме
5.1.2. Способы задания автоматов
Существуют следующие способы задания абстрактных автоматов: табличный, графический и матричный.
Табличный способы задания автомата
Задание автомата Мили.
Таблица 2. Задание автомата Мили
-
X
S
X1
X2
. . .
XM
S0
(S0,X1)/(S0,X1)
(S0,X2)/((S0,X2)
. . .
(S0,XM)/(S0,XM)
S1
(S1,X1)/(S1,X1)
(S1,X2)/(S1,X2)
. . .
(S1,XM)/(S1,XM
. . .
SK-1
(SK-1,X1)/(SK-1,X1)
(SK-1,X2)/(SK-1,X2)
. . .
(SK-1,XM)/(SK-1,XM)
Строкам таблицы 2 соответствуют состояния, столбцам – входные сигналы (буквы). На пересечении i-й строки и j-го столбца записывается состояние, в которое автомат переходит из состояния Si при подаче на его вход Xj и выходной сигнал Yp, который вырабатывается при данном переходе.
Иногда автомат задают в виде двух таблиц – таблицы переходов и таблицы выходов. В таблице переходов на пересечении строк и столбцов записываются следующие состояния, в таблице выходов – соответствующие данным переходам выходы.
Задание автомата Мура. В общем случае автомат Мура представлен отмеченной таблицей 3 переходов. Строки таблицы, соответствующие состояниям, отмечены выходными сигналами.
Таблица 3. Задание автомата Мура
Вход В ыход |
Состояние |
X1 |
X2 |
. . . |
XM |
(S0) |
S0 |
(S0 ,X1) |
(S0 ,X2) |
|
( S0 ,XM) |
(S1) |
S1 |
(S1,X1) |
(S1,X2) |
|
( S1 ,XM) |
... |
|
|
|
|
|
(Sk-1) |
Sk-1 |
(Sk-1,X1) |
(Sk-1,X2) |
|
(Sk-1,XM) |
Задание автомата в виде ориентированного графа
Задание автомата Мили. Вершинам графа ставятся в соответствие состояния автомата, а ребрам – переходы. Стрелка указывает направление перехода. Вершины отмечаются состояниями; на ребре указывается входной сигнал, вызывающий данный переход, и выходной сигнал, вырабатывающийся при данном переходе.
Пример 2.
X = {X1, X 2, X3 }; Y = { Y1, Y2, Y3, Y4 }; S = {S0, S1, S2, S3, S4}
Рис. 5.4. Граф автомата Мили
Задание автомата Мура. Каждая вершина графа отмечается состоянием и выходным сигналом. На ребре указывается только входной сигнал, вызывающий данный переход.
Рис. 5.5. Граф автомата Мура
Задание автомата в виде матрицы
Автомат задается в виде квадратной матрицы, строки и столбцы которой отмечены состояниями, как показано на табл. 4.
Автомат Мили.
Если из состояния Si есть переход в состояние Sj под действием сигнала Xk и при этом вырабатывается сигнал YP, то на пересечении i-й строки и j-го столбца записываются входной и выходной сигналы XK/YP соответственно.
Пример задания автомата Мили (табл. 4), приведенного на рис. 4.
Таблица 4. Задание матрицей автомата Мили (рис. 4)
|
So |
S1 |
S2 |
S3 |
S4 |
So |
X3/Y1 |
X1/Y1 |
X2/Y2 |
- |
- |
S1 |
X3/Y1 |
- |
X2/Y3 |
X1/Y2 |
- |
S2 |
X2/Y4 |
X3/Y2 |
- |
- |
X1/Y3 |
S3 |
- |
X1/Y2 |
X1/Y2 |
- |
X2/Y4 |
S4 |
- |
- |
X3/Y1 |
X2/Y4 |
X1/Y1 |
Автомат Мура.
Для задания автомата Мура требуется две матрицы: матрица переходов и вектор выходных сигналов.
Пример задания автомата Мура, приведенного на рис. 5.
Таблица 5. Задание матрицей автомата Мили (рис. 5)
|
So |
S1 |
S2 |
|
|
So |
- |
X1 |
X2 |
So |
Y1 |
S1 |
- |
X2 |
X1 |
S1 |
Y2 |
S2 |
X1 |
- |
X2 |
S2 |
Y1 |
Другой формой матричного представления автомата являются матрицы переходов. Они описывают, как распределяются переходы для каждого входа отдельно. Каждому входу x ставится в соответствие матрица переходов Тx=|txj k|, в которой для каждого состояния имеется один столбец и одна строка; txjk=1, если вход x переводит автомат из состояния Sj в состояние Sk;; txjk=0, если вход x переводит автомат из Sj в Sp (p = k) .
Пример 3.
Построим граф переходов детектора входных последовательностей нулей и единиц. Если на вход автомата поступает последовательность из четырех единиц, то на выходе автомата появляется “1”. Во всех остальных ситуациях на выходе автомата – “0”.
X = {0, 1}; Y = {0, 1}. Множество состояний, функцию переходов и функцию выходов определим при построении графа (рис. 5.6). S = {S0, S1, S2, S3}.
Состояние S0 является начальным и хранит информацию о том, что последний входной сигнал был нулем. Состояние S1 хранит информацию о том, что на вход детектора была подана одна единица, S2 – о том, что на входе две единицы, S3 помнит предысторию трех единиц.
Рис. 5.6. Автомат детектора входных последовательностей нулей и единиц
Пример 4.
Рассмотрим построение графа переходов линейного (последовательностного) сумматора (рис. 5.7). В отличие от последовательного сумматора одноименные разряды последовательных слагаемых А и В поступают на вход не одновременно, а поочередно – сначала, например, ai, затем bi. При этом входная последовательность будет следующей: a0 b0 a1 b1 a2 b2 ... Выходная последовательность:
- c0 -c1- c2 -... Черточка (тире) обозначает, что выход не определен, т.е. не имеет значения.
Рис. 5.7. Автомат линейного сумматора
Состояние S0 – начальное состояние. В это состояние автомат попадает после введения четного числа знаков ai, bi, если при вычислении ci не произошел перенос.
В S1 автомат попадает из S0 при аi=0, выходной сигнал еще не определен. При переходе из этого состояния ci=bi и переноса нет.
В состояние S3 автомат попадает после подачи на вход bi, если при вычислении ci произошел перенос в следующий разряд.
В S2 автомат переходит из S0 при ai=1 и из S3 при ai=0. При переходе из этого состояния ci=bi.
В состояние S4 автомат попадает из S3 при ai=1, выходной сигнал еще не определен (введено нечетное число знаков). При переходе из этого состояния ci=bi и перенос есть.
По состоянию, в которое автомат переходит после введения последовательности длины 2k, можно установить, является ли выходная последовательность в точности суммой C=А+B или нет. Если последним оказывается состояние S0, то выходная последовательность представляет число С; если последним оказывается состояние S3, то выходная последовательность представляет число A+B+2k.
Рассмотренный в данном примере автомат не полностью определен: не имеющие значения выходы отмечены тире.
Автомат называется полностью определенным автоматом, если для любой пары “состояние-вход” известны следующее состояние автомата и выход.
В противном случае автомат является не полностью определенным.