
- •Проектирование автоматов
- •Проектирование автоматов
- •Введение
- •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=A1xA2, и для любого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,A11,1>,S2=<Z2,W2,A2,2,2>
Результирующим автоматом последовательного соединения двух автоматов S1 иS2 (рис.1.9) назовем автоматS= <Z,W,A,,>, у которого:
Z=Z1;
W=W2;
W1=Z2;
A=A1xA2; и для любого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
xZ''iпоясняется рис. 1.11.
,
fi:A1x...xAn->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 состояний.
Введенные
понятия сети автоматов и ее результирующего
автомата позволяют сформулировать
задачукомпозицииавтоматов –для
заданной сети описать автомат, реализуемый
сетью.