СЕКЦИЯ 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 ~ 2R 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