УДК 519.95
О СЛОЖНОСТИ РЕАЛИЗАЦИИ БУЛЕВЫХ ФУНКЦИЙ ВЕЩЕСТВЕННЫМИ
ФОРМУЛАМИ
С. Б. Гашков, Я. В. Вегнер
Рассматривается поставленная О. Б. Лупановым задача реализации булевых функций с помощью формул в базисах, состоящих из конечного числа непрерывных действительных функций и континуума констант.
Базисом B назовем пару — произвольное множество непрерывных функций Wk : Rmk ^ R и множество констант С С R. По индукции определим формулу как строку конечной длины, состоящую из символов функций, перменных, констант, запятых и скобок, имеющую вид Wk(Ai,... ,Amk), где каждая величина Ai — либо переменная, либо константа, либо другая формула в базисе B. Стандартным образом определяется функция, реализуемая формулой. Под сложностью формулы понимаем число вхождений в нее символов функций.
2n
Лемма 1. Для произвольного булевого набора а = (ai,..., a2") число a = aa = ^ 2-2iai, 0 < a < 1/3,
i=1
удовлетворяет условиям:
aj = 0 ^ cos 22jan > 1/2, aj = 1 ^ cos 22jan < -1/2.
Лемма 2. Для кусочно-линейной функции l(x) = min(1, max(0,1/2 — x)) справедливо тождество l(cos 22jan) = aj, j = 1,..., 2n. Функцию l(x) можно реализовать в базисах {x + y,x — y, xy, |x|} U [0, 1] и {x + y, cos x,xy, |x|} U [0, 1] формулами, в которые переменная x входит два раза.
Лемма 3. В базисе {x + y,xy} U [0, 1] можно построить формулу Fn(X) сложности O(n), реа-
n+1 n
лизующую функцию 22+2W-2" , где IX| = ^ 2k-1xk. Эту формулу можно реализовать с линейной
k=i
сложностью в базисах {x + y,x * y}U [0, 1] и {min(x + y, 1),x * y}U [0, 1], где
x * y = max(—1, min(1, x)) max(—1, min(1, y)).
Функции этих базисов удовлетворяют условию Липшица с константой 1 относительно нормы ||(xi,...,xn)|| = Е xi
Теорема 1. Для любого натурального n в базисе {x + y,xy, cos x, |x|} U [0, 1] существует формула Фп сложности O(2n), зависящая от одного параметра Cf и переменных (xi,... ,xn) = X, такая, что:
1) каждой булевой функции f (X) можно сопоставить константу Cf Е [0, 1], такую, что формула $n(cf, X) будет реализовывать f;
2) константа Cf входит в формулу Фп два раза.
Доказательство. Для произвольной функции f (xi,... ,xn) построим последовательность ai длины 2n по формуле ai+|x| = f (X) и сопоставим функции f код Cf = aan/2 Е [0,1]. Для произвольного набора X положим j = 1 + X |, тогда
f (X) = ai+|X | = aj = l(cos(22j a«n)) = l(cos(22j+icf)) = = l (cos(22n+1+i22j-2n+1 Cf)) = l (cos(22"+1+iFn(X)cf)) = Фп^,X).
Доказано утверждение 1 теоремы. Функцию 22"+1+ix можно реализовать многократным умножением на константу 2, для этого потребуется O(2n) операций; подформула Fn вычисляется с линейной сложностью. Поскольку функция l(x) реализуется формулой конечной сложности с двумя вхождениями переменной, доказаны утверждение 2 теоремы и оценка сложности формулы. □
Теорема 2. Любую булеву функцию f(xi,...,xn) можно реализовать формулой в базисе {x + y,xy, cos x, |x|}U [0, 1] со сложностью O(2n/2).
Доказательство. Разложим f по первым m = \_n/2\ переменным:
f (X) = Фп(С(xi,.. .,xm),xm+i,.. .,xn),
где
1 1 1
С(xl, . Хт) У ^ Х11 У ^ Х22 . . . У ^ xm cfa1,...,am ,
21=0 22=0 2m =0
fai,...,2m = fai,...,2m (xm+1, ..., xn) = f (&1, . .., &m, xm+1, . .., xn),
x1 = x, x0 = 1 — x. Подформула С(x1,..., xm) реализует мультилинейный полином, сохраняющий отрезок [0, 1], и имеет сложность O(2m) = O(2n/2). Поскольку формула Фп реализуется со сложностью O(2n/2) и подформула С (X) подставляется в нее два раза, сложность всей формулы составляет O(2n/2). □
Замечание 1. Формулу С(x1,... ,xm) можно реализовать в полиномиальном базисе {x + y,xy, 1 — x} и в кусочно-полиномиальных базисах {x + y,x * y, 1 — x}, {min(x + y, 1),x * y, 1 — x}.
Замечание 2. Из теоремы 2 следует, что для базиса {x + y,xy, cos x, |x|} U [0,1] нижняя оценка теоремы 12 из [1] по порядку неулучшаема. Добавление функции x2 в этот базис приводит к базису, не удовлетворяющему условию теоремы 12 из [1], и для нового базиса утверждение теоремы 12 из [1] перестает быть верным.
Лемма 4. Существует кусочно-линейная 4-периодичная функция u(x), u(4k) = 1, u(4k + 2) = —1, u(2k + 1) = 0, k E Z, такая, что для числа aa из леммы 1 выполнены условия:
aj = 0 ^ u(22j+1a) > 1/3, aj = 1 ^ u(22j+1 a) < —1/3.
Следствие 1. Пусть 1{х) = min(l,max(0, ^ — |ж)). Справедливо тождество ¿(-u(22:,+1a)) = aj.
Лемма 5. Функцию l(x) можно реализовать формулой в следующих базисах с конечной сложностью и двумя вхождениями переменной:
{x + y,x — y,xy, |x|} U [0,1], {x — y,xy, |x|} U [0,1], {x — y,x * y, |x|} U [0,1].
Лемма 6. В конечном базисе {х — у, 2х, \х\, 1} можно реализовать функцию и(22"+1+1х),х Е [0, формулой сложности O(2n) с одним вхождением переменной.
Лемма 7. Функцию u(x) можно реализовать на отрезке [0, 22"+1 ] формулой сложности O(2n) с одним вхождением переменной в бесконечном базисе {|x|}U{x — c : c > 0}, имеющем липшицеву норму 1.
Теорема 3. Для любого натурального числа n в каждом из базисов {x + y,x — y, xy, |x|} U [0, {x — y, xy, 2x, |x|} U [0,1], {x — y,x * y, 2x, |x|} U [0,1] существует формула Фп(с/, X) сложности O(2n), такая, что:
1) каждой булевой функции f можно сопоставить такую константу Cf E [0, 1], что формула Фп(с/, X) будет реализовывать f;
2) константа cf входит в формулу два раза.
Доказательство. Доказательство производится аналогично доказательству теоремы 1, в котором вместо функции cos x используется функция u(x), а вместо п — константа 2. Для произвольной f (X) строим последовательность a1+|x| = f (X) и сопоставляем функции f код Cf = aa E [0,1]. Для произвольного набора X, полагая j = 1 + X |, получаем
f (X) = a1+|X | = aj = l(u(22j+1 a«)) = l(u(22j+1 Cf)) =
= l (u(22n+1+122j-2n+1 Cf)) = l (u(22"+1+F(X)cf)) = Фn(cf ,X).
Доказано утверждение 1 теоремы.
Для того чтобы равенство aj = l(u(22"+1+1 Fn(X)cf)) выполнялось при всех значениях X, достаточно,
чтобы функция u(x) реализовывалась на отрезке [0, 22 ] (поскольку cf = aa < 1/3, Fn(X) < 1). Она должна быть реализована со сложностью O(2n) и ограниченным числом вхождений переменной. В первом базисе это делается согласно лемме 7. Во втором и третьем базисе реализуем функцию u(22 +1x) по лемме 6. Поскольку Fn(x) реализуется во всех базисах с линейной сложностью, а l(x) — с фиксированной сложностью и двумя вхождениями переменной, получаем утверждение 2 теоремы и оценку сложности формулы. □
Теорема 4. В кусочно-полиномиальных базисах {x+y,x—y, xy, |x|}U[0, {x—y, xy, 2x, |x|}U[0,1],
{x—y, x*y, 2x, |x|}U[0,1] любую булеву функцию f (X) можно реализовать формулой сложности O(2n/2).
Доказательство повторяет ход доказательства теоремы 2 с формулой Фn(cf ,Х) из теоремы 3. □ Замечание 3. Во втором базисе нельзя обойтись без модуля, что видно из теоремы 11 из [1]. В третьем базисе нельзя обойтись без функции 2х, так как тогда в нем сложность формул была бы по порядку не меньше 2п/п согласно теореме 9 из [1]. В этом базисе достигается по порядку оценка теоремы 12 из [1].
Работа выполнена при частичной поддержке грантов РФФИ № 05-01-0099, 08-01-00863, НШ 1807.2003.1, ОМН РАН (проект "Оптимальный синтез управляющих систем").
СПИСОК ЛИТЕРАТУРЫ
1. Гашков С.Б. Сложность реализации булевых функций схемами из функциональных элементов и формулами в базисах, элементы которых реализуют непрерывные функции // Проблемы кибернетики. 1980. Вып. 37. 57-118.
Поступила в редакцию 02.04.2007
УДК 512.628
КАНОНИЧЕСКИЕ ХАРАКТЕРИСТИЧЕСКИЕ МНОЖЕСТВА ХАРАКТЕРИЗУЕМЫХ
ДИФФЕРЕНЦИАЛЬНЫХ ИДЕАЛОВ
О. Д. Голубицкий, М. В. Кондратьева, А. И. Овчинников
1. Введение. Мы будем рассматривать дифференциальные идеалы в кольце к{у1,...,уп} дифференциальных многочленов в частных производных над полем нулевой характеристики. Все необходимые понятия и обозначения можно найти в [1-3].
Определение 1 [1, с. 82]. Авторедуцированное подмножество наименьшего ранга в идеале I называется характеристическим множеством идеала I.
Согласно [4, лемма 5.3], авторедуцированное множество А является характеристическим для неединичного дифференциального идеала I тогда и только тогда, когда каждый элемент идеала I редуцируется к нулю относительно А.
Характеристическое множество играет в компьютерной дифференциальной алгебре ту же роль, что базис Гребнера в теории алгебраических идеалов. Поэтому естественно стремление выделить среди характеристических множеств объект, обладающий свойством единственности (как редуцированный базис Гребнера). Идея канонического характеристического множества возникла в работах [5, 6]. Наше определение отличается тем, что оно годится для произвольного дифференциального идеала.
Определение 2 [7, определение 2.6]. Радикальный дифференциальный идеал I в к{у1,... ,уп} называется характеризуемым, если найдется характеристическое множество А идеала I, такое, что I = [А] :
ТТОО
НА.
Пусть С — авторедуцированное множество в к{у1,... ,уп} = к{У} и пусть к [Ж ][Ь] — кольцо многочленов, ассоциированное с С, где Ь — множество лидеров элементов из С и N — множество нелидеров, т.е. N = ВУ \ ВЬ. Заметим, что N может быть бесконечным, если А = 0.
Определение 3. Характеристическое множество С = С1,...,СР дифференциального идеала I называется каноническим, если для всех 1 < г < р выполнены следующие условия:
(1) инициал \о1 зависит только от множества нелидеров N;
(2) многочлен С1 не имеет делителей в I, кроме самого С;
(3) старший коэффициент С1 относительно индуцированного лексикографического упорядочения <1ех на мономах из N и Ь равен 1.
Предложение 1. Пусть С — такое характеристическое множество характеризуемого дифференциального идеала I, что его инициалы не зависят от лидеров С. Тогда С характеризует I, т.е. I = [С] : Н
Как показывает следующий пример, не во всяком дифференциальном идеале существует каноническое характеристическое множество. Но если такое множество существует, то оно зависит только от ранжира и идеала.
Пример. Пусть I = {х(х —1),ху} — идеал в кольце дифференциальных многочленов к{х, у}, ранжир исключающий и х < у. Тогда в идеале I никакое характеристическое множество не является каноническим.