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

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

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

Отображение 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. Если таких совпадающих букв нет, т.е.

XU=Ø,

YV=Ø,

то вместо формул (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 ...ujk1 .

Слово z Z* называется сплетением слов х и u, обозначается z=x u и образуется чередованием букв х и u:

z = x u = xi1 uj1 xi2 uj2 ...ujk1 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)), где пересечение Y1X2=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=Y1X2 (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