
Математические основы теории систем
..pdf
81
······················ Пример 2.14 ······················
Автоматы заданы своими автоматными таблицами (табл. 2.22 и 2.23).
Таблица 2.22 – Автомат A
q\x |
x1 |
x2 |
1 |
– |
3, y2 |
2 |
2, y2 |
– |
3 |
3, y1 |
2, y3 |
Таблица 2.23 – Автомат B
q\x |
x1 |
x2 |
x3 |
1 |
2, y1 |
3, y2 |
– |
|
|
|
|
2 |
2, y2 |
– |
1, y1 |
|
|
|
|
3 |
– |
– |
1, y3 |
Найдем их объединение C = A B. Поскольку нарушения условий автоматности не происходит, то нет необходимости различать одинаковые буквы алфавитов, и поэтому пользуемся формулами (2.16) и (2.17), а также формулами (2.11) и (2.13). В результате получаем автомат С (табл. 2.24).
Таблица 2.24 – Автоматная таблица автомата С к примеру 2.14
q\x |
x1 |
x2 |
x3 |
1 |
2, y1 |
3, y2 |
– |
|
|
|
|
2 |
2, y2 |
– |
1, y1 |
|
|
|
|
3 |
3, y1 |
2, y3 |
1, y3 |
|
|
|
|
·······································································
Операцию объединения с соответствующими формулами (2.10)–(2.17) легко обобщить и на случай n автоматов.
Из формул (2.11), (2.13), (2.14)–(2.17) следует, что каждый автомат Мили может быть представлен объединением автономных автоматов по входным и выходным буквам:

|
82 |
|
|
|
|
|
|
A = Ax |
Ay . |
||
x X |
|
y Y |
|
Такое представление используется при разложении автоматов по различ- |
|||
ным операциям. |
|
|
|
Автоматное отображение SC (q1,x), индуцируемое автоматом С, есть про- |
должение автоматных отображений SA (q1,x) на множество Х*. |
|
Пересечением автоматов А и В будет являться автомат |
D = A∩ В , если |
его алфавиты X, Q, Y и отображение F определяются формулами: |
|
X = X1 ∩ X2; |
(2.18) |
Q = Q1 ∩Q2; |
(2.19) |
Y =Y1 ∩Y2; |
(2.20) |
Fq = F1q∩ F2q, |
(2.21) |
где q Q. |
|
······················ Пример 2.15 ······················
Найдем пересечение автоматов А и В из примера 2.14.
Применяя формулы (2.18)–(2.21), получаем автоматную таблицу автомата D = A∩ B (табл. 2.25).
Таблица 2.25 – Автоматная таблица автомата D к примеру 2.15
q\x |
x1 |
x2 |
1 |
– |
3, y2 |
2 |
2, y2 |
– |
3 |
– |
– |
|
|
|
·······································································
Так же, как и операцию объединения, операцию пересечения, определяемую формулами (2.18)–(2.21), можно распространить на случай n автоматов.
Задание объединения и пересечения автоматов Мура наталкивается на трудности, связанные с тем, что одинаковые состояния могут иметь разные значения функции отметок, в связи с чем рекомендуется сначала интерпретировать автоматы Мура эквивалентными автоматами Мили, а затем находить их объединение или пересечение по известным формулам.

83
Нетрудно заметить, что операции объединения и пересечения автоматов ассоциативны, коммутативны и дистрибутивны.
2.4.2Алгебраические операции
Калгебраическим операциям над автоматами относятся умножение, суммирование, суперпозиция и композиция.
Операция умножения графов приводит к двум операциям умножения ав-
томатов. Первая операция, обозначаемая , применяется к произвольным автоматам с раздельными входами, то есть с разными входными алфавитами, а вторая обозначается и применяется к автоматам с общим входом, то есть с одним и тем же входным алфавитом.
·····························································
Произведением произвольных непустых автоматов А=(X,Q,Y,q1 Q,F(x X / y Y)) и B =(U,W,V,w1 W,P(u U /v V))
будет называться автомат К =(Z,H,S,h1 H,R(z Z / s S)), у ко-
торого |
|
Z = X×U; |
(2.22) |
H = Q×W; |
(2.23) |
S =Y×V; |
(2.24) |
Rh = Fq×Pw, |
(2.25) |
где q Q, w W, h H, h = (q,w), z = (x,u), s = (y,v). |
|
·····························································
Начальным состоянием автомата К = А× В будет состояние h1 = (q1,w1 ).
Если оба автомата А и В вполне определенные, то и их произведение является вполне определенным автоматом. Если хотя бы один из исходных автоматов частичный, то в результате умножения получаем частичный автомат.
Можно определить операцию умножения и через матрицы соединений.
Пусть имеется |
матрица |
соединений автомата А: RA = |
|
|
|
ri j (x / y) |
|
|
|
, где |
||
|
|
|
|
|||||||||
i, j {1, 2, …m} и |
|
|
|
|
|
|
|
|
|
|
|
|
ri j (x / y) |
x / y, если q |
|
F по букве x X с выходом y Y, |
|||||||||
= |
|
j |
qi |
|||||||||
|
0, если qj Fq ; |
|||||||||||
|
|
|
|
i |
и матрица соединений автомата В: RB = rk l (u / w)
, где k,l {1, 2, …n} и

84
u / v, если w P по букве u U с выходом v V, |
|
rk l (u / v) = |
l wk |
0, если wl |
Pw . |
|
k |
Матрица соединений Rk автомата К = А× В равна прямому произведению матриц RA и RB, то есть RK = RA ×RB , а ее элементы определяются так:
(x,u)/( y,v), если r |
= x / y и r |
= u / v, |
|
rαβ (z / s) = |
i j |
k l |
|
0, если ri j = 0 или rk l |
= 0, |
|
|
|
|
|
|
где α,β {1, 2, … p}, p = m n, |
z = (x,u), s = (y,v). |
|
······················ Пример 2.16 ······················
Автоматы А и В заданы автоматными таблицами (табл. 2.26 и 2.27):
Таблица 2.26 – Автомат A
|
|
q\x |
x1 |
x2 |
|
|
|
|
q1 |
q2,y1 |
q1,y2 |
|
|
|
|
q2 |
q3,y2 |
– |
|
|
|
|
q3 |
– |
q3,y1 |
|
|
Таблица 2.27 – Автомат B |
||||||
|
|
|
|
|
||
|
|
w\u |
u1 |
u2 |
|
|
|
|
w1 |
w1,v2 |
– |
|
|
|
|
w2 |
w1,v1 |
w2,v1 |
|
Найдем произведение этих автоматов, т. е. автомат K = A× B .
Входной алфавит автомата K – это упорядоченные пары входных букв автоматов А и В: обозначим их Z = {z1,z2 , z3,z4} , где z1 = (x1,u1 ), z2 = (x1,u2 ) , z3 = (x2 ,u1 ), z4 = (x2 ,u2 ) .
Выходной алфавит автомата K обозначим через S ={s1,s2,s3,s4} , где
s1 = (y1,v1 ), s2 = (y1,v2 ), s3 = (y2 ,v1 ) , s4 = (y2 ,v2 ) .
Алфавит состояний автомата K – это H = {h1,h2 ,h3,h4 ,h5,h6}, где h1 = (q1,u1 ), h2 = (q1,u2 ) , h3 = (q2 ,u1 ), h4 = (q2 ,u2 ), h5 = (q3,u1 ) , h6 = (q3,u2 ).
Найдем отображение Rh1 по входной букве z1 . Состояние h1 – это пара (q1,w1 ), а входная буква z1 – это пара (x1,u1 ). Автомат А из состояния q1 по
85
входной букве x1 согласно автоматной таблице перейдет в состояние q2 , а автомат В из состояния w1 по входной букве u1 перейдет в состояние w1 . Эта пара (q2 ,w1 ) согласно обозначениям есть состояние h3 автомата K. На выходах автоматов А и В появятся при этом буквы y1 и v2 соответственно. Пара ( y1,v2 ) – это буква s2 выходного алфавита автомата K. Аналогично находим отображение Rh1 по входной букве z3 . Отображение состояния w1 автомата В по входной букве u2 не определено, поэтому также не определено отображение состояния h1 автомата K по входным буквам z2 и z4 . Таким образом, получаем
Rh1 ={h3 (z1,s2 ),h1 (z3,s4 )} .
Далее проделываем то же самое для состояний h2 ,h3 ,h4 ,h5 ,h6 . Соответствующие отображения этих состояний имеют вид:
Rh2 = {h3 (z1,s1 ),h4 (z2,s1 ),h1 (z3,s3 ),h2 (z4 ,s3 )};
Rh3 ={h5 (z1,s4 )};
Rh4 = {h5 (z1,s3 ),h6 (z2,s3 )};
Rh5 = {h5 (z3,s2 )};
Rh6 = {h5 (z3,s1 ),h6 (z4 ,s1 )}.
По полученным отображениям можно составить автоматную таблицу (табл. 2.28) и матрицу соединений RK (табл. 2.29).
Таблица 2.28 – Автомат K
h\z |
z1 |
z2 |
z3 |
z4 |
|
|
|
|
|
h1 |
h3 , s2 |
– |
h1, s4 |
– |
|
|
|
|
|
h2 |
h3 , s1 |
h4 , s1 |
h1, s3 |
h2 , s3 |
h3 |
h5 , s4 |
– |
– |
– |
|
|
|
|
|
h4 |
h5 , s3 |
h6 , s3 |
– |
– |
h5 |
– |
– |
h5 , s2 |
– |
|
|
|
|
|
h6 |
– |
– |
h5 , s1 |
h6 , s1 |
|
|
|
|
|
86
Таблица 2.29 – Матрица соединений RK
h\h |
h1 |
h2 |
h3 |
h4 |
h5 |
h6 |
|
|
|
|
|
|
|
h1 |
z3 , s4 |
0 |
z1, s2 |
0 |
0 |
0 |
|
|
|
|
|
|
|
h2 |
z3 , s4 |
z4 , s3 |
z1, s1 |
z2 , s1 |
0 |
0 |
h3 |
0 |
0 |
0 |
0 |
z1, s4 |
0 |
|
|
|
|
|
|
|
h4 |
0 |
0 |
0 |
0 |
z1, s3 |
z2 , s3 |
|
|
|
|
|
|
|
h5 |
0 |
0 |
0 |
0 |
z3 , s2 |
0 |
|
|
|
|
|
|
|
h6 |
0 |
0 |
0 |
0 |
z3 , s1 |
z4 , s1 |
|
|
|
|
|
|
|
Эту же матрицу соединений можно получить и из матриц соединений автоматов А и В. Для этого по автоматным таблицам составим матрицы соединений автоматов А и В – R A и R B (табл. 2.30 и 2.31):
Таблица 2.30 – Матрица соединений RA
|
q1 |
q2 |
q3 |
q1 |
x2 , y2 |
x1, y1 |
0 |
|
|
|
|
q2 |
0 |
0 |
x1, y2 |
|
|
|
|
q3 |
0 |
0 |
x2 , y1 |
Таблица 2.31 – Матрица соединений RB
|
w1 |
w2 |
|
|
|
w1 |
u1,v2 |
0 |
|
|
|
w2 |
u2 ,v1 |
u1,v1 |
|
|
|
Проведем прямое умножение этих матриц, т. е. каждый элемент одной матрицы умножается на каждый элемент другой матрицы (декартово произведение). В результате получим матрицу соединений автомата К (ввиду большого объема приведен только фрагмент матрицы – таблица 2.32).

87
Таблица 2.32 – Матрица соединений RK
|
(q1, w1 ) |
(q1, w2 ) |
(q2 , w1 ) |
(q2 , w2 ) |
|
|
|
|
|
(q1, w1 ) |
(x2 ,u1 ),( y2 ,v2 ) |
0 |
(x1,u1 ),( y1,v2 ) |
0 |
|
|
|
|
|
(q1, w2 ) |
(x2 ,u2 ),( y2 ,v1 ) |
(x2 ,u1 ),( y2 ,v1 ) |
(x1,u2 ),( y1,v1 ) |
(x1,u1 ),( y1,v1 ) |
|
|
|
|
|
(q2 , w1 ) |
0 |
0 |
0 |
0 |
|
|
|
|
|
(q2 , w2 ) |
0 |
0 |
0 |
0 |
|
|
|
|
|
После переобозначений матрица принимает уже знакомый вид.
·······································································
Автомат К = А× В соответствует параллельной одновременной работе автоматов А и В (рис. 2.15), причем Z и S определяются по формулам (2.22) и (2.24).
Y |
|
|
V |
|
эквивалентно |
S |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
A |
|
B |
K |
|||||
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Z |
|
|
|
|
|
|
|
|
|
|
|
X |
|
|
U |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2.14 – Произведение двух автоматов с раздельными входами
Обозначим отображения, индуцируемые автоматами А и В через SA и SB соответственно, а отображение, индуцируемое автоматом К = А× В , через SK, и пусть х Х * и u U * – слова в соответствующих алфавитах, имеющие равную длину:
x = xi1xi2 … xik , u = uj1uj2 … ujk
и SA (x) = yi1 yi2 … yik , SB (u) = vj1vj2 …vjk .
Слово z Z * является декартовым (прямым) произведением слов x и u и обозначается z = x×u, если каждая буква слова z есть пара, образованная со-
ответствующими буквами слов х и u. Поэтому z = (xi1,uj1)(xi2,uj2 )…(xik ,ujk ), и SK (z) = (yi1,vj1 )(yi2 ,vj2 )…(yik ,vjk ).
Таким образом, можно записать:
SK (z) = SK (x×u) = SA(x)×SB(u) = y×v = s, где y Y*, v V*, s S*.

88
·····························································
Отображение 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.26) |
S =Y×U; |
(2.27) |
Rv = (Fxq Pxw), |
(2.28) |
x X |
|
где v V, q Q, w W, v = (q,w), а Fx q и Px w – отображения состояний q и w соответственно по букве входного алфавита х Х .
Вопрос о полной или частичной определенности произведения решается так же, как и в случае произведения .
Возьмем теперь матрицы соединений автоматов А и В и представим их объединением матриц автономных автоматов по входным буквам:
RA = x X RAx и RB = x X RBx .
Тогда матрица соединений RK автомата K = A B будет равна
RK = x X (RAx × RBx ),
т.е. объединению прямых произведений матриц автономных автоматов.
······················ Пример 2.17 ·································
Найдем произведение автомата А и В с общим входом (табл. 2.33 и 2.34):
Таблица 2.33 – Автомат A
q\x |
x1 |
x2 |
|
|
|
q1 |
q1, y2 |
q2 , y1 |
q2 |
q1, y1 |
– |
|
|
|
89
Таблица 2.34 – Автомат B
|
w\x |
x1 |
|
x2 |
|
|
|
|
|
|
|
|
w1 |
– |
|
w1,u2 |
|
|
|
|
|
|
|
|
w2 |
w1,u1 |
|
w2 ,u1 |
|
|
|
|
|
|
|
Автомат 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 (табл. 2.35) и x2 (табл. 2.36) приведены ниже.
Таблица 2.35 – Произведение отображений по букве x1
|
x1 |
|
|
(q1, w1 ) |
– |
|
|
(q1, w2 ) |
(q1 , w1 ),( y2 ,u1 ) |
|
|
(q2 , w1 ) |
– |
|
|
(q2 , w2 ) |
(q1, w1 ),( y1,u1 ) |
|
|
Таблица 2.36 – Произведение отображений по букве x2
|
x2 |
|
|
(q1, w1 ) |
(q2 , w1 ),( y1,u2 ) |
|
|
(q1, w2 ) |
(q2 , w2 ),( y1,u1 ) |
|
|
(q2 , w1 ) |
– |
|
|
(q2 , w2 ) |
– |
|
|
Объединение этих таблиц с учетом введенных обозначений даст таблицу автомата К (табл. 2.37).
Таблица 2.37 – Автомат К
|
x1 |
x2 |
|
|
|
v1 |
– |
(v3 , s2 ) |
v2 |
(v1, s3 ) |
(v4 , s1 ) |
|
|
|
v3 |
– |
– |
|
|
|
v4 |
(v1, s1 ) |
– |
|
|
|
·······································································

90
Автомат K = A B соответствует параллельной одновременной работе автоматов А и В (рис. 2.15).
Y |
|
|
|
|
V |
|
|
|
|
S |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
|
|
|
B |
эквивалентно |
|
|
|
|
||
|
|
|
|
|
K |
|||||||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
X |
|
|
||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2.15 – Произведение двух автоматов с общим входом
Операцию умножения автоматов и можно обобщить и на случай 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.29) |
H = Q×W; |
(2.30) |
S ={1} Y {2} V; |
(2.31) |
Rh = Fq {w} {q} Pw, |
(2.32) |
где q Q, w W, h H, h = (q,w). Начальным состоянием автома-
та M будет h1 = (q1,w1 ).
·····························································
Формулы (2.29) и (2.31) используются для того, чтобы различать, возможно, одинаковые буквы входных алфавитов X и U и выходных алфавитов Y и V. Если таких совпадающих букв нет, т. е. X ∩U = , Y ∩V = , то вместо формул (2.29) и (2.31) используют выражения:
Z = X U; |
(2.33) |
S = Y V. |
(2.34) |