<?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>1683-0789</journal-id>
<journal-title><![CDATA[Acta Nova]]></journal-title>
<abbrev-journal-title><![CDATA[RevActaNova.]]></abbrev-journal-title>
<issn>1683-0789</issn>
<publisher>
<publisher-name><![CDATA[Universidad Católica Boliviana]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S1683-07892002000100003</article-id>
<title-group>
<article-title xml:lang="es"><![CDATA[Aplicación de Autómatas Celulares a Simulación Básica de Incendios Forestales]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Peredo]]></surname>
<given-names><![CDATA[Marco J.]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Ramallo]]></surname>
<given-names><![CDATA[Ramiro]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Católica Boliviana San Pablo Maestría en Ciencias de la Computación ]]></institution>
<addr-line><![CDATA[Cochabamba ]]></addr-line>
<country>Bolivia</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>06</month>
<year>2002</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>06</month>
<year>2002</year>
</pub-date>
<volume>1</volume>
<numero>4</numero>
<fpage>347</fpage>
<lpage>361</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.org.bo/scielo.php?script=sci_arttext&amp;pid=S1683-07892002000100003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.bo/scielo.php?script=sci_abstract&amp;pid=S1683-07892002000100003&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.org.bo/scielo.php?script=sci_pdf&amp;pid=S1683-07892002000100003&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="es"><p><![CDATA[El presente artículo explica brevemente el concepto de autómata celular, y expone resultados obtenidos con uno de estos autómatas, programado como una entidad de software sobre ambiente de procesamiento paralelo, en la simulación básica de un incendio forestal, sobre una matriz que representa un bosque de n por n árboles correspondientes a una misma especie. Se discute así mismo las posibilidades de crecimiento modular del programa, para adecuar la versión básica mostrada, a condiciones más complejas (bosques de gran extensión, condiciones de terreno cambiantes, especies diversas, etc.) de manera versátil y fácil de llevar a cabo en computadora.]]></p></abstract>
<kwd-group>
<kwd lng="es"><![CDATA[autómatas celulares]]></kwd>
<kwd lng="es"><![CDATA[paralelismo]]></kwd>
<kwd lng="es"><![CDATA[simulación usando autómatas celulares]]></kwd>
<kwd lng="es"><![CDATA[simulación de incendios forestales]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="right"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Art&iacute;culo Cient&iacute;fico</font></b></p>     <p align="right">&nbsp;</p>     <p align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="4">Aplicación de Autómatas Celulares a Simulación Básica de Incendios Forestales</font></b></p>     <p align="center">&nbsp;</p>     <p align="center">&nbsp;</p>     <p align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Marco J. Peredo, Ramiro Ramallo</font></b></p>     <p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Maestría en Ciencias de la Computación     <br> Universidad Católica Boliviana San Pablo</font>    <br> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Cochabamba, Bolivia     <br> e-mail: <a href="mailto:peredom@ucbcba.edu.bo">peredom@ucbcba.edu.bo</a>,  <a href="mailto:rramallo@ucbcba.edu.bo">rramallo@ucbcba.edu.bo</a></font></p>     ]]></body>
<body><![CDATA[<p align="center">&nbsp;</p>     <p align="center">&nbsp;</p> <hr align="JUSTIFY" noshade>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Resumen</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El presente artículo explica brevemente el concepto de autómata celular, y expone resultados obtenidos con uno de estos autómatas, programado como una entidad de software sobre ambiente de procesamiento paralelo, en la simulación básica de un incendio forestal, sobre una matriz que representa un bosque de n por n árboles correspondientes a una misma especie. Se discute así mismo las posibilidades de crecimiento modular del programa, para adecuar la versión básica mostrada, a condiciones más complejas (bosques de gran extensión, condiciones de terreno cambiantes, especies diversas, etc.) de manera versátil y fácil de llevar a cabo en computadora.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Palabras Clave:</b> autómatas celulares; paralelismo; simulación usando autómatas celulares; simulación de incendios forestales.</font></p> <hr align="JUSTIFY" noshade>     <p align="justify">&nbsp;</p>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>1.    Introducción</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Los resultados de la simulación de incendios forestales son de gran utilidad para la planificación y mantenimiento de grandes áreas boscosas, ya sean naturales o creadas por el hombre, puesto que permiten conocer de antemano dónde deben existir zonas de contención, además de contribuir a la toma de decisiones en caso de un incendio real.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En el caso de presentarse un incendio es muy importante tener el sistema listo para ingresar datos inherentes al incendio, tales como: el foco del mismo y las condiciones meteorológicas actuales. Con el fin de obtener resultados fiables, se deben realizar varias simulaciones cuyos valores deben ser conocidos en el menor tiempo posible. A partir de los resultados, se podrá realizar el trabajo de combatir el fuego determinando, por ejemplo, posiciones y direcciones óptimas para la construcción de barreras. Se minimiza de esta manera el área afectada por el fuego.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En general, las áreas forestales ocupan grandes extensiones de terreno y por ende la cantidad de especies forestales es elevada, pudiendo resultar demasiado grande como para realizar la simulación en una máquina secuencial, por tanto conviene mostrar que el uso de una máquina o arquitectura paralela contribuye a optimizar el tiempo de respuesta para la realización de la simulación.</font></p>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>2.    Autómatas Celulares</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Se debe pensar en un Autómata Celular (AC) como en un conjunto de objetos situados sobre una región geográfica o asociados a puntos de un espacio y susceptibles de adquirir ciertos estados según transcurre el tiempo, siempre en forma discreta o a saltos. Estos objetos cambian sus estados en función de sus propios estados previos y de los de aquellos otros entes o individuos situados en su vecindad. <i>El problema es entonces saber cuál será la evolución de la configuración del sistema según avance el tiempo.</i></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>2.1.    Descripción general de un AC</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En pocas palabras, un AC es un modelo formal que está compuesto por un conjunto de entes elementales, cada uno de ellos susceptible de encontrarse en un cierto estado y de alterarlo de un instante al siguiente, asumiendo que el tiempo transcurre de forma discreta. La regla que gobierna la transición de estados en los entes es sensible a los estados de los demás elementos en su vecindad, siendo por tanto una <i>regla de transición local. </i>El aspecto que más caracteriza a los ACs es su capacidad para dotar al conjunto del sistema, visto como un todo, de una serie de propiedades emergentes inducidas por la propia dinámica local. En general, no es fácil obtener las propiedades globales de un sistema definido como el anterior, complejo por naturaleza, a no ser por vía de la simulación, partiendo de un estado inicial de la población de objetos y cambiando en cada instante los estados de todos ellos de forma síncrona.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La definición de un AC requiere fijar los siguientes puntos:</font></p>     <blockquote>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; <b>Conjunto de entes. </b>Se necesita saber cuántos objetos elementales van a formar la población del sistema. En principio no hay restricción a su número, pudiendo ser desde unos pocos hasta una infinidad. En ocasiones es importante situarlos sobre una región geográfica, identificándose entonces los entes con sus respectivas coordenadas geográficas.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; <b>Vecindades. </b>Para cada elemento del sistema es necesario establecer su vecindad, esto es, aquellos otros elementos que serán considerados como sus vecinos. En caso de asociar objetos con coordenadas de un sistema de referencia, el criterio suele ser construir la vecindad de un elemento dado con todos aquellos otros elementos que se encuentran a menos de una cierta distancia o radio, de forma que los más alejados no ejerzan influencia directa sobre él.</font></p>       ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Sea</font></p>       <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_01.gif" width="546" height="27"></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">el conjunto de celdas vecinas de la celda <i>i, </i>además de la propia celda considerada.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En un AC las <i>N </i>celdas se encuentra en un reticulado de dimensión <i>d. </i>Cuando el retículo es de tamaño finito siempre consideraremos condiciones de contorno periódicas, es decir que la celda en la posición <i>O </i>tiene como vecina a la celda de la posición <i>N </i>y viceversa.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En dos dimensiones hay dos tipos fundamentales de vecindad: la de Von Neumann y la de Moore (ver <a href="#t1">Tablas 1(a)</a> y <a href="#t1">1(b)</a> respectivamente).</font></p> </blockquote>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_tabla_01.gif" width="568" height="184"></p>     <blockquote>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; <b>Conjunto de estados. </b>En cada instante, cada elemento deberá encontrarse en un cierto estado. El caso más sencillo corresponde a los elementos biestables, los cuales se pueden encontrar en sólo uno de dos estados posibles, 0 y 1, por ejemplo. Pero también el estado puede venir representado por un vector de componentes reales o por una cadena de un lenguaje formal.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; <b>Regla de transición local. </b>La regla de transición define la dinámica del sistema. Dado un elemento y un instante determinados, la regla devuelve el siguiente estado del elemento. Para ello necesita como argumentos los estados actuales, tanto del elemento considerado como de aquellos que conforman su vecindad. Las reglas de transición pueden ser deterministas o probabilistas. Además, no todos los autómatas celulares requieren que sus elementos obedezcan siempre la misma regla, si bien para el enfoque del presente artículo se considera una regla única para todas las celdas o células del autómata.</font></p>       <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_02.gif" width="542" height="39"></p> </blockquote>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La regla local de evolución <i>x<sub>¡</sub></i>(<i>t + </i>1) nos permite obtener el valor cuando conocemos el valor de las celdas en la vecindad en el instante anterior.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>2.2.    Estructura de un <i>Autómata Celular</i></b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Un </b><i>Autómata Celular </i>es una herramienta computacional que hace parte de la <i>Inteligencia Artificial </i>basada en <i>modelos biológicos, </i>el cual está básicamente compuesto por una estructura estática de datos y un conjunto finito de reglas que son aplicadas a cada nodo o elemento de la estructura. El interés que ha despertado esta, técnica radica en la sencillez y en la simplicidad que caracteriza la construcción de los modelos (son</font> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">susceptibles de fácil programación); además, en la particularidad de los patrones de comportamiento presentados por el Autómata en tiempo de ejecución, permitiendo una observación directa y detallada de los mismos a medida que evolucionan en el tiempo.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Basados en el planteamiento que presenta Muñoz [2] acerca de la estructura de un <i>Autómata Celular, </i>se definen como sus componentes básicos:</font></p>     <blockquote>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Un plano bidimensional o un espacio n-dimensional dividido en un número de subespacios homogéneos, conocidos como celdas. A todo esto se le denomina <i>Teselación Homogénea.</i></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Cada celda puede estar en uno de un <i>conjunto finito </i>o <i>numerable </i>&#931; de estados.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Una <i>Configuración C, </i>que consiste en asignarle un estado a cada celda del autómata.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Una <i>Vecindad </i>definida para cada celda, que consiste en un conjunto contiguo de celdas, indicando sus posiciones relativas respecto a la celda misma.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Una <i>Regla de Evolución, </i>que define cómo debe cada celda cambiar de estado, dependiendo del estado inmediatamente anterior de su vecindad.</font></p>       ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Un <i>Reloj Virtual de Cómputo </i>conectado a cada celda del autómata, el cual generará &quot;<i>tics</i>&quot; o pulsos simultáneos a todas las celdas indicando que debe aplicarse la regla de evolución y de esta forma cada celda cambiará de estado.</font></p> </blockquote>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Desde el punto de vista de Toffoli y Margolus [3], se define un <i>Autómata Celular </i>sólo si se tiene que todas las celdas:</font></p>     <blockquote>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Tienen el mismo Conjunto <i>sum </i>de <i>Estados posibles.</i></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i>•&nbsp; </i>Tienen la misma forma de Vecindad.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; Tienen la misma <i>Regla de Evolución.</i></font></p> </blockquote>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Según se indicó anteriormente, es este enfoque particular el que se usará para la simulación específica presentada.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i><b>2.2.1.    Consideraciones adicionales</b></i></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Un <i>Autómata Celular </i>puede ser construido definiendo alguna especificación para cada uno de sus componentes, es decir, de alguna forma se definirá su <i>teselación, </i>los posibles <i>estados, </i>las <i>vecindades </i>y la <i>regla de evolución. </i>Se permite mayor flexibilidad en la construcción del autómata considerando:</font></p>     <blockquote>       ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; El <i>autómata </i>puede ser de <i>1,2,3,... ,n </i>dimensiones.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">•&nbsp; La <i>teselación </i>puede ser finita o infinita, con condiciones de frontera abiertas o periódicas.</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">• El <i>conjunto de estados </i>&#931; no necesita tener ninguna estructura algebraica adicional. La <i>vecindad </i>puede ser simétrica o no y puede incluir o no a la propia celda. La <i>regla de evolución </i>es una tabla o unas reglas.</font></p> </blockquote>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>3.    Paralelización</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>3.1.    Descripción del problema</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El caso de estudio del presente trabajo consiste en realizar una simulación de un incendio forestal. Para lo cual se debe definir un Autómata Celular con reglas específicas de propagación del fuego según la velocidad y dirección del viento, constituyendo estas reglas la definición del vecindario de cada uno de los entes presentes durante la simulación.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Se ha aplicado el modelo a conjuntos de árboles hasta de un millón (1000 x 1000) de elementos, con distribuciones aleatorias sobre el área considerada. El modelo incluye también la densidad del &quot;bosque&quot; o conjunto de árboles como un parámetro más en la concepción del modelo. En el sencillo modelo presentado, los árboles forman un conjunto homogéneo, desde el punto de vista de su contribución a la propagación del fuego. Es decir, se &quot;queman&quot; todos ellos de la misma manera, si bien, con el objeto de enriquecer el modelo, es posible incluir características propias de cada individuo, programando atributos particulares de una celda o célula o sub-conjunto de celdas del autómata celular e introduciendo nuevas reglas de evolución en el tiempo. Esta posibilidad de crecimiento modular en la complejidad y precisión del modelo constituye una ventaja adicional en la adopción del mismo.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El origen del fuego se sitúa al azar dentro del conjunto de árboles. El programa hace entonces que el autómata celular evolucione en el tiempo para el conjunto completo estudiado. Se alcanza el estado final cuando ya no existen focos de incendio, es decir, cuando se ha quemado la totalidad de los árboles o cuando el último árbol en combustión ha quedado aislado de sus compañeros aún en pie y las condiciones del viento en ese momento no permiten que el fuego se propague hacia árboles más alejados. Los resultados se observan cualitativamente mediante un gráfico que representa con colores distintos la presencia de un árbol, de un foco de incendio, de un vacío, o de un árbol muerto. El programa cuantifica también los resultados, indicando, por ejemplo, el porcentaje de árboles que continúan en pie luego de la extinción del incendio.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Por la posibilidad de aplicación práctica como una ayuda en la determinación de uno de los factores a la hora de planificar distancias convenientes para la plantación de árboles en conjuntos similares al simulado, resulta particularmente interesante la determinación de densidades críticas por encima de las cuales existe alta probabilidad de un incendio devastador (que acabe con el 90 % de los árboles, o más) bajo condiciones aleatorias de viento y origen del fuego.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Se muestran los resultados obtenidos respecto precisamente a estas densidades críticas.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>3.2.    Definición del modelo</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El modelo de simulación para el presente trabajo consiste en un bosque representado por una matriz de DIM x DIM posiciones. El estado inicial está representado por la mencionada matriz. Cada elemento de la matriz puede estar vacío u ocupado por un árbol. Además, se debe conocer la posición específica del fuego en cada instante, así como las condiciones (velocidad, dirección) del viento.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La vecindad de cada uno de los elementos del bosque (célula) variará según las condiciones a las que se expone, en este caso el viento el cual posee una dirección y una magnitud de velocidad (intensidad). Para fines de simplicidad se restringe la velocidad a tres valores posibles, (0, 1 y 2) y las direcciones son ocho (Norte, Noreste, Este, Sudeste, Sur, Sudoeste, Oeste y Noroeste).</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Cada célula puede tener hasta un máximo de ocho vecinos definidos según la <a href="#f1">Figura 1</a>.</font></p>     <p align="center"><a name="f1"></a><img src="/img/revistas/ran/v1n4/a03_figura_01.gif" width="521" height="314"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>3.3.    Paralelización</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Con el fin de poder paralelizar el algoritmo de simulación, se debe en primer lugar estudiar la forma en la que debe estar dividida la matriz del bosque entre los procesadores que conforman la máquina paralela.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La distribución de la matriz es tal que cada uno de los procesadores almacena una porción equitativa de la misma.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Una vez distribuida la matriz debemos pensar en la vecindad de cada una de las células, y en especial de aquellas cuyos vecinos fueron trasladados por la distribución hacia otro procesador. La solución genérica que se plantea para este problema consiste</font> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">en incrementar cada una de las matrices locales, en cuatro filas y cuatro columnas distribuidas como se muestra en la <a href="#f2">Figura 2</a>.</font></p>     ]]></body>
<body><![CDATA[<p align="center"><a name="f2"></a><img src="/img/revistas/ran/v1n4/a03_figura_02.gif" width="524" height="214"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El objetivo de incrementar las filas y columnas es el de recibir en ellas los elementos correspondientes a los vecinos que se encuentran almacenados en los procesadores vecinos.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El principio de funcionamiento del algoritmo paralelo se basa en que cada procesador debe informar a sus vecinos el estado de sus células que se encuentran en las filas y columnas externas, es decir en aquellos lugares que corresponden a la vecindad de las células de los procesadores vecinos. Además, deben enviar al procesador correspondiente un aviso de cambio de estado de las células que se encuentran en las secciones correspondientes a vecinos de otro procesador. Sólo se debe informar del cambio de estado de Árbol a Inicio de Fuego ya que los otros cambios de estado no requieren ser informados, cada procesador puede manejarlos independientemente.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La <a href="#f3">Figura 3</a> detalla la forma en que están distribuidas las células en los procesadores que conforman la máquina paralela. Por motivo de simplicidad y para facilitar el entendimiento se ilustra este mediante un ejemplo con cuatro procesadores.</font></p>     <p align="center"><a name="f3"></a><img src="/img/revistas/ran/v1n4/a03_figura_03.gif" width="527" height="473"></p>     <p align="center">&nbsp;</p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>4.    Análisis teórico detallado</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Puesto que tanto el procedimiento de llenado de la matriz como el procedimiento de exhibición gráfica de los resultados son ajenos a la ejecución del algoritmo de simulación propiamente dicho, para el presente análisis se considera la realización del autómata celular en sí. Esta realización se sintetiza a través del siguiente pseudo-código:</font></p>     <blockquote>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">1: <i>Iniciar_fuego;</i></font></p>       ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i>2: Calcular_viento_inicial;</i></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">3: <b>while </b><i>fuego_posible </i><b>do</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">4:&nbsp;&nbsp;&nbsp;&nbsp;<i>Calcular _nuevo_viento;</i></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">5:&nbsp;&nbsp;&nbsp;&nbsp;<b>for </b><i>i <img src="/img/revistas/ran/v1n4/flecha_izq.gif" width="11" height="7"> </i>0 to <i>DIM </i>- 1 <b>do</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">6:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>for</b> <i>j</i> <i><img src="/img/revistas/ran/v1n4/flecha_izq.gif" width="11" height="7"></i> 0 to <i>DIM </i>- 1 <b>do</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">7:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<i>Calcular_nuevo_estado;</i></font></p>       <p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">8:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>end for</b> </font></p>       <p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">9:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>end for</b></font></p>       <p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">10:&nbsp;&nbsp;&nbsp;<b>for </b><i>i <img src="/img/revistas/ran/v1n4/flecha_izq.gif" width="11" height="7"> </i>0 to <i>DIM </i>- 1 <b>do</b></font></p>       <p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">11:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>for </b><i>i <img src="/img/revistas/ran/v1n4/flecha_izq.gif" width="11" height="7"> </i>0 to <i>DIM </i>- 1 <b>do</b></font></p>       ]]></body>
<body><![CDATA[<p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">12:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Actualizar_matriz;</font></p>       <p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">13:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>end for</b></font></p>       <p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">14:&nbsp;&nbsp;&nbsp;<b>end for</b></font></p>       <p align="justify"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">15: <b>end while</b></font></p> </blockquote>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Los procedimientos <i>Iniciar_fuego, Calcular_viento_inicial </i>y <i>Calcular_nuevo_viento </i>pueden considerarse ejecutables en una sola unidad de tiempo, ya que carecen de ciclos y, luego de evaluar una simple condición aleatoria, devuelven el resultado de una función matemática sencilla. El procedimiento <i>Calcular_nuevo_estado </i>en cambio, puede expresarse como:</font></p>     <blockquote>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">1: <b>if </b><i>elemento</i>[<i>i</i>][<i>j</i>] <i>== arbol </i><b>then</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">2:&nbsp;&nbsp;&nbsp;<b></b><i>Ver_vecinos;</i></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">3: <b>end if</b></font></p> </blockquote>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Donde <i>Ver_vecinos </i>está representado por:</font></p>     ]]></body>
<body><![CDATA[<blockquote>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">1:&nbsp; <b>for </b><i>i_vecino </i><b></b></font><img src="/img/revistas/ran/v1n4/flecha_izq.gif" width="11" height="7"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i> i — </i>2 to i + 2 <b>do</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">2:&nbsp; &nbsp; &nbsp; <b>for </b><i>j_vecino </i></font><img src="/img/revistas/ran/v1n4/flecha_izq.gif" width="11" height="7"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> <i>j — </i>2 to <i>j </i>+ 2 <b>do</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">3:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if <i>elemento</i>[<i>i_vecino</i>][<i>j_vecino] = vecino </i><b>then</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">4:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <i>Actualizarelemento</i>[<i>i</i>][<i>j</i>]</font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">5:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<b>end if</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">6:&nbsp; &nbsp; &nbsp;<b>end for</b></font></p>       <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">7:&nbsp; <b>end for</b></font></p> </blockquote>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">A pesar que potencialmente los dos ciclos anidados anteriores parecen involucrar 25 pasos (5 desde <i>i </i>— 2 hasta <i>i + </i>2, por 5 desde <i>j — </i>2 hasta <i>j + </i>2), en realidad se los ha expresado así simplemente por facilidad, pero se evalúan, en el peor de los casos, tan sólo 8 veces, que corresponde a la mayor cantidad de vecinos que un elemento cualquiera puede tener, considerando todas las posibilidades de velocidad y dirección de viento.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Aun conociendo el detalle algorítmico que acaba de ser expuesto en función de operaciones que pueden considerarse de costo unitario en tiempo de computación, no es posible saber a priori cuantas veces (<i>m</i>) se ejecutará realmente el ciclo &quot;Mientras&quot;, ni cuántos vecinos &quot;árbol&quot; encontrará realmente un árbol incendiado en particular. Se analizan por lo tanto a continuación dos situaciones extremas posibles:</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">(a)&nbsp; El origen del incendio casualmente ha surgido en un área totalmente despoblada de vecinos &quot;árbol&quot; y, por lo tanto, el incendio se extingue al final de la primera iteración.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">(b)&nbsp; Es posible que el incendio surja más bien en un área tal que cada nueva iteración precise considerar el máximo posible (8) de vecinos incendiados. Cada una de estas situaciones se presentará con una cierta probabilidad (<i>p</i><sub>0</sub> ó <i>p</i><sub>8</sub><i>, </i>que no podrán confundirse con el número de procesadores <i>p </i>carente de subíndice).</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Por lo tanto, en la realización de este algoritmo, el número de pasos elementales de computación, o tiempo secuencial (<i>T<sub>seq</sub></i>), entendiendo que cada paso elemental toma simplemente una unidad de tiempo, puede expresarse como:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_03.gif" width="523" height="51"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">en el mejor caso, y:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_05.gif" width="524" height="52"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">en el peor caso.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El caso medio, que puede tomarse como genérico, estará dado entonces por un promedio ponderado de ambas expresiones que, por tener la misma forma, y siendo las probabilidades simplemente constantes comprendidas entre 0 y 1, inclusive, tendrá un comportamiento asintótico de crecimiento similar a:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_07.gif" width="520" height="44"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Al no estar disponible para la práctica investigativa otro modelo de realización del autómata celular, se tomará la expresión anterior en el cálculo del <i>speed-up, </i>la eficiencia, el costo, y la función de isoeficiencia.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Para el caso paralelo, se deberá considerar un tiempo de activación inicial de cada canal de comunicación <i>(start-up, </i>ts) para cada uno de los p procesadores y cada una de las m iteraciones del ciclo exterior ''Mientras&quot;. Se deberá considerar asimismo un tiempo de transmisión unitario por palabra o elemento a ser transmitido (<i>t<sub><font face="Georgia, Times New Roman, Times, serif">w</font></sub></i>) proporcional al cubo (tres ciclos &quot;Para&quot; anidados) de la dimensión dividida entre el número de procesadores en cada dimensión (<i><img src="/img/revistas/ran/v1n4/raiz_p.gif" width="17" height="14"></i>). El tiempo requerido para ejecutar el algoritmo en paralelo, <i>T<sub>par</sub>, </i>crece entonces asintóticamente como:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_08.gif" width="507" height="88"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Por lo tanto, el <i>speed-up </i>crecerá asintóticamente como:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_10.gif" width="507" height="42"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">De ello se deduce que la eficiencia crecerá como:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_11.gif" width="507" height="83"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">teniendo en cuenta que los tiempos de <i>start-up </i>y transmisión de una unidad de información son constantes.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Se aprecia que inclusive con el valor:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_13.gif" width="523" height="37"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">se podría expresar la eficiencia como:</font></p>     ]]></body>
<body><![CDATA[<p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_14.gif" width="525" height="50"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">siempre y cuando los tiempos de comunicación sean pequeños. Se ha mencionado la conveniencia de realizar el algoritmo sobre una arquitectura paralela, con el objetivo de reducir los tiempos de cálculo. Así, normalmente intervendrá más de una CPU o unidad inteligente en la solución del problema. Debido a esto, las ecuaciones mostradas incluyen el impacto que los tiempos de comunicación entre CPUs tienen sobre la eficiencia del sistema. Una hipótesis, cuyo cumplimiento se debe cuidar en la práctica, es precisamente la existencia de tiempos de comunicación tan pequeños como permita el <i>hardware </i>(equipo) particular que esté en uso.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En principio, sería posible asignar un procesador a cada uno de los elementos de la matriz de dimensión <i>n, </i>antes de perder la capacidad de lograr eficiencias siempre constantes (definición de isoeficiencia). Los autómatas celulares se caracterizan precisamente por la posibilidad de trabajar con un procesador por elemento o celda.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">En cuanto al costo <i>C, </i>por definición éste es igual al tiempo de ejecución en paralelo multiplicado por el número de procesadores necesarios para lograr dicho tiempo. Es decir, crecerá asintóticamente como:</font></p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_ecuacion_15.gif" width="525" height="57"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Se aprecia que aun para autómatas celulares pequeños, y aun para tiempos de comunicación despreciables, el costo puede crecer de manera prohibitiva (proporcional al cubo del número de procesadores usados) si se pretende en todo momento aplicar la función de isoeficiencia.</font></p>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>5.    Resultados obtenidos</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Se ha ejecutado el programa de simulación de incendio forestal una gran cantidad de veces, bajo condiciones siempre variables, en busca de obtener resultados reveladores del comportamiento general que puede esperarse del sistema simulado.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Las <a href="#t2">Tablas 2</a>, <a href="#t3">3</a>, <a href="#t4">4</a> y <a href="#t5">5</a> sintetizan el comportamiento observado, haciendo énfasis en distintos aspectos de interés, como ser: la estimación inicial del valor probable de densidad crítica, la validación de este valor sobre matrices grandes y en condiciones de viento variable, la influencia del número entero empleado para activar el generador de números aleatorios, es decir, la influencia del número que se denomina &quot;semilla&quot; del generador aleatorio y, por último, los tiempos obtenidos para uno y cuatro procesadores.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La <a href="#t2">Tabla 2</a> se ha obtenido para una pequeña matriz (100 x 100) de prueba, con viento de velocidad cero. La zona sombreada corresponde a valores de densidad porcentual inicial mayor o igual al 44%, y se aprecia que independientemente del valor de la semilla, el bosque siempre queda para estos casos con una densidad total de árboles sobrevivientes menores al 10%. Por lo tanto, se sospecha que la densidad crítica <i>r</i><sub>0 </sub>debe corresponder al 44%.</font></p>     <p align="center"><a name="t2"></a><img src="/img/revistas/ran/v1n4/a03_tabla_02.gif" width="581" height="217"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Para la <a href="#t3">Tabla 3</a>, se ha repetido el experimento con la semilla más &quot;dañina&quot; (1111) y la semilla más &quot;benéfica&quot; (2222) observadas en la prueba inicial, pero empleando esta vez una matriz de 1000 x 1000 elementos. Los resultados son consistentes con el valor crítico antes obtenido.</font></p>     <p align="center"><a name="t3"></a><img src="/img/revistas/ran/v1n4/a03_tabla_03.gif" width="482" height="112"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Al hacer que el viento sea de velocidad y dirección variables, no ha sido posible establecer una densidad crítica estable: los resultados dependen fuertemente no sólo de la densidad porcentual inicial, sino también de la semilla, y sólo aleatoriamente se ha podido elegir semillas especialmente &quot;dañinas&quot; que han conseguido incendios devastadores incluso para matrices muy grandes. Los resultados correspondientes se sintetizan en la <a href="#t4">Tabla 4</a>.</font></p>     <p align="center"><a name="t4"></a><img src="/img/revistas/ran/v1n4/a03_tabla_04.gif" width="580" height="223"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Se aprecia que para elaborar la tabla anterior, se han explorado incluso valores de densidad porcentual inicial mucho mayores al límite crítico anteriormente definido. A pesar de ello, los resultados continúan inestables: el 90% de densidad inicial parece representar un nuevo valor crítico, pero de pronto la densidad porcentual final crece nuevamente con ciertas semillas, aun para densidades del 95%.</font></p>     <p align="center"><a name="t5"></a><img src="/img/revistas/ran/v1n4/a03_tabla_05.gif" width="580" height="168"></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Los tiempos mostrados en la tabla anterior han sido obtenidos con el utilitario <i>time </i>propio del sistema operativo, para condiciones de viento variable, y el mismo valor de la semilla: 1111.</font></p>     <p align="justify">&nbsp;</p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>6.    Discusión de resultados</b></font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La <a href="#t2">Tabla 2</a> muestra los resultados de simulaciones con viento de velocidad nula, pero con distintas densidades iniciales y distintas condiciones (elegidas al azar) para el inicio del fuego. Las otras tablas, en cambio (<a href="#t3">Tablas 3</a>, <a href="#t4">4</a> y <a href="#t5">5</a> inclusive), muestran resultados para condiciones de velocidad variable del viento. Según se aprecia, cuando la velocidad del viento es nula (<a href="#t2">Tabla 2</a>) se tienen las mayores posibilidades de un</font> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">incendio devastador, independientemente del valor exacto de la semilla, ya que la posible quema masiva del bosque es función básicamente de la densidad inicial, sin el factor viento que, aleatoriamente, podría oponerse a un mayor avance del incendio. Distintos focos de incendio cambian la geometría del problema al determinar qué procesador inicia el fuego (o en qué posición dentro de la matriz se inicia éste, en caso de emplear un solo procesador), y cómo irá cambiando el viento a medida que evolucionan las iteraciones por toda la matriz pero, con viento nulo, no cambian el valor de la densidad crítica que se mantiene coherentemente en 44%. Se ve que el valor de densidad crítica tampoco depende del tamaño del bosque: se exponen resultados similares para matrices comprendidas entre 10.000 y 1.000.000 de elementos, inclusive.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Cuando se deja que la velocidad y dirección del viento cambien al azar, sin embargo, no es posible ya determinar una densidad crítica: la densidad de árboles sobrevivientes depende fuertemente de la pareja densidad_inicial/semilla, y no solamente de la densidad inicial. Las simulaciones realizadas ilustran este hecho siempre para el rango comprendido entre 10.000 y 1.000.000 de celdas, y aun para 1.000.000 de árboles (matriz de 1.000 x 1.000 elementos, totalmente poblada).</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Los resultados obtenidos exponen claramente la variabilidad en el ciclo &quot;Mientras&quot; externo: no es posible determinar a priori cuántas veces lo repetirá el algoritmo programado. Este hecho depende más bien de cuan devastador resulta el incendio (o la combinación <i>densidad_inicial</i>/<i>semilla</i>). Se encuentra incluso un caso en el cual la diferencia de ejecución para matrices de tamaños tan dispares como 300 x 300 y 400 x 400 es mínima (alrededor de 1 segundo). Esto se debe a que en la matriz más pequeña se quemó un porcentaje mucho mayor de árboles, haciendo que en la práctica el ciclo se repita casi tantas veces como en la matriz de 400 x 400 de población mucho mayor, pero también muchísimo más afortunada en cuanto a árboles sobrevivientes luego de las mismas condiciones iniciales para el generador de números aleatorios.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El alejamiento entre el valor ideal de <i>speed-up </i>previsto por la teoría, (donde <i>p </i>representa el número de procesadores empleados para resolver el problema) y los valores observados (incluyendo un caso extremo de <i>speed-up </i>menor a uno) se explica por la distribución poco eficiente de mensajes sobre la topología en estrella, a través de un &quot;hub&quot; no procesador en el centro de dicha estrella. Se aprecia que a pesar que el algoritmo desarrollado sólo intercambia mensajes cuando es indispensable hacerlo (bordes de matrices asignadas a procesadores vecinos, y solamente cuando un árbol incendiado contagia efectivamente a un árbol vecino explorado por otro procesador), al crecer la matriz los términos en <i>t<sub>s</sub></i> y <i>t<sub>w</sub> </i>que figuran dentro de la expresión del <i>speed-up, </i>no son</font> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">ya despreciables e influyen más bien negativamente sobre este parámetro.</font></p>     <p align="center"><a name="f4"></a><img src="/img/revistas/ran/v1n4/a03_figura_04.gif" width="580" height="351"></p>     <p align="center">&nbsp;</p>     <p align="center"><img src="/img/revistas/ran/v1n4/a03_figura_05.gif" width="572" height="361"></p>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>7.    Conclusiones</b></font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">El modelo de simulación desarrollado muestra claramente que, en ausencia de viento, existe una densidad crítica (44 %) en la población de árboles dentro de un bosque, por encima de la cual, en caso de incendio, no llegará a sobrevivir ni el diez por ciento de los árboles originalmente existentes. Esto sucede con independencia del tamaño del bosque, de la distribución inicial de árboles dentro del bosque (geometría del bosque), e independientemente también de la posición geográfica del foco original de incendio.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Sin embargo, cuando el viento sopla de manera aleatoria (velocidad y dirección cambiantes), aunque esos cambios no sean frecuentes ni bruscos, no es posible determinar una densidad crítica constante: ésta depende fuertemente del tamaño y geometría del bosque y de manera muy especial depende también de la posición geográfica del foco inicial de fuego dentro del bosque, y de la manera en la cual va evolucionando el viento. Bosques muy densamente poblados pueden salvar sin intervención externa un altísimo porcentaje de su población inicial, si el azar define el surgimiento de fuego en una zona tal que la evolución posterior del viento empuje el fuego hacia áreas poco pobladas. Esta observación coincide con lo que sugiere la intuición.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">La duración experimentalmente observada en las distintas instancias de ejecución de la simulación permite obtener asimismo otra conclusión intuitivamente correcta: si el incendio destruye una cantidad reducida de árboles, termina en un lapso igualmente reducido. Por el contrario, si el incendio alcanza grandes proporciones y termina quemando una población muy grande, demora un tiempo proporcionalmente mayor.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Estas observaciones y conclusiones coincidentes con lo que parece indicar la experiencia, sugieren la validez del modelo y su fácil expansión para incluir factores complejos en las ecuaciones y reglas de producción que lo definen. Por ejemplo, la consideración de especies distintas para poblar el bosque, desde el punto de vista de programación, simplemente implica incrementar el número de estados permitidos para cada célula en el autómata, así como el número de reglas de transición entre estados. Arboles con maderas especialmente resistentes al fuego, por ejemplo, pueden simularse a través de células para las cuales la transición entre los estados de ignición inicial y de totalmente quemado, dura más de un intervalo de tiempo en el proceso de simulación. De esta manera, el individuo permanece vivo más tiempo, pero su poder de contagiar fuego a los vecinos también perdura por un lapso mayor. Por el contrario, árboles con maderas muy combustibles o resinosas se pueden representar a través de células que evolucionan rápidamente entre los estados de ignición inicial y de quemado total: en este caso, es el individuo el que perece rápidamente, en tanto que su poder de contagiar fuego es menor ya que perdura sólo por un lapso breve.</font></p>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Referencias</b></font></p>     <!-- ref --><p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">[1] A.K. Dewdney. Juegos de ordenador. <i>Investigación y Ciencia, </i>(154), 1989.</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=809617&pid=S1683-0789200200010000300001&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --><p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">[2] J.D. Muñoz. Autómatas celulares y física digital. En <i>Memorias del 1er. Congreso Colombiano de Neurocomputación, </i>p 28, 1996. Academia Colombiana de Ciencias Exactas, Físicas y Naturales.</font></p>     <p align="justify"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">[3] T. Toffoli y N. Margolus. <i>Cellular Automata Machines: A New Environment for Modelling. </i>The M.I.T. Press., Cambridge, MA, 1987.</font></p>     <p align="justify">&nbsp;</p>     ]]></body>
<body><![CDATA[ ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dewdney]]></surname>
<given-names><![CDATA[A.K.]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Juegos de ordenador]]></article-title>
<source><![CDATA[Investigación y Ciencia,]]></source>
<year>1989</year>
<numero>154</numero>
<issue>154</issue>
</nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Muñoz]]></surname>
<given-names><![CDATA[J.D.]]></given-names>
</name>
</person-group>
<source><![CDATA[Autómatas celulares y física digital]]></source>
<year></year>
<conf-name><![CDATA[ 1er. Congreso Colombiano de Neurocomputación]]></conf-name>
<conf-date>1996</conf-date>
<conf-loc> </conf-loc>
<page-range>28</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Toffoli]]></surname>
<given-names><![CDATA[T.]]></given-names>
</name>
<name>
<surname><![CDATA[Margolus]]></surname>
<given-names><![CDATA[N.]]></given-names>
</name>
</person-group>
<source><![CDATA[Cellular Automata Machines: A New Environment for Modelling]]></source>
<year>1987</year>
<publisher-loc><![CDATA[Cambridge, MA ]]></publisher-loc>
<publisher-name><![CDATA[The M.I.T. Press]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
