OPTIMIZACIÓN PARA EL TRAZAMIENTO DE RUTAS TURÍSTICAS IMPLEMENTANDO EL ALGORITMO DE COLONIA DE HORMIGAS Claudia Rodríguez Lemusa, María del Socorro Ríos Castroa, José Luis Camargo Orduñoa, Jorge A. Hernández del Razoa, Francisco Gutiérrez Verab aInstituto Tecnológico de Roque, Celaya, Gto. Instituto Tecnológico de Celaya [email protected] b RESUMEN México cuenta con variados sitios turísticos para el visitante más exigente tanto nacional como extranjero. Específicamente el estado de Guanajuato cuenta con ciudades coloniales a las que se puede visitar para conocer sitios históricos, su gastronomía y sus artesanías. El prototipo de Optimización para el Trazamiento de Rutas Turísticas pretende ser una herramienta en web para servir de guía a los visitantes, ofreciéndoles propuestas de rutas que incluyen nombres de calles y sus sentidos, paradas de microbuses, estacionamientos, sitios turísticos, tiendas de artesanías, restaurantes y hoteles que se encuentren dentro de esas rutas propuestas. El prototipo además mostrará los costos aproximados de los sitios que incluye la ruta, que le permitirán al turista planear sus gastos con anticipación. Para el presente proyecto se realizó una investigación de algoritmos de optimización que permitieran el trazamiento de rutas, encontrando al algoritmo de la colonia de hormigas como el adecuado, el cual simula un sistema artificial de hormigas inspirado en la conducta de hormigas reales, las cuales al buscar su alimento dejan un rastro de feromona el cual es seguido por las otras hormigas, tomando en cuenta para el presente proyecto, el punto de origen del turista y su punto de destino para, de esta forma, trazar las posibles rutas turísticas y de esta forma mostrar la propuesta al visitante. 1. INTRODUCCIÓN En la actualidad en la ciudad de San Miguel de Allende, se cuenta con una gran afluencia turística, lo que obliga de alguna manera a la mejora de algunos de sus servicios, como el de información para la localización de los principales sitios turísticos que no alcanza a cubrir las necesidades de la afluencia turística; por tanto el presente proyecto plantea una mejora del proceso de ubicación y transporte a turistas a través del sistema automatizado para el trazamiento de rutas turísticas implementando el Algoritmo de Colonia de Hormigas, el cual interaccionará con los turistas proponiéndoles rutas personalizadas de sitios turísticos o comercios, de acuerdo al interés del visitante, ofreciéndoles además, recomendaciones en caso de necesitar transporte público. El sistema además promoverá comercios cercanos a las rutas elegidas por el visitante, lo que servirá de publicidad hacia esos comercios y una entrada económica por el cobro de servicio de difusión para esos negocios. La implantación del sistema, apoyará al servicio turístico en San Miguel de Allende, Gto., sirviendo como una eficaz guía automática de sitios turísticos y comercio de la ciudad para los visitantes, además de que apoyará al fomento económico de la región al ser promotor de su comercio. Actualmente, la ciudad no cuenta con un sistema automatizado que sirva como guía turística a los visitantes, provocando el desconocimiento de los lugares históricos, así como de atractivos turísticos y comerciales de la región. También beneficiará a la región, ya que el Sistema, promoverá la visita tanto al comercio local, como a comercio de municipios cercanos, lo que traerá como consecuencia el crecimiento de este rubro. 2. TEORÍA El elemento fundamental del turismo es el poner en contacto directo al individuo con su medio natural. La finalidad de la actividad turística es proporcionar la infraestructura, los medios y las facilidades para su cumplimiento. 1 Fines primarios: Satisfacer al individuo. Crear nuevas expectativas de conocimiento e interés. Mejorar la calidad de vida. Propiciar la integración de los pueblos. Fines secundarios: Crear una estructura socioeconómica sólida. Contribuir al desarrollo económico y cultural de los pueblos. Turismo: una actividad esencial de la vida de las naciones por sus consecuencias directas para los sectores sociales, culturales, educativos y económicos de las sociedades nacionales y para sus relaciones internacionales (Declaración de Manila). Minería de datos. La minería de datos forma parte del conjunto de técnicas de extracción de conocimiento a partir de bases de datos, conocidas como kdd (por sus siglas en inglés, Knowledge Discovery in Databases). Fallad, Piatestsky, Smith y Uthurusamy definen la minería de datos como la “extracción no trivial de la información implícita, desconocida previamente, y potencialmente útil, desde los datos”. Es decir, información útil que no ha sido correlacionada para su uso. La minería de datos (así como el descubrimiento de conocimientos a partir de esos datos), integra desarrollos y concepciones provenientes de la estadística, el aprendizaje automático, la visualización de datos y la teoría de bases de datos. La fusión de disciplinas tan diversas ha estado motivada (entre otras cosas) por el significativo incremento en el volumen de información generada en todas las esferas de la actividad humana. La minería de datos es un proceso iterativo de búsqueda de información no trivial en grandes volúmenes de datos, con el propósito de generar información similar a la que podría generar un analista humano: patrones, asociaciones, cambios, anomalías y estructuras significativas. Algoritmos Evolutivos. En general, cualquier tarea abstracta a realizar puede considerarse como la resolución de un problema que, a su vez, puede verse como un proceso de búsqueda a través de un espacio de soluciones potenciales, que es lo que se conoce como espacio de búsqueda. Cuando el objetivo consiste en encontrar la mejor solución posible, nos encontramos ante un problema de optimización. En otras ocasiones se desea encontrar una solución o un conjunto de soluciones para problemas cuyos espacios de búsqueda son pequeños o simples. Pueden utilizarse métodos de optimización y búsqueda clásicos, como son los métodos de tipo directo o basados en el gradiente. Sin embargo, este tipo de técnicas presentan ciertas limitaciones, entre las que podemos mencionar como más comunes: - La convergencia a una solución óptima depende de la solución inicial de la que parte la búsqueda. - Muchos algoritmos son propensos a verse atrapados en un óptimo local. - Falta de robustez, es decir, un algoritmo eficaz en la resolución de un determinado problema puede no ser adecuado para otro tipo diferente de problema. - Algunos algoritmos no son capaces de tratar adecuadamente problemas con variables discretas. - No son propicios a implementaciones en máquinas paralelas. Algoritmos Culturales. 2 Los algoritmos culturales (ac) son modelos computacionales derivados de la observación del proceso de evolución cultural en la naturaleza. Los ac tienen tres componentes principales: un espacio de población, un espacio de creencias, y un protocolo que describe cómo el conocimiento es intercambiado entre los dos primeros componentes. Los algoritmos culturales son una técnica de cómputo evolutivo, que utiliza el conocimiento generado en varias épocas (mismos individuos, pero en diferente espaciotiempo) para una misma población, utilizando un espacio de creencias; y, en el nivel micro-evolutivo, el que ocurre en el espacio de población. El conocimiento es producido por los cambios que ocurren en el espacio de creencias. Este conocimiento se puede entonces utilizar para influenciar los cambios a realizar por la población en la generación siguiente. Los algoritmos culturales usan cinco fuentes de conocimiento básico para generar una solución al espacio de búsqueda en donde se representa el problema a solucionar: el conocimiento normativo (gamas de comportamientos aceptables); el conocimiento circunstancial (los ejemplares o las memorias de soluciones exitosas o fallidas, entre otros); el conocimiento del dominio (conocimiento de los objetos del dominio, de las relaciones de ellos y sus interacciones); el conocimiento histórico (patrones temporales del comportamiento), y el conocimiento topográfico (patrones espaciales del comportamiento). Algoritmo Colonia de Hormigas. La observación de la naturaleza ha sido una de las principales fuentes de inspiración para la propuesta de nuevos paradigmas computacionales. Así nacieron diversas técnicas de Inteligencia Artificial Algoritmos Genéticos (Genetic Algorithms), Templado Simulado (Simulated Annealing), Redes Neuronales (Neural Networks), y entre ellas, el sistema basado en Colonias de Hormigas (Ant System). Las feromonas son un sistema de comunicación química entre animales de una misma especie, que transmiten información a través de señales odoríferas acerca del estado fisiológico, reproductivo y social, así como sobre la edad, el sexo y el parentesco del animal emisor, las cuales son recibidas en el sistema olfatorio del animal receptor, quien interpreta esas señales, jugando un papel importante en la organización y la supervivencia de muchas especies. Este sistema natural de comunicación se ha estudiado más en las llamadas especies inferiores como son las hormigas, las abejas y otros insectos. Resulta especialmente interesante entender como animales casi ciegos como las hormigas pueden establecer el camino más corto desde su colonia hasta la fuente de alimento y regresar. El algoritmo de la colonia de hormigas para la búsqueda de la información importante, tiene dos objetivos: Maximizar los recursos encontrados y minimizar los pasos dados. Este algoritmo guía las consultas hacia los nodos que tienen la mejor conectividad usando la métrica del Coeficiente del Grado de Dispersión (DDc por sus siglas en inglés). El DDC mide las diferencias entre el grado de un vértice y los grados de sus vecinos con el fin de reducir al mínimo los saltos. Por lo tanto, la consulta más frecuente a un recurso, será la mejor ruta seleccionada. Algoritmo Basado en Cúmulo de Partículas. Un Algoritmo Basado en Cúmulos de Partículas o Particle Swarm Optimization es una técnica metaheurística basada en poblaciones e inspirada en el comportamiento social del vuelo de las bandadas de aves o el movimiento de los bancos de peces. PSO fue originalmente desarrollado por el psicólogosociólogo Jammes Kennedy y por el ingeniero electrónico Russell Eberhart en 1995, basándose en un enfoque conocido como la metáfora social, que describe a este algoritmo y 3 que se puede resumir de la siguiente forma: los individuos que conviven en una sociedad tienen una opinión que es parte de un conjunto de creencias (el espacio de búsqueda) compartido por todos los posibles individuos. Cada individuo puede modifcar su propia opinión basándose en tres factores: Su conocimiento sobre el entorno (su valor de fitness). Su conocimiento histórico o experiencias anteriores (su memoria). El conocimiento histórico o experiencias anteriores de los individuos situados en su vecindario. Siguiendo ciertas reglas de interacción, los individuos en la población adaptan sus esquemas de creencias al de los individuos con más éxito de su entorno. Con el tiempo, surge una cultura cuyos individuos tienen un conjunto de creencias estrechamente relacionado. El cúmulo de partículas (swarm) es un sistema multiagente, es decir, las partículas son agentes simples que se mueven por el espacio de búsqueda y que guardan (y posiblemente comunican) la mejor solución que han encontrado. Cada partícula tiene un fitness, una posición y un vector velocidad que dirige su movimiento. El movimiento de las partículas por el espacio está guiado por las partículas óptimas en el momento actual. 3. PARTE EXPERIMENTAL Para el desarrollo se utilizó software libre bajo el lenguaje de programación java y el manejador de base de datos MySQL. Se basa en un algoritmo ACs (Algoritmo de Colonia de Hormigas. Por sus siglas en inglés: Ant Colony System), el cual es una técnica probabilística utilizada para solucionar problemas de cómputo; este algoritmo está inspirado en el comportamiento que presentan las hormigas para encontrar las trayectorias desde la colonia hasta el alimento (ver figura 1). Figura 1: Selección de la ruta más corta por mayor densidad de feromona. FASE 1: El prototipo solicita el sitio de destino, después realiza la búsqueda creando las rutas a través de los nodos por medio de las calles y las colonias contenidas en la base de datos, dejando la feromona en aquellos nodos que cumplan con la condición de la ruta. Al encontrar la hormiga el origen y el destino; el prototipo almacena la ruta destino completa en un arreglo y la ruta destino en otro, para comenzar la búsqueda del destino en la misma, si existe; termina el algoritmo. FASE 2: 4 Se selecciona la ruta donde hay más incidencias de trazado. En principio siguen rutas aleatorias, pero las que han utilizado las de menor longitud pueden regresar más rápidamente (pues transitan a una velocidad uniforme), y repetir el camino, dejando una mayor densidad de huellas de feromona. Las depositadas en las otras rutas se van evaporando, y dejan de tener interés en los nuevos recorridos. 4. CONCLUSIONES El prototipo de Optimización para el Trazamiento de Rutas Turísticas implementando el algoritmo de colonia de hormigas, permitió trazar recorridos a través de la filosofía del algoritmo de colonia de hormigas que marca la información necesaria contenida en la base de datos con feromonas para su localización, dando como resultado un prototipo que procesa las calles como nodos que la aplicación sigue de acuerdo al algoritmo, para formar rutas de turísticas que se presentan al usuario así como recomendaciones de comercios que se encuentran dentro del trayecto BIBLIOGRAFÍA 1. Ochoa Ortiz Zezzatti, Alberto; “Algoritmos Culturales”; Ideas CONCYTEG, Año no. 3, 21 de enero del 2008. 2. Barán, Benjamín; Almirón, Martha (2002). “Colonia de Hormigas en un Ambiente Paralelo Asíncrono”. Centro Nacional de computación, Universidad de Asunción. 3. Barán, Benjamín; http://www.cnc.una.py/cms/invest/download.php?id=104917,101,1 4. Gómez Santillán, Claudia; Cruz Reyez, Laura; Meza Conde, Eustorgio; Amaro Martínez, Claudia; Aguirre Lam, Marco Antonio, Ochoa Ortiz Zezzatti Carlos Alberto; “Performance Analysis of the Neighboring-Ant Search Algorithm through Design of Experiment”; 5