Una red de Petri, también conocida como red de lugar / transición (PT), es uno de varios lenguajes de modeladomatemático para la descripción de sistemas distribuidos. Es una clase de sistema dinámico de eventos discretos. Una red de Petri es un gráfico bipartito dirigido que tiene dos tipos de elementos, lugares y transiciones, representados como círculos blancos y rectángulos, respectivamente. Un lugar puede contener cualquier número de fichas, representadas como círculos negros. Una transición está habilitada si todos los lugares conectados a ella como entradas contienen al menos un token. Algunas fuentes afirman que las redes de Petri fueron inventadas en agosto de 1939 por Carl Adam Petri —a la edad de 13 años— con el propósito de describir procesos químicos.
Una red de Petri consta de lugares, transiciones y arcos. Los arcos van de un lugar a una transición o viceversa, nunca entre lugares o entre transiciones. Los lugares desde los que se extiende un arco hasta una transición se denominan lugares de entrada de la transición; los lugares a los que se extienden los arcos desde una transición se denominan lugares de salida de la transición.
Gráficamente, los lugares en una red de Petri pueden contener un número discreto de marcas llamadas tokens. Cualquier distribución de fichas sobre los lugares representará una configuración de la red llamada marca. En un sentido abstracto relacionado con un diagrama de red de Petri, una transición de una red de Petri puede dispararse si está habilitada, es decir, hay suficientes fichas en todos sus lugares de entrada; cuando se activa la transición, consume los tokens de entrada necesarios y crea tokens en sus lugares de salida. Un disparo es atómico, es decir, un solo paso no interrumpible.
A menos que se defina una política de ejecución (por ejemplo, un orden estricto de las transiciones, que describa la precedencia), la ejecución de las redes de Petri no es determinista : cuando se habilitan varias transiciones al mismo tiempo, se activarán en cualquier orden.
Dado que la activación no es determinista y pueden estar presentes múltiples tokens en cualquier lugar de la red (incluso en el mismo lugar), las redes de Petri son adecuadas para modelar el comportamiento concurrente de sistemas distribuidos.
y son conjuntos finitos disjuntos de lugares y transiciones, respectivamente.
es un conjunto de arcos ( dirigidos) (o relaciones de flujo).
Definición 2. Dada una red N = ( P, T, F), una configuración es un conjunto C de modo que C ⊆ P.
Una red de Petri con transición habilitada. La red de Petri que sigue después de la transición se dispara (red de Petri inicial en la figura anterior).
Definición 3. Una red elemental es una red de la forma EN = ( N, C) donde:
N = ( P, T, F) es una red.
C es tal que C ⊆ P es una configuración.
Definición 4. Una red de Petri es una red de la forma PN = ( N, M, W), que extiende la red elemental de modo que:
N = ( P, T, F) es una red.
M : P → Z es un conjunto de lugares múltiples, donde Z es un conjunto contable. M amplía el concepto de configuración y se describe comúnmente con referencia a los diagramas de red de Petri como una marca.
W : F → Z es un arco múltiple, de modo que la cuenta (o peso) de cada arco es una medida de la multiplicidad del arco.
Si una red de Petri es equivalente a una red elemental, entonces Z puede ser el conjunto contable {0,1} y aquellos elementos en P que se asignan a 1 bajo M forman una configuración. De manera similar, si una red de Petri no es una red elemental, entonces el multiconjunto M puede interpretarse como que representa un conjunto de configuraciones que no son singleton. En este sentido, M extiende el concepto de configuración para redes elementales a las redes de Petri.
En el diagrama de una red de Petri (ver figura superior derecha), los lugares se representan convencionalmente con círculos, transiciones con rectángulos largos y estrechos y arcos como flechas unidireccionales que muestran conexiones de lugares a transiciones o transiciones a lugares. Si el diagrama fuera de una red elemental, entonces esos lugares en una configuración se representarían convencionalmente como círculos, donde cada círculo abarca un solo punto llamado símbolo. En el diagrama dado de una red de Petri (ver a la derecha), los círculos de lugar pueden abarcar más de una ficha para mostrar el número de veces que aparece un lugar en una configuración. La configuración de los tokens distribuidos en todo un diagrama de red de Petri se denomina marca.
En la figura superior (ver a la derecha), el lugar p 1 es un lugar de entrada de transición t ; mientras que el lugar p 2 es un lugar de salida para la misma transición. Sea PN 0 (figura superior) una red Petri con una marca configurada M 0, y PN 1 (figura inferior) sea una red Petri con una marca configurada M 1. La configuración de PN 0 permite la transición t mediante la propiedad de que todos los lugares de entrada tienen un número suficiente de fichas (mostradas en las figuras como puntos) "igual o mayor" que las multiplicidades en sus respectivos arcos at. Una vez y solo una vez que se habilita una transición, se activará la transición. En este ejemplo, el disparo de la transición t genera un mapa que tiene la marca configurada M 1 en la imagen de M 0 y da como resultado una red de Petri PN 1, que se ve en la figura inferior. En el diagrama, la regla de activación para una transición se puede caracterizar restando un número de tokens de sus lugares de entrada igual a la multiplicidad de los respectivos arcos de entrada y acumulando un nuevo número de tokens en los lugares de salida igual a la multiplicidad de los respectivos arcos de salida.
Observación 1. El significado preciso de "igual o mayor" dependerá de las propiedades algebraicas precisas de la suma que se apliquen a Z en la regla de disparo, donde variaciones sutiles en las propiedades algebraicas pueden conducir a otras clases de redes de Petri; por ejemplo, redes de Petri algebraicas.
La siguiente definición formal se basa libremente en ( Peterson 1981). Existen muchas definiciones alternativas.
Sintaxis
Un gráfico de red de Petri (llamado red de Petri por algunos, pero ver más abajo) es una tupla de 3, donde
S y T son inconexos, es decir, ningún objeto puede ser tanto un lugar como una transición.
es un conjunto múltiple de arcos, es decir, asigna a cada arco una multiplicidad (o peso) de arcos enteros no negativos ; tenga en cuenta que ningún arco puede conectar dos lugares o dos transiciones.
La relación de flujo es el conjunto de arcos:. En muchos libros de texto, arcos sólo pueden tener multiplicidad 1. Estos textos definen a menudo las redes de Petri utilizando F en lugar de W. Cuando se utiliza esta convención, un gráfico de red de Petri es un bipartitomultigrafo con particiones nodo S y T.
El preajuste de una transición t es el conjunto de sus lugares de entrada: ; su postset es el conjunto de sus lugares de salida:. Las definiciones de pre y postconjuntos de lugares son análogas.
Una marca de una red de Petri (gráfico) es un conjunto múltiple de sus lugares, es decir, un mapeo. Decimos que la marca asigna a cada lugar un número de fichas.
Una red de Petri (llamada red de Petri marcada por algunos, ver arriba) es una tupla de 4, donde
es un gráfico de red de Petri;
es la marca inicial, una marca del gráfico de red de Petri.
Semántica de ejecución
En palabras:
disparar una transición t en una marca M consume tokens de cada uno de sus lugares de entrada s, y produce tokens en cada uno de sus lugares de salida s
se habilita una transición (puede dispararse) en M si hay suficientes tokens en sus lugares de entrada para que los consumos sean posibles, es decir, si y solo si.
En general, estamos interesados en lo que puede suceder cuando las transiciones pueden dispararse continuamente en un orden arbitrario.
Decimos que una marca M ' es accesible desde una marca M en un paso si ; decimos que es accesible desde M si, donde está el cierre transitivo reflexivo de ; es decir, si es accesible en 0 o más pasos.
Para una red de Petri (marcada), nos interesan los disparos que se pueden realizar a partir del marcaje inicial. Su conjunto de marcas alcanzables es el conjunto
El gráfico de accesibilidad de N es la relación de transición restringida a sus marcas alcanzables. Es el espacio de estados de la red.
Una secuencia de disparo para una red de Petri con gráfico G y marca inicial es una secuencia de transiciones tal que. El conjunto de secuencias de disparo se denota como.
Variaciones sobre la definición
Como ya se ha comentado, una variación común es no permitir arco multiplicidades y sustituir la bolsa de arcos W con un juego simple, llamada la relación de flujo,. Esto no limita el poder expresivo ya que ambos pueden representarse entre sí.
Otra variación común, por ejemplo, en Desel y Juhás (2001), es permitir que las capacidades se definan en los lugares. Esto se analiza en las extensiones siguientes.
Formulación en términos de vectores y matrices
Las marcas de una red de Petri pueden considerarse vectores de enteros de longitud no negativos.
(b) Ejemplo de red de Petri
Su relación de transición se puede describir como un par de por matrices :
, definido por
, definido por
Entonces su diferencia
se puede utilizar para describir las marcas alcanzables en términos de multiplicación de matrices, como sigue. Para cualquier secuencia de transiciones w, escriba para el vector que mapea cada transición a su número de ocurrencias en w. Entonces tenemos
.
Tenga en cuenta que debe requerirse que w sea una secuencia de disparo; permitir secuencias arbitrarias de transiciones generalmente producirá un conjunto más grande.