Professional Documents
Culture Documents
FACULTAD DE INGENIERÍA
MAESTRÍA EN COMPUTACIÓN EMERGENTE
COMPUTACIÓN EMERGENTE I
Profesor: Andrés Scarioni
TAREA No 2
REDES NEURONALES:
RED DE HOPFIELD
PARTE (2)
e-mail: lalvarado@funvisis.gob.ve
INTRODUCCIÓN
Hopfield y Tank (Hopfield, J., Tank, D., 1985) propusieron usar redes
neuronales para resolver el problema del agente viajero (Travel Salesman Problem
TSP). El problema del TSP consiste en un viajero que debe visitar un cierto número de
ciudades, por las cuales debe pasar sólo una vez, moviéndose de tal manera la distancia
total recorrida, regresando al punto de partida (función de costo), sea mínima.
En 1985 Hopfield y Tank (Hopfield, J., Tank, D., 1985) propusieron aplicar una
la técnica de las redes neuronales para encontrar una posible solución óptima del
problema del TSP, en el que un agente viajero debe visitar un número N de
ciudades de manera que cada ciudad sea visitada sólo una vez y la distancia de la
trayectoria seguida sea mínima. El problema planteado constituye un problema de
optimización donde la función de costo (distancia de la trayectoria) está sometida a
ciertas restricciones (cada ciudad debe visitarse sólo una vez).
La solución del problema del TSP, puede ser obtenida encontrando el mínimo de
la función de energía de una red neuronal de Hopfield. Para un conjunto de N
ciudades, la red neuronal consiste en un conjunto de NxN neuronas interconectadas,
en la que los pesos contienen información acerca de las restricciones y la función de
costo de una distribución particular de ciudades. Cada neurona actualiza su estado
basado en la información que recibe del resto de las neuronas.
Sean N ciudades C1, C2, ..., CN . A cada una de las N ciudades se asigna un vector
que representa el número de orden (en binario) en que esta ciudad es visitada en un
recorrido particular así por ejemplo, si la ciudad k es visitada de primera el vector
asignado debe ser Ck = (1,0,0,…0), la ciudad visitada de segundo debe tener
asignado el vector (0,1,0,0 … 0) y la ciudad visitada de última debe tener el vector
(0,0,…1), es decir sólo uno de los elementos del vector debe tener “1” y el resto “0”.
Con todos los vectores asociados a las ciudades para una trayectoria particular se
construye una matriz cuadrada con los vectores ordenados como filas. En la figura
1. se muestra el ejemplo para N=6., esta matriz define una trayectoria factible, el
elemento ij de la matriz indicaría que la ciudad i (fila) sería visitada en el orden
j(columna).
1 2 3 4 5 6
C1 1 0 0 0 0 0
C2 0 0 0 1 0 0
C3 0 1 0 0 0 0
C4 0 0 0 0 1 0
C5 0 0 0 0 0 1
C6 0 0 1 0 0 0
La idea es construir una matriz de Hopfield bidimensional, tal que su salida sea una
matriz como de la figura 1, (en lugar de un vector) que dará la solución del
problema de optimización. Para que la matriz pueda considerarse una solución
factible debe cumplir con las siguientes propiedades (Histrev, R.1998):
• Cada ciudad no debe ser visitada más de una vez, por lo tanto cada fila de la
matriz debe tener sólo un “1” y los otros elementos deben ser “0”.
• Dos ciudades no deben ser visitadas al mismo tiempo, por lo tanto cada
columna debe tener un solo “1” y el resto debe ser “0”.
• Todas las ciudades deben ser visitadas, por lo tanto cada fila y cada columna
debe tener al menos un “1”.
du i
= ∑wij s j + I i ,
dt j ≠i Ec.1
si = f (ui ),
1
E =− ∑∑si s j wij − ∑
2 i j ≠i i
si I i . Ec. 2
dui E
y se puede verificar que: =− . Ec. 3
dt dsi
Para el problema del agente viajero Hopfield y Tank (Hopfield, J. Tank, D. 1985)
propusieron la siguiente función de energía:
2
A B C D
E = ∑∑∑s xi s xj + ∑∑∑s xi s yi + ∑∑s xi − N + ∑∑∑d xy s xi ( s y ,i +1 + s y ,i −1 ),
2 x i j ≠i 2 i x y ≠x 2 x i 2 x y ≠x i
Ec. 4.
(A,B,C,D constantes y positivas y N = num. de ciudades)
Los primeros tres términos corresponden a las restricciones mencionadas en la
sección anterior, así el primer término será cero si cada fila tiene sólo un “1”, lo cual
quiere decir que una ciudad sólo puede ser visitada una vez. El segundo término será
cero si cada columna tiene solamente un “1”, lo cual implica que sólo una ciudad
ocupe una posición en el “tour”. El tercer término agrega la restricción de que todas
las ciudades sean visitadas en un recorrido. El cuarto término penaliza los recorridos
con distancias grandes.
1 C
E =− ∑∑∑∑
2 x y i j
wxi , yj s xi , yj − C ∑∑Ns xi + N 2 . Ec. 6.
x i 2
La bibliografía revisada documenta que la energía calculada usando la Ec. 5 para los
pesos genera muchas trayectorias no válidas (Wilson, P., Pawley, G., 1988) de manera
que se empleó la Ec. 7 propuesta por Ansari y Hou (Ansari, N., Hou, E.1997) para los
pesos, esta expresión fue obtenida a partir de análisis de autovalores.
2( AN − A + A1 )
wxi , yj = − Aδ xy (1 − δ ij ) − Aδ ij (1 − δ xy ) − 2 A1δ xy δ ij − C + − Dd xy (δ j ,i +1 + δ j ,i −1 )
N2
Ec. 7
3.1 Experimento 1.
1 2 3 4 5 6 7 8 9 10
A 0 0 0 0. 0 0 0 0 0 0
8
B 0 0 0 0 0. 0 0 0 0 0
8
C 0 0 0 0 0 0. 0 0 0 0
8
D 0 0 0 0 0 0 0. 0 0 0
8
E 0 0 0 0 0 0 0 0. 0 0
8
F 0 0 0 0 0 0 0 0 0. 0
8
G 0 0 0 0 0 0 0 0 0 0.8
Fig. 1 Matriz con
H 0. 0 0 0 0 0 0 0 0 0 las salidas de las
8 neuronas,
I 0 0. 0 0 0 0 0 0 0 0 obtenida luego de
8 alcanzar la
J 0 0 0. 0 0 0 0 0 0 0 condición de
8 convergencia, esta
matriz
corresponde a la ruta (H-I-J-A-B-C-D-E-F-G), que es una ruta válida.
Fig. 2. Izquierda trayectoria más corta encontrada por la red de Hopfield para 10 ciudades uniformemente
distribuidas en una circunferencia. A la derecha función de costo calculada cada 10 iteraciones y un total
de 1000 iteraciones.
3.2 Experimento 2.
1 2 3 4 5 6 7 8 9 10
A 0 0 0 0 0 0 0 0 0. 0.3
3
B 0 0 0 0 0 0 0 0 0. 0.3
3
C 0 0 0 0 0 0 0. 0 0 0
4
D 0 0 0 0 0. 0 0. 0 0 0
2 2
E 0 0 0 0 0. 0 0 0 0 0
4
F 0 0. 0. 0 0 0 0 0 0 0
4 3
Fig. 3 Matriz con G 0 0 0 0 0 0 0. 0 0 0
las salidas de las 4
neuronas, H 0 0. 0. 0 0 0 0 0 0 0
obtenida luego de 4 3
alcanzar 2000
iteraciones, no se
I 0 0 0 0 0. 0 0 0 0 0
logró alcanzar una 4
ruta válida J 0 0 0 0 0 0 0 0 0. 0.2
2
Fig. 4. A la izquierda: ciudades generadas aleatoriamente y ruta encontrada por la red de Hopfield, que no
corresponde a una ruta válida. A la derecha función de energía en función del número de iteraciones.
Para ciudades aleatoriamente distribuidas en general no se logró alcanzar trayectorias
válidas, aunque hubo casos en si se logró obtener trayectoria válidas y que dada la
distribución podrían estar cercanas a las rutas óptimas
CONCLUSIONES
• Se implementó una red neuronal de Hopfield para resolver el problema del agente
viajero TSP, para 10 ciudades.
REFERENCIAS
Histrev, R.M., 1998. The ANN Book Obtenido en forma electrónica bajo licencia
GNU en ftp://ftp.funet.fi/pub/sci/neural/books/
Von Pfeil Karl, 2001 Development of a program to solve the Traveling Salesman
Problem with a Hopfield net revisado febrero 2008 en:
http://homepages.cae.wisc.edu/~ece539/project/f01/