- •Г.С. Розаренов, в.А. Шаруда дискретная математика Учебное пособие
- •Воронеж 2008
- •Воронеж 2008
- •Введение
- •1. Множества
- •1.1. Основные понятия
- •Упражнения
- •1.2. Операции над множествами
- •Упражнения
- •1.3. Диаграммы Венна
- •Упражнения
- •1.4. Доказательства
- •Упражнения
- •1.5. Векторы, прямые произведения, проекции векторов
- •Упражнения.
- •2. Алгебра логики
- •2.1. Функции алгебры логики
- •2.2. Формулы. Реализация функций формулами
- •2.3. Эквивалентность формул. Свойства элементарных функций. Принцип двойственности
- •2.4. Разложение булевых функций по переменным. Совершенная дизъюнктивная нормальная форма
- •2.5. Полнота и замкнутость
- •2.6. Проблема минимизации булевых функций
- •Упражнения.
- •2.7. Упрощение д.Н.Ф. Тупиковые (относительно упрощения) д.Н.Ф.
- •Упражнения.
- •3. Язык логики предикатов
- •3.1. Основные понятия логики предикатов
- •3.2. Истинные формулы и эквивалентные соотношения
- •Упражнения.
- •4. Теория графов
- •4.1.Основные понятия
- •Г раф изоморфен
- •4.2. Способы задания графов
- •Матрица инцидентности (ij)
- •4.3. Операции над частями графа
- •4.4. Маршруты, пути, цепи, циклы
- •4.5. Дерево и лес
- •4.6. Сети
- •Упражнения.
- •5. Введение в теорию алгоритмов
- •5.1. Предварительные обсуждения
- •5.2. Блок-схемы алгоритмов
- •5.3. Машины Тьюринга
- •5.4. Некоторые операции над машинами Тьюринга
- •5.5. Рекурсивные функции
- •6. Автоматы
- •6.1. Определение основных понятий
- •6.2. Изоморфизм и эквивалентность автоматов
- •6.3. Сети из автоматов
- •6.4. Синхронные сети
- •6.5. Программная реализация логических функций
- •Заключение
- •394026 Воронеж, Московский просп., 14
6.2. Изоморфизм и эквивалентность автоматов
Пусть S=(AS, QS, VS, S, S,) и Т=(AT, QT, VT, T, T,) – два автомата.
Тройка отображений f: AS AT; g: QS QT; h: VS VT называется гомоморфизмом автомата S в автомат Т, если при любых aAS, qQS, VVS выполнены условия:
T(g(q),f(a))=g(S(q,a));
T (g(q),f(a))=h(T(q,a)).
Автомат Т называют гомоморфным автомату S. Если кроме того, эти три отображения взаимно однозначны, то они называются изоморфизмом S на Т. Автоматы, для которых существует изоморфизм называют изоморфными. Мощности соответствующих алфавитов изоморфных автоматов доложны быть одинаковыми. Автоматы S и Т изоморфны, если входы, выходы и состояния S можно переименовать так, что таблица переходов автомата S превратится в таблицу переходов Т. Изоморфизм графов переходов является необходимым, но не достаточным условием изоморфизма соответствующих автоматов.
П ример 4: Пусть автомат Т имеет граф переходов:
Поменяем местами буквы на ребрах (r1, r2) и (r2, r1). Получим автомат Т', граф которого изоморфен графу Т, однако сам автомат Т' не изоморфен Т. Действительно, при изоморфизме графов вершина r4 автомата Т изоморфна вершине r4 автомата Т', однако Т(r4,ааа)=VVV, Т' (r4,ааа)=VVW,
Пусть S и Т – два автомата с одинаковыми входными и выходными алфавитами. Состояние q автомата S и состояние r автомата Т называются неотличимыми, если для любого входного слова : S(q, )= T(r, ).
Неотличимость состояний qi и qj одного автомата S означает, что инициальные автоматы (S,qi) и (S,qj) реализуют одно и то же автоматное отображение.
Автоматы S и Т называют неотличимыми или эквивалентными, если для любого состояния q автомата S найдется неотличимое от него состояние r автомата Т и, наоборот, для любого состояния r автомата T найдется неотличимое от него состояние q автомата S. Неотличимость автоматов означает, что любое автоматное отображение, реализуемое одним из них, может быть реализовано другим.
Ставится задача: среди автоматов, эквивалентных S, найти автомат с наименьшим числом состояний – минимальный автомат.
Наиболее известным алгоритмом нахождения эквивалентных состояний является алгоритм Мили:
Пусть дан автомат S=(A,Q,V,,) c n состояниями. На любом шаге алгоритма будем строить некоторое разбиение Q на классы, причем разбиение на следующем шаге будет получаться путем расщепления некоторых классов предыдущего разбиения.
Шаг1: Два состояния q и q' относим в один класс сj, тогда и только тогда, когда aA: (q,a)= (q',a)
Шаг(i+1): Два состояния q и q' относим в один класс сi+1,j, тогда и только тогда, когда aA: (q,a) и (q',a) принадлежат к одному и тому же классу сi,j. Если (i+1) шаг не изменяет разбиения, то алгоритм заканчивается и полученное разбиение является разбиением на классы эквивалентных состояний.
В нашем примере вычеркиваются строки 4, 8, 7; в клетках полученной таблицы 4 заменяем на 1; 8 на 2; 7 на 5. В результате получим таблицу.
Таблица 22
-
qi
a1
a2
a3
1
2,0
1,1
1,1
2
1,1
1,0
5,0
3
1,1
6,0
5,0
5
6,1
1,1
3,0
6
2,0
9,1
6,1
9
5,0
9,1
5,1
Автомат, заданный представленной таблицей будет эквивалентным данному исходному автомату.