redes de petri-tc2010

18
Teor´ ıa de la Computabilidad Notas de curso referidas a Redes de Petri Dr. Carlos Iv´ an Ches˜ nevar Mg. Mar´ ıa Laura Cobo atedra de Teor´ ıa de la Computabilidad Departamento de Ciencias e Ingenier´ ıa de la Computaci´ on Universidad Nacional del Sur Bah´ ıa Blanca, 2010 (1ra.Edici´on)

Upload: marco-antonio-iribarra-vergara

Post on 25-Jun-2015

206 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Redes de Petri-TC2010

Teorıa de la Computabilidad

Notas de curso referidas a

Redes de Petri

Dr. Carlos Ivan Chesnevar

Mg. Marıa Laura Cobo

Catedra de Teorıa de la Computabilidad

Departamento de Ciencias e Ingenierıa de la ComputacionUniversidad Nacional del Sur

Bahıa Blanca, 2010(1ra. Edicion)

Page 2: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Introduccion

El presente texto intenta brindar una version integrada de algunos temas teori-cos y practicos que forman parte del programa de la materia Teorıa de la Compu-tabilidad, correspondiente al Departamento de Cs. e Ing. de la Computacion de laUniversidad Nacional del Sur. En particular, el material aquı presentado desarrollalos conceptos correspondientes al tema de Redes de Petri.

Si bien existe gran numero de textos para abordar los conceptos correspondientesa este tema, resulta difıcil encontrar un unico libro de texto que considere el enfo-que utilizado en esta materia. Esta situacion dio origen a un conjunto de apunteselaborados por la profesora Sandra Gabelli, posteriormente consolidados y refina-dos en notas de curso realizadas por el profesor Juan C. Augusto en 1995, quien sedesempeno como profesor hasta 2001. A partir de 2002 se introdujeron nuevos recur-sos didacticos y materiales adicionales, que obligaron a revisar, replantear, corregiry actualizar varios aspectos de los presentados en las notas de curso del profesorJuan 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 mate-ria. El material presentado esta en constante evolucion y correccion, por lo que seagradecera especialmente toda sugerencia, crıtica o comentario sobre el mismo.

Carlos Ivan ChesnevarUniversidad Nacional del Sur – Bahıa Blanca, Argentina

Nota: puede contactarse a los responsables del presente texto por vıa electronica alas direcciones abajo indicadas.Dr. Carlos Ivan Chesnevar: Email: [email protected] – Web: http://cs.uns.edu.ar/∼cicMg. Marıa Laura Cobo: Email: [email protected]

–2–

Page 3: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Redes de Petri

1. Introduccion y motivaciones

En nuestro analisis de distintos modelos formales de la computacion hemos co-menzado siempre por alternativas deterministas. Ası, al estudiar automatas finitoscomenzamos por los automatas finitos deterministas (AFD) y luego consideramosla variante no determinista de los mismos (AFNDs). Algo analogo hicimos con losautomatas a pila y las maquinas de Turing.

En este capıtulo abordaremos un nuevo formalismo denominado redes de Petri(RPs). A diferencia de los acercamientos anteriores, las redes de Petri son inheren-temente no deterministas. El nombre de red de Petri debe su nombre a Carl AdamPetri, investigador aleman que desarrollo las mismas en 1962 como parte de sutrabajo de Tesis Doctoral en la Universidad de Darmstadt (Alemania).

Nota bibliografica: Carl Petri nacio el 12 de julio de 1926, enLeipzig (Alemania). Estudio Matematica en la Univ. de Hanno-ver, donde fue profesor. Fue el primero en definir el lenguaje delas redes de Petri. Lo hizo en su Tesis Doctoral “Kommunikationmit Automaten” (Comunicacion con automatas), en 1962 (Univ.de Darmstadt). En 1997 fue nombrado miembro de la Academiade Ciencias de Nueva York, y recibio la distincion Werner Von Sie-mens (Alemania). En 1999 fue nombrado Doctor Honoris Causapor la Universidad de Zaragoza (Espana).

Las redes de Petri resultan atractivas para modelar problemas en los cuales inter-vienen procesos que presentan grados de dependencia temporal.1 Considere el trozode programa Pascal que se muestra en la figura 1.2 Normalmente las instruccionesse ejecutarıan en forma secuencial, esto es primero A:=1, luego B:=2 y ası sucesi-vamente. Sin embargo, debe notarse que no hay ninguna razon logica para evitarque las primeras tres instrucciones se procesen en cualquier orden o de manera con-currente (esto es, al mismo tiempo). Con la disminucion del precio del hardwareen general y de los procesadores en particular existe especial interes en el procesa-miento concurrente para lograr mayor velocidad y eficiencia. Las redes de Petri sonuna representacion grafica que permite modelar y estudiar distintos problemas deprocesamiento concurrente.

Definicion 1.1 [Red de Petri como Grafo] Una red de Petri es un grafo dirigidoG=(V,E), donde V = P ∪ T y P ∩ T = ∅. Toda arista e en E es inicidente en unelemento 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

Definicion 1.2 [Red de Petri – Version formal] Una red de Petri es una cuaterna(P, T, IF,OF ) donde:3

1El concepto de proceso sera abordado en profundidad en la asignatura “Sistemas Operativos”.2Ejemplo tomado de [Joh97].3Notese que estas letras representa los terminos en ingles places, transitions, Input Function y

Output Function, respectivamente.

–1–

Page 4: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar 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 → Nat es una funcion de entrada a las transiciones.

OF : T × P → Nat es una funcion de salida de las transiciones.

2

Una RP puede representarse graficamente mediante un multidigrafo bipartitoG = (N,A). El conjunto N es el conjunto de nodos del grafo y A es el conjunto dearcos tal que se verifica que N = P ∪ T y P ∩ T = ∅. Usualmente los lugares serepresentan con nodos “circulares” y las transiciones mediante nodos con forma debarra. Las funciones IF y OF indicaran cuales son los arcos presentes en el grafo Gsegun el siguiente criterio:

Para cada par lugar-transicion (p, t), sea v el valor de IF (p, t). Entonces setrazan v arcos desde p hacia t.

Para cada par transicion-lugar (t, p), sea v el valor de OF (t, p). Entonces setrazan 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

IF :

P/T t1 t2p1 1 1p2 0 0p3 0 1

y OF :T/P p1 p2 p3

t1 1 0 1t2 0 1 0

2

2. Evolucion de una Red de Petri

2.1. Marcado de una RP

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

–2–

Page 5: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

comportar dinamicamente se requiere colocar marcas (tambien llamados tokens) enlos diferentes lugares de la RP . Una transicion t de RP podra activarse (o dispa-rarse) si los lugares desde donde parten arcos entrantes a t poseen al menos tantasmarcas como arcos existentes. Seguidamente se definen formalmente estos conceptos.

Definicion 2.1 [Marcado] Un marcado de una red de Petri es un mapeo M que acada lugar p ∈ P le asigna un numero natural n ∈ Nat. Formalmente M(p) = n,∀p ∈ P , con n ∈ Nat. 2

La definicion 2.1 permite hacer notar que una misma red de Petri puede tenerdistintos marcados posibles (vease ejemplo en la figura 2). El marcado de la red seutiliza para definir la situacion o configuracion en la que se encuentra la misma enun momento dado.

Figura 2: Distintos marcados para una misma red de Petri

Cuando el valor n es pequeno basta con utilizar M(p) puntos en el nodo querepresenta el lugar p. Caso contrario se escribe directamente el numero M(p) dentrodel lugar p (ver figura ??).

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

IF :

P/T t1 t2 t3 t4p1 1 0 1 0p2 0 1 0 0p3 0 1 0 2p4 0 0 0 0

y OF :

T/P p1 p2 p3 p4

t1 1 2 0 0t2 0 0 1 0t3 0 0 1 0t4 0 0 0 1

2

Para una gran variedad de problemas, las marcas o tokens se utilizan para re-presentar recursos disponibles dentro de un sistema que se esta modelando. Todorecurso estara ocupando un cierto lugar p en un momento m del tiempo dado, ypodra pasar a un nuevo lugar p′ en un momento posterior m′. Al modelar sistemas atraves de redes de Petri, podemos afirmar genericamente que los lugares representancondiciones y las transiciones representan eventos.

Una transicion t representara un evento que podra ocurrir cuando en cada lugarpi que posea arcos inicidentes a t tenga al menos tantos tokens como arcos existentesdesde pi hacia t. En tal situacion diremos que la transicion t esta habilitada. Todatransicion que este habilitada puede dispararse, modificando el marcado de la red,haciendo que este evolucione y cambie.

–3–

Page 6: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

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

Ejemplo 2.2 Considerese el trozo de codigo mostrado en la figura 1.4 La figura 3muestra una red de Petri que modela la relacion de precedencia en la ejecucion de lasdistintas instrucciones. Notese que la red muestra que las tres primeras asignacionesson independientes entre sı, y que pueden ejecutarse en cualquier orden. Tambien seevidencia que otras asignaciones (por ejemplo C := B + C) son eventos que puedentener lugar solo si se satisfacen ciertas condiciones previas (en este caso, que lasvariables B y C hayan recibido previamente un valor a traves de una asignacion). 2

Definicion 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 habilitadapor M (o tambien activada por M) si y solo si para cada lugar p que tenga k arcosentrantes en t se cumple que M(p) ≥ k. Mas formalmente, t esta habilitada si severfica 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 dePetri 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 redde Petri evolucione de un cierto marcado M en otro marcado M ′. Definiremos for-malmente estos conceptos como sigue:

4Adaptado de [Joh97].

–4–

Page 7: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Definicion 2.3 [Disparo de una transicion] Sea R = (P, T, IF,OF ) una red dePetri, y sea M(P ) un marcado de R tal que existe una transicion t ∈ T que esta ha-bilitada. Se define el disparo de t como un nuevo marcado M ′(P ) definido comosigue: para cada lugar p ∈ P , M ′(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 claroque 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 redinicial, puede dispararse la transicion t1 o alternativamente dispararse la transiciont2. 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

Definicion 2.4 [Relacion de Transicion `rp] Sea R una red de Petri, y sea MR elconjunto 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 evolucionaen un marcado M1 para R (abreviado M0`rpM1) si y solo si existe una transiciont habilitada en M0 tal que al disparar t el marcado resultante es M1. EscribiremosM0`rp∗Mk si existe una secuencia M0`rpM1`rp . . .Mk−1`rpMk. 2

Definicion 2.5 [Marcado alcanzable. Marcado estancado] Sea R una red de Petri,y sean M y M ′ marcados para R. Se dira que M ′ es alcanzable a partir de M siM`rp∗M ′. De la misma manera, un marcado M se dira estancado si no existe ningunmarcado M ′, siendo M ′ distinto de M , alcanzable desde M . 2

3. RPs en problemas de multiprocesamiento

En esta seccion abordaremos un problema tıpico del area de sistemas operativos:el multiprocesamiento. Una computadora que tiene facilidades de multiprocesamien-to puede realizar mas de una tarea al mismo tiempo con un unico procesador oCPU. Una estrategia comun que se utiliza en estos casos consiste en que el pro-cesador asigne pequenas fracciones de tiempo a las distintas tareas en ejecucion,logrando que el usuario tenga la sensacion de que todas las tareas se estan ejecutan-do simultaneamente. Este acercamiento es comunmente usado en los denominados

–5–

Page 8: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Figura 6: Red de Petri para modelar una computadora multitarea con dos terminalesvirtuales

sistemas multiusuarios, donde varios usuarios pueden trabajar simultaneamente des-de distintas terminales V T1, V T2, . . . , V Tk haciendo uso de un mismo procesador,el cual asigna pequenas fracciones de tiempo a cada terminal. Las redes de Petripermiten modelar este tipo de situaciones de una manera muy versatil. Las termina-les pueden representarse a partir de lugares de la red, mientras que las transicionesposibilitan representar la disponibilidad de la CPU como recurso necesario para queuna terminal pueda funcionar. El siguiente ejemplo permite apreciar como utilizarlas redes de Petri para capturar los aspectos antes mencionados.

Ejemplo 3.1 [Multiprocesamiento con dos terminales virtuales]5 Considerese unacomputadora multitarea (esto es, que puede realizar mas de una tarea al mismotiempo, asignandole un tiempo de procesamiento a cada una de ellas). La compu-tadora posee una unica CPU y dos terminales virtuales V T1 y V T2. En cada terminalhay un usuario que quiere ejecutar su programa (ver figura 6). En consecuencia, lacomputadora dara primeramente cierta fraccion de tiempo de CPU al usuario dela 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ı su-cesivamente.

Este sistema puede modelarse a traves de una red de Petri como la que se muestraen 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 sis-tema, esto es P = {CPU, V T1, V T2, p1, p2}. Inicialmente el marcado de la red depetri sera M(CPU) = 1, M(V T1) = 1 y M(V T2) = 1. El lugar p1 indica que si setiene un token en dicho lugar, entonces el programa de la terminal V T1 esta siendoejecutado 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, t′1, t2, t′2}. A partirde la figura 6 puede verse que la transicion t1 estara activada solamente si se disponede la CPU y la terminal V T1 esta preparada para ejecucion (esto es, hay un tokenen el lugar CPU y otro en el lugar V T1). Lo mismo ocurre para la terminal V T2. Sila terminal V T1 ejecuta su programa asociado, esto se capturara a traves del disparode t1. Notese que una vez que se ha disparado la transicion t1, la transicion t2 ya nopuede dispararse. Analogamente, si se dispara t2, entonces t1 no podra dispararse(ver figura 7).

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

–6–

Page 9: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar 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 disparandoluego t′1 se vuelve a la situacion de marcado inicial. Luego se dispara t2, y ahorala 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 CPU es un recurso cuya apropiacionpuede ser llevada a cabo indistintamente por V T1 o por V T2, pero nunca por ambasterminales 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 in-tercalara su antencion entre las dos terminales de usuario. Puede darse el caso quese otorge el tiempo de CPU a la misma terminal una y otra vez dejando a la otra sinantencion. Este problema es comun en el analisis y estudio de los sistemas operativosy es conocido como inanicion.6 Dado que la red de Petri es inherentemente no de-terminista, nada obliga a que V T1 sea siempre la unica terminal que seleccionemos,disparando unicamente las transiciones t1 y t′1. En consecuencia, el usuario que tieneasignada la terminal V T2 percibira que la misma esta “colgada” y no realiza activi-dad alguna. Para resolver el problema de la inanicion debe garantizarse que ambasterminales tengan disponible a la CPU como recurso, y que ninguna de ellas pue-da apropiarse de la misma indefinidamente. La figura 9 muestra una formalizacionalternativa que resuelve este problema.

4. Redes de Petri como reconocedoras de lengua-

jes formales

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

6Tambien conocido por su nombre en ingles como starvation.

–7–

Page 10: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar 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 sıntesis automatica de otras redes de Petri. Si elcomportamiento 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 aceptesolo aquellas secuencias que son esperadas. Otro aspecto a tener en cuenta comomotivacion para el estudio de redes de Petri como reconocedoras de lenguajes, es eldeseo de determinar las condiciones de decibilidad de esta formalismo y su relacioncon el resto de los formalismos existentes para el reconocimiento de lenguajes.

En capıtulos anteriores hemos presentado distintos automatas reconocedores paralenguajes formales. Ası, hemos visto por caso que todo lenguaje regular tiene unautomata finito reconocedor asociado. Algo analogo sucedıa con los automatas apila no deterministas y los lenguajes libres de contexto. Veremos en esta seccionque 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 Petrisera rotulada con un elemento del alfabeto asociado al lenguaje L. Otro aspecto quedebe tenerse en cuenta es que debe establecerse cual sera el equivalente al estadoinicial y cual a los estados finales o aceptadores. Estos dos conceptos quedaranespecificados en la definicion a traves de dos marcados distinguidos Minicio y Mfinal.Luego una red de Petri R reconocera una cadena w = c1c2 . . . ck como perteneciente

–8–

Page 11: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

En un lenguaje formal En Redes de PetriAlfabeto Σ Conjunto de transiciones T = {t1, t2, . . . , tk}Conjunto Σ∗ Conjunto T ∗ de todas las secuencias de transiciones posiblesLenguaje L ⊆ Σ∗ Lenguaje Lt ⊆ T ∗Cadena w ∈ L Secuencia de disparos S ∈ Lt tal que S = ti1 , ti2 , . . . , tin

Figura 10: Analogıa entre conceptos de lenguajes formales y transiciones en RPs

En Teorıa de Automatas En Redes de PetriAlfabeto Σ Conjunto de transiciones T = {t1, t2, . . . , tk}Estados S = {s0, s1, . . . sk } Conjunto de lugares P = {p1, p2, . . . , pk}Estado inicial s0 Marcado Incial Minicio

Estados aceptadores F ⊆ S Conjunto de Marcados Finales Mfin

Funcion de transicion δ Tablas de especificacion IF y OF

Figura 11: Analogıa entre conceptos de teorıa de automatas y transiciones en RPs

a un cierto lenguaje L si partiendo del marcado inicial Minicio para R se alcanza elmarcado Mfin realizando sucesivos disparos de transiciones t1, t2, . . . tk, donde latransicion ti corresponde al sımbolo ci de la cadena w. Mas adelante se presentaranformalmente estos conceptos. Introduciremos primeramente la nocion de red de Petriaceptadora, definida como sigue:

Definicion 4.1 [Red de Petri aceptadora] Una red de Petri aceptadora es una 6-upla (P, T, IF,OF,Minicio,Mfin), donde P ,T ,IF y OF cumplen un rol analogo alde la definicion 1.2, y Minicio y Mfin son marcados denominados inicial y final,respectivamente. 2

Una red de Petri aceptadora tiene la peculiaridad de que se distinguen en ellalos marcados inicial y final. Sea T ∗ el conjunto de todas las secuencias posiblesde transiciones en una red de Petri aceptadora. Si se piensa cada transicion comoun sımbolo de un lenguaje formal Lt, entonces cualquier secuencia de transicionest, t′, t′′, . . . , tm es una cadena del lenguaje Lt. Dado que la secuencia de transicionest, t′, t′′, . . . , tm esta formada a partir de una serie de disparos de transiciones, lamisma es denominada secuencia de disparos. Las figuras 10 y 11 ilustran la analogıaentre los distintos conceptos vistos para redes de Petri y su correspondencia con lateorıa de lenguajes formales y la teorıa de automatas.

Definicion 4.2 [Secuencia de disparos en una red de Petri aceptadora] Una secuen-cia de disparos S para una red de Petri aceptadora R = {P, T, IF,OF,M0,Mf}, esun elemento de T ?. 2

Definicion 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 esaceptada por R si y solo si existen n − 1 marcados M1,M2, . . . ,Mn−1 de R tal queM0 ` M1 ` M2 ` . . . ` Mn−1 ` Mf por el disparo de t1, . . . , tn. respectivamente. Ellenguaje de secuencias de disparo de R se define como

–9–

Page 12: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar 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 comosigue:

IF :

P\T a b cp1 1 0 1p2 0 1 0p3 0 1 0

y OF :

T\P p1 p2 p3

a 1 1 0b 0 0 1c 0 0 1

M0 =def

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

y Mf =def

Mf (p1) = 0Mf (p2) = 0Mf (p3) = 1

La figura 12 ilustra como la red R acepta la secuencia c. Otras secuencias acep-tadas son acb, aacbb, aaacbbb, etc. Esto puede generalizarse, concluyendose que ellenguaje aceptado por la red R es L(R) = {ancbn|n ≥ 0}. 2

5. Etiquetado de Redes de Petri

Cuando se realiza el etiquetado de una Red de Petri se establece una correspon-dencia (mapeo) entre transiciones y elementos asociados a ellas. Las formas usualesde realizar etiquetados se categorizan de acuerdo al tipo de etiquetas permitidas, yson las siguientes:

1. Etiquetado arbitrario: es un mapeo Φ : T → Σ ∪ {λ}

–10–

Page 13: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

2. Etiquetado libre de λ: En este caso el mapeo Φ se define como antes, exceptoque λ no es permitida como etiqueta.

3. Etiquetado libre: Es todo mapeo Φ tal que para toda ti, tj ∈ T tal que secumple que Φ(ti) =Φ(tj), entonces ti = tj. En otras palabras, Φ es una funcioninyectiva.7

Definicion 5.1 [Clases de lenguajes aceptados por RPs segun etiquetado] Denomi-naremos como Larbit, Lλ−libre y Llibre a las clases de lenguajes aceptados por RPscon etiquetado arbitrario, libre de λ y libre, respectivamente. 2

La categorizacion de lenguajes de redes de Petri es mas compleja, ya que tambienexisten clasificaciones que dependen de las restricciones impuestas a los marcadosinicial y final. Un estudio exhaustivo de todas las clases de lenguajes escapa al alcancede este curso. Notemos que en este capıtulo hemos analizado la clase de lenguajesLarbit, la que constituye la clase mas general de los lenguajes reconocibles con Redesde Petri como se desprende a partir del siguiente lema.

Lema 5.1 Sean Larbit, Lλ−libre y Llibre las clases de lenguajes aceptados por RPscon etiquetado arbitrario, libre de λ y libre, respectivamente. Entonces se verificaque

Larbit ⊇ Lλ−libre ⊇ Llibre

2

Demostracion: 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 brevementelas propiedades de clausura mas usuales. Al hacerlo puede caracterizarse con mejorprecision el alcance representativo de las RP y permite conocer metodos para cons-truir sistemas mas grandes a partir de modulos mas pequenos. Consideraremos launion, concatencion, interseccion, complemento, estrella de Kleene y homomorfismosobre lenguajes de la misma forma que en los capıtulos anteriores. Respecto de lasustitucion, consideraremos la sustitucion finita que solo permite reemplazar a ca-da uno de los elementos de un lenguaje por un lenguaje finito cualquiera. Ademasde la propiedades tradicionales mencionadas por las caracteristicas particulares delformalismo de los reconoce, estos lenguajes tambien son cerrados bajo operacionesespeciales denominadas concurrencia y reverso.

Teorema 6.1 [Propiedades de clausura de Larbit] Los lenguajes de la clase Larbit soncerrados bajo union, concatencion, interseccion, homomorfismo finito y sustitucionfinita. No lo son bajo estrella de Kleene, complemento y sustitucion generalizada. 2

7Informalmente, un etiquetado libre asegura toda transicion recibe una etiqueta unica que esdistinta a la del resto de las transiciones.

–11–

Page 14: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Demostracion: La demostracion de este teorema puede hallarse en las secciones6.4 y 6.5 de [Pet81].

Saber que las redes de Petri son cerradas bajo sustitucion finita es relevante almomento de diseno ya que permite modularizar mas facilmente muchos problemascomplejos.

7. Expresividad de las redes de Petri

Hemos visto en la seccion 4 que las redes de Petri aceptadoras permiten reconocerlas cadenas que pertenecen a un lenguaje formal dado. Surge naturalmente entoncesuna pregunta: ¿cual es el alcance expresivo de las redes de Petri en el marco de lajerarquıa de Chomsky? Para delimitar la expresividad de las redes de Petri comoreconocedoras de lenguajes recurriremos a algunos teoremas enunciados en [Pet81],remitiendose al lector interesado a dicho texto para encontrar allı la correspondientedemostracion. El analisis que sigue a continuacion se basa asimismo en el desarrolladoen [Pet81].

Teorema 7.1 Todo lenguaje regular puede reconocerse a traves de una red de Petriaceptadora. 2

Demostracion: 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 redesde Petri reconocen no solo lenguajes regulares, sino tambien algunos que –comohemos 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 atraves de una red de Petri. 2

Demostracion: La demostracion consiste en dar un contraejemplo. Puede probarseque el lenguaje L : {wwR : w ∈ {a, b}?} no puede reconocerse a traves de una red dePetri. La razon intuitiva es la siguiente: dada una cadena wwR ∈ L, cualquier redde Petri RRP sera capaz de recordar la cantidad de sımbolos a y b que se asociaronpara w, pero no puede identificar si aparecen luego en el orden correcto (esto es, enel orden inverso) al procesar wR. La prueba formal de este teorema puede hallarseen [Pet81, Seccion 6.6].

Ejercicio 7.1 [Adaptado de [Pet81]] Mostrar que el lenguaje libre del contextoLLC = {anbn | n > 1} es representable mediante una red de Petri aceptadora. 2

El ejercicio 7.2 muestra asimismo que la clase de lenguajes reconocidos por redesde 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 contextoL = { anbncn | n > 1} es reconocible a traves de una red de Petri aceptadora. 2

–12–

Page 15: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Figura 13: Relacion entre los lenguajes reconocidos a traves Redes de Petri y laclasificacion de los lenguajes segun la jerarquıa de Chomsky

Ya que existen lenguajes libres del contexto no reconocibles por redes de Petri esclaro que no es posible que los LSC esten estrictamente incluidos en la clase de loslenguajes reconocidos por redes de Petri o que se trate del mismo conjunto. Luego enterminos conjuntistas restan dos situaciones posibles para denotar la relacion entrelos lenguajes sensibles al contexto y los reconocibles por una red de Petri. O bien loslenguajes reconocidos por redes de Petri estan estrictamente incluidos en el conjuntode los LSC o existe entre ellos una interseccion pero ninguno esta contenido en elotro. El siguiente resultado aclara la situacion.

Teorema 7.3 Todo lenguaje reconocido por una red de Petri aceptadora pertenecea la clase de lenguajes sensibles al contexto. 2

Demostracion: 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 dereconocer todo lenguaje sensible al contexto). Posteriormente se vera que es factibleextender el poder de computo de las redes de Petri a traves de un tipo especial dearcos, denominados arcos inhibidores. Las redes de Petri extendidas de esta formatendran un poder equivalente a las maquinas de Turing, y seran en consecuenciacapaces de reconocer la clase de lenguajes sensibles al contexto. No obstante, noabundaremos aquı en mayores detalles sobre esta cuestion, y postergaremos el tra-tamiento detallado de este tema para la proxima seccion.

8. Redes de Petri Extendidas con Arcos Inhibi-

dores

A lo largo de las secciones precedentes se han presentado las caracterısticas prin-cipales de las redes de Petri, las bases de su funcionamiento y su capacidad paraprocesar lenguajes. Se mostro que las redes de Petri no son capaces de procesar to-dos los lenguajes libres de contexto. Esta seccion se introducira un tipo especial dearco denominado arco inhibidor, que –como se vera mas adelante– permite aumentarnotablemente su capacidad de computo.

–13–

Page 16: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Los arcos inhibidores permiten lograr lo que se denomina “capacidad de testeopor cero”. Al incorporar arcos inhibidores, la red de Petri tendra la capacidad deverificar si en un determinado lugar la cantidad de tokens es nula (esto es, no hayningun token). Notemos que esto es imposible de llevar a cabo con los arcos con-vencionales, dado que se requiere la existencia de al menos un token para llevar acabo el disparo de una transicion. Por el contrario, un arco inhibidor asociado a unatransicion t ayudara a dispararla solo si el lugar o nodo desde el cual parte no tieneningun token.

La propuesta agrega otro tipo de arcos a los ya considerados para una red dePetri. Es decir, ademas de tener dos tipos de nodos tendremos dos tipos de arcos: loscomunes y los inhibidores. Un arco comun ayuda a que una transicion sea disparadasiempre 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 nododesde el cual parte no hay tokens. Graficamente indicaremos un arco inhibidor conuna lınea y una pequena circunferencia en su terminacion.

Ejemplo 8.1 [Adaptado de [Aug95]] La figura 14 (izq.) ilustra una red de Petri conun arco inhibidor. Se muestra como se comporta la misma a partir de dos marcadosiniciales diferentes, ilustrandose como utilizar un arco inhibidor para determinar siun 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 t2con un doble efecto: se devuelve el token disparado al lugar p y se coloca tambienun token en el lugar p2. Notese que la presencia posterior de un token en el lugarp1 indica que el lugar p estaba vacıo; en caso contrario, el token sera ubicado en ellugar p2.

Notese tambien que independientemente de cual sea la transicion disparada (t1 ot2), el contenido original del lugar p no se altera. Decimos entonces que se lleva a caboun testeo no-destructivo. Puede pensarse entonces que la red de Petri en cuestionimplementa 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 cursosde accion a realizar. 2

–14–

Page 17: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

El uso de arcos inhibidores en redes de Petri no sera abordado en profundidad enesta materia. Posteriormente veremos una aplicacion util de los mismos al mostrarla equivalencia de las redes de Petri con otros formalismos alternativos.

9. Aplicaciones de Redes de Petri

En Ciencias de la Computacion es comun que sea necesario modelar sistemascomplejos en los cuales las distintas partes puedan evolucionar de manera indepen-diente entre sı. Las Redes de Petri son consideradas una herramienta sumamenteimportante para el estudio de estos sistemas. Con su ayuda podemos modelar elcomportamiento y la estructura de un sistema complejo, y estudiar sus caracterısti-cas sin necesidad de realizar ese analisis sobre el sistema real (lo que normalmentees costoso o imposible de realizar).

La teorıa de las redes de Petri ha llegado a ser reconocida como una metodologıacomun en robotica para modelar sistemas de manufactura que sean flexibles y quepuedan respetar restricciones temporales y de sincronıa. En efecto: a diferencia de losautomatas finitos (u otro tipo de automatas), las redes de Petri ofrecen una formade expresar procesos que requieren sincronıa. Dicha sincronıa puede estudiarse yanalizarse de manera formal y obtener informacion del comportamiento dinamicodel sistema modelado.

Algunas aplicaciones de redes de Petri son las siguientes:

Servicios de redes inteligentes (aplicados por caso por la empresa alemanaDeutsche 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 senales (Brasil).

10. Referencias

El orden de presentacion de los conceptos de este capıtulo esta basado parcial-mente en los presentados en [Aug95] y [Pin97]. Los conceptos fundamentales de redesde Petri pueden consultarse en la Tesis Doctoral de Carl Adam Petri [Pet62]. Unanalisis detallado de las redes de Petri y sus propiedades y aplicaciones puede encon-trarse en [Pet81]. Un tratamiento sucinto de redes de Petri (incluyendo ejercitacion)puede consultarse en [Joh97].

–15–

Page 18: Redes de Petri-TC2010

Teorıa de la Computabilidad – Notas de Curso – por C.I. Chesnevar y M. L. Cobo

Referencias

[Aug95] Juan Carlos Augusto. Fundamentos de Ciencias de la Computacion - Notasde Curso. Universidad Nacional del Sur, Bahıa Blanca, Argentina, 1995.

[Joh97] Richard Johnsonbaugh. Matematicas Discretas. Prentice Hall, 1997.

[Pet62] Carl Petri. Komunikation mit Automaten. PhD thesis, Universidad deDarmstadt, Alemania, 1962.

[Pet81] James Peterson. Petri Net Theory and the modeling of systems. PrenticeHall, Englewood Cliffs, New Jersey, 1981.

[Pin97] Ramon Brena Pinero. Lenguajes formales y automatas. Centro de Inteligen-cia Artificial. Instituto Tecnologico y de Estudios Superiores de Monterrey,Monterrey, Mexico, 1997.

–16–