
Математические основы теории систем.-2
.pdf
Отображение SK называется произведением отображений SA и SB:
SK=SA SB.
Рассмотрим вторую операцию умножения, применяемую к автоматам с одним и тем же входным алфавитом. Возьмем два произвольных непустых автомата Мили: A=(X,Q,Y,q1 Q,F(x X/y Y)) и
B=(X,W,U,w1 W,P(x X/u U)). Автомат K=(X,V,S,v1 V,R(x X/s S)) называется произведением автоматов А и В: K=A B, если:
V=Q W; |
(2.4.17) |
S=Y U; |
(2.4.18) |
Rv = (Fxq× Px w) , |
(2.4.19) |
x X |
|
где v V, q Q, w W, v=(q,w), а Fxq и Px w – отображения состояний q и w соответственно по букве входного алфавита х Х.
Вопрос о полной или частичной определенности произведения решается так же, как и в случае произведения .
Возьмем теперь матрицы соединений автоматов А и В и представим их объединением матриц автономных автоматов по входным буквам:
RA = RAx |
и RB = RBx . |
x X |
x X |
Тогда матрица соединений RK автомата K=A B будет равна
RK = (RAx × RBx ) , x X
т.е. объединению прямых произведений матриц автономных автоматов.
Пример 2.18. Найдем произведение двух автоматов с общим входом:
A B
q\x |
x1 |
x2 |
q1 |
q1 , y2 |
q2 , y1 |
q2 |
q1, y1 |
- |
|
w\x |
x1 |
x2 |
w1 |
- |
w1,u2 |
w2 |
w1,u1 |
w2 ,u1 |
88

|
Автомат |
K = A B будет иметь алфавит состояний V = {v1,v2 ,v3 ,v4} |
||
и |
выходной |
алфавит S = {s1,s2 ,s3 ,s4} , где |
v1 = (q1,w1 ) , |
v2 = (q1 ,w2 ) , |
v3 |
= (q2 ,w1 ) , |
v4 = (q2 ,w2 ) , s1 = (y1,u1 ) , |
s2 = (y1 ,u2 ) , |
s3 = (y2 ,u1 ) , |
s4 |
= (y2 ,u2 ) . |
|
|
|
Декартово произведение отображений состояний автоматов А и В по входной букве x1 будет
|
|
x1 |
|
(q1,w1 ) |
- |
|
(q1,w2 ) |
(q1,w1 ),(y2 ,u1 ) |
|
(q2 ,w1 ) |
- |
|
(q2 ,w2 ) |
(q1,w1 ),(y1,u1 ) |
То же самое по входной букве x2 : |
||
|
|
|
|
|
x2 |
|
(q1,w1 ) |
(q2 ,w1 ),(y1,u2 ) |
|
(q1,w2 ) |
(q2 ,w2 ),(y1 ,u1 ) |
|
(q2 ,w1 ) |
- |
|
(q2 ,w2 ) |
- |
Объединение этих таблиц с учетом введенных обозначений даст таблицу автомата К:
К
|
x1 |
x2 |
v1 |
- |
(v3 ,s2 ) |
|
|
|
v2 |
(v1 ,s3 ) |
(v4 , s1 ) |
v3 |
- |
- |
|
|
|
v4 |
(v1,s1 ) |
- |
|
|
|
Автомат K=A B соответствует параллельной одновременной работе автоматов А и В (рис. 2.16).
88

Y |
|
|
|
V |
S |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
А |
|
|
|
|
В |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
эквивалентно |
|
|
K |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
|
X |
|||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2.16. Произведение двух автоматов с общим входом
Операцию умножения автоматов и можно обобщить и на случай n автоматов, а также использовать для нахождения произведений автоматов Мура.
Суммой двух произвольных автоматов А=(X,Q,Y,q1 Q,F(x X/y Y)) и
B=(U,W,V,w1 W,P(u U/v V)) будет называться автомат M=(Z,H,S,h H, R(z Z/s S)) (М=А+В), если
Z={1} X {2} U; |
(2.4.20) |
H=Q W; |
(2.4.21) |
S={1} Y {2} V; |
(2.4.22) |
Rh=Fq {w} {q} Pw, |
(2.4.23) |
где q Q, w W, h H, h=(q,w). Начальным состоянием автомата M будет
h1=(q1,w1).
Формулы (2.4.20) и (2.4.22) используются для того, чтобы различать, возможно, одинаковые буквы входных алфавитов X и U и выходных алфавитов Y и V. Если таких совпадающих букв нет, т.е.
X∩U=Ø,
Y∩V=Ø,
то вместо формул (4.4.20) и (4.4.22) используют выражения |
|
Z=X U; |
(2.4.24) |
S=Y V. |
(2.4.25) |
Пример 2.19. Заданы два автомата А и В:
89

А |
В |
|
x1 |
x2 |
q1 |
q2 , y1 |
q3 , y2 |
q2 |
q3 , y2 |
- |
|
||
q3 |
- |
q2 , y1 |
|
|
u1 |
u2 |
w1 |
w2 ,v2 |
- |
|
||
w2 |
w2 ,v1 |
w1,v1 |
Найдем сумму М=А+В. Поскольку ни входные, ни выходные алфавиты автоматов А и В не пересекаются, для определения входного и выходного алфавитов автомата М пользуемся формулами (2.4.24) и (2.4.25).
Поэтому Z = {x1, x2 ,u1,u2} и S = {y1, y2 ,v1,v2 } . Алфавит состояний, как и
в случае операции произведения, будет |
H = {h1,h2 ,h3 ,h4 ,h5 ,h6} , где |
h1 = (q1,w1 ) , h2 = (q1,w2 ) , h3 = (q2 ,w1 ) , |
h4 = (q2 , w2 ) , h5 = (q3 ,w1 ) , |
h6 = (q3 ,w2 ) . |
|
Найдем отображение Rh1 по входной букве x1, т.е. функцию перехода δM (h1, x1 ) . Поскольку состояние h1 есть пара (q1, w1 ) , а входная буква принадлежит алфавиту X автомата А, то в формуле (2.4.23) останется только первый член объединения, и δM (q1, x1 ) = (q2 ,w1 ) = h3 . Функция
выхода будет равна λM (q1, x1 ) = y1 .
Отображение Rh1 по входной букве x2 (функция перехода δM (h1 , x2 ) ) будет равно δM (q1, x2 ) = (q3 , w1 ) = h5 , а функция выхода – λM (q1, x2 ) = y2 .
Отображение Rh1 по входной букве u1 (функция δM (h1,u1 ) ) будет представлено только вторым членом объединения в формуле (2.4.23), т.е. δM (q1,u1 ) = (q1,w2 ) = h2 , а функция выхода будет равна λM (q1,u1 ) = v2 .
Функции перехода и выхода автомата В по входной букве u2 не определены, поэтому не определено, конечно, и отображение Rh1 по букве u2.
Окончательно будет
Rh1 = {h3 (x1, y1 ),h5 (x2 , y2 ),h2 (u1,v2 )} .
Аналогичным образом определяем и отображения оставшихся состояний:
Rh2 = {h4 (x1, y1 ),h6 (x2 , y2 ),h2 (u1,v1 ),h1 (u2 ,v1 )} ;
Rh3 = {h5 (x1, y2 ),h4 (u1,v2 )} ;
91

Rh4 = {h6 (x1, y2 ),h4 (u1,v1 ),h3 (u2 ,v1 )} ;
Rh5 = {h3 (x2 , y1 ),h6 (u1,v1 )};
Rh6 = {h4 (x2 , y1 ),h6 (u1,v1 ),h5 (u2 ,v1 )} .
По полученным отображениям составляем автоматную таблицу и матрицу соединений RM:
|
|
|
|
М |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x1 |
x2 |
u1 |
u2 |
|
||
|
|
h1 |
h3 , y1 |
h5 , y2 |
h2 ,v2 |
- |
|
||
|
|
h2 |
h4 , y1 |
h6 , y2 |
h2 ,v1 |
h1,v1 |
|
||
|
|
h3 |
h5 , y2 |
- |
|
h4 ,v2 |
- |
|
|
|
|
h4 |
h6 , y2 |
- |
|
h4 ,v1 |
h3 ,v1 |
|
|
|
|
h5 |
- |
h3, y1 |
h6 ,v1 |
- |
|
||
|
|
h6 |
- |
h4 , y1 |
h6 ,v1 |
h5 ,v1 |
|
||
|
|
|
|
RM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h1 |
h2 |
h3 |
|
h4 |
|
h5 |
h6 |
|
h1 |
0 |
u1,v2 |
x1, y1 |
|
0 |
|
x2 , y2 |
0 |
|
h2 |
u2 ,v1 |
u1,v1 |
0 |
|
x1, y1 |
|
0 |
x2 , y2 |
|
h3 |
0 |
0 |
0 |
|
u1,v2 |
|
x1, y2 |
0 |
|
h4 |
0 |
0 |
u2 ,v1 |
|
u1,v1 |
|
0 |
x1, y2 |
|
h5 |
0 |
0 |
x2 , y1 |
|
0 |
|
0 |
u1,v1 |
|
h6 |
0 |
0 |
0 |
|
x2 , y1 |
|
u2 ,v1 |
u1,v1 |
Операцию суммирования и соответствующие формулы (2.4.20) – (2.4.25) легко обобщить на случай n автоматов и можно использовать для автоматов Мура.
Матрица соединений RM автомата М=А+В определяется по формуле
RM =RA×EB EA×RB,
где ЕА и ЕВ – единичные матрицы порядков RA и RB соответственно. Автомат М=А+В соответствует параллельной неодновременной рабо-
те двух автоматов А и В (рис. 2.17).
92

Y |
|
|
|
V |
|
|
|
S |
||||
|
|
|
|
|
|
|
|
|
эквивалентно |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
А |
|
|
|
|
В |
|
|
М |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Х |
|
|
|
U |
|
|
|
Z |
Рис. 2.17. Сумма двух автоматов
Любое входное слово в алфавите Z автомата М образуется чередованием букв х и u, принадлежащих алфавитам Х и U. Аналогично и выходное слово автомата М – это последовательность чередующихся букв y Y и v V. Если в очередной момент времени t на вход автомата М поступит буква х Х, то в момент времени t+1 на входе обязательно появится буква u U. Выходная буква в момент времени t является буквой алфавита Y, а в момент времени t+1 – буквой из алфавита V. На уровне автоматов А и В это означает, что в момент времени t на входе автомата А имеется буква х Х, а на входе автомата В в это же время – пустая букве e. В следующий t+1-й момент времени на вход автомата В поступает буква u U, а на вход автомата А – пустая буква е.
Пусть x Х* и u U* – слова, отличающиеся длиной не более чем на одну букву:
x = xi1 xi2 ...xik , u = uj1 uj2 ...ujk−1 .
Слово z Z* называется сплетением слов х и u, обозначается z=x u и образуется чередованием букв х и u:
z = x u = xi1 uj1 xi2 uj2 ...ujk−1 xjk .
Любые две соседние буквы слова z принадлежат разным входным алфавитам.
Если областью определения частичного отображения SA служит множество допустимых слов х Х*, а областью определения отображения SB
– множество допустимых слов u U*, то областью частичного отображе-
93

ния SM будет множество слов z Z*, полученных сплетением пар допустимых слов х и u, отличающихся длиной не более чем на одну букву. Следовательно, можно записать
SM(z)=SM(x u)=SA(x) SB(u)=y v=s, где y Y*, v V*, s S*.
Отображение SM называется сплетением отображений SA и SB и обозначается SM = SA SB .
Для произвольных автоматов А, В, и С выполняются следующие соотношения:
|
|
(А В) С=А (В С), |
|
|
|
|
|
|
|
A× B B× A , |
|
|
(2.4.26) |
|
|
|
A× E E × A A , |
|
|
|
где |
роль |
единичного |
автомата |
Е |
играет |
автомат |
Е=(Х,Q,Y,q Q,F(x X/y Y)), причем X={x}, Y={y}, Q={q}, а Fq={q(x/y)}. Поэтому множество произвольных автоматов совместно с операцией умножения образует коммутативный моноид1 с единичным элементом
Е. Обозначим это множество через В×.
Если брать множество автоматов с одним и тем же входным алфавитом, то очевидно, что для любых автоматов А, В, и С из этого множества выполняются соотношения, аналогичные (4.4.26), и, следовательно, это множество по операции образует коммутативный моноид с единичным элементом
Е=(X,Q,Y,q Q,F(X X/y Y)),
где X={x1, x2, … xp} – входной алфавит автоматов этого множества, Q={q}, Y={y}, Fq={q(x1 x2 … xp/y)}. Это будет множество В .
Аналогично множество произвольных автоматов по операции суммирования образуют коммутативную полугруппу (несущее множество В+).
Следующая алгебраическая операция – суперпозиция двух автоматов. Возьмем два произвольных автомата из множества автоматов Мили, входящие и выходящие алфавиты которых могут пересекаться: А=(X1,Q,Y1,
1 Моноидом в общей алгебре называют полугруппу с единицей Е. Полугруппа, в свою очередь, – это множество элементов с заданной на этом множестве бинарной ассоциативной операцией, обычно называемой умножением. Таким образом, для любого элемента А моноида выполняется соотношение Е·А=А·Е=А.
94

q1 Q, F(x X/y Y1)) и B=(X2,W,Y2, w1 W, P(x X2/y Y2)), где пересечение Y1∩X2=Z не пусто в общем случае.
Отображение произвольного состояния q Q автомата А можно представить в следующем виде:
Fq = Fy1 q Fy2 q ... Fyp q = y Y1 Fyq ,
где p – число букв входного алфавита Y1, а Fy q – отображение состояния q, при котором на выходе появляется буква y Y1.
Отображение произвольного состояния w автомата В представим в виде
Pw = Px1 wk Px2 w ... Pxs w = x X2 Px w,
где s – число букв входного алфавита Х2, а Pxw – отображение состояния w по букве х Х2.
Автомат N=(X1,H,Y2, h1 H, S(x X1/y Y2)) будет являться суперпозицией автоматов А и В (N=A B), если множество состояний
H=Q W, |
(2.4.27) |
а отображение S задано выражением
Sh = (Fz1 q Pz1 w) (Fz2 q Pz2 |
w) ... (Fzm q Pzm w) = (Fz q Pz w) , |
|
z Z1 |
где h H, q Q, w W, h=(q, w), z Z=Y1∩X2 (m
Пример 2.20. Даны два автомата А и В:
А
|
x1 |
x2 |
q1 |
q2 , y1 |
q3 , y2 |
q2 |
q3 , y2 |
- |
q2 |
- |
q2 , y1 |
– число букв алфавита Z).
В
|
y1 |
y2 |
w1 |
w2 ,v2 |
- |
w2 |
w2 ,v1 |
w1,v1 |
95