О нижней оценке функции Шеннона длины сертификата повторности булевых функций в одном семействе базисов

Известия высших учебных заведений. Поволжский регион

УДК 517.718.7

Д. В. Кафтан

О НИЖНЕИ ОЦЕНКЕ ФУНКЦИИ ШЕННОНА ДЛИНЫ СЕРТИФИКАТА ПОВТОРНОСТИ БУЛЕВЫХ ФУНКЦИИ В ОДНОМ СЕМЕЙСТВЕ базисов

Аннотация.

Актуальность и цели. В связи с развитием информатики и цифровой техники актуальным является исследование различных свойств булевых функций. Одним из важных свойств является возможность представления функции в заданном базисе формулой без повторения переменных (бесповторной формулой). Функции, которые можно так представить (бесповторные функции в данном базисе), можно рассматривать как класс «простых» функций в данном базисе. В статье рассматривается следующая задача: для заданной функции требуется найти такой набор строк (сертификат), с помощью которого можно проверить ее повторность в предэлементарном базисе, содержащем функцию семейства дискриминаторных, зависящую от s переменных. Целью данной работы является улучшение нижней оценки функции Шеннона длины сертификата повторности в этом базисе.

Материалы и методы. Используется метод разнозначных матриц и удачный подбор функции с высокой нижней оценкой длины сертификата повторности.

Результаты и выводы. Показано, что сертификат повторности функции n переменных, равной единице только на нулевом и единичном наборах, в этом базисе имеет длину не менее n/2 - s + 1. Таким образом улучшена известная нижняя оценка n/s функции Шеннона длины сертификата повторности в этом базисе.

Ключевые слова: бесповторная функция, сертификат повторности, семейство дискриминаторных функций, разнозначная матрица.

D. V. Kaftan

ON THE LOWER BOUND OF THE SHANNON FUNCTION FOR READ-MANY CERTIFICATE LENGTH IN ONE BASE FAMILY

Abstract.

Background. The research of various properties of Boolean functions is an actual problem in connection with the progress of informatics and digital technology. The ability of a function to be represented in a given basis via a formula without replication of variables (a read-once formula) is an important one. The class of functions having this ability may be regarded as a class of “simple” functions in this basis. The author considers a problem of finding a read-many certificate for an arbitrary Boolean function in the extended elementary basis with a discriminator function of s variables. The object of the article is to improve the lower bound of the Shannon function for read-once certificate length in this basis.

Materials and methods. The method named “the matrix of various values” is applied in this paper to a well-selected read-many function with a high lower bound of a read-many certificate.

Results and conclusion. The author shows that the length of s read-many certificate of a function, which equals to 1 only on the sets (0,...,0) and (1,...,1), is not

68

University proceedings. Volga region

№ 1 (33), 2015

Физико-математические науки. Математика

less than n/2 - s + 1 in this basis. Thus, the researcher has improved the known lower bound n/s of Shannon function for the certificate length in this basis.

Key words: read-once function, read-many certificate, discriminator function, matrix of various values.

Булева функция f(X1,...,xn), представимая (не представимая) формулой без повторения переменных (бесповторной формулой) в некотором базисе, называется бесповторной (повторной) в этом базисе. Множество n -мерных булевых наборов S назовем сертификатом повторности функции f в базисе B, если для любой бесповторной в базисе B функции h существует набор x е S, такой что f (x) Ф h(x).

Преобразованиями обобщенной однотипности называются замены переменной или самой функции на ее отрицание и перестановка переменных. Функции, получаемые друг из друга конечным числом преобразований обобщенной однотипности, называются обобщенно однотипными.

Длиной сертификата повторности назовем количество наборов в нем.

Функцией Шеннона [1] длины сертификата повторности функций в базисе B называется наибольшая длина сертификата повторности среди повторных в B функций n переменных.

Строку или столбец, состоящие из одних единиц (нулей), будем называть единичными (нулевыми). Обозначим через в} строку с одной единицей в i -й позиции.

Будем называть наследственными базисы, которые содержат все подфункции каждой лежащей в них функции.

Далее рассматриваются только наследственные базисы.

Повторная функция в базисе B называется слабоповторной, если любая ее подфункция бесповторна в этом базисе. В. А. Стеценко [2] получил все пять семейств слабоповторных функций в элементарном базисе B0 ={&,V,—} с точностью до обобщенной однотипности:

fd = x1(x2 V x3 •...• xs) V x2 •...• ^, s > 3,

ft = x1 •...• xs Vx •...• xs, s > 2,

fm = x1(x2 V... V xs) V x2 •...• xs, s > 3, ft = x1(x2 V x3) V x3x4, f = x1(x3xt Vx5) Vx2(x3 Vxtx5).

Семейство fd называется также семейством дискриминаторных функций.

Рассмотрим семейство базисов Bd ={&,v,—, fd}. Обозначим через

Ts (n) функцию Шеннона [1] длины сертификата повторности в базисе Bd . В работах [3, 4] исследуется длина сертификата повторности в других базисах. Известно [5], что Ts(n) > n / s . Покажем, что имеет место следующая оценка:

Physical and mathematical sciences. Mathematics

69

Известия высших учебных заведений. Поволжский регион

Теорема. При n >2s — 4 верно

Ts(n) ^ n—s + 3.

Известно [5], что функция fn является повторной в базисе Bd и для доказательства ее повторности в этом базисе достаточно предъявить не более n + 2 наборов - множество {(0,____,0),(1,_,1),e\,...,en}.

Докажем, что функцию f™ нельзя отличить от всех бесповторных в Bd функций, равных единице на нулевом и единичном наборах, предъявив

менее — — s + 3 наборов. Для этого используем метод разнозначных матриц

[6]. Назовем 0 — 1 матрицу разнозначной, если все ее строки различны, и она не имеет ни нулевых, ни единичных строк. Будем говорить, что функция f (Xi,...,xn) моделирует разнозначную матрицу M размерности kXn, если f(0,...,0) = f(1,...,1) = 1 и f(ai,...,an) = 0 для любой строки {cq,...,an} матрицы M.

Будем говорить, что строка имеет 0-преобладание, если в ней количество нулей больше или равно количеству единиц, в противном случае будем говорить, что строка имеет 1-преобладание. В строке с 0-преобладанием (1-преобладанием) значение 0 (соответственно 1) будем называть обычным, а значение 1 (соответственно 0) - особым.

Опишем процедуру разбиения столбцов разнозначной матрицы, которая содержит строки обоих типов.

Процедура 1

n

Дано: разнозначная матрица M с n >2s — 4 столбцами и k < — — s +1

строками, имеющая и строки с 0-преобладанием, и строки с 1-преобладанием. Таким образом, в матрице содержится не менее двух строк. Не ограничивая общности, пусть первая строка матрицы имеет 0-преобладание, а вторая -1-преобладание. Пусть C - множество всех столбцов матрицы. Получим из него три множества Q, C—, C3 столбцов, а множество всех строк матрицы разобьем на два множества строк R1, R— согласно следующей процедуре:

(1) Положим C1 = C— = C3 = R1 = R— = 0 .

(2) До тех пор, пока в C3 меньше s — 2 столбца и пока не кончились строки, последовательно рассмотрим каждую строку, начиная с первой. Добавим рассматриваемую строку в R1 . Возможны четыре случая:

(a) Строка имеет 1-преобладание и не имеет нулей на столбцах из C3 . Тогда у нее есть нуль на каком-то столбце из C . Переместим этот столбец из

C в C3.

(b) Строка имеет 0-преобладание, у нее нет единиц ни на одном столбце из C3 или C3 пусто. Тогда в C есть столбец, на котором она равна единице. Переместим его из C в C3 .

70

University proceedings. Volga region

№ 1 (33), 2015

Физико-математические науки. Математика

(c) C3 непусто, строка имеет 0-преобладание и у нее есть единица на каком-то столбце из C3 . Тогда в C есть столбец, на котором она равна нулю, так как (s — 2) столбца - это меньше половины всех столбцов, а на строке с 0-преобладанием не менее половины столбцов равны нулю. Переместим его из C в C3 .

(d) Во всех остальных случаях ничего не делаем.

Таким образом, за t рассмотренных строк мы добавили не более t столбцов.

(3) Если закончились строки и | C31< s — 2, то переместим еще несколько произвольных столбцов из C в C3, чтобы в C3 стало (s — 2) столбца.

(4) Обозначим xj,...,xs—2 столбцы из C3 . Если остались нерассмотренные строки, то для каждой из них сделаем следующее: если у строки есть особенное значение на каком-то столбце из C , то переместим его из C в C3 . Если особые значения у строки есть только на столбцах xj,...,xs—2, то добавим эту строку в Rj . Таким образом, | C3 |< к .

(5) Добавим в R2 все строки матрицы, не вошедшие в Rj.

(6) Первая рассмотренная в пункте (2) строка имеет 0-преобладание. Тогда она равна единице на каком-то из столбцов xj,...,xs—2 согласно случаю (b) этапа (2). Строка содержит больше половины нулей, а на предыдущих шагах из C было удалено меньше половины столбцов:

n

n — | C3 |>n — к >^, поэтому существует хотя бы один столбец в C , на

котором она равна нулю. Переместим его из C в Q .

(7) Рассмотрим последовательно строки из Rj, имеющие 1-преобладание. Строка содержит больше половины единиц, а на предыдущих шагах из

n

C было удалено меньше половины столбцов: n — | C3 | —! > n — к — j>^,

поэтому остался хотя бы один столбец с единицей либо в C2 , либо в C . Если таких столбцов нет в C2 , то таковой найдется в C . Переместим его из C в C2.

(8) Рассмотрим последовательно все остальные строки из Rj, не рассмотренные на этапах (6), (7). Они имеют 0-преобладание. Если у рассматриваемой строки нет нулей ни на каком столбце из Cj , то либо в C существует хотя бы один столбец с нулем в этой строке, либо в C остались только столбцы с единицами в этой строке. Если первое, то переместим столбец с нулем в этой строке из C в Cj , если второе - то переместим любой столбец из C в C2 .

Заметим, что множества Cj и C2 непусты, так как на этапе (6) для первой строки матрицы один столбец добавлен в Cj , а для второй строки на этапе (7) один столбец добавлен в C2 . Так как для каждой строки из Rj было взято не более одного столбца, то | Cj | +1C2 |<| Rj |. Процедура окончена.

Physical and mathematical sciences. Mathematics

71

Известия высших учебных заведений. Поволжский регион

Опишем две процедуры разбиения столбцов разнозначной матрицы, все строки которой имеют одинаковое преобладание.

Процедура 2

П

Дано: разнозначная матрица M с n >2s - 4 столбцами и k < - s +1

строками, имеющими 0-преобладание. Пусть C - множество всех столбцов матрицы. Получим из него два множества Q, C2 столбцов и множество строк Rl согласно следующей процедуре:

(1) Положим Ci = C2 = 0 .

(2) Обозначим первые (s - 2) столбца матрицы xi,..., xs-2 .

(3) Последовательно для каждой строки, равной нулю на всех этих столбцах, сделаем следующее. Так как матрица разнозначная и Q пусто, то либо в C2, либо в C есть столбец с единицей в этой строке. Если такого нет в C2, то переместим один такой столбец из C в C2 .

(4) Последовательно для каждой строки, у которой есть единица на каком-то из столбцов xi,...,xs-2, сделаем следующее. Так как количество строк с нулями во всех этих столбцах не превосходит общего количества строк, то количество выбранных на предыдущем этапе столбцов меньше половины всех столбцов матрицы. Поэтому либо в C, либо в Q у рассматриваемой строки существует столбец, на котором она равна нулю. Если такого нет в C1 , то переместим один такой столбец из C в C1 .

(5) Если Ci или C2 пусто, то добавим туда любой столбец из C . Это возможно, так как количество выбранных столбцов не превосходит k , а значит, меньше n .

(6) Отметим, что в пунктах (3), (4) мы рассмотрели все строки. Положим Ri равным множеству всех строк.

Процедура окончена.

Процедура 3

П

Дано: разнозначная матрица M с n >2s - 4 столбцами и k <^ - s +1

строками, имеющими i-преобладание. Пусть C - множество всех столбцов матрицы. Получим из него два множества Ci, C2 столбцов и множество строк Ri согласно следующей процедуре:

(1) Положим Ci = C2 = 0 .

(2) Обозначим первые (s -2) столбца матрицы xi,.,xs-2 .

(3) Последовательно для каждой строки, равной единице на всех этих столбцах, сделаем следующее. Так как матрица разнозначная и C2 пусто, то либо в Ci, либо в C есть столбец с нулем в этой строке. Если такого нет в Ci , то переместим один такой столбец из C в Ci

(4) Последовательно для каждой строки, у которой есть нуль на каком-то из столбцов xi,.,xs-2, сделаем следующее. Так как количество строк

72

University proceedings. Volga region

№ 1 (33), 2015

Физико-математические науки. Математика

с единицами во всех этих столбцах не превосходит общего количества строк, то количество выбранных на предыдущем этапе столбцов меньше половины всех столбцов матрицы. Поэтому либо в С , либо в у рассматриваемой строки существует столбец, на котором она равна единице. Если такого нет в С2, то переместим один такой столбец из С в С^.

(5) Если С или С2 пусто, то добавим туда любой столбец из С . Это возможно, так как количество выбранных столбцов не превосходит k, а значит, меньше n .

(6) Отметим, что в пунктах (3), (4) мы рассмотрели все строки. Положим Rj равным множеству всех строк.

Процедура окончена.

Пусть x ...,xi - столбцы из Q, а xt ...,xt - столбцы из С2.

Обозначим

Покажем, какими свойствами обладают множества Q, С2, Rj и функция g после применения любой из этих процедур:

Утверждение 1. Либо Rj - множество всех строк матрицы, либо

Доказательство. В процедурах 2 и 3 на этапе (6) множество Rj приравнивается множеству всех строк.

Множество всех строк, рассмотренных на этапе (2) процедуры 1, содержится в Rj. Если на этом этапе закончились строки, то Rj - множество всех строк матрицы. Если этот этап закончился при | С31= s — 2, то | Rj |> s — 2 , так как за t рассмотренных на этом этапе строк мы добавили не более t столбцов.

Утверждение 2. Функция g равна нулю на множестве Rj.

Доказательство. Если матрица содержит только строки с 0-преобладанием, то для любой строки из Rj возможны два варианта:

!) она равна нулю на всех столбцах xj,.,xs—2 . Следовательно, на этапе (3) процедуры 2 в С2 оказался столбец, в котором она равна единице. Следовательно, функция g равна нулю;

2) она равна единице на каком-то из столбцов xj,.,xs—2. Тогда на этапе (4) процедуры 2 в С оказался столбец, в котором она равна нулю. Следовательно, функция g равна нулю.

Если матрица содержит только строки с ^преобладанием, то для любой строки из Rj возможны два варианта:

!) она равна единице на всех столбцах xj,.,xs—2. Тогда на этапе (3) процедуры 3 в С оказался столбец, в котором она равна нулю. Следовательно, функция g равна нулю;

g (x

Physical and mathematical sciences. Mathematics

73

Известия высших учебных заведений. Поволжский регион

2) она равна нулю на каком-то из столбцов xs_2 . Тогда на этапе

(4) процедуры 3 в С2 оказался столбец, в котором она равна единице. Следовательно, функция g равна нулю.

Если матрица содержит строки обоих видов, то для любой строки из R\ возможны три варианта:

1) строка имеет 0-преобладание и равна нулю на каком-то столбце из Q . Тогда согласно случаю (b) этапа (2) процедуры 1 и этапу (4) на одной из позиций xi,...,xs_2 есть единица. Следовательно, функция g равна нулю;

2) строка имеет 0-преобладание и на каждом столбце из C1 строка равна единице. Согласно случаю (c) этапа (2) процедуры 1 она равна нулю на каком-то столбце из xi,...,xs_2 . На этапе (8) процедуры 1 в C2 был добавлен столбец с единицей в этой строке. Следовательно, функция g равна нулю;

3) строка имеет 1-преобладание. Тогда на этапе (7) процедуры 1 в C2 был добавлен столбец, который равен единице в этой строке. Согласно случаю (а) на этапе (2) и этапу (4), в этой строке на одной из позиций x1,...,xs_2 есть нуль. Следовательно, g равна нулю на этой строке.

Утверждение доказано.

Утверждение 3. Функция g равна нулю либо на всех строках

б IC1I + IC2I+S _ 2

матрицы, либо не менее чем на —i^---------- строках.

Доказательство. Согласно утверждению 1 R1 либо является множеством всех строк матрицы, либо R1 > s _ 2 . В первом случае согласно утверждению 2 функция g равна нулю на всех строках матрицы.

Пусть R1 не является множеством всех строк матрицы. Тогда | +1 C2 |<| R1 |, так как на этапах (6), (8) процедуры 1 для каждой строки из было взято не более одного столбца. Так как R1 > s _ 2, то

R1

2

столбцов из множества нулю, не

C1 u C2 u приводит

Утверждение доказано.

Утверждение 4. Удаление u{x1,..., xs _2} и строк, на которых g равна к образованию нулевых или единичных строк.

Доказательство. Функция g может быть не равна нулю только на

каких-то строках из множества R2 после применения процедуры 1, так как иначе по утверждению 3 множество R1 - это множество всех строк матрицы. Рассмотрим любую строку из R2 . Возможны два варианта:

1) все ее значения на столбцах x1,...,xs_2 обычные. Тогда множества C1 и C2 не пересекаются с C3, так как каждый столбец перемещался только

74

University proceedings. Volga region

№ 1 (33), 2015

Физико-математические науки. Математика

один раз из C в одно из этих множеств. На этапе (4) процедуры 1 в C3 был добавлен столбец с особым значением в этой строке, поэтому строка имеет особое значение на каком-то столбце из C3, отличном от xi,..., xs _2;

2) строка имеет особое значение на одном из столбцов xi,...,xs_2. Тогда строка, так же как в предыдущем случае, имеет особое значение на каком-то столбце из C3, отличном от x^...,xs_2, иначе оказалась бы в Ri .

Таким образом, у строки есть столбец с особым значением, не лежащий в Ci U C2 ^ {xi, • • •, xs-2 } .

Всего удаляется не более половины столбцов:

n - (s - 2)- | C2 | - | C1 |> n - s + 2 - k > 2,

поэтому существует хотя бы один столбец с обычным значением, не лежащий в Q u C2 и {xi,..., xs-2} . Тогда при удалении столбцов Q u C2 и u{xi,..., xs-2} в этой строке останется хотя бы одно особое значение и хотя бы одно обычное, т.е. строка будет разнозначной. Таким образом, удаление из матрицы строк, на которых g равна нулю, не приводит к образованию нулевых или единичных строк. Утверждение доказано.

Из утверждения 3 следует

Утверждение 5. Если R - множество всех строк матрицы, то функция g ее моделирует.

Лемма 1. Для любой разнозначной матрицы M с n > 2s - 4 столбцами n

и k <2-s +1 строками всегда найдется бесповторная в B‘d функция,

моделирующая эту матрицу и равная единице на нулевом и единичном наборах.

Доказательство. Базис индукции. Пусть 2s - 4< n < 4s - 8. Применив к матрице одну из процедур i-3, получим множества Ci,C2,Ri и функцию g . Количество строк в матрице меньше s - 2 . Следовательно, Ri - множество всех строк матрицы, и по утверждению 5 функция g ее моделирует. Следовательно, g будет искомой функцией. Заметим, что количество переменных функции g не превосходит 2s - 4 , так как | Q | + | C2 | не превосходит | Ri |.

Индуктивный переход. Пусть n >4s - 8 и для всех n < n (где n >2s -4) утверждение леммы выполнено. Применив к матрице одну из процедур i-3, получим множества Ci,C2,Ri и функцию g . Тогда возможны два варианта:

1) Ri является множеством всех строк матрицы. Тогда по утверждению 5 функция g моделирует матрицу M и является искомой функцией;

2) Ri не является множеством всех строк матрицы. Получим матрицу M' из матрицы M удалением всех строк, на которых g равна нулю, столбцов из множеств Ci,C2 и столбцов xi,.,xs-2 . Склеим одинаковые

Physical and mathematical sciences. Mathematics

75

Известия высших учебных заведений. Поволжский регион

строки, если таковые имеются. Покажем, что полученная матрица M' удовлетворяет условиям леммы. Действительно, M' имеет к' = к — | ^ | строк и n = n — (| Cj | +1 C2 | + s — 2) столбцов, для которых выполнено условие

к' =

< s +1 —L~u—---------

2 2

— s +1< s +1.

2

Согласно утверждению 4 удаление этих столбцов и строк не приводит к образованию нулевых или единичных строк, поэтому полученная матрица разнозначная. Следовательно, по предположению индукции, существует

бесповторная в Bj функция g'(Jp...,yn'), моделирующая матрицу M'. Тогда функция g  g' моделирует матрицу M . Действительно, на нулевом и единичном наборах обе функции равны единице, а на всех остальных наборах равна нулю либо g (по утверждению 2), либо g' (по предположению индукции). Таким образом, функция g  g' является искомой. Лемма доказана.

n

Лемма 2. Пусть n >2s — 4 и к <^ — s + 3. Тогда для произвольных к

наборов функции fP(Л1,...,xn) существует бесповторная в Bj функция

g(Х1,..., xn), совпадающая с ftn на этих наборах.

Доказательство. Пусть A - множество из к наборов функции fP (Х1,..., xn). Если среди них нет нулевого или единичного набора, то fр совпадает на A с одной из функций Х1 ...  xn или Х[ ...  xn . Если A содержит и нулевой, и единичный набор, то матрица M , составленная из остальных наборов A, является разнозначной матрицей размера (к — 2) X n,

n

где к — 2< ^ — s +1, и удовлетворяет условию леммы 1. Следовательно,

существует бесповторная в Bj функция g(x1,...,xn), совпадающая с fP на A . Лемма доказана.

Из леммы 2 следует утверждение теоремы.

Список литературы

1. Shannon, C. E. A symbolic analysis of relay and switching circuits / C. E. Shannon // Trans. - 1938. - AIEE 57. - P. 713-723.

2. Стеценко, В. А. О предплохих базисах в P2 / В. А. Стеценко // Математические вопросы кибернетики. - Вып. 4. - М. : Физматлит, 1992. - С. 139-177.

3. Chistikov, D. Certificates of Non-Membership for Classes of Read-Once Functions / D. Chistikov, V. Fedorova, A. Voronenko // Fundamenta Informaticae. - 2014. -№ 132 (1). - P. 63-77.

4. Вороненко, А. А. Повторность булевых функций в элементарном базисе /

А. А. Вороненко, В. С. Федорова, Д. В. Чистиков // Известия вузов. Математика. -2011. - № 11. - C. 72-77.

76

University proceedings. Volga region

№ 1 (33), 2015

Физико-математические науки. Математика

5. Вороненко, А. А. О функции Шеннона для длины сертификата повторности булевых функций в одном семействе базисов / А. А. Вороненко // Вестник Московского университета. Сер. 15. Вычислительная математика и кибернетика. -2013. - № 4. - С. 45-47.

6. Вороненко, А. А. О сложности доказательства повторности булевых функций в бинарном базисе / А. А. Вороненко // Прикладная дискретная математика. -2011. - № 3 (13). - С. 12-16.

References

1. Shannon C. E. Trans. 1938, AIEE 57, pp. 713-723.

2. Stetsenko V. A. Matematicheskie voprosy kibernetiki [Mathematical problems of cybernetics]. Issue 4. Moscow: Fizmatlit, 1992, pp. 139-177.

3. Chistikov D., Fedorova V., Voronenko A. FundamentaInformaticae. 2014, no. 132 (1), pp. 63-77.

4. Voronenko A. A., Fedorova V. S., Chistikov D. V. Izvestiya vuzov. Matematika [University proceedings. Mathematics]. 2011, no. 11, pp. 72-77.

5. Voronenko A. A. Vestnik Moskovskogo universiteta. Ser. 15. Vychislitel’naya matematika i kibernetika [Bulletin of Moscow University. Series 15. Calculus mathematics and cybernetics]. 2013, no. 4, pp. 45-47.

6. Voronenko A. A. Prikladnaya diskretnaya matematika [Applied discrete mathematics]. 2011, no. 3 (13), pp. 12-16.

Кафтан Дарья Владимировна

аспирант, Московский государственный университет имени М. В. Ломоносова

E-mail: blond.programmist@gmail.com

Kaftan Daria Vladimirovna Postgraduate student, Moscow State University named after M. V. Lomonosov

УДК 517.718.7 Кафтан, Д. В.

О нижней оценке функции Шеннона длины сертификата повторности булевых функций в одном семействе базисов / Д. В. Кафтан // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. - 2015. - № 1 (33). - С. 68-77.

Physical and mathematical sciences. Mathematics

77