20.04.2015 Views

Redes de Petri Estocasticas

Redes de Petri Estocasticas

Redes de Petri Estocasticas

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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!