О СЛОЖНОСТИ ПРЕДСТАВЛЕНИЯ ПОРОГОВЫХ ФУНКЦИИ В ТРАДИЦИОННЫХ БАЗИСАХ
О.В. ШАБАНИН, ст. преподаватель объединения ТВП, канд. физ.-мат. наук
Первой работой, положившей начало развитию пороговой логики, послужила статья американских ученых Маккалока и Питтса [6], вышедшая в 1943 г. В ней была предпринята первая попытка описания функционирования нервной клетки - нейрона - с помощью логической функции, получившей название пороговой.
Пороговой функцией [1, 2, 7] называется булевая функция/: {0, 1}" ^ {0, 1}, такая, что существуют действительные числа ... Т, удовлетворяющие условию /(Х1, Х2, ... , X" ) = 1 О ^1X1 + ... + W"X" > Т.
При этом будем говорить, что функция /имеет реализацию ... ,W"; Т].
В конце 50-х гг. ХХ в. пороговые функции привлекли внимание исследователей простотой своей технической реализации, открывавшей возможности эффективного использования в логических схемах. 60-е гг. прошлого века относятся к периоду бурного развития пороговой логики, о которой уже говорят как о сложившейся дисциплине. К этому времени относится основное число работ. Наиболее полную библиографию можно найти в работе Муроги [7]. На русском языке достаточно полное изложение пороговой логики приведено в монографиях М. Дертоузоса [2] и Е.А. Бутакова [1].
В настоящее время интерес к данной проблематике поддерживается рядом теоретических и прикладных проблем. Например, одной из наиболее известных КР - полных
задач является задача о ранце:
"
максимизировать у с х
, г г г = 1
"
при условии у ах < Ь , , г г
г = 1
где хг - булевые;
сг, аг, Ь - неотрицательные действительные числа.
Данные условия являются типичными в задачах линейного программирования. Ее решение является основой в прикладных экономических проблемах. Областью допустимых значений здесь является множество нулей монотонной пороговой функции, и изучение его строения может дать ответ на проблему алгоритмической сложности решения подобных задач. Открытие принципов обучения и самообучения порогового элемента [9] привело к зарождению и бурному развитию нового направления в вычислительной технике - нейрокомпьютер-ным технологиям [10]. В настоящее время нейронные сети из пороговых элементов имеют широкое применение в самых различных областях. Оценка взвешенной суммы является основой широкого класса прикладных задач, таких, как распознавание образов, анализ обстановки и принятие решений. Последние результаты по пороговой логике достаточно подробно изложены в обзоре Ю.А. Зуева [3].
Необходимые сведения из пороговой логики
Будем считать, что два вектора (Х1,..., X") и (У1, ..., У"), хг,Уг е {0, 1}, г = 1, 2,..., п связаны соотношением (х1, ..., X") < (у1, ..., У"), если Xг < уг для всех г = 1, 2, ..., "; (x1, ... , X") < < (У1, ..., У"), X;,Уг е {0, 1}, г = 1, 2, ..., ", если
(X1,..., X") < (У1,..., У"), но (X1, ..., X") * (У1, ..., У").
Функция / (x1, x2, ..., X" ) называется монотонной, если из условия
(X1, ..., X" ) < (У1, ..., У" ) следует/ (X!, ..., X") </(уь ...,У").
Нижней единицей монотонной функции / (x1, ..., X" ) называется вектор (а1, ..., а" ), такой, что/(а1, ..., а" ) = 1 и/(Ь1, ..., Ь" ) = 0 для любого (Ьь Ь2, ..., Ь") < (аь ..., а").
Две функции называются однотипными, если одна может быть получена из
другой перестановкой координат и заменой некоторых переменных на их отрицания.
Функция f (xi, x2, ..., xn) называется обобщенно-монотонной, если существует монотонная функция g(xi, Х2, ..., Xn), однотипная с функцией f (xi, x2, ..., xn). Известно, что любая пороговая функция является обобщенно-монотонной.
Для монотонной функции f обозначим через Lv (f) количество нижних единиц функции f. Для обобщенно-монотонной функции g положим Lv (g) - количество нижних единиц монотонной функции, однотипной с функцией g. Корректность такого определения следует из предыдущего замечания.
Из определений нетрудно видеть, что любая пороговая функция является обобщенно-монотонной. Учитывая тот факт, что для монотонной функции нижние единицы и только они соответствуют простым импли-кантам в записи дизъюнктивной нормальной формы (д.н.ф.) [10], легко показать, что сложность д.н.ф. пороговой функции равна Lv f).
Для двоичной функции f (x1, x2, ..., xn) введем обозначение
f1(1) = |(ai, «2, ..., <И0, 1}n :
: f («i, «2, ..., an) = 1}.
Целочисленный вектор (Ao(/), Aif), ..., Af)
называется характеристическим вектором (вектором Чоу) функцииf [1, 2, 6], если
Aof) = 2n-i - |Т1(1)|, (Aif), ..., Af) = Z(ab а2, ..., an),
(ai, a2, ..., an) e (1)
Суммирование векторов ведется в действительной области.
Основное свойство, определяющее исключительное внимание к изучению характеристического вектора в пороговой логике, состоит в следующем [1, 2, 7]: еслиf(x1, x2, ..., xn) - пороговая функция, то для любой функции
g(xi, X2, ..., Xn) : g*f верно (Ao(g), Ai(g), ..., An(g)) * * (Aof), Aif), ..., Anf)).
О сложности д.н.ф. пороговой
функции в «типичном» случае
Под сложностью представления произвольной булевой функции в виде дизъюнктивной нормальной формы (д.н.ф.), или просто под сложностью д.н.ф. будем понимать число простых импликант, входящих в запись минимальной д.н.ф. [10]. Достаточно полный обзор результатов по теории сложности представления булевых функций в различных базисах из функциональных элементов можно найти в работе Р.Г. Нигматуллина «Сложность булевых функций» [8]. Оценка сложности представления пороговых функций с помощью д.н.ф. представляет теоретический и практический интерес. Хорошо известен факт, что наибольшую сложность д.н.ф., равную , в
классе пороговых функций от п переменных имеет мажоритарная функция [6]. Большая сложность д.н.ф. пороговых функций служит аргументом для использования в ряде случаев пороговых представлений булевых функций вместо представлений в виде д.н.ф. [7]. С другой стороны, как отмечалось выше, исследование сложности д.н.ф. пороговых функций тесно связано с проблемой алгоритмической сложности КР - полных задач. Поэтому отдельной задачей является оценка сложности д.н.ф. в типичном случае. Задача оценки сложности д. н. ф. типичной пороговой функции предложена Ю.А. Зуевым. Ее постановку можно найти, например, в работе [3]. Наилучшая известная нижняя оценка получена в работе Ю. А. Зуева и Л.И. Липкина [4], где доказано, что почти у всех пороговых функций сложность д.н.ф. не меньше п2 / 1о§2п. Для улучшения этой оценки автором доказана теорема, связывающая сложность д.н.ф. Ьу(/) пороговой функции / с параметрами Чоу.
Теорема 1
Пусть/(х1, х2, ..., хп) пороговая функция с реализацией [^1, ..., мп; Т],
w1 > М2 > ... > мп > 0.
Тогда для числа нижних единиц функции / выполняется неравенство
ЬУ (/) > А/ / 2"-г при всех г = 1, 2, ... , ".
Обозначим через Р(") число двоичных пороговых функций от " переменных.
В работе [5] показано, что при " ^ да
1о§2 Р(") > "2 - " 1о§2 " + О(").
С использованием этой оценки и теоремы 1 доказан основной результат.
Теорема 2
При " ^ да для почти всех пороговых функций сложность д.н.ф. Ьу(/ удовлетворяет неравенству
1ое2 Ь/ > " - 2^2" 1ое2" (1 + 5{")),
где ¿¡") любая функция с условиями ¿¡{и) = о(1) и "¿¡{и) ^ + да при " ^ да.
Из того, что отрицание пороговой функции является пороговой функцией, следует, что для сложности представления в виде конъюнктивной нормальной формы (к.н.ф.) будет справедлива оценка теоремы 2.
Оценка степени нелинейности многочлена Жегалкина пороговой функции
Многочленом Жегалкина булевой функции / называется ее представление формулой вида
/ (^ • ■ ■, X) = с0 Ф С1X1 Ф - Ф ^п Ф
©С, 2 X, X, Ф • . . Ф С: ■ ■ X: X: •.. X■ ф 1,2 1 2 г1,12,...,1к »1 »2 к
ф- ф С1,2,...,nX1 X2 • X, где коэффициенты С1 2 к е {0,1}.
Наибольшая из длин конъюнкций, входящих в его запись многочлена Жегал-кина функции /, называется его степенью /. Очевидно, что степени многочленов Жегалкина однотипных функций совпадают.
Введенные выше определения можно найти в книге С.В. Яблонского «Введение в дискретную математику».
Теорема 3
Пусть /x1, x2, ..., X") - произвольная пороговая функция, существенно зависящая от всех переменных.
Тогда / >
" +1 2
При этом равенство достигается, например, при " = 3 и пороговой функции
/ ^1, X2, Xз) = 1 О Xl + X2 + Xз > 2.
Многочлен Жегалкина такой функции имеет вид: x1 x2 Ф x1 x3 Ф x2 x3.
Оценки расстояний между классами пороговых и линейных функций
Изучению свойств классов двоичных функций посвящено большое количество работ. Задачи оценки расстояний между функциями из различных классов имеют как теоретический, так и практический интерес, связанный с потребностями теории кодирования и прикладными вопросами идентификации функций.
Пусть /1 (X1,•, ^ ) и /2 (X1,•, ^ )
- двоичные функции от " переменных. Обозначим
а(/1,/2) = «е{0,1}"//1 (а)* /2(а) расстояние между функциями /1 и /2 (расстояние Хемминга между векторами значений функций).
Для удобства расчетов введем обозначение А.
•)"-1
(/) = а(/,х Фxг2 Ф...Фх^)-2" А 0 ( / ) = ||/|| -2"-1, где ||/|| - число двоичных наборов, на которых функция / принимает значение «1».
Числа А. . . (/) естественным образом связаны с достаточно хорошо изученными коэффициентами Радамахера - Уолша [6, 7], определяемыми как
*а (/) = ± У (2 / (X) -1) • [« X ],
где
[а, X]=п (2 X- - 1)а,
а = («1,-,«"), X = (Xl,•.., X"). Тогда при условии
{il,•, гк } = {/аг = 1}
верно равенство
АМ2,-,к (/) = 2"-1 аа (().
Обозначим
у 0 = / (x1,.., х- _1,0, х+1,..., хп),
!г = / (х1, • •, х'-1,1, х'+1, " •, хп )
- подфункции функции /, зависящие от (п - 1) переменных.
Покажем, что у обобщенно-монотонной функции существует простая связь между ее подфункциями и расстояниями до линейной функции от одной переменной.
Теорема 4
Булевая функцияАх\, ..., хп) является обобщенно-монотонной тогда и только тогда, когда а (у0, у-1) = д (у) .
Теорема 5
Пусть у(х1,х2,...,хп) - обобщенно-
монотонной функция. Тогда для любых
'1,/2,..¡к : 1 <. < '2 < ..лк <п , для любого
а е {0,1} верны неравенства
при к = 25
, 2 (2s) , \
2п-1 - 2п - 21 < й (у, © х. © ... © х. © а) <
Ч*7 П '2 Н 5 /
( 25 ^
V 5 У
< 2n-1 + 2n
при к = 2s - 1
'2s - 2
2n-i 2n ''"111
i2j< d (f, х4 © х,2 © ... © х,2s-i © а )
< 2n-1 + 2n-2s+1
2s - 2
s -1
Следующая теорема дает представления о связи расстояния от данной обобщенно-монотонной функции до линейной функции от одной и от нескольких переменных.
Теорема 6
Пусть у(х1, ..., хп) - обобщенно-монотонная функция.
Тогда для любых
.....:1 < '1 < '2 < ••• < < п
выполняется неравенство
д
(у ^, до(у)
Теорема 7
Для любой пороговой функции g(x1, ..., хп) выполняется неравенство
|д 0 (g )| + |Д (g )| + • д п ^ )|> 2п-1
При этом равенство достигается лишь в случае, когда
g(xi, ..., Xn) = Xi, либо gxi, ..., Xn) = const. Большинство из приведенных выше
результатов прошло апробацию на различных научных конференциях [12, 13], а также
опубликовано в виде статей [14].
Библиографический список
1. Бутаков, Е.А. Методы синтеза релейных устройств из пороговых элементов / Е.А. Бутаков. -М.: Энергия, 1970.
2. Дертоузос, М. Пороговая логика / М. Дертоузос. - М.: Мир, 1967.
3. Зуев, Ю.А. Пороговые функции и пороговые представления булевых функций / Ю.А. Зуев // Математические вопоросы кибернетики. -Вып. 5. - 1994. - С. 5-61.
4. Зуев, Ю.А. Регулярные булевые функции с заданной сложностью дизъюнктивных нормальных форм / Ю.А. Зуев, Л.И. Липкин // Методы дискретного анализа в изучении булевых функций и графов. - Вып. 48. - Новосибирск: ИМ СО АН СССР, 1989. - С. 17-22.
5. Зуев, Ю.А. Комбинаторно-вероятностные и геометрические методы в пороговой логике / Ю.А. Зуев // Дискретная математика. - Т. 3. -Вып. 2. - 1991. - С. 47 - 57.
6. McCulloch, W.S., Pitts W. A logical calculus of the ideas immanent in nevrous activity // Bulletin of Math. Biophysics. - 1943. - V. 5. - P. 115 - 133. [Рус. пер. Маккалок У.С., Питтс У. Логическое исчисление идей, относящихся к нервной активности // Автоматы. - М.: ИЛ, 1956. - С. 362 - 384].
7. Muroga, S. Threshold logic and its applications. -New York : Wiley, 1971. - 478 p.
8. Нигматуллин, Р.Г. Сложность булевых функций / Р.Г. Нигматуллин. - М.: Наука, 1990.
9. Piers, W.H. Failure - Tolerant computer dezign. -New York and London: Academic Press, 1965. [Рус. пер.: Пирс У. Построение надежных вычислительных машин. - М.: Мир, 1968].
10. Уоссермен, Ф. Нейрокомпьютерная техника. Теория и практика / Ф. Уоссермен. - М.: Мир, 1992.
11. Яблонский, С.В. Введение в дискретную математику / С.В. Яблонский. - М.: Наука. - 1979.
12. Шабанин, О.В. О сложности дизъюнктивной нормальной формы пороговых функций / О.В. Ша-банин // Обозрение прикладной и промышленной математики. VI Всероссийская конференции по стохастическим методам. Тезисы докладов. - М.: ТВП. - Т. 6. - Вып. 1. - 1999. - С. 213-214.
13. Шабанин, О.В. О сложности представления пороговых функций в традиционных базисах / О.В. Шабанин // VI Всероссийская конференция «Нейрокомпьютеры и их применение»: тезисы докладов. -М.: Изд. «Радиотехника», 2000. - С. 454-455.
14. Шабанин, О.В. О сложности дизъюнктивной нормальной формы пороговых функций / О.В. Шаба-нин // Дискретная математика. - Т. 12. - Вып. 2. -2000. - С. 85-92.