- •Проектирование автоматов
- •Проектирование автоматов
- •5.7. Упражнения 90
- •Введение
- •1. Абстрактные автоматы
- •1.1. Эквивалентность автоматов
- •1.2. Минимизация автоматов
- •1.2.1. Минимизация полностью определенного автомата
- •1.2.2. Минимизация частичного автомата
- •1.3. Композиция автоматов
- •1.3.1. Параллельное соединение
- •1.3.2. Последовательное соединение
- •1.3.3. Соединение с обратной связью
- •1.3.4. Соединение в сеть
- •1.4 Декомпозиция автомата
- •1.4.1. Задача декомпозиции
- •1.4.2. Разбиения со свойствами подстановки
- •1.4.3. Метод декомпозиции
- •1.5. Упражнения Эквивалентность автоматов
- •Минимизация полностью определённого автомата.
- •Декомпозиция автоматов
- •2. Структурные автоматы
- •2.1. Автоматная полнота и теорема в.М.Глушкова
- •2.2. Гонки в автомате
- •2.2.1. Кодирование состояний
- •2.2.2. Понятие о гонках. Противогоночное кодирование
- •2.3. Проектирование автомата
- •2.4. Упражнение Кодирование
- •Синтез автомата
- •3. Синтез схем
- •3.1. Определения
- •3.2. Функциональная полнота базиса
- •3.2.1. Классы функций
- •3.2.2. Монотонные функции
- •3.2.3. Самодвойственные функции
- •3.2.4. Линейные функции
- •3.2.5. Функции, сохраняющие константу
- •3.2.6. Функциональная полнота
- •3.3. Топологические ограничения в схемах
- •3.3.1. Плоские схемы
- •3.3.2. Ограничения на глубину связи в схеме
- •3.4. Методы синтеза схем
- •3.4.1. Метод факторизации
- •3.4.2. Метод декомпозиции
- •3.4.3. Синтез схем в классическом базисе.
- •3.4.4. Синтез схем в монофункциональном базисе.
- •3.5. Упражнения Функциональная полнота
- •Синтез схем
- •4. Эксперименты над автоматами
- •4.1. Построение диагностических деревьев
- •4.2. Диагностические и установочные эксперименты
- •4.2.1. Дерево преемников
- •4.2.2. Диагностический эксперимент
- •4.2.3. Установочный эксперимент
- •4.3. Упражнения Диагностические эксперименты
- •Установочные эксперименты
- •5. Формальные грамматики
- •5.1. Языки и порождающие их грамматики
- •5.2. Примеры фрагментов описаний в языках программирования.
- •5.3. Порождающая грамматика
- •5.4. Классы языков и грамматик
- •5.5. Язык, понимаемый устройством
- •5.6. Автоматные языки
- •5.7. Упражнения
- •Библиографический список
- •Проектирование автоматов
- •620002, Екатеринбург, Мира, 19
1.3. Композиция автоматов
Рассмотрим основные виды соединений автоматов: параллельное, последовательное, с обратной связью и соединение в сеть.
1.3.1. Параллельное соединение
Параллельное соединение двух автоматов иллюстрируется на
следующем рисунке:
З десь S1 = < Z1, W1, A1, 1, 1 > и S2 =< Z2, W2, A2, 2, 2 >.
Результирующим автоматом параллельного соединения двух автоматов S1 и S2 назовем автомат S = < Z, W, A, l, >, у которого:
Z = Z1 = Z2,
W = F(W1,W2 ),
A = A1 x A2, и для любого ab, где aA, bB имеет место
(ab,z) = f(1 (a,z), 2(b,z)),
(ab,Z) = 1(a,z), 2(b,z).
1.3.2. Последовательное соединение
S1=<Z1,W1,A1 1,1>, S2=<Z2,W2,A2,2,2>
Результирующим автоматом последовательного соединения двух автоматов S1 и S2 (рис.1.9) назовем автомат S = <Z, W, A, , >, у которого:
Z = Z1;
W = W2;
W1= Z2;
A = A1 x A2; и для любого ab, где aA, bB имеет место
(ab,z) = 2(b, 1(a,z));
(ab,z) = (1(a,z), 2(b, 1(a,z))).
1.3.3. Соединение с обратной связью
Композиция приведена на рис.1.10
Р ис.1.10
В этой композиции, если автомат S1 находится в состоянии a, автомат S2 – b, то значение z1=F(z, 2(b,w))= F(z, 2(b, 1(z1, a))). Получили некорректность, когда z1 зависит от z1.
Этой некорректности можно избежать, если положить, что хотя бы один из автоматов S1 и S2 являются автоматами Мура. Например, если таковым является автомат S1, то в последней формуле равенства будет стоять F(z, 2(b, 1(a))).
В связи с этим будем в более сложных композициях использовать только автоматы Мура.
1.3.4. Соединение в сеть
Определение
Компонентным автоматом (полуавтоматом Мура) называют автомат Мура, в котором каждому состоянию поставлен в соответствие свой выходной сигнал, отличный от выходных сигналов других состояний.
Говорят, что в таких автоматах обеспечена полнота выходов.
Определение.
С етью автоматов назовем шестерку N = <Z,W,{Si},{fi},{i},g> (i = 1...n), где : Z - множество входов сети, W - множество выходов сети, Si - компонентный автомат сети с алфавитом входов Zi и алфавитом выходов Ai. Алфавит Zi = Z'I x Z''i поясняется рис. 1.11.
,
fi : A1 x...x An -> Zi'', i : Z -> Zi', , n - количество компонентных автоматов.
Выходная функция g определяет выход сети. g: A1 x...x An x Z -> W (рис.1.12).
Множество Si составляeт базис сети, множество {fi} определяeт её структуру.
Пример. Рассмотрим сеть, показанную на рис. 1.13.
1-я компонента:
|
|
2-я компонента:
|
|
|
3-я компонента:
|
|
|
Выход:
g |
d1 |
d2 |
c1 |
w1 |
w2 |
c2 |
w1 |
w1 |
Сеть реализует автомат (результирующий автомат сети), состояния которого определяются как A1xA2XAn.
Для приведённого примера автомат имеет 3 * 2 * 2 = 12 состояний. Введенные понятия сети автоматов и ее результирующего автомата позволяют сформулировать задачу композиции автоматов – для заданной сети описать автомат, реализуемый сетью.