Россия, Иркутск, ИГУ, 2010 |
Решение задач комбинаторной оптимизации рекуррентными сетями
Решение задачи коммивояжера сетью Хопфилда
Рассмотрим задачу коммивояжера для городов. Известны
расстояния
между каждой парой городов
; коммивояжер, выходя из одного
города,
должен посетить
других городов, заходя по одному разу в
каждый, и
вернуться в исходный. Требуется определить порядок обхода городов, при
котором общее пройденное расстояние минимально.
Пусть сеть Хопфилда состоит из нейронов, а состояние
нейронов
описывается двойными индексами
, где индекс
связан с именем города,
- с позицией города в маршруте коммивояжера. Запишем
функцию
вычислительной энергии для сети, предназначенной решать задачу
коммивояжера. В ней состояние с наименьшей энергией должно соответствовать
самому короткому маршруту. Функция энергии должна удовлетворять следующим
требованиям:
1) должна поддерживать устойчивое состояние в форме матрицы
![]() |
( 1) |
в которой строки соответствуют городам, столбцы - их номерам в маршруте; в каждой строке и каждом столбце только одна единица, остальные нули;
2) из всех решений вида (1) функция энергии должна поддерживать те, которые соответствуют коротким маршрутам.
Таким требованиям удовлетворяет функция энергии в виде:
![]() |
( 2) |
где первые три члена поддерживают первое требование, четвертый член —
второе. Первый член равен нулю, если каждая строка содержит не
более
одной единицы. Второй равен нулю, если каждый столбец
содержит
не более
одной единицы. Третий равен нулю, если в матрице всего
единиц.
Короткие маршруты поддерживает четвертый член. В нем индексы
берутся по
модулю
для того, чтобы показать, что
-й город
соседствует в маршруте с
, т.е.
. Четвертый
член численно равен длине маршрута.
Каноническое выражение для функции вычислительной энергии имеет вид
![]() |
( 3) |
Из (2) и (3) получаем веса сети Хопфилда:

Здесь - символ Кронекера.
Моделирование работы сети Хопфилда показало, что лучшее по качеству
решение дает сеть, нейроны которой имеют сигмовидную характеристику, а
сеть, в которой нейроны имеют ступенчатые переходы, приходила к финальным
состояниям, соответствующим маршрутам немного лучшим, чем случайные.
Многочисленные исследования показывают, что качество решения задачи
минимизации функции энергии (2) существенно зависит от выбора
производной
сигмовидной униполярной функции активации нейрона в окрестности нуля. При
малой величине производной минимумы энергии оказываются в центре гиперкуба
решений (некорректное решение), при большой величине производной сеть
Хопфилда попадает в вершину гиперкуба, соответствующую локальному минимуму
функции энергии. Кроме того, на качество решения существенное влияние
оказывает выбор коэффициентов . Поиск методов
оптимального
выбора этих коэффициентов является в настоящее время предметом интенсивных
исследований.