СХЕМЫ ИЗ ЭЛЕМЕНТАРНЫХ АВТОМАТОВ
Пусть A = {0, 1}. Следующие автоматы называются элементарными (см. рис. 7.16):
& - Z
Рис. 7.16
Здесь первые три автомата представляют собой уже известные функциональные элементы, которые для любых входных наборов вычисляют значения соответствующих булевских функций.
Эти автоматы имеют по одному внутреннему состоянию.
Автомат Z является задержкой для алфавита A = {0, 1}.
Рассмотрим как с помощью схем, составленных из элементарных автоматов, можно представлять произвольные автоматы.
Пусть Â = (A, B, Q, j, y) - произвольный автомат, для которого:
A = {a1, . . . , am}, B = {b1, . . . , bn}, Q = {q0, . . . , qr}, и q0 - это начальное состояние автомата Â.
Будем представлять символы алфавитов A и B, а также элементы множества состояний Q с помощью двоичных наборов длины p = ]log2(m)[, d = ]log2(n)[ и s = ]log2(r+1)[ соответственно.
Заметим, что значения p, d и sвыбраны из соображений минимальности длины наборов, которых должно быть не меньше, чем элементов соответствующих множеств.
Для определенности положим, что начальное состояние Â, равное q0, представляется набором, состоящим из s нулей.
Рассмотрим автомат Á, имеющий p входов и d выходов, который моделирует работу автомата Â.
Состояния Áпредставляются двоичными наборами, имеющими длину s, которые соответствуют состояниям Â.
Начальным состоянием автомата Áявляется состояние, представляющее состояние q0 автомата Â.
Если в некоторый момент времени на вход Á поступает набор, представляющий символ входного алфавита ai и автомат находится в состоянии, соответствующем состоянию qj, то на выходе Á появляется двоичный набор, представляющий
y(ai, qj). При этом сам автомат Áпереходит в состояние, представляющее состояние j(ai, qj).
Канонические уравнения для автомата Á можно записать в виде:
q1(t0) | = | 0; |
. . . | ||
qs(t0) | = | 0; |
q1(t+1) | = | j1(x1(t), ... , xp(t), q1(t), . . . , qs(t)); |
. . . | ||
qs(t+1) | = | js(x1(t), ... , xp(t), q1(t), . . . , qs(t)); |
y1(t) | = | y1(x1(t), ... , xp(t), q1(t), . . . , qs(t)); |
. . . | ||
yd(t) | = | yd(x1(t), ... , xp(t), q1(t), . . . , qs(t)). |
Здесь (x1(t), ... , xp(t)) обозначает набор символов, поступающих на входы Á в момент t, а (q1(t), . . . , qs(t)) - набор, задающий состояние автомата Á в тот же момент времени.
Функция ji, i = 1, . . . , s, определяет значение i-й компоненты состояния автомата Á, в которое он переходит из состояния (q1(t), . . . , qs(t)) под действием входного символа (x1(t), . . . , xs(t)).
Функция yj, j = 1, . . . , d, определяет значения символа на j-м выходе Á в момент t, для входного символа (x1(t), . . . , xs(t)) и текущего состояния (q1(t), . . . , qs(t)).
Поскольку функции ji, i = 1, . . . , s, и yj, j = 1, . . . , d являются булевскими функциями, то они могут быть реализованы схемами из функциональных элементов, которые изображены на рис. 7.17.
. . . . . . . .
y1 . . .yd j1 . . . js
Рис. 7.17
Рассмотрим автоматную схему, представляющую автомат Á, которая изображена на рис. 7.18:
x1 . . . x pq 1 . . . q s
. . . . . . . . . . . .
y1 . . .yd j1 . . . js . . .
Z . . Z
y1yd Рис. 7.18
Данная схема задает автомат, имеющий p входов и d выходов. В ней каждый из p входов, помеченных символами переменных, иs выходов элементов задержек является одним из входов схем из функциональных элементов, вычисляющих функции y1, . . . , yd, j1, . . . , js.
В начальный момент времени Á находится в состоянии, которое представляется набором из s нулей.
По определению функций ji и yj(i= 1, . . . , d, j = 1, . . . , s) построенная автоматная схема функционирует так же, как и автомат Â, c точностью до кодирования входных и выходных символов. То есть если на входе автомата Â появляется слово a, которое перерабатывается в выходное слово b, то автомат Áиз своего начального состояния перерабатывает слово, получаемое из aзаменой входящих в него символов их двоичными представлениями, в слово, получаемое из b аналогичной заменой сомволов алфавита B их двоичными представлениями.
Дата добавления: 2015-09-18; просмотров: 520;