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

О сходимости нового алгоритма характеризации k-значных пороговых функций Текст научной статьи по специальности «Математика»

CC BY
143
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
АЛГОРИТМ ХАРАКТЕРИЗАЦИИ / ДОКАЗАТЕЛЬСТВО СХОДИМОСТИ / ПОРОГОВАЯ ФУНКЦИЯ / THRESHOLD FUNCTIONS / ITERATIVE ALGORITHMS / CONVERGENCE

Аннотация научной статьи по математике, автор научной работы — Бурделев Александр Владимирович

Функция k-значной логики f (x\,..., xn), для которой существует линейная форма L (xi,..., xn) = aixi + a2x2 +... + anxn, Xi e Zk, с вещественными коэффициентами и набор вещественных порогов bo < bi <... < bk, такие, что для всех i e e {0,...,k 1} выполняется условие f (x1,...,xn) = i ^ bi @ L (x1,...,xn) < bi+1, называется пороговой k-значной функцией. Под алгоритмом характеризации пороговой k-значной функции понимается процедура нахождения коэффициентов a1, a2,..., an линейной формы L (x1,..., xn) и множества порогов b0,b1,..., bk-1. В работе доказывается сходимость алгоритма нахождения коэффициентов линейной формы и порогов (характеризации) k-значных пороговых функций по столбцу значений. Основная идея алгоритма заключается в раздельном последовательном вычислении коэффициентов линейной формы и порогов. В качестве первичной аппроксимации линейной формы используются коэффициенты роста либо коэффициенты возрастания и итеративно осуществляется корректировка линейной формы. После нахождения коэффициентов линейной формы вычисляются разделяющие пороги.

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

Convergence of an iterative algorithm for computing parameters of multi-valued threshold functions

A k-valued threshold function is defined as f (x1,..., xn) = i e {0,1,..., k 1} ^ ^ b^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.

Текст научной работы на тему «О сходимости нового алгоритма характеризации k-значных пороговых функций»

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: aburd2011@mail.ru

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;

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

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)

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