Файл: Горбатов В.А. Синтез композиции операционного и управляющего автоматов в вычислительной технике учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.08.2024

Просмотров: 56

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Два графа называются гомоморфными, если один из них получается из другого путем введения дополнительных вер­ шин на его ребра. Предложим алгоритм соседнего кодиро­ вания, основанный на следующей лемме.

Лемма: Размерность гиперкуба, в который вкладывается граф, гомоморфный графу переходов G, не Меньше степе­ ни s (G) графа G.

Окрестностью радиуса R вершины ѵ называется множе­ ство вершин { Ѵі ), для каждой из которых минимальная дли­ на цепи [и, .. ., ѵі] равна R.

Предлагаемый алгоритм соседнего кодирования состоит из следующих шагов:

1.В графе переходов G находим вершину Ѵо максималь­ ной степени 5макс> причем при подсчете степени вершин па­ раллельные ребра, т- е. ребра, имеющие одинаковые концы (эти концы между собой различны),условно считаем заодно ребро; петли графа переходов при подсчете s (ѵ) не учиты­ ваем. В дальнейшем будем называть найденную вершину ѵ0 центром соседнего кодирования. Центр соседнего кодирова­ ния ѵ0 образует окрестность радиуса R, равного 0 вершины VQ. Кодируем произвольным образом вершину о0-

2.Рассматриваем окрестность радиуса R, на 1 большего, чем радиус предыдущей закодированной окрестности.

При рассмотрении вершин окрестности радиуса R воз­ можны три случая, когда необходимо вводить дополнитель­ ные вершины, соответствующие неустойчивым состояниям

автомата:

43

а) k вершин рассматриваемой окрестности попарно смеж­ ны, т. е. образуют полный подграф. В каждое ребро этого полного подграфа помещаем дополнительную вершин}'';

б) имеется вершина ѵа , которая смежна с R ' (R '> R , R — радиус рассматриваемой окрестности) вершинами окрестно­ сти радиуса ^ —1. В этом случае на каждую из R '—R ребер, выбранных произвольным образом и соединяющих вершину ѵа с вершинами окрестности радиуса R — 1, помещаем до­ полнительную вершину. Тем самым этот случай сводится к предыдущему случаю;

в) число вершин NR рассматриваемой окрестности радиу­ са R больше числа сочетаний из s (G) по R, т. е.

где

— число вершин s(G ) -мерного куба, коды кото-

рых отличаются в R разрядах от кода некоторой зафиксиро­ ванной вершины этого куба; Тогда введением дополнитель­ ных вершин, смежных с одной стороны вершинам окрестно­ сти радиуса R — 1, с другой стороны, вершинам, наличие ко­ торых обусловливает выполнение неравенства, переводим из­ быток вершин в окрестность радиуса R + 1, так чтобы число

вершин окрестности радиуса R не превосходило

Вследствие того, что за центр соседнего кодирования взята вершина с максимальной степенью, случаи б) и в) од­ новременно иметь место не могут.

После введения дополнительных вершин согласно пунк­ там а), б), в), производим соседнее кодирование вершин ок­ рестности радиуса R.

3.Увеличиваем радиус рассматриваемой окрестности на 1

ипереходим к пункту 2, и так до тех пор, пока не получим искомое соседнее кодирование внутренних состояний авто­ мата. При выполнении пункта 2 может случиться ситуация,

когда размерности гиперкуба не хватает. В этом случае раз­ мерность увеличиваем на 1 и переходим к пункту 1.

Проиллюстрируем этот алгоритм кодированием вершин графа переходов G (рис. 3-5).

Находим вершины максимальной степени, таких вершин

вграфе две: 5г и S3, степень которых равна 3. За центр со­ седнего кодирования выбираем вершину S2 и присваиваем ей

код 111. Тогда вершины Si, S3 и SÖ образуют окрестность ра­ диуса R, равного 1. Условия а), б), в) для этой окрестности

44


не выполняются, следовательно, имеется соседнее кодирова­ ние. Оно следующее:

S i - O i l

S3-1 0 1

S6 — 110.

Окрестность радиуса R, равного двум, образуют вершины S 4 , S 5 . Для этой окрестности также не выполняются условия а), 6 ), в), и соседнее кодирование этих вершин имеет вид

S4 - 001

S5 - 100.

Рассматриваемый

граф

переходов

G, вложенный в куб,

представлен на рис. 3-6.

 

 

Gr = < у г,

При соседнем кодировании получаем граф

Уг> , гомоморфный

графу

переходов

G = <^V,

{/>.

При

этом число дополнительных вершин ЛУ — | Уг | — | У|

можно

оценивать коэффициентом плотности графа перехбдов.

45

Коэффициентом плотности kp (G) графа называется отношение числа ребер графа G полного графа, число вершин которого равно

G = <V, U > к числу ребер |Ѵ|,

М 0 ) =

2 \ U \

(3-2)

 

I V I (I V I — I )

 

 

 

Коэффициент плотности kp (G) позволяет оценивать гра­ фы переходов до применения алгоритма соседнего кодирова­ ния и выбирать из эквивалентных графов наилучший в смыс­ ле оценки kv (G).

Если коэффициент плотности kp равен единице, т. е. граф G является полным, то число дополнительных вершин, вводимых в этот граф, как нетрудно показать, равно

Дѵ

(I К | - 1) ( |Ѵ |- 2)

(3-3)

 

Согласно (3-2) и (3-3), превышение Av(G ) мощности но­ сителя графа, имеющего соседнее кодирование, над мощ­ ностью носителя графа переходов G = <^V, LT>, гомоморф­ ного ему в среднем, можно оценить как

Av(G) = kp (G).

(I у I — 1)(I К| —2)

 

 

2

 

или

 

 

Av(G) = - H

j - ( m - 2).

(3-4)

Анализ автоматов управления показывает, что коэффи­ циенты плотности графов переходов, задающих автоматы уп­ равления ЦВМ, малы. Коэффициенты плотности графов пе­ реходов автоматов управления промышленной автоматики велики, т. е. равны 1 или близки к ней. Следовательно, при соседнем кодировании графов переходов автоматов управ­ ления промышленной автоматики число вводимых неустой­ чивых состояний растет довольно' быстро с ростом числа вер­ шин заданного графа переходов. Например, при числах вер­ шин графов переходов, равных

5, 10, 15, 20, 25, 30,

числа неустойчивых состояйіій равны или близки соответ­ ственно к

б, 37, 91, 161, 276, 406.

46


Поэтому целесообразно при синтезе автоматов управления промышленной автоматики граф переходов доопределять до полного и его представлять в виде декартова произведения полных графов меньшей плотности (число вершин полного графа G называется его плотностью). Такое преобразование существенно снижает число вводимых неустойчивых состоя­ ний. Например, если граф переходов с числом вершин 25 представить в виде декартова произведения двух графов G і и Gz, число вершин каждого из которых равно 5, то вместо числа неустойчивых состояний, близкого к 276, нужно число неустойчивых состояний, близкое к 12. При этом гонки в блоках памяти, соответствующих графам Gi и Gz, вследствие соседнего кодирования, возникать не будут. Гонки же между самими блоками можно ликвидировать с помощью подстано­ вочных разбиений.

/

Г л а в а 4

 

 

СТРУКТУРНЫЙ СИНТЕЗ

 

§ 4-1. Понятие мультиструктуры

 

Структурой называется алгебра

< М, U ,ß >

(алгебра

есть совокупность < М, f і, /2, ..., fn >

множества М

с задан­

ными в нем операциями /і,'/2, f„, где М называется носи­ тель алгебры, а fi, f'2 , ..., fn — сигнатурой алгебры), сигнатура которой представляет собой две операции: операция объе­

динения U и операция пересечения

ß, обладающие следую­

щими свойствами:

 

 

а) идемпотентности

 

 

 

m U т = т;

 

б)

т Л т ~ т>

 

коммутативности

 

 

 

піі U m.j = ttlj U /Пі ;

 

 

ГПі ß nij = m.j

 

 

в)

ассоциативности

'

 

(nij U mj) Um K=/H i U (nij U mR);

 

 

(rrii Qm,) n mK= іщ n ft mK) ;

 

г) поглощения

=

 

 

ГПі U (ГПі ß nij)

 

ГПі ß (ГПі Unij) = пц.

Геометрически структура представляется в виде графа G (рис. 4-1).

Например/результаты операций объединения U H пересе­ чения ß для структуры, представленной на рис. 4-1, будут следующими:

m2Um 3= mi;

m2 ß m3 — т 4;

m2U m i—тпі;

m2 ß /n i= i/n 9;

Ші U ш5 =. т 3;

_ тц ß т5 = т6.

48



Результат операции объединения /?г* U rtij есть ближайший к гпі и nij элемент (вершины графа), в котором пересекают­ ся пути, проведенные из и nij и направленные по стрел­ кам графа. Результат операции пересечения

ІПі [\ГПі

есть ближайший к /п* и itij элемент (вершина графа), в ко­ тором пересекаются пути, проведенные из пц и rrij и направ­ ленные против стрелок графа. ,

Мультиструктурой называется объединение по элементам нескольких структур (рис. 4-2).

'

Рис. 4-2 .

Другими словами, мультиструктура, есть алгебра с неод­ нозначными операциями, например, для мультиструктуры рис. 4-2 результаты операции

тц U тъ — т 2, т 3; т 2 т 3= і Ші, т5.

4—2095

49

Мультиструктура называется взвешенной, если каждому ее элементу сопоставлен некоторый элемент из множества весов Р = ,{р\, р2 , ... ), причем если множество Р есть множе­ ство булевых функций, то мультиструктура называется функ­ циональной, а если булевы функции есть только функции утверждения и функции отрицания, то мультиструктура на­ зывается булевой.

Будем считать, что объединение всех элементов носите­ лей мультиструктуры

5 <

М, U, п >

 

 

U

т р — 1

, «

 

£=і

 

есть 1, а пересечение всех элементов

 

 

П/Пі= 0

 

 

і—1

 

 

есть 0.

 

можно

рассматривать

Тогда любую логическую схему

как функциональную мультиструктуру.

!

4-2. Минимизация булевой функции с учетом теоретико-структурных свойств функции

Булева мультиструктура, соответствующая булевой функ­ ции, определяет общие части и их пересечения в функцио­ нальной мультиструктуре, реализующей заданную функцию, она определяет структуру синтезируемой схемы. Сложность синтезируемой функциональной мультиструктуры в основ­ ном определяется сложностью соответствующей булевой мультиструктуры, сложность которой определяется распре­ делением квазиполных подмоделей в модели i|)(/), задающей булеву функцию /[11]. Это распределение определяет теоре­ тико-структурные свойства булевой функции. Следовательно, теоретико-структурные свойства в основном определяют сложность синтезируемого функционального графа. Отсюда для учета этих свойств необходимо проводить минимизацию числа вершин соответствующего структурного графа, прово­ дить поиск РДНФ [11] функции f с минимальной сложно­ стью. При большом числе переменных очевидна комбинатор­ наясложность этого поиска, ибо нужно для каждого ТДНФ функции построить РДНФ, найти их сложность и выбрать РДНФ с минимальной сложностью.

Для снижения трудоемкости при минимизации булевой функции с учетом теоретико-структурных свойств функции предложим следующий метод синтеза оптимальной ТДНФ,

50