ISSN 2305-5626. Вестник МГТУ им. Н.Э. Баумана: электронное издание. 2013
2
ди которых можно отметить методы лагранжевой релаксации [5—7],
генетические алгоритмы [8—11], поиск с запретами [12], алгоритмы
муравьиной колонии [13], нейронные сети [14, 15]. Авторами данной
работы предлагается нейросетевой метод для решения задачи о по-
крытии множества. Отличие этого метода заключается в использова-
нии машины Больцмана совместно с методом Монте-Карло для
борьбы с локальными минимумами. Также в данной работе предло-
жена эвристика для оценки метапараметров модели.
Нейронные сети выбраны из следующих соображений. Во-
первых, в качестве метода машинного обучения можно применять и
нейронные сети (GNN или HTM). Использование нейросетевого ал-
горитма и на этапе построения представления позволит получить
комплексное решение проблемы в рамках парадигмы нейроком-
пьютинга. Во-вторых, нейросетевые архитектуры по своей сути об-
ладают параллелизмом, благодаря чему возможна реализация алго-
ритма для параллельных вычислительных архитектур.
Постановка задачи.
Перед тем как поставить задачу, нефор-
мально опишем требуемый результат.
Целью является последовательное формирование уровней иерархи-
ческого представления сети. Для этого на каждом шаге необходимо вы-
брать подмножество элементов сети так, чтобы оно вместе со смежны-
ми элементами покрывало всю сеть. Желательно, чтобы размер этого
подмножества был минимален и количество смежных элементов, кото-
рые покрываются выбранным элементом (степень вершины), было не-
большим. Последнее требование связано с тем, что возрастание степени
вершины ведет к увеличению длины вектора признаков для алгоритмов
машинного обучения и соответственно к экспоненциальному увеличе-
нию требуемого размера обучающей выборки.
Перейдем к формальной постановке задачи в виде SCP.
Пусть даны множество
М
,
|M| = n
и множество
S
подмножеств
M
S
= {
S
1
, ...,
S
m
}. Пусть задана матрица
A
размерности
n
×
m
,
a
ij
=
1, ес-
ли
,
i
j
a S
иначе
a
ij
=
0.
Обозначим:
a
i
i
-ю строку матрицы
A
;
x —
вектор-столбец, ко-
дирующий решение,
1
( , ...,
),
m
x = x x
где
x
i
= 1, если
S
i
входит в реше-
ние, и 0 — если иначе;
с
— вектор-столбец цен подмножеств;
s
вектор-столбец размеров подмножеств,
1
( , ,
).
m
s = S … S
Введем целевой функционал:
(
)
0
1
2
1
2
1
( )
.
n
i
i
i
i=
Q x = K cx + K x S = K c + K S x
(1)
Первое слагаемое задает цену решения. Второе задает штраф за
выбор подмножеств с большой степенью. Коэффициенты
K
1
,
K
2
определяют относительное влияние штрафов на общее решение.
Задача формулируется как задача дискретной оптимизации с
ограничениями:
1 3,4,5,6,7,8,9,10