Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Разбиения со свойствами подстановки
Разбиение p={p1, p2, ¼, pk} называется СП-разбиением (разбиением со свойством подстановки), если из того, что ai и aj находятся в одном блоке, следует, что"Z. d(ai, Z) и d(aj,Z) будут находиться в одном блоке. Если для автомата S СП-разбиение существует, то можно постро-ить автомат S’, для которого состояниями являются имена блоков раз-биения и под действием любого входа из Z он переходит из блока в блок по функции автомата S. Такой автомат называют фактор–автоматом автомата S по разбиению p. В этом случае автомат можно представить последовательным соединением автомата S’ и автомата, состояниям которого сопоставлены блоки разбиения, ортогонального с p. Пример. Пусть автомат имеет таблицу переходов (табл. 1.18). Из этой таблицы видно, что разбиение p = {134, 256} будет СП-разбиением. Обозначим блок 134 как b1, блок 256 как b2, тогда фактор–автомат S’ по этому разбиению будет иметь два состояния, его таблица будет иметь вид табл. 1.19.
Выберем в качестве разбиения, ортогонального с p, разбиение
Описание автомата S’’ приведено в табл. 1.20. Его легко получить, если учесть, что состояниям исходного автомата сопоставлены состояния автоматов S’ и S’’ как в табл.1.21. Например, если состояние автомата S’ –b2 и S’’ –с2, то это соответствует состоянию a2 исходного автомата, и под действием сигнала z1 он должен перейти в a1 (состояние c1 для S’’) , сигнала z2 в a3 (состояние c2 для S’’). Если для автомата находится СП-разбиение, то его использование может существенно упростить сеть автоматов, получающуюся в результате декомпозиции. Так, если и для автомата S’’ разбиение оказалось бы СП-разбиением, то тогда автомат реализовался бы параллельным соединением двух автоматов, то есть схемы для функций fi были бы не нужны, и сеть имела бы минимальную структуру. Множество всех СП-разбиений можно построить по следующему алгоритму.
Последовательно рассмотрим все возможные пары состояний исходного автомата. Для каждой пары построим СП-разбиение, при котором данная пара состояний находит-ся в одном блоке. Пусть, например, рассматривается пара a1 и a2. Тогда a1 и a4 должны быть в одном блоке под действием входного сигнала z1, а a5 и a3 в одном блоке под действием сигнала z2. Но если a1,a2,a4 в одном блоке, то a5, a3, a2 должны быть в одном блоке под действием сигнала z2, значит, a1, a2, a3, a4, a5 в одном блоке. Но тогда в этом же блоке будет и a6, потому что если a2 и a3 в одном блоке под действием сигнала z2, то и a5 и a6 должны быть в одном блоке. Значит, если a1 a2 в одном блоке, то в этом же блоке должны быть и все состояния автомата. Получили тривиальный случай, когда все состояния образуют один блок. Далее рассматриваем случай, когда в одном блоке состояния a1 и a3, потом a1 и a4, и так далее, все (n-1)n вариант. (В нашем случае 5х3=15 вариантов). Полученные нетривиальные варианты затем суммируем попарно между собой, в результате получаем все возможные варианты СП-разбиений.
Метод декомпозиции Рассмотрим метод на примере автомата, представленного в табл.1.22. Алфавит состояний А = {1, 2, 3, 4, 5, 6}, алфавит входов Z = { z1 , z2 , z3 , z4 }, алфавит выходов W = {w1 , w2 , w3}. Нетрудно убедиться, что для этого автомата СП-разбиения нет.
Выберем разбиения множества состояний А: Будем считать для выбранного примера, что алфавиты состояний компонентных автоматов A, B и С. p1(А) = { 1234 , 56} = { b1 , b2} = B. p2(А) = {1256 , 34} = {c1 , c2} = C. p3(А) = {135 , 246} = {d1 , d2} = D. Так, например, если автомат В (соответствующий разбиению p1(А)) находится в состоянии b1, автомат С (соответствующий разбиению p2(А)) – в состоянии с2, автомат D (соответствующий разбиению p2(А)) – в состоянии d1, то автомат SN будет находиться в состоянии 3. Выбор разбиений p1, p2, p3 определяет сложность функций fi, а от нее – со сколькими автоматами связан автомат Si. Для каждого разбиения pi построим функцию Fi: AxZ®pI на базе функции d. Эта функция определяет реакции автоматов Si на внешнее воздействие z i, при условии, что автомат S (и реализующий его автомат SN) находится в состоянии k.
Определим для функций Fi разбиения ti на множестве А так, чтобы для любых аk и аm из множества А условие: "ZÎZ Fi (ak, z)=Fi (am , z) выполнялось тогда и только тогда, когда ak и am принадлежат к одной группе разбиения ti. (табл.1.23 -1.25). t1 = {136 , 24 , 5} , t2 = {1234 , 56}, t3 = {14 , 23 , 5, 6},
Определим для функции Fi разбиения hi на множестве Z так, чтобы для любых Zk и Zm из множества Z условие: "aÎA Fi (a, Zk) = Fi(a , Zm) выполнялось тогда и только тогда, когда Zk и Zm принадлежат к одной группе разбиения hi. h1 = {z1 z4 , z2 z3} h2 = {z1 z2 z3 , z4}; h3 = {z1 z2 , z3 z4}. Построим сеть N = < ZN , WN , {Si} , {fi} , {ji} , g > ZN = Z, WN = W. 2) Si , fi , ji - определяют компонентные автоматы; Si = ( Ai , Zi , di ); Ai = { pi } – блоки разбиения; Zi = Zi` x Zi``, если Zi` не пустое множество, Zi = Zi``, если Zi` пустое множество, Zi`` = hi. Zi` определяются по следующему правилу: Если pix(pk x pl x…xpm)£ti, то Zi` = (pk x pl x … x pm). Найдём все возможные произведения пересечений. p1(A)xp2(A) = {12, 56, 34} p1(A) x p3(A) = { 13 , 5 , 24 , 6 } p2(A) x p3(A) = { 15 , 26 , 3 , 4 } p1(A) x p2(A) x p3(A)={ 1 , 2 , 3 , 4 , 5 , 6 } Определим зависимость функции переходов первого автомата от других автоматов.
t1 > p1(A) x p3(A), => Z1` = p3(A) = {135, 246} = { d1 , d2} = D. Первый автомат зависит от третьего. h1 = {z1 z4 , z2 z3} = {u1 , u2} = U. d1: B x ( D x U ) ® B Функция переходов представлена в табл.1.26, композиция – Определим зависимость функции переходов второго автомата от других автоматов p2(A) x p1(A) ={13 , 5 , 24 , 6 } t2 > p2(A) x p1(A), => Z2`=p1(A)={1234 ,56 }={b1, b2} = B, h2 ={Z1, Z2, Z3, Z4}={v1, v2}=V,
d2:Bx(BxV)®C. Функция переходов представлена в табл.1.27, композиция – на рис.1.15
Определим зависимость функции переходов второго автомата от других автоматов t3 = { 14 , 23 , 5 , 6 } p1(A) x p2(A) x p3(A) = { 1, 2, 3, 4, 5, 6}. t3 > p3(A) x p1(A) x p2(A)=> Z3`=p1(A)xp2(A)={12, 56, 34}={p1, p2, p3} = P, h3 = { Z1 Z2 , Z3 Z4 } = { v1 , v2 } = V, d3: D x ( P x V) ® D
Функция d3 имеет вид, показанный в табл. 1.28. Функция переходов представлена в табл.1.28, композиция –на рис.1.16.
Создадим разбиение множества P x V: Q = { (p1,v1) (p1,v2) (p3,v2) , (p2,v1) (p2,v2) ( p3,v1) } = {q1, q2}. Тогда функция d3 принимает вид, показанный в табл.1.29.
Выходная функция представлена в табл.1.30, композиция –на рис.1.17.
Упражнения
|
Последнее изменение этой страницы: 2019-03-31; Просмотров: 348; Нарушение авторского права страницы