Redes de Petri Estocasticas
Redes de Petri Estocasticas
Redes de Petri Estocasticas
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