УДК 519.714.1
В. В. Жуков1
АСИМПТОТИЧЕСКИ НАИЛУЧШИЙ МЕТОД СИНТЕЗА БУЛЕВЫХ РЕКУРСИВНЫХ СХЕМ ОГРАНИЧЕННОЙ ГЛУБИНЫ
В работе рассматривается модель рекурсивных схем ограниченной глубины, реализующих функции алгебры логики (булевы функции) и построенных из многовыходных функциональных элементов. Представлен вывод нижней оценки функции Шеннона для сложности схем из данного класса. Получены верхние оценки сложности реализации в этом классе схем некоторых конкретных функций и систем функций. Предложен метод синтеза схем из рассматриваемого класса для произвольных функций, позволяющий (с учетом полученной нижней оценки) установить асимптотику функции Шеннона для их сложности.
Ключевые слова: рекурсивные схемы из функциональных элементов, сложность булевых функций, функция Шеннона, асимптотические оценки.
1. Введение. Задача синтеза, которая впервые была рассмотрена Шенноном, состоит в построении оптимального метода синтеза схем из определенного класса для произвольной функции или системы функций. Для оценки оптимальности метода вводится функция Шеннона, которая для заданного п равна максимальной сложности булевой функции от п переменных. Под сложностью обычно понимается число элементов в схеме или их суммарный вес. Также можно определять функцию Шеннона для задержки.
О. Б. Лупановым [1] был предложен асимптотически наилучший метод синтеза схем в произвольных полных конечных базисах. А именно, асимптотика функции Шеннона для схем из функциональных элементов в стандартном базисе равна 2п/п, а в произвольном базисе Б — рв ■ 2п/п, где рв — константа, зависящая от базиса. В работе [2] описан метод синтеза схем из блоков — многовыходных функциональных элементов.
В [3] рассмотрена модель рекурсивных схем из функциональных элементов и получена асимптотика функции Шеннона для данного класса схем при неограниченной глубине рекурсии. Этот результат справедлив как для скалярных рекурсивных схем, при построении которых используются только одновыходные функциональные элементы, так и для схем, построенных из многовыходных элементов. В работе [4] получены верхняя и нижняя оценки функции Шеннона для скалярных рекурсивных схем с ограничением на глубину рекурсии.
В данной статье предложен метод синтеза рекурсивных схем ограниченной глубины, построенных из многовыходных функциональных элементов. На основе этого метода получена асимптотика функции Шеннона для данного класса схем.
2. Постановка задачи и формулировка полученных результатов. Определим рекурсивную схему S из функциональных элементов РСФЭ общего вида ограниченной глубины г в стандартном базисе Б0 = (функциональные элементы еу,еА,е-, реализуют функции V,A, соответственно) как последовательность схем из функциональных элементов (СФЭ) Si,...,Sr, такую, что [3]:
1) схема Si — это СФЭ в базисе Б0 с входами х\,..., x}tl и выходами ..., у}П1, реализующая систему функций fl(x{,..., х^),... ...
2) для любого г = 2,...,г схема Ej — это СФЭ в базисе Б0 U реализующая систему функций /{( хгп.), где (pi-1 — это функциональный элемент с входами иго;_1 выходами, реализующий систему функций
fi- 1(Ti~1 ^ р-1 (V"1 ^
J 1 V^l ) ' ' 1 I^Dj-l/' 1 ! JJBi-П 1 ' ' ' ' ' П(-1 ''
т.е. систему функций, которую реализует схема £¿-1.
1 Факультет ВМК МГУ, студ., e-mail: zhvvll7Qgmail.com
Полученная РСФЭ Е реализует ту же систему функций, что и последняя схема Ег последовательности £¡1,..., Ег.
Сложность РСФЭ I! глубины г, задаваемой последовательностью СФЭ .....Ег. определяется
следующим образом: 1Л(Е) = Ь(Е 1) + ... + Ь(ЕГ). Сложностью функции Ьг(/(х 1,..., хп)) в классе РСФЭ глубины г назовем минимальную сложность РСФЭ, реализующей функцию /(х\,..., х„). Также определим функцию Шеннона Ьг(п) в классе РСФЭ глубины г как максимальную сложность функции от п переменных.
В [4] рассмотрен класс скалярных РСФЭ ограниченной глубины г = 2, т. е. таких, у которых каждая последовательности .....Е(. имеет только один выход. Представлены следующие
двухсторонние оценки функции Шеннона Ь2(п) данного класса управляющих систем:
В [3] показано, что функция Шеннона Ь(п) для класса рекурсивных схем из функциональных элементов при отсутствии ограничений на глубину рекурсии асимптотически равна* Зп/к^З.
Основной результат статьи заключается в том, что функция Шеннона Ьг(п) для класса РСФЭ 'Ef глубины г удовлетворяет следующему асимптотическому равенству**:
3. Построение вспомогательных схем. Обозначим через множество всех булевых
функций от п переменных и через В" булев куб размерности п. Для построения РСФЭ, реализующей заданную функцию алгебры логики /(х\,... ,хп) € -Рг(и), нам понадобится несколько вспомогательных схем. В данном пункте будет описан способ их построения, а также оценена их сложность. Сделаем два замечания к определению рекурсивной схемы.
Замечание 1. Каждая СФЭ Х^ последовательности .....Е(. может рассматриваться как
РСФЭ глубины i.
Замечание 2. При определении РСФЭ I! каждую схему Е,- при г ^ 2 можно рассматривать как СФЭ в базисе {¡^¿-1}, а также как СФЭ в базисе Б0 и {<£>1,..., ¡¿>¿-1}- При этом любую РСФЭ 1!, определенную как последовательность СФЭ Е,- в одном из трех вышеописанных базисов, можно представить с помощью РСФЭ I!', определенной как последовательность Е^ в другом базисе, причем так, что Ь(Е') «С Ь(Е) + 0(г2).
Действительно, если базис Е^ вложен в базис Е, то неравенство очевидно, так как в этом случае = В противном случае будем добавлять в каждую из СФЭ требуемые для
схемы, подключая их входы и выходы непосредственно ко входам и выходам схемы Е^. Суммарно во все схемы последовательности Е'1;..., Т,'г будет добавлено 0(г2) схем. Далее, если не оговорено противное, будем считать, что схемы Е,-. / > 2. задаются как СФЭ в базисе Б0 и {^1,..., ¡¿>¿-1}-
3.1. Построение некоторых множеств функциональных элементов. Рассмотрим функциональный элемент (р € Бд. Предположим, что функциональный элемент (р имеет п входов и реализует функцию /(х1,...,хп).
Сначала построим РСФЭ Ег глубины г, которая имеет не менее пк входов, к выходов и реализует систему из не менее, чем к функций /(х\,... ,хп) следующим образом:
• СФЭ Е1 зададим как СФЭ, состоящую из \у/к] элементов (р. Данная СФЭ реализует систему не менее, чем из у/к функций /(х\,..., хп);
• СФЭ ХЬ зададим как СФЭ, состоящую из \у/к] элементов <р1. Данная СФЭ реализует систему не менее, чем из у/к2 функций /(х\,..., хп);
• СФЭ Ег зададим как СФЭ, состоящую из \у/к~\ элементов <pr-i. Данная СФЭ реализует систему не менее, чем из у/к~ = к функций /(жi,..., хп).
* Здесь используется обозначение logn = log2 п.
**Асимптотическое неравенство f(n) < §(п) означает, что f(n) Sj <?(n)(l + о(1)), а асимптотическое равенство f(n) ~ я(п) определяется как двойное асимптотическое неравенство д(п) < f(n) < я(п).
Lr(n) ~ г • —= у/п
2г
• и т.д.;
Легко видеть, что сложность полученной РСФЭ £г равна г\{/к]. Аналогичным образом можно построить РСФЭ сложности г\у/к ], представляющую собой "цепочку" из к функциональных элементов. В дальнейшем нам понадобится РСФЭ, реализующая множество из к "цепочек" длины р (рис. 1).
Рис. 1. Множество "цепочек" из ФЭ
Построение такой РСФЭ отличается от описанного только на первом шаге. Если число \{/к] не кратно р, то нам не удастся построить из данного числа функциональных элементов целое число "цепочек" длины р. В таком случае мы добавим несколько функциональных элементов для того, чтобы получить целое число "цепочек". Сложность получившейся РСФЭ не будет превышать г\{/рк ] + (р — 1).
3.2. Построение конъюнктивного дешифратора. Построим в классе РСФЭ схемный дешифратор порядка п — схему, реализующую конъюнктивный дешифратор С}п от п переменных, т.е. РСФЭ, реализующую множество всевозможных конъюнкций вида х^х^2 • • • где а = (<71,..., о„) € Вп, х° = х, х1 = х. В дальнейшем не будем различать дешифратор и схемный дешифратор, обозначая их
Рассмотрим сначала, как можно построить дешифратор в классе СФЭ [5]. Во-первых, дешифратор можно построить, реализуя множество из 2" конъюнкций вида хрх^2 ■ ... ■ х°п с помощью "цепочек" из п — 1 функциональных элементов А и используя для каждой конъюнкции не более п элементов отрицания -п. Сложность такого дешифратора не превышает величины п ■ 2П+1. Построим конъюнктивный дешифратор С}п от п переменных, используя дешифратор (¿п/2 от п/2 переменных, основанный на моделировании конъюнкций. Для этого возьмем два дешифратора С}п/2 и соединим всевозможные пары их выходов с помощью 2" функциональных элементов А (рис. 2).
Рис. 2. Построение конъюнктивного дешифратора
Таким образом, построен дешифратор от п переменных, имеющий сложность
2п + 2 (п/2 - 1) Т>2 = 2П(1 + о(1)) ~ 2".
Сформулируем полученный результат в виде леммы.
Лемма 1. Сложность конъюнктивного дешифратора порядка п в классе СФЭ асимптотически не превышает 2".
Теперь построим конъюнктивный дешифратор Qn в классе РСФЭ. Рекурсивная схема глубины 1, реализующая дешифратор, это уже построенная СФЭ сложности L(Qn) ~ 2". При построении РСФЭ глубины г ^ 2 будем использовать результаты, полученные в п. 3.1 для множеств из функциональных элементов, а также тот же самый прием, который использовался при построении дешифратора в классе СФЭ. Покажем, что сложность конъюнктивного дешифратора в классе РСФЭ глубины г удовлетворяет асимптотическому неравенству Lr(Qn) < г ■ 2п/г.
Доказательство проведем методом математической индукции. Для РСФЭ глубины 1 неравенство следует из леммы 1. Используя индуктивное предположение, для дешифратора Qn/2 от п/2 переменных существует реализация при помощи РСФЭ глубины г — 1 сложности Lr~1(Qn) < < (г — 1) • 2п/(2(г~1)К Как и в случае построения дешифратора в классе СФЭ, возьмем два дешифратора Qn/2 и соединим всевозможные пары их выходов с помощью 2" функциональных элементов А. Согласно полученным в п. 3.1 результатам, множество из 2" функциональных элементов А реализуется с помощью РСФЭ глубины г сложности r|~\/2™"] ~ г • 2п</г. Получаем, что сложность дешифратора Lr(Qn) в классе РСФЭ глубины г удовлетворяет асимптотическому неравенству Lr(Qn) < г ■ 2п!г + 2(г — 1)2п/(2(г-1^. Построив данным способом конъюнктивный дешифратор Qn/2 и использовав его для построения дешифратора Qn, получим новую оценку сложности дешифратора: Lr(Qn) < г ■ 2п/г + 2г • 2"/(2г) + 4(г - 1)2"/i4^"1)) < г • 2П/Г.
Лемма 2. Для сложности Lr(Qn) конъюнктивного дешифратора Qn порядка п в классе РСФЭ глубины г верно асимптотическое неравенство Lr(Qn) < г • 2~.
3.3. Построение мультиплексора. На основе схемного конъюнктивного дешифратора Qn можно построить схемный мультиплексор /хп, зависящий от п адресных и 2" информационных переменных:
п
Hn(xi,...,xmy1,...,y2n) = \/ x^xl2 •••<пу„((7)+1, где v(o) =
а=(а1,...,ап)еВп г=1
Для этого подключим дешифратор Qn к адресным переменным, выходы дешифратора соединим с соответствующими информационными переменными при помощи 2" элементов А, выходы которых, в свою очередь, подключим ко входам "цепочки", состоящей ич 2" - I элементов V (рис. 3).
Рис. 3. Построение мультиплексора
Учитывая полученные для конъюнктивного дешифратора оценки сложности множеств функциональных элементов и "цепочек" из функциональных элементов, будем иметь следующую оценку сложности мультиплексора в классе РСФЭ.
Лемма 3. Сложность Ьг(р,п) мультиплексора /хп, зависящего от п адресных и 2" информационных переменных, в классе РСФЭ глубины г удовлетворяет асимптотическому неравенству
3.4. Построение дизъюнктивного универсального множества. Дизъюнктивным универсальным множеством (ДУМ) О порядка п и ранга р называется (см. [5]) множество функций алгебры логики из -Рг(и), такое, что для любой функции д € -Рг(и) существуют дх,... ,др € О : 9 = 91 V ■ ■ ■ V 9р- Дизъюнктивное универсальное множество можно построить следующим образом:
1) выбрать параметр называемый высотой ДУМ;
2) разбить булев куб Вп на р = [2™/«] компонент мощности не более
В" = 7Г1 и . . . и 7Гр, 71"г П 7Г; = 0 при Ъ Ф Кг | ^
3) построить ДУМ О порядка п, ранга р, составленное из р множеств функций:
С = в™ и ... и где С« = {¡(хъ ... ,хп) : V? ф % V/? 6 щ /(/Зь ... ,/Зп) = 0} .
Построенное дизъюнктивное множество О порядка п, ранга р и высоты « состоит не больше чем из р • 2е функций.
С помощью РСФЭ глубины г реализуем систему функций дизъюнктивного универсального множества
С = и ... и синтезируя схему для каждой функции д £ С по ее совершенной
ДНФ. Все функции из С« принимают значение 1 только на заданных компонентой наборах. Число таких наборов ^ я. Для всех множеств функций О^ построим схему реализующую \жг | конъюнкций хр А • • • А длины п, соответствующих наборам значений переменных х\,..., хп из компоненты и^. Далее, построим РСФЭ £¡2; состоящую изр-2® "цепочек" длины подключенных к выходам схем
и реализующих все р • 23 функций множества О.
Оценим сложность реализации дизъюнктивного универсального множества Ьг(0). Схема
— СФЭ в стандартном базисе Б0, ее сложность ^ 2,эп. Рекурсивная схема £2 глу-
бины г согласно полученным в п. 3.1 результатам реализуется со сложностью не больше чем г\{/р ■ я ■ 28 ] + 5 — 1. Из этих оценок следует
Лемма 4. Сложность дизъюнктивного универсального множества О порядка п, ранга р и высоты 5 в классе РСФЭ глубины г удовлетворяет неравенству
17(С) < 2реп + г{/рё • 2# + 5.
4. Синтез схем, реализующих произвольную функцию. Рассмотрим метод получения оценки снизу функции Шеннона Ьг(п), а также методы синтеза РСФЭ, позволяющие получить для этой функции оценки сверху.
4.1. Нижняя оценка функции Шеннона.
Теорема 1. Функция Шеннона Ьг(п) для класса РСФЭ £ глубины г удовлетворяет следующему асимптотическому неравенству:
Нп) > г - -Т=.
</п
Доказательство. Сведем задачу получения нижней оценки функции Шеннона для сложности РСФЭ глубины г к задаче получения такой же оценки в классе СФЭ. В данном случае будем рассматривать определение РСФЭ £, при котором каждая схема последовательности при 1^2 задается как СФЭ в базисе {¡^¿-1}. Получим из РСФЭ £ СФЭ £', "раскрыв" рекурсию, т.е. заменяя функциональный элемент {(рг-1} в каждой СФЭ / > 2. его схемной реализацией £¿-1-Результирующей схемой £' будет являться схема £г после данной операции "раскрытия" рекурсии.
Так как мы рассматриваем определение РСФЭ, при котором каждая схема последовательности £г при 'I ^ 2 задается как СФЭ в базисе {¡^¿-1}, то сложность СФЭ £' после "раскрытия" рекурсии в РСФЭ £ будет равна ¿(£1) • ... • £(£г). Решим следующую задачу оптимизации:
£(£') = £(£1) • ... • £(£г) шах, £(£1) + ... + £(£г) = £(£).
Максимум !/(£') достигается при = (1 /г)1Л(Е) и равен (17(Е)/г)г, т.е. сложность СФЭ
Е', получающейся в результате применения операции "раскрытия" рекурсии в РСФЭ Е глубины г, удовлетворяет неравенству
< № "
\ Г
Для функции Шеннона в классе СФЭ известно неравенство (см., например, [5]):
ад >-(1-0(1)).
Используя приведенные неравенства, получаем, что для функции Шеннона Ьг(п) в классе РСФЭ глубины г справедлива оценка
из которой следует утверждение теоремы.
4.2. Метод Шеннона. Выпишем разложение Шеннона [6] по последним п - </ переменным для функции /(жь ...,хп):
/(х\, . . . , Хп) = Хд+1 ЖПП/(Ж1! • • • ! ж<2! °"<г+1> • • • '
Используя это разложение, построим схему, реализующую функцию /(х\,..., хп):
• возьмем мультиплексор зависящий от п — ц адресных переменных хя+\,..., хп;
• согласно разложению, присоединим информационные входы мультиплексора к выходам универсального многополюсника 11д от q переменных х\,..., хд, т. е. схемы, реализующей все функции от переменных х\,..., хд.
Известно [5], что универсальный многополюсник 11д можно реализовать при помощи СФЭ (а значит, и РСФЭ) в стандартном базисе сложности Ь(11я) ~ 22". Положим
ц= \\о${{п — 2\о&п)/г)\
и оценим сложность полученной схемы Е/:
U(Ef) < Зг • + 22" < Зг----г + ^ < Зг
!Г-
' п _ 2 log п ^ г Пг л/п
Следовательно, будем иметь оценку сверху
Lr(n) < Зг • у/г —¡= .
у/п
4.3. Асимптотически наилучший метод синтеза РСФЭ. Рассмотрим асимптотически наилучший метода О. Б. Лупанова [1] в изложении [5]. Сначала построим следующее разложение функции /(ж 1, ...
; Хп J'
f(xi,...,Xg,Xq-f-i,...,Xn)= Xq+1 ' ' ' ХГ)П fcr (x 1; • • • ; xq);
fa(x 1, ...,Xq) = f(Xi, .. ,,xq,aq+1,. . . ,<7„), q = \2 log n ] .
Согласно данному разложению, построим РСФЭ (см. рис. 4) глубины г, состоящую из:
1) схемы Еа дизъюнктивного универсального множества G порядка q, ранга р = \2и высоты s = \ть — 5 log п ];
2) множества Ее из 2n~q "цепочек" функциональных элементов V длины р, входы которых подключены к выходам Е<з и реализующих все функции fa(xi,..., xq);
Рис. 4. Асимптотически наилучший метод синтеза РСФЭ
3) мультиплексора зависящего от п — ц адресных переменных хя+\,..., хп, информационные
переменные которого подключены к выходам цепочек Ее согласно разложению.
Используя ранее доказанные верхние оценки сложности, получим
5 р _ 2т
ЬГ(ЕС) < 2реп + г{/рГЪ -2~ + я ^ Сг ■ п3 + С2 ■ г</п2-^= < ■ п3 + С2 ■ г ■
I7(£c) + < C3-r-2^ <: C3r
л/71 л/г
!/(£;) < I7(SG) + I7(SC) + Lr(/xn_e) < + o(l)) < A,
л/71 л/71
где С1, Сг, Сз — некоторые константы. Из полученной оценки, а также из теоремы 1 вытекает следующее утверждение.
Теорема 2. Функция Шеннона Ьг(п) для класса РСФЭ глубины г удовлетворяет асимптотическому неравенству Ьг(п) < г—=.
{/п
Следствие. Функция Шеннона Ьг(п) для класса РСФЭ £/ глубины г удовлетворяет асимптотическому равенству Ьг(п) ~ г-
/п
СПИСОК ЛИТЕРАТУРЫ
1. Лупанов О.Б. Асимптотические оценки сложности управляющих систем. М.: Изд-во МГУ, 1984.
2. Редькин Н.П., Марковский A.B. О реализации булевых функций схемами из блоков // Проблемы кибернетики. Вып. 28. М.: Наука, 1974. С. 81-100.
3. Грибок C.B. Об одной модели рекурсивных схем из функциональных элементов // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2002. № 4. С. 31-36.
4. Блинов C.B., Ложкин С. А. О синтезе рекурсивных схем из функциональных элементов с ограниченной глубиной рекурсии // Материалы XI Международного семинара "Дискретная математика и ее приложения". М.: Изд-во мех.-матем. ф-та МГУ, 2012. С. 98-99.
5. Ложкин С. А. Лекции по основам кибернетики. М.: Издательский отдел ф-та ВМК МГУ, 2004.
6. Яблонский C.B. Элементы математической кибернетики. М.: Высшая школа, 2007.
Поступила в редакцию 30.11.16