- •1.1 Множества и отношения
- •1.2 Сравнение множеств
- •1.3 Операции над множествами
- •1.4 Диаграммы Эйлера-Венна
- •1.5 Табличный способ задания множеств
- •2.2 Логические связки (операции) над высказываниями.
- •1.6 Свойства операций над множествами
- •1.7 Отношения
- •1.8 Специальные бинарные отношения
- •2.1 Высказывания
- •2.3 Пропозициональные формулы
- •2.4 Булевы функции. Таблицы истинности.
- •2.5 Булевы функции одной переменной
- •2.6 Булевы функции двух переменных
- •2.7 Существенные и несущественные переменные
- •2.8 Равносильные формулы. Основные равносильности
- •2.9 Основные тавтологии
- •2.10 Основные равносильности
- •2.11 Понятие двойственной функции
- •2.12 Некоторые двойственные функции
- •2.13 Элементарные канонические формы
- •2.14 Нормальные формы формул
- •2.15 Приведение формул к нормальным формам
- •2.16 Минимизация д.Н.Ф.
- •2.17 Полные системы функций. Полином Жегалкина
- •2.18 Функционально замкнутые классы функций
- •3.1 Основные понятия и определения
- •3.2 Смежность, инцидентность, степени
- •3.3 Способы задания графов
- •3.4 Подграфы. Операции на графах
- •3.5 Связность. Компоненты связности. Маршруты и пути.
- •3.6 Эйлеровы и гамильтоновы графы.
- •3.7 Деревья и леса.
- •3.8 Цикломатическое число графа. Построение
- •4.1 Понятие конечного детерминированного автомата
- •4.2 Способы задания автоматов.
- •4.3 Эквивалентные состояния. Минимизация к.Д.А.
- •4.4 Алгоритм минимизации конечного автомата.
- •4.5 Каноническая таблица. Канонические уравнения.
- •4.6 Функциональные и логические элементы. Проектирование дискретных устройств.
4.3 Эквивалентные состояния. Минимизация к.Д.А.
Определение. Две диаграммы Мура называются изоморфными, если они могут быть превращены одна в другую переобозначением вершин.
Определение. Два автомата называются изоморфными, если их диаграммы Мура изоморфны.
Рассмотрим
два автомата
и
с
одинаковыми входным и выходным алфавитами.
Определение. Состояния
и
называются неотличимыми (эквивалентными)
тогда и только тогда, когда для любого
входного слова х результат
работы автомата
такой
же, как и для
.
В частном случае, когда = , то речь идет о неотличимых состояниях одного автомата.
Определение. Автоматы и называются неотличимыми (эквивалентными) тогда и только тогда, когда для любого состояния найдется эквивалентное ему состояние и обратно.
Неотличимые автоматы осуществляют одно и то же отображение входных слов в выходные.
Определение. Автомат А называется приведенным, если в нем нет эквивалентных (неразличимых) состояний.
Число
состояний в приведенном автомате минимально.
Для любого автомата
существует
эквивалентный ему приведенный автомат А.
Процедура нахождения такого автомата
называется минимизацией автомата
.
4.4 Алгоритм минимизации конечного автомата.
Шаг
1:
два состояния s и t относим
в один класс
,
если для любого входного символа x значение
функции выхода sсовпадает
со значениями функции выхода t.
В результате получим r классов:
.
Шаг k:
два состояния s и t из
одного класса
,
полученного на предыдущем шаге, относим
в один класс
,
если для любого значения входного
символа значения функций состояний
принадлежат одному и тому же классу из
предыдущего шага. Если шаг k не
изменяет разбиения, то процесс
останавливается. Доопределяем функции
перехода и выхода и строим таблицу
переходов –выходов.
Пример. Минимизировать автомат, заданный таблицей:
Шаг 1: Первое, третье и четвертое состояния отнесем в один класс состояний, а второе, пятое и шестое – в другой:
;
Шаг
2: Выпишем значения функции переходов
для состояний из класса
:
;
;
;
;
;
;
Видно,
что 1 и 3-е состояния относим в один класс
этого шага
,
а четвертое состояние – в другой
.
Проанализировав аналогичным образом
значения функции выходов для состояний
из класса
,
видим:
;
;
;
;
;
;
,
т.е. все они остаются в одном классе. В
результате получим разбиение на классы:
;
;
Шаг
3:
;
;
.
Дальнейшего разбиения классов не
происходит, поэтому процесс останавливается.
Класс
назовем
состоянием
,
класс состояний
назовем
состоянием
,
а класс
–
состоянием
.
Построим таблицу переходов–выходов:
Построенный автомат – минимальный.
4.5 Каноническая таблица. Канонические уравнения.
Реализация К.Д.А. осуществляется на основе канонических уравнений, которые находятся с помощью канонической таблицы. Каноническая таблица строится следующим образом по таблице переходов–выходов или диаграмме Мура.
Аргументы функций и находятся в столбцах слева, а справа – их значения.
S\X |
|
… |
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s(t) |
x(t) |
y(t) |
s(t+1) |
|
|
|
|
… |
… |
… |
… |
|
|
|
|
|
|
|
|
… |
… |
… |
… |
|
|
|
|
… |
… |
… |
… |
|
|
|
|
… |
… |
… |
… |
|
|
|
|
Канонические уравнения имеют вид:
Элементы множеств S, X, Y кодируют двоичными наборами, соблюдая при этом следующие условия:
разным элементам в каждом из множеств S, X, Y соответствуют разные кодовые наборы;
длины кодовых наборов в каждом из множеств S, X, Y должны совпадать и быть по возможности минимальными;
начальному состоянию соответствует набор
.
После
кодирования
,
,
принимают
вид:
=
=
=
Таблица преобразовывается к скалярному виду следующим образом:
|
… |
|
… |
|
… |
|
|
… |
|
|
|
|
|
|
|
|
|
|
|
… |
. |
… |
|
… |
|
… |
… |
|
… |
*
Для
того, чтобы представить
,
как
булевы функции, необходимо, чтобы они
были всюду определены. С этой целью к
таблице добавляются строки, содержащие
в левой части недостающие наборы, а в
правой части
– прочерки. Затем, прочерки заполняются
0 и 1 (функции доопределяются) так, чтобы
по соответствующим столбцам
значений и можно
было записать формулу в виде СКНФ или
СДНФ или в каком-нибудь другом наиболее
простом виде.
Пример. Автомат задан таблицей переходов – выходов:
Записать его канонические уравнения.
Закодируем
состояние
00 (начальное), состояние
01, состояние
10.
Запишем каноническую таблицу:
s(t) |
x(t) |
y(t) |
s(t+1) |
00 |
0 |
1 |
01 |
00 |
1 |
1 |
10 |
01 |
0 |
1 |
01 |
01 |
1 |
1 |
01 |
10 |
0 |
0 |
10 |
10 |
1 |
1 |
10 |
И преобразуем ее к скалярному виду:
|
|
x(t) |
y(t) |
(t+1) |
(t+1) |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
Две последние строки доопределим следующим образом:
(t) |
(t) |
x(t) |
y(t) |
(t+1) |
(t+1) |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
Запишем канонические уравнения:
.
Осталось упростить уравнения.
Применим
метод группировки
=
;
=
;
и запишем канонические уравнения в более простом виде:
