• No se han encontrado resultados

3.2 Derivando la función de importancia

3.2.3 Algoritmo de derivación

En la Sección 2.7 se explicó que la elección de función de importancia tiene serias implicaciones en la eficiencia de la división multinivel, cualquiera sea el método específico seleccionado. Los Ejemplos 1 y 2 proveen evidencia de la sensibilidad de la técnica de división ante tal elección. En general queda claro que las simulaciones que siguen alguna estrategia de división son guiadas por esta función, que selecciona las direcciones en que el esfuerzo computacional debe ser intensificado.

En la Sección 3.1 se dijo que las funciones de importancia intentan aproximar la verdadera importancia de los estados de acuerdo con la Definición 11. Dicha definición fue expresada intencionalmente en términos de trayectorias a través de los estados: recuérdese que para un camino simulado a través del modelo, la verdadera importancia del estado sS puede describirse como la probabilidad de observar al evento raro (i.e. visitar un estado raro del conjunto A(S) luego de visitar a s. Dicha probabilidad tiende a decrecer con la distancia, medida en número de transiciones, entre s y el evento raro. Esto claro en el caso de los modelos DTMC donde las transiciones tienen pesos probabilísticos. Mientras más pasos de simulación sean necesarios, menor será el valor producto que representa la probabilidad conjunta de tomar todas las transiciones correctas que nos llevan desde s hasta A de la forma más directa posible.

3.2.3 Algoritmo de derivación 63

Algo muy similar ocurre con los modelos CTMC. Iniciando una trayectoria desde el estado s, en cada paso se genera una condición de carrera que puede desviar al camino simulado de la vía más directa que la llevaría hasta A†. Por ende mientras más corta sea la ruta, mayor chance habrá de alcanzar el evento raro sin incurrir en desviaciones.

Este análisis sugiere que para ambos formalismos, caminos más largos hasta A implican menores probabilidades de observar el evento raro. Por consiguiente en el caso promedio de las simulaciones que comienzan desde sS, la distancia hasta A (medida como el número de transiciones) y la importancia de s deberían ser magnitudes inversamente proporcionales. Si pudiéramos rastrear o al menos conjeturar las trayectorias que guían a las simulaciones desde s hasta A, alguna noción de la distancia entre ellos podría ser determinada, y usada para elegir una importancia apropiada para s.

Claramente el peso probabilístico (o la tasa) de las transiciones afecta la importancia real de s. Pospondremos empero consideraciones que incluyan estas magnitudes; ellas serán tratadas en estadíos más avanzados de la estrategia que proponemos en este capítulo. La derivación de la función de importancia será enteramente determinada por el grafo de adyacencia inherente a la matriz de transiciones del modelo.

La idea central es bastante simple: comenzando en simultáneo de todos los estados que componen a A, realizar un análisis concurrente de alcanzabilidad revertida en el sistema de transiciones del modelo, i.e. una corrida de BFS que atraviese el grafo de transiciones usando las aristas con sus direcciones invertidas. Cada iteración del algoritmo visitará una nueva capa de estados, que estarán un paso más alejados de Aque los estados de la iteración previa. Las capas sucesivas de estados visitadas en cada iteración del algoritmo son decoradas con valores de importancia decreciente. El pseudocódigo se presenta en el Algoritmo 1, donde

M es el modelo del sistema y s0 es su estado inicial.

Así la distancia del camino más corto que lleva desde cada estado hacia A es computado con una búsqueda a lo ancho (breadth-first search) de complejidad

O(b n), dondenes el tamaño del espacio de estados ybes el grado de ramificación del grafo de adyacencia. Nótese que aunque bn en el peor escenario, i.e. si se cuenta con una matriz de transiciones densa, b es normalmente muchos órdenes de magnitud más chico que el número total de estados.

Para cada estado sS, su importancia f(s) es pues calculada como el inverso de su distancia al estado raro más cercano, donde la distancia de s0 a A es la mayor considerada. En ese sentido nótese que el ciclo exterior puede finalizar antes de haber visitado todos los estados, ni bien hallamos a s0. Esto

es así porque en el Algoritmo 1, el estado inicial del sistema tendrá la menor importancia, concretamente f(s0)

.

= 0. La descripción de RESTART implica que así debe ocurrir, dado que no hay eventos D0 que puedan truncar a la

simulación original. En general no se le puede sacar provecho a los estados que tienen menor importancia que s0; dividir/truncar para aumentar el muestreo en

regiones tan alejadas del evento raro generará sobrecarga innecesaria de cómputo, †Esto puede formularse con más rigor estudiando la cadena markoviana embebida en elCTMC.

Algoritmo 1 Derivación de la función de importancia de un modelo.

Entrada: módulo M

Entrada: conjunto de estados raros A6= g(A) ← 0

queue.push(A) {denota a los estados deA como visitados}

repeat

s ← queue.pop()

for all s0 ∈M.predecessors(s) do

if s0 not visitedthen g(s0) ← g(s) + 1

queue.push(s0) {denota a s0 como visitado}

end if end for

until queue.is_empty()or s0 visited g(s) ← g(s0) for every non visited state s f(s) ← g(s0)−g(s) for every state s Salida: función de importancia f: SN

sin recompensas que justifiquen el esfuerzo.

El Algoritmo 1 hace dos suposiciones de sus entradas:

1) asume un acceso de caja negra al grafo de adyacencia (invertido) de M por medio de la funciónM.predecessors: S→2S;

2) espera que se le provea el conjunto de estados raros A ( S como entrada explícita.

La suposición 1 puede satisfacerse fácilmente, dado que la dinámica de cadenas de Markov de tiempo discreto y continuo suele ser almacenada en formato matricial, del cual el grafo de adyacencia puede obtenerse directamente. La suposición 2 es menos directa, dado que la entrada del usuario en ese sentido es una consulta de propiedad como en las Ecuaciones (7) y (8). Algún mecanismo debe ser ideado, para transformar la fórmula lógica que expresa al evento raro en el conjunto de estados que la satisfacen. Cubrimos este punto en la Subsección 3.3.2. Con estas consideraciones en mente podemos proveer una prueba de terminación.

Proposición 6 (Terminación del algoritmo de derivación de la función de impor- tancia). Sea M un modeloDTMC oCTMCfinito, yA6= el conjunto de estados raros del espacio de estados S de M, derivado de alguna consulta transitoria o estacionaria del usuario. Entonces, comenzando de las entradas M y A, el Algoritmo 1 termina luego de realizar un número finito de iteraciones.

Demostración. Como M es un modeloDTMC o CTMC finito, el conjunto S es finito y también lo es el grafo de adyacencia derivado de la matriz de transiciones

P o R. Trabajar con un grafo finito nos garantiza que el ciclo for–do terminará todas las veces que sea iniciado, puesto que hay un número finito de antecesores

3.2.3 Algoritmo de derivación 65

para cada estado. Denótese “visitar” la acción de meter un estado en la colaqueue. El predicado condicional dentro del ciclo interno nos asegura que cada estado será visitado a lo sumo una vez, y el ciclo externo quita un elemento de queue

con cada iteración. Por ende contar con un S finito basta para garantizar que la primera condición de la guarda del ciclo externorepeat–until eventualmente será satisfecha. Como dicha condición de guarda es una disyunción, esta argumentación asegura que el ciclo externo realizará un número finito de iteraciones. 2 De hecho la Proposición 6 puede ser aplicado al modelo M de cualquier proceso estocástico finito, dado que la propiedad de pérdida de memoria de las cadenas de Markov no fue usada en la prueba. La única complicación posible está ligada a la forma en que se expresa el sistema de transiciones, pero igualmente el algoritmo terminará en un número finito de iteraciones, siempre y cuando se cuente con una función de caja negra M.predecessors: S →2S.

El Algoritmo 1 genera una función donde todo camino simulado que siga una trayectoria más corta desde el estado actual hasta el conjunto de estados raros, atravesará un secuencia monótonamente creciente de valores de importancia. Llamaremos a esto la condición de monotonicidad de la función de importancia. Pero hay que resaltar que la función resultante no es necesariamente correcta, en el sentido de que no siempre calculará la importancia real de los estados del modelo. Esto es evidente ya que los pesos o tasas de las transiciones son ignorados. Tomemos por ejemplo unDTMCdonde los estadossys0 se encuentran respectivamente a dos y una transiciones de distancia de A, pero donde ambas transiciones que llevan desde s hasta A tienen probabilidad 1, mientras que la que conecta a s0 con A tiene probabilidad 12. El Algoritmo 1 le dará mayor importancia a s0, lo cual se contradice con la Definición 11 de importancia real.

Este problema es contrarrestado en la estrategia abarcadora que se introduce en la siguiente sección para automatizar la división por importancia. Contar con implementaciones completamente abarcadoras como ésta es conveniente desde un punto de vista práctico. Pero lo que es más importante, también son una forma de evitar errores derivados de una malinterpretación de las sutilezas de cada técnica particular. Una implementación errónea combinada con una elección pobre de función de importancia puede en ocasiones generar estimaciones incorrectas, como se muestra en el siguiente ejemplo.

Ejemplo 3 : Estimación errónea de unRESTARTincorrecto.

Considérese elDTMC con seis estados representado aquí, con la función de importancia{(s0,0), (s1,1), (s2,1), (s3,0), (s4,2), (s5,0)}. El estado inicial

es s0 y el evento raro (si bien no es tan raro. . . ) es A ={s4}. Las regiones

de importancia estarán dadas por el único umbral L1 = 1, i.e. las zonas Z0

.

= {s0, s3, s5} y Z1 .

= {s1, s2, s4} forman la partición de los estados que

s0 s1 s2 s3 s4 raro s5 parar 1 2 12

Comos5 es un estado de parada, la probabilidad transitoria de que un camino

simulado desde s0 alcance al evento raro antes de parar es trivialmente γ = 1,

como lo sugeriría cualquier análisis por simulación de Monte Carlo estándar. Recordemos que el estimadorRESTARTpara análisis transitorio es ˆγ = K NM

0,

donde M es el número de caminos simulados que alcanzaron el evento raro, N0 es el total de simulaciones RESTART iniciadas en s0, y K es la división

acumulada entre el estado inicial y el máximo valor de importancia.

Como hay un único umbral, L1, K es justamente la división que se lleve a

cabo en L1. Es razonable asumir que K >1, pues de lo contrario RESTART

no diferiría de Monte Carlo estándar. Digamos por ejemplo queK = 2. Nótese que las simulaciones que escojan el camino a través des3 truncarán

todas las copias creadas ens1, dado que que éstas se trasladarán desde la zona Z1 hacia la zona Z0 generando un evento D1. El único camino de simulación

que puede sobrevivir la transicións1 →s3 es la copia original del nivel 0. En

el siguiente paso de simulación, cuando esta copia tome la transicións3 →s4,

se introduce en el conjunto raroA al mismo tiempo que genera un evento B1.

Hay dos implementaciones posibles de RESTART: atender primero el evento B1, o considerar primero la entrada en A. En el segundo caso no se estará

dividiendo al camino de simulación cuando éste se traslada desde Z0 hacia Z1, y estadísticamente tendríamos

l´ım N0→∞

M = 3 4N0 ,

porque la mitad de los caminos simulados tomarán la transición s1 → s3,

y con K = 2 la mitad de dichos caminos serán copias de nivel 1 que serán truncadas cuando visiten as3.

Como puede verse, aplicar RESTART de la forma propuesta resulta en la estimación ˆγ ≈ 3/4N0

2N0 =

3/86= γ. Nótese a su vez que la brecha entre ˆγ y la verdadera probabilidad transitoria γ se exacerba cuando el valor de división

enL1 es aumentado. 2

Hay dos problemas cuya conjunción llegó aRESTART a estimar incorrecta- mente un valor para P(¬pararUraro) en el Ejemplo 3. Primero, la función de importancia propuesta no satisface la condición de monotonicidad. Es decir, no todos los caminos que llevan a una simulación desde el estado inicial hacia el