
- •Глава 3. Теория автоматов.
- •Основные понятия теории автоматов
- •Так к.С. Грамматика порождает язык
- •Так, нефункциональная к. С. Грамматика
- •Пояснения к построению дерева методом “свертый”:
- •Предполагается, что “программа” машины Тьюринга составляется из конечного множества команд вида: qiaj→ ql ak dp, , где (и).
- •Замечание
- •I. Макроподход.
- •II. Микроподход
- •Пояснения
- •Замечание
- •Замечание
- •Моделирование автоматных систем сетями петри.
- •Сеть петри Общие положения.
- •Выполнение сети Петри.
- •Интерпретация сети Петри.
Пояснения
1)Из теоремы следует ,что минимизация числа состояний полного конечного автомата связана отношением эквивалентности.
Пусть U1=<A,Q1,B,1,1> и U2=<A,Q2,B,,> два автомата с одинаковыми входными и выходными алфавитами. Состояния qiQ1 автомата U1 и состояния qjQ2 автомата U2 называются неотличимыми ,если для любого входного слова А : 1(qi,)=2(qj,)=. В частности , если U1=U2,то говорят о не отличных состояниях U .Это означает что инициальные автоматы <U,q0|> ,< U,q0||> реализуют один и тот же автоматный оператор Тu:АВ.
Автоматы U1 b U2 называются не отличными (эквивалентными),если для любого состояния автомата U1 найдется неотличимое состояние автомата U2 и ,наоборот, для любого состояния U2 найдется неотличимое от него состояние U1.
Переход от автомата Ui к эквивалентному Un называется эквивалентным преобразованием автомата Ui.
2)Эта теорема не указывает алгоритма нахождения эквивалентных состояний автомата.
3) Из теоремы следует ,что избыточность памяти конечного автомата , устраняется, склеиванием эквивалентных состояний (итак), если каждый класс эквивалентных состояний заменить одним состоянием , склеивая соответствующие вершины-состояния, то полученный граф переходов будет задавать приведенный автомат Un).
Замечание
1)Автомат U ,все состояния которого эквивалентны, сводится к автомату Un с одним состоянием (автомат без памяти), т.е. U представляет собой по существу комбинационную схему.
2)Автомат ,среди состояний которого нет эквивалентных , является несократимым.
3)Тривиальный метод определения (но не вычисления!) неотличимых состояний предполагает перебор по бесконечному множеству исходных слов.
Для эквивалентного разбиения множества состояния Q автомата предложено ряд практических методов.
Рассмотрим на примере метод Мили для абстрактной минимизации конечного автомата. Этот метод основан на склеивании эквивалентных состояний и состоит в последовательном выделении классов эквивалентных состояний с помощью n таблиц выходов и переходов. Шаги этого алгоритма следующие:
Шаг1: Два состояния qli,qjnQ относят в один класс С1p, если и только если для любого аА : 1(qil,)=2(qjn,).
Шаг1+n:Два состояния из одного класса Сij , если и только если для любого аА :(q||,a),(q|,a) принадлежит одному и тому же классу Сij.
Шаг i+2: Если (1+i)-ый шаг не изменяет разбиению, т.е. состояния из одного класса Сij принадлежат одному классу Сi+j,j ,что алгоритм заканчивается и полученное разбиение на классы эквивалентных (неразличимых) постоянных является искомым.
Пример
Для конечного автомата U=<|A|=3,|B|=2,,> ,автоматная таблица
a\q |
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
q8 |
q9 |
a1 |
q2,b1 |
q1,b2 |
q1b2 |
q8,b1 |
q6,b2 |
q8,b1 |
q6,b2 |
q4,b4 |
q7,b1 |
a2 |
q4,b2 |
q1,b1 |
q6,b1 |
q1,b2 |
q4,b2 |
q9,b2 |
q1,b2 |
q4,b1 |
q9,b2 |
a3 |
q4,b4 |
q5,b1 |
q5,b1 |
q1,b1 |
q3,b1 |
q6,b2 |
q3,b1 |
q7,b1 |
q7,b2 |
Найти приведенный (минимальный) автомат Un.
Решение.
Классов разбиений 1-эквивалентных состояний(т.е. 1(qil,)=2(qjn,)) три:С1,1={q1,q4,q6,q9}, С1,2={q2,q3,q8}, С1,3={q5,q7}.
Классов разбиений 2-х эквивалентных состояний (т.е. когда (q||,a),(q|,a) С1,j=1,3) четыре:
|
C1,1 |
|
|
|
C1,2 |
|
|
C1,3 |
|
a\q |
q1 |
q4 |
q6 |
q9 |
q2 |
q3 |
q8 |
q5 |
q7 |
a1 |
c1,2 |
c1,2 |
c1,2 |
c1,3 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
a2 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
c1,1 |
a3 |
c1,1 |
c1,1 |
c1,1 |
c1,3 |
c1,3 |
c1,3 |
c1,3 |
c1,2 |
c1,2 |
Т.е. имеем С2.1={q1,q4,q6},C2,2={q9}, C2,3={q2,q3,q8},C2,4={q5,q7}
Классов разбиений 3-х эквивалентных состояний пять:
Т.е. С3,1={q1,q4},C3,2={q6},C3,3={q9},C3,4={q2,q3,q8},C3,5={q5,q7}
|
C2,1 |
|
|
C2,2 |
C2,3 |
|
|
C2,4 |
|
a\q |
q1 |
q4 |
q6 |
q9 |
q2 |
q3 |
q8 |
q5 |
q7 |
a1 |
c2,3 |
c2,3 |
c2,3 |
c2,4 |
c2,1 |
c2,1 |
c2,1 |
c2,1 |
c2,1 |
a2 |
c2,1 |
c2,1 |
c2,2 |
c2,2 |
c2,1 |
c2,1 |
c2,1 |
c2,1 |
c2,1 |
a3 |
c2,1 |
c2,1 |
c2,2 |
c2,4 |
c2,4 |
c2,4 |
c2,4 |
c2,3 |
c2,3 |
Классов разбиений 4-х эквивалентных состояний шесть.
Т.ею имеем C4,1={q1,q4},C4,2={q6},C4,3={q9},C4,4={q2,q8},C4,5={q3},C4,6={q5,q7}
|
C3,1 |
|
C3,2 |
C3,3 |
C3,4 |
|
|
C3,5 |
|
a\q |
q1 |
q4 |
q6 |
q9 |
q2 |
q3 |
q8 |
q5 |
q7 |
a1 |
c3,4 |
c3,4 |
c3,4 |
c3,5 |
c3,1 |
c3,1 |
c3,1 |
с3,2 |
с3,2 |
a2 |
c3,1 |
c3,1 |
c3,3 |
c3,3 |
c3,1 |
c3,1 |
c3,1 |
c3,1 |
c3,1 |
a3 |
c3,1 |
c3,1 |
c3,2 |
c3,5 |
c3,5 |
c3,5 |
c3,5 |
c3,4 |
c3,4 |
Классов разбиений 5-х эквивалентных состояний шесть.
C4,1
C4,2
C4,3
C4,4
C4,5
C4,6
a\q
q1
q4
q6
q9
q2
q3
q8
q5
q7
a1
c4,4
c4,4
c4,4
c4,6
c4,1
c4,1
c4,1
c4,2
c4,2
a2
c4,1
c4,1
c4,3
c4,3
c4,1
c4,1
c4,1
c4,1
c4,1
a3
c4,1
c4,1
c4,2
c4,6
c4,6
c4,6
c4,6
c4,5
c4,5
Поскольку число разбиений шага 5 совпадает с числом разбиений в шаге 4 ,то приведенный автомат (минимальный по числу состояний) автомат Un имеет шесть состояний, т.е. U=<|A|=3,|B|=2,,> с автоматной таблицей!
a\q |
q1 |
q2 |
q3 |
q5 |
q6 |
q9 |
a1 |
q2,b1 |
q1,b2 |
q1b2 |
q6,b2 |
q2,b1 |
q5,b1 |
a2 |
q1,b2 |
q1,b1 |
q6,b1 |
q1,b2 |
q9,b2 |
q9,b2 |
a3 |
q1,b2 |
q5,b1 |
q5,b1 |
q3,b1 |
q6,b2 |
q5,b2 |
Пояснение Автоматная таблица приведенного автомата Un получена из исходной таблицы вычеркиванием её столбцов q4,q7,q8 и заменой в клетках других столбцов состояния q4 на эквивалентное состояние q1,q7 на q5,q8,на q2.
Методы минимизации комбинационных схем в базисе булевых функций.
Комбинационная схема -правильная схема, построенная из элементов ,являющихся автоматами без памяти. В правильной схеме нет обратных связей ,а соединение элементов выполнено по правилам , соответствующим(функциональном отношении) операции суперпозиции функции. В соответствии с этим оператор, реализуемый комбинационной схемой, также является некоторой функции алгебры логики.
Задача минимизации комбинационных схем решается с привлечением методов минимизации вспомогательных функций в алгебре логики(булевой алгебре).
В этом случае имеют в виду представление булевых формул, описывающих комбинационный автомат, нормальными формами, простейшими относительно некоторой меры сложности. Обычно под сложностью нормальной формы понимается число букв в нем. Именно простейшую форму будем называть минимальной.
Итак, исходным заданием комбинационной схемы для её минимизации в базисе функциональных схем «и», «или», «не» будем считать комбинационную таблицу, С.Д.Н.Ф. или произвольную Д.Н.Ф.
Рассматриваемые ниже методы минимизации комбинационной схемы состоят из трех этапов:
На первом этапе осуществляется переход от исходного задания переключательной (логической) функции ,к её сокращенной Д.Н.Ф.(такая сокращенная форма определяется для каждой функции однозначно). Сокращенная Д.Н.Ф. тем же свойством что любая минимальная Д.Н.Ф.(т.е. М.Д.Н.Ф) получается из нее удалением некоторых элементарных конъюнкций.
На втором этапе из сокращенной Д.Н.Ф. получают тупиковые Д.Н.Ф., среди которых содержатся все М.Д.Н.Ф.
На третьем этапе осуществляется выбор М.Д.Н.Ф. из всех тупиковых Д.Н.Ф.
Напоминание В синтезе и анализе комбинационных схем часто используют следующие термины:
Конституента единицы (импликанта С.Д.Н.Ф.) – элементарная конъюнкция С.Д.Н.Ф. (т.е. конъюнкция всех входных переменных в прямом или инверсном виде);
Сокращенная нормативная форма (С.Н.Ф.)булевой функции Д.Н.Ф. ,представляющая собой дизъюнкцию всех простых импликант функции;
Импликанта булевой функции –элементарная конъюнкция Д.Н.Ф. ,такая ,что <xi,…,xj>f1;
Тупиковая С.Д.Н.Ф. – С.Д.Н.Ф. ,в которой нет ни одной лишней имплканты, т.е. такой импликанты ,наличие которой не сказывается на значениях булевой ф-ии;
Минимизация Д.Н.Ф. (М.Д.Н.Ф.)- Д.Н.Ф. состоящая из минимального возможного числа букв(символов).
ПРИМИНЕНИЕ МЕТОДОВ МИНИМИЗАЦИИ КОМБИНАЦИОННЫХ АВТОМАТОВ.
Синтез минимальных одновыходных комбинационных автоматов по методу Кванта-Мак-Класки.
В этом случае выполняются следующие процедуры:
Записывают логическую функцию как С.Д.Н.Ф.;
Преобразовывают С. Д.Н.Ф. в С. Н.Ф. (сокращенную Д.Н.Ф.) на основе операций обобщенного склеивания и поглощения, а именно
xyUx --zUyzxyUx—z , xUxy+x;
Получают nтупиковые С.Н.Ф. и выбирают среди них М.Д.Н.Ф. ;
Записывают минимальную форму логической функции в заданном элементом базисом с учетом ограничений.
Следует отметить ,что процедура поиска М. Д.Н.Ф. является переборной. Поэтому для сокращения перебираемых вариантов все конституэнты располагаются в порядке увеличения числа единиц в картежах входных переменных ,а конституэнты с одинаковым числом единиц считаются относящимися к одному классу. При поиске склеиваемых конституэнт рассматривают не все возможные сочетания конституэнт из разных соседних классов. Результат склеивания конституэнт образуют список импликант, над которыми выполняют такие же операции упорядочивания и поиска склеиваемых импликант ,как и над исходным списком конституэнт констант. Искомая С.Н.Ф. представляет собой совокупность n таких из исходного и всех образующегося списков, которые не участвовали в операциях склеивания.
Поясним сказанное на примере.
Пример.
Пусть задана функция f(x1,x2,x3,x4)U1F(2,6,12,13,14,15).Найдем С.Д.Н.Ф. для него :
Сгруппируем картежи (наборы ) переменных x1,x2,x3,x4 в таблицу (здесь конституэнты сгруппированы как классы 1,2,3,4)
Номер картежа
Номер картежа
x1
x2
x3
x4
Классы
2
1
0
0
1
0
1
6
2
0
1
1
0
12
3
1
1
0
0
2
13
4
1
1
0
1
14
5
1
1
1
0
3
15
6
1
1
1
1
4
Результат склеивания списка конституэнт единицы сведем в таблицу
Номера склеиваемой константы
x1
x2
x3
x4
1,2
0
--
1
0
2,5
--
1
1
0
3,4
1
1
0
--
3,5
1
1
--
0
4,6
1
1
--
1
5,6
1
1
1
--
Склеивая импликанты (3,4) и (4,5),(3,5),(4,6), получаем сокращенную Д.Н.Ф. для исходной функции четырех аргументов f(x1,x2,x3,x4)=х1—х3х4—Ux2x3x4—Ux1x2.
Тупиковые Д.Н.Ф. получают с помощью таблицы простыми импликантами С.Н.Ф.,а строки – конституэнтами заданной функции . В этом случае ,если простая импликанта
покрывает(поглощает) конституэнту ,то в соответствующей ячейке таблицы покрытий ставят 1(иначе 0). Для рассматриваемой функции f(x1,x2,x3,x4) имеем таблицу покрытий:
Простые импликанты С.Н.Ф. |
x1x2 |
x2x3x4- |
x1-x3x4- |
Конституэнты единицы |
|
| |
0010 |
0 |
0 |
1 |
0110 |
0 |
1 |
1 |
1100 |
1 |
0 |
0 |
1101 |
1 |
0 |
0 |
1110 |
1 |
1 |
0 |
1111 |
1 |
0 |
0 |
Тупиковую Д.Н.Ф импликанты тех столбцов ,которые в совокупности имеют единицы во всех строках таблицы ,причем исключение любой импликанты нарушает это условие.
Из полученной таблицы покрытий находим единственную тупиковую Д.Н.Ф x1x2Ux1—x3x4--. Эта тупиковая Д.Н.Ф есть М.Д.Н.Ф.