<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0121-750X</journal-id>
<journal-title><![CDATA[Ingeniería]]></journal-title>
<abbrev-journal-title><![CDATA[ing.]]></abbrev-journal-title>
<issn>0121-750X</issn>
<publisher>
<publisher-name><![CDATA[Universidad Distrital Francisco José de Caldas]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0121-750X2015000200006</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Arquitectura FPGA para simulación de aprovisionamiento de alimentos en colonias de hormigas artificiales]]></article-title>
<article-title xml:lang="en"><![CDATA[AFPGA architecture for foraging behavior in simulation and colonies]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Rodríguez Rodríguez]]></surname>
<given-names><![CDATA[Cristian David]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Melgarejo Rey]]></surname>
<given-names><![CDATA[Miguel Alberto]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Distrital Francisco José de Caldas  ]]></institution>
<addr-line><![CDATA[Bogotá ]]></addr-line>
<country>Colombia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2015</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2015</year>
</pub-date>
<volume>20</volume>
<numero>2</numero>
<fpage>255</fpage>
<lpage>270</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_arttext&amp;pid=S0121-750X2015000200006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_abstract&amp;pid=S0121-750X2015000200006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.co/scielo.php?script=sci_pdf&amp;pid=S0121-750X2015000200006&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[Se presentan algunos resultados en relación con el diseño y la implementación de una arquitectura que soporta una plataforma experimental para simular el proceso de alimentación de las colonias de hormigas. Los algoritmos Ant-system y Ant-Cycle modelan el comportamiento de las hormigas. La plataforma permite cambiar parámetros como la cantidad y la velocidad de las hormigas, la cantidad y ubicación de los alimentos y el radio y la frecuencia de difusión de la feromona de las hormigas. Dichos parámetros se visualizan a través de una interfaz VGA. La implementación de hardware se lleva a cabo sobre tecnología FPGA de Xilinx ©. La teoría detrás de este diseño considera que los comportamientos complejos pueden surgir de sistemas con una estructura simple. Este trabajo se enfrenta a la pregunta por la complejidad global emergente de un sistema cuya complejidad estructural es mínima o inexistente.]]></p></abstract>
<abstract abstract-type="short" xml:lang="en"><p><![CDATA[This paper presents some results regarding the desing and implementation of an architecture that supports an experimental platform for simulating the foraging process of ant colonies. Both the Ant-System and the Ant-Cycle algorithms model the behavior of ants. The platform allows to change parameters like the quantity and speed of ants, the amount and location of food and the ratio and difussion frequency of ant pheromone. These parameters are visualized through a VGA interface. The hardware implementation is carried outover FPGA Xilinx © technology. Theory behind this design considers that complex behaviors can emerge from systems with simple structure. This work confronts the question about global complexity emerging from a system whose structural complexity is minimal or inexistent.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[colonia]]></kwd>
<kwd lng="es"><![CDATA[FPGA]]></kwd>
<kwd lng="es"><![CDATA[hormigas]]></kwd>
<kwd lng="es"><![CDATA[procesador]]></kwd>
<kwd lng="es"><![CDATA[sistemas biológicos]]></kwd>
<kwd lng="en"><![CDATA[ants]]></kwd>
<kwd lng="en"><![CDATA[biological systems]]></kwd>
<kwd lng="en"><![CDATA[colony]]></kwd>
<kwd lng="en"><![CDATA[FPGA]]></kwd>
<kwd lng="en"><![CDATA[processor]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[   <font face="verdana" size="2">     <p align="center"><b><font size="4">Arquitectura FPGA para simulaci&oacute;n de aprovisionamiento de alimentos en colonias de hormigas artificiales</font></b></p>      <p align="center"><b><font size="3">AFPGA architecture for foraging behavior in simulation and colonies </font></b></p>         <p align="center">Cristian David Rodr&iacute;guez Rodr&iacute;guez     <br> Universidad Distrital Francisco Jos&eacute; de Caldas. Bogot&aacute;, Colombia. <a href="mailto:cridrodriguezr@correo.udistrital.edu.co">cridrodriguezr@correo.udistrital.edu.co</a> </p>       <p align="center">Miguel Alberto Melgarejo Rey    <br> Universidad Distrital Francisco Jos&eacute; de Caldas. Bogot&aacute;, Colombia.<a href="mailto: mmelgarejo@ieee.org"> mmelgarejo@ieee.org</a></p>        <p>Recibido: 15-05-2015 Modificado: 28-07-2015 Aceptado: 24-08-2015</p>  <hr>     <p><b>Resumen</b></p>      <p>Se presentan algunos resultados en relaci&oacute;n con el dise&ntilde;o y la implementaci&oacute;n de una arquitectura que soporta una plataforma experimental para simular el proceso de alimentaci&oacute;n de las colonias de hormigas. Los algoritmos Ant-system y Ant-Cycle modelan el comportamiento de las hormigas. La plataforma permite cambiar par&aacute;metros como la cantidad y la velocidad de las hormigas, la cantidad y ubicaci&oacute;n de los alimentos y el radio y la frecuencia de difusi&oacute;n de la feromona de las hormigas. Dichos par&aacute;metros se visualizan a trav&eacute;s de una interfaz VGA. La implementaci&oacute;n de hardware se lleva a cabo sobre tecnolog&iacute;a FPGA de Xilinx &copy;. La teor&iacute;a detr&aacute;s de este dise&ntilde;o considera que los comportamientos complejos pueden surgir de sistemas con una estructura simple. Este trabajo se enfrenta a la pregunta por la complejidad global emergente de un sistema cuya complejidad estructural es m&iacute;nima o inexistente.</p>       ]]></body>
<body><![CDATA[<p><b>Palabras claves:</b> colonia, FPGA, hormigas, procesador, sistemas biol&oacute;gicos. </p>       <p><b>Abstract</b></p>       <p>This paper presents some results regarding the desing and implementation of an architecture that supports an experimental platform for simulating the foraging process of ant colonies. Both the Ant-System and the Ant-Cycle algorithms model the behavior of ants. The platform allows to change parameters like the quantity and speed of ants, the amount and location of food and the ratio and difussion frequency of ant pheromone. These parameters are visualized through a VGA interface. The hardware implementation is carried outover FPGA Xilinx &copy; technology. Theory behind this design considers that complex behaviors can emerge from systems with simple structure. This work confronts the question about global complexity emerging from a system whose structural complexity is minimal or inexistent. </p>       <p><b>Keywords</b>: ants, biological systems, colony, FPGA, processor.</p>    <hr>        <p><b> 1. Introducci&oacute;n</b></p>       <p>Las colonias de hormigas son sistemas sociales inteligentes, su comportamiento emerge de la cooperaci&oacute;n entre la especie, una sola hormiga no es inteligente &#91;1&#93;. Su sistema comportamental tiene como fin la recolecci&oacute;n de alimento, para lo cual emplea un proceso de riego y detecci&oacute;n de feromona que le permite crear y mejorar trayectos de recolecci&oacute;n. Este fen&oacute;meno tiene su propia t&eacute;cnica de optimizaci&oacute;n en aplicaciones computacionales, el llamado ACO (Ant Colony Optimization) &#91;2&#93;.</p>       <p>En la actualidad los algoritmos de colonias de hormigas se han orientado hacia la soluci&oacute;n de problemas computacionales que pueden reducirse a encontrar la mejor ruta en un grafo &#91;3&#93;. Fueron inicialmente propuestos por Dorigo en 1992 &#91;4&#93; y motivo de diversas investigaciones en esta d&eacute;cada &#91;5&#93;, &#91;6&#93;. Dichos algoritmos han tenido un gran campo de aplicaci&oacute;n sobre la tecnolog&iacute;a de hardware configurable FPGA &#91;7&#93;, &#91;8&#93; debido a factores como el paralelismo del hardware, los tiempos de respuesta y la facilidad de mantenimiento &#91;9&#93;. No obstante, las actuales investigaciones se alejan un poco del estudio de las colonias enfoc&aacute;ndose en el marcado campo de la optimizaci&oacute;n de grafos.</p>       <p>El presente trabajo aborda una propuesta arquitectural de hardware y su correspondiente implementaci&oacute;n, que permite retomar el estudio de las colonias de hormigas por medio de un entorno gr&aacute;fico experimental basado en la interacci&oacute;n de hormigas artificiales. En el centrode la propuesta se encuentra que el comportamiento de una sola hormiga puede ser capturado por medio de una m&aacute;quina de estados algor&iacute;tmica a partir del algoritmo ACO Ant-Cycle System. La colonia de hormigas se concibe entonces como un conjunto de m&aacute;quinas de estado que interact&uacute;an entre s&iacute; por medio de una memoria distribuida asociada al espacio de recolecci&oacute;n de comida de las hormigas; en este sentido se estar&iacute;a hablando de una arquitectura de procesamiento con capacidades de c&oacute;mputo emergente, de ah&iacute; que sea denominado un procesador y no un emulador.</p>        <p>En esta l&iacute;nea de investigaci&oacute;n existe un modelo para emular colonias de hormigas dise&ntilde;ada sobre el software Netlogo &#91;10&#93;; sin embargo, aunque presenta varios beneficios que ser&aacute;n punto de partida en el dise&ntilde;o propuesto en el art&iacute;culo, no permite redefinir factores como la posici&oacute;n o cantidad de alimento, lo cual es un gran problema en el momento de formular experimentos. El hecho de proponer una implementaci&oacute;n hardware sobre FPGA, en vez de una software, es una gran mejora en la medida que es posible supervisar cualquier se&ntilde;al (variable) del sistema, gracias a la herramienta Scope &reg; incluida en la interfaz ISE &reg; de Xilinx &copy;   .Agregando a esto las ventajas intr&iacute;nsecas de la tecnolog&iacute;a, mencionadas anteriormente.</p>        <p>En el campo de implementaciones ACO sobre FPGA se encuentran aplicaciones similares pero orientadas a grafos &#91;6,7&#93;, la principal diferencia con respecto al desarrollo m&aacute;s reciente &#91;7&#93; es el modelo de feromona. La arquitectura propuesta en el presente art&iacute;culo permite que el rastro de feromona sea depositado, tanto en los nodos de referencia para decisi&oacute;n de movimiento <i>i</i> y <i>j</i> como en el camino intermedio entre estos nodos, a diferencia de &#91;7&#93;, en donde el rastro de feromona se deposita &uacute;nicamente sobre los nodos <i>i</i> y <i>j</i>; se inserta este modelo con el objetivo de replicar el comportamiento de la colonia de hormigas lo m&aacute;s cercano posible a la realidad &#91;15&#93;. La organizaci&oacute;n global del flujo de acciones en la ejecuci&oacute;n del algoritmo y la variante de ACO implementada coinciden para ambos desarrollos.</p>        ]]></body>
<body><![CDATA[<p>El modelamiento de colonias de hormigas se incluye dentro de la rama inteligencia de enjambres la cual ha generado un especial inter&eacute;s en aplicaciones de ingenier&iacute;a. A trav&eacute;s de los m&eacute;todos de cooperaci&oacute;n, auto organizaci&oacute;n y control descentralizado abstra&iacute;dos del comportamiento de las hormigas se han obtenido resultados y aportes en la mejora de la precisi&oacute;n en el dise&ntilde;o de sistemas difusos &#91;11&#93;, b&uacute;squeda de rutas de bajo consumo energ&eacute;tico para robots m&oacute;viles &#91;12&#93;, optimizaci&oacute;n en rutas de abastecimiento de agua para embalses de emergencia &#91;13&#93; y dise&ntilde;o de sistemas de recolecci&oacute;n de basura multi-rob&oacute;tica &#91;14&#93;.</p>        <p>En busca de soluciones a distintas aplicaciones, en el estudio de los algoritmos de hormigas se hace necesario realizar pruebas bajo un simulador. En la mayor&iacute;a de casos estas pruebas se realizan sobre mapas de grafos, los cuales son una aproximaci&oacute;n muy &uacute;til al comportamiento de las hormigas, pero distan en diferentes aspectos del comportamiento real &#91;15&#93;. El desarrollo que aqu&iacute; se presenta se muestra como una primera posibilidad de acercarse a una soluci&oacute;n para este problema.</p>        <p>El art&iacute;culo se organiza de la siguiente manera: en primer lugar se define un procesador basado en la interacci&oacute;n de ASM's que modela el flujo de decisiones y acciones de las hormigas y su entorno, luego se presenta el dise&ntilde;o de una unidad gr&aacute;fica y sus correspondientes acondicionamientos para el procesador anterior. Con estos dos procesadores trabajando en paralelo se introduce el comportamiento basado en heur&iacute;stica ACO, adapt&aacute;ndolo a los recursos disponibles en hardware. Finalmente se analizan los resultados esperados y obtenidos haciendo &eacute;nfasis en la discusi&oacute;n sobre la complejidad emergente en el sistema.</p>        <p><b>2. Modelo complejo basado en ASM's para la colonia de hormigas</b></p>        <p><b>2.1. M&aacute;quinas de estados algor&iacute;tmicas</b></p>        <p>Una Algorithmic State Machine (ASM, por sus siglas en ingl&eacute;s) se define como el conjunto de estados, transiciones, entradas y salidas que permiten modelar la din&aacute;mica de un sistema de procesamiento digital &#91;16&#93;. La ASM permite especificar la secuencia de tareas y decisiones que contiene el algoritmo soluci&oacute;n de determinado problema y se encarga de traducir el problema planteado a un diagrama de informaci&oacute;n secuencial sujeto a las condiciones de ejecuci&oacute;n. Para lograr este prop&oacute;sito divide las tareas en un n&uacute;mero finito de estados de acci&oacute;n y describe las condiciones para pasar de un estado a otro; cada estado, a excepci&oacute;n del estado inicial, debe tener un estado pasado y uno futuro, puede darse el caso en que el mismo estado sea su anterior o siguiente. En cada estado se guarda concurrencia en las operaciones realizadas, dado que contiene circuitos combinacionales y, adem&aacute;s, se guarda memoria del estado anterior, pues contiene circuitos secuenciales.</p>        <p><b>2.2. Planteamiento del problema</b></p>        <p>En una colonia de hormigas se diferencian tres grupos: reina, obreras y z&aacute;nganos. El grupo de inter&eacute;s son las obreras, espec&iacute;ficamente su proceso de recolecci&oacute;n de alimento. Las hormigas buscan alimento estoc&aacute;sticamente, seleccionan su trayectoria con base en la informaci&oacute;n de feromona contenida en el espacio de b&uacute;squeda. Las trayectorias var&iacute;an, puesto que cada una deposita feromona apoyada en su conocimiento espec&iacute;fico del entorno, es decir, la informaci&oacute;n que haya adquirido. Como resultado de este proceso, indirectamente cada hormiga puede comunicarse con las dem&aacute;s, esta comunicaci&oacute;n les permite a las hormigas ser atra&iacute;das hacia las mejores soluciones. La b&uacute;squeda eficiente se logra gracias a la intensificaci&oacute;n del camino m&aacute;s corto por la realimentaci&oacute;n positiva de la informaci&oacute;n de feromona por selecci&oacute;n estoc&aacute;stica; la realimentaci&oacute;n positiva se produce porque el camino soluci&oacute;n se refuerza de feromona m&aacute;s r&aacute;pido que los otros, al requerir un menor tiempo para ser completado. Este camino se convierte en el &uacute;nico, pasado determinado tiempo &#91;1&#93;.</p>        <p><b>2.3. Modelo basado en ASM's</b></p>        <p>Para resolver el problema, se dise&ntilde;an dos ASM. La primera modela una sola hormiga, la segunda usa la ASM anterior para cada una de las dem&aacute;s. Una ASM tipifica el cerebro de la hormiga y la otra reutiliza este cerebro para todas las hormigas de la colonia; esta propuesta requiere almacenar la informaci&oacute;n necesaria de cada hormiga, como su posici&oacute;n, direcci&oacute;n, actualizaci&oacute;n de feromona y objetivo actual en una memoria.</p>       ]]></body>
<body><![CDATA[<p><b>2.3.1. ASM para modelar el comportamiento de la hormiga obrera</b></p>        <p>En la <a href="#f1">figura 1</a>se muestra el diagrama de estados que especifica las acciones que debe realizar la hormiga obrera en el proceso de recolecci&oacute;n de alimento.</p>        <p align="center"><a name="f1"></a><img src="img/revistas/inge/v20n2/v20n2a5f1.jpg"></p>       <p>Dentro del flujo de estados se diferencian dos grupos importantes, que dependen b&aacute;sicamente de tener o no tener comida. Si la hormiga no tiene comida realiza todo el proceso de b&uacute;squeda de la misma (estados de borde rojo); en caso contrario, realiza todo el proceso de b&uacute;squeda del nido (estados de borde azul). Este dato indica qu&eacute; secuencia de acciones debe realizar la hormiga. En la ASM n&uacute;mero dos, se detallan las modificaciones realizadas para que las hormigas recolectenalimento al mismo tiempo usando una &uacute;nica m&aacute;quina de estados.</p>       <p><b>2.3.2. ASM para reutilizar el comportamiento de la hormiga obrera</b></p>        <p>Para reutilizar el diagrama de la figura 1 en todas las hormigas, se modifica el flujo de acciones agrupando los estados de igual color, si la hormiga tiene comida realiza el flujo de estados de color rojo &uacute;nicamente y en caso contrario el flujo de estados de color azul. Se agregan estados que admiten que cada una de las hormigas obreras pueda realizar una &uacute;nica acci&oacute;n simult&aacute;neamente. Esto permite, dada la velocidad con que funciona el ASM, crear la sensaci&oacute;n de que todas trabajan simult&aacute;neamente; el selector de hormigas hace que pase hormiga por hormiga y realice su correspondiente acci&oacute;n, cuando cada hormiga haya realizado alguno de los flujos de acciones, se procede a deteriorar el rastro de feromona, si es que existe, y se entra en un bucle de espera, en seguida se reinicia el proceso, actualizando la informaci&oacute;n almacenada de cada hormiga.</p>      <p>El diagrama propuesto para modelar la segunda ASM se presenta en la <a href="#f2">figura 2</a>.</p>      <p align="center"><a name="f2"></a><img src="img/revistas/inge/v20n2/v20n2a5f2.jpg"></p>      <p><b>2.4. Acondicionamiento de las acciones b&aacute;sicas de la hormiga para la interfazgr&aacute;fica</b></p>      <p>A continuaci&oacute;n se describen los dise&ntilde;os realizados para crear la interfaz gr&aacute;fica de la hormiga, que se puede observar en &#91;21 y 22&#93;.</p>      ]]></body>
<body><![CDATA[<p>A fin de generar la interfaz gr&aacute;fica se crea una matriz 256 X 256 que se visualiza en pantalla y tiene diecis&eacute;is colores posibles por elemento de la matriz. La colonia se ubica en el centro del entorno, el lugar de la comida es aleatorio y se actualiza su cantidad a medida que se desabastece el entorno. </p>      <p>En la <a href="#f3">figura 3.a</a>. se evidencia que toda hormiga dentro de esta matriz 256 X 256 tiene coordenada X, Y, que permite conocer su ubicaci&oacute;n y una direcci&oacute;n de ocho posibles. La gr&aacute;fica de la hormiga se forma por cuatro tonalidades de rojo.</p>      <p align="center"><a name="f3"></a><img src="img/revistas/inge/v20n2/v20n2a5f3.jpg"></p>      <p>En la <a href="#f3">figura 3.b</a>. se pone de manifiesto que para realizar un movimiento la hormiga elige entre tomar la misma direcci&oacute;n, siguiente o anterior en la secuencia. Con el prop&oacute;sito de elegir la nueva coordenada se le suma a la actual el valor necesario para ir en la direcci&oacute;n seleccionada; por ejemplo, si su direcci&oacute;n es 0 puede tomar direcci&oacute;n 0, 1 o 7 afectando las coordenadas por la suma vectorial de la actual y (-6,0) para direcci&oacute;n 0 (-6, 3) para direcci&oacute;n 7 o (-6,-4) para direcci&oacute;n 1.</p>      <p>Al encontrar alimento inicia un proceso de regreso a la colonia. Conoce con cierto margen de error la posici&oacute;n de su colonia, se ubica en direcci&oacute;n a ella y toma caminos que le permitan llegar lo m&aacute;s r&aacute;pido posible.</p>      <p>En la <a href="#f3">figura3.c</a>.se ve que en paralelo al proceso anterior la hormiga debe depositar el rastro de feromona. La feromona se forma por ocho tonalidades, que van desde el blanco hasta el negro, pasando por matices de verde. Para generar la gr&aacute;fica, se re&uacute;sa la forma de la hormiga, cambiando las cuatro tonalidades de rojo por las cuatro tonalidades m&aacute;s cercanas al blanco de la feromona. Para degradar el rastro, cada dos movimientos en la colonia de hormigas, se cambia la tonalidad de los pixeles con feromona al inferior en secuencia de blanco a negro,de tal manera que luego de doce movimientos de la hormiga desaparezca por completo el rastro dejado inicialmente en un movimiento.</p>      <p>En el proceso de detecci&oacute;n de feromona, <a href="#f3">figura 3.d</a>., se considera un campo de visi&oacute;n para la hormiga de aproximadamente el doble de su tama&ntilde;o, en la direcci&oacute;n de su movimiento. La zona con mayor concentraci&oacute;n de feromona se elige como nueva direcci&oacute;n actualizando la coordenada de ubicaci&oacute;n, como se detall&oacute; anteriormente.</p>       <p><b>2.5. Metaheur&iacute;stica ACO</b></p>      <p>La Metaheur&iacute;stica ACO est&aacute; inspirada en la observaci&oacute;n del comportamiento de hormigas reales consider&aacute;ndose un algoritmo de inteligencia colectiva, estos algoritmos se hallan compuestos de individuos simples que cooperan sin ninguna forma de control directo a trav&eacute;s de la auto-organizaci&oacute;n &#91;2&#93;.</p>      <p>El componente central de un algoritmo ACO es el modelo de feromona. Las hormigas artificiales construyen unasoluci&oacute;n para elproblema de recolecci&oacute;n en elentorno, llamado grafo de construcci&oacute;n; dicho grafo se encuentra formado por un conjunto de v&eacute;rtices y arcos, las hormigas se mueven de un v&eacute;rtice a otro a lo largo de los arcos del grafo construyendo incrementalmente una soluci&oacute;n parcial. En estos desplazamientos depositan una cierta cantidad de feromona sobre los arcos y v&eacute;rtices que han visitado, la cantidad de feromona depositada puede depender de la calidad de la soluci&oacute;n encontrada.</p>      ]]></body>
<body><![CDATA[<p>Entre los principales algoritmos ACO disponibles se encuentran Ant System, MAX-MIN Ant System y Ant Colony System. Se hace uso del modelo Ant System puesto que provee un mayor acercamiento al comportamiento de una colonia de hormigas que a la modelaci&oacute;n de problemas de optimizaci&oacute;n combinatoria; Ant System presenta tres variantes que distan en la manera de actualizar los rastros de feromona, se escoge Ant-Cycle porque a diferencia a los otros dos deposita feromona luego de encontrar una soluci&oacute;n y no en la b&uacute;squeda de esta &#91;17,18&#93;.</p>      <p>En AS k hormigas buscan una trayectoria soluci&oacute;n concurrentemente. La hormiga k aplica una regla de elecci&oacute;n de acci&oacute;n estoc&aacute;stica para decidir cu&aacute;l debe ser su siguiente movimiento o v&eacute;rtice a visitar, la probabilidad con la cual dicha hormiga, estando en el v&eacute;rtice <i>i,</i> elige visitar el v&eacute;rtice <i>j</i> es:</p>      <p align="center"><a name="e1"></a><img src="img/revistas/inge/v20n2/v20n2a5e1.jpg"></p>      <p>Los par&aacute;metros &alpha; y &beta; establecen la importancia relativa de los rastros de feromona y de la informaci&oacute;n heur&iacute;stica respectivamente. Los N<sup>k</sup><sub>i</sub> corresponden a los v&eacute;rtices que puede visitar la hormiga.</p>      <p>Adem&aacute;s, <i>&eta;<sub>i,j</sub></i> corresponde al inverso de la distancia entre <i>i</i> y <i>j</i> un valor heur&iacute;stico disponible a priori. </p>      <p align="center"><a name="e2"></a><img src="img/revistas/inge/v20n2/v20n2a5e2.jpg"></p>      <p>La informaci&oacute;n de feromona se deposita una vez que todas las hormigas han hallado alguna fuente de alimento, el rastro de feromona global se evapora y se actualiza como sigue:</p>      <p align="center"><a name="e3"></a><img src="img/revistas/inge/v20n2/v20n2a5e3.jpg"></p>      <p>Donde <i>p</i> corresponde a la tasa de evaporaci&oacute;n. La cantidad de feromona que la hormiga <i>k</i> deposita en su recorrido de regreso a la colonia desde la fuente de alimentaci&oacute;n se define como: </p>      <p align="center"><a name="e4"></a><img src="img/revistas/inge/v20n2/v20n2a5e4.jpg"></p>      ]]></body>
<body><![CDATA[<p>Donde <i>Q</i> es una constante y <i>L<sub>k</sub></i> es la longitud del recorrido realizado por dicha hormiga.</p>      <p><b>2.6. Modelo con acondicionamiento ACO (algoritmo ACO orientado a hardware)</b></p>      <p>El algoritmo ACO introducido debe ser acondicionado para los requerimientos de la implementaci&oacute;n hardware.</p>      <p>Una hormiga solo puede escoger entre tres nuevas posiciones, si la nueva posici&oacute;n est&aacute; en la misma direcci&oacute;n y se denota esta distancia como 1, las otras dos posiciones estar&aacute;n a una distancia &radic;2 de la actual, como se muestra en la <a href="#f4">figura 4</a>.</p>      <p align="center"><a name="f4"></a><img src="img/revistas/inge/v20n2/v20n2a5f4.jpg"></p>     <p align="center"><a name="2"></a><img src="img/revistas/inge/v20n2/v20n2a5e5.jpg"></p>      <p>Los valores t&iacute;picos de &alpha; y &beta; se encuentran entre 1 y 5, para este caso se escoge 1 para &alpha; y 4 para &beta;. Estos son los valores que mejor se acomodan a las iteraciones experimentales, adem&aacute;s, un valor par para &beta; facilita la implementaci&oacute;n en hardware. De esta manera la ecuaci&oacute;n para escoger la nueva posici&oacute;n de la hormiga ser&aacute;.</p>      <p align="center"><a name="e6"></a><img src="img/revistas/inge/v20n2/v20n2a5e6.jpg"></p>      <p>Para poder almacenar estas probabilidades en registros se multiplica por cien al denominador de cada expresi&oacute;n, antes de realizar la divisi&oacute;n. Se almacena el valor entero. <i>P<sup>k</sup><sub>(0,1)</sub> </i>representa la probabilidad de que la hormiga <i>k</i> genere su movimiento en la direcci&oacute;n anterior en la secuencia a la que lleva actualmente,<i>P<sup>k</sup><sub>(0,2)</sub> </i>en la misma direcci&oacute;n y <i>P<sup>k</sup><sub>(0,3)</sub> </i>en la direcci&oacute;n siguiente en la secuencia. La informaci&oacute;n de feromona se recolecta sumando pixel a pixel la intensidad de los rastros contenidos en cada una de las zonas delimitadas por <i>i</i> y <i>j</i>.</p>      <p>Para depositar y deteriorar el rastro de feromona se debe tener en cuenta que esta operaci&oacute;n se realiza pixel a pixel, no se eval&uacute;a la expresi&oacute;n del nodo <i>i</i> al nodo <i>j</i> sino puntualmente en cada coordenada <i>(x,y)</i> que se vea afectada en el proceso. En el caso puntual de depositar, las coordenadas <i>(x,y)</i> que se ven afectadas se encuentran entre los nodos <i>i</i> y <i>j</i>, para el caso de deteriorar se afecta a la matriz en general. Como se detalla en la secci&oacute;n 2.4 un rastro de feromona puede tener ocho niveles diferentes; las ecuaciones que rigen el cambio de estos niveles al depositar y deteriorar respectivamente, se enuncian a continuaci&oacute;n.</p>      ]]></body>
<body><![CDATA[<p align="center"><a name="e9"></a><img src="img/revistas/inge/v20n2/v20n2a5e9.jpg"></p>      <p><i>N<sub>Tx,y</sub></i> representa el nivel de feromona contenido en el pixel con coordenada <i>x,y</i>.La hormiga <i>k</i> deposita inicialmente un rastro de feromona en el cual <i>N<sub>Tx,y</sub> = 2</i>. Se considera un pixel saturado si el nivel de intensidad en este llega a ocho, puesto que a partir de este nivel no se detecta el crecimiento en la informaci&oacute;n de feromona. En el ajuste que se realiza al algoritmo para su implementaci&oacute;n hardware se debe sacrificar el crecimiento lineal o el decrecimiento exponencial de feromona por la limitaci&oacute;n de recursos. Las iteraciones, demuestran que el decrecimiento lineal de feromona permite encontrar rutas &oacute;ptimas, adem&aacute;s de requerir un tama&ntilde;o en los registros considerablemente inferior al de la segunda opci&oacute;n. Por tal raz&oacute;n, se considerar&aacute; para efectos pr&aacute;cticos que la feromona crece y decrece linealmente. Adem&aacute;s, para controlar la velocidad de decrecimiento de la feromona, se deteriora el rastro de feromona cada tres movimientos de las hormigas de la colonia.</p>       <p><b>3. Desarrollo en hardware</b></p>      <p>En esta secci&oacute;n se especifican las etapas mediante las cuales se implementa la ASM sobre el hardware. En la implementaci&oacute;n se debe crear un entorno gr&aacute;fico por medio del cual se evidencie el proceso de recolecci&oacute;n de alimento. El dise&ntilde;o requiere un procesador gr&aacute;fico y algunos circuitos auxiliares.</p>      <p><b>3.1. Descripci&oacute;n general</b></p>      <p>En la <a href="#f5">figura 5</a> se muestra la arquitectura del circuito que simula la colonia de hormigas, este permite la interacci&oacute;n entre el procesador de hormigas, el procesador gr&aacute;fico y perif&eacute;ricos de entrada y salida. El circuito cuenta con tres memorias RAM; la RAM en bloque empotrada permite fraccionar el total de su capacidad en un considerable n&uacute;mero de memorias de menor tama&ntilde;o. Usar tres memorias facilita el flujo de informaci&oacute;n de una a otra (en menos ciclos de reloj que si fuera solo una memoria) y manejar tama&ntilde;os diferentes para almacenar dicha informaci&oacute;n (seg&uacute;n se requiera).</p>      <p align="center"><a name="f5"></a><img src="img/revistas/inge/v20n2/v20n2a5f5.jpg"></p>      <p>El procesador necesita un reloj (clk) externo ya que ha sido modelado con m&aacute;quinas de estados, se agregan pulsadores para iniciar y resetear el circuito, el prop&oacute;sito general es controlar un display VGA. La se&ntilde;al RGB representa los colores mientras que Hsync y Vsync permiten la sincronizaci&oacute;n con el display VGA, los LED permiten supervisar la cantidad de alimento disponible en el entorno para ser recolectada por las hormigas.</p>      <p><b>3.2. Procesador de hormigas</b></p>      <p>El procesador de hormigas tiene como prop&oacute;sito escribir la memoria RAM gr&aacute;fica utilizando dos memorias RAM auxiliares, vali&eacute;ndose de un generador de n&uacute;meros pseudo-aleatorios para tomar ciertas decisiones. La memoria gr&aacute;fica auxiliar hace peque&ntilde;os backups de la memoria gr&aacute;fica, seg&uacute;n se requiera, esta memoria cuenta con 128 posiciones con una longitud por posici&oacute;n de 4 bits, RAM 128X4. La memoria de hormigas permite guardar informaci&oacute;n caracter&iacute;stica de cada hormiga en 32 posiciones de una longitud porposici&oacute;n de 39 bits, RAM 32X39. Se abastece de alimento el entorno cuando la cantidad disponible de este es cero, se agregan componentes que permiten visualizar la colonia de hormigas y sus interacciones. El controlador de acciones decide el orden de operaci&oacute;n del controlador de hormigas, selector de posici&oacute;n, generador de gr&aacute;fica de la hormiga, controlador de alimento y controlador de feromona. El temporizador permite definir y ajustar el tiempo de duraci&oacute;n de un movimiento de las hormigas mediante un bucle de espera. Si no se ajusta esta velocidad, el proceso ser&iacute;a imperceptible visualmente, todo el proceso es sincr&oacute;nico.</p>      ]]></body>
<body><![CDATA[<p>La<a href="#f6"> figura 6</a> muestra el diagrama de bloques del generador de hormigas.</p>      <p align="center"><a name="f6"></a><img src="img/revistas/inge/v20n2/v20n2a5f6.jpg"></p>      <p><b>3.3. Circuitos auxiliares</b></p>      <p>Se dise&ntilde;a un procesador gr&aacute;fico para controlar la pantalla VGA, se utiliza la t&eacute;cnica de visualizaci&oacute;n din&aacute;mica. El GPU est&aacute; formado por tres componentes b&aacute;sicos: el controlador VGA, la unidad gr&aacute;fica y la memoria RAM de doble puerto &#91;12&#93;. Permite visualizar diecis&eacute;is colores en pantalla. Adicionalmente se dise&ntilde;a un generador de n&uacute;meros pseudoaleatorios,que a diferencia de los aleatorios se repiten cada determinado periodo, este generador produce una secuencia de 256 n&uacute;meros, el generador de hormigas los toma en orden diferente y aleatorio.</p>       <p><b>4. Resultados</b></p>      <p><b>4.1. Circuitales</b></p>      <p>Para validar la herramienta propuesta se configura la FPGA por medio del lenguaje de alto nivel definido por el IEEE, VHDL (Very-High-Speed Integrated Circuits Hardware Description Language).Se formula un experimento en el cual interact&uacute;an 32 hormigas en la b&uacute;squeda de fuentes de alimento con posici&oacute;n variable; implementar el circuito propuesto demanda los recursos presentados en la <a href="#t1">tabla I</a>.</p>      <p align="center"><a name="t1"></a><img src="img/revistas/inge/v20n2/v20n2a5t1.jpg"></p>      <p>Como se puede observar en la <a href="#t1">tabla I</a> el uso de recursos de la FPGA es m&iacute;nimo, exceptuando la memoria RAM a causa del procesador gr&aacute;fico (GPU), quien utiliza casi por completo este recurso. A pesar de la complejidad del circuito dise&ntilde;ado se logra implementar usando unidades b&aacute;sicas como Slices, Flip Flops, Luts, IOBs y memoria RAM; este hecho hace a&uacute;n m&aacute;s evidente la gran ventaja que conlleva usar circuitos l&oacute;gicos programables para dise&ntilde;ar procesadores. La implementaci&oacute;n sobre FPGA tiene serias limitaciones de tama&ntilde;o en memoria RAM, para solucionarlo se debe pensar en utilizar memorias externas incluidas en m&oacute;dulos de desarrollo o acopladas de forma manual cuando se requiera modelar colonias de mayor tama&ntilde;o (escalar el sistema).</p>      <p>Los datos descritos en la <a href="#t2">tabla II</a> son v&aacute;lidos bajo experimentos sobre una colonia conformada por 32 miembros, que realiza cinco movimientos por segundo. Considerando que el circuito realiza un movimiento de las hormigas y actualizaci&oacute;n del rastro de feromona en aproximadamente 1.7 mili segundos, el procesador de hormigas est&aacute; inactivo el 99.15% del tiempo de implementaci&oacute;n para los experimentos propuestos.</p>      ]]></body>
<body><![CDATA[<p align="center"><a name="t2"></a><img src="img/revistas/inge/v20n2/v20n2a5t2.jpg"></p>      <p>El tiempo de s&iacute;ntesis, implementaci&oacute;n y generaci&oacute;n del archivo de programaci&oacute;n para la FPGA no supera los dos minutos, procesos que se llevan a cabo en el entorno de desarrollo ISE &reg; Web Pack. La configuraci&oacute;n del dispositivo de destino se realiza en la herramienta iMPACT &reg; de Xilinx &copy;. </p>      <p>En la <a href="#t3">tabla III</a> se presenta una comparaci&oacute;n entre las principales caracter&iacute;sticas de la herramienta Netlogo y el procesador de hormigas. Una distinci&oacute;n inmediata de estos datos, es que el procesador es capaz de realizar modificaciones referentes a la posici&oacute;n y cantidad de alimento en el entorno.</p>      <p align="center"><a name="t3"></a><img src="img/revistas/inge/v20n2/v20n2a5t3.jpg"></p>      <p>Los valores asociados a la variaci&oacute;n en la cantidad de hormigas y los movimientos por segundo de estas son inversamente proporcionales, es decir, si uno de los dos se configura en su m&aacute;ximo valor el otro se situar&aacute; en el valor inicial de escalamiento; para el experimento propuesto, 32 hormigas y 5 movimientos por segundo, dicha dependencia se puede aproximar a la siguiente ecuaci&oacute;n:</p>      <p align="center"><a name="e11"></a><img src="img/revistas/inge/v20n2/v20n2a5e11.jpg"></p>      <p>Donde <i>k</i> representa el n&uacute;mero de hormigas en la colonia y <i>y</i> el m&aacute;ximo n&uacute;mero de movimientos que las <i>k</i> hormigas pueden realizar en un segundo.</p>      <p><b>4.2. C&oacute;mputo emergente: una aproximaci&oacute;n hacia la complejidad</b></p>      <p>Funcionalmente el procesador dise&ntilde;ado replica correctamente las caracter&iacute;sticas principales del proceso de recolecci&oacute;n de alimento en una colonia de hormigas en una interfaz gr&aacute;fica de resoluci&oacute;n 256X256 &#91;19&#93;. En este sentido el procesador logra recrear la din&aacute;mica emergente de un sistema complejo sobre la base de una arquitectura computacional relativamente sencilla dados los costos de la implementaci&oacute;n FPGA, podr&iacute;a entonces pensarse en escalar este sistema a la implementaci&oacute;n de colonias m&aacute;s grandes. El crecimiento de recursos del procesador en la medida que la colonia se hace m&aacute;s grande solo afectar&iacute;a el tama&ntilde;o de las memorias RAM, especialmente la gr&aacute;fica, tal crecimiento en la cantidad de recursos demandados obedecer&iacute;a una relaci&oacute;n exponencial decreciente y para colonias m&aacute;s grandes casi que no ser&iacute;a notoria, as&iacute; que la apreciaci&oacute;n sobre la emergencia de comportamiento y simplicidad arquitectural no se ve limitada al caso particular aqu&iacute; tratado.</p>      <p>El procesador modela la sucesi&oacute;n de acciones para cada hormiga y el entorno en el cual estas se desarrollan. Como se analizaba en la secci&oacute;n 3, se espera que la interacci&oacute;n de estas acciones a trav&eacute;s de la informaci&oacute;n de feromona, den lugar al proceso de recolecci&oacute;n de alimento; el proceso demuestra auto-organizaci&oacute;n, como se evidencia en la <a href="#f7">figura 7</a>, en un principio las hormigas vagan desorientadas y la primera fuente de alimento que hallan se desabastece exponencialmente, as&iacute; con las otras tres, una a una, al acabarse la comida e introducirse una nueva fuente de esta, se repite el proceso de desabastecimiento exponencial. La aproximaci&oacute;n al decrecimiento y actualizaci&oacute;n de la informaci&oacute;n de feromona no afecta la creaci&oacute;n de caminos &oacute;ptimos entre la colonia y las fuentes de alimento. La selecci&oacute;n heur&iacute;stica de las  nuevas posiciones permite a las hormigas localizar r&aacute;pidamente las fuentes de alimento encontradas por compa&ntilde;eras, en la implementaci&oacute;n es posible variar el n&uacute;mero de hormigas en la colonia desde 1 hasta 32. La cantidad de alimento recolectado en un tiempo determinado crece exponencialmente conforme a la cantidad de hormigas que est&eacute;n involucradas en el proceso, tales fen&oacute;menos son totalmente emergentes y es comprobable experimentalmente con colonias reales &#91;19&#93;.</p>      ]]></body>
<body><![CDATA[<p align="center"><a name="f7"></a><img src="img/revistas/inge/v20n2/v20n2a5f7.jpg"></p>      <p><b>5. Conclusiones y expectativas futuras</b></p>      <p>Se ha presentado un procesador de prop&oacute;sito espec&iacute;fico que permite desarrollar experimentos sobre el proceso de recolecci&oacute;n de alimento en una colonia de hormigas evidenciable gr&aacute;ficamente por medio de una pantalla VGA. El acondicionamiento aplicado al algoritmo Ant-Cycle System para su implementaci&oacute;n sobre FPGA permiti&oacute; describir correctamente el comportamiento de una colonia de hormigas, comprobando as&iacute; el uso de la feromona para encontrar el camino m&aacute;s corto hacia los alimentos y la rapidez con la que se abastece la colonia luego de que una hormiga encuentra alimento por primera vez &#91;19&#93;.</p>      <p>Se demuestra entonces que un sistema estructuralmente sencillo, dado los recursos necesarios para su implementaci&oacute;n sobre FPGA (tabla I), es capaz de simular la complejidad del proceso de recolecci&oacute;n de alimento de una colonia de hormigas. El hardware configurable facilita el dise&ntilde;o e implementaci&oacute;n puesto que permite definir el tama&ntilde;o de los registros y operadores.</p>      <p>Como se muestra en la tabla III, el procesador dise&ntilde;ado supone una mejora en el campo de simulaciones de colonias de hormigas con respecto a la herramienta de Netlogo &#91;10&#93;, en la medida en que permite variar una cantidad superior de par&aacute;metros en la formulaci&oacute;n de experimentos y supervisar una cantidad superior de variables en su implementaci&oacute;n.</p>      <p>El desarrollo del trabajo utiliza dos procesadores en paralelo requiriendo as&iacute; el uso de una memoria RAM de doble puerto. Para pensar en un escalamiento bajo el mismo kit de desarrollo una opci&oacute;n ser&iacute;a operar estos dos procesadores en serie. Un m&oacute;dulo adicional se encargar&iacute;a de dar acceso a memoria al uno u otro y de esta manera poder utilizar una memoria RAM de puerto &uacute;nico, el kit de desarrollo utilizado incluye una memoria DDR2 SDRAM de 512Mbit (32M x 16) la cual ser&iacute;a usada para reemplazar la memoria distribuida interna de la FPGA. Lo anterior o solucionar&iacute;a la limitaci&oacute;n en memoria RAM de la implementaci&oacute;n realizada permitiendo escalar de una matriz gr&aacute;fica 256 x 256 a 4096 x4096 (un campo de experimentos 256 veces m&aacute;s grande que el actual) y de almacenar diecis&eacute;is datos posibles a 65536.</p>      <p>Un estudio interesante que podr&iacute;a desprenderse, ser&iacute;a realizar el proceso propuesto agregando un depredador en el entorno, puesto que las hormigas deber&iacute;an encontrar una ruta a la comida evitando a dicho depredador. Esta variaci&oacute;n en el entorno aumentar&iacute;a la complejidad del proceso de recolecci&oacute;n de alimento. </p>      <p>Otra idea podr&iacute;a orientarse a la competencia entre hormigas, m&aacute;s exactamente entre diversas especies (el presente art&iacute;culo solo se trat&oacute; el tema de cooperaci&oacute;n). Existen especies de hormigas esclavistas, que en competencia con otras especies buscan no solo eliminar sino, si es posible, subyugar a otras para su colonia. En la lucha por abastecerse de alimento, cada especie desarrolla estrategias para sobrevivir, fen&oacute;meno que permite un an&aacute;lisis de las colonias en su rol de competencia.</p>      <p>Una v&iacute;a de investigaci&oacute;n alternativa puede referirse a la comparaci&oacute;n entre algoritmos de colonias de hormigas y algoritmos gen&eacute;ticos. Si se trata a la colonia de hormigas como un problema de optimizaci&oacute;n combinacional ser&iacute;a posible un eventual modelamiento bajo un algoritmo gen&eacute;tico, de esta manera se avanzar&iacute;a en la descripci&oacute;n del comportamiento de las hormigas. La aplicaci&oacute;n es viable en la medida en que los algoritmos de hormigas a&uacute;n tienen muchos vac&iacute;os en la descripci&oacute;n del comportamiento global. Por ejemplo, para este tipo de algoritmos a&uacute;n no existe una directriz clara de c&oacute;mo las hormigas vuelven a la colonia. Esta iniciativa tendr&iacute;a como soporte las investigaciones realizadas en &#91;20&#93;.</p>  <hr>     <p><b>Referencias</b></p>      ]]></body>
<body><![CDATA[<!-- ref --><p>1. Patricia J. Folgarait y Alejandro G. Farji-brener, Un mundo de hormigas. 1a edici&oacute;n, Buenos Aires, Argentina, 2005, pp. 15-18.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168332&pid=S0121-750X201500020000600001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>2.  M. Dorigo, Marco Birattari and Thomas Stutzle, University Libre Bruxelles, Belgium, "Ant Colony Optimization, Artificial Ants as a Computational Intelligence Technique", IEEE Computational Intelligence Magazine, Vol. 1, No.4, November, 2006.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168334&pid=S0121-750X201500020000600002&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>3.  S. Das, S. Vaze, G.Singh and E., Buehler, University Libre Bruxelles, Belgium, "Ant Colony Optimization, Artificial Antsasa Computational Intelligence Technique ", IEEE Computational Intelligence Magazine, Vol.1, No.4, November, 2006, pp. 28-39.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168336&pid=S0121-750X201500020000600003&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       <!-- ref --><p>4. M.Dorigo. Optimization, Learning and Natural Algorithms.PhD thesis, Dipartimento di Elettronica, Politecnico di Milano, Milan, 1992.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168338&pid=S0121-750X201500020000600004&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>5. Xiang-yang Deng, Wen-long Yu and Li-min Zhang, A new ant colony optimization with global exploring capability and rapid convergence. Intelligent Control and Automation (WCICA), 2012, 10th World Congress on IEEE, July, 2012, pp. 2055-2057.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168340&pid=S0121-750X201500020000600005&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       ]]></body>
<body><![CDATA[<!-- ref --><p>6.  H.Y. Markid, B.Z. Dadaneh and M.E. Moghaddam, Bidirectional ant colony optimization for feature selection. Artificial Intelligence and Signal Processing (AISP), 2015 International Symposiumon. IEEE, March, 2015, pp. 53-58.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168342&pid=S0121-750X201500020000600006&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       <!-- ref --><p>7.  Li, Shih-An, Yang, Min-Hao, Weng, Chung-Wei, Chen Yi-Hong, Lo Chia-Hung and Wong Ching-Chang, Ant colony optimization algorithm design and its FPGA implementation. Intelligent Signal Processing and Communications Systems (ISPACS), 2012 International Symposium on. IEEE, November 2012, pp. 262-265.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168344&pid=S0121-750X201500020000600007&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>8.  Huang, Hsu-Chih and A Taguchi-Based, Heterogeneous Parallel Metaheuristic ACO-PSO and Its FPGA Realization to Optimal Polar-Space Locomotion Control of Four-Wheeled Redundant Mobile Robots. Industrial Informatics, IEEE Transactions on. 2015, pp. 1-8.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168346&pid=S0121-750X201500020000600008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>9.  Clive Max Maxfield, FPGAs: Instant Access, Elsevier, 2008, 1-12.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168348&pid=S0121-750X201500020000600009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>10.  U. Wilensky, NetLogo, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL, 1999, disponible en: <a href="http://ccl.northwestern.edu/netlogo/" target="_blank">http://ccl.northwestern.edu/netlogo/</a>.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168350&pid=S0121-750X201500020000600010&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       ]]></body>
<body><![CDATA[<!-- ref --><p>11.  Chia-Feng Juang, Chi-Wei Hung and Chia-Hung Hsu, Rule-Based Cooperative Continuous Ant Colony Optimization to Improve the Accuracy of Fuzzy System Design. Fuzzy Systems, IEEE Transactions on. IEEE,, Volumen, 22, Edici&oacute;n 4, August, 2014, pp. 723-735.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168352&pid=S0121-750X201500020000600011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       <!-- ref --><p>12. O.Wongwirat and A.Anuntachai, Search ingenergy-efficient route for mobile robot with ant algorithm. Control, Automation and Systems (ICCAS), 2011, 11th International Conference on. IEEE, August, 2011, pp. 10711075.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168354&pid=S0121-750X201500020000600012&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>13.  Du Xiang-run, Zhang Jian-long and Feng Min-quan, Water supply route optimization for reservoir emergency based on improved ant colony algorithm, Control and Decision Conference (2014 CCDC), The 26th Chinese. IEEE. June, 2014, pp. 1354-1359.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168356&pid=S0121-750X201500020000600013&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       <!-- ref --><p>14. D.O. Sales, M. A. Dias and F. S. Osorio, Grid Ant Colony Optimization Applied to a Multi-robotic Garbage Collection System. Robotics: SBR-LARS Robotics Symposium and Robocontrol (SBR LARS Robocontrol), Joint Conference on. IEEE, October, 2014, pp. 187 - 192.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168358&pid=S0121-750X201500020000600014&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>15.  Xing Wei, Zhiyuan Li, Jingjing Qu. Research on parameters optimization and simulation of the Ant Colony Algorithm. Cyberspace Technology (CCT 2014), International Conference on. IEEE. 2014. P&aacute;ginas: 1 - 4.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168360&pid=S0121-750X201500020000600015&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       ]]></body>
<body><![CDATA[<!-- ref --><p>16.  S. Brown, Fundamentos de l&oacute;gica digital con dise&ntilde;o VHDL, 2a edici&oacute;n, McGraw Gil, Ciudad de M&eacute;xico, M&eacute;xico, 2006, Cap 10, sec 10.2.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168362&pid=S0121-750X201500020000600016&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       <!-- ref --><p>17.  Jinbiao Wang and Kaichi Wang, Union-Intersection Ant System. Theories and Applications (BIC-TA), 2010 IEEE, Fifth International Conference on. IEEE, September, 2010, pp. 364-371.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168364&pid=S0121-750X201500020000600017&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>18.  M. Dorigo, V. Maniezzo, and A. Colorni. Ant system: Optimization by a colony of cooperating agents, IEEE Transactions on Systems, Man, and Cybernetics-Part B, 26(1):29-41, 1996.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168366&pid=S0121-750X201500020000600018&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       <!-- ref --><p>19.   J.-L.Deneubourg,S.Aron,S.Goss,andJ.M.Pasteels.Theself-organizing exploratory pattern of the argentine ant, Journal of Insect Behavior, 3(2), 1990, pp. 159-168.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168368&pid=S0121-750X201500020000600019&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> </p>       <!-- ref --><p>20.  Sergio Rojas Galeano, Optimizaci&oacute;n de rutas mediante computaci&oacute;n bioinspirada, un paralelo entre hormigas artificiales y algoritmos gen&eacute;ticos, Revista de Ingenier&iacute;a Universidad Distrital Francisco Jos&eacute; de Caldas, Vol. 7, N&uacute;m. 14, 2004, pp. 97-104.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168370&pid=S0121-750X201500020000600020&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p>       ]]></body>
<body><![CDATA[<!-- ref --><p>21. Funcionamiento   de la colonia de hormigas, S.f., disponible en: <a href="https://www.dropbox.com/s/tt7dk57yo47gfks/Evidencia%20colonia%20hormigas.AVI?dl=0">https://www.dropbox.com/s/tt7dk57yo47gfks/Evidencia     colonia hormigas.AVI?dl=0</a>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168372&pid=S0121-750X201500020000600021&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><!-- ref --><p>22. Archivos de descripci&oacute;n VHD para cada componente circuital del proyecto, S.f., disponible en: <a href="https://www.dropbox.com/s/jf9x3npcc9gt3vv/proyecto colonia hormigas.rar?dl=0" target="_blank">https://www.dropbox.com/s/jf9x3npcc9gt3vv/proyecto colonia hormigas.rar?dl=0</a>.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=6168373&pid=S0121-750X201500020000600022&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --></p> </font>      ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Folgarait]]></surname>
<given-names><![CDATA[Patricia J.]]></given-names>
</name>
<name>
<surname><![CDATA[Farji-brener]]></surname>
<given-names><![CDATA[Alejandro G.]]></given-names>
</name>
</person-group>
<source><![CDATA[Un mundo de hormigas]]></source>
<year>2005</year>
<edition>1</edition>
<page-range>15-18</page-range><publisher-loc><![CDATA[Buenos Aires ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dorigo]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Birattari]]></surname>
<given-names><![CDATA[Marco]]></given-names>
</name>
<name>
<surname><![CDATA[Stutzle]]></surname>
<given-names><![CDATA[Thomas]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[University Libre Bruxelles, Belgium, "Ant Colony Optimization, Artificial Ants as a Computational Intelligence Technique]]></article-title>
<source><![CDATA[IEEE Computational Intelligence Magazine]]></source>
<year>Nove</year>
<month>mb</month>
<day>er</day>
<volume>1</volume>
<numero>4</numero>
<issue>4</issue>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Das]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Vaze]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Singh]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Buehler]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[University Libre Bruxelles, Belgium, "Ant Colony Optimization, Artificial Antsasa Computational Intelligence Technique]]></article-title>
<source><![CDATA[IEEE Computational Intelligence Magazine]]></source>
<year>Nove</year>
<month>mb</month>
<day>er</day>
<volume>1</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>28-39</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dorigo]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<source><![CDATA[Optimization, Learning and Natural Algorithms]]></source>
<year>1992</year>
</nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Deng]]></surname>
<given-names><![CDATA[Xiang-yang]]></given-names>
</name>
<name>
<surname><![CDATA[Yu]]></surname>
<given-names><![CDATA[Wen-long]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[Li-min]]></given-names>
</name>
</person-group>
<source><![CDATA[A new ant colony optimization with global exploring capability and rapid convergence. Intelligent Control and Automation (WCICA)]]></source>
<year>July</year>
<month>, </month>
<day>20</day>
<page-range>2055-2057</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Markid]]></surname>
<given-names><![CDATA[H.Y]]></given-names>
</name>
<name>
<surname><![CDATA[Dadaneh]]></surname>
<given-names><![CDATA[B.Z]]></given-names>
</name>
<name>
<surname><![CDATA[Moghaddam]]></surname>
<given-names><![CDATA[M.E]]></given-names>
</name>
</person-group>
<source><![CDATA[Bidirectional ant colony optimization for feature selection]]></source>
<year>Marc</year>
<month>h,</month>
<day> 2</day>
<page-range>53-58</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Shih-An]]></surname>
<given-names><![CDATA[Li]]></given-names>
</name>
<name>
<surname><![CDATA[Min-Hao]]></surname>
<given-names><![CDATA[Yang]]></given-names>
</name>
<name>
<surname><![CDATA[Chung-Wei]]></surname>
<given-names><![CDATA[Weng]]></given-names>
</name>
<name>
<surname><![CDATA[Yi-Hong]]></surname>
<given-names><![CDATA[Chen]]></given-names>
</name>
</person-group>
<source><![CDATA[Lo Chia-Hung and Wong Ching-Chang, Ant colony optimization algorithm design and its FPGA implementation]]></source>
<year>Nove</year>
<month>mb</month>
<day>er</day>
<page-range>262-265</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hsu-Chih]]></surname>
<given-names><![CDATA[Huang]]></given-names>
</name>
<name>
<surname><![CDATA[Taguchi-Based]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Heterogeneous Parallel Metaheuristic ACO-PSO and Its FPGA Realization to Optimal Polar-Space Locomotion Control of Four-Wheeled Redundant Mobile Robots]]></source>
<year>2015</year>
<page-range>1-8</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Max Maxfield]]></surname>
<given-names><![CDATA[Clive]]></given-names>
</name>
</person-group>
<source><![CDATA[FPGAs: Instant Access]]></source>
<year>2008</year>
<page-range>1-12</page-range><publisher-loc><![CDATA[Elsevier ]]></publisher-loc>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wilensky]]></surname>
<given-names><![CDATA[U]]></given-names>
</name>
</person-group>
<source><![CDATA[NetLogo, Center for Connected Learning and Computer-Based Modeling]]></source>
<year>1999</year>
<publisher-name><![CDATA[Northwestern University, Evanston, IL]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Juang]]></surname>
<given-names><![CDATA[Chia-Feng]]></given-names>
</name>
<name>
<surname><![CDATA[Hung]]></surname>
<given-names><![CDATA[Chi-Wei]]></given-names>
</name>
<name>
<surname><![CDATA[Hsu]]></surname>
<given-names><![CDATA[Chia-Hung]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Rule-Based Cooperative Continuous Ant Colony Optimization to Improve the Accuracy of Fuzzy System Design]]></article-title>
<source><![CDATA[Fuzzy Systems, IEEE Transactions]]></source>
<year>Augu</year>
<month>st</month>
<day>, </day>
<volume>22</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>723-735</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wongwirat]]></surname>
<given-names><![CDATA[O]]></given-names>
</name>
<name>
<surname><![CDATA[Anuntachai]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<source><![CDATA[Search ingenergy-efficient route for mobile robot with ant algorithm]]></source>
<year>Augu</year>
<month>st</month>
<day>, </day>
<page-range>10711075</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Xiang-run]]></surname>
<given-names><![CDATA[Du]]></given-names>
</name>
<name>
<surname><![CDATA[Jian-long]]></surname>
<given-names><![CDATA[Zhang]]></given-names>
</name>
<name>
<surname><![CDATA[Min-quan]]></surname>
<given-names><![CDATA[Feng]]></given-names>
</name>
</person-group>
<source><![CDATA[Water supply route optimization for reservoir emergency based on improved ant colony algorithm, Control and Decision Conference (2014 CCDC)]]></source>
<year>June</year>
<month>, </month>
<day>20</day>
<page-range>1354-1359</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sales]]></surname>
<given-names><![CDATA[D.O]]></given-names>
</name>
<name>
<surname><![CDATA[Dias]]></surname>
<given-names><![CDATA[M. A]]></given-names>
</name>
<name>
<surname><![CDATA[Osorio]]></surname>
<given-names><![CDATA[F. S]]></given-names>
</name>
</person-group>
<source><![CDATA[Grid Ant Colony Optimization Applied to a Multi-robotic Garbage Collection System. Robotics: SBR-LARS Robotics Symposium and Robocontrol (SBR LARS Robocontrol)]]></source>
<year>Octo</year>
<month>be</month>
<day>r,</day>
<page-range>187 - 192</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Xing]]></surname>
<given-names><![CDATA[Wei]]></given-names>
</name>
<name>
<surname><![CDATA[Li]]></surname>
<given-names><![CDATA[Zhiyuan]]></given-names>
</name>
<name>
<surname><![CDATA[Jingjing]]></surname>
<given-names><![CDATA[Qu]]></given-names>
</name>
</person-group>
<source><![CDATA[Research on parameters optimization and simulation of the Ant Colony Algorithm]]></source>
<year>2014</year>
<page-range>1 - 4</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Brown]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[Fundamentos de lógica digital con diseño VHDL]]></source>
<year>2006</year>
<edition>2a</edition>
<publisher-loc><![CDATA[Ciudad de México ]]></publisher-loc>
<publisher-name><![CDATA[McGraw Gil]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jinbiao]]></surname>
<given-names><![CDATA[Wang]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[Kaichi]]></given-names>
</name>
</person-group>
<source><![CDATA[Union-Intersection Ant System. Theories and Applications (BIC-TA), 2010 IEEE]]></source>
<year>Sept</year>
<month>em</month>
<day>be</day>
<page-range>364-371</page-range><publisher-name><![CDATA[IEEE]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dorigo]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Maniezzo]]></surname>
<given-names><![CDATA[V]]></given-names>
</name>
<name>
<surname><![CDATA[Colorni]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Ant system: Optimization by a colony of cooperating agents]]></article-title>
<source><![CDATA[IEEE Transactions on Systems, Man, and Cybernetics-Part B]]></source>
<year>1996</year>
<volume>26</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>29-41</page-range></nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Deneubourg]]></surname>
<given-names><![CDATA[J.-L]]></given-names>
</name>
<name>
<surname><![CDATA[Aron]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Goss]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Pasteels]]></surname>
<given-names><![CDATA[J.M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Theself-organizing exploratory pattern of the argentine ant]]></article-title>
<source><![CDATA[Journal of Insect Behavior]]></source>
<year>1990</year>
<volume>3</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>159-168</page-range></nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Rojas Galeano]]></surname>
<given-names><![CDATA[Sergio]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Optimización de rutas mediante computación bioinspirada, un paralelo entre hormigas artificiales y algoritmos genéticos]]></article-title>
<source><![CDATA[Revista de Ingeniería Universidad Distrital Francisco José de Caldas]]></source>
<year>2004</year>
<volume>7</volume>
<numero>14</numero>
<issue>14</issue>
<page-range>97-104</page-range></nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="">
<source><![CDATA[Funcionamiento de la colonia de hormigas]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="">
<source><![CDATA[Archivos de descripción VHD para cada componente circuital del proyecto]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
