informe_tarea2_II

15

Click here to load reader

Transcript of informe_tarea2_II

Page 1: informe_tarea2_II

UNIVERSIDAD CENTRAL DE VENEZUELAFACULTAD DE INGENIERÍAMAESTRÍA EN COMPUTACIÓN EMERGENTECOMPUTACIÓN EMERGENTE IProfesor: Andrés Scarioni

TAREA No 2

REDES NEURONALES:

RED DE HOPFIELD

PARTE (2)

Lic. José Leonardo AlvaradoC.I. 7.924.530

e-mail: [email protected]

Caracas 23 de enero de 2008.

Page 2: informe_tarea2_II

MEMORIA AUTOASOCIATIVA DE HOPFIELD APLICADA AL PROBLEMA DEL TSP

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 esta aproximación la función de costo estaría representada por una función de energía que incluye la distancia de la trayectoria y otros términos relacionados con restricciones para evitar trayectorias no válidas o que las ciudades no fueran visitadas más de una vez. Para encontrar la solución del problema del TSP, la red neuronal de Hopfield comienza con un estado inicial que va evolucionando hasta alcanzar el estado de equilibrio. Durante la evolución de la configuración de la red, el estado de cada neurona se actualiza de acuerdo a la información recibida por las otras neuronas de la red hasta alcanzar el estado de equilibrio.

En este trabajo se presentan los resultados de la implementación de una red de Hopfield, aplicado al problema del TSP para 10 ciudades. En un primer experimento las ciudades se encuentra uniformemente distribuidas sobre un circunferencia de radio 1, en un segundo experimento las ciudades se distribuyen aleatoriamente.

Page 3: informe_tarea2_II

1. BREVE MARCO TEÒRICO

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.

1.1 Representación de las trayectorias

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).

Fig. 1. Representación matricial del recorrido C1 - C3 - C6 - C2 - C4 - C6

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”.

Page 4: informe_tarea2_II

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”.

La distancia total de la ruta o trayectoria debe ser mínima.

1.2 Energía de la Red de Hopfield

La red de Hopfield es un sistema dinámico que puede ser descrito en su forma continua como:

Ec.1

donde ui representa la activación de la neurona i, si representa la salida de la neurona i wi e Ii denota una entrada externa. La función de activación f usualmente es la función sigmoide. La salida de cada neurona es usada como entrada para todas las otras neuronas excepto para sí misma. La red de Hopfield puede ser completamente descrita por la función de Lyapunov

Ec. 2

y se puede verificar que: Ec. 3

Suponiendo que la matriz de peso es simétrica (wij=wji) y que la actualización de las neuronas es asíncrona, se tendrá que la energía de la red va a converger a un mínimo local, en otras palabras, el estado de la red va a converger a un estado que corresponde al mínimo de la función de energía.

Para el problema del agente viajero Hopfield y Tank (Hopfield, J. Tank, D. 1985) propusieron la siguiente función de energía:

Ec. 4.

(A,B,C,D constantes y positivas y N = num. de ciudades)

Page 5: informe_tarea2_II

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.

Definiendo los pesos como:

Ec 5.

La función de energía puede ser re-escrita:

Ec. 6.

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.

Ec. 7

(Con A, A1, C, D constantes positivas y N= número de ciudades).

Page 6: informe_tarea2_II

2. IMPLEMENTACIÓN DEL PROGRAMA

El programa se implementó en MATLAB 7.0, que permite una más fácil representación gráfica de las rutas obtenidas. En lo que sigue se detalla el algoritmo seguido para la implementación del programa

2.1 Descripción del algoritmoEl algoritmo presentados está basado en el trabajo de Kart von Pfeil 2001.

1. Carga de datos de las ciudadesLas ciudades están contenidas en matrices de 10 filas y 2 columnas, las filas representan las ciudades y las columnas las coordenadas x e y de cada ciudad.

2. Cálculo de la matriz de distancia Para mayor facilidad al momento de calcular entre dos ciudades cualesquiera se determinó una matriz de distancia donde cada elemento (i,j) representa la distancia entre la ciudad i y la ciudad j. Dada su construcción esta es una matriz simétrica y con los elementos de la diagonal todos iguales a cero.

3. Cálculo de la matriz de pesosA partir de la ecuación 7 se calculó la matriz de pesos Wx,i,y,j que es un arreglo 4–dimensional simétrico y con los elementos de la diagonal (x=i=y=j) ceros. Los valores de las constantes usados fueron obtenidos de la bibliografía (Gee, H. et al., 1993) y son los siguientes: A=8; A1=7.75; C=0.8; D=2

4. Inicialización aleatoria de la activación inicial de las neuronas u0(x,i) Se generaron valores aleatorios de la activación manera estuvieran en una ventana entre 0+0.01 y 0-0.01 (valor medio de la activación en 0), y valores medios de la salida s(x,i) igual a 0.5.

5. Selección aleatoria del orden en que las neuronas se van a actualizarSe generó un permutación aleatoria con de números entre 1 y N y esta se usó para actualizar cada neurona de manera asincrónica.

6. Actualización de cada neurona en el orden indicado por 4.Se actualizó cada neurona usando las expresiones

Ecs. 8 y 9

con t =0.02 y =0.3

7. Se repiten los pasos 5 y 6 hasta que se satisfaga el criterio de parada El criterio de parada consisten en varias condiciones: una que el número de iteraciones supere un límite máximo o que las salidas de cada neurona s(x,i) esté en una banda entre 0-b1 ó b2-1 . El valor de b1 se escogió como 0.1 y b2=0.9.

Page 7: informe_tarea2_II

3. EXPERMIENTOS Y RESULTADOS

3.1 Experimento 1.

Se utilizaron 10 ciudades distribuidas regularmente sobre una circunferencia de radio 1. En este caso se alcanzó la trayectoria óptima. En la figura 1 se muestra la matriz con la salida de cada neurona sx,i , la trayectoria correspondiente es H-I-J-A-B-C-D-E-F-G. La figura 2 muestra la trayectoria que obviamente es la óptima y la función de costo (Energía de Hopfield) calculada cada 10 iteraciones de un total de 1000.

Fig. 1 Matriz con las salidas de las neuronas, obtenida luego de alcanzar la condición de 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.

1 2 3 4 5 6 7 8 9 10A 0 0 0 0.8 0 0 0 0 0 0B 0 0 0 0 0.8 0 0 0 0 0C 0 0 0 0 0 0.8 0 0 0 0D 0 0 0 0 0 0 0.8 0 0 0E 0 0 0 0 0 0 0 0.8 0 0F 0 0 0 0 0 0 0 0 0.8 0G 0 0 0 0 0 0 0 0 0 0.8H 0.8 0 0 0 0 0 0 0 0 0I 0 0.8 0 0 0 0 0 0 0 0J 0 0 0.8 0 0 0 0 0 0 0

Page 8: informe_tarea2_II

3.2 Experimento 2.

En este experimento se utilizaron 10 ciudades distribuidas aleatoriamente, en este caso no se pudo alcanzar ninguna trayectoria válida. La figura 3 muestra la matriz con las salidas de las neuronas después de 2000 iteraciones. La figura 4 muestra la trayectoria correspondiente para las 10 ciudades, la cual no genera una ruta válida, a la derecha se muestra la función de energía calculada cada 10 iteraciones.

Fig. 3 Matriz con las salidas de las neuronas, obtenida luego de alcanzar 2000 iteraciones, no se logró alcanzar una ruta válida

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

1 2 3 4 5 6 7 8 9 10A 0 0 0 0 0 0 0 0 0.3 0.3B 0 0 0 0 0 0 0 0 0.3 0.3C 0 0 0 0 0 0 0.4 0 0 0D 0 0 0 0 0.2 0 0.2 0 0 0E 0 0 0 0 0.4 0 0 0 0 0F 0 0.4 0.3 0 0 0 0 0 0 0G 0 0 0 0 0 0 0.4 0 0 0H 0 0.4 0.3 0 0 0 0 0 0 0I 0 0 0 0 0.4 0 0 0 0 0J 0 0 0 0 0 0 0 0 0.2 0.2

Page 9: informe_tarea2_II

CONCLUSIONES

Se implementó una red neuronal de Hopfield para resolver el problema del agente viajero TSP, para 10 ciudades.

Para ciudades distribuidas regularmente se logró una solución válida y óptima en el 100 % de los experimentos, mientras que para ciudades distribuidas aleatoriamente no se logró encontrar soluciones válidas y muchos menos óptimas en la mayoría de los casos.

La red de Hopfield aplicada al problema del TSP no resultó adecuada ya que generó muchas trayectorias que aunque disminuyen la Energía o función de costo, no produjo trayectorias válidas.

REFERENCIAS

Ansari, N., Hou, E. 1997. Computational Intelligence For Optimization, Norwell, MA: Kluwer Academic Publishing Group.

Histrev, R.M., 1998. The ANN Book Obtenido en forma electrónica bajo licencia GNU en ftp://ftp.funet.fi/pub/sci/neural/books/

Hopfield, J., Tank, D.W., 1985. “Neural” Computation of Decisions in Optimization Problem, Biological Cybernetics, vol.52, pp.141-152.

Müller, B.,Reinhardt, J., 1990 Neural Networks: An Introduction, Springer-Verlag Berlin.

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/

Wilson, G. V., Pawley, G. S. 1988. On the Stability of the Traveling Salesman Problem Algorithm of Hopfield and Tank, Biological Cybernetics, vol.58, pp.63-70.