СПИСОК ЛИТЕРАТУРЫ
1. Gavoille С., Peleg D., Perennes S., Raz R. Distance labeling in graphs //J. Algorithms. 2004. 53, N 1. 85-112.
2. Cohen E., Halperin E., Kaplan H., Zwick U. Reachability and distance queries via 2-hop labels // SIAM J. Comput. 2003. 32, N 5. 1338-1355.
3. Abraham I., Delling D., Goldberg A. V., Werneck R.F. Hierarchical hub labelings for shortest paths // Algorithms. ESA 2012; Lect. Notes Comput. Sci. Vol. 7501 / Ed. by L. Epstein, P. Ferragina. Heidelberg: Springer, 2012. 24-35.
4. Akiba Т., Iwata Y., Yoshida Y. Fast exact shortest-path distance queries on large networks by pruned landmark labeling // SIGMOD 13 Proc. 2013 ACM SIGMOD Int. Conf. on Management of Data. N.Y.: ACM, 2013. 349-360.
5. Goldberg A. V., Razenshteyn I., Savchenko R. Separating hierarchical and general hub labelings // Mathematical Foundations of Computer Science 2013; Lect. Notes Comput. Sci. Vol. 8087 / Ed. by K. Chatterjee, J. Sgall. Heidelberg: Springer, 2013. 469-479.
6. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. М.: МЦНМО, 2000.
Поступила в редакцию 28.04.2014
УДК 519.95
ВЕРХНЯЯ ОЦЕНКА СЛОЖНОСТИ РЕАЛИЗАЦИИ ЛИНЕЙНЫХ ФУНКЦИЙ СХЕМАМИ В ОДНОМ БАЗИСЕ ИЗ МНОГОВХОДОВЫХ ЭЛЕМЕНТОВ
Ю. А. Комбаров1
Заметка посвящена реализации линейных булевых функций схемами из функциональных элементов в базисе Uoo, состоящем из всех элементов, реализующих функции вида .. . Описан способ построения схем, реализующих линейную функцию
от п переменных со сложностью [(7п — 4)/3j. Тем самым улучшена предыдущая известная верхняя оценка сложности линейных функций в базисе Uoo, составляющая \{Ъп — 1 )/2~|. Также для очень малых п (п < 7) проверена минимальность построенных схем.
Ключевые слова: схемы из функциональных элементов, сложность схем, линейная булева функция, минимальная схема.
The paper is devoted to realization of parity functions by circuits in the basis Uoo- This basis contains all functions of form (x^&z ... We present method of constructing circuts
for pairity function of n variables with complexity of |_(7n—4)/3_|. This improves previous known upper bound of [/оо-complexity of parity function, that was |~(5n — l)/2]. It is also shown that constructed circuits are minimal for very small n (for n < 7).
Key words: Boolean circuis, circuit complexity, parity function, minimal circuit.
Введение. Изучаются схемы из функциональных элементов [1], реализующие линейные булевы функции (однородную линейную функцию ln(x 1,..., хп) = Х\ ф ... ф хп и неоднородную линейную функцию ln(x 1,... ,хп) = Х\ ф ... ф хп ф 1). Сложность реализации линейных функций схемами (определяемая как минимальное количество функциональных элементов, достаточное для реализации функции / схемой в заданном базисе В, и обозначаемая как Ьв(/)) известна для многих базисов, состоящих из элементов с не более чем двумя входами. Например, в работе [2] доказано, что = L{x&yixvyix}(ln) = An — 4, а из результатов работ [3] и [4] следует, что L{x\y}(ln) = 4п — 4 и L{x\y}(ln) = An — 3 (здесь х\у обозначает функцию штрих Шеффера, определяемую как х\у = xOsiy). Сложность линейных функций известна также для базиса U2, состоящего из всех элементов, реализующих нелинейные функции, существенно зависящие от двух переменных. В работе [5] доказано, что Ьи2(1п) = Ьи2(1п) = Зп — 3.
1 Комбаров Юрий Анатольевич — ассист. каф. дискретной математики мех.-мат. ф-та МГУ, e-mail: yuri. kombarovQgmail .com.
Для некоторых базисов известна структура минимальных схем. Так, в работе [6] показано, что все минимальные схемы, реализующие 1п или 1п в базисе {xíky, х \/у,х}, состоят из п — 1 четырехэле-ментого блока, каждый из которых реализует линейную функцию от двух неременных. В работе [4| аналогичный факт доказан для схем, реализующих однородные линейные функции в базисе {х\у}.
Сложность реализации линейных функций известна и для некоторых базисов, содержащих многовходовые элементы. Один из первых результатов в этом направлении получен в работе [7], где рассматриваются минимальные схемы, реализующие линейные функции в базисе NOR, состоящем из всех элементов, реализующих функции вида Х\ V ... V Хк (к € {2,3,...}). Доказано, что Lnor(12) = 5, LNOn(h) = 4 и Ь^оп(1п) = L^on^n) = 3?г — 2 при п ^ 3. По соображениям двойственности этот результат переносится на базис NAND, состоящий из всех элементов, реализующих функции вида ... 8¿Xk (к € {2, 3,...}): Lnand(Iii) = Lnand(Ih) = 3п — 2 при п ^ 3.
В работе [8] исследуются схемы, реализующие линейные функции в различных базисах из мно-говходовых элементов. Для базиса Т, состоящего из всех элементов, реализующих пороговые булевы функции, доказано, что Ьт(1п) = In) = flog(??. + 1)]. Также в работе [8] рассматриваются схемы, реализующие линейные функции в базисе Uoo- Базис U00 состоит из всех элементов, реализующих функции вида (x^&z ... ¡kx^!')'3, где к € {2,3,...}, а <7ь ..., aj-, ß € {0,1}. Этот базис является естественным обобщением базиса Щ • В работе [8] доказано, что 2п — 1 ^ Lu^Un) ^ |~(5?г — 4)/2] и 2п — 1 ^ Lu^Un) ^ f(5??. — 4)/2]. Настоящая заметка посвящена улучшению двух последних оценок.
Определения и вспомогательные утверждения. Далее рассматриваются схемы в базисе Uoo, состоящем из элементов, реализующих функции вида х^1 & ... S¿x^k или х^1 V .. .V:r£fe. Элементы, реализующие функции вида Х'11 & ... , будем называть конъюнкторамн, а элементы, реализующие функции вида х*1 V днзъюнкторамн. Если элемент ре-
V х
с к к '
Рис. 1
В работе [8] доказана следующая Теорема 1. При п ^ 2 имеют место оценки
алнзует функцию вида х^1 & ... , будем называть его г-й вход (г € {1,..., к}) положительным, в случае Oi = 1 и отрицательным в случае аi = 0. Аналогично определяются положительные и отрицательные входы для дизъюнк-торов. На рисунках функциональные элементы изображаются в виде треугольников, входы элементов находятся на верхней стороне треугольника. Отрицательные входы элементов отмечены кружками. Сложностью схемы S в базисе Uoo будем называть количество элементов в схеме S. Сложность схемы S будем обозначать через L(S). Сложностью реализации булевой функции / в базисе Uoo будем называть величину LiT^{f) = minL(S), где минимум берется по всем схемам S, реализующим /.
2п - 1 < LUoo(ln) < Г(5п - 4)/2], 2п - 1 < LUco{ln) < \(5п - 4)/2].
Для доказательства верхней оценки в работе [8] описан способ построения схем, реализующих линейные функции от п переменных со сложностью [~(5?г — 4)/2]. При нечетных п эти схемы состоят из |_п/'2\ пятнэлементных блоков, реализующих линейные функции от трех переменных в соответствии с представлениями 1з(х1,х2,хз) = х 1X2X3 V х 1X2X3 V х 1X2X3 V Х1Х2Х3 и 1з{х\,х2,хз) = Х\Х2Хз\/Х\Х2Хз\/Х\Х2Хз\/Х\Х2Хз: а при четных п нз п/2 — 1 такого блока, и одного трехэлементного блока, реализующих) однородную линейную функцию от двух переменных в соответствии с представлением ¿2 = Х\Х2 V Х1Х2. На рис. 1 изображена схема из тринадцати элементов, реализующая ¿6 и построенная в соответствии с описанной конструкцией.
Следующая лемма позволяет строить схемы, реализующие линейные функции от п переменных со сложностью менее |~(5?г — 4)/2].
Лемма 1. Пусть существуют схемы 5*1 и, 5*2 в базисе и^о, та,кие. что 5*1 реализует линейную функцию от п переменных. 5*2 реализует, линейную функцию от т переменных и некоторый вход схемы 5*2 соединен лишь с положительным,и входами конъюнкторов. Тогда, существует схема 5*з в базисе IIоо-. реализующая линейную функцию от п + т — 1 переменной со сложностью Ь(3\) + ¿(¿>2) ~~ 1-
Доказательство. Пусть на входы схемы 5*1 подаются неременные х\,... ,хп, а на входы схемы 5*2 неременные у\,..., уп. Пусть Е* выходной элемент схемы 5*1, {г^,... ,г>р} множество вершин схемы (т.е. выходов элементов или входов схемы), соединенных с положительными входами элемента Е*, а {г^,... множество вершин
схемы, соединенных с отрицательными входами элемента Е* (быть может, р = 0 или д = 0). Если Е* дюъюнк-тор, то заменим ех'о на конъюнктор, отрицательные входы которого соединены с вершинами {г^,... ,Ур}, а положительные с вершинами {г>]~,... Очевидно, что после такох'о преобразования схема будет реализовывать линейную функцию (являющуюся отрицанием функции, которую схема 5*1 реализовывала изначально). Далее считаем, что элемент Е* конъюнктор.
По условию один из входов схемы 5*2 соединен лишь с положительными входами конъюнкторов. Будем считать, что это вход, соответствующий неременной у\. Пусть Е\,..., Е^ конъюнкторы, со входами которых соединен этот вход.
Объединим схемы 5*1 и 5*2, соединив выход выходного элемента Е* схемы 5*1 со входом схемы 5*2, соответствующим неременной у\. Полученная схема 5* будет реализовывать линейную функцию от неременных х\,..., хп, ...,ут со сложностью Ь(Б 1) + £(62). Выход элемента Е* схемы 5* соединен с положительными входами конъюнкторов Е\,..., Е]~, положительные входы Е* соединены с вершинами {г^,... Л'р}, а отрицательные с вершинами
Далее, для каждох'о г € {1,..., /г} удалим у элемента Ег вход, соединенный с выходом Е*, и добавим р положительных входов, соединенных с вершинами {г^,... ,г>+}, и д отрицательных входов, соединенных с вершинами {г>]~, Легко видеть, что после проведения такох'о преобразования функция, реализуемая элементом Ег, не изменится, следовательно, не изменится и функция, реализуемая схемой 5*. После проведения всех к преобразований в схеме не останется элементов, входы которых соединены с выходом элемента Е*, поэтому элемент Е* можно будет удалить из Б, не изменив функцию, реализуемую схемой. Лемма 1 доказана.
На рис. 2, а, изображен пример нары схем 5*1 и 5*2, к которым применима лемма 1, на рис. 2, б результат применения леммы к этим схемам.
Верхняя оценка сложности линейных функций. Следующая теорема улучшает верхнюю оценку сложности линейных функций в базисе IIоо, приведенную в работе |8|.
Теорема 2. При, п ^ 2 верны оценки,
Рис. 2
7 п - 4
з-
ЬиооУп) ^
7 п - 4
з-
Доказательство. Покажем, что для любых п € {2, 3,...} и е € {0,1} существует схема, реализующая со сложностью \_(7п — 4)/3_|. Отметим, что для этого достаточно доказать, что для любох'о п существует схема, реализующая линейную функцию от п неременных (однородную или неодно-
+
родную) с необходимой сложностью. Это следует из того, что из схемы, реализующей линейную функцию от п переменных, можно получить схему, реализующую отрицание этой функции, выбрав один из входов схемы и заменив все положительные входы элементов, соединенные с выбранным входом, на отрицательные, а отрицательные входы элементов, соединенные с выбранным входом, на положительные.
Требуемое утверждение докажем по индукции. В качестве базы индукции используем случаи п = 2,3,4. Чтобы построить схему из трех элементов, реализующую 12, и схему из пяти элементов, реализующую ¿3, достаточно воспользоваться представлением необходимой функции в виде совершенной дизъюнктивной нормальной формы. Схема из восьми элементов, реализующая ¿4, изображена на рис. 2,6.
Пусть п ^ 5 и существует схема Бп-з, реализующая линейную функцию от п — 3 переменных со сложностью |_(7(п — 3) — 4)/3] = [(7п — 25)/3]. Докажем, что существует схема, реализующая линейную функцию от п переменных со сложностью [(7п — 4)/3]. Пусть Б — схема, изображенная на рис. 2,6 (реализующая однородную линейную функцию от четырех переменных). Отметим, что вход схемы ¿>, соответствующий переменной у2, соединен лишь с положительными входами конъюнкто-ров. Поэтому к схемам б^-з и Б применима лемма 1, и, следовательно, существует схема, реализующая линейную функцию от п переменных со сложностью Ь(Зп-3) + ¿(¿>) — 1 = [(7гг — 25)/3] + 8 — 1 = [(7п — 4)/3_|. Теорема 2 доказана.
Замечание. В доказательстве теоремы 2 содержится описание процедуры, позволяющей для любых пае построить схему, реализующую I^ со сложностью [(7 п — 4)/3]. Автор предполагает, что построенные схемы минимальны для любого п. Покажем, что они минимальны при малых п. Для этого используем следующую лемму, доказанную в работе [8].
Лемма 2. При п^2 верны соотношения Ьц^^п) = ¿^(¿п) и Ьиса{1п+1) ^ ¿^(¿п) + 2.
Лемма 2 доказывается при помощи метода забивающих констант; на нее опирается доказательство нижней оценки теоремы 1.
При п = 2,3,4,5,6 сложности построенных схем, реализующих линейные функции от п переменных, соответственно равны 3,5,8,10,12. Несложно проверить (см. [8]), что линейную функцию от двух переменных невозможно реализовать схемой из двух элементов. Следовательно, £^(¿2) = ¿с/оо(Ь) = 3. Отсюда и из леммы 2 получаем Ьц^Цз) = = 5. Путем перебора схем на
компьютере проверено, что не существует схем из семи элементов, реализующих ¿4 или ¿4. Поэтому Ьц^^а) = ¿{/^(¿4) = 8. Отсюда и из леммы 2 получаем, что ¿^(¿5) = ¿^(¿5) = 10 и
ЬиЛк) = Ьиоо(к) = 12.
В заключение автор приносит благодарность научному руководителю профессору Н. П. Редь-кину за помощь в работе.
Работа выполнена при финансовой поддержке РФФИ, проект № 14-01-00598 ("Вопросы синтеза, сложности и контроля управляющих систем").
СПИСОК ЛИТЕРАТУРЫ
1. Лупанов О.Б. Асимптотические оценки сложности управляющих систем. М.: Изд-во МГУ, 1984.
2. Редькин Н.П. Доказательство минимальности некоторых схем из функциональных элементов // Проблемы кибернетики. Вып. 23. М.: Наука, 1970. 83-101.
3. Редькин Н.П. О минимальной реализации линейной функции схемой из функциональных элементов // Кибернетика. 1971. № 6. 31-38.
4. Комбаров Ю.А. О минимальных схемах в базисе Шеффера для линейных булевых функций // Дискретн. анализ и исслед. операций. 2013. 20, № 4. 65-87.
5. Schnorr С.Р. Zwei lineare untere Schranken für die Komplexität Boolescher Funktionen // Computing. 1974. 13.155-171.
6. Комбаров Ю.А. О минимальных реализациях линейных булевых функций // Дискретн. анализ и исслед. операций. 2012. 19, № 3. 39-57.
7. Lai H.Ch., Muroga S. Logic networks with a minimum number of NOR (NAND) gates for parity functions of n variables // IEEE Trans. Comput. 1987. C-36, N 2. 157-166.
8. Wegner I. The complexity of the parity function in unbounded fan-in, unbounded depth circuits // Theor. Comput. Sei. 1991. 85. 155-170.
Поступила в редакцию 11.06.2014