Научная статья на тему 'Алгоритмы решения задач кратчайшего разбиения'

Алгоритмы решения задач кратчайшего разбиения Текст научной статьи по специальности «Математика»

CC BY
555
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
МЕТОД СОКРАЩЕННОГО ОБХОДА ДЕРЕВА ПОИСКА / КРАТЧАЙШЕЕ ДОПУСТИМОЕ РАЗБИЕНИЕ / СИНТЕЗ / КОМПОНОВКА

Аннотация научной статьи по математике, автор научной работы — Андреева Людмила Николаевна

По технологии сокращённого обхода дерева поиска с возвращением строятся алгоритмы решения задач кратчайшего допустимого разбиения наборов объектов, к которым сводятся многие задачи синтеза минимальных схем в программируемых базисах ПЛМ, ПЗУ, ПМВ, ПМЛ и их оптимального распределения по конструктивным ячейкам компоновочного пространства.

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

Algorithms for constructing the shortest allowable partitions of finite sets both for any monotonic and nonmonotonic two components allowing functions are presented in the paper. The synthesis problem for minimal complexity PLD-circuits and the composition problem of an electronic circuit into the minimal number of cells are good examples for the application of these algorithms.

Текст научной работы на тему «Алгоритмы решения задач кратчайшего разбиения»

2009 Вычислительные методы в дискретной математике №2(4)

ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ

УДК 519.7

АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ КРАТЧАЙШЕГО РАЗБИЕНИЯ

Л. Н. Андреева Томский государственный университет, г. Томск, Россия E-mail: andr@isc.tsu.ru

По технологии сокращённого обхода дерева поиска с возвращением строятся алгоритмы решения задач кратчайшего допустимого разбиения наборов объектов, к которым сводятся многие задачи синтеза минимальных схем в программируемых базисах ПЛМ, ПЗУ, ПМВ, ПМЛ и их оптимального распределения по конструктивным ячейкам компоновочного пространства.

Ключевые слова: метод сокращенного обхода дерева поиска, кратчайшее допустимое разбиение, синтез, компоновка.

Введение

Рассматривается задача кратчайшего допустимого разбиения множества наборов объектов (далее: ЗКДР), которая в абстрактной своей постановке формулируется следующим образом. Пусть даны разбиваемое множество A Ç D = Di х ... х Dm, допускающее множество B Ç Е = Е\ х ... х En, где D и E — декартовы произведения конечных множеств элементов, m,n ^ 1, отношение частичного порядка r на Е и допускающая функция f из D в Е, где D — множество всех подмножеств в D. Подмножество C Ç A называется допустимым, если 36 G B (f (C)rb). Разбиение R множества A называется допустимым разбиением, если каждый класс C в R является допустимым множеством. Допустимое разбиение R множества A называется кратчайшим, если для любого допустимого разбиения R' множества A справедливо |R| ^ |R;|. Требуется для заданных A, B, f и r найти кратчайшее допустимое разбиение R.

Многие задачи из приложений дискретной математики ставятся и решаются как ЗКДР с конкретными входными данными A, B, f и г. В частности, к ней сводятся различные варианты задачи синтеза минимальных функциональных схем из программируемых интегральных компонент, или ПЛИС, типа программируемые логические матрицы (ПЛМ) — Programmable Logic Arrays (PLA), программируемуе постоянные запоминающие устройства (ПЗУ) — Programmable Read Only Memory (PROM), программируемые матрицы логики (ПМЛ) — Programmable Array Logics (PAL), программируемые матрицы вентилей (ПМВ) — Programmable Gate Arrays (PGA) и в их оптимальном распределении по ячейкам компоновочного пространства, ограниченным по вместимости, числу выводов или элементному составу. Так, применительно к синтезу схем на базе ПЛИС в качестве элементов множества A обычно выступают ДНФ или расширенные АНФ булевых функций с такими параметрами, как номер ДНФ (или расширенной АНФ), множество букв в ней, число конъюнкций и т. п., а в качестве элементов множества B — ПЛИС заданного базиса с такими параметрами, как

число входов ПЛИС, число выходов ПЛИС, число промежуточных (горизонтальных) шин, число макроячеек и т. п. Значение f (С) характеризует сложность множества формул С, а отношение г — реализуемость подмножества формул конкретной ПЛИС, а именно: ПЛИС Ь реализует множество С, если f (С)гЬ.

Применительно же к компоновке схем в заданные ячейки в качестве элементов множества А обычно выступают элементы схемы с такими параметрами, как номер элемента в схеме, множество «окрасок» полюсов, число входов, оператор и т.п., а в качестве элементов множества В — заданные ячейки с такими параметрами, как вместимость ячейки, число ее внешних выводов, элементный состав и т. п. Функция f вычисляет размер подсхемы С, число ее внешних выводов, элементный состав и т. п., а отношение г — возможность компоновки этой подсхемы в ячейку Ь заданного конструктивного базиса В, если f (С)гЬ.

Среди возможных точных методов решения ЗКДР, таких, как метод полного перебора, метод ветвей и границ, метод прямого размещения, методы 0-1 программирования, выбран метод сокращенного обхода дерева поиска с возвращением (далее Т-метод) из [1]. Применительно к ЗКДР вершинам дерева поиска в этом методе сопоставляются подмножества У разбиваемого множества А, само множество А сопоставляется корню дерева, а пустое множество — его листьям. Ребрам дерева поиска сопоставляются допустимые подмножества множества А. Разность множеств, соответствующих концам ребра, приписывается ребру. Всякий путь от корня к листу сопоставлен допустимому разбиению множества А. Сокращенный обход дерева поиска представляет собой общий алгоритм поиска в глубину с возвращением и сохранением более короткого разбиения. Метод содержит средства сокращения поиска, которые являются параметрами метода: множество р быстродействующих алгоритмов, используемых для получения начального разбиения Д0, алгоритм ^ перечисления всех максимальных допустимых подмножеств в У С А, образующих множество <^(У), операция ф сокращения множества <^(У) и граничная функция ^0(У) отсечения поддеревьев с корнем в У без потери решения. Эти параметры служат для ускорения поиска какого-либо одного кратчайшего разбиения множества А.

Для решения конкретной ЗКДР Т-методом нужно подобрать подходящие значения параметров и подставить их в формулировку метода. Полученный в результате алгоритм и будет алгоритмом решения этой ЗКДР. Его эффективность определяется сокращающими способностями подобранных параметров, т. е. степенью близости начального разбиения Д0 к кратчайшему разбиению, степенью точности функции ^0 и степенью ветвления дерева с помощью композиции ф(^(У)).

Подобрать подходящие нетривиальные значения параметров Т-метода для ЗКДР с произвольными А, В, f и г представляется невозможным. Поэтому выделены два варианта ЗКДР: задача кратчайшего допустимого разбиения с монотонной допускающей функцией f — ЗКДР1 [2, 3] и задача кратчайшего допустимого разбиения с немонотонной двухкомпонентной допускающей функцией f — ЗКДР2 [4]. Именно к частным случаям этих вариантов ЗКДР сводятся все рассматриваемые задачи синтеза и компоновки схем на современной элементной и конструктивной базе.

В статье далее для каждой из задач ЗКДР1 и ЗКДР2 описываются необходимые параметры Т-метода, формулируются частные случаи, возникающие из приложений к синтезу и компоновке схем, — ЗКДР 3, 4 и ЗКДР 5, 6, 7 соответственно, и для каждого такого случая с учётом его специфики указываются параметры Т-метода, более эффективные, чем параметры для общего случая. Приводятся примеры задач синтеза и компоновки, которые сводятся к данным частным случаям ЗКДР1 и ЗКДР2 и,

следовательно, решаются теми же алгоритмами, что и сами частные случаи, к которым они сводимы. Приводятся также комбинаторные свойства рассматриваемых задач разбиения ЗКДР 3—7 и алгоритмов их решения Т-методом.

1. Задача о кратчайшем допустимом разбиении 1

1.1. Параметры Т-метода для ЗКДР1

Пусть в ЗКДР отношение г является отношением частичного порядка ^ на Е, и f — монотонная функция, т. е. УС, 5 Е _0(С С 5' ^ f (С) ^ f (5)). Всякое подмножество С С А является допустимым, если ЗЬ Е B(f (С) ^ Ь). ЗКДР1 ставится следующим образом: для заданных А, В, f и г найти кратчайшее допустимое разбиение Д.

Для разрешимости задачи требуется, чтобы каждое одноэлементное подмножество в А было допустимым, т. е. У а Е АЗЬ Е В^(а) ^ Ь). Элементы множества а Е А упорядочиваются и нумеруются по невозрастанию значений f ((а)). Предполагается, что введенный на А порядок сохраняется в любом У С X С А. Из В удаляется всякий элемент Ь, для которого ЗЬ' Е В(Ь ^ Ь') V Уа Е А(Ь ^ f ((а))), в результате получается неприводимое множество В' С В. Впредь считается, что множество В неприводимое, в котором элементы занумерованы числами 1,... , | В |. Через и обозначается мощность наибольшего допустимого подмножества в У С X С А. При перечисленных допущениях и условиях подходящие значения параметров Т-метода для ЗКДР1 определяются следующим образом.

Алгоритмы начального разбиения. Для получения начального разбиения Д0 множества А предлагаются быстродействующие алгоритмы р\ и р2, образующие в Т-методе множество р. Алгоритм р! строит разбиение К\ множества А последовательно класс за классом, набирая каждый новый класс из тех элементов, рассматриваемых в заданном порядке, которые не вошли в уже набранные классы. Формирование класса заканчивается, когда исчерпываются все элементы в А или когда добавление к нему любого элемента из остатка нарушает свойство допустимости этого класса. Алгоритм р2 строит разбиение Д2 множества А также последовательно, однако в отличие от р! каждый новый класс составляется из двух таких образуемых одно за другим допустимых подмножеств С и 5, объединение которых есть допустимое множество. Первое подмножество (С) набирается с начала множества А из подряд стоящих элементов с меньшими номерами, не вошедших в другие классы, а второе (5) — с конца множества А из подряд стоящих элементов с большими номерами, оставшихся после образования первого. Построение каждого подмножества может закончиться, когда исчерпаны все элементы в А. В противном случае построение С заканчивается, когда добавление к нему очередного элемента с начала множества А нарушает свойство допустимости этого подмножества, а построение 5 — когда добавление к нему очередного элемента с конца множества А нарушает свойство допустимости множества С и 5, т. е. всего класса. За Д0 принимается то из разбиений Дг, Д2, которое содержит меньше классов.

Алгоритм перечисления (<^) допустимых подмножеств. Для любого У С X = А и любого ai Е У через ^(г)(У) обозначается множество всех максимальных допустимых подмножеств в У, содержащих а^ и через А(^ С У — множество всех тех а& Е У, расположенных в порядке возрастания их номеров, для которых г = к и множество (а^а&) является допустимым. Алгоритм перечисления ^ составляют следующие четыре правила выделения некоторых максимальных допустимых подмножеств в У, применяемые в указанном порядке.

1) Если для некоторого допустимого C = {а*, a¿1,... ,a¿fc} Ç Y справедливо соотношение {а*, ail,... ,aifc } = A(i) U { а*}, то <^(Y) = {C} для а* с наименьшим i и указанным свойством.

2) Если для некоторых а*,а& G Y множество C = {а^а^} Ç Y есть максимальное допустимое множество и все подмножества H = (A(i)(Y) U A(k)(Y)) \ C являются допустимыми множествами, то <^(Y) = {C} для а* а с наименьшими i, k и указанными свойствами.

3) Если для некоторых различных а^а^ G Y и любых различных ар,ад G Y, таких, что ар G A(i)(Y), p = q, ад G A(k)(Y), q = i, множества C = {а^а^} и H = {ар,ад} допустимы и для любого трехэлементного подмножества S в Y, включающего ар или ад, справедливо условие 36 G B(f (S) ^ 6), то <^(Y) = {C} для а*, а^ с наименьшими i, к и указанными свойствами.

4) Во всех остальных случаях <^(Y) = ^(i)(Y) для некоторого а* G Y.

Такое множество <^(Y) может остаться после неудачного применения правил 2, 3, и тогда i есть либо i, либо к в этих правилах. Алгоритм построения этого множества <^(Y) строит множество ^(i)(Y) для заданного а* G Y в процессе направленного перебора по дереву аналогично алгоритму построения всех максимальных независимых (внутренне устойчивых) множеств в графе [5] и по существу представляет собой обобщение последнего на случай произвольной монотонной допускающей функции f.

Операция сокращения. Для определения операции сокращения (ф) на множестве всех подмножеств в Y Ç X = A вводится отношение предшествования a следующим образом. Пусть C = {а^,... ,а*р} Ç Y, S = {ак1,... ,акд} Ç Y, i2 < ... <ip, k2 < ... <kq. Тогда CaS ^

[p ^ q AVi G {1^ ..,q}(it ^ kt ^ VH Ç Y (а^4 G H ^ f (H \{а^4 }и{а^}) ^ f (H )))], (1)

V[|C| ^ |S| A C \ S = {а*} A T = (A(i)(Y) U S) \ C ^ VH Ç T(36 G B(f (H) ^ 6))], (2)

и результат применения операции ф к множеству Z Ç <^(Y) определяется как множество ^(Z) = ф2(ф1^)), где фl(Z) Ç Z есть множество, содержащее всякое такое множество S Ç Z, для которого в Z не существует множества C = S и CaS согласно (1), а ф2(ф1^)) Ç ф1^) есть множество, содержащее всякое такое множество S G ф^), для которого в ф^) не существует множества C = S и CaS согласно (2) или если такое множество C G ф1^) существует, то и SaC согласно (2). При этом C (либо S) не включается в ф^).

Граничная функция. Граничная функция F0 определяется формулой F0(Y) = = max(a, т), где a= |"|Y|/и] и т есть мощность некоторого подмножества попарно несовместимых элементов в Y, т. е. таких различных а, k G Y, для которых 36 G B (f ({а^}) ^ 6), определяемая с помощью следующего алгоритма.

Алгоритм т

1) C := Y, т:=0.

2) Если C = 0, то т — результат; в противном случае берем любой элемент а* G Y с наименьшим пересечением C П A(i). Полагаем C := C \ (A(i) U {а*}), т:=т+1 и повторяем п. 2 с начала.

В [2, 3] доказывается допустимость алгоритма перечисления и операции сокращения для ЗКДР1, т. е. доказывается достаточность множества ф(<^^)) для любого

Y Ç X = A.

Далее рассматриваются частные случаи ЗКДР1, имеющие прикладное значение. Они выделяются последовательной конкретизацией A, B, f и г, и для каждого из них

предлагаются значения параметров Т-метода, более эффективные, чем указанные для ЗКДР1.

1.2. Задача о кратчайшем допустимом разбиении 3 и синтез одноярусных схем в базисах ПЛИС Формулируется частный случай ЗКДР1, называемый ЗКДРЗ [6-8]. В этой задаче разбиваемым множеством является набор объектов I(I, M, N) с атрибутами I, M, N. Объект в этом наборе представляет собой кортеж < i, Mj, Ni >, где i — номер объекта, являющийся его идентификатором, Mj, N — конечные множества, i = 1,... ,m, m ^ 1. Допускающим множеством является набор объектов J ( J, U, V, W) с атрибутами J, U, V, W. Объект в этом наборе представляет кортеж < j, Uj, vj, Wj >, где j — номер объекта, являющийся его идентификатором, Uj, Vj, Wj — натуральные числа, j = 1,... ,n, n ^ 1. Для разрешимости задачи предполагается, что

Vi G I3j G J(1 ^ Uj Л |Mj| ^ Vj Л |Nj| ^ Wj). (3)

Для любого C Ç I вводятся обозначения O(C, M) = (JieC Mi,O(C, N) = (JieC Nj. Подмножество C Ç I называется допустимым, если

3j G J(|C| ^ Uj Л |O(C,M) ^ Vj Л |O(C,N)| ^ Wj). (4)

ЗКДРЗ ставится следующим образом: для заданных наборов объектов I(I, M, N), J (J, U, V, W ) найти кратчайшее допустимое разбиение R множества I.

Для решения этой задачи Т-методом конкретизируются параметры метода, данные выше для решения ЗКДР1. Предварительно для каждого i G I через sj обозначается число собственных, т. е. не принадлежащих другим множествам в M = {Mi,... ,Mm}, элементов множества Mj, и через ai обозначается число собственных, т. е. не принадлежащих другим множествам в N = {N1,...,Nm}, элементов множества Ni. На множестве кортежей < |Mj|,Sj, |Nj|,CTj >, i = 1,...,m, вводится лексикографический порядок ^, и объекты в I нумеруются в соответствии с этим порядком. Он сохраняется в любом Y Ç X Ç I. Из J удаляется всякий объект j, для которого 3k G J(uk ^ Uj V Vk ^ Vj V Wk ^ Wj), в результате получается неприводимый набор объектов J' Ç J. Впредь считается, что набор объектов J неприводимый, в нем вводится лексикографический порядок ^, и объекты в J нумеруются в соответствии с этим порядком.

Для получения начального разбиения R0 множества I используются алгоритмы р1 и р2 для ЗКДР1, в которых A = I, B = J и допустимость подмножеств в I трактуется согласно (4).

Алгоритм перечисления допустимых подмножеств совпадает с одноименным алгоритмом для ЗКДР1, в котором A = I, B = J и допустимость подмножеств в I трактуется согласно (4).

Для определения операции сокращения (ф) на множестве всех подмножеств в Y Ç X = A вводится отношение предшествования a следующим образом. Пусть C = {i1,... ,ip} Ç Y, S = {k1,... ,kq} Ç Y, i2 < ■ ■ ■ < ip, k2 < ... <kq. Тогда CaS ^

[p ^ q Л Vt G {1,... ,q}(it ^ k ^ |MkÉ - Mit I ^ Sj Л |Nfct - Njt | ^ a)], (5)

V[C\S = {к}ЛТ = (A(k)(Y)US)\C ^ 3j G J(|T| ^ UjЛ^Г^)| ^ VjЛ|0(Г, N)| ^ Wj)],

(6)

и результат применения операции ф к множеству Z Ç <^(Y) определяется как множество ^(Z) = ф2(ф1 (Z)), где Ф1 (Z) Ç Z есть множество, содержащее всякое такое

множество S С Z, для которого в Z не существует множества C = S и CaS согласно (5), а ^2(^i(Z)) С ^i(Z) есть множество, содержащее всякое такое множество S Е ^i(Z), для которого в ^i(Z) не существует множества C = S и CaS согласно (5) или если такое множество C Е ^i(Z) существует, то и SaC согласно (6). При этом C (либо S) не включается в ^(Z).

Граничная функция Fq определяется формулой Fq(Y) = max(fc,/,p, т), где

k = [|Y|/u„], l

|O(Y, M)|/ max Vj jeJ

|O(Y, N)|/ max Wj je J

и T есть мощность

p =

некоторого подмножества попарно несовместимых элементов в Y, определяемая с помощью алгоритма т.

Алгоритм решения ЗКДРЗ Т-методом с указанными параметрами является одновременно алгоритмом решения для всех сводимых к ней конкретных задач. В качестве примеров последних рассмотрим три задачи синтеза минимальных по числу элементов одноярусных схем некоторых типов в различных базисах ПЛИС.

В первой задаче требуется реализовать заданную систему D из m ^ 1 ДНФ (Di,... ,Dm} минимальной по числу элементов одноярусной комбинационной схемой, не допускающей объединения выходов своих элементов по схеме ИЛИ, в базисе ПЛМ (PLA) и ПЗУ (PROM) E = (PLA1(s1, t1, q1),... ,PLAp(sp, tp,qp),PROMp+1(sp+1,tp+1), ... ,PROMn(sn,in)}, где 0 ^ p ^ m. Иначе говоря, требуется разбить систему D на минимальное число подсистем, каждая из которых реализуема хотя бы одним элементом базиса E. Принимая систему D за набор объектов I, а базис E — за набор объектов J, т. е. принимая Di для i = 1,... ,m за объект < i, Mi, Ni >, где Mi есть множество букв в Di и Ni есть множество конъюнкций в Di, и принимая j-й элемент базиса E для j = 1,... ,n за объект < j, Uj, Vj, Wj >, где Uj = tj, Vj = Sj, Wj = qj для j = 1,... ,p и Uj = tj, Vj = Sj, Wj = 2sj для j = p + 1,... ,n, получаем ЗКДРЗ.

Во второй задаче требуется реализовать заданную систему D из m ^ 1 ДНФ (D1,... ,Dm} минимальной по числу элементов одноярусной комбинационной схемой, не допускающей объединения выходов своих элементов по схеме ИЛИ, в базисе E из m ^ 1 настраиваемых ПЛМ (PLA) E = (PLA1(z1, q1),... ,PLAn(zn, qn)}, где Zj — число двунаправленных шин, которые могут служить как входами, так и выходами, и qj — число промежуточных шин в PLAj (zj, qj) для j = 1,... ,n. Иначе говоря, требуется разбить систему D на минимальное число подсистем, каждая из которых реализуема хотя бы одним элементом базиса E. Принимая систему D за набор объектов I, а базис E — за набор объектов J, т. е. принимая Di для i = 1,... ,m за объект < i, Mi, Ni >, где Mi есть множество букв в Di, включающее наряду с буквами и номер i ДНФ Di, и Ni есть множество конъюнкций в Di, и принимая j-й элемент базиса E для j = 1,... ,n за объект < j, Uj, Vj, Wj >, где Uj = n, Vj = Zj, Wj = qj для j = 1,... ,p и Uj = tj, Vj = Sj, Wj = 2sj для j = p + 1,... ,n, получаем ЗКДРЗ.

В третьей задаче требуется реализовать заданную систему D из m ^ 1 ДНФ (D1,... ,Dm} минимальной по числу элементов одноярусной комбинационной схемой, допускающей объединения выходов своих элементов по схеме ИЛИ, в базисе ПЛМ (PLA) и ПМВ (pGA) E = (рLA1(s1, tl, ql),...,pLApi^ ^ qp), pGAp+l(sp+l, ^+1^..., PGAn(sn, tn)}, где 0 ^ p ^ n. Иначе говоря, требуется разбить множество K всех m различных конъюнкций системы D на минимальное число подмножеств, каждое из которых реализуется хотя бы одним элементом базиса E. Принимая множество K за набор объектов I, а базис E — за набор объектов J, т. е. принимая Ki для i = 1,... ,m за объект < i, , Ni >, где Mi есть множество букв в Ki и Ni есть множество ДНФ системы D, содержащих Ki, и принимая j-й элемент базиса E для j = 1,... ,n за объ-

ект < ;, м?, V?, >, где и? = ¿?, V? = 5?, и? = 5? для ; = 1,... ,р и м? = , V? = 5?,

и? = ¿? для ; = р + 1,... ,п, получаем ЗКДРЗ.

Кроме того, в ЗКДРЗ легко просматривается задача компоновки произвольной схемы из одногабаритных элементов, все полюсы которой объявлены внешними, в ячейки, различные по вместимости или по числу выводов.

Заметим, что условие (3), наложенное на наборы объектов I(I, М, N) и 3(7, и, V, Ш), является по существу условием разрешимости как самой ЗКДРЗ, так и всех сводимых к ней задач.

1.3. Задача о кратчайшем допустимом разбиении 4 и покрытие схем свободными модулями

Формулируется частный случай ЗКДР1, называемый ЗКДР4 [9, 10]. В этой задаче разбиваемым множеством является набор объектов I(I, Б) с атрибутами I, Б. Объект в этом наборе представляет кортеж < г,е^ >, где г — номер объекта, являющийся его идентификатором, е^ — элемент произвольной природы, г = 1,... ,т, т ^ 1. Допускающим множеством является набор объектов 3(3, и) с атрибутами 3, и. Объект в этом наборе представляет кортеж < ;, и? >, где ; — номер объекта, являющийся его идентификатором, и? — конечное семейство (множество не обязательно различных) элементов той же природы, что и элемент е^, ] = 1,... ,п, п ^ 1. Элементы е^ Е Б рассматриваются как одноэлементные подмножества некоторого множества Е или как одноэлементные семейства над Е, т. е. е^ = {е^} С Е, а семейства и? Е и — как произвольные конечные семейства над Е, элементы которых (в том числе и одинаковые) различаются их номерами. Предполагается, что на множестве Е задан частичный порядок, обозначаемый V, называемый отношением покрытия и распространяемый на множество Е всех семейств над Е следующим образом: для любых А, В Е Е говорят, что А покрывает В, или В покрывается А, если каждому элементу Ь Е В можно сопоставить взаимно однозначно элемент а Е А так, что aVЬ. В случае А = и? для некоторого ] Е 3 и В = е^ для некоторого г Е I пишется и?Vei и говорится, что и? покрывает е^, или что объект ; покрывается объектом г.

Для разрешимости задачи предполагается, что

Уг Е 1Э; Е 3(и?Vei), (7)

т. е. любой объект г в наборе I покрывается хотя бы одним объектом ; в наборе 3. Для любого С С I вводится обозначение О(С) = ие^. Подмножество С называется допустимым, если

Э; Е 3(и,VO(C)). (8)

В случае допустимого С С I говорят, что 0(С) покрывается и?, или С покрывается объектом ; Е 3.

ЗКДР4 ставится следующим образом: для заданных наборов объектов I(I, Б), 3(3, и) найти кратчайшее допустимое разбиение К множества I.

Данная задача является частным случаем ЗКДР1, где А = I(!,Б) С Е = = Е х Е2, В = 3(3, и) С Е = Е1 х Е2, и решается Т-методом как ЗКДР1 с подходящей конкретизацией одноименных параметров.

Предварительно объекты в I упорядочиваются и нумеруются так, что Уг,; Е I (г < к ^ (е^ Vе^ V е^ = е^)), где е^ = е& означает, что е^ и е& не сравнимы по отношению V, т. е. — (е^е?) Л — (е^е?). Введенный на I порядок, если это специально не оговаривается, сохраняется в любом У С X = I. Вводится в рассмотрение множество х = Е(Б) С Е всех элементов в Е, входящих в множество (семейство)

Б = {е1,...,ет}, и множество Е(и) С Е всех элементов в Е, входящих в множество (семейство) и = {и1,... ,ип}. На Е(и) определяется отношение частичного порядка

Vх следующим образом: aVxЬ, если для любого е Е Е из bVe следует aVe. Это отношение называется поглощением на х, и говорится, что а поглощает Ь на х, или Ь поглощается на х элементом а, если aVxЬ. Легко проверить, что если aVb, то aVxЬ для любого множества х С Е, т. е. aVb ^ aVxЬ. Для любых двух семейств и*, и? С и говорится, что и поглощает и? на х, или и? поглощается на х семейством и*, т. е. aVxЬ, если каждому элементу Ь С и? можно поставить во взаимно однозначное соответствие элемент a С и* так, что aVxЬ. Очевидно, что из и*VUj следует и*VxUj для любого множества х С Е, и и* Vхи? тогда и только тогда, когда для любого У С X из и? VУ следует и*VУ.

Из 3 удаляется всякий объект ;, для которого Эк Е 3(и*VxUj) V Уг Е I —(и?Vei), в результате получается неприводимый по х = Е(Б) набор объектов 3' С 3, в котором для любых двух различных семейств и, и? С и справедливо — (и*Vхи?) Л—и? Vхи. Впредь считается, что набор объектов 3 неприводимый, в нем объекты упорядочиваются по неубыванию | и? | и нумеруются в соответствии с этим порядком. Для заданного упорядоченного множества и = {1,... ,п}, любого упорядоченного множества У = {г1,... ,гр} С X = I и любых ; Е I, г* Е У определяется множество У (;, г*) С У при помощи следующего алгоритма:

1) А := 0, / := к - 1.

2) Если / = р, то п. 3; в противном случае / := / + 1, и если не и?VO(A и гг), то п. 2; в противном случае А := А и гг и п. 2.

3) У(;,г*):= А.

Индуктивно У (;, г*) определяется следующим образом: если А С У (;, г*) и гг есть наименьший номер в У \ А со свойством и?VO(A и гг), то гг Е У (;, г*).

По определению и? VO(У(;, г*)), т. е. У (;,г*) допустимо.

Начальное допустимое разбиение Ко множества X = I строится последовательно класс за классом по следующему правилу: если разность множества X и объединения уже построенных классов есть У = {г1,...,гр},тов качестве очередного класса в К0 берется подмножество в У наибольшей мощности среди подмножеств У (;, г) для ; = 1,... ,п и г = г1,... ,гр. Это правило принимается за алгоритм р1.

Алгоритм перечисления (<^) допустимых подмножеств. Для любого У С С X = I и любого г Е У через ^(г)(У) обозначается множество всех максимальных допустимых подмножеств в У, содержащих г, и через А(г) С У — множество всех тех к Е У, расположенных в порядке возрастания, для которых г = к и множество {г, к} является допустимым. Алгоритм перечисления ^ составляют следующие три правила выделения некоторых максимальных допустимых подмножеств в У, применяемые в указанном порядке.

1) Если для некоторого допустимого С = {г, г1,... ,г*} С У справедливо соотношение {г1,... ,г*} = А(г), то <^(У) = {С} для наименьшего такого г.

2) Если для некоторого допустимого С = {г, к} Е У справедливы соотношения

А(г) п А(*} = 0 ^ У/ Е А(г) П А^—Э; Е 3(и? VO({г, к, /})),

УН Е ^(г)(У)УС Е <^(У)(Н П С = 0^3; Е 3(и?V(O(Я \ {г}) и 0(С \ {к})))),

то <^(У) = {С} для наименьших г, к с указанными свойствами.

3) Во всех остальных случаях <^(У) = ^(г)(У) для некоторого г Е У.

Такое множество <^(У) может остаться после неудачного применения правила 2, и тогда г есть либо г, либо к в этом правиле. Алгоритм построения этого множества <^(У) совпадает с точностью до определения свойства допустимости с одноименным алгоритмом для ЗКДР1.

Операция сокращения. Имея в виду, что Е(и) есть множество всех элементов в Е, входящих в семейства множества и = {и1,... ,ип}, для любых А, В Е Е пишется А^В, если каждому элементу Ь С В можно поставить во взаимно однозначное соответствие элемент a С А так, что всякий элемент в Е(и), покрывающий a, покрывает и Ь. Очевидно, что если AVB, то А^В. Для определения операции сокращения (ф) на множестве всех подмножеств в У С X = I вводится отношение предшествования а следующим образом. Пусть С = {г1,...,гр} С У, Б = {к1,...,кд} С У, г2 < ... <гр, к2 < ... <кд. Тогда СаБ ^

[р ^ 5 ЛУ£ Е {1,... ,д}(г* ^ к* ^ е*4VeJ■t)], (9)

V[C \ Б = {г} Л УН Е <^(г)(У)(Б П Н = 0^3; Е 3(и?V(O(Б \ С) и 0(Н \{г}))))], (10)

и результат применения операции ф к множеству X С <^(У) определяется как множество ф(Х) = ф2(ф1(^)), где ф1(^) С X есть множество, содержащее всякое такое множество Б С X, для которого в X не существует множества С = Б и СаБ согласно (9), а ф2(ф1(Х)) С ф1(Х) есть множество, содержащее всякое такое множество Б Е ф1(Х), для которого в ф1(Х) не существует множества С = Б и СаБ согласно (10) или если такое множество С Е ф1(Х) существует, то и БаС согласно (10). При этом С (либо Б) не включается в ф(Х).

Граничная функция Р0 определяется формулой Р0(У) = тах(к,т), где к = = Г|У|/|и„Ц и т есть мощность некоторого подмножества попарно несовместимых элементов в У, определяемая с помощью алгоритма т.

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

К ЗКДР4 сводится следующая задача компоновки произвольной схемы в ячейки с заданным элементным составом — свободные модули. В ней рассматривается конструктивный базис Т из п ^ 1 ячеек, составленных из нескоммутированных элементов некоторых типов, и схема Б из т ^ 1 элементов в базисе элементов ячеек в Т. Требуется скомпоновать схему У в минимальное число ячеек базиса Т, т. е. разбить ее на минимальное число подсхем, каждая из которых может быть «набрана» из элементов некоторой ячейки в Т. Элементы схемы Б принимаются за объекты набора I(I, Б), а ячейки базиса Т — за объекты набора 3(3, М). Каждый элемент в Б и в ячейках базиса Т представляется кортежем вида < a1, a2,... ,ak >, где a1, a2,... ,ak имеют в зависимости от типа элемента и его принадлежности схеме Б либо ячейке в Т различный смысл. Например, a1,a2,... являются натуральными числами, задающими тип элемента, коэффициент разветвления выхода элемента, число входов элемента схемы (если элемент принадлежит ячейке), число задействованных переменными входов (если элемент принадлежит схеме) и др. Кортеж < a1,a2,... >,

представляющий элемент е, обозначается символом е. Пусть Е — множество всевозможных кортежей вида < a1, a2,... ,ak >. Отношение частичного порядка на Е, называемое отношением покрытия и обозначаемое V, определяется следующим образом: для любых е,е' Е Е говорим, что е покрывает е', или е' покрывается е, и пишем eVe', если a1 ^ a/1 Л a2 ^ a/1 Л ... Лak ^ a/fc. Это отношение распространяется на множество Е всех семейств над Е следующим образом: для любых А, В Е Е говорим, что А покрывает В, или В покрывается А, и пишем AVB, если каждому кортежу Ь Е В можно сопоставить взаимно однозначно кортеж a Е А так, что aVb. Это отношение

имеет следующий смысл: если eVe', то в любой схеме, содержащей е', элемент е' может быть заменен элементом е (возможно предварительно настроенным на е' путем отождествления некоторых его полюсов или подачи констант на некоторые его входы) так, что не нарушается правильность организации схемы и не изменяются реализуемые ею функции. Более того, если А, В Е Е представляют соответственно множество элементов некоторой ячейки в Т, множество элементов некоторой подсхемы в Б и AVB, то подсхема В может быть «набрана» из элементов в А, т. е. покрывается ячейкой А.

2. Задача о кратчайшем допустимом разбиении 2

2.1. Параметры Т-метода для ЗКДР2 Пусть в ЗКДР отношение г является отношением частичного порядка ^ на Е = Е1 х Е2, г = (г1,г2), где г1 — частичный порядок на Е1, г2 — частичный порядок на Е2, и Ь = (Ь1,Ь2), где Ь1 Е Е1, Ь2 Е Е2, f — немонотонная функция, которую

можно представить в виде f = (^,^), где Д — монотонная функция из Е в Е1, f2

— немонотонная функция из Е в Е2. Считается, что всякое подмножество С С А является допустимым тогда и только тогда, когда ЭЬ Е В(^(С)^^) Л (^(С)г2Ь2), и В1-допустимым (монотонно допустимым), когда ЭЬ Е В(^(С)^^), где В1 — первая проекция множества В. При этом каждое допустимое С С А является подмножеством некоторого В1 -допустимого Б С А. ЗКДР2 ставится следующим образом: для заданных А, В, f и г найти кратчайшее допустимое разбиение К.

Для разрешимости задачи требуется, чтобы каждое одноэлементное подмножество в А было допустимым, т. е. Уa Е АЭЬ Е В^^} ^ Ь). Элементы множества a Е А упорядочиваются и нумеруются по невозрастанию значений ^(^}). Предполагается, что введенный на А порядок сохраняется в любом У С X С А. Из В удаляется всякий элемент Ь, для которого ЭЬ' Е В(Ь ^ Ь') V Уa Е А(Ь ^ f (^})), в результате получается неприводимое множество В' С В. Впредь считается, что множество В неприводимое, в нем элементы занумерованы числами 1,... ,|В|. Через и обозаначается верхняя оценка мощности наибольшего допустимого подмножества в У С X С А.

Алгоритм начального разбиения. Для получения начального разбиения К0 корректируется приближенный быстродействующий алгоритм р1 следующим образом. Всякий раз в построенном классе (монотонно допустимом подмножестве) выделяется наибольшее допустимое подмножество путем отбрасывания некоторых элементов с большими номерами. Выделенное таким способом подмножество образует класс начального разбиения К0. Непустота этого класса гарантируется допустимостью каждого одноэлементного подмножества в А.

Алгоритм перечисления (<^) допустимых подмножеств. Для любого У С X = А и любого ai Е У через ^(г)(У) обозначается множество всех допустимых подмножеств в У, содержащих ai, и через А(г) С У — множество всех тех ak Е У, расположенных в порядке возрастания их номеров, для которых г = к и {ai,ak} есть В1-допустимое множество. Алгоритм перечисления ^ составляют следующие три правила выделения некоторых допустимых подмножеств в У, применяемые в указанном порядке.

1) Если для некоторых ai,ak Е У множество С = {ai,ak} С У есть максимальное допустимое множество и все подмножества Н = (А(г)(У) и А(Й)(У)) \ С являются допустимыми множествами, то <^(У) = {С} для ai,ak с наименьшими г, к и указанными свойствами.

2) Если для некоторых различных ai,ak Е У и любых различных ap,aq Е У, таких, что ap Е А^(У), р = 5, aq Е А(Й)(У), q = г, множества С = {ai,ak} и Н = {ap,aq}

допустимы и для любого трехэлементного подмножества S в Y, включающего ap или aq, справедливо условие 36 = (61,62) G B(/1 (S)ri6i), то <^(Y) = {C} для ai; ak с наименьшими i, k и указанными свойствами.

3) Во всех остальных случаях <^(Y) = ^(i)(Y) для некоторого a¿ G Y.

Алгоритм построения этого множества является результатом корректировки одноименного алгоритма построения всех максимальных монотонно допустимых подмножеств в Y.

Операция сокращения. Для определения операции сокращения (ф) на множестве всех подмножеств в Y С X = A вводится отношение предшествования a следующим образом. Пусть C, S С Y. Тогда CaS ^ [C \ S = {a¿} Л T = (A(i)(Y) U S) \ C ^ VH С T(36 G B(/(H) ^ 6))] и результат применения операции ф к множеству Z С <^(Y) определяется как множество ф^), содержащее всякое такое множество S С Z, для которого в Z не существует множества C, предшествующего множеству S, т. е. CaS или если такое множество C G Z существует, то и SaC. При этом C (либо S) не включается в ф^).

Граничная функция. Граничная функция F0 определяется формулой F0(Y) = = max(a,r), где a= |"|Y|/и] и т есть мощность некоторого подмножества попарно несовместимых элементов в Y, т. е. таких различных a,k G Y, для которых 36 G B (/({a,k}) ^ 6), определяемая с помощью алгоритма т. В [4] доказывается допустимость алгоритма перечисления и операции сокращения для ЗКДР2, т. е. доказывается достаточность множества ф(<^^)) для любого Y С X = A.

Далее рассматриваются ЗКДР 5, 6, 7 — частные случаи ЗКДР2 и сводимые к ним задачи синтеза и компоновки схем. Частные случаи выделяются последовательной конкретизацией A, B, / и r. Для каждого из них предлагаются параметры Т-метода, более эффективные, чем указанные выше для ЗКДР2.

2.2. Задача о кратчайшем допустимом разбиении 5 и синтез одноярусных схем в базисе п р о г р а м м и р у е м ы х ф у н к ц и о н а л ь н ы х б л о к о в Формулируется частный случай ЗКДР2, называемый ЗКДР5 [11]. В этой задаче разбиваемым множеством является набор объектов I(I, M, N) с атрибутами I, M, N. Объект в этом наборе представляет кортеж < i,Mi,Ni >, где i — номер объекта, являющийся его идентификатором, M¿, N¿ — конечные множества натуральных чисел, i = 1,... ,m, m ^ 1. Допускающим множеством является набор объектов J(J, U, V, W) с атрибутами J, U, V, W. Объект в этом наборе представляет кортеж < j,Uj, v, , w, >, где j — номер объекта, являющийся его идентификатором, и,, vj, w, — натуральные числа, j = 1,... ,n, n ^ 1.

Для разрешимости задачи предполагается, что

Vi G I3j G J(1 ^ Uj Л |Mj| ^ Vj Л |Nj| ^ Wj). (11)

Для любого C С I вводятся обозначения O(C, M) = (JieC Mi, O(C, N) = Uiec Ni. Подмножество C С I называется допустимым, если

3j G J(|C| ^ и,- Л |O(C, M) \ C| ^ Vj Л |O(C, N)| ^ Wj). (12)

ЗКДР5 ставится следующим образом: для заданных наборов объектов I (I, M, N), J (J, U, V, W) найти кратчайшее допустимое разбиение R множества I. Эта задача является частным случаем ЗКДР2, где A = I (I, M, N) С D = D1 х D2 х D3,

B = J(J, U, V, W) С Е = Е1 х Е2 х Е3 х Е4, /1 — монотонная функция из D в Е2 х E4, /2 — немонотонная функция из D в Е3, такие, что /1(C) =< |C|, |O(C, N)| >, /2(C) = |O(C, M) \ C| для любого C С I.

Параметры Т-метода для ЗКДР5 вводятся путём конкретизации параметров метода для ЗКДР2. Предварительно для каждого i Е I через si обозначается число собственных элементов множества Mi и через Oi обозначается число собственных элементов множества Ni. На множестве кортежей < |Mi|,si, |Ni|,ai >, i = 1,... ,m, вводится лексикографический порядок ^, и объекты в I нумеруются в соответствии с этим порядком. Он сохраняется в любом Y С X С I. Из J удаляется всякий объект j, для которого 3k Е J(uk ^ Uj V Vk ^ Vj V Wk ^ Wj), в результате получается неприводимый набор объектов J' С J. Впредь считается, что набор объектов J неприводимый, в нем вводится лексикографический порядок ^, и объекты в J нумеруются в соответствии с этим порядком. Через J1 обозначается проекция множества J (J, U, V, W) С Е = Е1 х Е2 х Е3 х Е4 на Е1 х Е2 х Е4. Подмножество C С I называется J1-допустимым, если 3j Е J(|C| ^ Uj Л |O(C, N)| ^ Wj).

Для получения начального разбиения R0 используется одноименный алгоритм для ЗКДР2 с учетом вида функций /1 и /2. Алгоритм перечисления допустимых подмножеств совпадает с одноименным алгоритмом для ЗКДР2, в котором A = I, B = J и допустимость подмножеств в I трактуется согласно (12).

Операция сокращения. Для определения операции сокращения (ф) на множестве всех подмножеств в Y С X = A вводится отношение предшествования а следующим образом. Пусть C = {a»i,... ,а»р} С Y, S = {aki,... ,«kq} С Y, i2 < ... <ip, k2 < ... <kq. Тогда CaS ^

[p ^ q Л Vi Е {1,... ,q}(it ^ kt ^ |Mkt - Mit | ^ Si Л N - Nit | ^ Oi)], (13)

V [C \ S = {k} Л T = (A(k)(Y) U S) \ C ^ VH С T(3j Е J(|H| ^ UjЛ

Л |O(H,M)| ^ Vj Л |O(H,N)| ^ Wj))], (14)

и результат применения операции ф к множеству Z С <^(Y) определяется как множество ^(Z) = ф2(ф1(Z)), где ф1^) С Z есть множество, содержащее всякое такое множество S С Z, для которого в Z не существует множества C = S и CaS согласно (13), а ф2(ф1^)) С ф1^) есть множество, содержащее всякое такое множество S Е ф^), для которого в ф^) не существует множества C = S и CaS согласно (14) или если такое множество C Е ф1^) существует, то и SaC согласно (14). При этом C (либо S) не включается в ф^). Операция ф2(ф1^)), выраженная формулой (14), является конкретизацией операции сокращения для ЗКДР2, а операция ф1^), выраженная формулой (13), отражает дополнительную возможность сокращения дерева поиска.

Граничная функция F0 определяется формулой F0(Y) = max(k,l,o, т), где

O=

|O(Y, N)|/ max Wj jeJ

l

|O(Y,M) \ Y|/max Vj jeJ

k = |"|Y|/un] и т есть мощность

некоторого подмножества попарно несовместимых элементов в У, определяемая с помощью алгоритма т.

Пусть Р = {Р\,... ,р., Рк+1,... ,Рт} — система из т ^ 1 формул, где каждая формула является ДНФ или расширенной АНФ булевой функции, и первые к ^ 1 формул представляют функции возбуждения триггеров, а последние (т — к) ^ 1 формул — комбинационные функции синтезируемой схемы. Формулируется сводимая к ЗКДР5

задача синтеза минимальной по числу элементов одноярусной схемы в базисе программируемых функциональных блоков, а именно: требуется разбить заданную систему F на минимальное число подсистем, каждая из которых реализуется хотя бы одним блоком заданного базиса. Базис синтеза состоит из программируемых функциональных блоков B = {Bi(si, íi, qi),... ,Bn(sn, ín, qn)}, где блок Bj(sj, íj,qj) имеет Sj входов, íj выходов и qj горизонтальных шин в своей матрице И, допускает замыкание обратных связей внутри блока, и все триггеры всех блоков одинаковы.

Под программируемым функциональным блоком понимается всякое PAL-подобное логическое устройство с s входами, í выходами, имеющее в своей структуре программируемую матрицу И с q горизонтальными шинами, допускающее внутреннее замыкание обратных связей через одинаковые триггеры с одним входом и способное реализовать систему формул, каждая из которых является ДНФ или расширенной АНФ булевой функции при условии, что число формул в системе не больше í, общее число термов в этих формулах не превышает q, и общее число переменных в термах (за исключением внутренних переменных), представленных данными формулами, не превышает s. При подсчете числа переменных в формулах переменная и ее инверсия не различаются из-за парафазности вертикальных шин матрицы И блока. Исключение внутренних переменных из числа всех переменных в термах этих формул обеспечивается возможностью замыкания обратных связей внутри блока.

Пусть множество конъюнкций системы F пронумеровано числами 1, 2,..., входные переменные xi,... ,x перенумерованы числами m +1,... ,m+/, внутренние переменные z1,... ,Zk занумерованы в F соответственно формулам Fi,... ,F&. За набор объектов I принимается система F, а за набор объектов J — базис B, т. е., принимая Fi для i = 1,... ,m за объект < i, M¿, N >, где M¿ есть множество букв в Fi и N есть множество конъюнкций в F¿, и принимая j-й элемент базиса B для j = 1,... ,n за объект < j, Uj, Vj, Wj >, где Uj = íj, Vj = Sj, Wj = qj для j = 1,... ,n, получаем ЗКДР5.

2.3. Задача о кратчайшем допустимом разбиении 6 и синтез одноярусной схемы в базисе однородных PAL с универсальными макроячейками Формулируется частный случай ЗКДР2, называемый ЗКДР6 [12, 13]. В этой задаче разбиваемым множеством является набор объектов I (I, M, N) с атрибутами I, M, N. Объект в этом наборе представляет кортеж < i, M¿, Ni >, где i — номер объекта, являющийся его идентификатором, Mi — конечное множество, Ni — натуральное число, i = 1,... ,m, m ^ 1. Допускающим множеством является набор объектов J (J, U, V, W) с атрибутами J, U, V, W. Объект в этом наборе представляет кортеж < j,Uj , vj , Wj >, где j — номер объекта, являющийся его идентификатором, Uj, vj, Wj — натуральные числа, j = 1,... ,n, n ^ 1. Для разрешимости задачи предполагается, что

Vi Є 13j є J(1 ^ Uj Л |Mi| ^ Vj Л Ni ^ Wj). (15)

Для любого C С I вводятся обозначения O(C, M) = (JieC Mi,h(C) = max Ni. Фиксируется некоторое множество L С O (I, M), и подмножество C С I называется допустимым, если

3j є J(|C| ^ Uj Л|0(С,М) П (L U O(I \ C,M))| ^ Vj Л h(C) ^ Wj). (16)

ЗКДР6 ставится следующим образом: для заданных наборов объектов I (I, M, N), J (J, U, V, W) найти кратчайшее допустимое разбиение R множества I. Данная задача является частным случаем ЗКДР2, где A = I (I, M, N) С D = Di х D2 х D3,

B = J (J, U, V, W) С E = E1 х E2 х E3 х E4, /1 — монотонная функция из D в Е2 х E4, /2 — немонотонная функция из D в E3, такие, что /1(C) =< |C|,h(C) >, /2(C) = |O(C, M) n (L U O(I \ C, M))| для любого фиксированного L С O(I, M).

Подходящие значения параметров р, <^, ф, F0 Т-метода для ЗКДР6 являются конкретизацией одноименных параметров для ЗКДР2, учитывающей вид функций /1 и /2.

Формулируется сводимая к ЗКДР6 задача синтеза минимальной по числу элементов схемы в базисе так называемых однородных PAL с универсальными макроячейками, а именно: требуется разбить заданную систему D из m ^ 1 ДНФ {D1,... ,Dm} структурных функций выходов (x1,. .. ,x ,z1,. .. ,Zfc) и функций возбуждения триггеров /s(x1,... ,xl,z1,... ,zk), r = 1,... ,t, s = 1,... ,k, k ^ 0, t + k = m, представляющую собой оператор некоторого цифрового устройства с входными переменными x1,... ,x, внутренними переменными z1, . . . ,Zfc, выходными переменными у1 = ^1, .. . ,yt = и с множеством внешних переменных C = {x1, . . . ,Xi, y1, . . . ,yt} U B, где B С {z1, . . . ,Zfc}, на минимальное число подсистем, каждая из которых реализуется хотя бы на одной PAL заданного базиса E из n ^ 1 однородных PAL с универсальными макроячейками.

В однородной PAL(s,p, q) с универсальными макроячейками s — число входов, p — число выходов, равное числу ее макроячеек, и q — число горизонтальных шин одной макроячейки. Макроячейка состоит из программируемой пользователем матрицы И, образованной пересечением s входных, p выходных шин и p шин обратных связей PAL с q горизонтальными шинами макроячейки, отдельного элемента ИЛИ, объединяющего q выходов матрицы И, триггера, подключенного к выходу элемента ИЛИ, и переключателя, позволяющего обходить этот триггер. Выход каждой макроячейки образует шину обратной связи, которая пересекает все горизонтальные шины всех p макроячеек и через еще один переключатель может быть подключена к выходу PAL(s,p, q). Каждый выход PAL(s,p, q), не подключенный с помощью переключателя к шине обратной связи, может быть использован как вход этой PAL(s,p,q). Все триггеры и все макроячейки PAL(s,p, q) одинаковы, а все ее вертикальные шины парафазны. Таким образом, любой макроячейкой в составе PAL(s,p, q) может быть тривиально реализована любая ДНФ системы D, содержащая не более q конъюнкций и не более s + p — 5 букв, где 5 = 0, если ДНФ представляет функцию возбуждения и содержит внутреннюю переменную Zj или ее отрицание, иначе 5 =1. При этом в ДНФ буква и ее инверсия не различаются, триггер на выходе макроячейки задействуется для получения структурной функции переходов, если ДНФ представляет функцию возбуждения, иначе — обходится, выражение s + p — 1 означает, что один из выходов PAL(s,p, q) резервируется для вывода функции, получаемой на выходе макроячейки.

Предполагается, что номер i каждой ДНФ D¿ G D совпадает с номером представляемой ею функции и каждая ДНФ D¿ G D может быть реализована макроячейкой в составе хотя бы одной PAL(s,p,q) базиса E, т. е. число букв любой ДНФ в D не превосходит величины s + p — 5, а число конъюнкций — величины q хотя бы одной PAL(s,p, q) базиса E. Функции , /s и их переменные x1,... ,x¿, z1,... ,Zk перенумерованы согласно подстановке

/<^1, ..., <Pt, /1, ..., /k, X1, ..., x, Z1, ..., zfc

\ . . . , У^+Ъ . . . , Уг+fc, Хт,+ Ъ . . . , xm+l, ^4+Ъ . . . , zí+fc

где m = t + k. За набор объектов I принимается система D, а за набор объектов J

— базис E, т. е. за объект < i, M¿, N¿ > принимается D¿ для i = 1,... ,m, где M¿ есть множество номеров всех букв в D¿, включая номер i, и N¿ есть число всех конъюнкций в D¿, и за объект < j, и,,v,, w, > принимается PAL(s,, p,,qj) G E, где и, = p,,

у = 3- + р-, и- = д-, и при С = {1,... ,£, т + 1,... ,т + /} и В, где В С {£ + 1,... ,£ + к}, получаем ЗКДР6.

2.4. Задача о кратчайшем допустимом разбиении 7 и компоновка схем в ячейки, ограниченные п о в м е с т и м о с т и и л и п о ч и с л у в ы в о д о в Формулируется частный случай ЗКДР2, называемый ЗКДР7 [14]. В этой задаче разбиваемым множеством является набор объектов I(I, М, N) с атрибутами I, М, N. Объект в этом наборе представляет кортеж < г, Мг, N >, где г — номер объекта, являющийся его идентификатором, Мг — конечное множество, N — натуральное число, г = 1,...,т, т ^ 1. Допускающим множеством является набор объектов 3 (3, V, Ш) с атрибутами 3, V, Ш. Объект в этом наборе представляет кортеж < ^',у- , и- >, где ] — номер объекта, являющийся его идентификатором, у-, и- — натуральные числа, ] = 1,... ,п, п ^ 1. Для разрешимости задачи предполагается, что

V* € 13^' е 3(|Мг| ^ у Л N1 ^ и-). (17)

Для любого С С I вводятся обозначения О (С, М) = у геС Мг, ВД = Ег£С N2. Фиксируется некоторое множество Ь С О(^ М), и подмножество С С I называется допустимым, если

3^ е 3(|О(С,М) П (Ь и \ С, М))| ^ у Л й(С) ^ и-). (18)

ЗКДР7 ставится следующим образом: для заданных наборов объектов I(I, М, N), 3 (3, V, Ш) найти кратчайшее допустимое разбиение Д множества I. Данная задача является частным случаем ЗКДР2, где А = I(I, М, N) С Д = Д1 х Д2 х Д3, В = 3 (3, V, Ш) С Е = Е1 х Е2 х Е3, /1 — монотонная функция из Д в Е3, /2 — немонотонная функция из Д в Е2, такие, что /1 (С) =< Л-(С) >, /2(С) = |О(С, М) П П(Ь и \ С, М))| для любого фиксированного Ь С О(!,М). Подходящие значения

параметров р, <^, ^, Р метода для ЗКДР7 являются конкретизацией одноименных параметров для ЗКДР2, учитывающей вид функций /1 и /2.

Формулируется сводимая к ЗКДР7 задача компоновки произвольной схемы в минимальное количество ячеек, ограниченных по вместимости или числу выводов. В ней рассматривается схема Б из т ^ 1 элементов, множество С ее внешних полюсов и конструктивный базис Т из п ^ 1 ячеек, различных по вместимости или по числу выводов. Предполагается, что каждый элемент ег(Мг,^) схемы Б характеризуется номером г, множеством Мг «окрасок» его полюсов и размером N2, где N — натуральное число, а каждая ячейка (у- , и-) базиса Т — номером ], числом выводов у- и вместимостью и-, где V-, и- — натуральные числа. Кроме того, предполагается, что каждый элемент ег(Мг,^) схемы Б в отдельности может быть скомпонован хотя бы в одной ячейке базиса Т, т. е. |Мг| ^ у Л N ^ и-. В этом случае схема Б однозначно определяется множеством Б всех своих элементов и множеством С всех своих внешних полюсов, а задача компоновки может быть сформулирована как задача разбиения схемы (множества Б) на минимальное число подсхем (подмножеств), реализуемых ячейками базиса Т. При этом подсхема считается реализуемой некоторой одной ячейкой базиса Т, если число внешних контактов подсхемы и сумма размеров ее элементов не превышают числа выводов и вместимости этой ячейки соответственно. Внешними контактами подсхемы считаются «окраски» полюсов ее элементов, содержащиеся в С или среди окрасок полюсов элементов других подсхем, а условие компоновки каждого элемента схемы Б в некоторой ячейке базиса Т, т. е. соотношение |Мг | ^ у- Л N ^ и-, является

необходимым и достаточным условием разрешимости задачи компоновки, если С содержит «окраски» внешних полюсов всех элементов схемы Б (все полюсы схемы Б), иначе — только достаточным.

3. Комбинаторные свойства задач разбиения и алгоритмов их решения

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

Теорема 1 [15, 16]. ЗКДР 3-7 являются NP-трудными в сильном смысле.

Теорема доказывается методом сужения. При этом для ЗКДРЗ, ЗКДР5, ЗКДР6, ЗКДР7 в доказательстве в качестве известной NP-полной задачи используется задача УПАКОВКА В КОНТЕЙНЕРЫ, а для ЗКДР4 — ^-полная задача МИНИМАЛЬНОЕ ПОКРЫТИЕ.

Теорема 2 [15]. Если для заданных I(I, М, N), 3(3, и, V, Ш) в ЗКДРЗ любое трехэлементное множество недопустимо, то задача разрешима за полиномиальное время с помощью алгоритма сложности О(п4).

Теорема 3 [15]. Если для заданных I(I, М, N), 3(3, и, V, Ш) в ЗКДРЗ множество А(г) и { аг} допустимо для г = 1,... ,т, то задача разрешима за полиномиальное время с помощью алгоритма сложности О(п2).

ЗКДРЗ с конкретными наборами объектов I(I, М, N), 3(3, и, V, Ш) называется индивидуальной задачей Ь.

Теорема 4 [17]. Для любой индивидуальной задачи Ь имеют место неравенства

|Д1(Ь)| ^ |ДОРТ(Ь)| ' |~(и + 1)/2] , |Д2(Ь)| ^ (|ДОРТ(£)| — 1) ■ и + 1 где дорт(Ь) и Д1 (Ь) Д2(Ь) — соответственно кратчайшее разбиение и разбиения, построенные алгоритмами р1, р2, все — для индивидуальной задачи Ь. Эти оценки достижимы.

ЛИТЕРАТУРА

1. Агибалов Г. П., Беляев В. А. Технология решения комбинаторно-логических задач методом сокращенного обхода дерева поиска. Томск: Изд-во Том. ун-та, 1981. 125 с.

2. Оранов А. М. Алгоритм построения кратчайших монотонно допустимых разбиений конечных множеств // Автоматизация проектирования дискретных систем: Материалы второй Междунар. конф. (12-14 ноября 1997 года, г. Минск). Минск: Институт технической кибернетики НАН Беларуси, 1997. Т. 3. С. 228-231.

3. Андреева Л. Н., Оранов А. М. Модифицированный алгоритм построения кратчайших монотонно допустимых разбиений конечных множеств // Автоматизация проектирования дискретных систем: Материалы четвертой Междунар. науч.-технич. конф. (14-16 ноября 2001 года, г. Минск). Минск: Институт технической кибернетики НАН Беларуси, 2001. Т. 3. С. 150-157.

4. Андреева Л. Н., Оранов А. М. Алгоритмы построения кратчайших немонотонно допустимых разбиений конечных множеств // Вестник Томского госуниверситета. Приложение. 2003. №6. С. 188-192.

5. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978. 432 с.

6. Оранов А. М., Андреева Л. Н. Алгоритм минимального разбиения системы множеств // Автоматика и вычислительная техника. 1992. №2. С. 37-44.

7. Оранов А. М., Андреева Л. Н. Алгоритм синтеза и компоновки одноярусных схем в некоторых базисах // Автоматика и вычислительная техника. 1992. №5. С. 57-63.

8. Оранов А. М., Андреева Л. Н. Алгоритм минимального разбиения некоторого набора объектов // Автоматика и вычислительная техника. 1993. №2. С. 27-35.

9. Агибалов Г. П., Оранов А. М. Алгоритмы покрытия схем свободными модулями // Автоматика и вычислительная техника. 1977. №4. С. 15-16.

10. Агибалов Г. П., Оранов А. М. Покрытие логических схем модулями некоторых серийных систем // Кибернетика. 1986. №2. С. 34-38.

11. Оранов А. М. Алгоритм синтеза дискретных схем в базисе программируемых функциональных блоков // Вестник Томского госуниверситета. Приложение. 2004. №9. С. 240-244.

12. Оранов А. М. К синтезу комбинационных схем в базисе ПЛИС // Автоматика и вычислительная техника. 1996. №1. С. 27-35

13. Оранов А. М. Алгоритм синтеза цифровых схем в базисе неоднородных ПМЛ // Моделирование интеллектуальных процессов проектирования и производства: Материалы Междунар. науч.-технич. конф. (10-12 ноября 1998 года, г. Минск). Минск: Институт технической кибернетики НАН Беларуси, 1998. С. 214-215.

14. Оранов А. М. Метод построения дискретных схем на базе комплексных программируемых логических устройств // Вестник Томского госуниверситета. Приложение. 2002. №1(11). С. 102-107.

15. Андреева Л. Н., Оранов А. М. О сложности некоторых задач разбиения // Изв. РАН. Теория и системы управления. 1997. №2. С. 114-116.

16. Оранов А. М. О сложности задачи кратчайшего допустимого разбиения // Всесибирские чтения по математике и механике: Материалы Междунар. конф. Томск: Изд-во Том. ун-та, 1997. Т. 1. Математика. С. 161-162.

17. Андреева Л. Н., Оранов А. М. Оценки погрешности двух приближенных алгоритмов разбиения // Изв. РАН. Теория и системы управления. 1999. №1. С. 89-93.

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