- •3. Перетворення автомата Мура у еквівалентний автомат Мілі
- •4. Перетворення автомата Мілі у еквівалентний автомат Мура
- •4. Побудова матриці переходів та граф-схеми автомата Мура
- •5. Розмітка системи регулярних виразів
- •Діагностика
- •1. Асинхронний rs – триггер.
- •5. Синхронний rs – тригер
- •2. Синхронний jk-тригер
- •Канонічні рівняння
- •Структурний синтез автомата Мілі на rs –тригерах
- •Структурний синтез автомата Мура на jk –тригерах
- •5. Формули переходів.
- •6. Матричні схеми алгорітмів
- •7. Логічні схеми алгорітмів
4. Побудова матриці переходів та граф-схеми автомата Мура
Відповідну таблицю переходів легко побудувати, скориставшись таким правилом: кожна трійка «передосновне місце-вхідна буква-основне місце» заповнює одну з комірок таблиці переходів. На перетині стовпця з індексом вихідного місця та рядку з вхідною буквою записуємо стан з індексом основного місця.
|
λ |
λ |
λ |
λ |
y1 |
|
q0 |
q2 |
q5 |
q9 |
q11 |
x1 |
q2 |
q5 |
q9 |
q9 |
- |
x2 |
q0 |
q0 |
q0 |
q11 |
- |
5. Розмітка системи регулярних виразів
Розглянемо приклад синтезу автомата, що описується наступними регулярними виразами:
X(x1, x2) , Y(y1, y2),
S1 = x1 x2 x1 v x1 x1 x1 – генерує y1, S2 = x1 x2 x2 v x2 x2 – генерує y2.
S1 = | x1 | x2 | x1 | v | x1 | x1 | 0 1 2 3 0 1 4 - індекси станів
S2 = | x1 | x2 | x2 | v | x2 | x2 | 0 1 2 5 0 6 7 - індекси станів
Ітераційні дужки відсутні, тому використаємо лише індекси станів, в які переходить автомат внаслідок вхідної букви, що розташована зліва. Як видно з регулярних виразів S1 та S2, вони мають однакові фрагменти x1x2. Це дозволяє скоротити розмір автомату за рахунок спільних станів 1 та 2.
Відповідна таблиця переходів автомата Мура має такий вигляд:
|
λ |
λ |
Λ |
y1 |
y1 |
y2 |
λ |
y2 |
|
q0 |
q1 |
q2 |
q3 |
q4 |
q5 |
q6 |
q7 |
x1 |
q1 |
q4 |
q3 |
- |
- |
- |
- |
- |
x2 |
q6 |
q2 |
q5 |
- |
- |
- |
q7 |
- |
. Приклад мінімізації числа внутрішніх станів повністю визначеного автомату Мілі
Розглянемо приклад пошуку мінімального автомата для автомата Мілі:
Розглянемо приклад пошуку мінімального автомата для автомата Мілі, заданого граф-схемою та автоматною таблицею:
Автоматна таблиця |
q0 |
q1 |
q2 |
q3 |
х0 |
q1 / у1 |
q3 / у0 |
q1 / у1 |
q2 / у1 |
х1 |
q2 / у0 |
q2 / у0 |
q0 / у0 |
q0 / у0 |
|
B1 |
B2 |
B1 |
B1 |
Аналізуючи вихідні сигнали у стовпцях автоматної таблиці знайдемо, що, π1={B1,B2}, В1={q0,q2,q3}; В2={q1}. B1 виділені сірим кольором, а у B2 – залишено білим тло.
Таблицю розбиття будуємо, замінюючи стани у комірках відповідними символами класу одно-еквівалентних станів, тобто q0B1, q1B2, q2B1, q3B1.
π1 |
В1 |
В2 |
||
q0 |
q2 |
q3 |
q1 |
|
х0 |
В2 |
В2 |
В1 |
В1 |
х1 |
В1 |
В1 |
В1 |
В1 |
|
С1 |
С1 |
С2 |
С3 |
Користуючись таблицею розбиття π1 будуємо розбиття π2= {C1,C2,C3}, C1={q0,q2}; C2={q3}; C3=B2={q1}.
В результаті отримаємо таку таблицю, замінюючи стани qi у комірках відповідними символами класів C, тобто q0С1, q1C3, q2С1, q3С2.
π 2 |
С1 |
С2 |
С3 |
|
q0 |
q2 |
q3 |
q1 |
|
х0 |
С3 |
С3 |
С1 |
С2 |
х1 |
С1 |
С1 |
С1 |
С1 |
|
D1 |
D1 |
D2 |
D3 |
З таблиці виходить, що π3= {D1,D2,D3}, D1={q0,q2}; D2={q3}; D3={q1}. Розбиття π3= π2 є розбиття сукупності станів автомата Мілі на класи еквівалентних між собою станів. Обравши представником класу С1 стан q0; класу С2 – стан q3; класу С3 – стан q1 отримуємо наступну автоматну таблицю та відповідну граф-схему.
Автоматна таблиця |
q0 |
q1 |
q3 |
х0 |
q1 / y1 |
q3 / y0 |
q0 / y1 |
х1 |
q0 / y0 |
q0 / y0 |
q0 /y0 |
Приклад мінімізації числа внутрішніх станів повністю визначеного автомату Мура
Знайти мінімальний автомат, еквівалентний автомату Мура, заданому зазначеної таблицею переходів. Знаходимо розбиття π0={B1,B2}, В1={q0,q1,q4}; В2={q2,q3}. Будуємо таблицю розбиття, замінюючи стани переходу позначенням класу Bi, якому цей стан належить.
Таблиця переходів |
y1 |
y1 |
y0 |
y0 |
y1 |
q0 |
q1 |
q2 |
q3 |
q4 |
|
х0 |
q3 |
q3 |
q0 |
q1 |
q3 |
х1 |
q2 |
q2 |
q1 |
q0 |
q2 |
|
B1 |
B1 |
B2 |
B2 |
B1 |
З аналізу таблиці витікає, що π0= {B1,B2}, B1={q0,q1,q4}; B2={q2,q3}. Для розбиття π0 отримаємо
π0 |
В1 |
В2 |
||||
q0 |
q1 |
q4 |
q2 |
q3 |
||
х0 |
В2 |
В2 |
B2 |
В1 |
В1 |
|
х1 |
В2 |
В2 |
B2 |
В1 |
В1 |
|
|
C1 |
C1 |
C1 |
C2 |
C2 |
|
На наступному кроці π1= π0, тому що π1= {C1,C2}, C1=B1, C2=B2.
Обравши в якості представників класів B1, B2 стани q0, q2 отримаємо наступну таблицю переходів мінімального автомата Мура:
Таблиця переходів |
y1 |
y0 |
q0 |
q2 |
|
х0 |
q2 |
q0 |
x1 |
q2 |
q0 |
