Серия «Математика»
2009. Т. 2, № 2, С. 72-81
Онлайн-доступ к журналу: http://isu.ru/izvestia
ИЗВЕСТИЯ
Иркутского
государственного
университета
УДК 519.71
Оценки сложности шаблонов минимизации полиномиальных форм булевых функций *
К. Д. Кириченко
Восточно-Сибирская государственная академия образования
Аннотация. В статье вводится понятие шаблона минимизации полиномиальных форм булевых функций, приводится классификация шаблонов и доказываются некоторые оценки сложности.
Ключевые слова: булевы функции; полиномиальные нормальные формы; функция Шеннона.
1. ^Шаблоны минимизации полиномиальных форм
Одной из актуальных задач дискретной математики является задача нахождения и минимизации представлений конечнозначных, и в частности булевых функций. Здесь рассматривается вопрос о представлении булевых функций многочленами. В теории булевых функций такие представления носят название полиномиальных нормальных форм (ПНФ). Некоторые верхние оценки сложности ПНФ можно найти в работах [3, 2, 5, 4].
Сформулируем некоторые определения.
Определение 1. Полиномиальной нормальной формой булевой функции /(¿1,..., хп) будем называть представление вида
£ П
/(¿1, ...,г,п) = X) П(У]гз ®%)
¿=13=1
Здесь х3 и это коэффициенты из поля {0,1}, при подстановке которых каждая скобка обращается либо в либо в либо в 1. От-
* Работа выполнена при финансовой поддержке РФФИ, грант 09-01-00476а.
метим, что при xj = yj = 0, скобка обращается в ноль, однако такая подстановка с точки зрения минимизации бессмысленна.
s n
Определение 2. Сложностью ПНФ J2 П (yjZj ® xjZj) будем назы-
i=i j=i
вать число слагаемых s.
Определение 3. Сложностью булевой функции L(f) в классе ПНФ будем называть минимум из сложностей ПНФ, представляющих данную функцию.
Определение 4. Функцией Шеннона L(n) сложности булевых функций в классе ПНФ будем называть максимум из сложностей по всем функциям n переменных.
Для L(n) лучшей по порядку доказанной нижней оценкой является
2n Глл ~ 2(log2 n+1)2n rQl TJ
n log2 з [4], а верхней v 2 n—-— [3]. В связи с тем что эти оценки на сегодняшний день различаются, интересным и актуальным является вопрос их уточнения.
Для нахождения ПНФ для данной булевой функции f, требуемой сложности s можно воспользоваться методом неопределенных коэффициентов, подставив значения аргументов и значение функции в ПНФ с неопределенными коэффициентами, что позволит получить следующую систему из 2n уравнений.
’ У1У2 • •уП ® У 2УІ • •уП ф . .ф У 1УІ2 • •уП = f (1,1,. ., 1)
X1 У2 • ••уП ® х2У2 • •уП ф.. .ф X 1 у!- •уП = f (0,1,. ., 1)
У 1 x2 ■ ••уП ф y 2x2- •уП ф . .ф y 'М • 11 •уП = f (1, 0,. ., 1)
ГУ» 1 ГУ» 1 . x 1^2 ••уП ® x2x2 x x2 ••у2 ф.. .ф x x2 ••уП = f (0,0,. ., 1)
rv> 1 rv> 1 . x 1Х2 • • Xn ф x2x2 x x2 x2 ф . .ф 11 x x2 x1 = f (0,0,. . , 0)
Таким образом, каждый многочлен в левой части уравнения соответствует некоторому двоичному набору. Поэтому мы будем обозначать его Ят*, а уравнение записывать в виде Я? = / (г)
Данная система уже может рассматриваться как система уравнений над полем ^2. Любому решению такой системы однозначно сопоставляется некоторая ПНФ, представляющая заданную булеву функцию. Если решение системы не существует, то ПНФ длины в отсутствует.
В настоящее время разработано несколько методов решения нелинейных уравнений над полем ^2, однако ни один из этих методов не позволяет быстро находить решения в общем случае. Так, для примера, наиболее известный в настоящее время метод линеаризации не будет являться достаточно эффективным по причине слишком большой нелинейности в данной системе. Обзор методов решения нелинейных уравнений над конечными полями можно найти в обзоре[1].
Для исследования вопросов сложности ПНФ нами был разработан метод шаблонов.
Пусть определена некоторая подстановка а, заменяющая некоторые из переменных на термы. Тогда обоначим Я? (а) многочлен Я? после подстановки а
Определение 5. Шаблоном (в(п),а) будем называть такую константу в(п), зависящую от числа переменных булевой функции п, и такую подстановку а, заменяющую некоторые из переменных системы Я на некоторые термы (в том числе константы), после применения которой система А(а) может быть разделена на подсистемы Я°(а),...Я&(а), такие что каждый многочлен Я!?(а) представляется в виде Я!?(а) = Ь? + Р?, причем Ь? это многочлен первой степени, и все переменные входящие в Ьг (линейные части подсистемы Яг(а)) не встречаются в Я0 (а),...,Яі-1 (а).
Определение 6. Шаблон будем называть универсальным, если для всех Ьг верно что топд(Ьг) = |Ь^|, то есть все многочлены входящие в Ьг являются линейно независимыми.
Теорема 1. Теорема. Пусть (в(п),а) некоторый универсальный шаблон. Тогда Ь(п) < в(п)
Доказательство. Определим значения всех переменных, входящих в Р0 как 0. Из определения шаблона следует, что не изменит подсистему Ь° Тогда, из линейной независимости всех многочленов, следует, что все уравнения входящие в подсистему из Ь° могут быть решены. Выберем одно произвольное решение и поставим значения во все уравнения. Далее аналогично придадим оставшимся переменным Р1 значения 0, что вновь не изменит часть Ь1. Для нее вновь найдется решение и так далее. □
Определение 7. Мерой универсальности шаблона будем называть
сумму рангов его линейных частей. и((в(п),а)) = 5^ гапд(£г)
І=1
Теорема 2. Пусть (в(п),а) некоторый шаблон. Тогда выполняется следующее неравенство
Ь(п) < в(п) + 2п — и((в(п), а))
Доказательство. Покажем, что при увеличении в(п) на единицу мера универсальности шаблона также может быть увеличена как минимум на один.
Пусть один из многочленов Ь? является линейно зависимым и этот многочлен входит в уравнение Ь? + Р? = /(Г). Тогда преобразуем шаблон, увеличив в исходном шаблоне в(п) на единицу.
В результате к каждому уравнению будет добавлено некоторое произведение п из 2п новых переменных, причем все эти произведения являются различными. При этом к многочлену Ь? будет добавлено
, , , , «(п)+1 «(п)+1
некоторое произведение ¿1^2 ■ ■ ■ гп, где каждая г- или х- или у- .
Тогда добавим к исходному шаблону новую подстановку в которой ¿2, ¿3, ... ¿п будут заменены на 1, а все остальные добавленные переменные на ноль. В результате к Ь? будет добавлена новая переменная ¿1, что сделает многочлен линейно независимым и увеличит ранг на единицу. При этом все остальные добавленные произведения обратятся в ноль, то есть все остальные уравнения не изменятся. □
Теорема 3. Для любого п существует универсальный шаблон длины Ь(п).
Доказательство. Из определения функции Шеннона Ь(п) следует, что для любой булевой функции можно построить ПНФ длины Ь(п). Это означает, что система уравнений Я для в(п) = Ь(п) будет иметь решение при любых значениях коэффициентов в правой части. Обозначим 7 вектор коэффициентов в правой части. Фактически Г есть векторное представление некоторой булевой функции п переменных. Обозначим за х^ (Г) значение переменной х^- в решении системы с вектором коэффициентов Г. Обозначим за /х^-(¿1,... ,¿2") булеву функцию, заданную вектором значений х^- (Г) для всех векторов Г. Аналогично определим функцию /у^-. В качестве подстановки для переменных х^- и у- возьмем полиномы Жегалкина для функций /х^- и /у- соответственно. Очевидно, что такая подстановка обратит многочлен в уравнении с номером к в одну переменную . Очевидно, что такая подстановка удовлетворяет данному определению шаблона. □
Несмотря на то, что универсальный шаблон существует, его построение фактически эквивалентно построению формулы, минимизирующей полиномиальные представления булевых функций. Поэтому в настоящем исследовании напротив построение универсальных шаблонов будет использоваться для нахождения верхних оценок сложности фукции Шеннона ПНФ булевых функций.
2. Шаблоны первого рода
Введем определение шаблона первого рода. Для этого выберем произвольный набор а1,..., а из в булевых векторов длины п. Будем называть его векторным представлением шаблона первого рода. Сам шаблон будет определяться следующим образом. Если = 1, то заменяем у- на 1, х^- оставляем без изменения. Если о^- = 0, то заменяем уна 0, а х^- на 1.
Напомним, что обозначение [Р], где Р — некоторый предикат, означает функцию, равную 1, если предикат истинен, и ноль в противном случае. За ||о| | обозначается вес набора о — количество единиц в наборе.
Теорема 4. Пусть о1,..., о5 — векторное представление шаблона первого рода (в(п),а). Тогда
и ((в(п),а))= ^
?Є{0,1}"
2^[о^ > т][||о^|| = ||Г|| + 1] > 0 І = 1
Словесно эту формулу можно выразить так: мера универсальности шаблона первого рода равна количеству двоичных векторов длины п, таких что заменой некоторого нуля на единицу можно получить один из векторов векторного представления шаблона.
Доказательство. Обозначим за Т? слагаемое многочлена Я?, составленное из переменных х^- и у^-. Из определения шаблона Т-. (а) = 1. Если некоторый набор Г меньше набора о- и і 1,...,ік — множество номеров меньших компонент, то Т?(а) = х^х^ ... х*&. Для всех других наборов Т?(а) = 0.
Таким образом, система уравнений Я?(а) = /(Г) разбивается на подсистемы Я0,..., Яп по следующему правилу: уравнение Я?(а) = /(Г) попадает в подсистему Я-, если ||Г|| = п — і. При этом все слагаемые первой степени попадут в Ь?, прочие слагаемые в Р?. Легко заметить, что каждая переменная входит только в один многочлен Ь?, поэтому все непустые многочлены линейно независимы. Из этого и следует формула из формулировки теоремы. □
Для понимания характеристик шаблона рассмотрим меру универсальности случайного шаблона первого рода.
Определение 8. Будем говорить, что шаблон первого рода является случайным с характеристикой р, если для построения используется следующий принцип: последовательно тестируем все возможные двоичные вектора длины п и с вероятностью р, независимо друг от друга, включаем их в шаблон.
Теорема 5. Математическое ожидание меры универсальности случайного шаблона с характеристикой р выражается следующей формулой.
М(и((в(п), а))) = 2п — (2 — р)п
Доказательство. Найдем вероятность того, что из случайно выбранный вектор Г заменой одной единички на ноль можно получить один из векторов шаблона. Эта вероятность зависит от количества единиц в выбранном наборе, поэтому необходимо использовать формулу сложной
вероятности. Для нахождения искомой вероятности найдем обратную вероятность: вероятность того, что ни один из векторов полученных заменой единицы на ноль не принадлежит шаблону. Это приводит нас к следующей формуле
Р _ 1 - ^ — ( г ) (1 - р)* = 1 - (1 + 1- р)п
^=0 2п V п) х 2п
Таким образом, метематическое ожидание количества нужных векторов определяется по формуле 2™ - (2 - р)™. □
Следствие 1. Существует универсальный шаблон первого рода сложности 2п
П
Доказательство. В качестве р выберем 21п п. Тогда математическое ожидание меры универсальности шаблона примет вид
2 1л п 1
М(и((в(п), а))) _ 2п - (2 - )п _ 2п - 2п(1 - -^)п >
п 1л п
> 2™ 2”е~ ^п ™ 2™П 1
п
При этом математическое ожидание мощности шаблона примет вид з(п) _ 2™ 21пп. Отсюда, с использованием теоремы 2 получаем формулу из формулировки следствия. □
Данная оценка несколько улучшает оценку, найденную автором ранее [3].
3. Шаблоны второго рода
Введем определение шаблона второго рода. Для этого выберем произвольный набор о1,...,о5/2 из «/2 булевых векторов длины п. Будем называть его векторным представлением шаблона второго рода. Сам шаблон будет определяться следующим образом. Если о* = 1, то заменяем у2--1 на 1, х2г-1 на *, у2- на 1, х2г на * ф 1. Если о* = 0, то заменяем у2--1 и у2- на 0, а х2г-1 и х2г на 1.
Как и в шаблоне первого рода, система уравнений Я?(а) = /(Г) разбивается на подсистемы Я0,...,Яп по правилу: уравнение Я?(а) = /(Г) попадает в подсистему Я-, если ||Г|| = п —і. При этом все слагаемые первой степени попадут в Ь?, прочие слагаемые в Р?.
Из определения шаблона следует что если некоторый вектор о- принадлежит векторному представлению шаблона второго рода и Цо-Ц = т, то для некоторого набора Г, такого что Цо-Ц = ||Г|| + 1, и Г > сГ то
в уравнение для / (Г) будут входить слагаемые * ф * ф 1 = 1. Если же ||ог|| = ||Г|| +2, то в уравнение попадут слагаемые * 4 Ф (* Ф 1)(4 Ф1) =
* Ф 4 Ф 1.
Определение 9. Будем говорить что переменная шаблона второго рода соответствует набору / если набор / получен из набора о заменой единицы, стоящей в і-той позиции на ноль. Из определения шаблона второго рода следует, что в наборе о- на і-том месте обязательно находится единица.
Отметим, что переменная , соответствующая набору / входит только в такие многочлены Я? для которых Г < /. Таким образом, если две переменные соответствуют одному набору, то множества уравнений в которые входят эти переменные совпадают.
Для исследования свойств шаблонов второго рода рассмотрим класс матриц специального вида, которые будут определены далее.
п
Обозначим за Еп^ квадратную матрицу размера ^ ^ j у которой на побочной диагонали находятся единицы, а остальные элементы нули. Определение 10. Матрицей биномиальных квадратов Вп^ будем называть матрицу с коэффициентами из поля ^2, состоящую из ( ^ + 1
столбцов и
строк, которая определяется следующими соотноше-
ниями: для к > п и к < 0 матрица пуста (содержит ноль строк и столбцов). Для остальных значений к матрица имеет вид
Впк —
Еп—1,к Вп—1,к—1
Вп-
п-1,к 0
Приведем пример матриц и В4Д
В4,2 =
/ 1 0 0 1 \ 0101 0 0 11 1010 0110 \ 1 10 0/
В4,1 =
100101 010011 0 0 1110 V 1 1 1 0 0 0/
Лемма 1. гапд(Впк.) =
п1
Доказательство. Каждому столбцу и каждой строке матрицы сопоставим двоичный наборы длины п. по следующим правилам. Столбцу
с номером % будет сопоставлен набор (1, Т2,..., тп), если % < ^ П ^ 1 ^ и
набор (72,..., тп) сопоставлен столбцу с номером % в матрице Вга_1д._1, и столбцу с номером % будет сопоставлен набор (0, Т2,..., тп), в том случае
если % > ^ п к 1 ^ и набор (т2,... ,тп) сопоставлен столбцу с номером
% — ^ п к 1 ^ в матрице Вга_1^. При этом единственному столбцу матрицы Вга,га_1 сопоставляется единичный набор, а %-тому столбцу матрицы Вп,о набор, в котором в %-той позиции находится единица, остальные нули.
Легко показать, что при таком построении все наборы будут содержать ровно к +1 единицу, все наборы будут различными и будут упорядочены в порядке лексикографического убывания.
Строке с номером % сопоставим набор (0, Т2,..., тп), если % < ^ П — 1
и набор (т2,... ,тп) сопоставлен строке с номером % в матрице Вга_1д..
Строке с номером % сопоставим набор (1, Т2,..., тп), если % > ^ п к ^ и
набор (т2,..., тп) сопоставлен строке с номером % —^ П — 1 ^ в матрице
Вга_1,й_1.
Аналогично, такое построение гарантирует, что все наборы будут различными, будут содержать ровно к единиц, и будут упорядочены в порядке лексикографического возрастания. Заметим, что количество строк в матрице совпадает с количеством двоичных наборов веса к, а количество столбцов с количеством наборов веса к + 1. Таким образом, каждый двоичный набор веса к или к + 1 соответствует одной из строк или столбцов.
Таким образом, если набор (0, Т2,..., тп) соответствует строке с номером %, то набор (1, Т2, . . . , тп) соответствует столбцу с номером ^ п к 1 ^ +
1 — %. Отсюда легко показать что элемент матрицы равен единице тогда и только тогда, когда набор соответствующий строке % строго меньше набора соответствующего столбцу ].
Далее докажем следующее вспомогательное утверждение. Пусть / некоторый набор веса к + 2 и а1,..., а^+2 все наборы веса к + 1 строго меньшие набора /. Тогда сумма столбцов матрицы , соответствующих наборам а1,..., а#г+2 равна нулю. Действительно, если некоторый набор 3 веса к меньше набора /, то найдется ровно два набора из множества а1,... ,а^+2, которые будут больше набора 7. Таким образом, в выбранных столбцах матрицы, в каждой строке либо ни одной, либо ровно две единицы, поэтому сумма таких столбцов равна нулю.
Рассмотрим столбец который соответствует некоторому набору вида (0, Т2,..., тп). Этот набор меньше набора (1, Т2,..., тп), для которого
из всех к + 2 меньших его наборов, только один набор (0, Т2,..., тп) начинается с нуля, прочие с единицы. Поэтому, из доказанного выше утверждения, столбец соответствующий набору (0, Т2,..., тп) является линейной комбинацией некоторых столбцов, соответствующих наборам,
которые начинаются с единицы. В силу этого гапд(Вга^) < ^ П — 1 ^.
Вместе с тем, очевидно, что первые ^ П к 1 ^ столбцов являются линейно независимыми, что доказывает лемму. □
Теорема 6. Для любого шаблона второго рода выполняется неравенство и(< з(п), а >) < 2п-1 — 1
Доказательство. Очевидно, что ранги линейных частей системы уравнений могут только увеличиться при добавлении переменных. Поэтому, максимальную меру универсальности будет иметь шаблон второго рода, векторное представление которого содержит все двоичные наборы.
Каждой переменной при этом соответствует некоторый набор. Очевидно, что при этом всем двоичным наборам кроме единичного, будет соответствовать некоторая переменная. При этом если одному набору соответствует несколько переменных, то все эти переменные входят в одни и те же уравнения, поэтому все такие переменные, кроме одной, могут быть удалены и ранг при этом не уменьшится.
Отметим, что многочлены, входящие в Ь0 и Ь1 будут пустыми, так как из определения шаблона второго рода следует, что в них не будет
ни одной переменной. Для г > 2 будет содержать ( П ) уравнений
. П ) переменных. Каждому многочлену при этом соответствует г + 1 у
некоторый набор веса г, а переменной некоторый набор веса г + 1.
Переменная соответствующая набору (3 будет входить в многочлен £-, только в том случае если 3 < /?. Таким образом, множество многочленов для шаблона второго рода, составленного из всех двоичных векторов задается матрицей Вп,п_г.
Таким образом, получаем следующее значение для меры универсальности шаблона
п п_2 п_2 / н
и((в(п),а)) = ^2 гапд(Бп,п_г) = ^2 ™пд(£п,г) = ^ Г г ) = 2п-1 — 1
г=2 г=0 г=0
□
Из доказанной теоремы следует что шаблоны второго рода неприменимы для получения более точных оценок Ь(п), однако некоторые их свойства позволяют сделать предположение о том, что объединение
шаблонов первого и второго рода позволит в дальнейшем получить более эффективные оценки.
Список литературы
1. Агибалов Г. П. Методы решения систем полиномиальных уравнений над конечным полем // Вестник Томского Государственного Университета. — Август 2006. — С. 4-9.
2. Винокуров С. Ф., Казимиров А. С. Верхняя оценка сложности булевых функций в классе ПНФ // Алгебра и теория моделей. Сборник статей. Изд-во НГТУ.— 2003. — C. 160-165.
3. Кириченко К.Д. Верхняя оценка сложности полиномиальных нормальных форм булевых функций // Дискретная математика. Том 17, выпуск 3. — 2005. — С. 81-88.
4. Even S., Kohavi I., Paz A. On minimal modulo 2 sums of products for switching function// IEEE Trans. Elect. Comput. — Oct. 1967. — P. 671-674.
5. Sasao T. FPGA design by generalized functional decomposition// Logical Synthesis and Optimization. — Kluwer Academic Publishers. — 1993. — P. 233-258.
K. D. Kirichenko
Bounds of the minimization patterns’ complexity of ESOP
Abstract. In this paper we introduce the concept of minimization pattern for ESOP. We propose the classification of patterns and prove some bounds of their complexity.
Кириченко Константин Дмитриевич, кандидат физико-математических наук, Восточно-Сибирская государственная академия образования, 664011, Иркутск, ул. Нижняя набережная 6,тел.: (3952)241097 ([email protected])
Konstantin Kirichenko, East Siberian State Teacher Training University, 6, Nignyya Naberegnaya, Irkutsk, 664011 Phone: (3952)241097 ([email protected])