- •6.050802 - Електронні пристрої та системи
- •Розділ 1 АбстрактнИй цифровИй автомат
- •Тема 1.1 Загальна характеристика цифрових автоматів
- •Поняття автомата, принцип роботи автомата
- •1.1.2 Класифікація і характеристика автоматів
- •1.1.3 Математична модель цифрового автомата
- •Тема 1.2 Автомати Мілі і Мура
- •1.2.1 Закони функціонування автоматів Мілі і Мура
- •1.2.3 Способи опису роботи автоматів
- •1.2.4 Еквівалентні перетворення автоматів Мілі та Мура
- •1.2.5 Правила переходу між моделями Мілі і Мура
- •1.2.6 Теоретичні основи мінімізації повністю визначених автоматів
- •1.2.7 Мінімізація числа станів синхронного автомата методом Пола-Ангера
- •1.2.8 Мінімізація числа станів автомата методом еквівалентного розбиття
- •Тема 1.3 Елементарні автомати
- •1.3.1 Основні поняття
- •1.3.2 Асинхронний тригер і його різновиди
- •1.3.3 Синхронні тригери
- •1.3.4 Синтез довільних тригерних структур на універсальних
- •Розділ 2 СтруктурнИй цифровий автомат
- •Тема 2.1 Канонічний метод синтезу
- •2.1.1 Загальні відомості та завдання структурного синтезу цифрових
- •Етапи структурного синтезу автоматів з пам'яттю
- •Тема 2.2 Кодування внутрішніх станів ца.
- •2.2.1 Перегони в автоматі.
- •2.2.2 Алгоритм кодування для d -тригерів.
- •2.2.3 Евристичний алгоритм кодування.
- •Тема 2.3 Мікропрограмні автомати
- •2.3.1 Модель в. М. Глушкова
- •2.3.2 Синтез автомата Мілі по гса
- •2.3.3 Синтез автомата Мура по гса
- •Тема 2.4 Типові вузли цифрових автоматів
- •2.4.1 Регістри зсуву
- •2.4.2 Лічильники за mod m
- •2.4.3 Лічильники на регістрах зсуву
- •2.4.4 Реверсивні лічильники
- •Тема 2.5 Інформаційні основи контролю роботи цифрового автомату
- •2.5.1 Структурна міра інформації
- •2.5.2 Систематичні коди
- •2.5.3 Кодування по методу парності - непарності
- •2.5.4 Коди Хемінга
- •Рекомендована література Базова
- •Допоміжна
- •51918, М. Дніпродзержинськ,
1.2.8 Мінімізація числа станів автомата методом еквівалентного розбиття
Алгоритм мінімізації заснований на розбитті усієї множини станів на класи еквівалентних станів, що попарно не перетинаються, і заміні усього класу еквівалентності одним станом. Отриманий в результаті мінімізований автомат міститиме стільки станів на скільки класів еквівалентності було розбито початкову безліч станів.
Уведені відношення еквівалентності та k - еквівалентності можуть бути використані для розподілу множини станів автомата на попарно непересічні класи ( так званий - розподіл).
- розподіл визначає замкнену сукупність класів сумісності, якщо для будь-якого його блоку виконується умова: внутрішній стан у мить (t + 1), у який перейде автомат з будь-якого стану одного блоку, завжди буде знаходитись у будь-якому, але тільки одному блоці цього розподілу.
- розподіл дозволяє визначити надмірні елементи множини внутрішніх станів. Якщо, наприклад, стани qs та qm еквівалентні, формують один і той же вихідний сигнал, то один із них можна вилучити, унаслідок чого одержимо мінімізований автомат.
Розглянемо алгоритм мінімізації повністю визначених абстрактних автоматів Мілі, запропонований Ауфенкампом і Хоном. Основна ідея цього методу полягає в розбитті усіх станів початкового абстрактного автомата на попарно не пересічні класи еквівалентних станів і заміні кожного класу еквівалентності одним станом.
Відповідне розбиття на класи еквівалентних і k - еквівалентних станів позначатимемо та k. Розподіл дозволяє визначити надмірні елементи в множині станів Q. Нехай, наприклад, qm і qs еквівалентні. Це означає, що відносно зору реакцій автомата на всілякі вхідні слова неважливо, знаходиться автомат в стані qm або qs, і одне і них, наприклад qs, може бути видалено з множини Q. Якщо кожен клас еквівалентності містить тільки один стан, множина Q нескоротна. Якщо ж один або декілька класів містять більше за один елемент, усі елементи, окрім одного в кожному клас, можуть бути виключені з множини Q, внаслідок чого виходить автомат з мінімальним числом станів.
Алгоритм мінімізації
Нехай автомат S = {Q, X, Y, , , q1} піддається мінімізації. Цей процес складається з:
1. Знаходиться послідовне розбиття 1, 2,…, k, k+1 множини Q на класи одно -, двох -, …, k -, k+1 еквівалентних станів, до тих пір, поки на якомусь k+1 кроці не виявиться, що k+1 = k. Неважко показати, що тоді розбиття /k = /, тобто що k - еквівалентні стани є в цьому випадку еквівалентними і число кроків k, при якому k = не перевищує М- 1, де М - число елементів в множині Q.
2. У кожному класі еквівалентності розбиття вибираються по одному елементу, які утворюють множину Q' станів мінімального автомата S' = {Q ', X, Y, , , q' 1}, еквівалентного автомату S.
3. Функції переходів ' і ' автомата S' визначаються на множині Q' x X. Для цього в таблиці переходів і виходів викреслюються стовпці, відповідні тим що не увійшли до множини Q' станів, а в стовпцях таблиці переходів, що залишилися, усі стани замінюються на еквівалентні з множини Q'.
4. У якості q' 1 вибирається один із станів, що еквівалентний стану q1. Наприклад, зручно за q' 1 приймати само q1.
Приклад мінімізації автомата Мілі
Таблиця 1.25 - Таблиця переходів не мінімального автомата Мілі
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
q8 |
q9 |
q10 |
q11 |
q12 |
X1 |
q10 |
q12 |
q5 |
q7 |
q3 |
q7 |
q3 |
q10 |
q7 |
q1 |
q5 |
q2 |
X2 |
q5 |
q8 |
q6 |
q11 |
q9 |
q11 |
q6 |
q4 |
q6 |
q8 |
q9 |
q8 |
Таблиця 1.26 - Таблиця виходів не мінімального автомата Мілі
|
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
q8 |
q9 |
q10 |
q11 |
q12 |
X1 |
Y1 |
Y1 |
Y2 |
Y2 |
Y1 |
Y2 |
Y1 |
Y1 |
Y2 |
Y2 |
Y2 |
Y2 |
X2 |
Y2 |
Y2 |
Y1 |
Y1 |
Y2 |
Y1 |
Y2 |
Y2 |
Y1 |
Y1 |
Y1 |
Y1 |
Безпосередньо по таблиці виходів (табл. 1.26) отримуємо розбиття 1 на класи одно еквівалентних станів, об'єднуючи в еквівалентні класи однакові стовпці: 1={b1, b2} b1={q1, q 2, q5, q7, q8} b2={q3, q4, q6, q9, q10, q11, q12}. Дійсно, два стани 1 - еквівалентні, якщо їх реакції на всілякі вхідні слова довжини 1 співпадають, тобто відповідні цим станам стовпці в таблиці виходів мають бути однакові. Будуємо таблицю 1, замінюючи стани в таблиці переходів (табл. 1.25) відповідними класами 1- еквівалентності.
Таблиця 1.27 - Розбиття 1 станів автомата Мілі
|
B1 |
B2 |
||||||||||
|
q1 |
q2 |
q5 |
q7 |
q8 |
q3 |
q4 |
q6 |
q9 |
q10 |
q11 |
q12 |
X1 |
B2 |
B2 |
B2 |
B2 |
B2 |
B1 |
B1 |
B1 |
B1 |
B1 |
B1 |
B1 |
X2 |
B1 |
B1 |
B2 |
B2 |
B2 |
B2 |
B2 |
B2 |
B2 |
B1 |
B2 |
B1 |
Очевидно, що 1- еквівалентні стани qm і qs будуть 2 - еквівалентними, якщо вони переводяться будь-яким вхідним сигналом також в 1 - еквівалентні. По таблиці T3 отримуємо розбиття 2={C1, C2, C3, C4} ; C1= {q1, q2}, C2={q5, q7, q8}, C3={q3, q4, q6, q9, q11}, C4= {q10, q12}.
Таблиця 1.28 - Розбиття 2 станів автомата Мілі
|
C1 |
C2 |
C3 |
C4 |
||||||||||
|
q1 |
q2 |
q5 |
q7 |
q8 |
q3 |
q4 |
q6 |
q9 |
q11 |
q10 |
q12 |
||
X1 |
C4 |
C4 |
C3 |
C3 |
C4 |
C2 |
C2 |
C2 |
C2 |
C2 |
C1 |
C1 |
||
X2 |
C2 |
C2 |
C3 |
C3 |
C3 |
C3 |
C3 |
C3 |
C3 |
C3 |
C2 |
C2 |
||
Аналогічно побудуємо 3 ={D1, D2, D3, D4, D5}; D1={q1, q2}, D2={q5, q7}, D3={q8}, D4={q3, q4, q6, q9, q11 }, D5={q10, q12} і, нарешті 4 ={E1, E2, E3, E4, E5}, яке співпадає з 3. Процедура розбиття завершена. Розбиття 3 є розбиття множини станів автомата Мілі на класи еквівалентних між собою станів.
Таблиця 1.29 - Розбиття 3 станів автомата Мілі
|
D1 |
D2 |
D3 |
D4 |
D5 |
|||||||||||
|
q1 |
q2 |
q5 |
q7 |
q8 |
q3 |
q4 |
q6 |
q9 |
q11 |
q10 |
q12 |
||||
X1 |
D5 |
D5 |
D4 |
D4 |
D5 |
D2 |
D2 |
D2 |
D2 |
D2 |
D1 |
D1 |
||||
X2 |
D2 |
D2 |
D4 |
D4 |
D4 |
D4 |
D4 |
D4 |
D4 |
D4 |
D3 |
D3 |
||||
Викреслюємо з D1 q2, з D2 q7, з D4 q4, q6, q9, q11, з D5 q12 визначуваний мінімальний автомат Мілі.
Таблиця 1.30 - Таблиця переходів мінімального автомата Мілі
-
q1
q5
q8
q3
q10
X1
q10
q3
q10
q5
q1
X2
q5
q3(q9)
q3(q4)
q3(q6)
q8
Таблиця 1.31 - Таблиця виходів мінімального автомата Мілі
-
q1
q5
q8
q3
q10
X1
Y1
Y1
Y1
Y2
Y2
X2
Y2
Y2
Y2
Y1
Y1
Приклад мінімізації автомата Мура
При мінімізації автоматів Мура вводиться поняття 0-еквівалентності станів і розбиття безлічі станів на 0- класи: 0- еквівалентними називаються будь-які однаково відмічені стани автоматів Мура. Якщо два 0-еквівалентні стани будь-яким вхідним сигналом переводиться в два 0-еквівалентні стани, то вони називаються 1-еквівалентними. Усі подальші класи еквівалентності станів для автоматів Мура визначаються аналогічно приведеному вище для автоматів Мілі.
Таблиця 1.32 - Відмічена таблиця переходів немінімального автомата Мура
В результаті застосування алгоритму мінімізації до автомата Мура, що має 12 станів, отримаємо автомат Мура, що має 4 стани. Відпускаючи проміжні таблиці, приведемо лише послідовність розбиття : 0 = {B1, B2, B3}.
Таблиця 1.33 - Відмічена таблиця переходів мінімального автомата Мура
B1={a1, a2, a8}; B2={a6, a9, a10, a11, a12}; B3={a3, a4, a5, a7} 1 ={C1, C2, C3, C4}. C1={ a1, a2, a8}; C2={ a6, a9, a11}; C3={ a10, a12}; C4={ a3, a4, a5, a7} 2 ={D1, D2, D3, D4}; 2 = 1; D1 = C1; D2 = C2; D3 = C3; D4 = C4.
Контрольні питання і завдання
Які існують способи завдання цифрових автоматів?
Дайте визначення графа автомата.
Напишіть функції переходів і виходів, що визначають закон функціонування автоматів Мілі і Мура.
Напишіть вирази, що визначають закон функціонування автомата Мура.
У чому полягає різниця між автоматами Мілі та Мура?
Чим відрізняється С-автомат від автоматів Мілі і Мура?
Які особливості має модель цифрового автомата Мілі?
Як перейти від автомата Мура до еквівалентного йому автомата Мілі?
Що означає еквівалентність двох автоматів?
Які головні етапи алгоритму переходу від автомата Мілі до автомата Мура?
У який спосіб задається автомат Мура? У чому різниця між автоматами І і II роду?
Що являє собою граф переходів цифрового автомата Мілі, Мура, С-автомата?
У чому полягає суть таблиці переходів і виходів автомата Мілі? Наведіть приклади?
У чому полягає ідея мінімізації числа станів абстрактного ЦА? Які методи мінімізації вам відомі?
Які особливості табличного завдання автомата Мура ви знаєте?
Складіть граф - схему автомата Мілі, еквівалентну сумісній таблиці переходів і виходів :
-
S(t)
X(t)
X1
X2
1
1, y1
4, y2
2
3, y3
2, y2
3
1, y4
4, y3
4
2, y2
3, y4
Наведіть граф - схему автомата Мура відповідно таблиці :
-
Y(t)
S(t)
X(t)
X1
X2
y1
1
2
4
y2
2
1
3
y2
3
4
2
y3
4
3
1
Що являє собою „матриця з'єднань" ЦА?
Задайте матрицю з'єднань для автомата Мілі, заданого таблицею
( див. таблицю приклада 14).
Задайте матрицю з'єднань автомата Мура (див. таблицю прикл.15).
Створіть сумісну таблицю переходів і виходів для автомата Мілі, заданого матрицею з'єднань.
Створіть позначену таблицю переходів для автомата Мура, заданого матрицею з'єднань.
;
.
Які автомати називають „ еквівалентними"?
Наведіть алгоритм трансформації автомата Мура в еквівалентний автомат Мілі.
Створіть еквівалентну сумісну таблицю переходів і виходів автомата Мілі для автомата Мура, заданого позначеною таблицею переходів:
Y(t) |
S(t) |
X(t) |
|
X1 |
X2 |
||
y1 |
1 |
4 |
3 |
y2 |
2 |
2 |
1 |
y2 |
3 |
3 |
4 |
y3 |
4 |
2 |
1 |
Сформулюйте алгоритм трансформації автомата Мілі в еквівалентний автомат Мура.
Для автомата Мілі, заданого сумісною таблицею, створіть позначену таблицю переходів еквівалентного автомата Мура:
S(t) |
X(t) |
|
X1 |
X2 |
|
1 |
2, y2 |
1, y1 |
2 |
4, y1 |
3, y3 |
3 |
2, y3 |
4, y3 |
4 |
1, y2 |
3, y3 |
Мінімізуйте кількість внутрішніх станів абстрактного автомата Мілі, заданого сумісною таблицею переходів і виходів:
Q(t) |
X(t) |
|
X1 |
X2 |
|
1 |
5, y1 |
10, y2 |
2 |
8, y1 |
12, y2 |
3 |
6, y2 |
5, y1 |
4 |
11, y2 |
7, y1 |
5 |
9, y1 |
3, y2 |
6 |
11, y2 |
7, y1 |
7 |
6, y1 |
3, y2 |
8 |
4, y1 |
10, y2 |
9 |
6, y2 |
7, y1 |
10 |
8, y2 |
1, y1 |
11 |
9, y2 |
5, y1 |
12 |
8, y2 |
2, y1 |
Поясніть суть поняття „еквівалентність" внутрішніх станів абстрактного автомата.
Сформулюйте поняття - розподілу внутрішніх станів ЦА.
Сформулюйте поняття „0 - еквівалентність" для автоматів Мура.
Мінімізуйте кількість внутрішніх станів абстрактного автомата Мура, заданого позначеною таблицею переходів:
Y(t) |
Q(t) |
X(t) |
|
X1 |
X2 |
||
y1 |
1 |
5 |
10 |
y1 |
2 |
10 |
7 |
y3 |
3 |
6 |
5 |
y3 |
4 |
7 |
9 |
y3 |
5 |
9 |
3 |
y2 |
6 |
6 |
8 |
y3 |
7 |
3 |
6 |
y1 |
8 |
10 |
4 |
y2 |
9 |
7 |
6 |
y2 |
10 |
1 |
8 |
