Научная статья на тему 'Структурный анализ функциональных схем вычислительных устройств'

Структурный анализ функциональных схем вычислительных устройств Текст научной статьи по специальности «Математика»

CC BY
116
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Структурный анализ функциональных схем вычислительных устройств»

ИЗВЕСТИЯ

ТОМСКОГО ОРДЕНА ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ПОЛИТЕХНИЧЕСКОГО ИНСТИТУТА им. С. М. КИРОВА

-Том 290 1974

СТРУКТУРНЫЙ АНАЛИЗ ФУНКЦИОНАЛЬНЫХ СХЕМ ВЫЧИСЛИТЕЛЬНЫХ УСТРОЙСТВ

в. К. ПОГРЕБНОЙ

(Представлена научно-техническим семинаром кафедры АСУ и лаборатории управления)

Исследование проблемы унификации при проектировании вычислительных устройств обнаруживает многообразие возможных подходов к решению данной проблемы. Это многообразие, с одной стороны, порождается наличием большого количества условий, каждое из которых в отдельности либо их комбинация в конкретной ситуации приобретают первостепенное значение и тем самым определяют подход к решению проблемы. С другой стороны, отсутствие единой методологии и какой-либо математической теории решения данной проблемы п в конкретных условиях порождает многообразие возможных методов и алгоритмов решения задач унификации.

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

Вместе с тем, несмотря на наличие такого многообразия в подходах и методах решения задач унификации, уже на данной стадии исследований намечаются пути к разработке более универсальных, единых подходов и методов. Так, следуя уже наметившемуся в ходе исследований принципу решения задач унификации путем проектирования унифицированного набора блоков [1, 2, 3], можно, независимо от физической природы проектируемых -систем и уровня иерархии, на котором решается задача унификации, использовать одну и ту же схему решения задачи. Среди основных этапов такой схемы можно выделить следующие:

— построение графов взаимосвязей объектов систем соответствующего ¡уровня иерархии;

— структурный анализ полученных графов с целью определения часто повторяющихся (типовых) подграфов (типовых структур);

— формирование из полученных типовых структур [унифицированных блоков;

— разработка методов реализации систем блоками унифицированного набора с минимальной избыточностью.

Построение графов взаимосвязей объектов систем зачастую не вызывает принципиальных трудностей. Однако как построение, так <и

21

способ представления данного графа в ЭВМ оказывает существенное влияние на специфику и эффективность алгоритма стр!уктурного анализа. В качестве ¡примера построения графа и способа представления его в ЭВМ для самого -низкого уровня иерархии вычислительного устройства (уровень логических элементов), реализованных на микромодулях, можно рассматривать способ, предложенный в [2]. Здесь же выделяются -и обсуждаются основные требования к способу описания функциональных схем вычислительных устройств на данном уровне иерархии. Указанные требования ¡носят достаточно общий характер и поэтому приемлемы в любых конкретных условиях. Однако способы описания, отвечающие данным требованиям, в каждом конкретном случае могут существенно отличаться.

Структурный анализ полученного графа с целью выделения повторяющихся подграфов (типовых структур) приводит к необходимости решения ряда сложных задач, например задачи идентификации графов. Следует отметить, что результаты проведенных исследований по решению задачи тождественного вхождения типовых структур в схемы вычислительных устройств позволяют сделать вывод о возможности эффективного использования ¡имеющихся алгоритмов [1, 2] для решения данной задачи применительно к типовым структурам, содержащим до 10 элементов. Кроме того, наметившиеся пути совершенствования данных алгоритмов позволяют надеяться на успешное решение задачи для типовых структур, содержащих до 20 элементов. Возможность выделения типовых структур такого размера с помощью указанных алгоритмов позволит эффективно использовать их при решении многих практических задач, например, при определении рациональной номенклатуры больших интегральных схем и их использовании.

В данной работе рассматриваются задачи структурного анализа функциональных схем вычислительных устройств в условиях, когда какой-либо перечень априори заданных типовых структур (ТС) отсутствует. Заметим, что если некоторое множество ТС задано, то они могут быть выделены в схемах по алгоритму, изложенному в [2]. Об использовании результатов выделения таких ТС будет сказано ниже. Здесь лишь заметим, что в процессе выделения определяются частоты использования данных ТС, а функциональная схема никаких изменений не претерпевает, то есть используется второй вариант алгоритма выделения [2].

Представление функциональной схемы в ЭВМ осуществляется в соответствии с методикой, изложенной в [2]. Для удобства использования в последующих алгоритмах .структурного анализа список связей графа схемы в — (Ру ¿7) преобразуется программным путем в список вершин рI с указанием прямых./7, и обратных отображений,

значений полустепеней исхода а7 и захода р,-, и соответствующих значений кодовых номеров [2]. Пример списка вершин с указанием перечисленных выше данных для графа, 'приведенного на рис. 1, представлен табл. 1.

Рис. I.

Для каждой 1-й вершины в таблице указывается мощность гп1, которая характеризует количество конструктивных единиц либо их частей, реализующих данную вершину. Для случая, когда вершины р отождествляют элементы интегральных -схем [2], мощность т1 характеризует часть модуля соответствующей интегральной схемы.

Таблица I

Я/ Р/ рР1 Р1 1хл т1

Л 1 1 Рг Р-п Р2 '¿21 Щ

Р-2 2 2 РиРь Р^Рь ^32*^42 ТПч

Рз 2 1 Л т3

Л 2 Р2 Н-12 Р.,Ръ тк

Ро 1 1 Л Р2 ¡¿25 тъ

Если вершины р{ отождествлены некоторым структурам (узлам вычислительных устройств), то мощность таких вершин показывает количество модулей, необходимых для реализации соответствующих структур.

Основной момент, характеризующий предлагаемый метод структурного анализа и определяющий пути его реализации, состоит в том, что анализ проводится путем формирования множества всех возможных структур с ограниченным диапазоном мощностей и выбора среди них оптимальной совокупности по определенному .критерию. Такой подход можно характеризовать как точный метод решения, так ¡как, осуществляя перебор множества сформированных структур в соответствии с принятой их оценкой, метод позволяет полечить наилучшее решение, то есть наиболее качественно провести структурный анализ. Вместе с тем точный метод может 'быть использован лишь для анализа небольших схем. Поэтому такой подход в основном представляет только методологический и теоретический интерес.

При анализе реальных схем вычислительных устройств, особенно на уровне элементов, оказывается возможным использование лишь приближенных методов. При получении приближенного или рационального решения в данном случае, впрочем как и при решении других задач, возможны два подхода. Первый заключается в исследовании рассматриваемой задачи в оптимизационной постановке и получении приближенного решения. Второй подход состоит в разработке некоторого эвристического алгоритма, позволяющего получить рациональное решение. Рассматриваемый ниже метод позволяет получать приближенное решение через оптимизационную постановку. При этом выделяются следующие основные этапы решения задачи структурного анализа:

— формализация оценки качества структуры;

— формирование множества структур заданного диапазона мощностей;

— вычисление оценки качества сформированных структур;

— выбор оптимальной совокупности типовых структур.

Формализация оценки качества структуры

Прежде чем перейти к непосредственному изучению факторов, влияющих на оценку структур, проведем качественный анализ влияния

результатов структурного анализа -на результат решения .всей задачи, заключающейся в достижении максимально возможного уровня унификации. Не вызывает сомнения тот факт, что сокращение номенклатуры ТС, используемых для 'проектирования УНБ, способствует сокращению его размеров. В то же время стремление покрыть большую часть элементов схем типовыми структурами минимальной ¡номенклатуры равнозначно увеличению частот использования соответствующих ТС.

Таким образом, частоты использования ТС в анализируемых схемах во многом определяют ¡качество решения задачи унификации. -Вместе с тем частота использования ТС зависит от их мощности. Понятно, что чем менее мощными будут выбраны ТС, тем выше 'будет их частота. Проектирование УНБ на основе более мощных структур положительно сказывается на ряде важных характеристик, таких как соотношение числа выводов и модулей блока, коэффициент использования блоков и ряд других. Поэтому важно, чтобы ТС были достаточно мощными.

Анализируя сказанное выше, можно выделить два основных фактора для оценки качества структур — мощность и частоту использования. Определение мощности структуры было дано выше. Мощность 1-й ТС обозначим через МГл Величина Л1, легко определяется как сумма мощностей ту элементов входящих в множество А 1 элементов 1-й ТС

м1=2 щ- со

Понятие частоты использования применительно к оценке качества структур требует уточнения. Дело в том, что 'частота использования* полученная в результате структурного анализа, зависит от других структур. Частоту, с которой встречается ТС в схемах, подсчитанную независимо от других ТС, будем называть повторяемостью. Повторяемость 1-я структуры gi характеризует максимально возможную частоту использования структуры ¿-го вида. Заметим, что по значению величины gl нельзя судить о значении частоты использования, которое будет получено после анализа. Может оказаться, что структура с высоким значением получила низкое или нулевое значение частоты использования. Это лишь означает, что элементы, составляющие структуры 1-го вида 'вошли в другие структуры. Повторяемость характеризует, таким образом, потенциальную возможность структуры иметь соответствующее значение частоты использования.

Общая оценка структуры 1-го вида может быть получена как взвешенная сумма отнормированных значений мощности т1 и повторяемости Ц 1

где С/ —оценка структуры /-го вида;

т.1 — нормированное значение мощности структуры ¿-го вида; —нормированное значение повторяемости структуры /-го вида;

р^ — значения весовых коэффициентов, характеризующих степень влияния мощности и повторяемости соответственно на величину оценки.

Значения весовых коэффициентов предварительно могут быть определены экспертным методом и уточнены в ходе эксперимента. От-нормированные значения мощности и повторяемости т[ и имеют математическое ожидание, равное нулю, и дисперсию, равную единице.

Оценка С,- ставит сравниваемые структуры в равные условия. Действительно, если структура имеет малую мощность, то она, как правило, будет иметь достаточно высокую повторяемость и наоборот. В ходе структурного анализа введенная оценка позволяет отсеивать неперспек-

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

Обработка структур полного множества потреб/ует значительного объема вычислений. 'Вместе с тем необходимо заметить, что формирование оценки, позволяющей отсеивать неперспективные структуры в ходе их формирования, связано, по-видимому, с трудностями принципиального характера. Поэтому в последующем изложении основное внимание р/делено вопросам повышения эффективности алгоритмов формирования и оценки структур, а не поиску более эффективных оценок.

Формирование полного множества структур

Рассматриваемый ниже алгоритм позволяет формировать полное множество структур в заданном диапазоне уровней (количестве элементов, составляющих структура). При этом алгоритм позволяет исключать дублирующие структуры в ходе их формирования, а в памяти хранить в основном только исходный граф схемы. Алгоритм построен таким образом, что позволяет последовательно для каждой вершины графа проводить анализ области графа вокруг данной вершины. Анализ осуществляется распространением «волны» вокр/уг вершины до получения структур с заданными границами уровней.

Распространение такой «волны» осуществляется по определенным правилам последовательно вокруг каждой вершины графа. Этот процесс в последующем будем отождествлять с построением дерева структур. Вершинами дерева структур являются вершины анализируемого графа, а связи отражают принадлежность связываемых вершин к некоторой структуре.

Каждой ветви дерева с началом в исходной вершине соответствует некоторая структура. Общее число структур определяется числом вершин дерева за исключением исходной. Вершины дерева и соответствующие им структуры можно распределить по уровням. Принадлежность структуры к некоторому, например, [-му уровню указывает на наличие в соответствующей ветви дерева I вершин.

Для формализации процесса построения дерева структур введем понятие цепи отображений. Цепью отображений будем называть такое дерево, у которого на каждом уровне всего лишь одна вершина имеет непустое отображение. Цепь отображений является основным элементом алгоритма формирования множества структур, который заключается в последовательном построении цепей отображений дерева структур. Рассмотрим подробнее процесс перехода от одной / цепи отображений к другой. Выделим в цепи отображений последовательность вершин, которые имеют непустые отображения. На рис. 2, а последовательность таких вершин выделена жирной линией.

Множество вершин отображений , расположенных левее верши-

ны р I с непустым отображением, включающее эту вершину, обозначим через ру . Цепь таких отображений приведена на рис. 2, б. По

аналогии вершины, расположенные справа от вершин с непустым отображением, обозначены через р+ . Множества таких вершин показаны на рис. 2, в. Здесь необходимо отметить, что последовательность вершин в отображениях исходной цепи и вновь формируемых отображе-

25

пиях может быть произвольной. Однако в последующем при переходе от одной цепи отображений к другой эта последовательность должна оставаться неизменной.

а) 1 р<1 5) 1 г:,г 6) 1 Го/

Рис. 2.

Формирование отображений осуществляется на основе графа схемы ¡и имеющейся цепи отображения. При формировании отображения на /-м уровне вершине ре предварительно формируется два множества А? и ВЛ

Последовательность построения отображений организуется таким образом, чтобы цепь отображений обходила дерево структур, перемещаясь слева направо. При этом вновь формируемое отображение записывается на место отображения максимального ¡уровня предшествующей цепи отображений. Таким образом, в памяти ЭВМ всегда оказывается достаточным хранить одну цепь отображений, а не все дерево структур. После построения очередного отображения /-го уровня соответствующие ему структуры запоминаются в /-м массиве ММаксимальный [уровень структур, который необходимо получить в процессе анализа, должен указываться перед построением дерева структур, так ¡как само дерево не запоминается, и. следовательно, последующее наращивание без его повторного построения оказывается невозможным. Запись структур в соответствующие массивы осуществляется в форме табл. 1. Необходимые при этом данные берутся из описания исходного графа анализируемой схемы.

Выше указывалось, что оценка качества структуры осуществляется по двум факторам: мощность структуры ¿-го вида и повторяемость g¡.

= {Р~1 и РРе и Р+},

(4)

(3)

(5)

Вычисление оценки качества сформированных структур

При наличии значений величин mh g{ для структуры г-го вида оценка С,- определяется по выражению (2). Что касается определения величины тп то здесь не возникает каких-либо затруднений. Величина mi вычисляется по выражению (1). Значительные трудности вызывает определение величины gi . Для этого множество структур, записанных в массивах М необходимо разбить на группы тождественных структур и для каждой группы определить 'максимальное число непересекающихся структур. Таким образом, задача определения величины g-t разбивается на две — разбиение структур на группы и определение непересекающегося множества структур внутри каждой группы.

Задача разбиения структур на группы рассматривается внутри каждого массива Mf отдельно, так как структуры с различным числом вершин (различный уровень структур) не могут быть тождественны. Количество структур даже в одном массиве Mf может измеряться несколькими тысячами, поэтому алгоритм разбиения структур должен быть достаточно эффективным. Так, если число структур в массиве п — 1000, то максимальное число сравнений структур для определения их тождественности составит п(п—1)/2, или около 500000. Однако это справедливо для случая, ¡когда все структуры будут различного вида. Если же, например, множество из п = 1000 структур разобьется на т — 10 равных групп, то число сравнений будет значительно меньше и составит п (т + 1)/2 = 1000 (10+ 1)/2 = 5500.

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

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

При сравнении двух структур, описываемых графами G — (Р, U) и Cr = (Р\ Ur), в качестве необходимого условия тождественности может быть принято следующее: для каждой вершины pfcP графа G существует такая вершина р&Р' графа G', что а,- = а,-, ß/ — ß/ множество функций дуг {".;/} соответствующего отображения FPi, совпадает с множеством {н-/у}, соответствующим отображению/^/, а {^/у}"1 отображения F^l совпадает с {¡¿¿у}-1 отображения F~\

Проверка данного условия осуществляется по спискам вершин сравниваемых структур, представленным в форме табл. 1. Процесс сравнения структур состоит в выборе очередной вершины из списка графа G и поиске вершины в графе G', удовлетворяющей указанному условию. Найденная таким образом вершина в графе G' отмечается и в по-

следующем при 'проверке условия для следующей вершины графа С не используется. Если для некоторой очередной вершины р1 графа С сформулированное выше [условие не удовлетворяется, то сравниваемые структуры не тождественны. Структуры, для вершин которых указанное условие соблюдается, записываются в одну подгруппу. При этом вершины графов (?' переписываются в очередности, с которой они выбирались при проверке условия, в соответствии с очередностью записи вершин в списке графа О. Такая запись позволяет в последующем при установлении тождественности графов внутри подгруппы начинать проверку тождественности с одного из возможных вариантов (взаимно-однозначного) соответствия вершин.

Что касается вопроса о формировании совокупности условий, необходимых и достаточных для установления тождественности структур, то этот вопрос требует проведения специального исследования и в настоящей работе не рассматривается.

Сформированные по введенному необходимому условию тождественности группы структур разбиваются на подгруппы тождественных структур. Процесс разбиения осуществляется в каждой из групп независимо от других и состоит в последовательной проверке пар структур на тождественность. Такая проверка осуществляется в соответствии с алгоритмом, изложенным в [2]. Алгоритм в данном случае работает достаточно эффективно, поскольку велика вероятность того, что структуры, принадлежащие одной подгруппе, являются тождественными и, следовательно, количество обратных ходов будет невелико.

После выполнения этого этапа над всеми массивами Мг структуры всех уровней будут разбиты на труппы тождественных структур. В каждой труппе необходимо найти максимальное число непересекающихся структур , которое характеризует повторяемость структур ¿-й группы. Так как данная задача ниже рассматривается применительно к одной группе, то индекс I в последующем изложении опускается. Задача определения непересекающегося множества структур рассматривалась в [2]. При этом предполагалось, что структуры имеют различную мощность. Поэтому в оптимизационной постановке задача сводилась к взвешенной задаче покрытия. <В рассматриваемом случае все структуры принадлежат одному уровню, то есть имеют одинаковую ^мощность. Это позволяет рассматривать задачу определения тах g как задачу нахождения числа внутренней устойчивости графа. Действительно, построим граф (5, и), вершинами которого являются структуры, а ребра —5/ указывают на наличие общих элементов у ¿-й и /-й структур. Иными словами, на множестве структур группы построим граф пересечений. Определение для данного графа числа внутренней устойчивости соответствует нахождению максимального числа непересекающихся (несвязанных) вершин.

Среди известных алгоритмов определения числа внутренней устойчивости можно выделить алгоритм Магу — Уэйсмана [4]. Существенным для данного алгоритма является то, что он находит все максимально пустые подграфы. Для графа, содержащего 200—300 вершин, число максимально пустых подграфов становится необозримо большим и использование алгоритма приводит к значительным трудностям. В рассматриваемой задаче важно находить само число внутренней устойчивости, а не все максимально пустые подграфы. Здесь необходимо заметить, что количество групп тождественных структур 'будет велико, а соответствующие им графы пересечений могут содержать несколько сот вершин. Поэтому рассчитывать на использование пусть даже сравнительно эффективного алгоритма решения данной задачи не приходится. Единственно возможным в данных условиях является разработка

эффективного алгоритма приближенного решения задачи определения числа внутренней устойчивости.

Рассмотрим граф пересечений С = и), построенный на множестве структур, принадлежащих одной группе. Если граф не связан, то каждую его компоненту рассматриваем отдельно. Алгоритм приближенного вычисления числа g основан на предварительном ранжировании графа б. Ранжирование может быть начато с любой вершины. На рис. 3, а показан граф С, а на рис. 3, б — результат его ранжирования.

Процесс ранжирования осуществляется следующим образом. Исходной вершине , с которой начинается ранжирование, присваивается 1-й ранг. Ко второму рангу относится множество вершин отображения

Третий ранг формируется из множества вершин, содержащихся

в отображениях вершин множества (вершин второго ранга). При этом не включаются вершины, уже вошедшие в множество вершин второго ранга. В ранжированном графе все связи исходного графа сохраняются. После ранжирования множество вершин каждого ранга анализируется с целью определения максимального числа непересекающихся структур. Если для некоторого ¿-го ранга 'множество вершин не связано (например, для I = 4, рис. 3, б), -максимальное число непересекающихся структур для такого ранга определяется числом вершин, содержащихся в данном множестве. Так, для / = 4, £4 = 5. В случае, если все множество вершин (либо его часть) некоторого /-го ранга связано, то число §[ ищется так же, как и для исходного графа, то есть осуществляется ранжирование и определение величин , по которым определяются величины • При определении величин также может встретиться ситуация, когда на соответствующих рангах множество вершин связано. В этом случае определяются величины , но которым определяются величины ¿1 ■ Таким образом, процесс ранжирования при определении величины g осуществляется до тех нор» пока ни одно из множеств всех рангов не будет содержать связанную совокупность вершин.

После вычисления всех величин gt получается последовательность чисел gí, g^2,...1 g¿,...^, gu-1, g¡n где и — число рангов, на кото-

Рис. 3

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

I = 1,2,..., и, а 2 £,->тах.

* € А

Эффективным методом решения данной задачи является схема, в соответствии с которой строится граф и определяется маршрут мак-

пого выше для девяти рангов (рис. 3,6), показан на рис. 4.

Построение графа и определение максимального маршрута осуществляются одновременно. Рассмотрим процесс построения графа и определения 'максимального маршрута на примере рис. 4. Начинается построение с рангов (вершин) 1 и 2. Из вершины 1 можно двигаться в вершины 3 или 4. Рядом с номерами вершин на рисунке в скобках указаны -суммы соответствующих значений чисел Из вершины 2 можно двигаться в вершины 4 и 5. Таким образом, в вершину 4 можно попасть через вершину 1 и 2. При движении через вершину 1 сумма чисел + ¿"4 = 1 + 5 = 6. при движении через вершину 2 сумма чисел ¿2 + Ца = 3 + 5 = 8. Поэтому маршруты с началом 1—4 могут в последующем не рассматриваться и у вершины 4 в скобках проставляется число 8. В ходе построения может оказаться, что различные маршруты приводят в вершины с одинаковым номером. Например, маршрут 1—3—5 и 2—5. В этом случае сравниваются значения величин в скобках у этих вершин и маршруты через вершину с меньшим значением величины в скобках исключаются из рассмотрения. В случае, если величины в скобках оказываются одинаковыми, то исключается любое из .множеств маршрутов, проходящих 'через данные вершины.

Маршрут, заканчивающийся вершиной с максимальной величиной в скобках, является решением задачи. Величина в скобках соответствует искомой величине g.

Ранжированный граф, который не имеет связей между вершинами (назовем его сквозным), обладает хорошим свойством. Независимо от того, с какой вершины начато ранжирование, граф получается сквозным. При этом для каждого, полученного таким образом,

19(1г)

Рис. 4

о

симальной длины. Построение графа возможных маршрутов обхода последовательности чисел gt осуществляется по правилу, которое вытекает из конкретных условий задачи. Суть этого правила состоит в том, что ссли организовать обход рангов с повышением их номеров, из каждого /-го ранга имеет смысл двигаться лишь в ранги с номерами /+2 или /+3. Движение в ранг £+4 из ¿-го ранга недопустимо, так как в ранг с номером ¿+4 имеется возможность пройти через ранг £-(-2 и суммарное число величин gí увеличивается на gf+2. Граф, построенный с учетом сказан-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

рангов с повышением

сквозного графа величина найденная но приведенному выше алгоритму, остается постоянной.

В общем случае для несквозного ранжированного графа при определении числа gt на множестве связанных вершин может оказаться не безразличным, какие именно вершины вошли в совокупность, соответствующею числу g (. Так, для примера, представленного на рис. 5, число g2 = 2 определяется одной из совокупностей вершин (2,4) (2,5), (3,5), число gí= 2 совокупностями (9,11) или (10, 11). Однако, если при определении будет выбрана совокупность (2,4) или (2,5). а при определении будеа выбрана совокупность (10,11), то дополнительно может быть включена вершина 6, что позволит величину подсчитанную по приведенному алгоритму, увеличить на единицу.

Учет этих моментов приводит к существенному ус- Рис. 5 ложнению приведенного выше алгоритма. Усложнение происходит за счет увеличения числа вариантов множеств вершин, соответствующих числам gt и, следовательно, увеличению числа вершин в графе, который строится при определении максимального маршрута. В случае, если эта дополнительная возможность увеличения числа не используется, то независимо от этого после определения величины g осуществляется проверка множеств рангов, которые не вошли в решение на наличие возможности включения их в решение.

После определения величин g для всех групп тождественных структур осуществляется нормирование значений g и т так, чтобы эти значения имели математическое ожидание, равное нулю, и дисперсию, равную единице. Оценка каждой структуры определяется по выражению (2). Заметим, что все структуры одной группы имеют одинаковые оценки, так как мощность этих структур и значение повторяемости g для них одик аково. Значения весовых коэффициентов подбираются с учетом конкретных условий, а также на основе анализа результатов экспериментов.

Полученная таким образом оценка для конкретной типовой структуры зависит от количественного соотношения частот повторения видов структур -в анализируемой функциональной схеме. При анализе некоторой совокупности функциональных схем, при оценке* структуры необходимо учитывать ¡частоты повторения структур данного вида в других схемах. Действительно, структуры некоторого 1-го вида встречаются, например, в каждой из пяти анализируемых схем по два раза. Таким образом, общая частота равна десяти. Структура другого /-го. вида встречается всего лишь в одной схеме пять раз. Понятно, что структура /-го вида при анализе каждой схемы будет иметь достаточно низкую оценку и может оказаться исключенной из последующего рассмотрения, в то время как структура /-го вида может иметь оценку, достаточную для того, чтобы быть неисключенной. Очевидно, что такое решение неправильно, так как выгоднее оставить структуру г-го вида. В связи с этим при определении оценки структуры необходимо учитывать ее повторяемость во всех анализируемых схемах.

Обозначим через g¿h , Л = 1, 2, ...,Н повторяемость структур ¿-го вида в /г-й схеме. Тогда общая повторяемость структур ¿-го вида которая используется в выражении (2), определится следующим образом:

н

Л = 1

После определения оценок С1 для всех групп производится анализ полученных результатов и принимается решение об исключении групп с низкими оценками С,- из последующего рассмотрения. При этом важным моментом является установление минимально допустимой оценки, обозначим ее через С0. Группы структур, для которых не выполняется условие

С;>с0, (7)

исключаются из последующего рассмотрения. Величина С0 подбирается в зависимости от конкретных условий: количества видов групп, возможности последующей обработки оставшегося множества групп, количества исключаемых при этом вершин исходных графов ;и ряда других условий.

Выбор оптимальной совокупности структур

После выполнения изложенных выше этапов структурного анализа имеется п групп структур /-го.вида. Каждая группа характеризуется оценкой Су , общим количеством структур пу- и количеством непересекающихся структур д,- . Известно общее количество структур /-й группы,- принадлежащих А-й схеме пу-н , и совокупность непересекающихся структур Необходимо среди всего множества структур выбрать

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

Характерным для рассматриваемой задачи является то, что она должна решаться совместно для всех схем. Действительно, если решать задачу отдельно для каждой -схемы, то полученные при этом совокупности структур могут не совпадать по виду, что приводит к увеличению общего числа видов структур. ¡При одновременном решении задачи покрытия для всех схем имеется возможность учитывать частоту использования структур одного вида во всех схемах. Ранее уже отмечалось, что при выборе номенклатуры структур важно, чтобы они по возможности были .крупнее, то есть должна учитываться мощность структур. Таким образом, решение задачи выбора совокупности структур должно отвечать двум основным требованиям — структуры должны быть достаточно мощными и иметь высокую частоту использования. Рассмотрим одну из возможных постановок решения данной задачи.

Введем переменную х%, 1, если к-я структура в /-й группе, принадлежащая Л-й схеме, включена в решение; / = 1, 2, ... , п; к = 1, 2, ... , П:\ Л = - 1, 2, ... , Н\ О в противном случае. Тогда частота использования структур /-го вида определится как сумма значений х%, к — 1, 2, ... , п-Г Целевая функция с учетом указанных выше требований может быть записана следующим образом:

(2-*

4 к- 1

— 2 (шах), (8)

где /72у — мощность структур /-го вида. Величина в целевой функции (Ь) возведена в квадрат, с тем, чтобы отдать предпочтение более мощным структурам, величина

т^ х

по существу является коэффициентом при переменных в целевой функции, так как характеризует частоту использования структур /-то вида и их мощность. Этот коэффициент характеризует участие структур /-й группы в покрытии схемы, поэтому сумма переменных по /-й группе в выражении (8) получается в квадрате. Ограничения для данной задачи формируются из условия того» что ни один из элементов анализируемых схем не может одновременно входить в две или более включенных в решение структур. Это условие можно записать в виде

Л = 1, 2, ... И; 1Н = 1, 2, ... , 5а, (9)

у = 1 /с = 1

22

у = 1 /С = 1

где 5Л — количество элементов, содержащееся в А-й схеме; а пик =

1, если л;-я структура /-и группы содержит 1-й элемент й-й схемы,

О в противном случае.

Задача (8), (9) относится к классу задач покрытия с нелинейной целевой функцией. Современная теория математического программирования не располагает достаточно эффективными методами решения таких задач. К тому же размерность рассматриваемой задачи может достигать нескольких тысяч, а количество ограничений, определяемое суммарным числом элементов, во всех анализируемых схемах также может превысить тысячу.

Исходя из этого, представляется целесообразным более тщательно проанализировать группы тождественных структур и выбрать из них наиболее перспективные с точки зрения использования их при покрытии схем. Выбор перспективных групп в данном случае означает выбор номенклатуры типовых структур. Поэтому при таком подходе данный этап является одним из наиболее ответственных при структурном анализе.

Важным достоинством предлагаемого подхода является то, что задача выбора групп может рассматриваться для каждой схемы независимо. Это оказывается возможным, если данную задачу рассматривать как задачу покрытия элементов схем группами структур по критерию максимума их суммарных оценок.

Введем переменную , которая равна 1, если /-я группа структур включена в решение, и 0 в противном случае. Тогда задача выбора рациональной совокупности групп для Л-й схемы будет заключаться в максимизации функции

п

шах! - 2С;Л> (10)

у=1

при условиях

3. Заказ 5501.

/-=1,2,.., 5, (11)

У=1

Х; = 0- 1, / - 1, 2, ... , /г, (12)

33

где

а _ 1, если /-я группа структур содержит 1-й элемент схемы, 1} 0 в противном случае,

Су—оценка структур /-й группы.

Выше отмечалось, что задача выбора структур решается для каждой схемы независимо. Поэтому в (11) значения аи формируются исходя из структур /-й группы, принадлежащих рассматриваемой схеме. При этом учитываются лишь те структуры, которые вошли в непересекающуюся совокупность при определении повторяемости. Остальные структуры не могут использоваться, так как при решении задачи (10) — (12) они наравне с другими структурами будут использоваться для покрытия элементов схемы, а в последующем будут исключены при выборе непересекающейся совокупности структур.

Ограничение (11) исключает возможность пересечения между двумя группами даже по одному из элементов схемы и является, таким образом, слишком жестким. Это может привести к тому, что в конкретной ситуации какие-либо две группы, имеющие, например, самые высокие оценки Су из-за наличия пересечения по незначительному числу элементов не смогут быть включены в решение. Поэтому вместо задачи (10) — (12) рассматривается задача минимизации функции

п

при условиях

min L = ХЬ 03)

п

2Ху-*у>1, (14)

У-1

Xj -= 0; 1, / = 1, 2,..., п. (15)

При решении данной задачи некоторая совокупность структур может пересекаться. Поэтому решение задачи необходимо корректировать путем выбора непересекающихся структур, покрывающих максимальное число элементов схемы. В результате такой корректировки часть элементов схемы может оказаться непокрытой структурами. Если это обстоятельство нежелательно или недопустимо, то решение задачи (13) — (15) может быть улучшено решением другой задачи покрытия, в которой используются все структуры выбранных групп. При этом предпочтение следует отдавать более крупным структурам. Фактор повторяемости в данном случае не играет роли, так как номенклатура структур уже определена. В этой задаче переменная х j принимает значение 1, если /-я структура включена в решение, и 0 в противном

случае. Задача состоит в минимизации функции

j

minZ, — ¿¿ — xj, (16)

y-i rnj

n

i = 1, 2,..., 5, (17)

xj = 0; 1, 1, 2,..., n, (18)

где trij — мощность j-й структуры;

« — общее количество структур, сформированных для рассматриваемой схемы;

5 — общее количество элементов схемы;

1, если I-й элемент содержится в у-й структуре, О в противном случае.

В случае, если нет необходимости отдавать предпочтение мощности структур, целевая функция (16) может быть заменена на более простую функцию

Задачу (19), (17), (18) 'можно решать путем нахождения минимального покрытия. При этом может оказаться, что некоторые группы структур не будут включены в решение. Если это повторится для всех анализируемых схем, то такая группа автоматически исключится из выбранной ранее номенклатуры. Возможные пересечения структур могут быть устранены дублированием элементов пересечения в схеме. На этом структурный анализ схем заканчивается. Совокупность структур, полученная при покрытии схем, распределяется по группам тождественности. Результаты анализа можно представить в форме матрицы А = \\asoi II, 5—1,2 ..., 5, т = 1, 2,..., №. Элемент матрицы а 50> характеризует-количество структур оз-го вида, используемых в 5-й схеме.

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

1. В. К. Погребной, В. 3. Я м п о л ь с к и й. Проектирование унифицированного набора блоков для заданного класса функциональных схем вычислительных устройств. Известия ТПИ, т. 269, Томск, 1972.

2. Автоматизация проектирования вычислительных устройств на элементах интегральной микроэлектроники. Отчет по НИР. Томск, ТПИ, 1971.

3. В. К. Погребной. Разработка и исследование алгоритмов автоматизации технического этапа проектирования вычислительных устройств. Диссертация на соискание ученой степени кандидата технических наук. Томск, ТПИ. 1970.

4. А. А. Зыков. Теория конечных графов. Новосибирск, «Наука», 1969.

п

(19)

ЛИТЕРАТУРА

i Надоели баннеры? Вы всегда можете отключить рекламу.