Научная статья на тему 'О сложности нахождения приведенных представлений слабо положительных и слабо отрицательных булевых функций'

О сложности нахождения приведенных представлений слабо положительных и слабо отрицательных булевых функций Текст научной статьи по специальности «Математика»

CC BY
182
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ВЫЧИСЛИТЕЛЬНАЯ СЛОЖНОСТЬ / СЛАБО ПОЛОЖИТЕЛЬНАЯ (СЛАБО ОТРИЦАТЕЛЬНАЯ) БУЛЕВА ФУНКЦИЯ

Аннотация научной статьи по математике, автор научной работы — Горшков Сергей Павлович

В работе оценивается сложность задачи построения приведенных представлений слабо положительных и слабо отрицательных булевых функций, записанных в совершенной конъюнктивной нормальной форме или многочленом Жегалкина.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON THE COMPLEXITY OF WEAKLY POSITIVE AND WEAKLY NEGATIVE BOOLEAN FUNCTIONS REDUCING

Boolean function f (x1,..., xk) is called weakly positive (weakly negative) if f may be represented by CNF such as f ≡ 1 t i= ∧ ( 1 i si x α ∨ i2 s x ∨...∨ iki s x ), where αi∈{0, 1}, i = 1,..., t, (respectively by CNF such as f ≡ 1 t i= ∧ ( 1 i si x α ∨ xsi2 ∨...∨ iki s x ), where αi∈{0, 1}, i = 1,..., t). These formulas are called reduced representations of weakly positive and weakly negative functions accordingly. The complexity of reducing the weakly positive and weakly negative functions represented by perfect CNF or algebraic normal form is evaluated in this paper.

Текст научной работы на тему «О сложности нахождения приведенных представлений слабо положительных и слабо отрицательных булевых функций»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2008 Теоретические основы прикладной дискретной математики № 1(1)

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИКЛАДНОЙ ДИСКРЕТНОЙ МАТЕМАТИКИ

УДК 519.7

О СЛОЖНОСТИ НАХОЖДЕНИЯ ПРИВЕДЕННЫХ ПРЕДСТАВЛЕНИЙ СЛАБО ПОЛОЖИТЕЛЬНЫХ И СЛАБО ОТРИЦАТЕЛЬНЫХ БУЛЕВЫХ ФУНКЦИЙ

С.П. Горшков

Институт криптографии, связи и информатики Академии ФСБ России, г. Москва

E-mail: spg54@bk.ru

В работе оценивается сложность задачи построения приведенных представлений слабо положительных и слабо отрицательных булевых функций, записанных в совершенной конъюнктивной нормальной форме или многочленом Жегалкина.

Ключевые слова: вычислительная сложность, слабо положительная (слабо отрицательная) булева функция.

Булева функция fxb ..., xk) называется:

1) слабо положительной, если f = 1 или существует представление f в виде следующей КНФ:

t

f=*(<;v х>, 2 v-v xki), (1)

где a,e {0, 1}, i = 1, ..., t;

2) слабо отрицательной, если f = 1 или существует представление f в виде следующей КНФ:

f = л (v xs,2 v...v xsiki X (2)

i=1 П

где a,e {0, 1}, i = 1, ..., t.

Множество всех функций классов 1 и 2 обозначим соответственно WP, WN. Формулы (1), (2) соответственно для функций классов WP, WN будем называть приведенными представлениями.

В работах [1, 2] показано, что слабо положительные и слабо отрицательные функции (наряду с мульти-аффинными и биюнктивными функциями) порождают полиномиально решаемые классы систем булевых уравнений без ограничений на выбор неизвестных. В англоязычной литературе слабо отрицательные функции часто называются хорновскими функциями, а слабо положительные булевы функции - антихор-новскими.

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

1. В общем случае задача перевода функций из одного вида в другой (например, построение по многочлену Жегалкина функции совершенной дизъюнктивной нормальной формы этой функции) имеет экспоненциальную сложность.

2. Если все функции левой части системы булевых уравнений

{fi (xi >-x«) = 1 i = 1,-> m (3)

слабо положительные (слабо отрицательные) функции и записаны в приведенном виде, то существует алгоритм линейной сложности (сложности O(len(S)), где len(S) - длина записи системы (3)) распознавания совместности (3) [3].

3. Если две слабо положительные (слабо отрицательные) функции fb f2 заданы в приведенном виде, то с

?

полиномиальной сложностью можно определить f = f2.

Напомним некоторые определения. Функция h(xb ..., xk) называется имплицентой функцииf (хь ..., xk), если

f (xi, ..., xk) л h(xi, ..., xk) = fixx,..., xk).

Имплиценты вида x“; v x^2 v...v x^r, где st #Sj при i #j, называются элементарными имплицентами.

Элементарная имплицента функции f называется простой, если никакая ее собственная часть не является имплицентой функции f.

8

С.П. Горшков

Любая функция /(х1хк), не равная тождественно 1, представляется конъюнкцией всех своих простых имплицент. Конъюнктивная нормальная форма функции / в которую входят все простые имплиценты

функции/и только они, называется сокращенной КНФ функции f. Любая функция /(х1;...,хк) имеет един-

ственную, с точностью до перестановки сомножителей, сокращенную КНФ. Сокращенная КНФ слабо положительной (слабо отрицательной) булевой функции является одной из ее приведенных представлений.

Утверждение 1. Задача построения по совершенной КНФ (СКНФ) слабо положительной функции ее сокращенной КНФ имеет полиномиальную сложность.

Доказательство. Для построения сокращенной КНФ функции/е ЖР необходимо найти все простые имплиценты функции / вида

Х^ Х-2 V ••• V Х, . ()

Рассмотрим вначале алгоритм поиска всех имплицент (4), в которых а = 1. Если функция / имеет простую имплиценту Х^ V Х^ V ••• V Х^, , где < ... < Яд, то

f (х^ = 0,...,х^ = 0) = 0 , (5)

и каждая из функций

/(х^ = 0,..., х1._1 = 0,х.+1 = 0,..., х^ = 0), I = 1, ..., q, ()

не равна тождественно нулю. Заметим, что ввиду (5) в СКНФ функции / входит элементарная имплицента

Х1 V ... V X. -1 V X. V X. +1 V ... V Xс -1 V X. V Xс +1 V ... V Xк .

1 •31 1 Ч д

Из этих свойств следует, что для поиска всех имплицент (4), в которых а = 1, необходимо провести следующие процедуры. Для каждого конъюнкта х5 V...V хк функции/рассматриваем функцию

(хк = °>->х1, = °)>

где71, ...,]ч - номера всех координат вектора 8 = (8Ь ..., 8к), равных 1. В случае, когда функция /имеет имплиценту (х^ V... V х7- ), должно выполняться (5) (сложность проверки, очевидно, полиномиальна). Для

проверки простоты имплиценты необходимо рассмотреть q соотношений вида (6).

ТТ 5 к

Для поиска простых имплицент вида X. V Xs2 V ... V X. следует для всякого сомножителя х 1 V ... V хкк из СКНФ функции/рассмотреть к - q функций f' = f (х^ = 0,..., Xjq = 0, хг- = 1), где]1, ...,]ч - номера всех координат вектора 8 = (81, ..., 8к), равных 1, ге{1, ..., к}\{/'1, ...,уг}, и способом, аналогичным описанному выше, определить: является ли функция XI V х^ V... V х7- простой элементарной имплицентой функции/ или нет.

Нетрудно видеть, что приведенный алгоритм с полиномиальной сложностью находит сокращенную КНФ (которая является приведенным представлением) слабо положительной функции. Утверждение доказано.

Поскольку

/(х1, ..., хк) е ЖР, если и только если /(Х1, ..., Хк) е ЖЫ, (7)

и с полиномиальной сложностью по СКНФ функции/хь ..., хк) находится СКНФ функции/( х1 , ..., хк), то справедлив следующий результат.

Утверждение 2. Существует полиномиальный алгоритм, который по СКНФ слабо отрицательной функции / находит сокращенную КНФ функции /.

Перейдем к рассмотрению случая, когда функции задаются многочленами Жегалкина.

Утверждение 3. Задача построения по многочлену Жегалкина монотонной функции ее сокращенной (минимальной) КНФ не является полиномиальной.

Доказательство. Нетрудно показать, что для монотонной функции сокращенная КНФ совпадает с минимальной КНФ.

Для доказательства теоремы достаточно показать, что для любого полиномар(п) существует натуральное к0, такое, что при любом к> к0 найдется монотонная функция/хь ..., хк), для длины записи которой многочленом Жегалкина 1еп( /Жег) справедливо соотношение

1еп( /кнф) > _р(1еп( /жег)), (8)

где 1еп( /КНФ) - длина записи сокращенной КНФ функции /

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

к(г)(у1,...,уг) =у1 у...уу. = ух •...• уг ® 1. (9)

О сложности нахождения приведенных представлений

з

Поскольку запись функции у1 •...• уr многочленом Жегалкина содержит все 2r мономов, то запись функции ^ в виде многочлена Жегалкина содержит 2r - 1 мономов.

Рассмотрим функцию h(rt), которая является суперпозицией функции и монотонных функций

(i) ( )

q (x(i-1)t+1’---’ Xit ' = X(i-1)t+1 ' •••' xit,

h( rt) (x,..., ) = h(r) (q(1) (x,..., xt),..., q(r) (x(r _l)t+1,..., xrt)).

Длина записи функции многочленом Жегалкина не более чем

len( ЛЖГ) < 2r(rt)2 . (10)

h(2’k/2) (,..., хк ) = хх •... • хк/2 ф x(k/2)+1 •... • хк ® •... • хк ,

где к - четное число.

Ясно, что как суперпозиция монотонных функций является монотонной функцией. Кроме того, нетрудно показать, что сокращенная (а значит, и минимальная) КНФ функции имеет вид

Л (^ V ... V x ).

1<sj <t, 1 r

t+1<S2<21,

(r-1 )t+1<sr <rt

Поэтому длина записи минимальной КНФ функции не менее чем

4ГНФ ^ tr. (11)

Для любого натурального к определим монотонную функцию fxb ..., xk). Положим

t = \_k/log2 kJ, r = |_log2 kJ .

Если t = 0 или r = 0, то считаем f = 0. В случае t-r > 0 функция fxi, ..., xk) существенно зависит от t-r переменных

/ (x!,..., xrt, a1,..., ak-rt) = h(rt) (x1>...> xrt )>

для любых (at,..., a) e Bk-rt.

Для длины записи функции f многочленом Жегалкина из соотношения (10) следует оценка сверху

len(fjKer) < 2Llog2 kj (rt)2 < 2log2 k k2 = k3. (12)

С другой стороны, из (11) вытекает

len(fKHo) > (\_k/log2 kJ)Llog2kJ > ((k/log2 k)- 1)log2k-1, (13)

откуда, в частности, следует, что при 0 < s < 1 (например, s = 1/2) справедливо следующее асимптотическое неравенство:

len(ftHo) > kElog2 k. (14)

Из (14) и (12) получаем справедливость (8) и теоремы в целом.

Следствие. Задача построения по многочлену Жегалкина слабо положительной функции ее сокращенной (минимальной) КНФ не является полиномиальной.

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

к£

сложность превосходит любой полином от к, но меньше чем 2 для любого s > 0.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

Утверждение 4. Существует алгоритм построения сокращенной КНФ любой слабо отрицательной функции f(x1, ..., xk), записанной многочленом Жегалкина, сложность которого не выше чем

T' = 1еи(/Жег )c log2 (1еп(/жег» + ММ/кнф )), (15)

где p — некоторый полином; с > 0 - некоторая константа.

Замечание. Таким образом, функция сложности (15) есть сумма двух слагаемых, первое слагаемое является субэкспоненциальной функцией от размера входа, а второе слагаемое - полиномиальная функция от размера выхода.

ЛИТЕРАТУРА

1. Schaefer T. Complexity of satisfiability problems // Proceedings of the 10 Annual ACM Symposium on Theory of Computing Machinery. 1978. P. 216 - 226.

2. Горшков С.П. Применение теории NP-полных задач для оценки сложности решения систем булевых уравнений // Обозрение прикл. промышл. матем., сер. дискрет. матем. 1995. Т. 2. Вып. 3. C. 325 - 398.

3. Dowling W.F., Gallier J.H. Linear-time algorithms for testing the satisfiability of propositional Horn formulae // J. Logic Programming. 1984. №. 3. Р. 267 - 284.

i Надоели баннеры? Вы всегда можете отключить рекламу.