О ГЛУБИНЕ α-ПОПОЛНЕНИЯ СИСТЕМ БУЛЕВЫХ ФУНКЦИЙ

УДК 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: dimkatr@yandex.ru.

минимальной (для функции /), если Ф реализует / и О(Ф) = ОА (/). Определим функцию Шеннона

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)

где й > 1, /Г) Е а (1 < ] ^ й). При этом вхождения функциональных символов /¡Г) и /¡т^1 в эту формулу будем называть последовательными (1 ^ к ^ й — 1).

Лемма. Пусть А — произвольная конечная система булевых функций, ф — а-формула над А, а /^т),..., /(т1+1) — функции из А, к ^ 1. Тогда имеют место следующие равенства:

/Гч... /Г

где 1 ^ ] < д < к, г* = гк, Х* = Хк и г* = гк+1, Х* = Хк+1;

ft](-.. ft3) (... m-1 fmk) (ф, xk ),xk-i) ...,xj) ...,xi ) =

=f

'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)

где 1 ^ j < k, ij = ik = ik+i, xj = xk = xk+i.

Доказательство. Докажем равенство (2). Обозначим левую часть равенства (2) через Ф^ а правую часть — через Ф2. Пусть а = (ai,...,ап) — произвольный набор значений переменных. Покажем, что Ф^а) = Ф2(а). Набор значений, принимаемых переменными из набора xj, обозначим через aj. Если

ft)

есть также либо х, либо х. Отсюда следует, что имеет место равенство ак+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,х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