Перетворення автомата Мілі в автомат Мура

Нехай заданий автомат Мілі AА = (SА, XА, YА, dА, lА, {s}). Еквівалентний йому автомат Мура AВ = (SВ, XВ, YВ, dУ, lУ, {s }) будується в такий спосіб:

XВ:= XА; YВ:= YА.

Для визначення SВ кожному стану siÎ SА ставиться у відповідність множина Sів за допомогою всіляких пар вигляду <si, ym>, де ym - вихідний сигнал, що відповідає дузі, що є вхідна в стан si (рис. 19.3).

Число елементів множини Sів дорівнює множині різних вихідних сигналів на дугах автомата А, що входять у стан sіа. Множина станів SВ автомата Мура АВ виходить як об'єднання множин Sів для всіх siÎ SА:

SВ = È Sів

siÎ SА

Приклад. Sів= {< si, y1>, < si, y2>,…,<siA,ym>}

Рис. 19.3. Вхідні в стан si дуги із сигналами

Функції lВ і dУ визначаються так.

Кожному стану sіmв автомата Мура AВ, що преявляє собою пари вигляду <si, ym>, ставиться у відповідність вихідний сигнал ym. Якщо в автоматі Мілі був перехід dА(si, xj ) = si і при цьому видавався вихідний сигнал lА (si, xj) = yk,, то в автоматі Мура АВ буде перехід з кожного стану множини sів , породжуваного вершиною si, у стан s = <sh, yk> під дією того ж вхідного сигналу xj.

Приклад. Розщеплення стану si залежно від вихідних сигналів ym .

Рис. 19.4. Розщеплення стану si

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

Приклад. Заданий автомат Мілі (рис. 19.5), потрібно побудувати автомат Мура (рис. 19.6). XB := XA ={x1, x2}, YB :=YA ={y1, y2, y3}.

 
 

Рис.19.5. Автомат Мілі

 
 

Рис. 19.6. Еквівалентний автомат Мура


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



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