Você está na página 1de 9

www.vb-mundo.

com

Redes De Petri
Indice
1. Introducción.
2. Estructura de una red de Petri.
3. Representación gráfica de una red de Petri.
4. Reglas de disparo para una PN.
5. Redes de Petri Coloreadas
6. Modelado con Redes de Petri
7. Conclusiones

1. Introducción.
Las redes de Petri representan una alternativa para modelar sistemas, sus características hacen que,
para algunos problemas las redes de Petri funcionen de una manera natural.
Las PN como ahora conoceremos a las redes de Petri (Petri Net) fueron inventadas por el alemán Karl
Adam Petri en 1962. En su tesis doctoral "kommunikation mit automaten" (Comunicación con
autómatas), establece los fundamentos para el desarrollo teórico de los conceptos básicos de las PN.
Las PN son consideradas una herramienta para el estudio de los sistemas. Con su ayuda podemos
modelar el comportamiento y la estructura de un sistema, y llevar el modelo a condiciones límite, que en
un sistema real son difíciles de lograr o muy costosas.
La teoría de PN ha llegado a ser reconocida como una metodología establecida en la literatura de la
robótica para modelar los sistemas de manufactura flexibles.
Comparada con otros modelos de comportamiento dinámico gráficos, como los diagramas de las
máquinas de estados finitos, las PN ofrecen una forma de expresar procesos que requieren sincronía. Y
quizás lo más importante es que las PN pueden ser analizadas de manera formal y obtener información
del comportamiento dinámico del sistema modelado.
Para modelar un sistema se usan representaciones matemáticas logrando una abstracción del sistema,
esto es logrado con las PN, que además pueden ser estudiadas como autómatas e investigar sus
propiedades matemáticas.
¿Qué tipo de sistemas podemos modelar con las PN? Y ¿Cómo logramos la analogía entre el sistema
real y el modelo usando una PN? son dos de las preguntas a las que debemos atender. Para esto
pongamos atención a los sistemas: una idea fundamental en un sistema es que se compone de módulos
que interactúan entre sí, los cuales pueden ser considerados por si mismos un sistema, y podríamos
estudiar su comportamiento por separado y de esta manera aislarlos, pero siempre teniendo en cuenta
la interacción que guardan con los otros módulos.
Ahora deseamos conocer en que condiciones se encuentran los módulos, es como si detuviéramos al
sistema en el tiempo, las condiciones internas de los módulos determinarían el estado en el que se
encuentran, para esto entendemos que un sistema es un arreglo dinámico que en el transcurso del
tiempo tiene variaciones y no permanece estático. El estado de un módulo con frecuencia depende de
su historia, es decir de las acciones dadas en un tiempo anterior.
Hablemos de dos conceptos importantes: acciones y estados, las acciones nos conducen a un estado
determinado del módulo en el tiempo, las acciones de un módulo en un sistema pueden ocurrir
simultáneamente con las acciones de otros módulos, dado que ellos interacúan entre sí, es necesario
sincronizar los eventos. Esto puede resultar en que las condiciones de un módulo en el tiempo necesitan
como entradas las salidas de otro, él cual necesita más tiempo para generar las salidas, es entonces
cuando pensamos en paralelismo y concurrencia. Las PN fueron diseñadas específicamente para
modelar este tipo de sistemas.
Tomemos dos conceptos más: eventos y condiciones, los eventos son las acciones que se dan en el
sistema y nos llevan a un estado, podemos describir un estado como un conjunto de condiciones. Es
útil, para nuestro caso, representar dichas condiciones por medio de predicados.
Para que cierto evento ocurra es necesario que ciertas condiciones se cumplan, estas son llamadas pre-
condiciones del evento, la ocurrencia del evento nos puede llevar a otras condiciones y es entonces
cuando se dan las post-condiciones.
Para modelar un sistema en una PN debemos reconocer las condiciones y los eventos que se dan en él,
de esta manera podemos hacer la analogía entre el sistema y el modelo, al conocer las condiciones que
se necesitan para dar cierto evento podemos diseñar los módulos y relacionarlos con otras condiciones,
y para esto necesitamos saber la estructura de una PN para saber que corresponde a una condición y
un evento en la red.
2. Estructura de una red de Petri.
Las PN se componen de cuatro partes:
 Un conjunto de nodos.
 Un conjunto de transiciones.
 Una función de entrada y
 Una función de salida.

Las funciones de entrada y salida relacionan a los nodos y a las transiciones. La función de entrada es
un mapeo de una transición tj a una colección de nodos conocidos como los nodos de entrada de una
transición. La estructura de una PN es definida por los nodos, las transiciones, la función de entrada y la
función de salida.
Definición: La estructura de la PN P=(P,T,I,O) donde:
P={p1,p2,…,pn} es un conjunto finito de nodos, con n 0.
T={t1,t2,…,tm} es un conjunto finito de transiciones con m 0.
P T=
I,O: T P
Un nodo pi es un nodo de entrada de la transición tj sí pi I(tj); pi es un nodo de salida sí pi O(tj). Las
entradas y salidas de una transición son conjuntos que tienen elementos repetidos o múltiples
ocurrencias de nodos (bags). La multiplicidad de un nodo de entrada p i para una transición tj es el
número de ocurrencias del nodo en el bag de entrada de la transición. Escribimos esto como: #(p i,I(tj)).
De igual forma para la salida lo cual escribimos: #(pi,O(tj)).

Ejemplo:
P=(P,T,I,O)
P={p1,p2,p3, p4, p5} T={t1,t2,t3, t4, t5}
I(t1) ={p1} O(t1)={p2, p3, p5}
I(t2) ={p2, p3, p5} O(t2)={p5}
I(t3) ={p3} O(t3)={p4}
I(t4) ={} O(t4)={p2, p3}
I(t5) ={p4} O(t5)={p2, p3}
Donde:
#(p3,I(t2))=1 #(p5,O(t1))=1

Una marca U es una característica de la PN, marca U es una asignación de tokens a la PN. Un token es
un concepto primitivo de una PN, un número de ellos reside en los nodos y se mueve entre ellos; los
tokens son la parte dinámica de la PN, su número puede variar entre nodos y son los que determinan la
situación de la red en un momento determinado.
Definición: Una marca U de una PN P=(P,T,I,O) es una función U: P N.
Es decir el nodo pi tiene U(pi) tokens.
La PN puede ser considerada también como un modelo de flujo de información, en donde el
comportamiento dinámico de los tokens representan el flujo. Dicho de otra manera la información
depende de lo que la PN esta modelando.

3. Representación gráfica de una red de Petri.


La representación gráfica de una PN es importante porque al observar el modelo del sistema en forma
gráfica y observar como cambia de un estado a otro puede mantener la atención y dar una perspectiva
más clara a quién esté analizando el problema.
Definición: Una gráfica G de una PN P=(P,T,I,O) es una gráfica múltiple bipartita dirigida G=(V,A) donde
V={ v1, v2, …, vn} es un conjunto de vértices y A={ a1, a2, …, an} es un conjunto de arcos dirigidos
ai=(vj,vk) con vj, vk V, V=P T para cada ai A se cumple aj=(vj,vk) vj P, vk T, ó vj T, vk P.
Un circulo representa un nodo; una barra representa una transición. Los arcos o curvas conectan los
nodos y las transiciones, si un arco va de un nodo a una transición, el nodo será una entrada y si el arco
va de una transición a un nodo, el nodo será una salida de esa transición. Los tokens son representados
por pequeños puntos .
Ahora consideremos la PN vista anteriormente:
P=(P,T,I,O)
P={p1,p2,p3, p4, p5} T={t1,t2,t3, t4, t5}
I(t1) ={p1} O(t1)={p2, p3, p5}
I(t2) ={p2, p3, p5} O(t2)={p5}
I(t3) ={p3} O(t3)={p4}
I(t4) ={} O(t4)={p2, p3}
I(t5) ={p4} O(t5)={p2, p3}
Donde:
#(p3,I(t2))=1 #(p5,O(t1))=1

p2
t5
• •• t4 •
p5
p1 p4
t2
t1

p3 t3

4. Reglas de disparo para una PN.


La ejecución en una PN es controlada por el número y distribución de los tokens que tiene. Los tokens
presentes en los nodos controlan la ejecución de las transiciones de la red. Una PN se activa disparando
transiciones. Una transición es disparada removiendo tokens de los nodos de entrada y creando tokens
de salida. De aquí podemos obtener la primera condición de disparo en una transición: todos los nodos
de entrada de la transición, deben tener al menos el mismo número de tokens, que de arcos que van
hacia la transición, para que ésta sea disparada, cuando la transición cumpla esta condición se dice que
es una transición ENABLED.
Definición: Una transición tj T en una PN P=(P,T,I,O) con una marca U es ENABLED si para todo pj
P, U(pj)>=#( pj,I(tj)).
Por ejemplo una transición t3 con I(t3)={p3} y O(t3)={p4} es ENABLED sólo cuando p3 tiene al menos un
token. Cuando t3 es disparada sólo un token es quitado a p3 y un token es depositado en p4 (sí tuviera
más nodos de salida, depositaria un token en cada uno de ellos). Es decir por cada arco de salida es
liberado un token.

Consideremos la siguiente PN:


Sólo 3 transiciones están en un estado ENABLED t1, t3, t4. La transición t2 no puede ser disparada

p2

• •
t4 p4
p1 t1 p5
t2

••
p3 t3
porque no hay tokens en el nodo p2, el cual es entrada de ella. Dado que t1, t3 y t4 son ENABLED
cualquiera de ellas puede ser disparada. Podemos asociar de manera natural un vector u enlistando los
valores de U. Así para la PN mostrada tenemos u=(1,0,2,1,0). Sí la transición t4 es disparada, remueve
tokens de cada entrada y los deposita en cada salida, entonces remueve un token de p4 y deposita un
token en p2 e incrementa el número de tokens en p3 de dos a tres; el vector u sería (1,1,3,0,0) y el
estado de la red se mueve a como se muestra en la siguiente figura.


p2

• t4 p4
p1 t1 p5
t2

••
p3 t3
Las transiciones pueden seguir disparándose indefinidamente hasta llegar a un estado deseado o hasta
que ninguna pueda ser disparada.
De lo anterior surgen dos preguntas:
¿Cómo decidimos que transición debe dispararse?
¿Porqué no podemos disparar dos transiciones al mismo tiempo?
Decidir que transición debe dispararse depende de nuestro modelo y sí podemos disparar más de una
transición en un mismo instante entonces estamos hablando de paralelismo.
Pensemos en un ejemplo concreto: queremos sumar cuatro números cualesquiera por medio de una
PN. Dependiendo de cada número se ponen tantos tokens en los nodos correspondientes p 1, p2, p3 y p4.
Los primeros resultados parciales se almacenan en p5, y los últimos en p6, una transición para cada
nodo es la que se encarga de quitar unidades en los sumandos y poner unidades en el resultado,
cuando se efectúan las dos sumas, se realiza una tercera suma, la realizan t5 y t6, su resultado se pone
en p7. El orden en el que se realizan las operaciones no es un orden secuencial ya que la primer suma
puede ocurrir indistintamente de las sumas anteriores.


•• t1 t5
p1
t2
•• p5
p2

•• t3 p7
p3
••• t4
•• p6 t6
p4

5. Redes de Petri Coloreadas


Las redes de Petri coloreadas (CPN) pertenecen a la familia de las PN, la diferencia viene marcada por
las consideraciones en CPN de colores y de funciones lineales asociadas a sus arcos. Los tokens de
color pueden representar un atributo o distintivo, si es necesario definir dos atributos entonces surge la
idea de colores compuestos. Una transición en CPN está en estado ENABLED si todos sus nodos de
entrada contienen un número de colores igual o mayor que los definidos por fi<c> donde fi es una
función lineal asociada al nodo pi con la transición tj. Entonces además del concepto de color, estas
redes manejan una función asociada para los elementos de las funciones I,O de la PN.
Es fácil ver en una Red las transiciones que están ENABLED y observar que a veces son más de dos
transiciones las que se pueden disparar, en la siguiente figura notamos que t 1 y t2 pueden dispararse,
pero si t1 es disparada, t2 dejará de ser ENABLED y si disparamos t2, no podremos disparar t1. Esto es
conocido como un conflicto y nos ayuda a modelar problemas de sincronización.

Extensiones al Modelo de Redes de Petri


Un arco inhibidor es otro componente de una PN, éste va de un nodo a una transición y es representado
con un pequeño circulo al final del arco. La transición que tiene arcos inhibidores no puede dispararse si
el nodo de entrada contiene por lo menos tantos tokens como la multiplicidad del arco inhibidor. Así por
ejemplo la siguiente figura disparará cuando p1 tenga un token, y p2 no tenga tokens.
En general las extensiones a la teoría de PN dependen del modelo o la aplicación donde se estén
usando.

Redes de Petri Temporales.


p1

p2
t1 p3
Este tipo de redes son las que consideran el tiempo en el modelo. Es una consideración importante ya
que los sistemas reales casi siempre es indispensable considerarlo en la sincronización de los procesos.
El modelo más simple es el que asigna duración a:
1. Los nodos, en el sentido de que una condición es verdadera para una cierta cantidad de tiempo.
2. La transición, en el sentido de que un evento toma una cierta cantidad de tiempo en ocurrir.
Cuando la duración de los eventos no son fijos, o no pueden ser expresados con valores nominales,
simplemente se estiman límites dentro de los cuales el evento puede ocurrir.

6. Modelado con Redes de Petri


Eventos y condiciones.
Podemos modelar sistemas complejos con PN, dividiendo el sistema en eventos y condiciones y de esta
manera encontrar la analogía con la PN. Se toma como referencia que las condiciones que se dan en un
sistema, son representadas por los nodos, ya que los tokens indican si esta condición se cumple o no, y
los eventos con las transiciones, que necesitan de condiciones para poder ser disparadas.
Consideremos el siguiente sistema: Un taller que tiene tres máquinas, M1,M2 y M3, y dos operadores
O1 y O2. El operador O1 puede trabajar las máquinas M1 y M2 y el operador O2 las máquinas M1 y M3.
Las ordenes requieren de dos procesos, el primer proceso debe ser hecho por la máquina M1 y el
segundo proceso puede ser hecho con la máquina M2 o la M3. Enlistemos las condiciones y los
eventos:

Condiciones
A Una orden ha llegado y está esperando
B Una orden ha sido trabajada y está esperando ser procesada por M2 o M3
C La orden es completada
D La máquina M1 está desocupada
E La máquina M2 está desocupada
F La máquina M3 está desocupada
G El operador O1 está sin trabajo
H El operador O2 está sin trabajo
I El operador O1 está ocupando la máquina M1
J El operador O2 está ocupando la máquina M1
K El operador O1 está ocupando la máquina M2
L El operador O2 está ocupando la máquina M3

Eventos
1. Llega una orden
2. El operador O1 empieza la orden en M1
3. El operador O1 termina la orden en M1
4. El operador O2 empieza la orden en M1
5. El operador O2 termina la orden en M1
6. El operador O1 empieza la orden en M2
7. El operador O1 termina la orden en M2
8. El operador O2 empieza la orden en M3
9. El operador O2 termina la orden en M3
10. La orden es terminada y liberada

Precondiciones y postcondiciones de cada evento


Condiciones Iniciales: d, e, f, g, h
Eventos Precondiciones Postcondiciones
1 Ninguna A
2 A, G, D I
3 I G, D, B
4 A, H, D J
5 J B, H, D
6 B, G, E K
7 K C, G, E
8 B, f , H I
9 L C, F, H
10 c Ninguna

La PN se muestra a continuación:

e
2
7

i
3 k

c
6
a • d b

l
1
10
5
f
j

4 • 8
9

El problema de los cinco filósofos.


Este problema puede dar una idea clara del potencial de una PN, el problema consiste de cinco filósofos
que en forma alternada piensan y comen.
Están sentados en una mesa circular donde ha sido depositada comida china, cada filósofo tiene frente
a él un plato donde servirse y entre cada uno de ellos un palillo chino. Como sabemos, para comer
comida china necesitamos dos palillos, entonces cada filósofo para comer debe tener dos palillos en su
poder.
El problema está en que si cada filósofo tiene un sólo palillo en su poder todos los filósofos entrarán en
una espera eterna para comer, otro problema puede surgir y es el que un filósofo obtenga siempre los
dos palillos y se mantenga comiendo, lo que producirá que los otros filósofos no puedan comer (cayendo
en un estado de inanición). Analicemos los eventos y condiciones de este problema así como las
precondiciones y postcondiciones para un sólo filósofo y luego para más.
Condiciones
1 El palillo 1 está ocupado
2 El palillo 2 está desocupado
3 El palillo1 está ocupado
4 El palillo 2 está ocupado
5 El filósofo está meditando
6 El filósofo está comiendo

Eventos
1 El filósofo empieza a meditar
2 El filósofo empieza a comer

Condiciones iniciales: 1,2, 5


Eventos Precondiciones Postcondiciones
1 6 1,2,5
2 1,2,5 3,4,6

Sí ahora se trata de dos filósofos se obtendrá lo siguiente:

Condiciones
1 El palillo 1 está ocupado
2 El palillo 2 está desocupado
3 El palillo1 está ocupado
4 El palillo 2 está ocupado
5 El filósofo 1 está meditando
6 El filósofo 1 está comiendo
7 El filósofo 2 está meditando
8 El filósofo 2 está comiendo

Eventos
1 El filósofo 1 empieza a meditar
2 El filósofo 1 empieza a comer
3 El filósofo 2 empieza a meditar
4 El filósofo 2 empieza a comer

Condiciones iniciales: 1,2, 5


Eventos Precondiciones Postcondiciones
1 6 3, 4, 5
2 3, 4, 5 1, 2, 6
3 8 3, 4, 7
4 3, 4, 7 1, 2, 8

Como sabemos las condiciones corresponden a nodos y los eventos a transiciones, las condiciones 1 y
3, 2 y 4 pueden modelarse con un sólo nodo. El problema para cinco filósofos es modelado como se
muestra en la siguiente figura. Los nodos P1,.,P5 representan los palillos, al inicio cuando todos los
filósofos piensan, cada nodo tiene un token. Cada filósofo es representado por dos nodos M y C
representan los estados meditando y comiendo respectivamente. Para que un filósofo coma es
necesario que tenga los dos palillos en sus manos, entonces sus dos nodos deben tener un token y de
esta manera poder comer.

C1
P5 P1

C5 C2
M1

M5
M2

• P2

P4

M3
M4
• •

C4 •

P3 C3

7. Conclusiones
Podemos concluir diciendo de que las Redes de Petri son una alternativa de modelado de sistemas,
aplicados principalmente hacia el control y proceso, por su facilidad de manejo en el problema de la
sincronización de procesos.
También se dijo que constan de cuatro partes:
Nodos
Transiciones
Funciones de entrada
Funciones de salida
Las entradas y/o salidas de una transición son conjuntos que pueden tener elementos repetidos o
múltiples ocurrencias.
Cuentan con una asignación de tokens que es la parte dinámica de las Redes de Petri.
Las Redes de Petri se pueden representar gráficamente, un circulo representa un nodo y una
barra representa una transición, y los tokens son representados por pequeños puntos .
Las Redes de Petri tienen reglas de disparo, siendo la principal, la que dice: "todos los nodos de
entrada de la transición, deben tener al menos el mismo número de tokens, que número de arcos van
hacia la transición para que ésta sea disparada". Cuando la transición cumple dicha condición se dice
que es ENABLED.
Existen extensiones a las Redes de Petri: por ejemplo las Redes de Petri Coloreadas (PNC), las
Redes de Petri Temporales, Redes de Petri Estocásticas.
Podemos modelar los sistemas dividiéndolos en eventos y condiciones. Las condiciones son
representadas por los nodos, y los eventos por las transiciones.

Trabajo enviado por:


Mabel Gonzales Urmachea
mabelgonzalesu@hotmail.com

Você também pode gostar