ISSN: 0016-7975 / 1011-9565

GEOMINAS, Vol. 50, N° 87, abril 2021

Inteligencia artificial/Artificial intelligence/Inteligência Artificial

 

El perceptrón simple para el control del comportamiento de hormigas robóticas capaces de generar y seguir un camino óptimo de feromonas

 

The simple perceptron for behavioral control of robotic ants capable of generating and following an optimal pheromone path

 

O perceptron simples para controlar o comportamento de formigas robóticas capazes de gerar e seguir um caminho ótimo de feromonas

 

Manuel Vicente Centeno Romero

Lcdo°Mat°, Dr. Profesor, Universidad de Oriente (UDO). Correo-e: manuelcenteno11@gmail.com

 

Carlos Eduardo Gamardo Sánchez

Lcdo°Inform° Profesor, UDO. Correo-e: cgamardo@hotmail.com

 

José Feliciano Lockiby Aguirre

Lcdo°Mat°, MSc. Profesor, UDO. Correo-e: jlockiby@gmail.com

 

Armando Luis Anselmi Espín

Lcdo°Mat°, MSc. Profesor, UDO. Correo-e: alanselm2010@gmail.com 

Este trabajo fue presentado en el:

Abstract

This research complements some aspects not present in Párraga et al. (2013), such as the lack of social behavior among agents during the optimal generation of pheromone paths, for this the ability of Artificial Neural Networks (ANN) is demonstrated, Simple perceptron type, for the control of the behavior of robotic ants. In order to achieve this goal, the development of a software product capable of generating virtual worlds was required, where the intelligent agents developed could act. For this, the study of the main behavioral characteristics of the ants was performed at the time of achieving optimal paths, which takes them from their anthill to some source of food. To carry out this emulation, the Java programming language was used, for the construction of the set of sensors that allowed interacting with the matrix world of variable size in which the ants develop and through the Metaheuristics of Optimization by Colony of Ants (OCA), the generated robotic entity was endowed with the main characteristics of said insect. For the development of this research, a hybrid methodology was used, combining the User Centered Design (UCD) methodologies and the methodology, proposed by Mariño and Primorac (2016), for the development of supervised ANNs. 

Resumen

En esta investigación se complementan algunas falencias presentes en Párraga et al. (2013), tales como la falta de comportamiento social entre agentes durante la generación óptima de caminos de feromona, para ello se demuestra la habilidad de las Redes Neuronales Artificiales (RNA), tipo perceptrón simple, para el control del comportamiento de hormigas robóticas. Para la consecución de esta meta, se requirió la elaboración de un producto software capaz de generar mundos virtuales, donde pudieran actuar los agentes inteligentes desarrollados. Para esto, se realizó el estudio de las principales características conductistas de las hormigas al momento de realizar la consecución de caminos óptimos, que les lleve desde su hormiguero hasta alguna fuente de alimentación. Para llevar a cabo dicha emulación, se hizo uso del lenguaje de programación Java, para la construcción del conjunto de sensores que permitieron interactuar con el mundo matricial de tamaño variable en el cual se desenvuelven las hormigas y a través de la metaheurísticas de Optimización por Colonia de Hormigas (OCH), se dotó al ente robótico generado de las principales características de dicho insecto. Para el desarrollo de esta investigación, se hizo uso de una metodología híbrida, combinando las metodologías de Diseño Centrado en el Usuario (DCU) y la metodología, propuesta por Mariño y Primorac (2016), para el desarrollo de RNA supervisadas.

Resumo

Esta investigação complementa algumas deficiências presentes em Párraga et al. (2013), como a falta de comportamento social entre agentes durante a geração ideal de caminhos de feromonas, para isso é demonstrada a capacidade das Redes Neurais Artificiais (RNA), tipo perceptron simples, para controlar o comportamento das formigas robóticas. Para atingir este objetivo, foi necessário desenvolver um produto de software capaz de gerar mundos virtuais, onde os agentes inteligentes desenvolvidos pudessem atuar. Para isso, o estudo das principais características comportamentais das formigas foi realizado ao alcançar caminhos ideais, que as levam do formigueiro para alguma fonte de energia. Para realizar esta emulação, foi utilizada a linguagem de programação java, para a construção do conjunto de sensores que permitiu interagir com o mundo matriz de dimensão variável em que se desenvolvem as formigas e através da metaeurística da Otimização pela Colónia de Formigas (OCF), a entidade robótica gerada foi dotada das principais características do referido inseto. Para o desenvolvimento desta investigação foi utilizada uma metodologia híbrida, combinando as metodologias de Design Centrado no Utilizador (DCU) e a metodologia, proposta por Mariño e Primorac (2016), para o desenvolvimento de RNAs supervisionados.

Palabras clave/Keywords/Palabras-chave:

ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Citar así/Cite like this/Citação assim: Centeno et al. (2022) o (Centeno et al., 2022).

Referenciar así/Reference like this/Referência como esta:

Centeno R., M. V., Gamardo S., C. E., Lockiby A., J. F., Anselmi E., A. L. (2022, abril). El perceptrón simple para el control del comportamiento de hormigas robóticas capaces de generar y seguir un camino óptimo de feromonas. Geominas 50(87). 7-15.

Introducción

 

Un modelo de neurona artificial para la construcción de RNA fue establecido por McCulloch y Pitts en 1943, que la representaron como una unidad simple de cálculo que emula las características y funcionamiento de la neurona biológica. Sin importar la información de entrada, la neurona lleva a cabo cálculos para producir una salida dependiente del estado de excitación que alcance la neurona, una vez procesados los datos de entrada. (Olabe, 2008).


La primera y más simple de las RNA es el Perceptrón, que clasifica conjuntos de valores linealmente separables. Su contribución es la introducción de una regla de aprendizaje en la cual una neurona aprende a reconocer patrones a través de un entrenamiento recursivo y supervisado (Ponce, 2011).


La metaheurística de optimización basada en Colonias de Hormigas (OCH), se apoya en una colonia de hormigas artificiales; agentes computacionales simples que trabajan en cooperativa y se comunican mediante un rastro de feromona artificial, en los que en cada iteración cada hormiga construye una solución al problema, recorriendo un grafo, utilizando información heurística que mide la preferencia de una hormiga para avanzar a nodos adyacentes, esta información es invariable en todo el algoritmo. El rastro de feromona mide qué tan deseable puede ser para la hormiga cada nodo adyacente, imitando el rastro de las hormigas naturales. Este rastro de feromona artificial cambia a medida que se ejecuta el algoritmo (Dorigo, 1992).


Álvarez (2011) muestra diferentes técnicas de reconocimiento de patrones realizables por medio de RNA, aplicables para llevar a cabo los rastreos de feromonas al construir caminos óptimos por medio del algoritmo OCH. Centeno y Salazar (2008) desarrollaron un sistema hormiga que estudia la resolución de problemas reales aplicando este algoritmo de optimización.


Se desarrolló un software capaz de generar una simbiosis entre RNA y OCH, que converge en la generación de agentes computacionales similares a hormigas naturales capaces de concebir rastros óptimos en la búsqueda de soluciones dentro de grafos complejos, empleando técnicas de simulación.


Para ello, se hace uso de una RNA tipo perceptrón simple, que se comporta similar a como lo haría el cerebro de estos insectos, utilizando una única neurona artificial, que percibe y decodifica la información recibida por medio de sensores con los que interactúa con el mundo que le envuelve, de esta forma, el ente se ve dotado en todo momento de información, tal como: ubicación y rastro de feromona existente a su alrededor. Estos agentes robóticos son capaces de generar y rastrear un camino óptimo, o un camino bastante promisorio de feromona de forma cooperativa, que les lleve desde su hormiguero hasta una fuente de alimentación indicada, haciendo uso de un algoritmo OCH para llevar a cabo la optimización de la búsqueda del camino más corto hasta la fuente de alimento.


El algoritmo OCH es el encargado de enmarcar la conducta de los agentes computacionales; es decir, mientras que la RNA sirve como intérprete y decodificador de los diferentes estímulos obtenidos del mundo, el algoritmo OCH se encarga de traducir los resultados ganados por la red en acciones.

 

Planteamiento del problema

 

Esta investigación se basa en la de Párraga et al. (2013), quienes construyeron un ente computacional capaz de rastrear una nube de feromona generada dentro de un mundo matricial, equivalente a cómo lo haría una hormiga robótica. Ellos implementaron un RNA con dos neuronas tipo perceptrón, mediante la cual el insecto reconociera patrones a seguir (nube de feromona), dentro de un entorno o mundo matricial, limitado a un máximo de 15 filas y 15 columnas, lo que es una restricción drástica del tamaño, pues proporciona información insuficiente sobre el rendimiento del procedimiento empleado, dificultando su evaluación como solucionador.


El ente generado en Párraga et al. (2013), no lleva a cabo una representación fidedigna del comportamiento de una hormiga real, desde el punto de vista de su conducta social y dinámica de rastreo, por tal motivo, pudiera considerarse dicha investigación como ampliable y mejorable.


En esta investigación demostramos la habilidad de las RNA simples en el control del comportamiento de entes computacionales complejos, que emulan el comportamiento real y social de las hormigas, siendo capaces de construir y rastrear caminos óptimos de feromona que lleven a estas desde su hormiguero hasta alguna fuente de alimento, en un mundo matricial.


Esta investigación se centra en dar por concluida la investigación iniciada en 2013 por Párraga et al., al cubrir falencias de la misma, como la falta de comportamiento social entre agentes durante la generación óptima de caminos de feromona, para determinar la eficacia que las RNA tipo perceptrón simple presentan en la construcción de hormigas robóticas.

 

Metodología

 

Se implementó la metodología de Diseño Centrada en el Usuario (DCU) (Garret y Mor, 2015), que es idónea para el diseño y construcción del producto software, debido a la escasa actividad encontrada en este apartado del proyecto, en contraste con la labor implementada en el desarrollo de los diferentes modelos matemáticos requeridos para la creación de los agentes inteligentes en los que se centra la investigación. Para estos últimos, se recurre a la metodología de Mariño y Primorac (2016), para generar los modelos y complementar la metodología DCU insertando las fases de ésta dentro de la fase de desarrollo subsiguiente a la culminación satisfactoria de la metodología anterior, garantizando que para los modelos neurales, se tengan identificados todos los valores de entrada y salida requeridos.

 

Desarrollo

Metodología DCU

Fase I. Entender y especificar el contexto de uso

 

Se estableció solo una clase de usuarios denominada analista, pues, este software se consigna a la evaluación de resultados para verificar si la simbiosis de técnicas planteadas es viable bajo los términos establecidos y en segundo lugar, se estableció una estructura de manejo y comprensión de resultados, cada analista fue capaz de verificar si los resultados y procesos son convenientes a la resolución de problemas más específicos.


Se establecieron los requerimientos físicos del sistema, planteándose la necesidad de presentar como cuerpo principal del sistema un formulario simple, donde el usuario genere las especificaciones propias de los mundos matriciales y establece condiciones bajo las cuales se lleven a cabo las pruebas para comprobar el rendimiento de las técnicas neuronales, ante las diferentes condiciones que puedan presentarse, representando gráficamente los resultados, facilitando la interpretación y evaluación de las soluciones

 Fase II. Especificar requisitos


Se representa gráficamente el conjunto de componentes del sistema, organizados por medio de actividades de cardSorting, agrupando el conjunto de necesidades en categorías genéricas.


Se identificaron las necesidades esenciales, en cuanto a interfaz gráfica, con un formulario para la gestión de mundos flexible con una temática y lenguaje descriptivo, y que la presentación de los resultados sea amigable.

Fase III. Producir soluciones de diseño


Etapa iterativa; se evaluaron las necesidades y requerimientos obtenidos en fases previas, en conjunto con los actores involucrados, lo que permitió realizar cambios y modificaciones antes de desarrollar el sistema, reduciendo costos y tiempo. Se desarrolló un prototipo horizontal de alta fidelidad, para generar un modelo de interfaz parecido al desarrollado en el software, sin ser definitivo, pues, se encuentra sujeto a cambios.


La primera pantalla del software (Figura 1), es una bienvenida al usuario e invita a la utilización para comprobación de resultados del método ideado. Asimismo, se muestra un botón de información, donde se comunica sobre la técnica desarrollada, su creación, autor y la idea tras el método.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

El menú principal de ejecución para la creación de mundos artificiales y la elaboración de pruebas de rendimiento (Figura 2) es simple, con un panel de ajuste, donde el usuario escoge las características del mundo y el número de hormigas que conforman la colonia. Estos valores se pueden generar de forma aleatoria. Seleccionados los valores iniciales se realiza la ejecución.


El panel de ajuste muestra un área de información que denota las acciones llevadas a cabo por cada hormiga durante la ejecución del algoritmo, donde resalta el estado, el cual denota si la hormiga se encuentra en búsqueda de alimento (hambrienta), de regreso al hormiguero (transportando) o si se encuentra aún en fase de exploración. De igual forma, muestra información sobre la distancia recorrida, expresada en función a la distancia lineal entre casillas, esta distancia resalta cuánto ha recorrido la hormiga antes de llegar a un nodo objetivo; es decir, antes de llegar al hormiguero y hacer el depósito de alimento o antes de llegar a la fuente de alimento para recogerlo.


Al finalizar la ejecución del algoritmo, se activa el botón (información), con la cual se da paso a la ventana de información y resultados. Tal como se enmarca en los requerimientos de la fase previa, se muestra los resultados obtenidos por la ejecución del algoritmo de forma gráfica (Figura 3), para facilitar su lectura y juzgar de manera fácil cuan idónea es la solución. También se muestra información importante recabada tras la ejecución, como la distancia total del camino obtenido en contraste con la distancia lineal que separa los nodos objetivos. Luego se cierra esta ventana y se prepara el menú de ejecución para una nueva corrida del algoritmo.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.
Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Fase IV. Evaluación


Se recurrió a reuniones con los distintos usuarios vinculados al desarrollo, para recalcar los objetivos buscados y por medio de una ficha de evaluación, con un formulario básico que refleja si la escogencia del modelo final de interfaz coincide con lo esperado y si la misma cumple con los requisitos.


Los factores evaluados en cuanto a la creación del diseño del software fueron: los gráficos, contenido y navegación, que centran la base de un buen diseño. Resultando favorable el modelo y usable para el usuario final, quien evaluó el resultado a través de prototipos elaborados en la fase de diseño.


Una vez obtenido el modelo de interfaz idóneo para las necesidades establecidas, se construyen los modelos neurales para el funcionamiento del software, aquí se recurrió a la metodología de Mariño y Primorac (2016).

Metodología propuesta por Mariño y Primorac (2016)

Fase I. Análisis

Se buscó comprender el problema, para evaluar las técnicas neurales que puedan dar solución al mismo y cómo puedan ser adaptadas al problema, en tal sentido, se subdivide esta primera fase en las siguientes etapas:

 

Elección del modelo: un factor principal fue evaluar el comportamiento de redes neuronales simples ante problemas complejos, disminuyendo el número de modelos seleccionables. Para la selección de este fue evaluado el modelo desarrollado por Párraga et al. (2011), al ser el modelo más parecido a lo requerido, ellos basaron su estructura neural en una red tipo perceptrón básica. Tras evaluar los distintos antecedentes, se toma la opción de desarrollo la RNA tipo perceptrón simple.


Considerando las particularidades y las diferencias propias que los agentes inteligentes presentan frente a los desarrollados por Párraga et al. (2011), se diseñó la arquitectura de la red, apoyándose en el modelo abstracto de una neurona artificial, simplificando el modelo respecto al desarrollado por Párraga et al. (2011), reduciendo el número de neuronas involucradas a solo una, que se adapta según las entradas requeridas para la resolución de problemas (Figura 4), lo que se reafirma tras resultados de investigaciones basadas en la de Párraga et al. (2011) con una única neurona. La figura 4 muestra la red conformada por sensores de entrada que reciben los patrones de entrada a reconocer o clasificar y una neurona de salida que se ocupa de clasificar los patrones de entrada en dos clases.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Otro cambio importante, respecto al modelo de Párraga et al. (2011), fue brindar mayor flexibilidad a la hora de desechar casillas a seguir por parte de los agentes inteligentes, obteniendo salidas continuas por parte de la RNA, haciendo uso de una función de propagación sigmoidal (1) (tangente hiperbólico), de igual forma, se presenta la necesidad de pre procesar los datos a evaluar por la red, con el fin de transformarlos a un rango aceptable por la red, sin necesidad de alterar los valores reales en el mundo.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Estudio del dominio de conocimientos: se planteó la inserción como núcleo para la toma de decisiones de una red neuronal sencilla dentro de un sistema hormiga, que emule el accionar del cerebro del insecto; sin embargo fue necesario considerar todos y cada uno de los factores que efectúan el comportamiento de los agentes, para replicarlos a cabalidad en el modelo.


Como agentes biológicos, las hormigas basan su sistema de coordinación y comunicación en el uso de feromonas, que permiten la construcción de caminos para el transporte de alimento desde alguna fuente de alimentación hasta su hormiguero; sin embargo, como agentes digitales es posible flexibilizar este comportamiento con la adición de variables secundarias con un menor peso o importancia en la toma de decisiones, pero que contribuyen a la mejora de la fiabilidad del modelo original. Dentro del sistema neural desarrollado, estas variables secundarias o de control vienen representadas por la distancia lineal existente entre el hormiguero y la fuente de alimento; sin embargo, para no perder la naturalidad en el modelo, se considera que en condiciones iniciales ninguno de los agentes conoce la ubicación de la fuente de alimento, por tal motivo inicialmente las hormigas, al igual a como ocurre en el mundo natural, han de vagar de forma aleatoria hasta encontrar su objetivo. Esto garantiza que el modelo sea aplicable a la solución de algún otro problema con solo ajustar las necesidades de procesamiento de la RNA

 

Fase II. Diseño


Actividades para la estructura final con la que contará la red:

 

Selección de variables objetivo: variables cuyo valor da respuesta a la problemática planteada, por tal motivo y recordando que para la resolución final del problema se realizó una ejecución indefinida de veces el procesamiento de datos, por medio de la RNA por cada una de los agentes inteligentes desarrollados para la construcción final de caminos óptimos, la selección de variables objetivos se presenta de forma lógica como: factor de escogencia, que permite la clasificación al momento de escoger aquellas casillas del mundo que sean más provechosas para la obtención de una trayectoria óptima, que transporte a los agentes del hormiguero hasta alguna fuente de alimento, este factor se simboliza en el intervalo [-1,1], que representa cuán provechosa puede ser la escogencia de esa casilla en comparación con las demás alternativas. La distancia total del camino construido por los agentes inteligentes, determina si la solución obtenida es o no óptima tras ser comparada con la distancia total lineal existente entre los nodos objetivos. Así, puede ser considerado como óptimo el camino cuya longitud se asemeje lo mejor posible a la distancia lineal calculada.

 

Selección de variables evidenciales: la entrada de datos a la red se define como una disposición por lotes (batch); ya que a pesar de ser un sistema basado en uso de sensores, toda la información para el funcionamiento de la RNA se presenta agrupada en los distintos nodos a visitar por las hormigas, que permite el acceso a la información de forma simultánea.


Las variables analizados por la RNA para su correspondiente funcionamiento son: la tendencia (bias), elemento constante propio de la red, implementada en mejora de la velocidad de aprendizaje por parte de la red. Por otra parte, se presentan los valores de feromonas y distancia, por medio de los cuales la RNA percibe los valores del mundo en el que se desenvuelven los distintos agentes inteligentes, estas variables requieren ser acotadas en un rango similar durante la fase de pre-procesamiento de datos, lo que evita que se genere una saturación durante el cálculo del potencial post-sináptico de la neurona, que conllevaría a aproximaciones erróneas y por tanto inservibles.

 

Definición de nodos de entrada y salida: la topología de la red es simple, conformada por una única neurona procesadora, los nodos de entrada se representan por el conjunto de variables evidenciales (Figura 5).


La figura 5 muestra cómo al tratarse de una red conformada por una única neurona, los elementos o nodos de entradas están conformados por las variables evidenciales y la variable objetivo se establece como nodo final.

 

Diseño del patrón: se determinó el patrón o registro que el modelo de RNA emplea en el proceso de aprendizaje en el dominio de conocimiento elegido para su posterior testeo. Para el entrenamiento de la red, se tomó la regla de aprendizaje clásica de este tipo de redes adaptadas para la implementación de una función de salida (1), lo que conllevó a la asignación de una tasa de tolerancia de 0,001 que garantiza la convergencia de la red en tiempo prudencial. La escogencia de esta función se basó en el criterio de cuantificación probabilística de la metaheurística, por lo que se requirió de entradas y salidas reales para el correcto funcionamiento de la RNA.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Fase III. Desarrollo

 

Abordó el desarrollo de los modelos ideados en fases previas, incluido los resultados obtenidos tras la aplicación de la metodología DCU.

 

Selección de las herramientas informáticas: la naturaleza del problema hace plantear requerimientos por parte de la RNA precisos, pues de ellos depende la fiabilidad de los resultados y la óptima evaluación de la eficiencia de la técnica desarrollada. Por tanto, es imprescindible determinar, previo al desarrollo de la red, el planteamiento de requisitos: se implementó el lenguaje de programación de propósito general orientado objeto Java, permitiendo que el desarrollo no estuviera atado a la utilización de un único sistema operativo. Al tratarse de una comprobación en cuanto al funcionamiento y eficiencia de la técnica desarrollada, no se propone hipótesis en cuanto al tiempo de respuestas requeridos por la red; sin embargo, se requiere que el sistema genere una solución en un tiempo prudencial, considerando las dimensiones del problema a resolver, pues al tratarse de mundos matriciales se generan miles de casillas explorables que pueden o no ser parte viable de una buena solución, por lo que a mayor dimensión del problema es normal que los tiempos de ejecución se alarguen; sin embargo, estos tiempos no son exagerados.


Antes que la RNA procese los datos es necesario un tratamiento previo de los datos de entrada, con el fin de asegurar que los mismos sean adecuados a los requerimientos propios de la red, puesto que hay que conseguir que los datos que le sean proporcionados cumplan con ciertas cualidades: buena distribución: para el caso de la red diseñada, la distribución de los valores a evaluar por la RNA no comparten una misma distribución, puesto que los valores previstos a evaluar por los sensores de los agentes son de características distintas. Primero, se usa una distribución totalmente aleatoria en fases iniciales del algoritmo, que representan el andar errático de las hormigas durante la exploración del mundo matricial; sin embargo, esta distribución va variando con el tiempo conforme se va estabilizando la construcción de un camino de solución.


Por otra parte, la distribución para el factor de distancia, el cual cuantifica si la casilla evaluada acerca o aleja a la hormiga, se basa en una distribución uniforme a la que se le asocian valores entre [-1,0] en caso de la casilla alejar a la hormiga del objetivo y asignará valores en un intervalo de [0, 1] en caso contrario. Los valores percibidos por los distintos sensores ubicados en los agentes inteligentes se encuentran delimitados a un mismo rango. En el caso de las feromonas, este patrón se ve controlado por una delimitación en cada casilla, que no permite que la concentración de las mismas aumente o disminuya más allá del intervalo [-1, 1], siendo controlado además por un proceso de evaporación que se lleva a cabo tras cada iteración realizada, el proceso que controla la evaporación en el mundo se representa por (2):

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

En (2) se muestra cómo el proceso de evaporación es proporcional a las dimensiones del mundo (X, Y), para garantizar que los caminos de feromonas formados por las hormigas no sean evaporados antes de tiempo o que los caminos poco prometedores perduren demasiado tiempo y lleven al entorpecimiento del trabajo de las hormigas. Por otra parte, se encuentra el factor de distancia, que se basa en una conversión al rango de valores requeridos de la distancia lineal que separa la casilla evaluada, respecto al objetivo a alcanzar (el hormiguero o la fuente de alimento). Este factor se ve representado por medio de la ecuación (3).

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

En (3) dt denota la distancia total entre el hormiguero y la fuente de alimento, esta distancia es conocida por la hormiga una vez que encuentra la fuente de alimento, D representa la distancia de la casilla a evaluar respecto al objetivo en cuestión (sumidero u hormiguero). Las distancias señaladas son distancias lineales, calculadas por medio de la ecuación (4), donde (x, y) hace referencia a las coordenadas de las casillas dentro del mundo matricial. En el caso de que la hormiga no conozca la ubicación de su objetivo, la misma no podrá cuantificar la distancia existente, por lo que se asigna como factor de distancia el valor -1, por lo que la búsqueda en etapas de exploración solo se ve afectada por la presencia de feromona en el camino.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Entrenamiento de los modelos: se basa en el algoritmo básico del perceptrón simple, con la adición de un pequeño valor de holgura, para agilizar y garantizar la convergencia del entrenamiento, haciendo uso de entradas continuas. El algoritmo de aprendizaje del perceptrón simple es una estructura iterativa que va probando y ajustando los pesos sinápticos de la red a medida que se obtienen salidas aproximadas a las deseadas.


El algoritmo de aprendizaje está compuesto por un conjunto de métodos simples, que se describen como: inicializaciónDePesos():encargado de la generación de valores aleatorios basados en el motor de aleatoriedad implementado por Java, calcularSumaPonderada(): función que calcula el potencial post-sináptico de la neurona mediante la asociación de los pesos y entradas. Esta asociación se realiza por medio de una suma ponderada o combinación lineal de los elementos, calcularSalida(): una vez calculado el potencial post-sináptico de la neurona es necesario conocer su valor de salida. La obtención de este valor corre por cuenta de una función (1), con un rango de [-1,1], que representa la salida final del sistema, recalcularPesos(): se basa en la función de ajuste clásica del perceptrón simple.


Cada uno de los pesos dentro de la neurona es modificado en función a la tasa de aprendizaje, definida con un valor de 0.5 y el error de aproximación (diferencia entre el resultado deseado y el obtenido). Este proceso es llevado a cabo para cada uno de las entradas de la neurona. La condición de parada para el algoritmo de entrenamiento solo se cumple una vez que todas las salidas obtenidas para cada uno de los patrones de entrenamiento coinciden con las salidas deseadas, puesto que entonces y solo entonces, puede considerarse la red como satisfactoriamente entrenada. Por tanto, se encuentra lista para ser implementada dentro del sistema hormiga.

 

Aplicación de técnicas de validación: tras la construcción y verificación de los resultados arrojados por la RNA, se implementó sobre casos fuera de los patrones de entrenamientos y de pruebas (test) previstas. Los resultados fueron lo suficientemente satisfactorios como para concluir que la red era apropiada para su implementación como eje central del procesamiento de un sistema hormiga idealizado en la construcción de caminos óptimos.


Culminada la RNA se evalúa la necesidad de construir un diagrama de clases, para describir las clases y objetos del proyecto, se consideran estáticos debido a que se muestran todas las relaciones posibles a lo largo del tiempo, más no aquellas que son válidas solo en un determinado momento. Según Galindo y otros (2012), estos modelos recogen todos los conceptos en el dominio de la aplicación; es decir, refleja toda la información que precisa el software para lograr la construcción de la información que requiere el usuario. La figura 6 muestra el diagrama de clases.


La figura 6 muestra la estructura de clases pertinentes al funcionamiento del sistema neural, en ella se observa cómo los distintos factores se involucran para dar solución a los problemas planteados, en líneas generales, se observa cómo los distintos mundos generados se encuentran conformados por unidades elementales denominados casillas, las cuales vienen a representar cada uno de los nodos entre los cuales se vincularán las hormigas en búsqueda de la solución. De igual forma, se observa cómo no existe vinculación alguna entre la información almacenada en los mundos con la RNA generada, pues, esta se vincula únicamente a los agentes inteligentes y estos son los únicos capaces de hacer uso de la misma.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Análisis de resultados

 

Las redes artificiales monocapas simples, como el perceptrón, son aproximadores lineales muy limitados, lo que los coloca en una posición muy desventajosa en comparación con su evolucionada contraparte conformada por múltiples capas. A pesar de esto, su elección como elemento central de procesamiento para agentes computacionales inteligentes (hormigas artificiales), desarrollado en el presente trabajo, fue una elección acertada.


El desarrollo de un perceptrón simple demostró ser una alternativa económica, de fácil manejo y entrenamiento, autosuficiente para el reconocimiento de patrones requerido para la sustitución de la función probabilística, en la cual se centra el funcionamiento del sistema hormiga implementado, logrando cuantificar cada alternativa de avance a las casillas adyacente a la posición de los agentes inteligentes en un instante de tiempo.


En cuanto al entrenamiento de la red, se pudo definir, tras múltiples pruebas, que su variable de aprendizaje η ronda su valor ideal de 0.5. Para valores de la tasa de aprendizaje menores, la convergencia empezaba a ralentizarse, mientras que para valores superiores se observó que aunque la ralentización del aprendizaje disminuía su tiempo de convergencia (no a gran medida), no se obtenían mejores resultados que con el umbral señalado, por tanto se dispone a referir al mismo como su valor de equilibrio para la convergencia.


A pesar de la solvencia del perceptrón simple en la clasificación de patrones, garantizando el funcionamiento del sistema hormiga que gestiona el comportamiento de los agentes diseñados y desarrollados es evidente la necesidad de un sistema adicional de gestión y control capaz de agilizar la convergencia a la solución deseada. Un mecanismo viable para la solución de esto sería la implementación de un sistema de gestión de memoria, capaz de prevenir la repetición innecesaria de movimientos y trayectos, así se podría prevenir que las hormigas reevalúen regiones del mundo que ya han sido explorada sin obtener resultados promisorios, lo que conllevarían a las hormigas a atacar de forma directa aquellos nodos inexplorados, los cuales le brindarán mayor probabilidad de éxito en su labor de exploración.


De igual forma, otra estrategia que podría ayudar a solventar los problemas de rendimiento para mundos de gran tamaño, pasa por el hecho de realizar una actualización selectiva de los nodos que conforman el mundo en el que se desenvuelven los agentes, de esta forma, tras cada iteración, solo se llevaría a cabo la evaporación de feromonas en aquellas casillas en las cuales fuese necesario hacerlo, en lugar de recorrer cada uno de los nodos que conforman el mundo, de esta forma se agilizarían exponencialmente los tiempo de ejecución para mundos de grandes dimensiones.


El mundo matricial en el que se desenvuelven los agentes inteligentes, puede ser considerado como un grafo interconectado de forma masiva y bidireccional, por lo cual, para mundos de dimensiones medias (90.000 nodos interconectados), ejecutado en un computador con procesador Core i3-2100 y 4 GB de memoria RAM el software neuronal es capaz de hallar una trayectoria óptima o aproximaciones a ésta en un tiempo prudencialmente bueno, como muestra la tabla I, tiempo que es mejorable haciendo uso de mecanismos adicionales; sin embargo, para mundos de dimensiones cercanas a los 122.500 nodos las prestaciones del software decaen y para dimensiones mayores a estas tiende a interrumpirse su ejecución, por lo que puede tomarse a este número de nodos como la dimensión total a la cual el software es capaz de dar respuestas haciendo uso del hardware señalado.


Una de las falencias naturales observables en los algoritmos metaheurísticos, suele ser la falta de garantías a la hora de conseguir soluciones óptimas, esto se ve reflejado en la presente investigación, pues, tal como refleja la tabla I para mundos de tamaños medios y grandes suelen observarse soluciones poco menos eficientes a lo óptimo; sin embargo, siguen siendo consideradas como soluciones bastante buenas para los objetivos planteados. Si se recurre a la comparación de los resultados observables en la tabla I, obtenidos en ejecuciones con cinco hormigas artificiales, se puede observar que la distancia total lineal a la que se encuentran los nodos objetivos es de 408,0747 unidades y como mejor solución se obtuvo 411,2224 unidades, resultado que podría considerarse como inmejorable, pues la diferencia total entre ambas es tan solo de 3,1477 unidades y si es comparada con la peor solución obtenida se tiene una diferencia de 15,633, lo cual representa una diferencia bastante elevada; sin embargo, puede seguir siendo considerada como una solución aceptable. Estas discrepancias respecto a valores que puedan considerarse óptimos, se presentan como limitaciones propias de la metaheurística implementada, escapando la responsabilidad del rendimiento de la red neuronal empleada.

Geominas, Geominas Journal, Geominas online, Revista Geominas, Geominas on-line, Geominas on line, ANN, OCA, OCH, perceptron, perceptrón, RNA, robotic, robótica, metaheuristics, metaheurísticas.

Conclusiones

 

Se insertó la RNA dentro del eje central y núcleo de procesamiento para las distintas señales que los agentes eran capaces de percibir del entorno en el que se desenvuelven, sustituyendo la función probabilística en la que se fundamenta el accionar de la metaheurística, generando un sistema hibrido capaz de realizar el rastreo que garantiza el cumplimiento de las metas.


La toma de decisiones es aleatoria, sobre todo en su fase inicial, en la que algunas hormigas pudieran no salir incluso una vez culminada la construcción de la solución, su rendimiento tiende a descender a medida que las dimensiones del mundo se incrementan, necesitando tiempos de ejecución prolongados para mundos de dimensiones medianas (más de 10.000 casillas) y aún más para mundos de gran tamaño (mayores a 1.000.000 de casillas); sin embargo, se trata de limitaciones que pueden ser consideradas en refinamientos del software.


Las técnicas utilizadas tienen aplicación en campos promisorios, donde se requiera llevar a cabo labores de optimización basado en patrones, restricciones o condiciones que puedan ser tratadas y cuantificadas para luego analizarlas por medio de una red como el perceptrón y cuyos resultados sirvan de base para el funcionamiento de sistemas hormigas. Entre estas implementaciones está: el cálculo de rutas óptimas para sistemas GPS y construcción de gasoductos, cableados, tuberías, entre otros


La correcta inserción de una RNA dentro de un sistema hormiga es capaz de generar grandes ventajas, aumentando su potencialidad y el rango de acción entre los problemas atacables por esta metaheurística, tomando aquellos problemas basados en la cuantificación de características y requerimientos que resulten evaluable por medios de RNA, como el perceptrón simple.


El algoritmo presentado, pretende ser una base, un punto de partida para un futuro refinamiento que permita su correcta y eficiente aplicación dentro de sistemas complejos como los antes mencionados.

 

Referencias


Álvarez, M. (2011). Implementación de un programa en c# para la construcción y evaluación de conjuntos clasificadores basados en redes de neuronas. Tesis de Grado no publicada. Universidad Carlos III de Madrid.

Centeno R., M. V. y Salazar, H. (2008). Algoritmo para el 4AP haciendo uso de la metaheuristica sistema hormiga. Revista Ingeniería Industrial, 7(2): 73-84.

Dorigo M. (1992). Optimization, Learning and Natural Algorithms. Tesis Doctoral no publicada. Politécnico di Milano, Italia.

Galindo, C., Vásquez, H. y Juganaru, M. 2012. Desarrollo de una Metodología e implementación para la agrupación de documentos XML. Tesis de Maestría no publicada Universidad Autónoma Metropolitana. México D.F. México

Garret, M. y Mor, E. (2015). Diseño centrado en el usuario. [en línea]. 1st ed. [ebook] Barcelona: Universitat Oberta de Catalunya. España.. Disponible: https://www. exabyteinformatica.com/uoc/Informatica/ Interaccion_ persona_ ordenador/Interaccion_persona_ordenador_(Modulo_3).pdf

Mariño, S. y Primorac, C. (2016). Propuesta metodológica para desarrollo de modelos de redes neuronales artificiales supervisadas. International Journal of Educational Research and Innovation 6:231-245.

Olabe, X. (2008). Redes neuronales artificiales y sus aplicaciones. Bilbao: Escuela Superior de Ingeniería de Bilbao. España

Párraga, J., Anzules, M., Ramírez, C. y Santander, L. (2013). Implementación en C# de una Red Neuronal Artificial en el control locomotor de una hormiga robótica. Revista Tecnológica ESPOL 26 (2): 16-27.

Ponce, P. (2011). Inteligencia artificial con aplicaciones a la ingeniería. México: Alfaomega.

Romero, M. (2012). Robótica: entra en el mundo de la inteligencia artificial. Conectados, la revista: 3-13. 

The author(s) declare(s) that she/he/they has/have no conflict of interest related to hers/his/their publication(s), furthermore, the research reported in the article was carried out following ethical standards, likewise, the data used in the studies can be requested from the author(s), in the same way, all authors have contributed equally to this work, finally, we have read and understood the Declaration of Ethics and Malpractices.