You are on page 1of 43

ЧНУ імені Богдана Хмельницького

к.т.н., доцент Веретельник В.В.

ПРИКЛАДНА ТЕОРІЯ ЦИФРОВИХ


АВТОМАТІВ
Тема 10: Абстрактна теорія цифрових простроїв

Зміст:
 10.1 Основні поняття теорії абстрактних автоматів (пристроїв)
 10.2 Методи описування та задавання автоматів
 10.3. Зв’язок між автоматами Мілі та Мура
 10.4 Мінімізація кількості внутрішніх станів абстрактних автоматів
 10.1.1 Мінімізація кількості внутрішніх станів повністю визначених
автоматів
 10.1.2 Мінімізація кількості внутрішніх станів частково визначених автоматів
 10.5 Декомпозиція абстрактних автоматів
Основні математичні символи

{} – множина елементів
ƛ – лямбда
α – альфа
δ- дельта
ω – омега
ξ – ксі
π – пі константа 3,141592654
ϕ – пі (грецька) константа
γ – Константа Ейлера Мансероні = 0,5772156649
https://www.rapidtables.org/uk/math/symbols/Basic_Math_Symbols.html
 10.1 Основні поняття теорії абстрактних автоматів
(пристроїв)
Цифровий автомат (пристрій) – це дискретний перетворювач інформації,
що здатний приймати різні внутрішні стани, переходити під впливом вхідних
сигналів або команд закладеної в нього програми розв’язання задачі з одного
стану в інший та видавати вихідні сигнали. Перехід автомата з одного стану в
інший здійснюється в певний дискретний момент часу.
Математичною моделлю цифрового автомата є так званий абстрактний
автомат, означений як 6-компонентний об’єкт: S  A, Z, W, , , a1 ,
де A  a m , m  1, M  – множина станів (внутрішній алфавіт);
 
Z  z f , f  1, F – вхідний алфавіт, що є множиною вхідних сигналів
(букв,
 
W  wg , g  1,G – вихідний алфавіт, що є множиною вихідних сигналів
(букв, символів);
 : A  Z  A – функція переходів, що реалізує відображення декартового
добутку A  Z в A (іншими словами функція 
  деяким парам стан–вхідний
сигнал am , z f ставить у відповідність стани автомата as   am , z f , a s  
 :);A  Z  W – функція виходу, що реалізовує відображення декартового
A

добутку A  Z в W (функція  парам стан–вхідний сигнал am , z f  ставить у


 
відповідність вихідні сигнали автомата wg   am , z f , wg  W );
a1  A – початковий стан автомата.
09.03.2023 Прикладна теорія цифрових автоматів 4
Абстрактний автомат на (рисуноку 10.1) має один вхід та один вихід.
Його функціонування відбувається в дискретному часі, що подається
цілими додатними значеннями t  0,1,2,… В кожен момент t дискретного
часу автомат знаходиться в деякому стані at  з множини
можливих станів автомата, причому в початковий момент t  0 він
завжди знаходиться в початковому стані a0  a1 . У момент t , будучи
в стані at , автомат здатний сприйняти на вході букву вхідного
алфавіту zt  Z . Відповідно до функції виходів цифровий
автомат видає в той же момент часу t букву вихідного алфавіту wt 
 at, zt та відповідно до функції переходів перейде в наступний
стан at 1   at, zt, at  A , wt  W .

Рис. 10.1

Таким чином, з математичної точки зору, цифровий автомат реалізує деяке відображення множини
слів (послідовності символів) вхідного алфавіту Z у множину слів вихідного алфавіту W . Тобто, якщо на вхід
автомата, встановленого в початковий стан a1 , подавати деяке вхідне слово z0, z1,…, то на виході
автомата з’явиться вихідне слово w0, w1,… .

09.03.2023 Прикладна теорія цифрових автоматів 5


Теорія абстрактних цифрових автоматів розглядає
автомат без вивчення його структури, розглядаючи його як "чорну
скриньку", тобто основна увага приділяється дослідженню поведінки
автомата стосовно зовнішнього середовища.
Поняття стану в означенні автомата введено у зв’язку з
тим, що часто виникає необхідність в описуванні поведінки систем,
виходи яких залежать не тільки від стану входів у даний момент часу,
але й від деякої передісторії, тобто від сигналів, які надійшли на входи
системи раніше. Стани якраз й відповідають деякій пам’яті про
минуле, даючи змогу усунути час як явну змінну та виразити
вихідний сигнал як функцію стану та входу в даний момент часу.
В практичній площині найбільше поширення набули два класи
абстрактних автоматів:
- Автомат Мілі (Mealy);
- Автомат Мура (Moore).
Закон функціонування автомата Мілі задається рівняннями:
at  1   at , z t ;
wt    at , z t , t 
0,1,2…
Закон функціонування автомата Мура задається рівняннями:
at  1   at ,
wztt
; at , t 
09.03.2023 Прикладна
0,1,2… теорія цифрових автоматів 6
Порівнюючи закони функціонування бачимо, що, на відміну від
автомата Мілі, вихідний сигнал в автоматі Мура залежить тільки від
поточного стану автомата та в явному вигляді не залежить від вхідного
сигналу. Для повного задавання автомата Мілі або Мура додатково до
законів функціонування, необхідно вказати початковий стан.
Крім автоматів Мілі та Мура іноді виявляється зручно
користуватися суміщеною моделлю цих автоматів, так званим
С-автоматом:
Під абстрактним C –автоматом розуміють математичну модель дискретного
пристрою, яка задається восьмикомпонентним об’єктом, а саме:
S  A, Z, W, U, , 1 , 2 , a1 ,

де A  a m , m  1, M  – множина станів;
Z z , f  1, F  – вхідний алфавіт;
f

W  w , g  1,G – вихідний алфавіт типу 1;


g

U  u , h  1, H  – вихідний алфавіт типу 2;


h

 : A  Z  A – функція переходів, що реалізовує відображення A  Z в A ;

1 : A  Z  W – функція виходів, що реалізовує відображення A  Z в W ;

2 : A  U – функція виходів, що реалізовує відображення A в U ;


a1  A – початковий стан автомата.
09.03.2023 Прикладна теорія цифрових автоматів 7
Абстрактний C - автомат можна подати у вигляді пристрою з одним
входом, на який надходять символи з вхідного алфавіту Z та двома виходами, на яких
з’являються символи з алфавітів W та U . Відмінність C -автомата від автоматів
Мілі та Мура полягає в тому, що він одночасно реалізує дві функції виходів 1 та
2 , кожна з яких характерна для цих автоматів окремо. at  1   at ,
Функціонування C -автомата можна описати такими рівняннями: z t ;
wt    a t , z t
u t   2 a 1t ; t 
знаходиться в стані am . Вихідний сигнал wg  1 am , z f  видається під ;
0,1,2…
час дії вхідного сигналу z f при знаходженні автомата в стані am .

Абстрактні автомати поділяють на:


1)повністю визначені та частково визначені;
2)детерміновані та ймовірнісні;
3)синхронні та асинхронні.
 Частково визначеним абстрактним автоматом називаєють абстрактний визначені не для всіх пар am , z f  декартового

добутку A  Z .
 До детермінованих абстрактних автоматів належать автомати, у яких виконується умова однозначності
переходів, а саме, автомат, що знаходиться в деякому стані am , під дією вхідного сигналу zf обов’язково (з
ймовірністю 1) перейде в деякий стан an .
 Ймовірнісний автомат – це автомат, у якому при заданому стані am та заданому вхідному сигналі zf можливий
перехід із заданими ймовірностями в різні стани.
09.03.2023 Прикладна теорія цифрових автоматів 8
- Для означення синхронних та асинхронних автоматів вводиться поняття:
стану ai та вхідного сигналу z j таких, що  ai , z j  as має місце  as , z j  as , тобто
стан стійкий, якщо потрапивши в цей стан під дією деякого сигналу z j , автомат вийде з
нього тільки під дією іншого сигналу zk , відмінного від z j .
- Автомат називають ініціальним автоматом, якщо в ньому виділений початковий стан
a1.

09.03.2023 Прикладна теорія цифрових автоматів 9


 10.2 Методи описування та задавання автоматів

Для того, щоб задати скінченний автомат, необхідно описати всі елементи множини
S  A, Z, W,  , , a1. Множини A, Z, W описуються та задаються простим переліком своїх елементів.
Існує кілька різних способів задавання функцій  та  (отже, й всього автомата в цілому): табличний, матричний
та графічний.

При табличному методі задавання автомат Мілі описується за допомогою двох таблиць. Одна з них
(таблиця переходів) задає функцію  , тобто at 1   at, zt (таблиця 10.1), друга (таблиця виходів) –
функцію  , тобто wt   at, zt (таблиця 10.1).

Таблиця 10.1. Таблиця переходів Таблиця 10.2. Таблиця виходів


автомата Мілі автомата Мілі

Кожному стовпцю з наведених таблиць поставлено у відповідність один стан із множини A , кожному рядку –
один вхідний символ з множини Z . На перетині стовпця am та рядка z f таблиці 10.1 записується стан as , в

який повинен перейти автомат зі стану am під дією вхідного символу z f , тобто as   am , z f . На 
перетині стовпця am та рядка z f таблиці 10.2 записується вихідний символ wg , виданий автоматом у

стані am під час надходження на вхід символу z f , тобто wg   am , z f . 
09.03.2023 Прикладна теорія цифрових автоматів 10
Автомат Мілі може бути заданий однією суміщеною таблицею
переходів-виходів (таблиця 10.3), в якій кожен елемент as / wg
записаний на перетині стовпця am та рядка z f .
Автомат Мура задається однією таблицею переходів (таблиця 10.4),
в якій кожному стовпцю приписується не тільки стан am , але й вихідний
символ wg  am , що відповідає цьому стану.
Таблиця 10.3. Суміщена таблиця Таблиця 10.4. Таблиця переходів
переходів-виходів для автомата Мілі автомата Мура

Для часткових автоматів Мілі та Мура в розглянутих таблицях на


місці невизначених станів та вихідних символів ставиться
прочерк. У таких автоматах вихідний сигнал на будь-якому
переході завжди невизначений, якщо невизначеним є стан
переходу. Крім того, вихідний сигнал може бути невизначеним й
для деяких існуючих переходів!!!

09.03.2023 Прикладна теорія цифрових автоматів 11


Для задавання C - автоматів також використовується табличний
метод. У цьому випадку таблиця переходів (таблиця 10.5) аналогічна
таблиці переходів:
Таблиця 10.5. Таблиця переходів C- Таблиця 10.6. Таблиця виходів C-
автомата автомата

автомата Мілі, а в таблиці виходів кожен стан відзначений відповідним


вихідним сигналом uh вихідного алфавіту типу 2 (таблиця 10.6).

09.03.2023 Прикладна теорія цифрових автоматів 12


При матричному методі:
Абстрактних автоматів полягає в поданні автомата у вигляді матриці з’єднань.
Матриця з’єднань довільного абстрактного автомата є квадратною та має стільки
стовпців (рядків), скільки різних станів має автомат, що розглядається. Кожен стовпець
(рядок) матриці з’єднань помічається буквою стану автомата. Якщо автомат ініціальний,
то перший зліва стовпець та перший зверху рядок матриці його з’єднань помічаються
буквою початкового стану автомата. В клітинці матриці з’єднань, що знаходиться на
перетині стовпця, поміченого буквою стану ai , та рядка, поміченого буквою стану aj
автомата, ставиться вхідний сигнал zf (або диз’юнкція вхідних сигналів), під дією якого
здійснюється перехід автомата зі стану a j в стан ai. Якщо матрицею з’єднань задається
абстрактний автомат Мілі, то поруч з буквою вхідного сигналу zf в дужках вказується
буква a j   ai , zf .
Матриця з’єднань автомата Мілі, поданого таблицею переходів (таблиця 10.1),
наведена в таблиці 10.7.
Таблиця 10.7. Матриця з’єднань автомата Мілі

!Якщо матрицею з’єднань задається


абстрактний автомат Мура, то
вихідними сигналами помічаються
стани автомата, що ідентифікують
рядки матриці з’єднань!!!
09.03.2023 Прикладна теорія цифрових автоматів 13
При графічному методі:
Автомат задається у вигляді орієнтованого графа, вершини якого відповідають станам,
а дуги – переходам між ними.
Дуга, направлена з вершини am , задає перехід в автоматі зі стану am в стан as . На
перехід as   a m , z f . Для графа автомата Мілі вихідний сигнал wg  W ,
формований на переході, записується в кінці дуги, а для автомата Мура – поряд з
вершиною am , відзначеною станом am , в якому він формується. Якщо перехід в автоматі зі
стану am в стан as проводиться під дією кількох вхідних символів, то дузі графа, що
направлена з am в as , приписуються всі ці вхідні та відповідні вихідні символи.
Граф C - автомата містить вихідні символи двох типів, що позначаються на графі як
на графах відповідних автоматів.
Графи автоматів, що задані своїми таблицями переходів та виходів (таблиці 10.1, 10.2,
10.4 - 10.6) наведено на рисунках 10.2–10.4.

09.03.2023 Прикладна теорія цифрових автоматів 14


Рисунок 10.2. Граф автомата Мілі
Рисунок 10.3. Граф автомата Мура

Рисунок 10.4. Граф С- автомата


09.03.2023 Прикладна теорія цифрових автоматів 15
 10.3. Зв’язок між автоматами Мілі та Мура
Розглянемо автомат Мілі, який задано таблицями переходів та виходів
(таблиці 10.8 та 10.9). Подамо на вхід автомата, встановленого в стан a1 , вхідне
слово   z1 z2 z2 z1 z2 z2 . Оскільки  a1 , z1   a2 , a1 , z1   w2 , то під
впливом вхідного символу z1 автомат перейде в стан a2 та видасть на переході
вихідний символ w2 . Потім, знаходячись у стані a2 , під впливом символу z2
автомат перейде в стан a1   a2 , z2  та видасть символ w1  a2 , z2  й т.д. У
таблиці 10.10 наведено послідовність станів, які автомат проходить, сприймаючи
вхідне слово  , та вихідні символи, що видаються автоматом на цих переходах.
Таблиця 10.8. Таблиця переходів Таблиця 10.9. Таблиця виходів
автомата Мілі автомата Мілі

Рисунок 10.10. Граф автомата Мілі

09.03.2023 Прикладна теорія цифрових автоматів 16


Як бачимо з наведеного прикладу, у відповідь на вхідне слово довжиною k автомат
Мілі видасть послідовність станів довжиною k  1 та вихідне слово довжиною k .
У загальному вигляді поведінку автомата Мілі, встановленого в стан am ,
можна записати у вигляді таблиці 10.11.

Таблиця 10.11. Реакція автомата Мілі в загальному вигляді


Вхідне слово i1
z i2
z i3
Z

Послідовність станів am ai 2   am , zi1  ai 3   ai 2 , zi 2 


Вихідне слово wi1  am , zi1  wi 2  ai 2 , zi 2  wi 3  ai 3 , zi 3 

Аналогічно можна описати поведінку автомата Мура, що знаходиться в стані a1 , при


приході вхідного слова   zi1, z i2 ,…, zik , враховуючи, що wt    at  (таблиця 10.12).

Таблиця 10.12. Реакція автомата Мура в загальному вигляді


Вхідне слово i1
z i2
z i3
z i4
z

Послідовність станів am ai 2   am , zi1  ai 3   ai 2 , zi 2  ai 4   ai 3 , zi 3 


Вихідне слово wi1  am , zi1  wi 2  ai 2 , zi 2  wi3  ai 3 , zi3  wi 4  ai 4 

Приклад. Нехай заданий автомат Мура (таблиця 10.13). Подамо на вхід цього автомата ту ж
послідовність, що й для автомата Мілі:   z1z2 z2 z1z2 z 2 . Послідовність зміни станів і вихідних символів, що
видаються автоматом, наведено в таблиці 10.14.

Таблиця 10.13. Автомат Мура


w1 w2 w3 w4
a1 a2 a3 a4

z1 a2 a3 a4 a4
z2 a4 a1 a1 a1

85
Таблиця 10.14. Реакція автомата Мура

Порівнюючи реакції автомата Мілі (таблиця 10.10) та автомата Мура (таблиця 10.14), можна зауважити, що
ці реакції на одне й те саме слово  співпадають. Отже, автомати Мілі та Мура реалізують одне й те саме
перетворення слів вхідного алфавіту. Такі автомати називають еквівалентними. Таким чином, два
автомати з однаковими вхідними та вихідними алфавітами називають еквівалентними, якщо після
встановлення їх у початковий стан їх реакції на будь-яке вхідне слово співпадають.

Твердження 10.1. Для кожного автомата Мілі А може бути побудований еквівалентний йому автомат
Мура В, зокрема у випадку скінченності автомата А автомат В також може бути вибраний скінченним із
кількістю станів, що дорівнює m  1 n , де m – кількість вхідних сигналів, а n – кількість станів в автоматі
А.

86
Перехід від автомата Мура до еквівалентного йому автомата Мілі
тривіальний та легко здійснюється при графічному методі подання
автомата. Для отримання графа автомата Мілі необхідно вихідний
сигнал wg , записаний поряд з вершиною as початкового автомата Мура,
перенести на всі дуги, що входять у цю вершину. На рисунку 10.5
наведено граф автомата Мілі, еквівалентного автомату Мура (рисунок
10.3).

Рисунок 10.5. Автомат Мілі, еквівалентний автомату Мура (рисунок 10.3)

86
Перехід від автомата Мілі до еквівалентного йому автомата Мура
складніший. Це пов’язано з тим, що в автоматі Мура в кожному стані видається
тільки один вихідний символ. Як й у попередньому випадку, перехід найбільш
наочно можна зробити при графічному методі задавання автомата. У цьому
випадку кожен стан ai початкового автомата Мілі породжує стільки станів
автомата Мура, скільки різних вихідних сигналів генерується в початковому
автоматі при попаданні в стан ai . Розглянемо перехід від автомата Мілі Sa до
автомата Мура Sb на прикладі автомата, зображеного на рисунку 10.2.
Як випливає з рисунка 10.2, для автомата Sa при потраплянні його в стан
a1 формуються вихідні символи w2 , w4 , w5 , при попаданні в стан a2 – w1 , w2 ,
a3 – w2 , a4 – w3 . Кожній парі ( ai , w j ), яка формується при попаданні в стан ai ,
поставимо у відповідність стан bk еквівалентного автомата Мура Sb з тим
самим
сигналом w j : b1  a1 , w2  , b2  a1 , w4  , b3  a1 , w5
вихідним
b4  a2 , w1  , b5  a2 , w2  , b6  a3 , w2 , b
7  4a , 3w , тобто кожен i
стан
автомата  , деяку множину A i станів еквівалентного автомата
Мілі aпороджує
Мура: A1  b1, b2 ,b3, A 2  b4 ,b5, A 3  b6, A 4  b7 . Як бачимо, в
еквівалентному автоматі Мура кількість станів 7. Граф Sb будують таким
чином. Оскільки в автоматі S a є перехід зі стану a1 в стан a2 під дією символу
z1 з видачею символу w1 , то з станів A1  b1, b2 ,b3, що
множини
породжуються станом a1 автомата S a в автоматі Sb має бути перехід у стан
z1 й т.д. Граф еквівалентного автомата Мура
b4  a 2 , w1  під дією
символу зображено на
рисунку 10.6.

86
w2 w4 w5
z1 z2 z1 b2 b3
b1 z1
z2 z2
w1 z1 z2
b4 w3
z2 b7

z1 z2 z1
z2
z2
b5 b6
w2 w2

Рисунок 10.6. Автомат Мура S b , що еквівалентний автомату Мілі S a

z1 z2 z1
b1 b2 b3 w5
w4 z1
w2 w2
w1 z z2 z2
1 w1 z2
w1
b4 w3
z2 b7
w3
z1
z1 z2 w2 z2 w2
w2
b5 b6
w2 z2 w2

Рисунок 10.7. Автомат Мілі S1 , що еквівалентний автомату Мура Sb

88
 10.4 Мінімізація кількості внутрішніх станів абстрактних
автоматів
10.4.1 Мінімізація кількості внутрішніх станів повністю визначених автоматів
Розглянемо метод мінімізації повністю визначених автоматів,
запропонований Ауфенкампом та Хоном. Ідея методу мінімізації повністю
визначених автоматів полягає в розбитті всіх станів початкового абстрактного
автомата на попарно непересічні класи еквівалентних станів та заміні кожного класу
еквівалентності одним станом. Тобто мінімальний автомат, що виходить у результаті,
має стільки станів, на скільки класів еквівалентності розбиваються стани початкового
автомата.
Для початку дамо кілька означень:
- Два стани абстрактного автомата називають одноеквівалентними в тому
випадку, якщо реакції автомата в цих станах на будь-які вхідні слова співпадають.
Об’єднання всіх одноеквівалентних станів абстрактного автомата утворює перший
клас еквівалентності.
- Одноеквівалентні стани автомата називають двоеквівалентними, якщо вони
переводяться будь-яким вхідним сигналом також в одноеквівалентні стани.
Об’єднання всіх двоеквівалентних станів утворює другий клас еквівалентності.
За індукцією, можна дати означення i -еквівалентних станів та i -класів еквівалентності.

09.03.2023 Прикладна теорія цифрових автоматів 22


Якщо для деякого i розбиття станів автомата на i  1 - класи співпадає з розбиттям на i -класи, то воно є
розбиттям i на  -класи еквівалентності. Розбиття множини внутрішніх станів автомата на  -класи є необхідним
розбиттям на класи еквівалентності, при цьому таке розбиття може бути отримано за скінченну
кількість кроків. Все викладене вище безпосередньо стосується мінімізації автомата Мілі. При
мінімізації повністю визначених автоматів Мура вводиться поняття 0-еквівалентності станів та
розбиття множини станів на 0-еквівалентні класи: відносяться однаково відзначені стани автомата
Мура. Тобто, якщо два 0-еквівалентні стани будь-яким вхідним символом переводяться в два 0-
еквівалентні стани, то їх називають одноеквівалентними. Всі подальші класи еквівалентності станів для
автомата Мура означуються аналогічно наведеному для автоматів Мілі.
Приклад: мінімізації автомата Мілі, заданого таблицями переходів та виходів (таблиці 10.15 та
10.16).
Таблиця 10.15. Таблиця переходів Таблиця 10.16. Таблиця виходів
автомата Мілі автомата Мілі

З таблиці виходів (таблиця 10.16) отримуємо розбиття на 1-класи


еквівалентності 1 , об’єднуючи в еквівалентні класи bi стани з однаковими
значеннями wi у стовпцях таблиці:
1  b1 ,b2 ; b2  a1 , a2 , a5 , a6 ; b2  a3 , a4 .
Для отримання 2-еквівалентних станів будуємо таблицю 1-розбиття
(таблиця 10.17), замінюючи в таблиці переходів стану a1 відповідними класами
еквівалентності b1 або b2 .
З таблиці (таблиця 10.17) отримуємо 2-класи еквівалентності ci
та розбиття  2  c1, c2 , c3 , де c1  a1, a2, c2  a5 , a6, c3  a3, a4.
Порівнюючи
09.03.2023 2 Прикладна
та 1 , відзначаємо, щотеорія цифрових автоматів
це розбиття відрізняється одне від одного. 23
аналогічно будуємо таблицю 2-розбиття (таблиця 10.18), знову замінюючи в таблиці переходів
стану ai відповідними класами еквівалентності ci .

Таблиця 10.17. 1-розбиття


b1 b2
a1 a2 a5 a6 a3 a4
z1 b2 b2 b1 b1 b2 b2
z2 b1 b1 b1 b1 b1 b1

Таблиця 10.18. 2-розбиття


c1 c2 c3
a1 a2 a5 a6 a3 a4
z1 c3 c3 c2 c2 c3 c3
z2 c2 c2 c1 c1 c2 c2

З отриманої таблиці 2-розбиття знаходимо 3-класи еквівалентності d i та


розбиття  3  d1, d 2 , d3 , де d1  a1, a2, d 2  a5 , a6, d 3  a3, a4.
Порівнюючи 3 та  2 , помічаємо, що d1  c1, d 2  c2 , d3  c3 ,
тобто
3   2 . Отже, отримано розбиття на  -еквівалентні класи. Оскільки було отримано
всього три класи, то мінімальний автомат міститиме всього три стани.
Вибираємо з кожного класу d i по одному стану та отримуємо множину станів

A мінімального автомата. Нехай, наприклад, A  a1, a3 , a5. Для отримання


мінімального автомата з первинних таблиць переходів та виходів (таблиці 10.16
09.03.2023
та 10.17) викреслюємоПрикладна
стовпці, які відповідають "зайвим станам" a2 , a4 , a6 . У
теорія цифрових автоматів 24
результаті виходить мінімальний автомат Мілі (таблиці 10.19 та
Таблиця 10.19. Таблиця переходів Таблиця 10.20. Таблиця виходів
мінімального автомата Мілі мінімального автомата Мілі
a1 a3 a5 a1 a3 a5
z1 a3 a3 a5 z1 w1 w1 w1
z2 a5 a5 a1 z2 w1 w2 w1

09.03.2023 Прикладна теорія цифрових автоматів 25


 10.4 Мінімізація кількості внутрішніх станів абстрактних
автоматів
10.4.2 Мінімізація кількості внутрішніх станів частково визначених
автоматів
Задачу мінімізації часткового автомата S можна
сформулювати як
задачу пошуку автомата S  , який серед всіх автоматів, що покривають S , має
найменшу кількість станів.
Задачу мінімізації кількості внутрішніх станів частково
визначених
 Знаходження
автоматів розглянемовсіхна
максимальних класівМ.Полла
основі роботи сумісності.
та С. Ангера.
 Знаходження мінімального замкнутого покриття.
Процес мінімізації часткових автоматів включає три основні етапи:
 Отримання за мінімальним замкнутим покриттям нового автомата.

Для початку дамо декілька визначень:

09.03.2023 Прикладна теорія цифрових автоматів 26


Таким чином, відповідна допустимому вхідному слову послідрвність станів, що
визначається функцією переходів, не містить невизначеного стану. Наприклад, для деякого
автомата Мілі S1 , що заданий таблицями переходів та виходів (таблиці 10.21 та 10.22), вхідне
слово z3 z 2 z3 z 1 z4 допустиме в стані а1 (див. таблицю 10.23). Вхідні слова z3 z 4 z3 z 2 z1 та z 4 z1 z2
z 2 z3 в стані a1 не є допустимими, оскільки при надходженні першого з них не визначено
послідовність станів (див. таблицю 10.24), а при надходженні другого – не визначено вихід (див.
таблицю 10.25).

Таблиця 10.21. Таблиця переходів Таблиця 10.22. Таблиця виходів


автомата S1 автомата S1
a1 a2 a3 a4 a5 a1 a2 a3 a4 a5
- - z1 w1 w1 w1 - -
z1 a2 a3 a3
- - z2 w2 w2 w2 w2 -
z2 a5 a4 a1
z3 a3 a2 - a2 a1 z3 - w1 - - w2
z4 a2 - a5 - - z4 w1 - w1 - -

Таблиця 10.23. Реакція автомата S1 на вхідне слово z 3 z 2 z 3 z1 z 4


Вхідне слово z3 z2 z3 z1 z4
Послідовність станів a1 a3 a4 a2 a3 a5
Вихідне слово - w2 - w1 w1

Таблиця 10. 24. Реакція автомата S1 на вхідне слово z 3 z 4 z 3 z 2 z1


Вхідне слово z3 z4 z3 z2 z1
Послідовність станів a1 a3 a5 a1 -
Вихідне слово - w1 w2 w2 -

91
Таблиця 10. 25. Реакція автомата S1 на вхідне слово z 4 z1 z2 z 2 z3
Вхідне слово z4 z1 z2 z2 z3
Послідовність станів a1 a2 a3 a4 a1 a3
Вихідне слово w1 w1 w2 w2 -

Стан am автомата S  покриває стан am автомата S , якщо будь-яке вхідне слово,

допустиме для S в стані am , допустиме й для S  в стані am та при застосуванні до S в am та до


S  в am викликає в обох випадках однакові реакції всюди, де вихідні сигнали автомата S
визначені. Наприклад, стан b1 автомата S 2 (див. таблиці 10.26 та 10.27) покриває стани a1 та a2 , а
стан b3 – стани a2 та a3 автомата S1 .
Таблиця 10.26. Таблиця переходів Таблиця 10.27. Таблиця виходів
автомата S 2 автомата S 2
b1 b2 b3 b4 b1 b2 b3 b4
z1 b3 b1 b3 b3 z1 w1 w1 w1 w1
z2 b4 b1 b4 b2 z2 w2 w2 w2 w2
z3 w1 - w1 w2
z3 b3 b3 b1 b1
z4 b1 b1 b4 b4 z4 w1 w1 w1 w1

92
Відношення покриття рефлексивне, транзитивне, але не симетричне. Також очевидно, що
автомат S  , що покриває автомат S , «працює» так само, як автомат S , в умовах роботи S . Кажуть,
що автомат S  «робить так само та, можливо, й більше», ніж автомат S  . Автомат S  покриває
автомат S , якщо для кожного стану am автомата S існує хоча б один стан am автомата S  , що
покриває стан am . Так стан a1 автомата S1 покривається станами b1 та b2 автомата S 2 , a2
покривається станами b1 та b3 , a3 покривається станами b3 та b4 , a4 покривається станами b2 та
b4 , a5 покривається станом b4 . Отже, автомат S 2 покриває автомат S1 . Два стани am та as
називаються сумісними та позначаються як a m ~ as , якщо при подачі будь-якого допустимого в am
та as вхідного слова отримані вихідні слова несуперечливі, тобто співпадають там, де обидва
визначені. У протилежному випадку стани am та as є несумісними та позначаються як am ~ a s
Два стани am та as називаються сумісними, якщо:
1) Виконується умова сумісності по виходу – для кожного входу z f  Z ,
2) Для кожного входу z f  Z , для якого обидва наступнихстани визначені,
функції виходів сумісні.

91
В роботах М.Полла та С.Ангера показано, що кожному автомату S  з M

станами, який покриває автомат S  A, Z ,W , , , a1, відповідає в S
замкнуте
покриття потужності M  та навпаки, кожному замкнутому
покриттю потужності M  в автоматі S відповідає автомат S  , що покриває
автомат S . Таким чином, задачу мінімізації кількості станів автомата можна
звестиПроцедура отримання
до задачі знаходження автомата
замкнутої  A, Z класів,
множиниS сумісних ,W , , що 1,
, aпокриває
множину станівзнайденим
представляється початковогодляавтомата та такої,
початкового що має
автомата
що мінімальну
S замкнутим кількість
покриттям
класів сумісності,
D , достатньо тобто Кожному
проста. до задачі класу
знаходження мінімального
сумісності Ci  D замкнутогоу
ставиться
покриття.
відповідність стан ai нового автомата S  . Для кожного класу Ci  D
кожного z f  Z обчислюється множина слідуючих за Ci станів Tif   Ci , z f
та 
.
Функції переходів  нетавизначена, якщо Tif  наступним чином:
виходів визначаються
 ai , zf ;
 
aj , де aj  стан, що відповідає одному із
класів  сумісності C j  D, що містить Tif 

.
 
  ai , z f , якщо існує qai  Ci ,
  

  ai , z f таке, 
що  ai , z f
визначена;не визначена у протилежному випадку.

91
 10.5 Декомпозиція абстрактних автоматів
Під декомпозицією, у загальному випадку, розуміють
подання абстрактного автомата сукупністю кількох
простіших автоматів. Декомпозиція зазвичай здійснюється
паралельним, послідовним або змішаним поєднанням
простіших автоматів. Тому можна розглядати кілька видів
декомпозиції:
- Паралельну;
- Послідовну;
- Змішану.
Таких автоматів, які розкладаються тільки в паралельну, послідовну чи змішану схему автоматів – незначна
кількість відносно множини автоматів, які не можна подати паралельною, послідовною або змішаною
декомпозицією. У зв’язку з цим вводиться поняття загальної декомпозиції абстрактного автомата, яку розуміють
як подання абстрактного автомата сумісної роботи простіших автоматів зі зв’язками між ними. Розглянемо три
основних види об’єднання автоматів: паралельне, послідовне та зі зворотним зв’язком.
Паралельне об’єднання двох автоматів S1  A1, Z 1 , W1 ,1, 1 та
S 2  A2 , Z 2 , W2 , 2 , 2  подано на рисунку 10.8. Вхідний алфавіт в обох автоматів є спільний. Виходи
автоматів S1 та S 2 з’єднані з функціональним
перетворювачем  (автоматом без пам’яті), що реалізує відображення
 : W1  W2  W .

09.03.2023 Прикладна теорія цифрових автоматів 31


Z W1
S1
W   W1  W2 

S2
W2
Рисунок 10.8. Паралельне об’єднання двох автоматів

Результуючим автоматом паралельного об’єднання двох автоматів S1 та


S 2 будемо вважати автомат S  A, Z, W,  , , в якого:
1. Множина станів A  A1  A 2 – множина всіх можливих пар,
другі перші
компоненти
та яких є, відповідно, стани автоматів S1 та S

a m  am1 , a m2 m 1 2:
A
1 m2
a A ,a A
2. Вхідним алфавітом є вхідний2 алфавіт Z автоматів S1 та S 2 .
3. Вихідний алфавіт W  W1  W2 , де  – задане відображення.
. 4. Функція переходів  : A  Z  A визначається наступним чином:
      
 am , z f  1 1am , z f ,  22 am , z f , z f  Z або може бути записана у
такий  A  Z   1 A1  Z ,  2 A 2 
спосіб:
Z . 5. Функція виходів  : A  Z  W визначається наступним
  
 am ,чином:   
z f  1 a1m , z , 2 am 2 , z f , z f  Z або може записана
f
так:
 A  Z    1 A1  Z , 2 A 2  Z .

09.03.2023 Прикладна теорія цифрових автоматів 32


Розглянемо приклад паралельного об’єднання двох
автоматів поданий згідно таблиць 10.30 та 10.31,
S1  B, Z, U,  1 , 1,
та
що
S 2  C, Z, V,  2 , 2 , що представлений таблицями 10.32 та 10.33.

Функція
 : U  V  W визначена в таблиці 10.34.

Таблиця 10.30. Таблиця функції Таблиця 10.31. Таблиця функції


переходів 1 : B  Z  B виходів 1 : B  Z  U
b1 b2 b3 b1 b2 b3
z1 b3 b3 b2 z1 u2 u1 u1
z2 b1 b2 b1 z2 u1 u2 u1

Таблиця 10.32. Таблиця функції Таблиця 10.33. Таблиця функції


переходів  2 : C  Z  C виходів 2 : C  Z  V
c1 c2 c1 c2
z1 c1 c2 z1 v2 v1
z2 c2 c1 z2 v1 v2

Таблиця 10.34. Таблиця функції


:UVW
u1 u2
v1 w1 w4
v2 w3 w2

09.03.2023 Прикладна теорія цифрових автоматів 33


Результуючим автоматом такого об’єднання буде
автомат
S  A, Z, W,  , , у якого:
1. A  B  C  b1, c1 , b1, c 2 , b2 , c1 , b2 , c2 , b3 , c1 , b3 , c2 
 a1 , a 2 , a3 , a 4 , a5 , a6 .
2. Z  z1 , z 2 .
3. W  w1 , w2 , w3 , w4 .
4.Функція переходів  : A  Z  A визначена в таблиці 10.35. Тут,
наприклад,  a4 , z 2    b2 , c 2 , z 2   1b2 , z 2 ,  2 c2 , z 2   b2 , c1   a3 .
5.Функція виходів  : A  Z  W визначена в таблиці 10.36.
Тут, наприклад, a4 , z 2   b2 , c 2 , z 2   1b2 , z 2 , 2 c2 , z 2   u2 , v 2 
 w2 .
a1 a2 a3 a4 a5 a6
Таблиця 10.35.
b1c1 Таблиця
b1c2 b2функції b3c1 b
c1 b2 c2переходів :AZA
3 c2

z1 b3c1 b3 c 2 b3c1 b3 c2 b2c1 b2 c2


z2 b1c2 b1c1 b2 c2 b2c1 b1c2 b 1 c1

Таблиця 10.36. Таблиця функції виходів  : A  Z 


W a1 a2 a3 a4 a5 a6
b1c1 b1c2 b2c1 b2 c2 b3c1 b3c2
z1 w2 w4 w3 w1 w3 w1
z2 w1 w3 w4 w2 w1 w3

09.03.2023 Прикладна теорія цифрових автоматів 34


Послідовне об’єднання двох автоматів S1  A1, Z, W1,1 , 1 та
S 2  A2 , W1, W2 , 2 , 2  подано на рисунку 10.9. Вихідний алфавіт автомата
S1 є вхідним алфавітом автомата S 2 .

Z W1 W
S1 S2

Рисунок 10.9. Послідовне об’єднання двох автоматів

Результуючим автоматом послідовно об’єднаних двох автоматів S1 та S 2


будемо називати автомат S  A, Z, W, , , у
  
якого:1. A  A1  A , інакше A a m  am , a m am  1 , am  A 2
1 1 2
 A

2
2 .
3. W 
2.
4. Z.  Z . переходів  : A  Z  A визначається
WФункція
як:      
 am , z f  1 1am , z,  2 am 2 , 1 am 1, z f 
інакше
 ,
f A  Z   1 A1  Z ,  2 A 2  1 A1 
Z .  : A  Z  W визначається
5. Функція виходів
,z
як:  
 am , zf  2 ma, 1 m f
інакше 
a
2 1
,
 A  Z   2 A 2  1 A1  Z .

09.03.2023 Прикладна теорія цифрових автоматів 35


Розглянемо приклад послідовного об’єднання двох автоматів
що поданий згідно таблиць 10.30 та 10.31,
S1  B, Z, U, 1 ,
S 2  C, U, V,  2 , 2 та
, робота якого описується таблицями 10.37 та 10.38.
1 , Результуючим автоматом такого об’єднання буде
автомат
S  A, Z, W,  , , у якого:
1. A  B  C  b1, c1 , b1, c2 , b2 , c1 , b2 , c2 , b3 , c1 , b3 , c2 
 a1 , a 2 , a3 , a 4 , a5 , a6 .
2. Z  z1 , z 2 .
3. W  w1 , w2 .
4. Функція переходів
наприклад,  a4 ,z 2: AZ
b2 ,Ac2 , z 2  визначена
1b2 , z 2 в, таблиці
2 c2 , 110.39.
b2 , z 2
Тут,
 b2 ,  2 c 2 ,u 2   b2 , c1
 a3 .
5. Функція виходів  : A  Z  W визначена в таблиці
10.40.Тут, наприклад, a4 , z 2   b2 , c2 , z 2   2 c2 , 1b2 , z 2   2
c2 ,u 2   w1 .

09.03.2023 Прикладна теорія цифрових автоматів 36


Таблиця 10.37. Таблиця функції Таблиця 10.38. Таблиця функції
переходів  2 : C  U  C виходів 2 : C  U  W
c1 c2 c1 c2
u1 c1 c2 u1 w1 w2
u2 c2 c1 u2 w2 w1

Таблиця 10.39. Таблиця функції переходів  : A  Z 


A a1 a2 a3 a4 a5 a6
b1c1 b1c2 b2c1 b2 c2 b3c1 b3c2
z1 b3 c 2 b3c1 b3c1 b3 c2 b2c1 b2 c2
z2 b1c1 b 1 c2 b2 c2 b2c1 b1c1 b1c2

Таблиця 10.40. Таблиця функції виходів  : A  Z 


W a1 a2 a3 a4 a5 a6
b1c1 b1c2 b2c1 b2 c2 b3c1 b3c2
z1 w2 w1 w1 w2 w1 w2
z2 w1 w2 w2 w1 w1 w2

09.03.2023 Прикладна теорія цифрових автоматів 37


Об’єднання із зворотнім зв’язком двох автоматів S1  A1, Z 1 , W1 , 1 ,
1 та S 2  A2 , Z 2 , W2 , 2 , 2  подано на рисунку 13.10. функціональний
перетворювач  (автомат без пам’яті) реалізує відображення  : Z  W2  Z 1 .

Z Z1 W
 S1

W2
S2

Рисунок 10.10. Об’єднання двох автоматів із зворотнім


зв’язком

Покажемо, що у випадку об’єднання із зворотнім зв’язком хоча б один із


автоматів ( S1 або S 2 ) повинен бути автоматом Мура. Доводити будемо від
протилежного, тобто що S1 та S 2 є автоматами Мілі. Тоді W  2 A2  W ,
W  1A1  Z1 .
Вхідний сигнал першого автомата буде визначатися згідно виразу:
Z1   Z  W2    Z  2 A 2  W    Z  2 A 2  1 A1  Z1  .
Таким чином, виявилося, що Z1 в даний момент часу залежить від Z1 у
той самий момент часу, що призведе до нестабільності системи при такому

09.03.2023 Прикладна теорія цифрових автоматів 38


об’єднанні. Якщо ж один з автоматів, наприклад S1 є автоматом Мура, то
W  1 A1  та
Z1   Z  W2    Z  2 A 2  W    Z  2 A 2  1 A1 .
У цьому випадку стабільність системи не порушується.
Нехай автомат S 2 є автоматом Мура ( W2  2 A 2 ).
Результуючим автоматом при об’єднанні із зворотнім двох автоматів S1 та S 2
S  A, Z, W,  , , у буде автомат
 
якого:1. A  A1  A , інакше2 A  a  am , a m
1
 m1  A1 , am2  A 2
m a

2
.
3.
2. Z WZ .
4.
WФункція
. переходів  : A  Z  A визначається
    
як: am , zf  1 a m1 ,  zf , 2 ma2    
,2 a m2 , 1 a m1 ,  z f , 2 am2 ,
інакше
 
   
 A  Z  1A1   Z  2 A2 ,  2 A2  1A1   Z  2 A2
5.
Функція
. виходів  : A  Z  W визначається
як:      
 am , z f  1 a1 m ,  z f , 2 2
інакше am ,
 A  Z   1 A1   Z  2 A 2 .

09.03.2023 Прикладна теорія цифрових автоматів 39


об’єднанні. Якщо ж один з автоматів, наприклад S1 є автоматом Мура, то
W  1 A1  та
Z1   Z  W2    Z  2 A 2  W    Z  2 A 2  1 A1 .
У цьому випадку стабільність системи не порушується.
Нехай автомат S 2 є автоматом Мура ( W2  2 A 2 ).
Результуючим автоматом при об’єднанні із зворотнім двох автоматів S1 та S 2
S  A, Z, W,  , , у буде автомат
 
якого:1. A  A1  A , інакше2 A  a  am , a m
1
 m1  A1 , am2  A 2
m a

2
.
3.
2. Z WZ .
4.
WФункція
. переходів  : A  Z  A визначається
    
як: am , zf  1 a m1 ,  zf , 2 ma2    
,2 a m2 , 1 a m1 ,  z f , 2 am2 ,
інакше
 
   
 A  Z  1A1   Z  2 A2 ,  2 A2  1A1   Z  2 A2
5.
Функція
. виходів  : A  Z  W визначається
як:      
 am , z f  1 a1 m ,  z f , 2 2
інакше am ,
 A  Z   1 A1   Z  2 A 2 .

09.03.2023 Прикладна теорія цифрових автоматів 40


Приклад об’єднання із зворотнім зв’язком (рисунок 10.11)
автомата S1  B, R, W,  1 , 1, робота якого задається таблицями 10.41 та
10.42, та автомата S 2  C, W, V,  2 , 2 , що
заданий таблицею 10.43. Функція
 : Z  V  R визначена в таблиці 10.44.
Z R W
 S1

V
S2

Рисунок 10.11. Приклад об’єднання двох автоматів


із зворотнім зв’язком

Результуючим автоматом такого об’єднання


буде автомат
S  A, Z, W,  , , у якого:
1. A  B  C  b1, c1 , b1, c 2 , b2 , c1 , b2 , c 2 , b3 , c1 , b3 , c 2 
  a 1 , a 2 , a 3 , a 4 , a 5 , a 6 .
2. Z  z1 , z 2 , z 3 .
3. W  w1 , w2 , w3 .

09.03.2023 Прикладна теорія цифрових автоматів 41


4. Функція переходів  : A  Z  A визначена в таблиці 10.45.
наприклад,
Тут,

 a1, z1    b1, c1 , z1   1b1,  z1, 2 c1 ,  2 c1, 1b1, z1, 2 c1  
 1b1,  z1, v1 ,  2 c1, 1b1, z1, v1   1b1, r1 ,  2 c1, 1b1, r1  
 b2 ,  2 c1 , w1   b2 , c 2   a 4 .
наприклад,
6. Функція виходів  : A  Z  W визначена в таблиці 10.46.
Тут,

a1,функції
Таблиця 10.41. Таблиця z1   bТаблиця
1, c1 , z1 10.42.
 1bТаблиця
1,  z1, функції
2 c1   1b1,  z1, v 2   1b1, r2  
переходів 1 : B  Rw
2.
B виходів
b1 b2 b3 1 : B  R  W
r1 b2 b3 b1 b1 b2 b3
r1 w1 w2 w3 Таблиця 10.45. Таблиця функції переходів  : A  Z 
r2 b3 b1 b2
A a1 a2 a3 a4 a5 a6
r2 w2 w3 w1
b1c1 b1c2 b2c1 b2 c 2 b3c1 b3c2
Таблиця 10.43. Таблиця функцій Таблиця 10.44. Таблиця функції z1 b2 c2 b3c2 b3c1 b1c1 b1c2 b2 c 2
 2 : C  W  C та 2 : C  V  : Z  V  R z2 b3c1 b2 c2 b1c2 b3c2 b2c1 b1c1
v1 v2 z1 z 2 z 3 z3 b3c1 b3c2 b1c2 b1c1 b2c2 b2 c 2
c1 c2 v 1 r 1 r2 r 2

w1 c2 c2 v2 r2 r1 r2 Таблиця 10.46. Таблиця функції виходів :AZ


w2 c1 c2 W a1 a2 a3 a4 a5 a6
Прикладна
b cтеорія
b cцифрових
b c автоматів
bc bc b3 c 2
w3 c2 c1 1 1 1 2 2 1 2 2 3 1

z1 w1 w2 w2 w3 w3 w1
z2 w2 w1 w3 w2 w1 w3
z3 w2 w2 w3 w3 w1 w1

09.03.2023 Прикладна теорія цифрових автоматів 42


Дякую за увагу

You might also like