1. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ, ЧИСЛЕННЫЕ МЕТОДЫ И КОМПЛЕКСЫ ПРОГРАММ
1.1. О НОВОМ АЛГОРИТМЕ ХАРАКТЕРИЗАЦИИ k-ЗНАЧНЫХ
ПОРОГОВЫХ ФУНКЦИЙ
Бурделёв Александр Владимирович, ст. преподаватель кафедры Математического моделирования и анализа данных факультета Прикладной математики и информатики, Белорусский государственный университет, e-mail: [email protected]
Никонов Владимир Глебович, доктор технических наук, профессор, член Президиума Российской академии естественных наук
Аннотация: В статье изучены известные подходы к характеризации булевых и k-значных пороговых функций. Предложен новый алгоритм характеризации k-значных пороговых функций, для которого используются, введенные в предыдущих работах авторов, коэффициенты роста и возрастания для первичной аппроксимации коэффициентов линейной формы. Приведены результаты экспериментального сравнения нового алгоритма с известным алгоритмом Обрадовича.
Ключевые слова: пороговая функция, k-значная логика, характеризация пороговых функций, коэффициенты роста, коэффициенты возрастания.
ABOUT THE NEW ALGORITM OF CHARACTERIZATION OF k-VALUED THRESHOLD FUNCTIONS
Burdeliov Alexander Vladimirovich, Senior Lecturer at the Department of Mathematical Modeling and Data Analysis at the Faculty of Applied Mathematics and Computer Science, Belarusian State University, e-mail: aburd2011@mail. ru
Nikonov Vladimir Glebovich, Doctor of Sciences in Engineering, Full Professor, member of presidium of Russian Academy of Natural Sciences
Abstract: The article provides an overview of the known approaches to the characterization (learning) of Boolean and k-valued threshold functions. Proposed a new algorithm characterization of k-valued threshold functions for which we use expansion coefficients and increase coefficients for initial approximation of the coefficients of the linear form. Also we give the results of experimental comparisons of the new algorithm with a known Obradovic learning algorithm.
Index terms: threshold function, k-valued logic, learning of threshold functions, expansion coefficients, increase coefficients.
Введение
Пороговые функции используются и изучаются во многих разделах математической кибернетики, дискретной математики и различных приложениях, например, в дискретной оптимизации, распознавании образов, теории графов, при синтезе схем из функциональных элементов и нейронных сетей, в цифровой обработке сигналов, в теории тестов. Их можно интерпретировать как характеристические функции подмножеств множества (0,1}п в булевом случае и {0,1,...,к — 1}п в к-значном, обладающих специальным свойством «линейной отделимости».
§1. Постановка задачи и обзор известных подходов к характеризации булевых и ^значных пороговых функций
Определение 1. [3, 4, 5] Булева функция [(х1г..., хп), для которой существует линейная форма 1(х1,.,хп) = а1х1 + а2х2 + —+ апхп, х1 Е {0,1} с вещественными коэффициентами и вещественный порог Т такие, что
/(х1,...,хп) —
1, если
> Т
^atXi i=i
п >
0, если ^ ŒiXi < Т
называется пороговой булевой функцией.
За прошедшее время изучаемые классы пороговых функций были значительно расширены, что нашло отражение в приводимых ниже определениях.
Определение 2. [9] Функция к-значной логики [к(х1,..., хп), для которой существует линейная форма 1(х1,.., хп) = а1х1 + а2х2 + —+ апхп, х( Е {0,1,., к} с вещественными коэффициентами и вещественный порог Т такие, что
f(xi,...,хп) —
1, если ^ ŒiXi > Т i=i
п >
^atXi
0, если
< Т
называется пороговой функцией многозначной логики.
Определение 3. [12] Функция к-значной логики [(х1, ..., хп), для которой существует линейная форма 1(х1,.., хп) = = а1х1 + а2х2 + —I- апхп, хь Е {0,1,..., к} с вещественными коэффициентами и набор вещественных порогов Ь0 < Ь1 < ■■■ < Ьк такие, что для всех £ Е 0, к — 1 выполняется условие
/(хъ..., хп) = Ь(хъ ..., хп) < Ъ1+1, (1)
называется пороговой к-значной функцией. Не ограничивая общность определения, можем положить здесь и далее Ь0 = и Ьк =
Определение 4. [14] Функция к-значной логики [(х1, ..., хп), для которой существует линейная форма 1(х1,.., хп) = = а1х1 + а2х2 + —+ апхп, хь Е {0,1,..., к} с вещественными коэффициентами, набор (а0, а1,., а5) Е {0, к — 1} и набор вещественных порогов Ь0 < Ь1 < ■■■ < Ь5+1 такие, что для всех £ Е 0,5 + 1 выполняется условие
f(Xl, ..■,Хп) = <Ь(хъ...,хп) < Ъ1+1,
называется немонотонной пороговой функцией к-значной функцией.
Под алгоритмом характеризации пороговой к-значной функции, понимается процедура нахождения какого-либо семейства параллельных гиперплоскостей, разделяющих множества различных значений данной функции, то есть нахождения коэффициентов а1,а2,...,ап линейной формы 1(хъ...,хп) и множества порогов Ь0, Ь1,..., Ь5+1.
В целом ряде разделов дискретной математики возникает задача распознавания принадлежности функции к некоторому классу и восстановления (характеризации) неизвестной дискретной функции из заданного класса с помощью последовательных вопросов о ее значениях в точках. Известна сводимость к проблеме характеризации пороговой функции целого класса задач математической логики, математической экономики, целочисленного линейного программирования, теории распознавания образов.
Первой и наиболее известной в этой серии является рассмотренная в 1962-1963 годах В.К. Коробковым и Т.Л. Резником задача построения алгоритма характеризации (вычисления) монотонных булевых и многозначных функций [1, 2]. За прошедшее время большим количеством авторов был выработан набор инструментов для решения задачи характериза-ции пороговой функции.
В период с 1962 по 1972 год в работах Е.А. Бутакова [3], М. Дертоузоса [4], В.И. Белякова-Бодина и С.И. Розенблита [5], Ф. Розенблатта [6], М. Минского и С. Паперта [7] исследовалась проблема характеризации булевой пороговой функции Ъ2
Предложенные в работах [3, 4, 5, 6, 7] алгоритмы можно условно разделить на три вида.
1. В работе [3] характеризация пороговой функции сводится к задаче решения системы линейных неравенств в действительной области, а далее рассматриваются различные аспекты решения такой системы. Отметим, что в 1978 году Хачияном был предложен полиномиальный алгоритм решения системы линейных неравенств в действительной области методом эллипсоидов [8]. Однако многочлен, оценивающий время его работы, имеет высокую степень, а само количество неравенств экспоненциально увеличивается с ростом числа п. Сам факт существования полиномиального алгоритма для решения данной задачи привел к созданию целого ряда алгоритмов внутренней точки (см., например, [23]), первым из которых был опубликованный в 1984 году алгоритм Н. Кармакара [22].
В работе [21] рассмотрено применение алгоритма Хачияна для решения задачи характеризации пороговой функции.
2. В работах [4, 5] исследуется итеративный алгоритм характеризации пороговой функции, который в качестве начального вектора коэффициентов разделяющей плоскости берет характеристический вектор булевой пороговой функции. Более того, в ряде случаев коэффициенты характеристического вектора напрямую задают коэффициенты разделяющей плоскости. Однако практика показывает, что с ростом п доля таких функций стремится к нулю. Несмотря на наличие в работе [4] доказательств сходимости итеративного алгоритма и существования необходимого для сходимости вектора приращения, в ней остается открытым вопрос о скорости сходимости алгоритма и правиле выбора вектора приращения, для которого лишь указывается диапазон значений.
3. В работах [6, 7] также исследуется итеративный алгоритм характеризации пороговой функции, однако в качестве начального вектора значений выбирается произвольный вектор (по умолчанию - нулевой). Данный алгоритм предложен Ф. Розенблаттом в работе [6] и носит название «Метод коррекции ошибки». В работе М. Минского и С. Паперта [7] предложено несколько доказательств классической теоремы «О сходимости персептрона», устанавливающей сходимость алгоритма при любом начальном векторе. В своей работе М. Минский и С. Паперт привели строгое математическое доказательство того, что перцептрон не способен к обучению в большинстве интересных для применения случаев.
Кроме трех рассмотренных основных направлений стоит упомянуть еще два подхода, изложенных в работе [4], но не получивших дальнейшего развития: метод минимизации функционала и метод синтеза по таблице пороговых функций. В первом способе предлагается несколько подходов к минимизации функционала определенного вида: методы аппроксимаций первого, второго и высших порядков; минимизация методом итераций. Эти приемы не гарантируют точного нахождения вектора структуры и для них сходимость не доказана. Второй метод представляет собой табулирование: для всех пороговых булевых функций при п <8 построены таблицы, по которым можно найти вектор структуры. Ограниченность п делает данный подход не универсальным.
Следующий этап изучения алгоритмов характеризации составили исследования, проведенные В.Н. Шевченко и Н.Ю. Золотых в 1985-2013 годах [9-10]. В.Н. Шевченко предложил алгоритм характеризации («расшифровки») пороговой функции k-значной логики, имеющий при любом фиксированном п полиномиальные от log к сложность и трудоемкость. В работах [8, 9] предложены алгоритмы характеризации пороговых функций многозначной логики f\ ТП^ — Т2, основанные на последовательном обращении к оракулу (условные тесты), в которых выбор точки для нового обращения к оракулу, определяется ответами на предыдущие вопросы. Дальнейшим обобщением является разработка алгоритма характеризации функций, заданных на множестве целочисленных точек политопа f\ М — Т2 и обладающих свойством, что множества нулей и единиц каждой такой функции можно описать системами линейных неравенств. Для пороговых функций, определенных на множестве целочисленных точек политопа, предложен алгоритм характеризации, при фиксированной размерности полиномиальной от входа. Таким образом, данная ветвь исследований посвящена обобщению определения множества, на котором определяется пороговая функция, которая при этом по-прежнему остается двухзначной по выходу.
В 1989 году Н. Литтлстоун предложил «Алгоритм отделения» (Winnow algorithm) для характеризации булевой пороговой
функции, представляющий собой модификацию алгоритма обучения персептрона Ф. Розенблатта [11]. В данном алгоритме вместо аддитивного обновления весов применяется мультипликативное обновление весов, зависящее от параметра алгоритма.
В 2001 году появилась работа группы авторов с участием Н. Литтлстоуна [16], в которой осуществлено объединение двух классов алгоритмов характеризации булевой пороговой функции: аддитивного алгоритма Розенблатта и мультипликативного алгоритма Литтлстоуна - в класс квазиаддитивных алгоритмов. Для данного класса алгоритмов, объединяющего в себе алгоритмы, содержащие в качестве процедуры корректировки сложение и умножение, доказана сходимость.
В 1990 году в работе сербского математика З. Обрадовича, выполненной под руководством И. Парберри, в Университете штата Пенсильвания [12] разработаны два алгоритма характеризации пороговой к-значной функцией /: Тк — Тк. Данные алгоритмы представляют собой модификации аддитивного алгоритма Розенблатта и мультипликативного алгоритма Лит-тлстоуна. Для предложенной модификации алгоритма обучения Розенблатта доказана его сходимость. Для модификации алгоритма Литтлстоуна получена оценка числа ошибок, зависящая от введенных в работе [12] параметров высоты и ширины пороговой к-значной функции.
Дальнейшее развитие алгоритма Обрадовича связано с обобщением понятия пороговой функции. В работах А. Нгома 1995-1998 годов, выполненных под руководством сербского математика И. Стойменовича в Университете Оттавы, предложено обобщение алгоритма Обрадовича на случай немонотонной многозначной пороговой функции к-значной логики [14]. Основные усилия автора модификации направлены на вычисление частичного порядка значений функции в слоях и применении алгоритма Обрадовича.
Далее в работе М. Энтони 2003 года [15] область определения пороговой к-значной функции расширена на декартову степень множества действительных чисел /: Жк — Тк. Для характеризации такой функции предлагается два алгоритма. Первый метод основан на решении системы неравенств алгоритмом Кармакара. Второй метод представляет собой модификацию алгоритма Обрадовича.
Далее рассмотрим подробнее вопрос характеризации пороговой к-значной функции f: — . Обозначим пороговую к-значную функцию, построенную по коэффициентам линейной формы а1,..., ап и порогам Ь1 < — < Ьк-1 как ©(%,...,ап ,Ь1,.,Ьк-1). В настоящий момент для решения задачи характеризации пороговых к-значных функций существует два алгоритма, предложенных в работе [13]: к-значный метод коррекции ошибки и к-значный алгоритм отделения. Приведем их в формализованном виде.
Алгоритм «к-значный метод коррекции ошибки» (Алгоритм Обрадовича)
1. Инициализация:
(а1.....ап) = (0,0.....0), (Ь1.....Ь^) = (1,1.....1).
2. Для каждого х ЕПЦ. вычислить
0(а1,..., ап , Ь0, Ь1,., Ьк-1)(х) = р и, в случае /(х) фр, перейти к блоку «Коррекция» с параметрами (х, р).
3. В случае если для всех
х ЕТк 0(а1,..., ап , Ь1,..., Ьк-1)(х) = f(х),
векторы (а1,..., ап) и (Ь1,..., Ьк-1) являются выходом алгоритма.
Блок «Коррекция». Входными параметрами блока являются (х, р).
1. Если f(x) > р, тогда Ьр+1 = Ьр+1 — 1, s = 1.
2. Если f(x) < р, тогда Ър = Ър + 1, s = —1.
3. Для всех i Е 1,п присвоить at = at + s • xt.
Основное отличие второго алгоритма работы [13] - мультипликативный способ коррекции линейной формы, определяемый параметром а.
Алгоритм «k-значный алгоритм отделения» c параметром а
1. Инициализация:
.....ап+к-2) = (1,1.....1),
(Ь1.....Ьк-1) = ((к — 1) (п + к — 2) —к — 2,
(к — 1)(п + к — 2) — к — 1.....(к — 1)(п + к — 2)).
2. Для каждого х ЕТ^ вычислить
0(ai,...,an ,b0,bi,...,bk-1)(x) = р
и, в случае f(x) ф р, перейти к блоку «Коррекция» с параметрами (х, р).
3. В случае если для всех
хЕЪк 0(а1,., ап , Ь1, bk-1)(x) = f(x), векторы (а1, ..., ап) и (Ь1, ..., Ьк-1) являются выходом алгоритма.
Блок «Коррекция». Входными параметрами блока являются (х, р).
1. Инициализация вспомогательного вектора
(z1,., zn+k-2): для всех i Е 1, п присвоить zt = хи для всех i Е 1, к — 2 присвоить zn+i = 0.
2. Если f(x) > р, тогда S = a, ind = р + 1.
3. Если f(x) < р, тогда S = 1/а, ind = р.
4. Для всех i Е ind, к — 2 присвоить zn+l = 1.
5. Для всех i Е 1, п + к — 2 присвоить at = at • SZi.
6. Для i от к — 2 до 1 присвоить bt = bi+1 — an+t.
Оба предложенных алгоритма обладают следующими недостатками.
1. Процедура коррекции, одновременно с изменением коэффициентов линейной формы вносит изменение в значение порогов, и алгоритмы одновременно вычисляет оба вектора. Раздельное вычисление этих векторов может стать направлением их оптимизации.
2. Получаемые алгоритмами значения порогов могут принимать лишь целые значения, что в ряде случаем требует от алгоритма неоправданного увеличения весов коэффициентов линейной формы.
3. Алгоритмы начинают работу в произвольно выбранных точках, которые никак не учитывают характер функции.
При построении нового алгоритма характеризации пороговых к-значных функций можно предложить два направления оптимизации, нацеленных на устранение указанных недостатков.
Первое - это раздельное предварительное вычисление коэффициентов линейной формы 1(х1,..., хп) таких, что задающееся ей семейство гиперплоскостей параллельными сдвигами разделяет области различных значений функции.
Определение 5. Будем говорить, что линейная форма ¿(х1,..., хп) = а1х1 + +а2х2 + —+ о.пхп дает чистое разделение областей значений функции [(хъ ..., хп), принимающей
все значения из множества 0,к — 1, если для любого а = 0,к — 2 выполняется строгое неравенство
тах [а1£1 +-----+ ап£п}
f(e1,...,en)=a
< min {а1е1 +-----+ ап£п].
f(ei,...,en)=a+1
В случае если f (хъ ..., хп) не принимает некоторого значения из множества 0,к — 1, следует убрать из рассмотрения соответствующее значение.
Если построенная с помощью коэффициентов линейная форма дает чистое разделение областей значений функции /(хъ..., хп), границы Ь0, Ьъ..., Ьк можно определить, например, следующим способом:
bt = min {а1£1 +-----+ ап£п], а = 0,к — 1;
f(ei,...,en)=a
bk = тах {а1£1 +-----+ ап£п] + 1.
f( 4i.fi п)=к
Раздельное вычисление этих векторов позволит не только ожидать уменьшения трудоемкости алгоритма, но и назначить пороги непосредственно по значениям полученной линейной формы.
Второй путь оптимизации алгоритма - это введение в рассмотрение в некотором роде k-значных аналогов для коэффициентов Чоу пороговой булевой функции.
Блестящий результат К.К. Чоу 1961 года, опубликованный в работе [17], продемонстрировал неожиданное свойство булевых пороговых функций: для любой пороговой булевой функции существует единственный (п+1)-мерный вектор коэффициентов Чоу; более того, любая другая функция, обладающая таким же набором коэффициентов Чоу, является пороговой и совпадает с данной.
Определение 6. [17] Для булевой функции f(x) параметрами Чоу называется упорядоченный набор весов Со, с 1,..., сп, где
Ci = X xtf (х) ,i = 1,п
xEV.p
Со = X f(x).
xEV.p
Широкую известность приобрела «Проблема Чоу»: по известным параметрам Чоу с0, с1,..., сп построить аналитическое задание пороговой функции f(x). Фактически, «Проблема Чоу» эквивалентна проблеме характеризации пороговой булевой функции. Последние результаты решения «Проблемы Чоу» представлены в работах [18, 19], где предлагается вероятностный алгоритм построения пороговой функции близкой к искомой с заранее заданной точностью.
М. Дертоузос в своей монографии [4] при построении алгоритмов характеризации пороговых булевых функций отводит ведущую роль коэффициентам характеристического вектора, близким к коэффициентам Чоу.
Определение 7. [4] Пусть функция f (х), представлена в базисе {—1,1}. Упорядоченный набор весов d0, dj^,..., dn, где
dt = X xt f(x) ,i = 1,n
XEVf
do = X f(*)'
XEV2
называется характеристическим вектором с функции f (х).
Одинаковую природу коэффициентов характеристического вектора функции и параметров Чоу иллюстрируют следующие равенства:
do = со — 2 ,
с0 _
^ = (с1- = 1,п.
Информация о реализуемости функции пороговым неравенством в одинаковой степени содержится в параметрах Чоу и в коэффициентах характеристического вектора. Однако именно коэффициенты характеристического вектора М. Дертоузос использует для первичной аппроксимации коэффициентов линейной формы пороговой булевой функции, а далее предлагает несколько алгоритмов модификации характеристического вектора. Эксперименты, проведенные Дертоузосом для небольших значений п, проиллюстрировали оправданность такого подхода: для части функций коэффициенты характеристического вектора напрямую дают разделяющую плоскость, для оставшейся части требуется сравнительно небольшое количество итераций.
Предложенный Дертоузосом подход попробовали развить В.И. Беляков-Бодин и С.И. Розенблит в работе [5]. Здесь изучается выделенный авторами класс линейно-разделимых (в работе [5] употребляется закрепившийся сейчас за другим классом функций термин «линейных») пороговых функций, для которых нет необходимости после нахождения коэффициентов характеристического вектора применять алгоритм корректировки.
Определение 8. [5] Пороговая булева функция называется линейно-разделимой, если она может быть реализована пороговым неравенством с коэффициентами аг,..., ап, равными коэффициентам характеристического вектора d1,..., dn.
Отметим, что, с ростом п, доля линейно-разделимых функций быстро убывает.
Тем не менее, подход, при котором вычисляется первичная аппроксимация коэффициентов линейной формы с помощью некоторой меры близости функции [(х) к функциям хь ,1 = 1,п, а затем осуществляется их корректирование, полностью оправдал себя в двоичном случае.
§2. О новом алгоритме характеризации пороговых к-значных функций
Идея М. Дертоузоса использовать некоторый легко вычисляемый вектор, соответствующий мере близости функции /(х) к функциям XI ,1 = 1,п, в качестве первичной аппроксимации коэффициентов линейной формы, может быть перенесена в к-значную область. Впервые перенос данного инструмента в к-значную область осуществлен в предыдущих работах авторов [20, 21]. Таких мер близости двух к-значных функций может быть предложено несколько.
Определение 9. Для функции к-значной логики [ (хъ ..., хп) мультипликативным коэффициентом переменной хь называется величина
¡¡1 = Х хь • /(х-±,..., хп);
(х ^.„х п)еХ%
разностным коэффициентом переменной х; называется величина
т = X \XI- [(хъ..., хп)\; (х!,...,х п)еж%
квадратичным коэффициентом переменной х; называется величина
31 = X (х1- ? (Х1.....Хп)У.
(X г,...,хп)Е-11
Все введенные выше коэффициенты характеризуют меру близости функций [ (хг,...,хп) и XI, однако, как показали дополнительные исследования, для задачи нахождения даже
первичного приближения аналитического представления к-значной пороговой функции они не подходят.
В булевой области, как уже было отмечено, для построения модели первого приближения коэффициентов линейной формы использовались коэффициенты Чоу или на ином языке -коэффициенты характеристического вектора, которые можно трактовать как число знакоперемен функции по каждой координате. Продолжая эту аналогию при переходе к функциям к-значной логики можно ввести в рассмотрение коэффициенты роста, которые по каждой переменной подсчитывали бы величину возрастания значений функции и суммировали бы эти величины по всем ребрам, соответствующим выделенной переменной.
Определение 10. Для функции к-значной логики /(х1, ., хп) коэффициентом роста по переменной хь называется величина
= ^ (/(*1,..-, Х1-1, к— 1, Х;+1,..., хп)
(Х1,..,Х(-1,Х1+1,..,Хп)
— f(Xl,...,х1-1,0,х1+1,...,хп)). (2)
Коэффициенты роста не зависят от значений, которые функция принимает «в середине» п-мерного к-звенного куба. Они зависят только от значений в тех точках, в которых хотя бы одна переменная принимает крайние значения 0 либо к-1, то есть на боковых гранях п-мерного к-звенного куба.
Другим параметром, представляющим интерес для характе-ризации к-значной пороговой функции, и более тонко учитывающим её строение, является коэффициент возрастания.
Определение 11. Для функции к-значной логики /(х1,..., хп) коэффициентом возрастания по переменной х; называется величина
к-2 к-1
Л1 = ^^ ^^ ^^ (/(Х1, Х1-1, £, Х[+1, хп)
(х1..,Х1-1,Х1+1.....Х„)ЕЖЦ-1 1 = 0 £ = 1 + 1
— f(x1, . , Х 1-1, I, Х 1 + 1, ■■■, хп))- (3)
Эксперименты показывают, что коэффициенты роста и коэффициенты возрастания наиболее удачно исполняют роль первичной аппроксимации коэффициентов линейной формы.
Замечание 1. В данной статье далее будем полагать строгое двухстороннее неравенство в определении пороговой к-значной функции:
[(х1,..., хп) = £ < Ь(х1,..., хп) < Ь1+1.
Этого всегда можно добиться небольшим изменением соответствующего порога или весов, так как для любой пороговой функции набор весов и порогов не является однозначным.
Далее сформулируем новый алгоритм характеризации пороговых к-значных функций. Пользуясь обозначениями Определения 3, положим далее для всех £ = 0, к — 1
^ = {(Х1, ..., хп) ЕП% | /(Х1, ..., хп) = £}, тах(^ )= тах {Ь(х1,., хп)},
(Х1,...,ХП)ЕР1
хтах(р1) = {(*1, .,хп) Е Щ 1 Ь(хъ ...,хп) = тах(р1)}, тт(Р1 )= т1п {Ь(х1,., хп)},
Хщт(Ю = {(*1, ., хп) Е Ъ1 | Ь(Х1, ..., хп) = тт(F¡)}.
В случае если ^ = 0, положим тах(^) = +от и тт(Р1) = —от. Приведем новый алгоритм характеризации к-значных пороговых функций в формализованном виде.
Новый алгоритм характеризации пороговых ^значных функций
1. Инициализация
Проинициализировать вектор коэффициентов линейной формы коэффициентами роста либо коэффициентами возрастания:
(%,..., ап) = (Дь Д2,..., Дп) либо ап) = (АЪ Яп).
2. Вычисление проверочной таблицы
Вычислить тт(Р1), тах(Р'¡), хтЫ(Р1), хтах(Р1) для всех £ = 0,к — 1.
3. тй = к — 2.
4. Удаление пустых строк из таблицы со сдвигом строк вверх
Для каждого £ = 0, к — 11 такого, что Е\ = 0, выполнить:
a. для всех} = /, тй присвоить т1п(Р1) = тт^^^, тах(Е¡) = max(Fi+l), хт1п(Р1) = xmln(Fl+l), хтах(р1) =
= хтах(р1+1)г
b. тй = тй — 1.
5. Проверка чистого разделения областей значений функции
Для каждого i = 0, ind. проверить выполнение неравенства
max(Fi) > min(Fi+1).
В случае выполнения неравенства для некоторого i Е {0,..., ind.] вызвать блок «Коррекция» с параметром i и перейти на шаг 2 алгоритма.
В противном случае вызвать блок «Вычисление порогов» и завершить выполнение алгоритма.
Блок «Коррекция». Входным параметром блока является i.
1. Выбор точек
Произвольным образом выбрать точки и Е xmax(Fl) и v Е xmin(Fi+1)
2. Коррекция линейной формы
Для всех j Е 1, п присвоить a¿ = a¿ — Uj + Vj.
Возврат в основной цикл
Блок «Вычисление порогов»
Положить пороги
bt = min {а1е1 +-----+ ап£п], для всех i = 0, к — 1;
f(s1,..,sn)=i
bk = тах {а1£1 +-----+ ап£п] + 1.
/С Ei,...,E п) = к
В случае если для некоторого £ = 1, к — 1 = 0, присвоить соответствующему порогу Ь; любое значение из интервала между значениями порогов соседних областей. Если Р0 = 0, то положить Ь0 = —от.
Выход алгоритма: векторы ( а 1,..., ап), (Ь0,..., Ьк).
Пример
Найдем с помощью предложенного алгоритма реализацию пороговой 5-значной функции [: П5 — Ъ5, задающейся линейной формой
Ь(х1,...,х5) = х1 — 25х2 + 14х3 — 43х4 + 43х5
и порогами Ь1 = -164, Ь2 = -69, Ь3 = 53, Ь4 = 110 следующим образом:
/(хь..., х5) = 0 ^ 1(х1, ..., х5) < -164 /(х1,.,х5) = 1 ^-164 <!(%!,.,х5) < -69 /(хь ..., х5) = 2 ф=> -69 < 1(х!,..., х5) < 53 (4) /(х1, ..., х5) = 3 ^ 53 < Ь(х!, ..., х5) < 110 /(х!, ..., х5) =4 ^ 110 < 1(х!,..., х5)
Предположим, что представление (4) неизвестно, на основании лишь табличного задания функции поставим задачу проверки принадлежности функции к классу пороговых и её ха-рактеризации. Вычислим коэффициенты возрастания данной функции:
(ЛХ1,ЛХ2, ЛХз, ЛХ4, ЛХг) = (116,-3132,1766,-5444,5444).
В нашем примере наглядно видна корреляция между коэффициентами линейной формы и коэффициентами возрастания. Однако пороговая 5-значная функция, реализующаяся пороговым неравенством с коэффициентами (Л.Х1,Л.х2,АХз,Хх,), не разделяет области значений функции f. Требуется проведение корректировки.
Вычислим значения тах(Р{) и тт(Р1) для линейной формы
Ь(1)(х1,.,х5) = 116х1- 3132х2 + 1766х3 - 5444х4 +5444х5:
i min(Fj) max (Fi)
0 -34304 -20830
1 -20744 -8764
2 -8804 6622
3 6708 13832
4 13948 29304
i min(Fj) max (Fi)
0 -34308 -20824
1 -20728 -8760
2 -8779 6626
3 6716 13835
4 13950 29320
Проведем вторую итерацию корректирования линейной формы Ь(2)(х1,., х5). Для этого выберем точки (2,4,2,4,4) е хтах(Р1) и (4,0,4,3,0) е хтХп(Р2). Новая линейная форма
1(3)(х1,., х5) = 120х1 - 3140х2 + 1770х3 - 5442х4 +5440х5
дает чистое
разделение областей значений min(Fj) max (Fi)
функции /: 1
0 -34328 -20836
1 -20728 -8780
2 -8768 6610
3 6714 13820
4 13938 29320
Чистого разделения не происходит так как
тах(Р1) = -8764 > -8804 = тт(Р2) Проведем корректирование линейной формы Ь(1)(х1,..., х5) в соответствии с общей логикой изложенного алгоритма. Для этого выберем точки
(2,4,2,0,0) е хтах(Ръ) и (4,0,4,3,0) е хт1п(Р2). Новая линейная форма
Ь(2) (х1.....х5) = 116х1 - 3132х2 + 1766х3 - 5444х4
+ 5444х5 - 2х1 --4х2 - 2х3 + 4х1 + 4х3 + 3х4 = = 118х1 - 3136х2 + 1768х3 - 5441х4 + 5444х5 не разделяет области значений функции f. Вычислим значения тах(Р^) и т1п(Р1) для линейной формы 1(2)(х1,...,х5):
Далее выберем пороги по значениям тах(р1), I = 1,3?. Таким образом, функция [ реализуется линейной формой
1(3)(х1,., х5) = 120х1 - 3140х2 + 1770х3 - 5442х4 + 5440х5 и порогами Ъ1 = -20836, Ъ2 = -8780, Ъ3 = 6610, Ь4 = 13820.
Эксперименты показывают, что новый алгоритм характери-зации пороговых к-значных функций сходится, и количество итераций, которые он затрачивает на характеризацию пороговых к-значных функций, значительно меньше, чем у алгоритма Обрадовича.
Приведем результаты экспериментального сравнения нового алгоритма характеризации с алгоритмом Обрадовича. Для фиксированных п и к было сгенерировано большое число Ыпк уникальных пороговых функции (до 100.000 функций) и в ходе массового эксперимента вычислялись два параметра: максимальное число итераций алгоритма и математическое ожидание числа итераций алгоритма. Данные параметры вычислялись для обоих алгоритмов и приведены в следующих таблицах. Обозначим Мах°ькг - максимальное число итераций алгоритма Обрадовича, МахЦ™ - максимальное число итераций нового алгоритма, М1Цькг - математическое ожидание числа итераций алгоритма Обрадовича, М1Ц™ - математическое ожидание числа итераций нового алгоритма.
В таблице 1 приведены экспериментальные данные для к = 2, в таблицах 2 и 3 - для к = 3 и к = 4 соответственно. В каждом столбце таблицы помещены значения п, и значения ЫпЛ, Мах°ъ{, МахЦ^Т, М1$Т, М^ для данного п.
Таблица 1
Экспериментальные сравнения трудоемкости для к = 2
г» 2 3 4 5 6 7 8 9 10 11 12
Nnд s 32 176 1737 18666 48846 64811 72636 77854 82717 87237
jVfa<2 11 30 10H 343 i:t49 4ГО4 1434b /1933 Л1И44 6H:W44 714JB41
Max»%w 0 0 1 2 8 1Я 33 47 79 199 ?f)9
5 10 n 49 114 783 731 1967 S677 1/697 Ь90?/
ШпТ 0 0.00 0.04 0.22 0.48 0.69 1.29 2.48 4.85 9.27 17.38
Чистого разделения не происходит, так как
тах(Р1) = -8760 > -8779 = тт(Р2).
Таблица 3
Экспериментальные сравнения трудоемкости для k = 4
Таблица 2
Экспериментальные сравнения трудоемкости для k = 3
Таблица 5
Доля функций, для которых не требуется корректировка.
n 2 3 4 5 6 7
205 12223 73604 93662 98335 99488
Max°* 184 4022 33935 183162 1404236 14897975
Max™w 0 5 14 43 256 569
Miff 39 173 792 3972 23084 154814
MInew 0.00 0.23 0.592 1.94 6.24 18.28
Л 2 3 4 5
Nn.t 6589 87386 99486 99964
Max?£ 6217 109412 1892287 22463505
Max™" 3 13 69 637
м/„Т 231 16869 1896 181127
MIZ7 0.14 0.58 3.19 13.67
k\n 2 3 4 5 6 7 8 9 10 11 12
2 l 1 00 0.9545 0 7950 0.66B5 0.5B94 04325 0.2B06 0.1694 0.11QB 0.07&2
3 1.00 0.S05D 0.&64Б 0.5967 0.143B 0.0330 0.0095 0.0049
4 0.&705 0.7192 0.5455 0.0775 0.00967 0.0015
5 0.BB17 0 5226 0 1346 00150 0.0009
6 0.&365 0.5540 0.0551 0.002Б
7 0.7709 0.2432 0.0205 0.0006
8 0 .&9B1 0 1645 0.0076
9 0.&3B7 0.1054 0.0037
ID 0.5 £47 0.06B3 0.0026
11 0.5315 0.0472
12 0.46B4 0.0347
13 0.4207 0.0275
14 0.3759 0.0235
15 0.5429 0.0217
16 0.5075 0.0191
17 0.2B66 0.0191
IS 0.2634 0.0165
19 0.2464 0.0161
20 0.2292
21 0.2164
В таблице 4 приведены экспериментальные данные для п = 2. В каждом столбце таблицы помещены значения к, и значения N пА, Мах°ъ{, Мах^, М1°Ь2Г, для данного к.
Таблица 4
Экспериментальные сравнения трудоемкости для п = 2
k 5 6 7 В 9 10 11 12
ГрЯЯ11 41415 974ЯЗ 99153 ■I -Iv-ll 99866 <!. ■r^-'k
Max°% 41453 244661 651726 2581130 55B1257 13728933 35251568 S09956B5
MaxHw 5 10 16 24 37 46 67 122
Mii? 1123 4473 14951 42067 106940 24B2S6 53753В 106B527
;w>2T 0.16 0.28 0.51 0.88 1.3B 2.050 3.02 4.79
Из приведенных таблиц видно, что по сравниваемым параметрам трудоемкости новый алгоритм характеризации значительно эффективнее алгоритма Обрадовича. В данном сравнительном анализе можно сделать справедливое замечание о том, что в каждой итерации нового алгоритма характеризации необходимо просмотреть всю таблицу значений для текущей линейной формы, а в алгоритме Обрадовича таблицу значений необходимо просмотреть до первого несовпадения. Однако, даже грубое домножение полученных параметров сложности нового алгоритма на затраты просмотра таблицы сохраняет явный выигрыш нового алгоритма в сравнении с алгоритмом Обрадовича (в худшем случае на кп). Более того, логическая природа нового алгоритма и на этом этапе позволяет достичь сокращения числа вычислительных операций за счет распараллеливания либо усовершенствованной организации просмотра таблицы.
Кроме сказанного выше, отметим еще немаловажный факт, что для некоторой доли функций коэффициенты роста напрямую дают уравнение разделяющей гиперплоскости. Хотя эта доля монотонно убывает с ростом п и к, ее наличие дает новому алгоритму характеризации дополнительное преимущество.
Доля функций, для реализации которых не требуется применение алгоритма корректировки после вычисления коэффициентов возрастания, приведена в таблице 5.
Таким образом, новый алгоритм характеризации пороговых k-значных функций является состоятельным конкурентом алгоритма Обрадовича и требует дополнительного глубокого изучения.
Статья проверена на оригинальность в системе www.antiplagiat.ru. Оригинальность: 87.44%.
Список литературы:
1. Коробков В. К. Оценка числа монотонных функций алгебры логики и сложности алгоритма отыскания разрешающего множества для произвольной монотонной функции алгебры логики // Доклады Академии Наук СССР. —1963. - Т. 150, № 4. - С. 744-747.
2. Коробков В. К., Резник Т. Л. О некоторых алгоритмах вычисления монотонных функций алгебры логики // Доклады Академии Наук СССР. —1962. - Т. 147, № 5. - С. 1022-1025.
3. Бутаков Е.А. Методы синтеза релейных устройств из пороговых элементов // - Москва: Энергия, 1970.
4. Дертоузос М. Пороговая логика // - Москва: Мир, 1967.
5. В.И. Беляков-Бодин и С.И. Розенблит Исследование некоторых вопросов синтеза пороговых функций // - М. Институт теоретической и экспериментальной физики Гос. Комитета по использованию атомной энергии СССР, 1972.
6. Розенблатт Ф. Принципы нейродинамики. Перцептроны и теория механизмов мозга//- Москва: Мир, 1963.
7. Минский М., Паперт С. Персептроны // - Москва: Мир, 1971.
8. Хачиян Л.Г. Полиномиальные алгоритмы в линейном программировании // «Журнал вычислительной математики и математической физики», 1980, Т 20.
9. Золотых Н.Ю. Расшифровка пороговых и близких к ним функций многозначной логики. Диссерт. канд. физ.-мат. наук. / Нижегородский государственный университет им. Н.И. Лобачевского, Нижний Новгород, 1998.
10. Золотых Н.Ю. Расшифровка пороговых и близких к ним функций. Диссерт. докт. физ.-мат. наук. ФГБУН Институт математики им.С.Л.Соболева СО РАН, Москва, 2013.
11. Nick Littlestone. Learning Quickly When Irrelevant Attributes Abound: A New Linear-Threshold Algorithm. Machine Learning. April 1988, Volume 2, Issue 4, pp 285-318.
12. Obradovic, Z. and Parberry, I. (1990) "Learning with Discrete Multi-Valued Neurons," Machine Learning: Proc. 7th Int'l. Conf., ed. B. W. Porter and R.J. Mooney, Austin, TX, Morgan-Kaufmann, pp. 392-399.
13. Obradovic, Z. (1990) "Learning with Discrete Multi-Valued Neurons," Machine Learning: Proc. 7th Int'l. Conf., ed. B. W. Porter and R.J. Mooney, Austin, TX, Morgan-Kaufmann, pp. 392-399.
14. Ngom A., Synthesis of Multiple-Valued Logic Functions by Neural Networks, Ph.D. Thesis Dissertation, Computer Science Department, University of Ottawa, Ontario, October 1998.
15. Anthony M. Learning Multivalued Multithreshold Functions. CDAM Research Report LSE-CDAM-2003-03, January 2003.
16. Grove A.J., Littlestone N., Schuurmans D. General Convergence Results for Linear Discriminant Updates. Machine Learning, 43, 173210, 2001.
17. Chow C. On the characterization of threshold functions. In Proceedings of the Symposium on Switching Circuit Theory and Logical Design (FOCS), pages 34-38, 1961.
18. O'Donnell R., Servedio R.A.. The Chow parameters problem. In STOC, pages 517-526. 2008.
19. Anindya De, Diakonikolas Ilias. Nearly optimal solutions for the Chow Parameters Problem and low-weight approximation of halfspaces. Journal of the ACM (JACM). Volume 61 Issue 2, April 2014.
20. Бурделёв А.В., Никонов В.Г. О построении аналитического задания k-значной пороговой функции. Computational nanotechnology. Выпуск № 2 / 2015.
21. Бурделев А.В., Никонов В.Г., Лапиков И.И. Распознавание параметров узла защиты информации, реализованного пороговой k-значной функцией // Труды СПИИРАН. 2016. Вып. 46. C. 108-127.
22. Karmarkar N.. «A New Polynomial Time Algorithm for Linear Programming», Combinatorica, Vol 4, nr. 4, p. 373—395, 1984.
23. Филатов А. Ю. Развитие алгоритмов внутренних точек и их приложение к системам неравенств. Диссерт. канд. физ.-мат. наук. / Иркутский государственный университет, Иркутск, 2001.
РЕЦЕНЗИЯ
на статью «О новом алгоритме характеризации k-значных пороговых функций» авторы: Бурделёв А. В., Никонов В. Г.
Задача распознавания принадлежности функции к классу пороговых и нахождения её аналитического задания, безусловно, является одной из важнейших в пороговой логике и её решению посвящено большое количество исследований и публикаций. Несмотря на простоту формулировки, она оказалась весьма сложной, требующей в общем случае привлечения итеративных алгоритмов. Дополнительные сложности связаны с переносом её из булевой в k-значную область. Представленная статья посвящена рассмотрению задачи характеризации именно k-значных пороговых функций, для решения которой авторами предложен новый алгоритм, по основным параметрам превосходящий известные алгоритмы, в частности алгоритмы Обрадовича. Проведен большой цикл экспериментальных исследований, показавший эффективность нового алгоритма и наглядно продемонстрировавший его преимущества над ранее известными. Авторами экспериментально установлена сходимость нового алгоритма во всех рассмотренных примерах. Вместе с тем, ожидаемое теоретическое доказательство сходимости нового алгоритма в статье не приводится, что можно расценивать и как её недостаток, и как ориентир проведения дальнейших исследований.
Статья представляет безусловный интерес для специалистов в области дискретной математики и пороговой логики и может быть рекомендована к опубликованию в журнале «Computational nanotechnology».
канд. техн. наук
Мотылёв С.А.