20.04.2015 Views

Redes de Petri Estocasticas

Redes de Petri Estocasticas

Redes de Petri Estocasticas

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong><br />

Estocásticas<br />

Carlos Aguirre<br />

Universidad Autonoma <strong>de</strong> Madrid, Dpto Ingenieria Informatica


<strong>Re<strong>de</strong>s</strong> Estocásticas<br />

<br />

<br />

Definición: Una red <strong>de</strong> <strong>Petri</strong> Estocástica es una red <strong>de</strong> <strong>Petri</strong><br />

con transiciones con tiempo, disparo atómico y en la que los<br />

restrasos <strong>de</strong> transición son variables aleatorias con<br />

distribución exponencial negativa.<br />

El comportamiento <strong>de</strong> este tipo <strong>de</strong> re<strong>de</strong>s se pue<strong>de</strong> <strong>de</strong>scribir<br />

mediante un proceso estocástico.


<strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong> con tiempo.<br />

<br />

El tiempo no estaba incluido en el mo<strong>de</strong>lo original<br />

<strong>de</strong> <strong>Petri</strong>.<br />

<br />

Una transición disparaba <strong>de</strong> forma “inmediata”<br />

<br />

Hoy en dia se consi<strong>de</strong>ra que es necesario<br />

introducir el tiempo en algunos mo<strong>de</strong>los <strong>de</strong> re<strong>de</strong>s<br />

<strong>de</strong> <strong>Petri</strong>.


El tiempo se introduce con el fin <strong>de</strong> po<strong>de</strong>r<br />

<br />

Evaluar el rendimiento <strong>de</strong> un sistema<br />

<br />

Analizar problemas <strong>de</strong> scheduling en sistemas<br />

dinámicos.<br />

<br />

El tiempo se ha <strong>de</strong> introducir en las <strong>Re<strong>de</strong>s</strong> <strong>de</strong><br />

<strong>Petri</strong> <strong>de</strong> tal forma que:<br />

<br />

Los mo<strong>de</strong>los con tiempo y sin tiempo sean<br />

consistentes<br />

<br />

Permita calcular indices <strong>de</strong> rendimiento <strong>de</strong>l<br />

sistema.


Lugares (Places) con tiempo (TPPN)<br />

<br />

Los tokens generados por una lugar <strong>de</strong><br />

entrada estan disponibles para una<br />

transición sólo <strong>de</strong>spues <strong>de</strong> pasado un<br />

tiempo el cual es una propiedad <strong>de</strong>l lugar.


Tokens con tiempo<br />

<br />

Los tokens llevan una marca <strong>de</strong> tiempo<br />

que indican cuando estan disponibles para<br />

una transición.<br />

<br />

La marca <strong>de</strong> tiempo se pue<strong>de</strong> incrementar<br />

en cada transición disparada.


Arcos con tiempo<br />

<br />

Se asocia un retraso a cada arco, los<br />

tokes solo estan disponibles para disparar<br />

cuando han alcanzado la transición.


Transiciones con tiempo (TTPN)<br />

<br />

Las transiciones representan activida<strong>de</strong>s.<br />

• El inicio <strong>de</strong> la actividad correspon<strong>de</strong> con la<br />

habilitacion <strong>de</strong> la transición.<br />

•El fin <strong>de</strong> la actividad correspon<strong>de</strong> con el<br />

disparo <strong>de</strong> la activación.


Transiciones con tiempo (TTPN)<br />

<br />

Las transiciones con tiempo permiten diferentes<br />

políticas <strong>de</strong> disparo:<br />

•Disparo en tres fases<br />

•Los tokens se eliminan <strong>de</strong> los lugares <strong>de</strong> entrada cuando<br />

se habilita la transición<br />

•Se espera un tiempo<br />

•Los tokens se generan en los lugares <strong>de</strong> <strong>de</strong>stino<br />

•Disparo atómico<br />

•Los tokens permanecen en los lugares <strong>de</strong> entrada hasta<br />

que la transición dispara.<br />

•Se eliminan <strong>de</strong> los lugares <strong>de</strong> entrada y se crean en los<br />

lugares <strong>de</strong> <strong>de</strong>stino cuando la transición dispara.


<strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong> con Tiempo<br />

<br />

<br />

Normalmente se consi<strong>de</strong>ran TTPN con disparo<br />

atómico:<br />

•Conservan el comportamiento basico <strong>de</strong>l mo<strong>de</strong>lo sin tiempo.<br />

•Es posible aprovechar la teoria <strong>de</strong>sarrollada para<br />

<strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong> sin tiempo (invariantes,<br />

alcanzabilidad,..).<br />

Hay dos posibles especificaciones <strong>de</strong> tiempo<br />

•Tiempo constante (Red <strong>de</strong> <strong>Petri</strong> con tiempo<br />

<strong>de</strong>terminista)<br />

•Tiempo variable (aleatorio) (Red <strong>de</strong> <strong>Petri</strong> estocástica)


Funcionamiento <strong>de</strong> cada transición<br />

<br />

Se asume que cada transicion tiene asociado un reloj.<br />

•Cuando la transicion se habilita, se establece el valor<br />

<strong>de</strong> reloj al retraso establecido para la transición.<br />

•El contador se <strong>de</strong>crementa <strong>de</strong> forma constante hasta<br />

que alcanza el valor 0.<br />

•En ese momento la transición dispara.


Conflictos<br />

<br />

<br />

Cuando mas <strong>de</strong> una transición con tiempo y disparo<br />

atomico está habilitada el funcionamiento es igual al caso<br />

anterior para cada transición<br />

El problema surje cuando hay varias transiciones<br />

habilitadas<br />

•¿ Cual <strong>de</strong> ellas dispara ?<br />

•¿ Que ocurre con las que no disparan ?


Reglas <strong>de</strong> selección<br />

<br />

<br />

Preselección<br />

•Se elige la transición habilitada que dispara <strong>de</strong><br />

acuerdo a algun tipo <strong>de</strong> métrica (prioridad,<br />

probabilidad, etc).<br />

Carrera<br />

•Dispara la transición habilitada que tiene un tiempo <strong>de</strong><br />

retraso menor.


Politicas <strong>de</strong> Memoria<br />

<br />

<br />

Pue<strong>de</strong> ocurrir que una transición que<strong>de</strong> <strong>de</strong>sabilitada por el<br />

disparo <strong>de</strong> otra transición con la que está en conflicto.<br />

•¿ Que ocurre con el reloj cuando la transición se<br />

vuelve a habilitar ?<br />

•Mecanismos básicos<br />

• Continuar: La transición <strong>de</strong>shabilitada “para” la<br />

cuenta atras <strong>de</strong> su reloj y la continua la proxima vez<br />

que la transición esta habilitada<br />

• Reiniciar: La transición reinicia su reloj (quizá con<br />

un nuevo valor) cada vez que se habilita.<br />

A partir <strong>de</strong> los dos mecanismos anteriores es posible<br />

contruir varias politicas <strong>de</strong> memoria para una transición.


Politicas <strong>de</strong> Memoria<br />

<br />

Reinicio<br />

•Cada vez que dispara una transición con tiempo<br />

todas las transiciones <strong>de</strong> la red se reinician.<br />

•No hay memoria <strong>de</strong>l pasado<br />

•Las transiciones habilitadas obtienen nuevos<br />

valores <strong>de</strong> tiempo.


Politicas <strong>de</strong> Memoria<br />

<br />

Memoria <strong>de</strong> habilitación<br />

•Cuando una transicion dispara, los relojes <strong>de</strong> todas las<br />

transiciones que son <strong>de</strong>shabilitadas se reinician, las<br />

transiciones que permanecen habilitadas conservan su<br />

valor.<br />

•Le memoria se graba en una variable <strong>de</strong> memoria <strong>de</strong><br />

habilitacion asociada a cada transición.<br />

•Esta variable cuenta el trabajo realizado por la<br />

actividad asociada a la transición <strong>de</strong>s<strong>de</strong> la ultima vez<br />

que su reloj fue reiniciado, es <strong>de</strong>cir mi<strong>de</strong> el tiempo<br />

transcurrido <strong>de</strong>s<strong>de</strong> que la transición se habilitó.


Politicas <strong>de</strong> Memoria<br />

<br />

Memoria <strong>de</strong> edad<br />

•Cuando una transicion dispara, los relojes <strong>de</strong> todas las<br />

transiciones mantienen sus valores.<br />

•Le memoria se graba en una variable <strong>de</strong> memoria <strong>de</strong><br />

edad asociada a cada transición.<br />

•Esta variable cuenta el trabajo realizado por la<br />

actividad asociada a la transición <strong>de</strong>s<strong>de</strong> la última vez<br />

que la transicion disparó.<br />

•Esta variable mi<strong>de</strong> el tiempo <strong>de</strong> habilitación<br />

acumulado <strong>de</strong>s<strong>de</strong> la ultima vez que la transición<br />

disparó.


Habilitación <strong>de</strong> una transición<br />

<br />

<br />

Se llama grado <strong>de</strong> habilitación <strong>de</strong> una transición el<br />

número <strong>de</strong> veces que una transición pue<strong>de</strong> disparar, dada<br />

una marca, antes <strong>de</strong> estar <strong>de</strong>sabilitada.<br />

Si el grado es mayor que uno, se pue<strong>de</strong>n consi<strong>de</strong>rar<br />

diferentes semanticas <strong>de</strong> tiempo.<br />

•Semantica <strong>de</strong> servidor simple<br />

•Semantica <strong>de</strong> servidor multiple<br />

•Semantica <strong>de</strong> servidor infinito


Semantica <strong>de</strong> servidor simple<br />

<br />

<br />

<br />

El retraso <strong>de</strong> disparo se establece cuando la transición se<br />

habilita.<br />

Se establecen nuevos retrasos <strong>de</strong>spues <strong>de</strong> cada disparo<br />

si la transición está todavia habilitada con la nueva marca.<br />

Los tokens se procesan en serie


Semantica <strong>de</strong> servidor multiple<br />

<br />

<br />

Los conjuntos <strong>de</strong> tokens que producen la habilitación <strong>de</strong><br />

la transición se procesan simultaneamente hasta un grado<br />

maximo <strong>de</strong> paralelismo (por ejemplo K)<br />

Para valores mayores <strong>de</strong>l grado <strong>de</strong> habilitación, los relojes<br />

asociados a tokens que habilitan la transición se inician<br />

solo cuando el numero <strong>de</strong> relojes funcionando es menor<br />

que K.


Semantica <strong>de</strong> servidor infinito<br />

<br />

<br />

<br />

Todos los conjuntos tokens se procesan tan pronto como<br />

llegan a las entradas <strong>de</strong> la transición<br />

Cada conjunto tiene un retraso <strong>de</strong> disparo, los relojes<br />

asociados a estos retrasos <strong>de</strong>scien<strong>de</strong>n <strong>de</strong> forma<br />

simultanea.<br />

Los conjuntos <strong>de</strong> tokens se procesan en paralelo.


Ejemplo<br />

<br />

Consi<strong>de</strong>remos una transición con grado <strong>de</strong> habilitacion 3,<br />

supongamos que cada conjunto tiene un tiempo <strong>de</strong><br />

retraso <strong>de</strong> 3, 2 y 4 unida<strong>de</strong>s..


Colas<br />

<br />

Una vez que la transición ha disparado, los tokens se<br />

pue<strong>de</strong>n remover <strong>de</strong> los lugares <strong>de</strong> entrada <strong>de</strong> distintas<br />

formas.<br />

•Aleatoria.<br />

•Mediante un sistema <strong>de</strong> colas, con o sin prioridad.


Procesos estocásticos.<br />

<br />

Una variable aleatoria es una función real <strong>de</strong>finida sobre<br />

un espacio <strong>de</strong> probabilidad (espacio muestral).<br />

•Ejemplo 1: Consi<strong>de</strong>remos el experimento aleatorio que<br />

consiste en lanzar tres monedas, supongamos que a cada<br />

elemento <strong>de</strong> su espacio muestral E={ccc, ccx, cxc, xcc, cxx,<br />

xcx, xxc, xxx} le asignamos un número real, el<br />

correspondiente al número <strong>de</strong> caras.<br />

•Ejemplo 2:Supongamos el experimento aleatorio que<br />

consiste en lanzar dos dados, po<strong>de</strong>mos asignar a cada<br />

resultado la suma <strong>de</strong> los puntos aparecidos en cada dado.<br />

•Ejemplo 3:Consi<strong>de</strong>remos el experimento que consiste en<br />

elegir al azar 500 personas y medir su estatura. La ley que<br />

asocia a cada persona con su talla es una variable aleatoria.


Procesos estocásticos.<br />

<br />

Si un experimento con espacio muestral E, tiene asociada la variable<br />

aleatoria X, es natural que se planteen preguntas como: ¿Cuál es la<br />

probabilidad <strong>de</strong> que X tome un <strong>de</strong>terminado valor?, esto nos lleva a<br />

establecer, por convenio, la siguiente notación:<br />

•(X=x) representa el suceso "la variable aleatoria X toma el valor x",<br />

y<br />

•p(X=x) representa la probabilidad <strong>de</strong> dicho suceso.<br />

•(X


Procesos estocásticos.<br />

<br />

La función <strong>de</strong> <strong>de</strong>nsidad <strong>de</strong> probabilidad f(x) <strong>de</strong> la<br />

variable aleatoria X es una función real tal que:


Procesos estocásticos.<br />

<br />

<br />

Un proceso estocástico {X(t); t ∈ T}, es una familia<br />

<strong>de</strong> variables aleatorias <strong>de</strong>finidas sobre el mismo<br />

espacio <strong>de</strong> probabilidad, in<strong>de</strong>xadas por el parametro<br />

t.<br />

Los procesos estocásticos son mo<strong>de</strong>los útiles para la<br />

<strong>de</strong>scripción <strong>de</strong> fenómenos <strong>de</strong> tipo probabilístico que<br />

es función <strong>de</strong> un parámetro que pue<strong>de</strong> ser el tiempo.


Procesos estocásticos.<br />

<br />

Una realización (o camino) <strong>de</strong> un proceso<br />

estocástico es un cojunto <strong>de</strong> valores x(i) producidos<br />

por la realización <strong>de</strong> las variables aleatorias X(i)


Procesos estocásticos.<br />

<br />

<br />

La <strong>de</strong>scripción probabilística <strong>de</strong> un proceso<br />

estocástico viene dada por la función <strong>de</strong> <strong>de</strong><br />

distribución <strong>de</strong> probabilidad conjunta <strong>de</strong> cualquier<br />

conjunto <strong>de</strong> variables aleatorias extraido <strong>de</strong>l proceso.<br />

• P{X(1)


Procesos <strong>de</strong> Markov<br />

<br />

<br />

<br />

<br />

Un Proceso <strong>de</strong> Markov es un caso particular <strong>de</strong><br />

proceso estocástico.<br />

Los procesos <strong>de</strong> Markov tienen una <strong>de</strong>scripción<br />

probabilística mas simple<br />

Un proceso <strong>de</strong> Markov es un proceso estocastico<br />

que verifica la propiedad <strong>de</strong> Markov, es <strong>de</strong>cir:<br />

•P{X(t)


Ca<strong>de</strong>nas <strong>de</strong> Markov<br />

<br />

<br />

Si el espacio muestral es numerable entonces el<br />

proceso <strong>de</strong> Markov se <strong>de</strong>nomina ca<strong>de</strong>na <strong>de</strong> Markov<br />

Si a<strong>de</strong>más el parametro t es continuo, el proceso se<br />

<strong>de</strong>nomina Ca<strong>de</strong>na <strong>de</strong> Markov con tiempo Continuo.


Ca<strong>de</strong>nas <strong>de</strong> Markov<br />

<br />

<br />

<br />

Buscamos por tanto una distribución <strong>de</strong> probabilidad<br />

tal que se mantenga la propiedad siguiente:<br />

•P(X > x+|X>P(X>x) para todo x y <br />

La unica función <strong>de</strong> distribución <strong>de</strong> probabilidad que<br />

verifica lo anterior es la distribución exponencial<br />

negativa:<br />

•f(x)=e ­x<br />

La distribución exponencial negativa tiene un sólo<br />

parámetro que correspon<strong>de</strong> al valor inverso <strong>de</strong> su<br />

esperanza, es <strong>de</strong>cir si X tiene una distribucion<br />

exponencial negativa E[X]=1/


Propieda<strong>de</strong>s <strong>de</strong> la exponencial<br />

•Si tenemos dos variables aleatorias, X e Y ambas<br />

con distribución exponencia negativa <strong>de</strong><br />

parámetros y respectivamente, la variable<br />

aleatoria Z <strong>de</strong>finida como Z=min(X,Y) tambien<br />

tiene distribución exponencial negativa con funcion<br />

<strong>de</strong> distribución<br />

• f(x)=(e ­(x


Descripción <strong>de</strong> las ca<strong>de</strong>nas <strong>de</strong> Markov<br />

•Una ca<strong>de</strong>na <strong>de</strong> Markov se pue<strong>de</strong> <strong>de</strong>scribir mediante<br />

un diagrama <strong>de</strong> transicion <strong>de</strong> estado.<br />

●<br />

O bien mediante matriz <strong>de</strong> transición <strong>de</strong> estado Q<br />

<strong>de</strong>nominada generador infinitesimal


Descripción <strong>de</strong> las ca<strong>de</strong>nas <strong>de</strong> Markov<br />

• La solución <strong>de</strong> una ca<strong>de</strong>na <strong>de</strong> Markov a tiempo t es<br />

la distribución <strong>de</strong> probabilidad sobre el conjunto <strong>de</strong><br />

estados. (t)={ <br />

(t), <br />

(t), <br />

(t),....} con <br />

(t)=P{X(t)=i}<br />

•Se pue<strong>de</strong> <strong>de</strong>mostrar que:<br />

• d(t)/dt = (t)Q cuya solución se pue<strong>de</strong> escribir<br />

(t)= (0)H(t) con H(t)=e Qt


Descripción <strong>de</strong> las ca<strong>de</strong>nas <strong>de</strong> Markov<br />

• La solución <strong>de</strong> una ca<strong>de</strong>na <strong>de</strong> Markov a tiempo<br />

estacionario es la distribución <strong>de</strong> probabilidad sobre el<br />

conjunto <strong>de</strong> estados.<br />

•Esta distribución solamente existe para Ca<strong>de</strong>nas <strong>de</strong><br />

Markov ergódicas.<br />

•La distribución <strong>de</strong>l estado estacionario (t) ={ <br />

, <br />

, <br />

,....} con <br />

= lim t→∞<br />

<br />

(t) se calcula como la solución <strong>de</strong>l<br />

sistema <strong>de</strong> ecuaciones Q=0 con la condición ∑ i<br />

<br />

=1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!