Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Мінімізація числа станів автоматів Мілі і Мура




 

Число станів автомата істотно впливає на його складність. Тому визначення абстрактного автомата з найменшим можливим числом станів, що реалізує задане відображення слів вхідного алфавіту в слова вихідного алфавіту, має важливе значення.

Розглянемо алгоритм мінімізації числа станів цілком визначеного автомата Мілі, запропонованого Ауфен - Кампом і Хоном. Основна ідея цього методу полягає в розбитті всіх станів вихідного абстрактного автомата на попарно не пересікаючі класи еквівалентних станів і в заміні кожного класу еквівалентності одним станом. Таким чином, виходить щорезультаті мінімальний автомат має стільки ж станів, на скільки класів еквівалентності розбиваються стани вихідного автомата.

Два стани автомата zi і zj називаються еквівалентними, якщо l(zi, x) = l(zi, x) для усіляких вхідних слів х. Якщо zi и zj не еквівалентні, то вони різні. Стану ziі zj к- еквівалентні, якщо l (zi, xk) = l (zi, xk) для усіляких вхідних слів хк довжини k. Відповідні розбивання на класи еквівалентних і k-еквівалентних станів будемо позначати через p і pк. Якщо, наприклад, zi і zj, еквівалентні, то з погляду реалізацій автомата на усілякі вхідні слова не має значення, знаходиться автомат у стані zi або zjі одне з них може бути вилучене з множини z. Якщо кожен клас еквівалентності містить тільки одиь стан, множина Z нескоротна. Якщо ж один чи кілька класів містять більше одного елемента, всі елементи, крім одного в кожному класі, можуть бути виключені з множині Z, у результаті чого виходить автомат з мінімальним числом станів.

Роботу алгоритму цроілюструємо на прикладі абстрактного немінімального автомата Мілі, заданого табл.4.9 і 4.10.

 

 

Таблиця 4.9

Вхідний сигнал Стан
z1 z2 z3 z4 z5 z6 z7 z8
x1 z1 z3 z4 z2 z7 z8 z3 z1
x2 z2 z8 z3 z5 z4 z7 z8 z6

 

Таблиця 4.10

Вхідний сигнал Стан
z1 z2 z3 z4 z5 z6 z7 z8
x1 y1 y1 y1 y2 y1 y1 y1 y1
x2 y1 y2 y1 y1 y1 y2 y2 y1

 

1. Будуються непересічні класи 1-еквівалентності: а1, b1, с1,d1,...

До одного класу 1-еквівалентності відносяться стани, для яких збігаються значення вихідних сигналів у таблиці виходів (табл.4.10). Для розглянутого приклада одержимо:

Ці класи визначають по таблиці переходів (табл.4.9) і таблиці виходів (табл.4.10) автомата Мілі.

2. Проводиться новий поділ станів на класи. Для цього виробляється заміна кожного зі станів Zi+1 в табл. 4.9 позначенням класу 1-еквівалентності, в який входить цей стан

Поєднуємо кожному класі стани відзначені однаковою послідовністю букв і одержуємо розбиття на класи 2-еквівалентності:

Аналогічно п.2 проводиться нове розбиття

Одержуємо розбиття на класи 3-еквівалентності:

4. Якщо деякі класи черговго розбиття (к+1- еквівалентності) цілком збігаються з класами попереднього розбття (k-еквівалентності), а інші класи містять тільки по одному стану то алгоритм закінчується.

При цьому стани в кожному класі одержуваного розбиття (к +1 -еквівалентності) еквівалентні. У розглянутому прикладі класи сз і d3 збігаються з b 2 і с2, а інші класи а3, b3, е3, f3 містять тільки по одному стану. Тому розбиття станів на класи еквівалентності на цьому закінчується.

У кожному класі одержаного розбиття залишають тільки по одному стану, відкинувши інші.

Позначивши

одержимо мінімальний автомат А' зі станами Z'1, Z'2, Z'3, Z'4, Z'5, Z'6, (табл. 4.11 і 4.12).

Таблиця 4.11

Вхідний сигнал Стан
z1 z2 z3 z4 z5 z6
x1 z1 z1 z4 z6 z2 z3
x2 z4 z2 z3 z2 z4 z6

 

Таблиця 4.12

Вхідний сигнал Стан
z1 z2 z3 z4 z5 z6
x1 y1 y1 y1 y1 y1 y2
x2 y1 y1 y1 y2 y2 y1

 

При мінімізації автоматів Мура вводиться поняття 0-еквівалентності станів і розбиття множини станів на 0-класи, Будь-які однаково відзначені вихідними сигналами стани; автоматів Мура називаються 0-еквівалентними. Якщо два 0-еквівалентних стани будь-яким вхідним сигналом переводяться в два 1-еквівалентних стани, то вони називаються 1-еквівалентними. Усі подальші класи еквівалентності станів для автоматів Мура визначаються аналогічно приведеному вище для автоматів Мілі. Алгоритм мінімізації числа внутрішніх станів автомата Мура проілюструємо на прикладі немінімального автомата, заданого табл. 4.13.

 

Таблиця 4.13

Вихідний сигнал y1 y1 y3 y3 y3 y2 y3 y1 y2 y2 y2 y2
Стан z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12
Вхідний сигнал x1 z10 z12 z5 z7 z3 z7 z3 z1 z7 z1 z5 z2
x2 z5 z7 z6 z11 z9 z11 z6 z4 z6 z8 z9 z8

 

1. Визначаємо розбиття на класи 0-еквівалентних станів по табл.4.13, поєднуючи однаково відзначені вихідними сигналами стани

2. Визначаємо розбиття p1на класи 1-еквівалентних станів. Для цього виробляється заміна кожного зі станів Z 1+1в табл. 4.13 позначенням класу 1-еквівалентності, у який входить цей стан:

Об'єднаємо в кожному класі стани, відзначені однаковою послідовністю букв і одержуємо розбиття на класи 1- еквивалентності:

Процес розбиття завершений, оскільки класи чергового розбиття (2-еквівалентності) цілком збігаються з класами попереднього розбиття (1-еквівалентності). Розбиття p1 є розбиття безлічі станів немінімального автомата Мура на класи еквівалентних між собою станів.

4. У кожному класі отриманго розбиття залишають тільки по одному станру виключивши інші. Позначивши

одержимо мінімальний автомат А' зі станами Z'1,Z'2,Z'3,Z'4 (табл. 4.14).

 

Таблиця 4.14

Вихдний сигнал y1 y2 y2 y3
Стан z1 z2 z3 z4
Вхідний сигнал x1 z3 z4 z1 z4
x2 z4 z2 z1 z2

 

Задача мінімізації числа станів часткових (нецілком визначених) автоматів істотно складніше, ніж для цілком визначених автоматів. З алгоритмом мінімізації часткових автоматів можна ознайомитися в роботі [3].




Поделиться с друзьями:


Дата добавления: 2015-06-27; Просмотров: 894; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.