УДК 519.95
О ГЛУБИНЕ а-ПОПОЛНЕНИЯ СИСТЕМ БУЛЕВЫХ ФУНКЦИЙ
Д. В. Трущин1
Рассматривается задача о реализации булевых функций а-формулами — такими формулами, в которых каждая подформула содержит не более одной нетривиальной главной подформулы. В качестве меры сложности формул рассматривается глубина. Получены полиномиальные верхние и нижние оценки функций Шеннона для а-пополнений конечных систем булевых функций.
Ключевые слова: булева функция, формула, сложность, глубина.
A problem of implementation of Boolean functions by а-formulas is considered. These formulas are such that each subformula contains not more that one nontrivial principal subformula. The depth is considered as a complexity measure of a formula. Upper and lower polynomial estimates of Shannon functions for а-supplements of finite systems of Boolean functions are obtained.
Key words: Boolean function, formula, complexity, depth.
В данной работе рассматривается задача о реализации булевых функций а-формулами — такими формулами, в которых каждая подформула содержит не более одной нетривиальной главной подформулы. В качестве меры сложности формул рассматривается глубина. Устанавливаются полиномиальные верхние и нижние оценки функций Шеннона для а-пополнений произвольных конечных систем булевых функций. Необходимые определения можно найти в [1, 2].
Множество всех булевых функций обозначим через P2, множество всех монотонных булевых функций — через M, множество функций, принадлежащих множеству H, H С P2, и зависящих только от переменных x\,...,xn, — через H(n).
Пусть А — конечная система функций из P2. Формулу над А, содержащую символы переменных xi,...,xn и только их, обозначим через Ф(х1,..., xn). Значение формулы Ф на наборе а = (а\,..., ап) Е {0,1}п обозначим через Ф(а). Две формулы Ф и Ф назовем эквивалентными (обозначение Ф = Ф), если они реализуют равные функции (т.е. такие функции, которые зависят от одного и того же набора переменных и при любых значениях переменных из этого набора принимают одинаковые значения). Замыкание системы А (относительно операций суперпозиции и введения фиктивной переменной) обозначим через [А].
Пусть Ф — некоторая формула над А. Сложностью Ь(Ф) этой формулы называется число символов переменных, входящих в нее. Глубину ^(Ф) формулы Ф определим индуктивно. Если Ф состоит только из символа переменной или константы, то ^(Ф) = 0. Если Ф имеет вид f(Ф1,...,Фт), где f Е А, а Ф1,..., Фт — некоторые формулы над А, то ^(Ф) = 1 + max D^i), где максимум берется по всем i = 1,...,m. Для любой функции f Е [А] положим L^(f) = min £(Ф), D^(f) = min ^(Ф), где минимум берется по всем формулам Ф над А, реализующим f.
Известно [3], что для любой полной конечной системы булевых функций А и любой булевой функции f(x i,...,xn) выполнено соотношение Lg[(/) < \og2(n) • ® работе [4] показано, что для произвольной конечной системы булевых функций А и любой функции f(xi,...,xn) Е [А] справедливы неравенства ) ^ cn и ^а(/) ^ dn, где c и d — некоторые константы, зависящие от А.
Следуя [2], определим индуктивно понятие а-формулы Ф над конечной системой булевых функций А. Символ переменной является элементарной а-формулой. Выражение вида f(ф,xi2,...,xim), где ф — а-формула над А, f — символ m-местной функции из А, m ^ 1, а xi2,... ,xim — символы переменных, также является а-формулой. Отметим, что каждая а-формула — формула над А. Множество всех функций, реализуемых а-формулами над А, будем называть а-пополнением системы А и обозначать через [А]а. Система А С P2 называется а-полной, если [А]а = P2.
Пусть А — конечная система булевых функций, f Е [А]а. Положим DA(f) = min^(Ф), LA(f) = min£(Ф), где минимум берется по всем а-формулам Ф над А, реализующим f. Формулу Ф назовем
1 Трущин Дмитрий Владимирович — студ. каф. дискретной математики мех.-мат. ф-та МГУ, e-mail: [email protected].
минимальной (для функции /), если Ф реализует / и О(Ф) = ОА (/). Определим функцию Шеннона
DA(n) = maxDA(f), где максимум берется по всем функциям f Е H(n), H = [A]a• Отметим, что для введенных мер сложности справедливы неравенства cDA(f) ^ LA(f) ^ с2DA(f), где С\ и С2 — константы, зависящие от A.
Пусть f (xi,... ,xn) — произвольная булева функция. Обозначим число аргументов функции f через m(f)• Для всякой конечной системы A С P2 положим m(A) = max m(f), p(A) = max m(f), где максимумы берутся по множествам A и A \ M соответственно. При этом, если A \ M = 0, считаем, что p(A) = 1.
Теорема 1. Пусть A — произвольная конечная система булевых функций, f(п)(xi,...,xn) Е [A]a. Тогда DA(f(n)) ^ cnr, где c — некоторая константа, зависящая от A, r = m(A) + p(A) — 2.
Прежде чем доказать теорему 1, установим некоторые свойства а-формул над системами булевых функций. Пусть A — произвольная конечная система булевых функций. Непосредственно из определения следует, что любая а-формула над A имеет вид
fit (fiТ2) (. . . fit (xd,1,xd,2, ..., xd,md ) ..., x2,2, ..., x2,t2 ),xi,2, ..., xi,mi),
где й ^ 1, /(т* ) Е А (1 ^ ] ^ й). Положим Х* = (х-^,..., х->т.), ] = 1,...,й. При этом будем говорить, что
наборы переменных Хк и Х* равны (обозначение Хк = Х-*) в том и только в том случае, когда 1 ^ к,] ^ й, тк = т* и переменная х-* совпадает с переменной Хк,* для любого д, 2 ^ д ^ т-. В этих обозначениях каждую а-формулу можно записать в виде
/СП1)(/{г^2)(.../(Г)(х^1,ха)...,х2 ),х1), (1)
где й > 1, /Г) Е а (1 < ] ^ й). При этом вхождения функциональных символов /¡Г) и /¡т^1 в эту формулу будем называть последовательными (1 ^ к ^ й — 1).
Лемма. Пусть А — произвольная конечная система булевых функций, ф — а-формула над А, а /^т),..., /(т1+1) — функции из А, к ^ 1. Тогда имеют место следующие равенства:
/Гч... /Г (... /Г)(... /т--1 /тк) /г+\+1) (Ф,хк+1),хк ),х-) ...,х*) ) ...х )= = /¡Т1^ .. /Ч.. /т) (... С- (/(Г+\+1) /Г )(Ф,Хк ),Хк+1),Хк-1)...,Х*) ...,£*).. .,Х1), (2)
где 1 ^ ] < д < к, г* = гк, Х* = Хк и г* = гк+1, Х* = Хк+1;
ft](-.. ft3) (... m-1 fmk) (ф, xk ),xk-i) ...,xj) ...,xi ) =
=f(mi)(. ..3)(... f(mkri) (ф, xk-i) ...,xj) ...,xi), (3)
'ik-1
где 1 ^ j < k, ij = ik, xj = xk и функция f(mj монотонна;
Am1 .. ftj)(... m-1 (fkmk )(ft:i+i) (ф,xk+i),xk ),xk-i) ...,xj) ...,xi) =
= f^C ..ft)(... fmi-i) (Ф, xk-i) ...,xj) ...,xi), (4)
где 1 ^ j < k, ij = ik = ik+i, xj = xk = xk+i.
Доказательство. Докажем равенство (2). Обозначим левую часть равенства (2) через Ф^ а правую часть — через Ф2. Пусть а = (ai,...,ап) — произвольный набор значений переменных. Покажем, что Ф^а) = Ф2(а). Набор значений, принимаемых переменными из набора xj, обозначим через aj. Если
ft)(0,aj) = ft (1,aj) = c, где c Е {0,1}, то Ф^а) = ft) (...ft-^ (c,aj-i) ...,ai) = Ф2(а). Если fb](0,а) = ft\1,а) = c, гдеc Е {0,1}, тоФ^а) = ft(... ft\... f'tt(c,аq-i)...,а)...,а1 ) = Ф2(а). Наконец, если АТ)(0,о>) = ft\1,аq) и ft) (0,ofl) = ft\1,а<1), то каждая из функций и есть Поэтому каждая из функций f\™k\x, ak) и ak+1)
есть также либо х, либо х. Отсюда следует, что имеет место равенство ак+1), ак) =
(/■¿Т^ (Ф(®), ),оск+1 )• Тогда Ф1 = Ф2(й). Таким образом, равенство (2) доказано. Равенства (3) и (4) устанавливаются аналогично. Лемма доказана.
Отметим, что равенства (2)—(4) задают некоторые эквивалентные преобразования формул. Преобразование формулы, стоящей в левой части равенства (2), в формулу, стоящую в правой части этого равенства, назовем перестановкой в а-формуле двух последовательных вхождений функциональных символов /¿¡Т^ и Преобразование формулы, стоящей в левой части равенства (3), в формулу, стоящую в правой части этого равенства, назовем удалением из а-формулы вхождения функционального символа /¿Т^. Преобразование формулы, стоящей в левой части равенства (4), в формулу, стоящую в правой части этого равенства, назовем удалением из а-формулы двух последовательных вхождений функциональных
символов /(тк) и /¡тк+1). •'¿к •> 4+1
Пусть а-формула Ф имеет вид (1), Х = Хк и ij = ^ (1 ^ 3 <к ^ й). Тогда вхождения функциональных символов /¿т) и /(Тк) в Ф мы будем называть схожими, причем вхождение символа /(Тк) назовем повторным вхождением этого символа в формулу Ф. Каждое не являющееся повторным вхождение функционального символа в Ф будем называть неповторным. Два неповторных вхождения функциональных символов в Ф назовем соседними, если между ними нет других неповторных вхождений функциональных символов. Из леммы следует, что при удалении из формулы Ф произвольного повторного вхождения символа монотонной функции, при перестановке в Ф любых двух последовательных повторных вхождений функциональных символов, а также при удалении из Ф любых двух последовательных схожих повторных вхождений функциональных символов получаются а-формулы, эквивалентные исходной.
Доказательство теоремы 1. Пусть А — произвольная конечная система булевых функций, ,Хп) е [А]а, а Ф — некоторая минимальная а-формула вида (1), реализующая функцию /(п).
Покажем, что в формуле Ф между соседними неповторными вхождениями функциональных символов не может быть схожих вхождений функциональных символов. Предположим, что в формуле Ф между
двумя соседними неповторными вхождениями функциональных символов /¿Т*) и /(ТЧ) есть два схожих
вхождения функциональных символов и , 1 ^ 3 < ^ < £ < Ц ^ й. Из леммы следует (см. (2)),
что повторные вхождения /¿¡"+1+1,..., /^Т4-1) можно переставить произвольным образом. Переставим их
так, чтобы схожие вхождения /(Тк) и /¿(™4) оказались последовательными. Тогда в силу равенства (4) эти вхождения можно удалить и получить эквивалентную формулу меньшей глубины, что противоречит минимальности Ф. Отсюда следует, что в Ф между соседними неповторными вхождениями не может быть схожих вхождений функциональных символов.
Отметим, что в силу равенства (3) любой повторный символ монотонной функции можно удалить из Ф. Поэтому символы монотонных функций не могут иметь повторные вхождения в эту а-формулу.
Легко видеть, что общее число неповторных вхождений функциональных символов в Ф не превосходит
|А|ига(А)-1. Положим В = А\М. Если множество В пусто, то минимальная а-формула над А не может содержать повторные вхождения функциональных символов. Отсюда следует, что Б(Ф) ^ |А|иТ(А)-1 = сиг, где с — константа, зависящая от А, а г = т — 1 = т(А) + р(А) — 2.
Если же В = 0, то между любыми двумя соседними неповторными вхождениями находится не более |В|ир(А)-1 повторных вхождений функциональных символов. Таким образом, выполняется неравенство Б(Ф) < |А|иТ(А)-1 |ВК(А)-1. Поэтому БА(/(п)) < сиг, где г = т(А)+р(А) — 2,
а с — константа, зависящая
от А. Теорема 1 доказана.
Следствие 1 (см. также [5]). В Р2 не существует конечных а-полных систем.
Доказательство. Предположим противное. Пусть существует конечная система А булевых функций, такая, что [А]а = Р2. Тогда для любой функции /(п)(х1 ,...,хп) е Р2 существует а-формула Ф над А, которая реализует / и глубина которой не превосходит БА(и). Отсюда следует, что число функций из Р2(и) не превосходит числа всевозможных а-формул, содержащих только переменные Х1,Х2,...,хп и имеющих глубину й, где 1 ^ й ^ БА(и). То есть выполняется неравенство 22" ^ '£k=lU(|A|иm(A">-1)d, где
к = Это неравенство можно преобразовать к виду где с\ — некоторая константа.
С другой стороны, из теоремы 1 следует, что БА (и) ^ С2иг, где С2 и г — константы. Поэтому для любых
2п ^ г
п справедливо неравенство ^ С2П , что невозможно.
Следует отметить, что при всех к ^ 3 в Рк существуют конечные а-полные системы (см. [2, 5, 6]).
Покажем, что оценка, полученная в теореме 1, вообще говоря, неулучшаема с точностью до порядка для систем монотонных булевых функций.
Пусть т ^ 3, т = т — 1, /(т(х1,... ,хт) = х1(х2 V х3 V ... V хт), А = {1(1), /(т)}, п ^ т. Обозначим через Рт\х1,... ,хп) функцию, реализуемую а-формулой
/ (т)(/(ш) ^.. /(т) (1(1) (х1 ),х1).. .,х2),х1), (5)
где д = СП?, а х1,х2,...,хч — всевозможные совокупности, которые состоят из т различных переменных множества {х1 ,...,хп}. Для определенности будем считать, что переменные в этих совокупностях упорядочены по возрастанию индексов.
Из определения следует, что £ [А]а. Отметим, что (х1,...,хп) = 0 в том и только в том
случае, когда хотя бы т аргументов этой функции обращается в нуль.
Теорема 2. При любых п ^ т ^ 2 выполняется равенство ОА(РтП) = Сп? + 1.
Доказательство. Докажем нижнюю оценку. Предположим, что существует а-формула Ф над А, реализующая функцию ЕтП, такая, что О(Ф) < СП? + 1. Пусть Ф имеет вид /^^(/¡т2) (... /(Т^(Ф, хА)..., х2), х1), где 1 ^ й < Ст-1, /т),..., /■¿тЛ) — символы функции /(т), а ф — либо символ некоторой переменной х^, где 1 ^ к ^ п, либо а-формула вида 1(1)(хк), где 1 ^ к ^ п, либо а-формула вида /¿¿т+^^^к,хЛ+1), где /¿т+г1 — символ функции /(т), 1 ^ к ^ п. Если ф есть символ переменной хк или а-формула вида
/(т+1+1 (хк,хЛ+1), то на наборе, на котором хк принимает значение 0, а все остальные переменные при-
(п)
нимают значение 1, формула Ф принимает значение 0, в то время как функция Ет должна принимать значение 1. Следовательно, ф есть а-формула вида 1(1)(хк).
Если в Ф в некоторой совокупности х3 (1 ^ ] ^ й) есть хотя бы две одинаковые переменные, то на наборе, на котором обращаются в нуль переменные этой совокупности и только они, формула Ф принимает значение 0, в то время как функция должна принимать значение 1. Поэтому все переменные, входящие в произвольную совокупность х3 (1 ^ ] ^ й), различны.
Поскольку й < Ст-1, найдется такая совокупность из т — 1 различных переменных множества {х1 ,...,хп}, которая не представлена среди хг. Рассмотрим набор, на котором каждая из переменных, входящих в эту совокупность, принимает значение 0, а все остальные — значение 1. Тогда формула Ф на этом наборе принимает значение 1, в то время как функция должна принимать значение 0, чего не может быть. Таким образом, нижняя оценка доказана. Верхняя оценка следует из представления (5). Теорема доказана.
Следствие 2. При любом натуральном р ^ 2 существует конечная система булевых функций А, такая, что С1 пр ^ (п) ^ С2пр, где С1 и С2 — константы, зависящие от А, п ^ т.
В заключение автор выражает искреннюю признательность А. Б. Угольникову за постановку задачи и обсуждение результатов работы.
СПИСОК ЛИТЕРАТУРЫ
1. Яблонский С.В. Введение в дискретную матматику. М.: Высшая школа, 2006.
2. Глухов М.М. Об а-замкнутых классах и а-полных системах функций k-значной логики // Дискретная математика. 1989. 1, вып. 1. 16-21.
3. Лупанов О.Б. О сложности реализации функций алгебры логики формулами // Проблемы кибернетики. Вып. 3. М.: Физматгиз, 1960. 61-80.
4. Угольников А.Б. О глубине формул в неполных базисах // Математические вопросы кибернетики. 1988. Вып. 1. 242-245.
5. Чернышов А.Л. Условия а-полноты систем функций многозначной логики // Дискретная математика. 1992. 4, вып. 4. 117-130.
6. Шабунин А.Л. Примеры а-полных систем k-значной логики при k = 3,4 // Дискретная математика. 2006. 18, вып. 4. 45-55.
Поступила в редакцию 26.09.2008