Новосибирский Государственный Университет
Опубликован: 13.09.2006 | Доступ: свободный | Студентов: 2219 / 533 | Оценка: 4.52 / 4.28 | Длительность: 12:23:00
ISBN: 978-5-9556-0063-5
Специальности: Программист
Лекция 11:

Решение задач комбинаторной оптимизации рекуррентными сетями

< Лекция 10 || Лекция 11: 1234 || Лекция 12 >
Аннотация: Рассматривается решение задачи коммивояжера сетью Хопфилда и машиной Больцмана. Оцениваются параметры функции энергии нейронных сетей, обеспечивающие решение задачи коммивояжера.

Решение задачи коммивояжера сетью Хопфилда

Рассмотрим задачу коммивояжера для n городов. Известны расстояния d_{XY} между каждой парой городов X,Y ; коммивояжер, выходя из одного города, должен посетить n-1 других городов, заходя по одному разу в каждый, и вернуться в исходный. Требуется определить порядок обхода городов, при котором общее пройденное расстояние минимально.

Пусть сеть Хопфилда состоит из N=n^2 нейронов, а состояние нейронов описывается двойными индексами v_{Xi}, где индекс X связан с именем города, i - с позицией города в маршруте коммивояжера. Запишем функцию вычислительной энергии для сети, предназначенной решать задачу коммивояжера. В ней состояние с наименьшей энергией должно соответствовать самому короткому маршруту. Функция энергии должна удовлетворять следующим требованиям:

1) должна поддерживать устойчивое состояние в форме матрицы

\begin{equation}
V=\{v_{Xi}\},
\end{equation} ( 1)

в которой строки соответствуют городам, столбцы - их номерам в маршруте; в каждой строке и каждом столбце только одна единица, остальные нули;

2) из всех решений вида (1) функция энергии должна поддерживать те, которые соответствуют коротким маршрутам.

Таким требованиям удовлетворяет функция энергии в виде:

\begin{equation}
E=(A/2) \sum_X \sum_{i}\sum_{j\ne i} v_{Xi}v_{Xj} +(B/2)\sum_i
\sum_{X}\sum_{Y\ne X} v_{Xi}v_{Xj}+\\
+(C/2)(\sum_X \sum_{i} v_{Xi}{-}n)^2 {+} (D/2) \sum_X \sum_{X \neq Y}
\sum_{i} d_{XY} v_{Xi}(v_{Y,i+1}+v_{Y,i-1}),
\end{equation} ( 2)

где первые три члена поддерживают первое требование, четвертый член — второе. Первый член равен нулю, если каждая строка X содержит не более одной единицы. Второй равен нулю, если каждый столбец i содержит не более одной единицы. Третий равен нулю, если в матрице всего n единиц. Короткие маршруты поддерживает четвертый член. В нем индексы i берутся по модулю n для того, чтобы показать, что n -й город соседствует в маршруте с (n-1)-\mbox м, т.е. v_{Y,n+j}=v_{Y,j}. Четвертый член численно равен длине маршрута. Каноническое выражение для функции вычислительной энергии имеет вид

\begin{equation}
E = - (1/2)\sum_{X} \sum_i \sum_{Y} \sum_j W_{Xi,Yj} v_{Xi}v_{Xj} - \sum_{x
i}I_{Xi} v_{Xi}
\end{equation} ( 3)

Из (2) и (3) получаем веса сети Хопфилда:

\begin{align*}
W_{Xi,Yj} = - A \delta_{XY}(1 - \delta_{ij}) - B \delta_{ij}(1 - \delta_{XY})
- C -
Dd_{XY}(\delta_{j,i+1}+\delta_{j,i-1}),\\
I_{Xi}=Cn.
\end{align*}

Здесь \delta - символ Кронекера.

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

< Лекция 10 || Лекция 11: 1234 || Лекция 12 >