You are on page 1of 18

Teora de la Computabilidad

Notas de curso referidas a

Redes de Petri

Dr. Carlos Ivan Chesnevar


Dr. Mara Laura Cobo
Catedra de Teora de la Computabilidad

Departamento de Ciencias e Ingeniera de la Computacion


Universidad Nacional del Sur
Baha Blanca, 2016
(1ra. Edicion)

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Introducci
on
El presente texto intenta brindar una version integrada de algunos temas teoricos y practicos que forman parte del programa de la materia Teora de la Computabilidad, correspondiente al Departamento de Cs. e Ing. de la Computacion de la
Universidad Nacional del Sur. En particular, el material aqu presentado desarrolla
los conceptos correspondientes al tema de Redes de Petri.
Si bien existe gran n
umero de textos para abordar los conceptos correspondientes
a este tema, resulta difcil encontrar un u
nico libro de texto que considere el enfoque utilizado en esta materia. Esta situacion dio origen a un conjunto de apuntes
elaborados por la profesora Sandra Gabelli, posteriormente consolidados y refinados en notas de curso realizadas por el profesor Juan C. Augusto en 1995, quien se
desempe
no como profesor hasta 2001. A partir de 2002 se introdujeron nuevos recursos didacticos y materiales adicionales, que obligaron a revisar, replantear, corregir
y actualizar varios aspectos de los presentados en las notas de curso del profesor
Juan C. Augusto. Esa motivacion fue la que guio la confeccion de este nuevo texto,
que complementa y corrige apuntes y notas usadas hasta el momento en la materia. El material presentado esta en constante evolucion y correccion, por lo que se
agradecera especialmente toda sugerencia, crtica o comentario sobre el mismo.
Carlos Ivan Ches
nevar
Universidad Nacional del Sur Baha Blanca, Argentina
Nota: puede contactarse a los responsables del presente texto por va electronica a
las direcciones abajo indicadas.
Dr. Carlos Iv
an Ches
nevar: Email: cic@cs.uns.edu.ar Web: http://cs.uns.edu.ar/cic
Dr. Mara Laura Cobo: Email: lc@cs.uns.edu.ar

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Redes de Petri
1.

Introducci
on y motivaciones

En nuestro analisis de distintos modelos formales de la computacion hemos comenzado siempre por alternativas deterministas. As, al estudiar automatas finitos
comenzamos por los automatas finitos deterministas (AFD) y luego consideramos
la variante no determinista de los mismos (AFNDs). Algo analogo hicimos con los
automatas a pila y las maquinas de Turing.
En este captulo abordaremos un nuevo formalismo denominado redes de Petri
(RPs). A diferencia de los acercamientos anteriores, las redes de Petri son inherentemente no deterministas. El nombre de red de Petri debe su nombre a Carl Adam
Petri, investigador aleman que desarrollo las mismas en 1962 como parte de su
trabajo de Tesis Doctoral en la Universidad de Darmstadt (Alemania).
Nota bibliogr
afica: Carl Petri nacio el 12 de julio de 1926, en
Leipzig (Alemania). Estudi
o Matematica en la Univ. de Hannover, donde fue profesor. Fue el primero en definir el lenguaje de
las redes de Petri. Lo hizo en su Tesis Doctoral Kommunikation
mit Automaten (Comunicaci
on con automatas), en 1962 (Univ.
de Darmstadt). En 1997 fue nombrado miembro de la Academia
de Ciencias de Nueva York, y recibio la distincion Werner Von Siemens (Alemania). En 1999 fue nombrado Doctor Honoris Causa
por la Universidad de Zaragoza (Espa
na).

Las redes de Petri resultan atractivas para modelar problemas en los cuales intervienen procesos que presentan grados de dependencia temporal.1 Considere el trozo
de programa Pascal que se muestra en la figura 1.2 Normalmente las instrucciones
se ejecutaran en forma secuencial, esto es primero A:=1, luego B:=2 y as sucesivamente. Sin embargo, debe notarse que no hay ninguna razon logica para evitar
que las primeras tres instrucciones se procesen en cualquier orden o de manera concurrente (esto es, al mismo tiempo). Con la disminucion del precio del hardware
en general y de los procesadores en particular existe especial interes en el procesamiento concurrente para lograr mayor velocidad y eficiencia. Las redes de Petri son
una representacion grafica que permite modelar y estudiar distintos problemas de
procesamiento concurrente.
Definici
on 1.1 [Red de Petri como Grafo] Una red de Petri es un grafo dirigido
G=(V, E), donde V = P T y P T = . Toda arista e en E es inicidente en un
elemento de P y un elemento de T . El conjunto P es llamado conjunto de lugares,
y el conjunto T es el conjunto de transiciones. 2
Definici
on 1.2 [Red de Petri Version formal] Una red de Petri es una cuaterna
(P, T, IF, OF ) donde:3
1

El concepto de proceso ser


a abordado en profundidad en la asignatura Sistemas Operativos.
Ejemplo tomado de [Joh97].
3
N
otese que estas letras representa los terminos en ingles places, transitions, Input Function y
Output Function, respectivamente.
2

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

A := 1;
B := 2;
C := 3;
A := A + 1;
C := B + C;
B := A + C;
Figura 1: Un trozo de codigo Pascal
P = {p1 , p2 , . . . , pg } es un conjunto finito de lugares.
T = {t1 , t2 , . . . , tg } es un conjunto finito de transiciones.
IF : P T N at es una funcion de entrada a las transiciones.
OF : T P N at es una funcion de salida de las transiciones.
2
Una RP puede representarse graficamente mediante un multidigrafo bipartito
G = (N, A). El conjunto N es el conjunto de nodos del grafo y A es el conjunto de
arcos tal que se verifica que N = P T y P T = . Usualmente los lugares se
representan con nodos circulares y las transiciones mediante nodos con forma de
barra. Las funciones IF y OF indicaran cuales son los arcos presentes en el grafo G
seg
un el siguiente criterio:
Para cada par lugar-transicion (p, t), sea v el valor de IF (p, t). Entonces se
trazan v arcos desde p hacia t.
Para cada par transicion-lugar (t, p), sea v el valor de OF (t, p). Entonces se
trazan v arcos desde t hacia p.
Ejemplo 1.1 Sea una red de Petri M = (P, T, IF, OF ) donde P = {p1 , p2 , p3 },
T = {t1 , t2 } y
P/T t1 t2
p1
1 1
IF :
p2
0 0
p3
0 1

T /P p1 p2 p3
y OF : t1
1 0 1
t2
0 1 0

2.
2.1.

Evoluci
on de una Red de Petri
Marcado de una RP

La especificacion de una red de Petri presentada en la seccion precedente corresponde a una caracterizacion estatica. A los fines de que una red RP se pueda
2

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

comportar dinamicamente se requiere colocar marcas (tambien llamados tokens) en


los diferentes lugares de la RP . Una transicion t de RP podra activarse (o dispararse) si los lugares desde donde parten arcos entrantes a t poseen al menos tantas
marcas como arcos existentes. Seguidamente se definen formalmente estos conceptos.
Definici
on 2.1 [Marcado] Un marcado de una red de Petri es un mapeo M que a
cada lugar p P le asigna un n
umero natural n N at. Formalmente M (p) = n,
p P , con n N at. 2
La definicion 2.1 permite hacer notar que una misma red de Petri puede tener
distintos marcados posibles (vease ejemplo en la figura 2). El marcado de la red se
utiliza para definir la situacion o configuracion en la que se encuentra la misma en
un momento dado.

Figura 2: Distintos marcados para una misma red de Petri


Cuando el valor n es peque
no basta con utilizar M (p) puntos en el nodo que
representa el lugar p. Caso contrario se escribe directamente el n
umero M (p) dentro
del lugar p
Ejemplo 2.1 Sea una red de Petri M2 = (P, T, IF, OF ) donde P = {p1 , p2 , p3 , p4 },
T = {t1 , t2 , t3 , t4 } y
P/T t1 t2 t3 t4
p1
1 0 1 0
IF : p2
0 1 0 0
p3
0 1 0 2
p4
0 0 0 0

T /P p1 p2 p3 p4
t1
1 2 0 0
y OF : t2
0 0 1 0
t3
0 0 1 0
t4
0 0 0 1

2
Para una gran variedad de problemas, las marcas o tokens se utilizan para representar recursos disponibles dentro de un sistema que se esta modelando. Todo
recurso estara ocupando un cierto lugar p en un momento m del tiempo dado, y
podra pasar a un nuevo lugar p0 en un momento posterior m0 . Al modelar sistemas a
traves de redes de Petri, podemos afirmar genericamente que los lugares representan
condiciones y las transiciones representan eventos.
Una transicion t representara un evento que podra ocurrir cuando en cada lugar
pi que posea arcos inicidentes a t tenga al menos tantos tokens como arcos existentes
desde pi hacia t. En tal situacion diremos que la transicion t esta habilitada. Toda
transicion que este habilitada puede dispararse, modificando el marcado de la red,
haciendo que este evolucione y cambie.
3

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Figura 3: Conjunto de instrucciones correspondiente a la figura 1 modelado usando


una RP

Ejemplo 2.2 Considerese el trozo de codigo mostrado en la figura 1.4 La figura 3


muestra una red de Petri que modela la relacion de precedencia en la ejecucion de las
distintas instrucciones. Notese que la red muestra que las tres primeras asignaciones
son independientes entre s, y que pueden ejecutarse en cualquier orden. Tambien se
evidencia que otras asignaciones (por ejemplo C := B + C) son eventos que pueden
tener lugar solo si se satisfacen ciertas condiciones previas (en este caso, que las
variables B y C hayan recibido previamente un valor a traves de una asignacion). 2
Definici
on 2.2 [Transicion habilitada] Sea RP = (P, T, IF, OF ) una red de Petri,
y sea M su marcado asociado. Diremos que una transicion t en RP esta habilitada
por M (o tambien activada por M ) si y solo si para cada lugar p que tenga k arcos
entrantes en t se cumple que M (p) k. Mas formalmente, t esta habilitada si se
verfica que para todo p P , M (p) IF (p, t). 2
Ejemplo 2.3 La figura 4 muestra como distintos marcados para una misma red de
Petri tienen como resultado la activacion de diferentes transiciones. 2

Figura 4: Transiciones activadas a partir de diferentes marcados de una RP

Una transicion habilitada es aquella que puede dispararse, haciendo que la red
de Petri evolucione de un cierto marcado M en otro marcado M 0 . Definiremos formalmente estos conceptos como sigue:
4

Adaptado de [Joh97].

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Definici
on 2.3 [Disparo de una transicion] Sea R = (P, T, IF, OF ) una red de
Petri, y sea M (P ) un marcado de R tal que existe una transicion t T que esta habilitada. Se define el disparo de t como un nuevo marcado M 0 (P ) definido como
sigue: para cada lugar p P , M 0 (p) = M (p) IF (p, t) + OF (t, p). 2
Dada una red de Petri R = (P, T, IF, OF ) con un cierto marcado M (P ), es claro
que puede existir mas de una transicion t T que este habilitada para ser disparada.
Considerese en tal sentido el ejemplo mostrado en la figura 5. A partir de la red
inicial, puede dispararse la transicion t1 o alternativamente dispararse la transicion
t2 . En ambos casos, la situacion resultante lleva a un nuevo marcado. En particular,
tras disparar t2 puede volver a dispararse la misma transicion t2 nuevamente.

Figura 5: Distintos disparos alternativos a partir de una RP con marcado

Definici
on 2.4 [Relacion de Transicion `rp ] Sea R una red de Petri, y sea MR el
conjunto de todos los marcados posibles para R. Se define la relacion de transicion
`rp MR MR de la siguiente forma: se dira que un marcado M0 para R evoluciona
en un marcado M1 para R (abreviado M0 `rp M1 ) si y solo si existe una transicion
t habilitada en M0 tal que al disparar t el marcado resultante es M1 . Escribiremos
M0 `rp Mk si existe una secuencia M0 `rp M1 `rp . . . Mk1 `rp Mk . 2
Definici
on 2.5 [Marcado alcanzable. Marcado estancado] Sea R una red de Petri,
y sean M y M 0 marcados para R. Se dira que M 0 es alcanzable a partir de M si
M `rp M 0 . De la misma manera, un marcado M se dira estancado si no existe ning
un
0
0
marcado M , siendo M distinto de M , alcanzable desde M . 2

3.

RPs en problemas de multiprocesamiento

En esta seccion abordaremos un problema tpico del area de sistemas operativos:


el multiprocesamiento. Una computadora que tiene facilidades de multiprocesamiento puede realizar mas de una tarea al mismo tiempo con un u
nico procesador o
CPU. Una estrategia com
un que se utiliza en estos casos consiste en que el procesador asigne peque
nas fracciones de tiempo a las distintas tareas en ejecucion,
logrando que el usuario tenga la sensacion de que todas las tareas se estan ejecutando simultaneamente. Este acercamiento es comunmente usado en los denominados

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Figura 6: Red de Petri para modelar una computadora multitarea con dos terminales
virtuales
sistemas multiusuarios, donde varios usuarios pueden trabajar simultaneamente desde distintas terminales V T1 , V T2 , . . . , V Tk haciendo uso de un mismo procesador,
el cual asigna peque
nas fracciones de tiempo a cada terminal. Las redes de Petri
permiten modelar este tipo de situaciones de una manera muy versatil. Las terminales pueden representarse a partir de lugares de la red, mientras que las transiciones
posibilitan representar la disponibilidad de la CPU como recurso necesario para que
una terminal pueda funcionar. El siguiente ejemplo permite apreciar como utilizar
las redes de Petri para capturar los aspectos antes mencionados.
Ejemplo 3.1 [Multiprocesamiento con dos terminales virtuales]5 Considerese una
computadora multitarea (esto es, que puede realizar mas de una tarea al mismo
tiempo, asignandole un tiempo de procesamiento a cada una de ellas). La computadora posee una u
nica CPU y dos terminales virtuales V T1 y V T2 . En cada terminal
hay un usuario que quiere ejecutar su programa (ver figura 6). En consecuencia, la
computadora dara primeramente cierta fraccion de tiempo de CPU al usuario de
la terminal V T1 , luego dara otra fraccion de tiempo al usuario de la terminal V T2 ,
luego volvera a dar una fraccion de tiempo al usuario de la terminal V T1 , y as sucesivamente.
Este sistema puede modelarse a traves de una red de Petri como la que se muestra
en la figura 6. Formalmente, la red definida tendra la forma M = (P, T, IF, OF, M ),
donde el conjunto de lugares P representara los distintos elementos de nuestro sistema, esto es P = {CP U, V T1 , V T2 , p1 , p2 }. Inicialmente el marcado de la red de
petri sera M (CP U ) = 1, M (V T1 ) = 1 y M (V T2 ) = 1. El lugar p1 indica que si se
tiene un token en dicho lugar, entonces el programa de la terminal V T1 esta siendo
ejecutado por la CPU. Lo mismo se aplica para el lugar p2 y la terminal V T2 .
El conjunto T de transiciones involucrara un conjunto T = {t1 , t01 , t2 , t02 }. A partir
de la figura 6 puede verse que la transicion t1 estara activada solamente si se dispone
de la CPU y la terminal V T1 esta preparada para ejecucion (esto es, hay un token
en el lugar CP U y otro en el lugar V T1 ). Lo mismo ocurre para la terminal V T2 . Si
la terminal V T1 ejecuta su programa asociado, esto se capturara a traves del disparo
de t1 . Notese que una vez que se ha disparado la transicion t1 , la transicion t2 ya no
puede dispararse. Analogamente, si se dispara t2 , entonces t1 no podra dispararse
(ver figura 7).
5

Este problema fue adaptado a partir del presentado originalmente en [Aug95].

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Figura 7: La terminal V T1 en ejecucion


Si la primera vez se dispara t1 , la terminal V T1 sera atendida, y disparando
luego t01 se vuelve a la situacion de marcado inicial. Luego se dispara t2 , y ahora
la terminal V T2 sera atendida, y V T1 sera la que debera esperar. En consecuencia,
la red de Petri modela el hecho de que la CP U es un recurso cuya apropiacion
puede ser llevada a cabo indistintamente por V T1 o por V T2 , pero nunca por ambas
terminales simultaneamente.
2
Ejercicio 3.1 Dar una definicion formal de la red de Petri M = (P, T, IF, OF, M )
correspondiente al ejemplo 3.1. 2
Puede notarse que la red de Petri tal como esta definida no necesariamente intercalara su antencion entre las dos terminales de usuario. Puede darse el caso que
se otorge el tiempo de CPU a la misma terminal una y otra vez dejando a la otra sin
antencion. Este problema es com
un en el analisis y estudio de los sistemas operativos
6
y es conocido como inanicion. Dado que la red de Petri es inherentemente no determinista, nada obliga a que V T1 sea siempre la u
nica terminal que seleccionemos,
disparando u
nicamente las transiciones t1 y t01 . En consecuencia, el usuario que tiene
asignada la terminal V T2 percibira que la misma esta colgada y no realiza actividad alguna. Para resolver el problema de la inanicion debe garantizarse que ambas
terminales tengan disponible a la CPU como recurso, y que ninguna de ellas pueda apropiarse de la misma indefinidamente. La figura 8 muestra una formalizacion
alternativa que resuelve este problema.

4.

Redes de Petri como reconocedoras de lenguajes formales

Sin importar cual sea la red de Petri con la que se cuente siempre se puede obtener
su lenguaje asociado. El manejo de redes de Petri como reconocedoras de lenguajes
ademas de las facilidades naturales para el establecimiento de propiedades, brinda
6

Tambien conocido por su nombre en ingles como starvation.

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Figura 8: Un sistema multitarea sin inanicion

Figura 9: Disparos de transiciones en el sistema multitarea sin inanicion


capacidades para la especificacion y sntesis automatica de otras redes de Petri. Si el
comportamiento deseado de una red, puede ser especificado a traves de un lenguaje;
entonces una red de Petri que lo reconozca puede especificarse de manera automatica.
Esta red de Petri se puede utilizar como una especie de controlador que acepte
solo aquellas secuencias que son esperadas. Otro aspecto a tener en cuenta como
motivacion para el estudio de redes de Petri como reconocedoras de lenguajes, es el
deseo de determinar las condiciones de decibilidad de esta formalismo y su relacion
con el resto de los formalismos existentes para el reconocimiento de lenguajes.
En captulos anteriores hemos presentado distintos automatas reconocedores para
lenguajes formales. As, hemos visto por caso que todo lenguaje regular tiene un
automata finito reconocedor asociado. Algo analogo suceda con los automatas a
pila no deterministas y los lenguajes libres de contexto. Veremos en esta seccion
que un uso particular que tienen las RPs es el reconocimiento de lenguajes formales.
La forma habitual de realizar esto es asociar cadenas de un lenguaje L dado a
secuencias de disparos de la red. Para lograr esto, cada transicion de la red de Petri
sera rotulada con un elemento del alfabeto asociado al lenguaje L. Otro aspecto que
debe tenerse en cuenta es que debe establecerse cual sera el equivalente al estado
inicial y cual a los estados finales o aceptadores. Estos dos conceptos quedaran
especificados en la definicion a traves de dos marcados distinguidos Minicio y Mf inal .
Luego una red de Petri R reconocera una cadena w = c1 c2 . . . ck como perteneciente
8

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

En un lenguaje formal
Alfabeto
Conjunto
Lenguaje L
Cadena w L

En Redes de Petri
Conjunto de transiciones T = {t1 , t2 , . . . , tk }
Conjunto T de todas las secuencias de transiciones posibles
Lenguaje Lt T
Secuencia de disparos S Lt tal que S = ti1 , ti2 , . . . , tin

Figura 10: Analoga entre conceptos de lenguajes formales y transiciones en RPs


En Teora de Aut
omatas
Alfabeto
Estados S = {s0 , s1 , . . . sk }
Estado inicial s0
Estados aceptadores F S
Funci
on de transici
on

En Redes de Petri
Conjunto de transiciones T = {t1 , t2 , . . . , tk }
Conjunto de lugares P = {p1 , p2 , . . . , pk }
Marcado Incial Minicio
Conjunto de Marcados Finales Mf in
Tablas de especificacion IF y OF

Figura 11: Analoga entre conceptos de teora de automatas y transiciones en RPs


a un cierto lenguaje L si partiendo del marcado inicial Minicio para R se alcanza el
marcado Mf in realizando sucesivos disparos de transiciones t1 , t2 , . . . tk , donde la
transicion ti corresponde al smbolo ci de la cadena w. Mas adelante se presentaran
formalmente estos conceptos. Introduciremos primeramente la nocion de red de Petri
aceptadora, definida como sigue:
Definici
on 4.1 [Red de Petri aceptadora] Una red de Petri aceptadora es una 6upla (P, T, IF, OF, Minicio , Mf in ), donde P ,T ,IF y OF cumplen un rol analogo al
de la definicion 1.2, y Minicio y Mf in son marcados denominados inicial y final,
respectivamente. 2
Una red de Petri aceptadora tiene la peculiaridad de que se distinguen en ella
los marcados inicial y final. Sea T el conjunto de todas las secuencias posibles
de transiciones en una red de Petri aceptadora. Si se piensa cada transicion como
un smbolo de un lenguaje formal Lt , entonces cualquier secuencia de transiciones
t, t0 , t00 , . . . , tm es una cadena del lenguaje Lt . Dado que la secuencia de transiciones
t, t0 , t00 , . . . , tm esta formada a partir de una serie de disparos de transiciones, la
misma es denominada secuencia de disparos. Las figuras 10 y 11 ilustran la analoga
entre los distintos conceptos vistos para redes de Petri y su correspondencia con la
teora de lenguajes formales y la teora de automatas.
Definici
on 4.2 [Secuencia de disparos en una red de Petri aceptadora] Una secuencia de disparos S para una red de Petri aceptadora R = {P, T, IF, OF, M0 , Mf }, es
un elemento de T ? . 2
Definici
on 4.3 [Secuencia S aceptada por red de Petri aceptadora R] Sea S =
t1 , t2 , . . . , tn una secuencia de disparos para una red de Petri R. Se dira que S es
aceptada por R si y solo si existen n 1 marcados M1 , M2 , . . . , Mn1 de R tal que
M0 ` M1 ` M2 ` . . . ` Mn1 ` Mf por el disparo de t1 , . . . , tn . respectivamente. El
lenguaje de secuencias de disparo de R se define como
9

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Figura 12: Reconocimiento de la cadena c (ejemplo 4.1)

L(R) = {S | S T ? y S es aceptada por R}


2
Ejemplo 4.1 [Adaptado a partir de [Aug95]] Considere la RP
M = (P, T, IF, OF, M0 , Mf )
donde P = {p1 , p2 , p3 } y T = {a, b, c}, tal que IF , OF , M0 y Mf se definen como
sigue:
P \T
p1
IF :
p2
p3

M0 =def

a
1
0
0

b
0
1
1

c
1
0
0

M0 (p1 ) = 1
M0 (p2 ) = 0

M0 (p3 ) = 0

T \P p1 p2 p3
a
1 1 0
OF :
b
0 0 1
c
0 0 1

y Mf =def

Mf (p1 ) = 0
Mf (p2 ) = 0

Mf (p3 ) = 1

La figura 12 ilustra como la red R acepta la secuencia c. Otras secuencias aceptadas son acb, aacbb, aaacbbb, etc. Esto puede generalizarse, concluyendose que el
lenguaje aceptado por la red R es L(R) = {an cbn |n 0}. 2

5.

Etiquetado de Redes de Petri

Cuando se realiza el etiquetado de una Red de Petri se establece una correspondencia (mapeo) entre transiciones y elementos asociados a ellas. Las formas usuales
de realizar etiquetados se categorizan de acuerdo al tipo de etiquetas permitidas, y
son las siguientes:
1. Etiquetado arbitrario: es un mapeo : T {}
10

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

2. Etiquetado libre de : En este caso el mapeo se define como antes, excepto


que no es permitida como etiqueta.
3. Etiquetado libre: Es todo mapeo tal que para toda ti , tj T tal que se
cumple que (ti ) =(tj ), entonces ti = tj . En otras palabras, es una funcion
inyectiva.7
Definici
on 5.1 [Clases de lenguajes aceptados por RPs seg
un etiquetado] Denominaremos como Larbit , Llibre y Llibre a las clases de lenguajes aceptados por RPs
con etiquetado arbitrario, libre de y libre, respectivamente. 2
La categorizacion de lenguajes de redes de Petri es mas compleja, ya que tambien
existen clasificaciones que dependen de las restricciones impuestas a los marcados
inicial y final. Un estudio exhaustivo de todas las clases de lenguajes escapa al alcance
de este curso. Notemos que en este captulo hemos analizado la clase de lenguajes
Larbit , la que constituye la clase mas general de los lenguajes reconocibles con Redes
de Petri como se desprende a partir del siguiente lema.
Lema 5.1 Sean Larbit , Llibre y Llibre las clases de lenguajes aceptados por RPs
con etiquetado arbitrario, libre de y libre, respectivamente. Entonces se verifica
que
Larbit Llibre Llibre
2
Demostraci
on: La demostracion de este lema puede hallarse en la seccion 6.3.4 de
[Pet81].

6.

Propiedades de Clausura en Larbit

Al igual que para los demas lenguajes vistos en el curso, revisaremos brevemente
las propiedades de clausura mas usuales. Al hacerlo puede caracterizarse con mejor
precision el alcance representativo de las RP y permite conocer metodos para construir sistemas mas grandes a partir de modulos mas peque
nos. Consideraremos la
union, concatencion, interseccion, complemento, estrella de Kleene y homomorfismo
sobre lenguajes de la misma forma que en los captulos anteriores. Respecto de la
sustitucion, consideraremos la sustitucion finita que solo permite reemplazar a cada uno de los elementos de un lenguaje por un lenguaje finito cualquiera. Ademas
de la propiedades tradicionales mencionadas por las caracteristicas particulares del
formalismo de los reconoce, estos lenguajes tambien son cerrados bajo operaciones
especiales denominadas concurrencia y reverso.
Teorema 6.1 [Propiedades de clausura de Larbit ] Los lenguajes de la clase Larbit son
cerrados bajo union, concatencion, interseccion, homomorfismo finito y sustitucion
finita. No lo son bajo estrella de Kleene, complemento y sustitucion generalizada. 2
7

Informalmente, un etiquetado libre asegura toda transicion recibe una etiqueta u


nica que es
distinta a la del resto de las transiciones.

11

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Demostraci
on: La demostracion de este teorema puede hallarse en las secciones
6.4 y 6.5 de [Pet81].
Saber que las redes de Petri son cerradas bajo sustitucion finita es relevante al
momento de dise
no ya que permite modularizar mas facilmente muchos problemas
complejos.

7.

Expresividad de las redes de Petri

Hemos visto en la seccion 4 que las redes de Petri aceptadoras permiten reconocer
las cadenas que pertenecen a un lenguaje formal dado. Surge naturalmente entonces
una pregunta: cual es el alcance expresivo de las redes de Petri en el marco de la
jerarqua de Chomsky? Para delimitar la expresividad de las redes de Petri como
reconocedoras de lenguajes recurriremos a algunos teoremas enunciados en [Pet81],
remitiendose al lector interesado a dicho texto para encontrar all la correspondiente
demostracion. El analisis que sigue a continuacion se basa asimismo en el desarrollado
en [Pet81].
Teorema 7.1 Todo lenguaje regular puede reconocerse a traves de una red de Petri
aceptadora. 2
Demostraci
on: La prueba puede hallarse en [Pet81, Seccion 6.6].
El ejercicio 7.1 permite ver que tambien existen lenguajes no regulares que pueden
reconocerse a traves de una red de Petri, con lo cual debemos concluir que las redes
de Petri reconocen no solo lenguajes regulares, sino tambien algunos que como
hemos visto anteriormente pertenecen a la clase de los lenguajes libres de contexto.
Reconoceran las redes de Petri aceptadoras todos los lenguajes libres de contexto?
Puede demostrarse que esto no es as, tal como lo enuncia el siguiente teorema:
Teorema 7.2 Existen lenguajes libres de contexto que no pueden reconocerse a
traves de una red de Petri. 2
Demostraci
on: La demostracion consiste en dar un contraejemplo. Puede probarse
que el lenguaje L : {wwR : w {a, b}? } no puede reconocerse a traves de una red de
Petri. La razon intuitiva es la siguiente: dada una cadena wwR L, cualquier red
de Petri RRP sera capaz de recordar la cantidad de smbolos a y b que se asociaron
para w, pero no puede identificar si aparecen luego en el orden correcto (esto es, en
el orden inverso) al procesar wR . La prueba formal de este teorema puede hallarse
en [Pet81, Seccion 6.6].
Ejercicio 7.1 [Adaptado de [Pet81]] Mostrar que el lenguaje libre del contexto
LLC = {an bn | n > 1} es representable mediante una red de Petri aceptadora. 2
El ejercicio 7.2 muestra asimismo que la clase de lenguajes reconocidos por redes
de Petri no esta estrictamente incluida en la clase de los lenguajes libres del contexto.
Ejercicio 7.2 [Adaptado de [Pet81]] Mostrar que el lenguaje sensible al contexto
L = { an bn cn | n > 1} es reconocible a traves de una red de Petri aceptadora. 2
12

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Figura 13: Relacion entre los lenguajes reconocidos a traves Redes de Petri y la
clasificacion de los lenguajes seg
un la jerarqua de Chomsky
Ya que existen lenguajes libres del contexto no reconocibles por redes de Petri es
claro que no es posible que los LSC esten estrictamente incluidos en la clase de los
lenguajes reconocidos por redes de Petri o que se trate del mismo conjunto. Luego en
terminos conjuntistas restan dos situaciones posibles para denotar la relacion entre
los lenguajes sensibles al contexto y los reconocibles por una red de Petri. O bien los
lenguajes reconocidos por redes de Petri estan estrictamente incluidos en el conjunto
de los LSC o existe entre ellos una interseccion pero ninguno esta contenido en el
otro. El siguiente resultado aclara la situacion.
Teorema 7.3 Todo lenguaje reconocido por una red de Petri aceptadora pertenece
a la clase de lenguajes sensibles al contexto. 2
Demostraci
on: Vease seccion 6.6 de [Pet81].
Los resultados anteriores son resumidos mediante el grafico de la figura 13.
Los resultados presentados muestran que las redes de Petri tienen una potencia
expresiva limitada, inferior a la de los automatas acotados linealmente (capaces de
reconocer todo lenguaje sensible al contexto). Posteriormente se vera que es factible
extender el poder de computo de las redes de Petri a traves de un tipo especial de
arcos, denominados arcos inhibidores. Las redes de Petri extendidas de esta forma
tendran un poder equivalente a las maquinas de Turing, y seran en consecuencia
capaces de reconocer la clase de lenguajes sensibles al contexto. No obstante, no
abundaremos aqu en mayores detalles sobre esta cuestion, y postergaremos el tratamiento detallado de este tema para la proxima seccion.

8.

Redes de Petri Extendidas con Arcos Inhibidores

A lo largo de las secciones precedentes se han presentado las caractersticas principales de las redes de Petri, las bases de su funcionamiento y su capacidad para
procesar lenguajes. Se mostro que las redes de Petri no son capaces de procesar todos los lenguajes libres de contexto. Esta seccion se introducira un tipo especial de
arco denominado arco inhibidor, que como se vera mas adelante permite aumentar
notablemente su capacidad de computo.
13

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Los arcos inhibidores permiten lograr lo que se denomina capacidad de testeo


por cero. Al incorporar arcos inhibidores, la red de Petri tendra la capacidad de
verificar si en un determinado lugar la cantidad de tokens es nula (esto es, no hay
ning
un token). Notemos que esto es imposible de llevar a cabo con los arcos convencionales, dado que se requiere la existencia de al menos un token para llevar a
cabo el disparo de una transicion. Por el contrario, un arco inhibidor asociado a una
transicion t ayudara a dispararla solo si el lugar o nodo desde el cual parte no tiene
ning
un token.
La propuesta agrega otro tipo de arcos a los ya considerados para una red de
Petri. Es decir, ademas de tener dos tipos de nodos tendremos dos tipos de arcos: los
com
unes y los inhibidores. Un arco com
un ayuda a que una transicion sea disparada
siempre que en el nodo desde el cual parte el arco haya un token para alimentarlo.
Por el contrario un arco inhibidor ayuda a que una transicion se dispare si en el nodo
desde el cual parte no hay tokens. Graficamente indicaremos un arco inhibidor con
una lnea y una peque
na circunferencia en su terminacion.
Ejemplo 8.1 [Adaptado de [Aug95]] La figura 14 (izq.) ilustra una red de Petri con
un arco inhibidor. Se muestra como se comporta la misma a partir de dos marcados
iniciales diferentes, ilustrandose como utilizar un arco inhibidor para determinar si
un cierto lugar p esta vacio o no.

Figura 14: Uso de un arco inhibidor para implementar testeo por cero.
En el caso de que el lugar p no contenga tokens se dispara la transicion t1 ,
colocando un token en en lugar p1 . En caso contrario se disparara la transicion t2
con un doble efecto: se devuelve el token disparado al lugar p y se coloca tambien
un token en el lugar p2 . Notese que la presencia posterior de un token en el lugar
p1 indica que el lugar p estaba vaco; en caso contrario, el token sera ubicado en el
lugar p2 .
Notese tambien que independientemente de cual sea la transicion disparada (t1 o
t2 ), el contenido original del lugar p no se altera. Decimos entonces que se lleva a cabo
un testeo no-destructivo. Puede pensarse entonces que la red de Petri en cuestion
implementa un test similar al realizado por una estructura de control condicional:
si p = 0 then p1 else p2 . Los lugares p1 y p2 pueden entenderse como posibles cursos
de accion a realizar. 2
14

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

El uso de arcos inhibidores en redes de Petri no sera abordado en profundidad en


esta materia. Posteriormente veremos una aplicacion u
til de los mismos al mostrar
la equivalencia de las redes de Petri con otros formalismos alternativos.

9.

Aplicaciones de Redes de Petri

En Ciencias de la Computacion es com


un que sea necesario modelar sistemas
complejos en los cuales las distintas partes puedan evolucionar de manera independiente entre s. Las Redes de Petri son consideradas una herramienta sumamente
importante para el estudio de estos sistemas. Con su ayuda podemos modelar el
comportamiento y la estructura de un sistema complejo, y estudiar sus caractersticas sin necesidad de realizar ese analisis sobre el sistema real (lo que normalmente
es costoso o imposible de realizar).
La teora de las redes de Petri ha llegado a ser reconocida como una metodologa
com
un en robotica para modelar sistemas de manufactura que sean flexibles y que
puedan respetar restricciones temporales y de sincrona. En efecto: a diferencia de los
automatas finitos (u otro tipo de automatas), las redes de Petri ofrecen una forma
de expresar procesos que requieren sincrona. Dicha sincrona puede estudiarse y
analizarse de manera formal y obtener informacion del comportamiento dinamico
del sistema modelado.
Algunas aplicaciones de redes de Petri son las siguientes:
Servicios de redes inteligentes (aplicados por caso por la empresa alemana
Deutsche Telekom).
Protocolos para sistemas de audio y video (aplicados por la empresa Bang &
Olufsen A/S).
Algoritmos para manejo de redes de cajeros automaticos (University of Aarhus,
Dinamarca).
Estandares de comunicacion multimedia en Internet.
Sistemas de se
nales (Brasil).

10.

Referencias

El orden de presentacion de los conceptos de este captulo esta basado parcialmente en los presentados en [Aug95] y [Pin97]. Los conceptos fundamentales de redes
de Petri pueden consultarse en la Tesis Doctoral de Carl Adam Petri [Pet62]. Un
analisis detallado de las redes de Petri y sus propiedades y aplicaciones puede encontrarse en [Pet81]. Un tratamiento sucinto de redes de Petri (incluyendo ejercitacion)
puede consultarse en [Joh97].

15

Teora de la Computabilidad Notas de Curso por C.I. Ches


nevar y M. L. Cobo

Referencias
[Aug95] Juan Carlos Augusto. Fundamentos de Ciencias de la Computacion - Notas
de Curso. Universidad Nacional del Sur, Baha Blanca, Argentina, 1995.
[Joh97] Richard Johnsonbaugh. Matematicas Discretas. Prentice Hall, 1997.
[Pet62] Carl Petri. Komunikation mit Automaten. PhD thesis, Universidad de
Darmstadt, Alemania, 1962.
[Pet81] James Peterson. Petri Net Theory and the modeling of systems. Prentice
Hall, Englewood Cliffs, New Jersey, 1981.
[Pin97] Ramon Brena Pinero. Lenguajes formales y automatas. Centro de Inteligencia Artificial. Instituto Tecnologico y de Estudios Superiores de Monterrey,
Monterrey, Mexico, 1997.

16

You might also like