Для проверки правильности кодирования составим таблицу соседства состояний автомата (табл. 12).
Таблица 12. Таблица соседства состояний автомата А
Состояние |
Код состояния |
Соседние состояния |
Коды соседних состояний |
q0 |
000 |
q1 |
001 |
q4 |
100 |
||
q5 |
010 |
||
q1 |
001 |
q0 |
000 |
q6 |
101 |
||
q2 |
111 |
q3 |
110 |
q6 |
101 |
||
q3 |
110 |
q2 |
111 |
q4 |
100 |
||
q5 |
010 |
||
q4 |
100 |
q0 |
000 |
q3 |
110 |
||
q5 |
010 |
q0 |
000 |
q3 |
110 |
||
q6 |
101 |
q1 |
001 |
q2 |
111 |
По табл. 12 видно, что противогоночное кодирование выполнено верно.
Данный вид кодирования основывается на следующей теореме: в автомате, состояния которого закодированы двоичными кодами конечной длины, гонки отсутствуют тогда и только тогда, когда для любых двух переходов (qα, qβ) и (qγ, qδ), где qβ≠ qδ, происходящим под действием одного и того же входного сигнала, соответствующие пары кодов состояний развязаны.
Для исключения гонок в автомате пары состояний должны быть развязаны в каждом из массивов переходов, осуществляемых под воздействием одного и того же сигнала. Сформируем соответствующие таблицы переходов (табл. 13).
Таблица 13. Множество переходов автомата А
M0 (по X0) |
M1 (по X1) |
M2 (по X2) |
M2 (по X2) |
(q0, q0) (q1, q1) (q2, q3) (q3, q3) (q4, q0) (q5, q3) |
(q0, q0) (q1, q2) (q2, q2) (q3, q0) (q4, q0) (q5, q5) |
(q0, q1) (q1, q1) (q2, q3) (q3, q3) (q4, q4) (q5, q3) |
(q0, q5) (q1, q2) (q2, q2) (q3, q4) (q4, q4) (q5, q5) |
Пары с одинаковыми состояниями перехода не подлежал развязыванию и выделены в табл. 13 стрелками. Пары состояний, подлежащие развязыванию приведены в табл. 14.
Таблица 14. Пары переходов автомата А, подлежащие развязыванию
M0 (по X0) |
M1 (по X1) |
M2 (по X2) |
M2 (по X2) |
(q0, q0), (q1, q1) (q0, q0), (q2, q3) (q0, q0), (q3, q3) (q0, q0), (q5, q3) (q1, q1), (q2, q3) (q1, q1), (q3, q3) (q1, q1), (q4, q0) (q1, q1), (q5, q3) (q2, q3), (q4, q0) (q3, q3), (q4, q0) (q4, q0), (q5, q3) |
(q0, q0), (q1, q2) (q0, q0), (q2, q2) (q0, q0), (q5, q5) (q1, q2), (q3, q0) (q1, q2), (q4, q0) (q1, q2), (q5, q5) (q2, q2), (q3, q0) (q2, q2), (q4, q0) (q2, q2), (q5, q5) (q3, q0), (q5, q5) (q4, q0), (q5, q5) |
(q0, q1), (q2, q3) (q0, q1), (q3, q3) (q0, q1), (q4, q4) (q0, q1), (q5, q3) (q1, q1), (q2, q3) (q1, q1), (q3, q3) (q1, q1), (q4, q4) (q1, q1), (q5, q3) (q2, q3), (q4, q4) (q3, q3), (q4, q4) (q4, q4), (q5, q3) |
(q0, q5), (q1, q2) (q0, q5), (q2, q2) (q0, q5), (q3, q4) (q0, q5), (q4, q4) (q1, q2), (q3, q4) (q1, q2), (q4, q4) (q1, q2), (q5, q5) (q2, q2), (q3, q4) (q2, q2), (q4, q4) (q2, q2), (q5, q5) (q3, q4), (q5, q5) (q4, q4), (q5, q5) |
Проведем сокращение таблицы пар переходов, исключив пары переходов, которые автоматически развязываются при развязывании пары (qα, qβ), (qγ, qδ). При этот получим сокращенную таблицу пар переходов автомата А, подлежащих развязыванию (табл. 15).
Таблица 15. Пары переходов автомата А, подлежащие развязыванию
M0 (по X0) |
M1 (по X1) |
M2 (по X2) |
M2 (по X2) |
(q2, q3), (q4, q0) (q4, q0), (q5, q3) |
(q1, q2), (q3, q0) (q1, q2), (q4, q0) (q3, q0), (q5, q5) |
(q0, q1), (q2, q3) (q0, q1), (q4, q4) (q0, q1), (q5, q3) |
(q0, q5), (q1, q2) (q0, q5), (q3, q4) (q1, q2), (q3, q4) |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.