Применение нейросетевых методов для решения задачи

реклама
СЕКЦИЯ 7
Л.Б. ЛИТИНСКИЙ, А.А. МУРАШКИН
Институт оптико-нейронных технологий РАН, Москва
Московский физико-технический институт (государственный университет)
litin@iont.ru, murashkin@fromru.com
ПРИМЕНЕНИЕ НЕЙРОСЕТЕВЫХ МЕТОДОВ
ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА
Аннотация
Для решения оптимизационных задач с ограничениями в виде равенств обычно применяют известную нейросетевую процедуру минимизации модифицированной целевой функции. В настоящем сообщении излагаются результаты исследования возникающих при этом проблем и
возможностей для модельной ситуации в случае задачи коммивояжера.
Введение
Для решения широкого класса оптимизационных задач можно применять методы нейронных сетей. В работах [1], [2] был предложен подход к
отысканию глубоко лежащего локального минимума квадратичного по
бинарным переменным функционала, опирающийся на свойства собственных векторов и собственных значений матрицы связей. Мы решили
применить развиваемый авторами [1], [2] подход для решения классической NP-полной задачи – задачи коммивояжера (TSP – Traveling Salesman
Problem).
Задача коммивояжера
Задача коммивояжера формулируется очень просто: на плоскости (в
пространстве) расположены N городов, заданы расстояния между каждой
парой городов. Требуется найти маршрут минимальной длины с посещением каждого города ровно один раз и с возвращением в исходную точку.
В [3] был предложен способ решения задачи TSP при помощи сети
Хопфилда. При этом возможному маршруту коммивояжера сопоставлен
N 2 -мерный вектор с бинарными координатами v  {vi }, vi {0,1},
i  1...N ,   1...N где индекс i кодирует город, а индекс  – номер города в маршруте (все N городов изначально пронумерованы). Значение
vi  1 означает, что i-й город встречается в маршруте на месте  . Таким
образом, если представить vi в виде матрицы, то допустимыми маршруУДК 004.032.26(06) Нейронные сети
32
СЕКЦИЯ 7
тами будут являться только те, матрица которых имеет ровно одну 1 в
каждой строке и в каждом столбце.
Обозначим через d ij расстояние между i-м и j-м городами. Тогда минимизация маршрута коммивояжера сводится к нахождению минимума
следующего квадратичного функционала:

1 i j
L(v )   dij vi (v j 1  v j 1)
2 i , j ,
(1)
при дополнительных ограничениях:
N
 v i  1
 ,
(2)
i .
(3)
i 1
N
 v i  1
 1
Условие (2) гарантирует, что любой город в маршруте встречается
ровно один раз, а условие (3) – что маршрут проходит через каждый город. Очевидно, что только при выполнении (2) и (3), значение функционала (1) равно длине маршрута.
Формализация задачи
Общий подход к задачам минимизации с ограничениями состоит в
том, что в подлежащий минимизации функционал включаются штрафные
члены, увеличивающие значение целевой функции при отклонении от
накладываемых ограничений. В данном случае в качестве итоговой целевой функции можно выбрать

1 i j
E (v )   d ij v i (v j 1  v j 1 ) 
2 i , j ,
2
2



 
  



   v i  1    v i   1  ,


 
2    i
i  

 

(4)
где множитель Лагранжа  регулирует строгость соблюдения условий (2)
и (3) в окончательном решении.
УДК 004.032.26(06) Нейронные сети
33
СЕКЦИЯ 7
Перепишем функционал (4) в спиновых переменных si  1 , сделав
s 1
замену vi  i
:
2
 1 i j
1 i j
E ( s )   d ij s i ( s j 1  s j 1 )   d ij ( s i  s j ) 
8 i , j ,
4 i , j ,





N i j
d ij  N 2  N ( N  2) 2  ( N  2) s i, 

4 i, j
4
2
i ,
(5)
i j

  i j
   s i s j   s i  s i  .

8  i , j ,
i ,,



Сравним (5) с общим выражением для энергии состояния s в сети
Хопфилда:
n

 
(6)
E (s )  (Js , s )    Jij si s j
si , s j  {1,1} .
i, j 1

В нашем случае размерность задачи n  N 2  1 , а вектор s и матрица
межсвязей J имеют следующую структуру:

s  ( s11, s12,..., s1N , s21, s22,..., s2 N ,..., sN1, sN 2 ,..., sNN ,1)  Rn ,
 W11

 ...
J  
W
 N 21
 H1

...
W1N 2
...
...
...
...
WN 2 N 2
HN2
H1 

...  n
: R  Rn ,
HN2 

0 
(7)
где элементы Wij отвечают учету квадратичных членов в (5), а H k – учету линейных членов.
Выбор значения параметра 
Для того, чтобы окончательно определить элементы матрицы J (7) и
приступить к минимизации функционала (5), необходимо зафиксировать
значение множителя Лагранжа  . В литературе описано множество способов выбора этого параметра, но ни один из них не гарантирует отыскания оптимального решения. Хопфилд и Танк в своей работе [3] предлагаУДК 004.032.26(06) Нейронные сети
34
СЕКЦИЯ 7
ли брать этот параметр равным по порядку величины среднему значению
расстояния между городами, то есть
 cp 
1
N
 d ij .
N 2 i, j 1
В работе [4] предлагается адаптивный метод подбора параметра  .
Идея состоит в том, чтобы на каждом шаге эволюции сети изменять 
так, чтобы переворот соответствующего спина приводил к понижению
энергии. Однако, следуя рассуждениям авторов, мы обнаружили, что
предложенный алгоритм неустойчив: в процессе функционирования система попадала в предельные циклы (при асинхронной динамике!). Кроме
того, оказалось невозможным получить допустимый маршрут на выходе
такой нейронной сети с автоподстройкой  , когда в основе ее работы лежит только принцип понижения значения функционала (7). Мы немного
изменили алгоритм так, чтобы он гарантированно давал на выходе допустимый маршрут. Оказалось, однако, что результирующие значения 
получаются при этом довольно высокими. Их можно рассматривать как
верхнюю границу для значений множителя Лагранжа –  max . В качестве
нижней границы  min , как показал эксперимент, можно взять значение
 cp , предложенное Хопфилдом.
Описание эксперимента
Нами был проделан следующий эксперимент. Города располагались
случайным образом на окружности радиуса R = 100. Таким образом, приближенно известна длина оптимального маршрута – Lmin ~ 2R  630
(эксперимент проводился для числа городов N = 10). Отрезок [ min;  max]
разбивался на 20 равных частей, затем для каждого из двадцати
  [ min;  max] проводились следующие расчеты:
1) по известным расстояниям между d ij городами вычислялась матрица связей J( ) : R n  R n , n  N 2  1 ;
2) вычислялись собственные значения  k и собственные векторы
 (k )
f
матрицы J (  k упорядочены по убыванию);
УДК 004.032.26(06) Нейронные сети
35
СЕКЦИЯ 7
3) производился запуск построенной сети с трёх различных типов
стартовых векторов ( N 2  100 стартов для каждого типа):
с конфигурационных векторов, ближайших к собственным векторам
матрицы J, то есть с конфигурационных векторов, получающихся по пра

вилу s (k )  sign( f (k ) ) ;
со случайных конфигурационных векторов;
со случайных конфигурационных векторов, являющихся допустимыми
маршрутами;
4) по каждому типу стартовых векторов фиксировались энергии стартовых векторов и полученных локальных минимумов, число найденных
допустимых маршрутов, минимальная длина найденного маршрута и то,
сколько раз был достигнут глобальный минимум.
Результаты
Полученные результаты отражены на рис. 1, 2 и в табл. 1.
Рис. 1 иллюстрирует значения энергетического функционала на различных стартовых векторах. Как видно из рисунка, ниже всех по энергии
лежат конфигурационные векторы, являющиеся маршрутами. Энергии
случайных конфигурационных векторов заметно выше. А энергии конфигурационных векторов, ближайших к собственным векторам, разбросаны
довольно в широких пределах, причем первый конфигурационный вектор
(соответствующий наибольшему собственному значению) лежит по энергии заметно ниже остальных.
В табл. 1 приведены краткие результаты одного из экспериментов для
фиксированного значения   [ min;  max] . Для каждого типа стартового
вектора приведены следующие характеристики: среднее значение энерге
тического функционал по всем запускам  E (s )  , число найденных допустимых маршрутов N routes , длина кратчайшего найденного маршрута

min[ E ( s ) ] , сколько раз был получен кратчайший маршрут NGlobal Min .
Здесь по числу полученных маршрутов, в том числе минимальной длины,
лидирует первый тип стартовых векторов.
УДК 004.032.26(06) Нейронные сети
36
СЕКЦИЯ 7
Рис. 1
Таблица 1

 E (s ) 
Соб. векторы
950
Случ. векторы
975
Маршруты
1040
N routes

min[ E (s ) ]
40
29
22
620
620
620
NGlobal Min
10
1
2
УДК 004.032.26(06) Нейронные сети
37
СЕКЦИЯ 7
Минимальная достигнутая
длина маршрута Lmin (  )
Сколько раз был достигнут
оптимум (из 100 стартов)
Рис. 2
УДК 004.032.26(06) Нейронные сети
38
СЕКЦИЯ 7
На рис. 2 приведены интегральные характеристики по всем проделанным экспериментам в интервале [ min;  max] . По горизонтальной оси отложен параметр   [ min;  max] . На рисунках слева показана минимальная достигнутая длина маршрута для различных типов стартовых векторов (сверху вниз: собственные векторы, случайные векторы, маршруты).
На рисунках справа – сколько раз был получен кратчайший маршрут.
Как видно из рисунков, стартовые конфигурационные векторы, ближайшие к собственным векторам, по многим параметрам показали себя
лучше случайных.
Следует отметить, что в эксперименте использовалась максимальная
динамика сети (в каждый момент времени переворачивается самый неудовлетворенный спин).
Выводы
Эксперимент показал, что при помощи сети Хопфилда можно решать
оптимизационные задачи с ограничениями, однако при этом остается открытым вопрос о выборе параметра  , значение которого сильно влияет
на решение задачи. Кроме того, независимо от того, использовать или не
использовать собственные значения и векторы, вычислительная сложность алгоритма ~ O( N 6 ) , в предположении, что необходимо выполнить
по крайней мере n  N 2 стартов. Таким образом, при N > 20 этот метод
решения становится непродуктивным.
Работа выполнена при финансовой поддержке грантами РФФИ 04-0790038 и 03-01-00355.
Список литературы
1. Крыжановский Б.В., Литинский Л.Б. Отыскание глобального минимума одного многоэкстремального функционала // Искусственный интеллект. 2003. № 3. С. 116-120.
2. Крыжановский Б.В., Литинский Л.Б. Отыскание глобального минимума в моделях
Хопфилдова типа. «НЕЙРОИНФОРМАТИКА-2004». Сб. научных трудов. Ч. 1. С. 17-24.
3. Hopfield J.J and Tank D.W. Neural computation of decisions in optimization problems.
4. Rong Long Wang, Zheng Tang, Qi Ping Cao. A learning method in Hopfield neural network
for combinatorial optimization problem // Neurocomputing. 2002. V. 48. Р. 1021-1024.
УДК 004.032.26(06) Нейронные сети
39
Скачать