• No se han encontrado resultados

4. Algoritmo Gen´ etico Guiado Din´ amicamente por los Datos

4.6. Utilizaci´ on del Conocimiento para Sintonizar los Valores de

4.6.1. M´ etodo Computacional

El M´etodo Computacional es un m´etodo desarrollado para inyectar co- nocimiento de forma din´amica en el algoritmo gen´etico. Para ello se uti- lizar´a informaci´on almacenada en archivos de texto plano, configurando nuestra base de conocimiento. Esta base de conocimiento nos proporcio- nar´a los valores del viento que queremos obtener.

En la base de conocimiento se describen distintos casos de incendios. Esta informaci´on puede ser datos de incendios reales, datos hist´oricos de fuegos sucedidos y estudiados posteriormente o pueden ser incendios obte- nidos a partir de simulaciones obtenidas con alg´un simulador. Cualquiera de los casos es v´alido para nuestra aplicaci´on.

Un factor importante de la base de conocimiento es la completitud de la misma. Es importante tener la mayor cantidad de casos de incendios posibles, ya que la calidad de los datos inyectados depender´a fuertemente de la completitud de esta base de conocimiento.

De todas formas, como es dif´ıcil garantizar esto, asumimos una falta de completitud en la misma, lo cual definir´a un aspecto importante durante la inyecci´on de datos que ser´a comentado m´as adelante en este mismo cap´ıtulo (secci´on 4.7: Inyecci´on de Datos).

El M´etodo Computacional se basa en buscar el caso m´as parecido al incendio real (incendio a predecir), para el instante ti+1. Dada la pendiente

observada en el entorno del incendio, se busca la pendiente m´as parecida en la base de conocimiento, y el caso de incendio con propagaci´on m´as similar al observado en el instante ti+1. Una vez hallado el fuego que mostr´o el

comportamiento m´as parecido en la base de conocimiento, se consideran los valores del viento de dicho incendio como los valores ideales para el caso en estudio.

Formato de los Datos en la Base de Conocimiento

A continuaci´on se detallan los datos almacenados y utilizados en nuestra aplicaci´on. Cada incendio de nuestra base de conocimiento est´a descrito por: Modelo de combustible: uno de los 13 modelos descritos en el cap´ıtulo 2.

Pendiente: grados de inclinaci´on del terreno.

Direcci´on de propagaci´on: direcci´on donde ocurre la m´axima veloci- dad de propagaci´on del fuego observada en el incendio.

Velocidad de propagaci´on: velocidad observada en la direcci´on de m´axima propagaci´on.

Distancia: distancia recorrida por el fuego.

Direcci´on del viento: direcci´on del viento presente en ese incendio. Velocidad del viento: velocidad del viento presente en ese incendio. A modo de ejemplo, la figura 4.22 muestra algunos posibles registros de la base de conocimiento (donde la pendiente hace referencia a la inclinaci´on del terreno y se muestra en radianes).

Figura 4.22: Formato de los registros de la base de conocimiento. En este punto vale la pena considerar algunos detalles, consideraciones que fueron estudiadas en el momento de la implementaci´on y utilizaci´on de este m´etodo.

de posibles casos que deber´ıan estar inclu´ıdos en estas tablas. Por un la- do, en estas tablas no se especifican todos los factores que influyen en un incendio (falta por ejemplo, las humedades del combustible vivo, muerto, etc.). Entonces, este conocimiento es una abstracci´on, que intenta, utilizan- do las caracter´ısticas m´as influyentes e importantes, representar distintos comportamientos de fuegos.

Por otro lado, es posible observar que no se incluye en estas tablas la orientaci´on de la pendiente. Este factor es muy importante, ya que deter- mina la direcci´on del fuego.

Es f´acil notar que en la propagaci´on del fuego, no importan las direc- ciones absolutas del viento y de la pendiente, sin´o su relaci´on. En nuestra aplicaci´on (y en el simulador utilizado), se trabaja con la diferencia de di- chas direcciones, esto es, ´angulos relativos y no absolutos. El simulador utilizado tambi´en trabaja de esta forma, y se ve reflejado en la l´ınea 25 del algoritmo 4.5.1.

Es por esta raz´on, que se toma la direcci´on del viento como relativa a 0, donde 0 es la orientaci´on de la pendiente (origen).

En la pr´oxima secci´on se explicar´a c´omo se ha obtenido la base de co- nocimiento utilizada en este trabajo y en la secci´on subsiguiente, se expli- car´a c´omo se utiliza la informaci´on recolectada de la base de conocimiento para guiar el avance del algoritmo gen´etico.

Creaci´on de la Base de Conocimiento para Nuestra Experimen- taci´on

En nuestro caso, los datos de la base de conocimiento son fuegos sint´eti- cos, obtenidos utilizando el simulador fireLib y analizando la evoluci´on del fuego a partir del an´alisis de los frentes del fuego explicado anteriormente. Existen diversas formas de obtener esta base de conocimiento, pero en nuestro caso, hemos realizado diversas simulaciones tratando de abarcar to- do el espacio de estudio, discretizando los distintos datos de tal forma que todas las zonas est´an representadas. Entonces, cada variable (par´ametro de entrada del simulador) se discretiz´o de la siguiente forma:

Modelo: modelos de combustibles est´andar: del modelo 1 al 13. Pendiente: de 0oa 57,3o, pasos de 6,3o (de 0 a 1 radian, paso de 0,11

radianes).

Direcci´on del viento: de 0oa 360o, con pasos de 45o(considerando las 8 direcciones principales de aut´omatas celulares).

Velocidad del viento: 0 a 30 millas por hora, variando cada 3 millas por hora.

Las humedades utilizadas en estos casos, fueron estudiadas modelo por modelo (cada modelo de combustible) y se utilizaron valores medios de los mismos, para que no dificulte la propagaci´on del fuego, ni tampoco, por el contrario, acelere su propagaci´on de forma indiscriminada. La pendiente se var´ıa hasta 57,3o dado que el comportamiento del fuego es similar para

pendientes con mayor inclinaci´on. Algo similar ocurre con el viento, cuan- do este supera una determinada velocidad, la influencia del mismo sobre el fuego es la misma.

Como se ha mencionado anteriormente, se consideran direcciones rela- tivas: se asume la direcci´on de la pendiente como origen, y el verdadero significado de la direcci´on de la propagaci´on real de las tablas es el ´angulo que forma con esta direcci´on origen. Lo ´unico que resta es considerar que a la direcci´on del viento retornada por la rutina se le suma los grados de la direcci´on de la pendiente para retornar la direcci´on del viento acorde a dicho escenario.

En este punto, es ´util considerar algunas particularidades del viento y de la pendiente. Como hemos dicho, se considera que las direcciones tanto del viento como de la propagaci´on son relativas a la de la pendiente (ori- gen). Entonces, tener un viento con direcci´on 180o, es casi imposible, pues

es naturalmente extra˜no estar en presencia de un viento que vaya en contra de la pendiente. Y as´ı no s´olo con esta direcci´on, sin´o tambi´en con un rango m´as amplio cercano a este valor.

De todas formas, para no perder completitud consideramos tambi´en la inclusi´on de estos valores en nuestra base de conocimiento.

Para implementar la base de conocimiento, en nuestra aplicaci´on sim- plemente se han utilizado ficheros planos dada la facilidad de su utilizaci´on y disponibilidad. Existen ya ampliaciones a este trabajo donde se conside- ran las ventajas de implementar esta base de conocimiento utilizando un motor de base de datos [50].

Utilizaci´on de la Base de Conocimiento para Descubrir los Valores del Viento

Antes de la aplicaci´on del algoritmo gen´etico, se utiliza el m´etodo compu- tacional para obtener los datos del viento que sean ´optimos para, en combi- naci´on con la pendiente, lograr una propagaci´on similar a la observada en la realidad. A continuaci´on, graficaremos con un ejemplo el procedimiento realizado para extraer de la base de conocimiento los datos del viento re- queridos.

Se tiene un mapa con modelo de vegetaci´on 7 (arbustos con muchas ramas) y pendiente de 1 radi´an (57,3 grados), y el mapa muestra una pro-

pagaci´on a 45 grados (azimuth) y velocidad de 20 pies por minuto, entonces, seg´un los datos de la figura 4.22, la rutina seleccionar´a el registro mostrado en la figura 4.23.

A continuaci´on se utilizar´a la direcci´on y la velocidad del viento pro-

Figura 4.23: Registro seleccionado por el m´etodo.

puestos, pero no como valores exactos para guiar la b´usqueda, sino que se utilizar´an para acotar el rango por donde var´ıan los valores de direcci´on y velocidad del viento en la operaci´on de mutaci´on del algoritmo gen´etico. Esta mutaci´on, tomar´a un valor aleatorio en un rango con centro igual a los valores retornados por la rutina y amplitud acotada por un valor pre- determinado.

Se considera que en la base de datos no es posible tener todas las com- binaciones de pendiente, viento y comportamiento del fuego que se puedan dar en la realidad (resultan ser un n´umero muy elevado de combinaciones). Esta falta de completitud en la base de conocimiento define que se utilicen estos valores para definir un nuevo subrango de variaci´on.

La figura 4.24 (a) muestra el rango de variaci´on de la direcci´on del viento que, sin guiar, puede tomar cualquier valor dentro del rango 0..360 grados. En la figura 4.24 (b) se muestra c´omo se reduce el espacio donde la direc- ci´on del viento puede variar cuando el algoritmo gen´etico es guiado. Este valor es configurable pero en nuestras experimentaciones, se toma un rango de ±5 grados a partir del valor retornado por la rutina.

Algo similar sucede con la velocidad, en este caso, el rango original es de 0..30 millas por hora y el rango acotado queda definido entre los valores ±2 a partir del valor retornado por la rutina implementada. Esto se ilustra en las figuras 4.25 (a) y (b).

(a)

(b)

Figura 4.24: (a) Rango de variaci´on de la direcci´on del viento sin guiar la b´usqueda. (b) Rango acotado por el M´etodo Computacional.

Como se puede ver en las figuras 4.24 (b) y 4.25 (b) acotar los rangos de variaci´on de estos dos par´ametros es ´util ya que reduce el espacio de b´usqueda, acelerando la convergencia hacia individuos que generar´an simu- laciones m´as cercanas a la realidad.

Una caracter´ıstica importante de este m´etodo es que es totalmente inde- pendiente del simulador y del marco de la aplicaci´on donde se lo utiliza. Y a la inversa, tambi´en la forma de implementar este M´etodo Computacional no est´a restringida ni al simulador ni a la aplicaci´on que la contenga. Por esto, se puede ver este m´etodo como una caja negra, posibilitando as´ı su modificaci´on sin tener que modificar el resto de la aplicaci´on, y a la inversa, se puede modificar su entorno sin ser necesario considerar cambios dentro de este m´etodo.

Esta caracter´ıstica es muy importante ya que permite a la aplicaci´on “evolucionar” tambi´en, por ejemplo, cambiar el simulador, cambiar el len- guaje de programaci´on, etc. Tambi´en el M´etodo Computacional puede me- jorar independientemente de la aplicaci´on [50].

Para verificar la correctitud del M´etodo Computacional propuesto, se ha implementado el M´etodo Anal´ıtico, el cual ser´a explicado en las pr´oximas secciones.

4.6.2.

M´etodo Anal´ıtico

En este caso, hemos estudiado y considerado la forma en que el simula- dor implementa las ecuaciones del modelo de Rothermel, y se utilizar´a es-

(a)

(b)

Figura 4.25: (a) Rango de variaci´on de la velocidad del viento sin guiar la b´usqueda. (b) Rango acotado por el M´etodo Computacional.

te procedimiento de la forma m´as conveniente para descubrir los valores del viento ideales para cada uno de los individuos de la poblaci´on que se est´e evolucionando.

Entonces, se han agregado c´alculos en el simulador, los cuales utilizan resultados parciales del mismo para retornar los datos que son ´utiles en nuestro m´etodo. Este m´etodo realiza estos c´alculos para cada uno de los individuos: dependiendo de c´omo propaga cada individuo, retorna el viento ideal que deber´ıa tener dicho individuo para lograr el avance real del fuego. Entonces, dadas sus caracter´ısticas se espera que este m´etodo sea m´as preciso que el M´etodo Computacional, pero como es f´acil notar, es total- mente dependiente del simulador. Por este motivo, no se lo puede ver como caja negra, y cualquier cambio en la aplicaci´on, es probable que acarrease cambios en el m´etodo.

Basado en el modelo de Rothermel, el simulador fireLib utiliza la direc- ci´on y velocidad del viento y los grados de inclinaci´on y la orientaci´on de la pendiente para determinar la direcci´on de m´axima propagaci´on del fuego. En el cap´ıtulo 2 se han presentado algunas de las ecuaciones de este modelo. A continuaci´on se reescriben dos de ellas para lograr mayor claridad en la explicaci´on del m´etodo:

R = Irξ(1 + Φw+ Φs)

P bεQig (4.6)

La ecuaci´on 4.6 determina el ´ındice de propagaci´on del fuego en base a la energ´ıa cal´orica liberada por el frente del fuego y la requerida por los com-

bustibles para arder. La ecuaci´on 4.7 es la composici´on de las caracter´ısticas del viento y de la pendiente que, juntas, determinan la direcci´on en la que ocurre la m´axima propagaci´on del fuego:

Φ = Φw+ Φs (4.7)

En esta ´ultima ecuaci´on, Φ es el vector resultante de la direcci´on de m´axima propagaci´on del fuego. Es el resultado de la combinaci´on de los efectos del viento a altura de media llama (Φw) y el efecto de la pendiente (Φs) [21].

De una forma esquem´atica y simplificada, en la figura 4.26 (a) y (b) se muestra c´omo se componen las caracter´ısticas de la pendiente y del viento para determinar c´omo se propaga el fuego (implementaci´on de las ecuacio- nes 4.6 y 4.7).

Ahora bien, ¿c´omo resuelve el simulador esta parte de las ecuaciones del modelo? Sea Φwel efecto del viento y β su direcci´on, Φsel efecto de la

pendiente y α su orientaci´on (figura 4.26 (a)). Entonces, se suman ambos vectores para componer un tercer vector que determina el ´angulo de m´axi- ma propagaci´on y el ´ındice de propagaci´on (en la figura 4.26 (b) δ y max respectivamente). Este nuevo vector tiene altura determinada por (ecuaci´on 4.8):

altura = y = sen(α) ∗ Φs+ sen(β) ∗ Φw (4.8)

y base igual a (ecuaci´on 4.9):

base = x = cos(α) ∗ Φs+ cos(β) ∗ Φw (4.9)

y el ´angulo δ definido por estos dos vectores. En el Ap´endice A se muestra paso a paso c´omo se llega a estas ecuaciones.

El estudio exhaustivo del simulador nos permiti´o descubrir que estas ecuaciones se resuelven en diversas l´ıneas de una operaci´on del simulador. Esta operaci´on es la que descubre la direcci´on e intensidad del fuego en la direcci´on de m´axima propagaci´on, justamente descrita anteriormente en el algoritmo 4.5.1 en este mismo cap´ıtulo. En dicho algoritmo, las l´ıneas 25 a 33 resuelven estas ecuaciones.

Pero, como hemos dicho, en el simulador no se trabaja con direcciones absolutas, sino relativas (diferencia entre la orientaci´on de la pendiente y la direcci´on del viento, l´ınea 25 del algoritmo 4.5.1). La orientaci´on de la pendiente es el origen, por lo que α es 0. Entonces, las ecuaciones que se implementan son:

altura = y = sen(β) ∗ Φw ya que sen(α) = 0 (4.10)

y:

La ecuaci´on 4.10 es implementada por la l´ına 29 del algoritmo 4.5.1 y la ecuaci´on 4.11 es implementada por la l´ınea 28 del mismo algoritmo. Es ´util notar ahora que β entonces ya no es la direcci´on del viento, sin´o la diferencia entre ´esta y la orientaci´on de la pendiente.

Figura 4.26: (a) Vectores del viento y de la pendiente. (b) Composici´on del vector de propagaci´on del fuego a partir de la combinaci´on del viento y de la pendiente.

Entonces, ¿c´omo se utiliza esto para definir nuestro M´etodo Anal´ıtico? Como muestra la figura 4.27 (a) en el instante ti+1, momento en que se

realizar´a la etapa de ajuste, se dispone de los datos de la pendiente y, luego del an´alisis del mapa real, se dispone del conocimiento de la propagaci´on del fuego en ti+1. A partir de estos datos, sabiendo c´omo se obtiene el ´angulo

de m´axima propagaci´on (figura 4.26 (b)) se puede determinar el efecto y la direcci´on del viento necesarios para llegar a la propagaci´on real (figura 4.27 (b)).

Entonces, a partir de las ecuaciones 4.8 y 4.9, es posible despejar los datos del viento, ya que se conocen los datos de la pendiente (Φs y α) y

Figura 4.27: (a) Conocimiento disponible: datos de la pendiente y propa- gaci´on real. (b) Obtenci´on de las caracter´ısticas del viento ideal.

los datos de la propagaci´on (x, y y δ). As´ı, se despejan y se obtienen las caracter´ısticas del viento: su efecto (Φw, ecuaci´on 4.12) y su direcci´on (β,

ecuaci´on 4.13): Φw= x − Φscos(α) cos(β) (4.12) β = arctan(y − Φssen(α) x − Φscos(α) ) (4.13)

De esta forma, obtenemos las caracter´ısticas del viento que ser´an uti- lizadas para guiar las operaciones del algoritmo gen´etico. El valor de Φw,

ser´a utilizado para obtener la velocidad del viento (en millas por hora) que se deber´ıa utilizar como par´ametro para llegar al efecto del viento Φw en

la simulaci´on. La secuencia de pasos para llegar a los resultados anteriores se encuentran explicados en el Ap´endice B.

Las figuras y las ecuaciones est´an esquematizadas y simplificadas. Es importante considerar que tanto el efecto del viento como de la pendiente est´an atenuados por factores que dependen del tipo de combustible, hu- medades del combustible muerto, humedad del combustible vivo, etc. El

c´alculo de las ecuaciones (4.12) y (4.13) est´a representado trigonom´etrica- mente, sin incluir los c´alculos que hace el simulador al modelizar a trav´es de vectores estos fen´omenos (viento, pendiente y propagaci´on del fuego). Adem´as no est´a inclu´ıda la propagaci´on sin considerar viento y pendiente que tambi´en influyen en la propagaci´on final obtenida.

En resumen, el M´etodo Anal´ıtico utiliza f´ormulas y ecuaciones que re- aliza el simulador, pero en el orden y forma convenientes para obtener los datos del viento necesarios para guiar la b´usqueda durante las evoluciones del algoritmo gen´etico.

En este m´etodo, al igual que en el M´etodo Computacional, el an´alisis del mapa de propagaci´on real se realiza una sola vez al comienzo de la etapa de ajuste. Pero el c´alculo del viento ideal en el M´etodo Anal´ıtico se hace por cada uno de los individuos, aprovechando de esta forma resultados parciales (por ejemplo, propagaci´on del individuo sin viento y sin pendiente) para determinar los valores del viento para cada individuo en particular. Estos valores del viento calculados, se almacenan con cada uno de los individuos como atributos del mismo.

Mientras que el M´etodo Computacional considera una posible falta de completitud de la base de conocimiento, el M´etodo Anal´ıtico busca, para cada uno de los individuos, los valores ideales que el viento deber´ıa tener para propagar como el fuego real. El M´etodo Anal´ıtico entonces promete ser m´as preciso que el M´etodo Computacional.

Por otro lado, el M´etodo Anal´ıtico realiza operaciones propias dentro de las funciones del simulador fireLib. Esto lo hace totalmente dependiente del simulador, siendo imposible su uso con cualquier otro simulador (por m´as que tambi´en se base en las ecuaciones del modelo de Rothermel).

Por estas caracter´ısticas se asume que el comportamiento de ambos m´etodos es comparable, y aunque se espera mayor precisi´on en los resulta- dos del M´etodo Anal´ıtico, los mismos ser´an utilizados como comprobaci´on y verificaci´on del correcto funcionamiento del M´etodo Computacional.

La ´ultima secci´on de este cap´ıtulo contemplar´a distintas formas de rea- lizar la gu´ıa en nuestro algoritmo gen´etico. Para ambos m´etodos (Compu-

Documento similar