ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
МЕТОДЫ НАСТРОЙКИ СИСТЕМ ЭЛЕМЕНТОВ НЕЙРОСЕТЕЙ КАК ПОДХОД К РЕШЕНИЮ ЗАДАЧ АНАЛИЗА УНИВЕРСАЛЬНЫХ
моделей узлов электронных СХЕМ
К.К. РЫБНИКОВ, проф. каф. высшей математики МГУЛ, канд. физ.-мат. наук
Решение системы булевых уравнений (1) представляет значительный практический интерес, так как является универсальной моделью электронных схем, состоящих из m технических узлов-преобразователей с n двойными входами и одним двойным выходом.
f(xv ху ..., xn) = ap (i = 1 2 ..., t). (1)
Одним из известных подходов к решению системы (1) является так называемый метод разделяющих плоскостей, основанный на идее погружения множества решений системы булевых уравнений в многогранник M(A, b) = {х | Ax < b, х > 0}, где A - матрица размера m х n,
Ax < b - система линейных неравенств a.x. + a,x, + ... + a х < b, (j = 1, 2, ..., m),
j1 1 j2 2 jn П jj V 5 5 5 /5
а условие x > 0 соответствует системе условий
x1 > 0, x2 > 0, ..., x > 0.
Способы построения многогранника M(A, b), для которого множество решений системы (1) представляет собой подмножество (или само множество) всех (0,1) - точек M(A, b), рассматривались в работах Г.В. Балакина, В.Г. Никонова, Б.А. Головкина (см., например, [1, 2]).
Подобный подход, ставший известным как метод разделяющих плоскостей [1], позволил при анализе множества решений системы (1) использовать результаты теории многогранников и аппарат математического программирования [3], малым числом вершин удалось получить оценки сложности решения систем (1) в виде P(n, t). [9].
В то же время в ряде случаев оказывается плодотворной и идея использования «обратного» подхода, то есть рассмотрения
kkrybnikov@mail.ru
возможности анализа систем линейных псевдобулевых неравенств с помощью рассмотрения булевых функций-резольвент.
Под псевдобулевым неравенством будем понимать неравенство
£ ajxj < aQ, xj е {0;1},(j = 1, 2, ..., n)s. (2)
j=1
Определение
Минимальным покрытием неравенства (2) называется множество C, C е {1, 2, ..., n}, такое, что
I I n
£ aJ > a0 -£ min(0; af), (3)
jeC j=1
и для любого множества C'(C' ^ C) свойство (3) не выполняется.
Определение
Резольвентой неравенства (3) назовем булеву функцию f(x1, x2, ..., xn), такую, чтоf(x1, x2, ..., xn) = 0 тогда и только тогда, если (x x2, ..., xn) - решение неравенства (2).
Пусть L - множество всех минимальных покрытий (2). Тогда имеет место лемма Хаммера [9]:
Лемма
Дизъюнктивная форма
f (x^ x2,...., x„) = V П j
CeL jeC
является резольвентой неравенства (2), где а. > 0 и а, = 0 при а, < 0, примем xl. = x,, xj = x,.
Из леммы Хаммера и формулы включения-исключения следует теорема о числе решений псевдобулева неравенства (2). Теорема
Пусть L = {C1, C2, ..., Cs} - множество минимальных покрытий (2). Тогда это неравенство имеет N псевдобулевых решений
N = 2n -£ 2n-Cj| + £ 2n-Ci'UCjl
j=1
i, j=1 ^ j
- £ 2n-CiUc,Uc*| +
i, j,k=1 i=j=k
... + (-1)s 2
n-C Uc,
170
ЛЕСНОЙ ВЕСТНИК 6/2009
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
Заметим, что для получения оценок числа N можно использовать небольшое число слагаемых b (4), взяв i = 1, 2 [3].
Базовыми элементами нейросети являются так называемые формальные нейроны, функциональные возможности которых определяются функцией активации
z=f(g)=f (t ах +
i=1
где z - выходной сигнал нейрона;
fg) - функция выходного блока нейрона; а. - постоянный коэффициент - вес i-го входа;
х. - i-й входной сигнал; а0 - начальное состояние нейрона; i = 1, 2, 3, ..., n - номер входа нейрона; n - число входов [5].
Одним из наиболее часто встречающихся типов функций активации являются простая пороговая, то есть функция fg), имеющая следующий вид
\Ъ, если g<d
f(g) = \
[с, если g>d
где b, c и d - некоторые постоянные.
Как правило, выбираются случаи b = -1, c = 1 или b = 0, c = 1. В этом случае анализ схемы функционирования формального нейрона сводится к анализу структуры множества решения линейных неравенств (полиэдра) вида
g < d или g > d, (5)
Другой задачей анализа структуры формального нейрона является задача о настройке нейрона, разделяющего по выходному сигналу два массива n-мерных векторов. В этом случае решается задача о выборе весовых коэффициентов а а ..., ап нейрона как точки полиэдра вида (5), порожденного наборами входных сигналов, определяющихся векторами исследуемых массивов векторов [6].
Полиэдральный подход к моделированию узлов электронных схем может быть использован также при анализе двоичного преобразователя, работа которого описывается уравнением
Axv ^ ..., xn) = и (6)
где и - выходной двоичный сигнал преобразователя, а х . - i-й входной двоичный сигнал;
i = 1, 2, ..., n - номер канала входа, х . = 0 или 1, аfixv х2, ..., xn) - булева функция.
Так, например, множество всех векторов вида (Xj, х2, ..., xn, и), удовлетворяющих соотношению (6), можно представить в виде множества (0; 1) - точек полиэдра, соответствующего системе неравенств вида
-Г < t аг1х1 + (0,5 - ni )У < ni - Г - 1
}=1
т 5
-m +1,5 < t У + (0,5 - m)u < 0,5
i==
(i = 1, 2, ..., m). (7)
где x y и принимают значения 0 или 1; а = 0 или ±1;
n. - число ненулевых коэффициентов а. в -м ограничении,
r - число отрицательных коэффициентов в -м ограничении,
По системе (7) можно однозначно определить булеву функцию
U = AxV X2, ..., х„) = = У1 V У2 V .... V Ут , (8)
где . * = х?( °& xjj }2 (i )&...& xjni (i) ni (9)
{}1, } 2 ,..., } ni } c {1,2, ...., n}; j < 72 < ...< j„P
причем = | *A’ если a,. =1 h
h если a,. = -1 h
Верно и обратное утверждение. По заданной в виде (4) булевой функции можно однозначно определить полиэдр (7).
Подобный полиэдральный подход может быть использован для решения задачи реализации узла преобразований (6) системой, состоящей из m формальных нейронов.
Набор весовых коэффициентов -го нейрона этой системы определяется вектором (а1(0, а2(),..., а^)), где а® = 0 или ± 1, (i = 1, 2, ..., m), (j = 1, 2, ..., n).
Функция активации, определяющая работу i-го нейрона, имеет вид
1, если X аУхУ > d,
j=i
У*=\ „ . .
0, если X аУхУ < d,
{ 7=1
где х (i) = (x1(i) , ..., хи®) - вектор входа i-го нейрона (х() = 0 или 1), а у. - его двоичный выход (y = 0 или 1).
ЛЕСНОЙ ВЕСТНИК 6/2009
171
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
В том случае, если d = n. - r. - 0,5, где n - число ненулевых весовых коэффициентов /-го нейрона, а r . - число отрицательных весовых коэффициентов, i-й нейрон реализует булеву функцию вида (9).
Далее, если вектор (у ..., ym) является входным вектором для формального нейрона с функцией активации:
т
1, если £ у >1
/= М
J т
0, если X У/ < 1
I м
то этот формальный нейрон реализует функцию (6).
В заключение отметим связь упомянутой выше задачи настройки формального нейрона с задачей определения чебышевско-го решения системы линейных неравенств.
Рассмотрим пороговую функцию активации z = f(x1, x2, ..., xn), имеющую вид:
z = <
П
1, если Y, aixi > b
i=1
0 в противном случае
где параметры функции b, a,, +, •, > - действительные числа и отношения, а неизвестные x = 0 или 1.
Задачей настройки формального нейрона, распознающего массивы X и Y, называется задача определения a1, а2, ..., an, b (или a1, a2, ..., an при заданном b) таких, что
n /-л
Z a}.xf < b, (/ = 1,2,...,*) (10)
j=i
и
Z>b, (k = 1,2,...,^), (11)
j=i
где
X = {(X1(0, ,Xn(0)},|X = и
Y = {(у®, y2(t),... y^)},\Y = *2.
Если система неравенств (10)-(11) совместна, то любое ее решение a = (a1, a2, ..., an) при заданном b определяет пороговую функцию. В противном случае приходится рассматривать возможность приближенного решения задачи, то есть построение функции z = ^(Xj, ..., xn), которая будет принимать нулевые значения не только для векторов массива X, но, возможно, и для некоторых векторов массива Y. Качество приближения зависит от числа таких векторов.
В этом случае предлагается рассмотреть задачу чебышевского приближения системы линейных неравенств, которая равносильна системе (10)-(11)
n
П = П(a) = Z ajx() -b < (*' = 1, 2, ..., tjl (12)
}=1
n (к)
Ш = Ш(a) = - Z a]yj) + b + zk < 0
(i = 1, 2, ..., *2), (13)
где г = (a1, a2, ..., an, z1, z2, ..., zt2) - неизвестный вектор, то есть задачу определения величины L, где
L = min max(max n (5), max шк (5)) =
a 1<i<ll 1<k<?2
= max(maxn(a*),maxшк (<5*)) . (14)
1<i<t1 1<k<?2
Система (12-13) совместна тогда и только тогда, когда L < 0. Если же L > 0, то система несовместна. Задача определения г называется задачей чебышевского решения системы (12-13) при ее совместности и задачей чебышевского приближения этой системы при ее несовместности. Эта задача может быть сведена к задаче линейного программирования [7].
Построенная таким образом пороговая функция z = f(x1, x ..., xn), для которой пороговое значение b, вообще говоря, может быть скорректировано величиной L, разумеется, не позволяет решить задачу распознавания массивов. Оценка качества пороговой функции z = f(x1, x2, ..., xn) в общем виде до сих пор не получена. В частных случаях возможно использование оценки (4).
Библиографический список
1. Балакин, Г.В. Методы сведения булевых уравнений к системам пороговых соотношений / Г.В. Балакин, В.Г. Никонов // Обозрение прикладной и промышленной математики. - 1994. - Т 1. - Вып. 3. - С. 389-401.
2. Головкин, Б.А. О некоторых линейных ограничениях с булевыми переменными / Б.А. Головкин // Экономика и математические методы. - 1971. - Т. VII. - Вып. 4. - С. 25-31.
3. Рыбников, К.К. Оценки сложности некоторых схем метода разделяющих плоскостей при решении систем булевых уравнений / К.К. Рыбников // Обозрение прикладной и промышленной математики. - 2002. - Т.9. - Вып. 2. - С. 442-443.
4. Рыбников, К.К. О взаимосвязях различных алгоритмических схем методов погружения множества решений системы булевых уравнений в действительную область / К.К. Рыбников, А. С. Хохлуш-
172
ЛЕСНОЙ ВЕСТНИК 6/2009