Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Математические основы теории систем

..pdf
Скачиваний:
14
Добавлен:
05.02.2023
Размер:
2.18 Mб
Скачать

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 = F1qF2q,

(2.21)

где q Q.

 

······················ Пример 2.15 ······················

Найдем пересечение автоматов А и В из примера 2.14.

Применяя формулы (2.18)–(2.21), получаем автоматную таблицу автомата D = AB (табл. 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)