2018 Вычислительные методы в дискретной математике №39
ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ
УДК 512.55
О СХОДИМОСТИ НОВОГО АЛГОРИТМА ХАРАКТЕРИЗАЦИИ k-ЗНАЧНЫХ ПОРОГОВЫХ ФУНКЦИЙ
A. В. Бурделев
Белорусский государственный университет, г. Минск, Беларусь
Функция k-значной логики f (xi,..., xn), для которой существует линейная форма L (x1,..., xn) = а1ж1 + a2x2 + ... + anxn, xi £ Zk, с вещественными коэффициентами и набор вещественных порогов bo < bi < ... < bk, такие, что для всех i £ £ {0,..., k — 1} выполняется условие f (x1,..., xn) = i ^ bi ^ L (x1,..., xn) < bi+1, называется пороговой k-значной функцией. Под алгоритмом характеризации пороговой k-значной функции понимается процедура нахождения коэффициентов а1, а2,..., ап линейной формы L (x1,..., xn) и множества порогов b0, b1,..., bk-1. В работе доказывается сходимость алгоритма нахождения коэффициентов линейной формы и порогов (характеризации) k-значных пороговых функций по столбцу значений. Основная идея алгоритма заключается в раздельном последовательном вычислении коэффициентов линейной формы и порогов. В качестве первичной аппроксимации линейной формы используются коэффициенты роста либо коэффициенты возрастания и итеративно осуществляется корректировка линейной формы. После нахождения коэффициентов линейной формы вычисляются разделяющие пороги.
Ключевые слова: алгоритм характеризации, доказательство сходимости, пороговая функция.
DOI 10.17223/20710410/39/10
CONVERGENCE OF AN ITERATIVE ALGORITHM FOR COMPUTING PARAMETERS OF MULTI-VALUED THRESHOLD FUNCTIONS
A. V. Burdelev Belarus State University, Minsk, Belarus E-mail: [email protected]
A k-valued threshold function is defined as f (x1,..., xn) = i £ {0,1,..., k — 1} ^ ^ bi^L (x1,..., xn) < bi+1 where L (x1,..., xn) = a1x1 + a2x2 + ... + anxn is a linear form in variables x1,..., xn with the values in {0,1,..., k — 1} and coefficients a1,..., an in R and b0,..., bk are some thresholds for L in R, b0 < b1 < ... < bk. A. V. Burdelev and V. G. Nikonov have created and published in J. Computational Nanotechnology (2017, no. 1, pp. 7-14) an iterative algorithm for computing coefficients a1,..., an and thresholds b0,..., bk for any k-valued threshold function f (x1,..., xn) given by its values f (c1,..., cn) for all (c1... cn) in {0,..., k — 1}n.
In computer experiment they showed the convergence of this algorithm on many different examples. Here, we present a theoretical proof of this algorithm convergence on each k-valued threshold function for a finite number of steps (iterations). The proof is very much similar to the geometrical proof of perceptron convergence theorem by M. Minsky and S. Papert.
Keywords: threshold functions, iterative algorithms, convergence.
Введение
В целом ряде разделов дискретной математики возникает задача распознавания принадлежности функции к классу пороговых и восстановления (характеризации) неизвестной дискретной функции из этого класса с помощью последовательных вопросов о её значениях в точках.
Определение 1 [1]. Функция k-значной логики f (xi,... , xn), для которой существует линейная форма L (x1,..., xn) = a1x1+a2x2 + .. .+anxn, xj G Zk с вещественными коэффициентами и набор вещественных порогов b0 < b1 < ... < bk, такие, что для всех i G {0,...,k — 1} выполняется условие
f (x1,..., Xn) = i ^^ bj ^ L (x1,..., Xn) < bj+1,
называется пороговой k-значной функцией.
Замечание 1. В силу неоднозначности задания пороговой функции будем полагать возможным использование порогов, удовлетворяющих нестрогому неравенству
bo ^ b1 ^ ... ^ bfc.
В случае равенства порогов bj = bj+1 для некоторого i G {0,..., k — 1}, очевидно, функция f (x1,... , xn) не принимает значения i. Если пороговая функция принимает значение i, то будем считать, что выполняется строгое двухстороннее неравенство
f (x1,... ,x„) = i ^ bj < L (x1, ...,x„) < bj+1.
Этого всегда можно добиться небольшим изменением порогов или весов.
Под алгоритмом характеризации пороговой k-значной функции понимается процедура нахождения какого-либо семейства параллельных гиперплоскостей, разделяющих множества различных значений данной функции, то есть нахождения коэффициентов а1, а2,... , ап линейной формы L (x1,... , xn) и множества порогов b0, b1,... , bk-1.
Подобная задача рассматривалась в работе [2], где предложен итеративный алгоритм нахождения представления k-значной пороговой функции, который на практических примерах показал сходимость.
Далее описан новый алгоритм характеризации k-значных пороговых функций и доказана его сходимость. Как показывают эксперименты [1], трудоёмкость нового алгоритма на порядки меньше, чем у алгоритма в [2].
1. Основные понятия и характеристики пороговых функций
Определение 2. Будем говорить, что линейная форма L (x1,...,xn) = a1x1 + +a2x2 + ■ ■ ■ + anxn даёт чистое разделение областей значений функции f (x1,... ,xn), принимающей все значения из Zk, если для любого a G {0,... , k — 2} выполняется строгое неравенство
max {а^! +----+ а„е„} < min {а^ +----+ а„е„} .
/(£1>...>еп)=« /(£1,...,е„)=«+1
Если это выполняется, то границы bo, 61,... , bk можно определить, например, следующим способом:
ba = min {ai£i + ... + a„£„} , a G Zfc, f (£!,...,£„) = «
bk = max {ai £1 + ... + a„£„} + 1.
f (ei,...,£n )=k-1
Замечание 2. В случае, когда функция f (x1,...,xn) не принимает некоторых значений из Zk, необходимо следующим образом убрать из рассмотрения соответствующие области значений: пусть функция f (x1,... , xn) принимает значения 0 ^ a0 < < a1 < ... < at < k, 0 < t < k. Тогда для всех i G {0,... , t — 1} необходимо проверить выполнение строгого неравенства
max {a1^1 + ... + a„e„} < min {a^ + ... + a„e„} .
f (ei,...,£n)=«i f (ei,...,£n)=«i+i
Пороги в этом случае можно определить, например, следующим образом: для всех значений a0,... , at присвоить значения
bai = min {a1^1 +... + a„e„}; (1)
f (ei,...,£n)=ai
далее, если функция принимает значение k — 1 , то положить
bk = max {a1 £1 + ... + a„e„} + 1, (2)
f (£!,...,£„ ) = k-1
в противном случае положить bk = для оставшихся значений j G Zk\{a0,... , at} (которые не являются значениями функции f (x1,..., xn)), начиная со старшего, присвоить соответствующему порогу значение bj = bj+1.
В работе [1] представлен подробный обзор существующих методов характериза-ции k-значных пороговых функций и предложен новый алгоритм характеризации, использующий в качестве первичной аппроксимации коэффициентов линейной формы коэффициенты роста и коэффициенты возрастания.
Определение 3. Для функции k-значной логики f (x1,... , xn) коэффициентом роста по переменной xi называется величина
Ai = Е (f (x1,...,Xj-1,k — 1,хт,... ,x„) —
— f (X1, . . . ,Xj—1, 0, Xj+1, . . . ,Xn)).
Определение 4. Для функции k-значной логики f (x1,... , xn) коэффициентом возрастания по переменной xi называется величина
k-2 k-1
Ai = Е ЕЕ (f (X1
(xi,...,xi_i,xi+i,...,x„)GZn_i г=0 £=1+1
f (x1 , . . . , xi— 1, Xi+1,
, xi— 1 , Xi+1 , . . . , xn) I Xn )) .
2. Алгоритм характеризации k-значных пороговых функций
Приведём новый алгоритм (алгоритм 1) характеризации k-значных пороговых функций в формализованном виде. Для этого понадобятся следующие обозначения для произвольного i £ Zk:
Fi = {(xi,. .. ,xra) £ Z£ : f (xi,. .. ,xra) = i};
max(Fj) = max {L(x1,... , xn)}; (3)
(xi.....in )eF¿
Xmax(Fi) = {(xi,... ,xra) £ Z£ : L(xi,... ,xra) = max(Fi)};
min(Fi) = min {L(xb ..., x„)}; (4)
(il,...,in)€Fi
Xmin(Fi) = {(xi,... ,xra) £ Z£ : L(xi,... ,xra) = min(Fi)}. В случае если Fi = 0, положим max (Fi) = и min (Fi) = —то, xmin (Fi) =
xmax (Fi) ( 1, . . . , 1).
Пусть пороговая функция f (xi,... , xn) принимает только значения 0 ^ a0 < ai < < ... < at < k, 0 < t < k.
Алгоритм 1. Новый алгоритм характеризации пороговых k-значных функций
Вход: Ai, Ai, i = 1,... ,n; Fai, ai, i = 0,... ,t
// Инициализация коэффициентов линейной формы 1: Положить (ai,... , ßn) := (Ai,... , An) либо (ai,... , an) := (Ai,... , An) // Проверка чистого разделения областей значений функции Для всех i = 0,..., t — 1
вычислить min (Fai+1) по (4); вычислить max (Fai) по (3). Если max (Fai) ^ min (F^+J, то // Блок «Коррекция»
~ ^ max y ^ xmin (Fa¿+i) .
Для всех j = 1,..., n
ßj := ßj — xj + yj. // Коррекция коэффициентов линейной формы Перейти на шаг 2. // Блок «Вычисление порогов» Вычислить min (Fao). Для всех i = 0, . . . , t
положить bai := min (Fai) //в соответствии с (1). Если at = k — 1, то вычислить max (Fk-i),
положить bfc := max (Fk-i) + 1, //в соответствии с (2) иначе bfc := +то.
// Задание остальных порогов (см. замечание 2) Z := Zfc\{ao,... at}. Пока Z = 0
j := max Z, bj = bj+i, Z = Z\{j}. Вывести (ßi,..., ßn), (b0,..., bk)
2
3
4
5
6
7
8 9
10
11 12
13
14
15
16
17
18
19
20 21 22
На шаге 1 вектор коэффициентов линейной формы инициализируется коэффициентами роста либо коэффициентами возрастания. На шагах 6 и 7 производится случайный и равновероятный выбор точек х и у из множеств хтах ) и хт;п соответственно.
3. Доказательство сходимости
На практике алгоритм показал сходимость во всех рассмотренных случаях при изменении параметров в широких интервалах. Более того, в сравнении с известным алгоритмом Обрадовича [2] он демонстрирует значительное превосходство по трудоёмкости, а на параметрах п и к больше 10 — на несколько порядков. В связи с этим теоретическое доказательство его сходимости можно рассматривать как ожидаемое и чрезвычайно важное для данной области исследования. Предварительно отметим, что доказательство теоремы 1 во многом схоже с геометрическим доказательством теоремы о сходимости персептрона, изложенным в работе [3].
Теорема 1. Если f — к-значная пороговая функция, то алгоритм 1 сходится за конечное число шагов и даёт её характеризацию.
Доказательство. Пусть пороговая функция к-значной логики f (х1,..., хп) задаётся линейной формой Ь (х1,... ,хп) = а1х1 + а2х2 + ■ ■ ■ + «гахга, т. е. вектором Ь = = (а1, а2,... , ага). Вокруг вектора Ь всегда можно построить конус допустимых решений такой, что любой вектор, лежащий в данном конусе, даёт чистое разделение областей значений функции f (х1,... , хп) [3].
Конусом допустимых решений Q назовём множество векторов, для которых выполнены следующие свойства:
1) а € Q ка € Q для всех к > 0;
2) а € Q, в € Q (а + в) € Q;
3) для любого а € Q линейная форма, построенная по коэффициентам вектора а, даёт чистое разделение областей значений функции f (х1,..., хп).
Обозначим угол раствора конуса в (в > 0). Докажем, что за конечное число шагов алгоритма вектор коэффициентов линейной формы окажется внутри конуса допустимых решений.
Очевидно, что в силу абсолютной монотонности пороговой функции [4] векторы коэффициентов роста и коэффициентов возрастания лежат в одном ортанте с вектором Ь. Таким образом, алгоритм начинает работу с вектора Ло, лежащего в одном ортанте с вектором Ь.
Рассмотрим операцию коррекции в алгоритме. Обозначим текущий вектор линейной формы Лг, он поступает на вход блока «Коррекция», после коррекции переходит в вектор Лг+1.
Алгоритм осуществляет коррекцию с помощью двух точек иг € хтах и €
€ хт;п тогда и только тогда, когда одновременно выполняются следующие два
неравенства:
1) ^ Лгиг, так как задействован блок «Коррекция» алгоритма;
2) при этом для неизвестного истинного вектора Ь выполнено противоположное неравенство > Ьиг в силу определения 1.
Эти неравенства равносильны системе
- иг) > 0
Лг(^ - иг) ^ 0.
Вектор коррекции — иг) = Сг прибавляется к текущему значению Лг и получается новое значение = Лг + Сг.
Рассмотрим плоскость, на которой лежат векторы Ь и Лг (рис. 1). Обозначим С^г проекцию вектора Сг на плоскость, образованную векторами Ь и Лг. Перенесём начало этой проекции в конец вектора Лг.
Рис. 1. Проекция вектора коррекции
В силу первого неравенства системы (5) конец вектора С^г должен быть ниже прямой д, в силу второго неравенства — выше прямой р, т. е. должен лежать в заштрихованной области на рис. 1. Таким образом, вектор направлен к вектору Ь.
Рассмотрим конус Кг, образованный вращением вектора Лг вокруг вектора Ь. Видно, что вектор Сг заходит внутрь конуса Кг. Для каждого шага алгоритма возможны два случая: вектор Сг лежит внутри конуса Кг целиком или выходит за пределы конуса Кг, то есть «прокалывает» конус, как на рис. 2.
А
Рис. 2. «Прокол конуса»
Покажем, что «прокол конуса» может произойти конечное число раз. Так как по замечанию 1 для любых игЕ выполняется неравенство — иг) > 0, существует г > 0, такое, что — иг) > г для любых уг, игЕ Это означает, что часть заштрихованной на рис. 1 области, заведомо содержащая конец вектора С^а, лежит на г/|Ь|
выше, чем окончание вектора Лг. Рис. 3 является модификацией рис. 1, учитывающей вышеизложенное. Если рассмотреть проекцию на плоскость основания конуса Кг, то расстояние от конца проекции на эту плоскость вектора Сг до касательной к окружности конуса Кг в точке окончания вектора Лг будет не менее чем
Рис. 3. Проекция вектора коррекции
Нижнюю границу для d определяет тот факт, что угол между векторами Aj и L составляет не меньше в (иначе алгоритм останавливает работу) и меньше (п/2 — в); таким образом, d ^ (r/|L|) ctg в > 0. Длина вектора C ограничена сверху величиной (k —
Рассмотрим проекцию на плоскость основания конуса Kj. На рис. 4 изображены две окружности: окружность основания конуса K вокруг вектора L и окружность радиуса (k — 1) у/П вокруг окончания вектора Aj. К окружности основания конуса K проведена касательная в точке окончания вектора Aj. На расстоянии d от касательной проведена линия.
Согласно вышеизложенному, окончание проекции вектора Cj на данную плоскость должно лежать на расстоянии не меньше d от касательной, не больше (k — 1) у/П от окончания вектора Aj и по одну сторону с вектором L относительно касательной. Таким образом, окончание проекции вектора Cj лежит в заштрихованной на рис. 4 области.
Можно легко заметить, что заштрихованная область не целиком лежит внутри окружности основания конуса Kj. Когда окончание проекции вектора Cj будет попадать в заштрихованную область вне окружности основания конуса Kj, будет происходить «прокол конуса».
Покажем, что с ростом числа итераций i «прокол конуса» прекратится. Так как вектор Cj всегда содержит вертикальную составляющую не менее r/1L |, высота конуса Kj растет с каждой итерацией алгоритма. Угол между векторами L и Aj больше в (в противном случае алгоритм останавливается и решение найдено). Таким образом, радиус основания конуса Kj увеличивается неограниченно.
С увеличением радиуса основания конуса Kj вся заштрихованная область попадёт внутрь окружности основания конуса Kj, как показано на рис. 5, и «прокол конуса» прекратится. Таким образом, «прокол конуса» может произойти конечное число раз, после чего вектор коррекции Cj целиком будет попадать в конус Kj и оконча-
d
Рис. 4. Проекция на плоскость основания конуса K
ние вектора коррекции будет всегда попадать внутрь круга фиксированного радиуса. С ростом числа итераций высота конуса K растёт неограниченно минимум на r/|L| с каждой итерацией (см. рис. 3). Вместе с высотой конуса растёт радиус основания конуса допустимых решений Q — минимум на величину r cos в /1L |.
Итак, начиная с некоторого шага алгоритма, окончания всех векторов Лг будут лежать в вертикальном цилиндре, расположенном внутри конуса допустимых решений, имеющего своей осью вектор Ь. ■
Предложенный в работе [1] алгоритм сходится и находит за конечное число шагов решение проблемы характеризации к-значных пороговых функций.
Сходимость алгоритма 1, как следует из доказательства, выполняется при использовании и коэффициентов роста, и коэффициентов возрастания для первичной аппроксимации коэффициентов линейной формы. Вместе с тем эксперименты показывают, что получаемые в этих двух случаях результаты, а также сложности реализации алгоритмов отличаются и требуют дальнейшего изучения.
Рис. 5. Проекция на плоскость основания конуса
Заключение
ЛИТЕРАТУРА
1. Бурделёв А. В., Никонов В. Г. О новом алгоритме характеризации k-значных пороговых функций // Computational Nanotechnology. 2017. Вып. 1. C.7-14.
2. Obradovic Z. and Parberry I. Learning with discrete multi-valued neurons // Proc. 7th Intern. Conf. Machine Learning. University of Texas, Austin, Texas, June 21-23 1990. P. 392-399.
3. Минский М., Пейперт С. Персептроны. М.: Мир, 1971.
4. Никонов В. Г., Никонов Н. В. Особенности пороговых представлений k-значных функций // Труды по дискретной математике. 2008. Т. 11. Вып. 1. С. 60-85.
REFERENCES
1. Burdelev A. V. and Nikonov V. G. O novom algoritme harakterizacii k-znachnyh porogovyh funkcii [A new algorithm for recognition of k-valued threshold functions]. Computational Nanotechnology, 2017, vol. 1, pp.7-14. (in Russian)
2. Obradovic Z. and Parberry I. Learning with discrete multi-valued neurons. Proc. 7th Intern. Conf. Machine Learning, University of Texas, Austin, Texas, June 21-23 1990, pp. 392-399.
3. Minsky М. and Papert S. Perceptrons. Cambridge, MA, MIT Press, 1969.
4. Nikonov V. G. and Nikonov N. V. Osobennosti porogovyh predstavlenii k-znachnyh funkcii [Features of threshold representations of k-valued functions]. Tr. Diskr. Mat., 2008, vol.11, iss. 1, pp. 60-85. (in Russian)