Математическая теория систем. Математические основы теории систем
Скачать 2.07 Mb.
|
- 1 4 , h s - 2 h 3 1 , h s 4 1 , h s 1 3 , h s 2 3 , h s 3 h 5 4 , h s - - - 4 h 5 3 , h s 6 3 , h s - - 5 h - - 5 2 , h s - 6 h - - 5 1 , h s 6 1 , h s и матрицу соединений K R : 86 K R h\h 1 h 2 h 3 h 4 h 5 h 6 h 1 h 3 4 , z s 0 1 2 , z s 0 0 0 2 h 3 4 , z s 4 3 , z s 1 1 , z s 2 1 , z s 0 0 3 h 0 0 0 0 1 4 , z s 0 4 h 0 0 0 0 1 3 , z s 2 3 , z s 5 h 0 0 0 0 3 2 , z s 0 6 h 0 0 0 0 3 1 , z s 4 1 , z s Эту же матрицу соединений можно получить и из матриц соединений автоматов А и В. Для этого по автоматным таблицам составим матрицы соединений автоматов А и В – и A B R R : A R 1 q 2 q 3 q 1 q 2 2 , x y 1 1 , x y 0 2 q 0 0 1 2 , x y 3 q 0 0 2 1 , x y B R 1 w 2 w 1 w 1 2 , u v 0 2 w 2 1 , u v 1 1 , u v Проведем прямое умножение этих матриц, т.е. каждый элемент одной матрицы умножается на каждый элемент другой матрицы (декартово произведение). В результате получим матрицу соединений автомата К (ввиду большого объема приведен только фрагмент матрицы): K R 1 1 ( , ) q w 1 2 ( , ) q w 2 1 ( , ) q w 2 2 ( , ) q w 1 1 ( , ) q w 2 1 2 2 ( , ), ( , ) x u y v 0 1 1 1 2 ( , ),( , ) x u y v 0 1 2 ( , ) q w 2 2 2 1 ( , ),( , ) x u y v 2 1 2 1 ( , ),( , ) x u y v 1 2 1 1 ( , ), ( , ) x u y v 1 1 1 1 ( , ), ( , ) x u y v 2 1 ( , ) q w 0 0 0 0 2 2 ( , ) q w 0 0 0 0 87 После переобозначений матрица принимает уже знакомый вид. Автомат К=А×В соответствует параллельной одновременной работе автоматов А и В (рис. 2.15), причем Z и S определяются по формулам. (2.4.13) и (2.4.15). Рис. 2.15. Произведение двух автоматов с раздельными входами Обозначим отображения, индуцируемые автоматами А и В через S A и S B соответственно, а отображение, индуцируемое автоматом К=А×В, че- рез S K , и пусть х ∈Х* и u ∈U* – слова в соответствующих алфавитах, имеющие равную длину: x = x i1 x i2 … x ik , u = u j1 u j2 … u jk и S A ( x )= y i1 y i2 … y ik , S B ( u )= v j1 v j2 … v jk Слово z ∈Z* является декартовым (прямым) произведением слов x и u и обозначается z = x × u , если каждая буква слова z есть пара, образованная соответствующими буквами слов х и u . Поэтому z =( x i1 , u j1 )( x i2 , u j2 )… ( x ik , u jk ), и S K ( z )=( y i1 , v j1 )( y i2 , v j2 )…( y ik , v jk ). Если областью определения частичного отображения S A является множество допустимых слов х ∈Х*, а областью определения частичного отображения S B – множество допустимых слов u ∈U*, то областью опре- деления частичного отображения S K будет множество таких слов z ∈Z*, которые построены из допустимых слов х и u и имеют одинаковую дли- ну. Таким образом, можно записать S K ( z )= S K ( x × u )= S A ( x ) ×S B ( u )= y × v = s , где y ∈Y*, v ∈V*, s ∈S*. А В Х U Y V K Z S эквивалентно 88 Отображение S K называется произведением отображений S A и S B : S K =S A ×S B Рассмотрим вторую операцию умножения, применяемую к автоматам с одним и тем же входным алфавитом. Возьмем два произвольных непу- стых автомата Мили: A=(X,Q,Y,q 1 ∈Q,F(x∈X/y∈Y)) и B=(X,W,U,w 1 ∈W,P(x∈X/u∈U)). Автомат K=(X,V,S,v 1 ∈V,R(x∈X/s∈S)) назы- вается произведением автоматов А и В: K=A⊗B, если: V=Q×W; (2.4.17) S=Y×U; (2.4.18) ( ) x x x X Rv F q P w ∈ = × ∪ , (2.4.19) где v∈V, q∈Q, w∈W, v=(q,w),а x F q и x P w – отображения состояний q и w соответственно по букве входного алфавита х∈Х. Вопрос о полной или частичной определенности произведения ⊗ ре- шается так же, как и в случае произведения ×. Возьмем теперь матрицы соединений автоматов А и В и представим их объединением матриц автономных автоматов по входным буквам: A Ax x X ∈ = R R ∪ и B Bx x X ∈ = R R ∪ Тогда матрица соединений R K автомата K=A⊗B будет равна ( ) K Ax Bx x X ∈ = × R R R ∪ , т.е. объединению прямых произведений матриц автономных автоматов. Пример 2.18. Найдем произведение двух автоматов с общим входом: A q\x 1 x 2 x 1 q 1 2 , q y 2 1 , q y 2 q 1 1 , q y - B w\x 1 x 2 x 1 w - 1 2 , w u 2 w 1 1 , w u 2 1 , w u 88 Автомат K A B = ⊗ будет иметь алфавит состояний { } 1 2 3 4 , , , V v v v v = и выходной алфавит { } 1 2 3 4 , , , S s s s s = , где 1 1 1 ( , ) v q w = , 2 1 2 ( , ) v q w = , 3 2 1 ( , ) v q w = , 4 2 2 ( , ) v q w = , 1 1 1 ( , ) s y u = , 2 1 2 ( , ) s y u = , 3 2 1 ( , ) s y u = , 4 2 2 ( , ) s y u = Декартово произведение отображений состояний автоматов А и В по входной букве 1 x будет 1 x 1 1 ( , ) q w - 1 2 ( , ) q w 1 1 2 1 ( , ),( , ) q w y u 2 1 ( , ) q w - 2 2 ( , ) q w 1 1 1 1 ( , ), ( , ) q w y u То же самое по входной букве 2 x : 2 x 1 1 ( , ) q w 2 1 1 2 ( , ), ( , ) q w y u 1 2 ( , ) q w 2 2 1 1 ( , ),( , ) q w y u 2 1 ( , ) q w - 2 2 ( , ) q w - Объединение этих таблиц с учетом введенных обозначений даст таб- лицу автомата К: К 1 x 2 x 1 v - 3 2 ( , ) v s 2 v 1 3 ( , ) v s 4 1 ( , ) v s 3 v - - 4 v 1 1 ( , ) v s - Автомат K=A⊗B соответствует параллельной одновременной работе автоматов А и В (рис. 2.16). 89 Рис. 2.16. Произведение двух автоматов с общим входом Операцию умножения автоматов × и ⊗ можно обобщить и на случай n автоматов, а также использовать для нахождения произведений автома- тов Мура. Суммой двух произвольных автоматов А=(X,Q,Y,q 1 ∈Q , F(x∈X/y∈Y)) и B=(U,W,V,w 1 ∈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 будет h 1 =( q 1 , w 1 ). Формулы (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. Заданы два автомата А и В: А В X Y V K X S эквивалентно 91 А 1 x 2 x 1 q 2 1 , q y 3 2 , q y 2 q 3 2 , q y - 3 q - 2 1 , q y В 1 u 2 u 1 w 2 2 , w v - 2 w 2 1 , w v 1 1 , w v Найдем сумму М=А+В. Поскольку ни входные, ни выходные алфави- ты автоматов А и В не пересекаются, для определения входного и выход- ного алфавитов автомата М пользуемся формулами (2.4.24) и (2.4.25). Поэтому { } 1 2 1 2 , , , Z x x u u = и { } 1 2 1 2 , , , S y y v v = . Алфавит состояний, как и в случае операции произведения, будет { } 1 2 3 4 5 6 , , , , , H h h h h h h = , где ( ) 1 1 1 , h q w = , ( ) 2 1 2 , h q w = , ( ) 3 2 1 , h q w = , ( ) 4 2 2 , h q w = , ( ) 5 3 1 , h q w = , ( ) 6 3 2 , h q w = Найдем отображение Rh 1 по входной букве x 1 , т.е. функцию перехода ( ) 1 1 , M h x δ . Поскольку состояние h 1 есть пара ( ) 1 1 , q w , а входная буква принадлежит алфавиту X автомата А, то в формуле (2.4.23) останется только первый член объединения, и ( ) ( ) 1 1 2 1 3 , , M q x q w h δ = = . Функция выхода будет равна ( ) 1 1 1 , M q x y λ = . Отображение Rh 1 по входной букве x 2 (функция перехода ( ) 1 2 , M h x δ ) будет равно ( ) ( ) 1 2 3 1 5 , , M q x q w h δ = = , а функция выхода – ( ) 1 2 2 , M q x y λ = Отображение Rh 1 по входной букве u 1 (функция ( ) 1 1 , M h u δ ) будет представлено только вторым членом объединения в формуле (2.4.23), т.е. ( ) ( ) 1 1 1 2 2 , , M q u q w h δ = = , а функция выхода будет равна ( ) 1 1 2 , M q u v λ = Функции перехода и выхода автомата В по входной букве u 2 не опре- делены, поэтому не определено, конечно, и отображение Rh 1 по букве u 2 Окончательно будет ( ) ( ) ( ) { } 1 3 1 1 5 2 2 2 1 2 , , , , , Rh h x y h x y h u v = Аналогичным образом определяем и отображения оставшихся состо- яний: ( ) ( ) ( ) ( ) { } 2 4 1 1 6 2 2 2 1 1 1 2 1 , , , , , , , Rh h x y h x y h u v h u v = ; ( ) ( ) { } 3 5 1 2 4 1 2 , , , Rh h x y h u v = ; 92 ( ) ( ) ( ) { } 4 6 1 2 4 1 1 3 2 1 , , , , , Rh h x y h u v h u v = ; ( ) ( ) { } 5 3 2 1 6 1 1 , , , Rh h x y h u v = ; ( ) ( ) ( ) { } 6 4 2 1 6 1 1 5 2 1 , , , , , Rh h x y h u v h u v = По полученным отображениям составляем автоматную таблицу и матрицу соединений R M : М x 1 x 2 u 1 u 2 h 1 3 1 , h y 5 2 , h y 2 2 , h v - h 2 4 1 , h y 6 2 , h y 2 1 , h v 1 1 , h v h 3 5 2 , h y - 4 2 , h v - h 4 6 2 , h y - 4 1 , h v 3 1 , h v h 5 - 3 1 , h y 6 1 , h v - h 6 - 4 1 , h y 6 1 , h v 5 1 , h v R M h 1 h 2 h 3 h 4 h 5 h 6 h 1 0 1 2 , u v 1 1 , x y 0 2 2 , x y 0 h 2 2 1 , u v 1 1 , u v 0 1 1 , x y 0 2 2 , x y h 3 0 0 0 1 2 , u v 1 2 , x y 0 h 4 0 0 2 1 , u v 1 1 , u v 0 1 2 , x y h 5 0 0 2 1 , x y 0 0 1 1 , u v h 6 0 0 0 2 1 , x y 2 1 , u v 1 1 , u v Операцию суммирования и соответствующие формулы (2.4.20) – (2.4.25) легко обобщить на случай n автоматов и можно использовать для автоматов Мура. Матрица соединений R M автомата М=А+В определяется по формуле R M = R A × E B ∪ E A × R B , где Е А и Е В – единичные матрицы порядков R A и R B соответственно. Автомат М=А+В соответствует параллельной неодновременной рабо- те двух автоматов А и В (рис. 2.17). 93 Рис. 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, а на вход автомата А – пустая буква е. Пусть |