Теоретичні основи мінімізації повністю визначених автоматів

У загальному випадку таблиця переходів ЦА, отримана тим або іншим способом, може містити надмірне число станів. Оскільки від кількості станів абстрактного автомата залежить число елементів пам'яті, які використовуються при структурному синтезі ЦА, то цілком обґрунтовано ставиться задача скорочення надмірних станів ЦА. При цьому процес мінімізації числа станів полягає у виключенні деяких станів абстрактного автомата, а також в заміні ряду станів одним так, щоб автомат, який вийшов в результаті, був еквівалентний початковому, тобто на однакову послідовність вхідних сигналів обидва автомати (початковий і мінімізований, що знаходяться в початковому стані) повинні відповідати однаковими послідовностями вихідних сигналів.

Проблему мінімізації кінцевих автоматів можна вирішувати в двох напрямах:

1. Мінімізація числа внутрішніх станів автоматів з метою скорочення

форми їх запису і побудови на мінімальній кількості елементів пам'яті.

2. Мінімізація автоматів з метою отримання оптимальніших (по відношенню певних критеріїв і в першій черзі в сенсі економічності) рішень в процесі їх технічної реалізації.

Перша постановка хоча і цілком коректна, але є обмеженою, так як містить елемент самоцілі. Він виходить з сумнівного твердження, що абстрактний автомат, який містить найменше можливе число внутрішніх станів, реалізується найекономічніше. Насправді складність, а в тій же час і вартість автомата, не рахуючи витрати на його проектування, визначаються числом та вартістю усіх технічних елементів, що становлять його схему. Практика показує, що у багатьох випадках мінімізація станів абстрактного автомата не призводить до зменшення вартості його технічній реалізації.

Загальнішою і строгішою є друга постановка завдання мінімізації автоматів. Її можна вважати завданням оптимального синтезу, оскільки чинник мінімальності (економічності) один з його постійних критеріїв. Алгоритми рішення задачі в такому плані (заданий автомат, загалом не мінімальний, вимагається знайти його економічну реалізацію) не публікувалися.

Завдання мінімізації внутрішніх станів кінцевого автомата полягає в знаходженні такого автомата, еквівалентного заданому, який має найменше число станів і найбільше число невизначених переходів (останнє тільки для не повністю визначених (часткових) автоматів).

Можливість скорочення числа станів визначається тим, що деякі внутрішні стани автомата, що означають як сумісні, можна об'єднувати в один стан, не порушуючи при цьому закону функціонування автомата.

При вирішенні цієї задачі використовуються деякі прийоми, що дозволяють проводити попереднє скорочення.

По-перше, з таблиці переходів можна видалити усі недосяжні стани, тобто такі, в які автомат не зможе потрапити з початкового стану під впливом будь-якої послідовності вхідних сигналів.

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

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

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

Приклад. Сформуємо спрощену таблицю переходів автомата, заданого таблицею 1.17.

Таблиця 1.17 - Таблиця переходів автомата

x \ q q1 q2 q3 q4 q5 q6 q7
х 1 q1 y0 q5 y1 q1 y0 y1 q4 y1 q7 y0 q5 y1
x 2 q2, y1 q3, y0 q2, y1 q6 y1 q5 y0 y1 q3 y0

У цій таблиці однакові стовпці відповідають станам (q1, q3) і (q2, q7). Введемо позначення: група станів (q1, q3) - 1, група (q2, q7) - 2.

Тоді стовпці таблиці, відповідні станам q3 і q7, можна виключити, а усі входження цих станів замінити станами q1 і q2 відповідно. В результаті отримаємо спрощену таблицю переходів (таблиця).

Таблиця 1.18 - Спрощена таблиця переходів

x \ q q1 q2 q4 q5 q6
х 1 q1 y0 q5 y1 y1 q4 y1 q2 y0
x 2 q2 y1 q1 y0 q6 y1 q5 y0 y1

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: