Parcial 2 Flashcards

1
Q

Automata finito

A

Reconocen lenguajes regulares (de tipo 3) y se pueden representar como una cinta y una cabeza de lectura.

La cinta de entrada solo contiene simbolos de un determinado alfabeto, y se mueve en una sola direccion.

El control de estados determina el funcionamiento del automata (cabezal).

Una sentencia es reconocida por este automata si el control de estados llega a un estado final.

Definicion formal:

Es una septupla:

AF = {E,Q,f,q1,F} (raro, son cinco no 7)

E=conjunto finito de simbolos de entrada, que constituye el vocabulario

Q=conjunto finito de estados

f: E x Q –> Q es la funcion de transicion

q1 ∈ Q es el estado inicial

F ⊂ Q es el conjunto de estados finales

Igual que con los otros, hay teoremas que dicen que toda gramatica regular genera un lenguaje regular que un automata finito puede reconocer.

De la misma forma, para todo automata finito existe una gramatica tal que el lenguaje generado por ella es reconocido por el automata finito

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Automatas finitos deterministas vs no deterministas

A

un AF es D o ND segun su funcion de transicion f, que puede ser determinista o no.

Un AFND se caracteriza porque dada una entrada e en un estado qi, se puede pasar a otro estado qj,qk,..,qn sin poder saber a ciencia cierta a cual pasara, mientras que en un AFD esto no sucede, dada una entrada e siempre hay un solo estado posible al que pasara el automata.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

AFND

A

Formalmente, su definicion es igual a la del AFD, pero cambia la definicion de f, que ahora pasa a ser no determinista, es decir
f:E* x Q –> P(Q), donde P(Q) es el conjunto potencia de Q, es decir el conjunto de estados posibles.

qi es el estado inicialm pero puede no ser unico en este caso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Teorema sobre transformacion de AFND en AFD

A

Para todo AFND se puede construir un AFD tal que ambos reconozcan el mismo lenguaje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Transformacion de expresion regular en automata finito

A

Dada una expresion regular existe un AF capaz de reconocer el lenguaje que esta define, y viceversa, dado un AF, existe una regex que genera el lenguaje que este reconoce.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Redes de petri (usos)

A

Se usan para modelar una gran variedad de fenomenos (de informatica y control)

Permiten modelar y visualizar comportamientos con paralelismo, concurrencia, sincronizacion e intercambio de recursos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Plaza, transicion y arco

A

Una PN tiene nodos y arcos.

Los nodos pueden ser plazas, representadas con circulo (su cantidad es finita y no cero), o bien transiciones, representadas con barras (su cantidad tambien es finita y no cero)

Los arcos se representan con flechas y pueden tener dos direcciones, desde una plaza a una transicion o de una transicion a una plaza (no es valido un arco de una transicion a otra transicion por ejemplo).

P = {P1, P2, P3, ….. , Pn} es el conjunto de plazas

T = {T1, T2, T3, …… , Tn} es el conjunto de transiciones

Transicion sin lugar (plaza) de entrada es una fuente

Transicion sin lugar (plaza) de salida es un sumidero

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Marcado de plaza y de red

A

Cada plaza contiene un numero entero de tokens o marcas

m(Pi) = mi

Ademas, podemos definir la marca m de la red, como el vector que contiene las marcas de cada plaza

m = (m1, m2, m3, …. , mn)

A esta marca de la red tambien se la conoce como estado

Este marcado de la red representa el estado de la PN en un momento dado, y a su vez la evolucion de la red esta correspondida a una evolucion del marcado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Disparo de transicion

A

Si las condiciones se cumplen, la transicion se dispara y el estado de la red cambia.

Condicion: Para que una transicion se dispare primero debe estar sensibilizada, es decir, que cada plaza de entrada a la transicion tiene que tener al menos el mismo numero de tokens que el peso del arco que las conecta con la transicion.

Disparo: consume los tokens necesario de las plazas que entran (segun el peso de los arcos), y genera tokens a las plazas de salida de la transicion.

Cabe aclarar que los disparos son atomicos, y tienen duracion cero.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

PN autonoma vs no autonoma

A

Cuando una PN evoluciona por los disparos de sus transiciones, cuyos instantes de disparo son desconocidos o no estan indicados, la PN es autonoma.

Por otro lado, cuando una transicion se dispara porque se cumplen las condiciones de sensibilizado y esta asociada a un evento externo, la PN es no autonoma. Es decir, este tipo de PN describe un sistema cuya evolucion esta condicionada a un evento externo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Pn especiales/particulares

A

PN tienen alta complejidad, por lo que para facilitar su analisis se aplican restricciones en la estructura grafica de la red, obteniendo asi distintos casos particulares

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

PN ordinaria

A

Se caracteriza porque todos sus arcos son de peso unitario. Es una restriccion estructural

Formalmente, es la tupla

N = (P, T, F)

P es el conjunto de lugares o plazas

T es el conjunto de transiciones

F ⊆ (P x T) U (T x P) es el conjunto de arcos de transicion

Arcos de salida de transicion (T x P), (t°) el puntito es negro relleno

Arcos de entrada de transicion (P x T) (°t)

Una marca μ de N es un mapa μ: P->N

μ0 es la marca inicial

Una PN ordinaria N se denota (N,μ0)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Maquina de estado (SM de State Machine)

A

Es una PN ordinaria en la que cada transicion tiene un lugar de entrada y uno de salida.

PN sin marcar es grafico de estado sii cada transicion tiene una plaza de entrada y una de salida.

Hay que notar que para que este tipo de red se comporte como una maquina de estado (automata), el marcado debe ser el adecuado. Es decir que solo puede tener un token (equivale al automata que esta en un estado a la vez).

Chequear imagenes para vislumbrar esto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Grafo de Marcado (MG) (eventos)

A

Mg es una PN ordinaria tal que cada lugar tiene una transicion de entrada y una transicion de salida.

Esto significa que no puede haber conflicto, pero si concurrencia.

Los MG se utilizan generalmente para representar operaciones simultaneas

En un grafico de estado (marcado) puede haber conflictos, pero no hay sincronizacion (es decir, una transicion con al menos dos lugares de entrada). En un grafico de eventos puede haber sincronizaciones, pero no hay conflictos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Conflicto en una PN

A

Un conflicto (estructural) se da cuando una plaza tiene mas de una transicion de salida, por lo que no se pueden disparar ambas, se debe “optar” por una de ellas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

PN libre de conflicto

A

Esta PN no tiene conflictos, cada lugar tiene como maximo una transicion de salida.

Vivacidad y accesibilidad son decidibles para estas redes.

Hay una constante c tal que para una marca inicial con x tokens, la marca maxima de cada lugar es ilimitada o esta limitada por cx.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

PN de libre eleccion (FC)

A

FC PN es una PN que cumple la siguiente condicion:

Para cada conflicto P1,{T1,T2,….} ninguna de las transiciones T1, T2, …. posee otro lugar de entrada que P1.

Una PN de libre eleccion extendida es tal que para cada conflicto P1,{T1,T2,….} todas las transiciones T1, T2, …. tienen el mismo conjunto de lugares de entrada. Es decir, si T1 tiene P1 y P2 como lugares de entrada, estos tambien son lugares de entrada de T2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

PN simple

A

Es una PN en la que cada transicion solo puede verse afectada por un conflicto como maximo.

Si existe una transicion T1 y dos conflictos, por ejemplo P1,{T1,T2} y P2{T1,T3} la red ya no es simple

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Auto loop

A

Un par Pi Tj se llama auto-loop si Pi es un lugar de entrada y salida de Tj.

Es como un ciclo infinito basicamente.

Se suelen usar para sincronizar disparos de una transicion. Supongamos que en una plaza tengo 5 tokens y un arco de peso 4. Si quiero limitar la transicion para que no consuma lo 4 tokens juntos puedo poner un auto-loop que me va a limitar la transicion a un token por vez

Igual solemos buscar evitarlos, ya que es complicado llevarlos a codigo despues

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

PN pura

A

Una PN es pura si no tiene auto-loops

Propiedad importante: todas las PN impuras se pueden convertir en PN puras.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Extensiones de las PN

A

Son reglas agregadas para enriquecer la capacidad del modelo, para tratar problemas mas complejos.

No todas las propiedades de las PN ordinarias se mantienen para las extensiones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Generalizacion de una PN ordinaria

A

Se le asocia un peso a cada arco, que puede ser distinto de 1. El peso de un arco me dice cuantos tokens va a consumir la transicion al dispararse, o cuantos va a generar, dependiendo el caso (entrada o salida de una plaza).

Todas las PN generalizadas se pueden transformar en ordinarias, pero la transformacion suele ser complicada

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

PN de capacidad finita

A

En las PN ordinarias las plazas tienen capacidad infinita, ahora en las generalizadas, podemos tener una capacidad finita.

Es decir que se asocia un numero entero positivo a una plaza, que indica el maximo numero de tokens que puede almacenar.

Ahora, si el disparo de una transicion genera un numero mayor de tokens a la capacidad de una plaza, esta no se puede disparar.

Toda capacidad finita de una plaza en una PN se puede transformar en una PN ordinaria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

PN coloreadas

A

Tienen tokens de diferentes colores

Son de gran valor para modelar sistemas complejos

Todas las PN coloreadas con un numero finito de colores se pueden convertir en PN ordinarias.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

PN extendidas

A

Tienen arcos especiales llamados inhibidores

Si el peso de un arco inhiidor Pi->Tj es s, la transicion Tj se habilita solo si m(Pi) < s, es decir es una prueba de umbral.

El caso de s=1 es un caso particular importante, llamado prueba a cero. Puesto que la transicion Tj solo se habilita si m(Pi)=0, es decir si la plaza esta vacia.

En general, las PN extendidas no se pueden convertir en ordinarias

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Pn con prioridades

A

Este tipo de red se una cuando deseamos elegir entre una cantidad de transiciones habilitadas, esta formada por:

Una red de petri

Y una relacion de orden parcial en las transiciones de la red.

Es decir que cuando hay transiciones que tiene conflicto entre ellas, se setea una prioridad de disparo

Todas las PN prioritarias se pueden modelar como PN extendidas (pero ojo, aca estariamos acoplando la logica con las politicas, no seria recomendable)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Politicas y logica de PN

A

La logica es la que esta dada por la estructura y el estado de la red, mientras que las politicas nos dicen como se comporta ante conflictos (prioridades).

Es importante separar las politicas de la logica, para garantizar escalabilidad a futuro. Si acoplo las politicas en la logica de la PN, a futuro me generara problemas si deseo cambiar algo, ademas de que sera mas dificil pasar al codigo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

PN continuas e hibridas

A

Una PN continua tiene un marcado de un lugar que es un numero real (positivo) y ya no es un numero entero.

El disparo tiene lugar como un flujo continuo.

Estas redes permiten modelar sistemas que no pueden ser modelados con PN ordinarias

Una PN hibrida es una combinacion de PN discreta (regular) y PN continua

29
Q

Secuencias de disparo y marcado

A

Por conveniencia solemos poner el vector de marcado de la red como transpuesto

Una PN con marca inicial m0 denota el conjunto de marcas alcanzables mediante una secuencia finita de disparos.

Una secuencia de disparos es una sucesion de disparos de transiciones.

30
Q

Propiedades de las PN ordinarias: Secuencia de disparos finita e infinita

A

Es importante determinar si el comportamiento de un sistema termina o no. Para eso se busca su la secuencia de disparos es o no finita.

Existe una secuencia de disparos infinita si: para un σ ∊ T(elevado a inf), cualquier prefijo σ’ de σ es una secuencia finita de disparos.

Por ejemplo en la PN de productor consumidor, las secuencias de consumir y producir son infinitas.

Cuando una red no tiene una secuencia infinita de disparos se dice que cumple con las propiedades de terminación

31
Q

Propiedades: PN ordinaria limitada

A

Una plaza Pi esta delimitada por una marca inicial m0 si hay un entero natural k tal que, para todas las marcas alcanzables desde m0, el numero de token en Pi no es mayor que k .

Una PN esta limitada si todas sus plazas estan limitadas. Basicamente es que no acumulan tokens indefinidamente

Cuando hay alguna plaza que no esta limitada, elnumero de marcas alcanzables para la red es ilimitado

32
Q

Propiedades: PN ordinaria segura

A

Una PN es segura para una marca inicialm0 si para cada marca alcanzable, cada lugar contiene cero o un token.

Es un caso particular de PN acotada (limitada) en donde todos los lugares tienen un limite de 1

33
Q

Propiedades de PN limitadas/acotadas y seguras

A

Dependen de m0

Es suficiente que m0 sea tal que uno de los lugares contenga 2 tokens o mas para que la PN no sea segura

Segun sea el caso, la red puede estar limitada por la marca inicial, o independientemente de esta.

Una PN no marcada esta estructuralmente limitada si para todas las marcas finitas iniciales, la PN marcada esta limitada

El concepto de PN limitada se aplica a todas PN ordinarias y las extensiones, a excepcion de las PN continuas, ya que ahi las marcas de lugar no son enteros.

Una PN generalizada que es segura degeneraria en una PN ordinaria.

34
Q

Propiedades: PN seudo viva

A

Una PN es seudo viva si existe alguna transicion viva (que esta sensibilizada), por lo que no se bloquea totalmente.

Alguna transicion se puede disparar para toda marca

Es decir, puede haber alguna transicion que luego de dispararse no se sensibilice nunca mas, pero hay otras que si van a continuar sensibilizandose, por eso seudo viva

35
Q

Propiedades: PN Quasi viva

A

Una transicion es Quasi viva si se puede disparar al menos una vez

Una PN es quasi viva si existe alguna marca a la que se pueda pasar para toda transicion

Seudo vivacidad y quasi vivacidad no me garantizan que pueda disparar todas las transiciones en un futuro para alcanzar un estado determinado

36
Q

Propiedades: Vivacidad de PN

A

Una transicion Tj esta viva para una marca inicial m si para cada marca alcanzable (desde m0) existe una secuencia de disparo S de la marca que contiene la transicion Tj

Es decir, sea cual sea la evolucion, siempre queda la posibilidad de disparar Tj

Graficos en diapo que ayuda a entender

37
Q

Deadlock

A

Deadlock, o estado sumidero es una marca tal que no se puede disparar ninguna transicion

Una red esta libre de deadlock si para una marca inicial m0 ninguna marca alcanzable es un deadlock

38
Q

Relaciones vivacidad y deadlock

A

PN puede ser quasi viva y tener algun deadlock

Una PN viva, en cambio, esta libre de bloqueo

Una PN viva es una en la que todas sus transiciones estan vivas

Liveness y dealock dependen claramente de la marca inicial m0

39
Q

Propiedades vivacidad y deadlock

A

Si una transicion es cuasi-viva para una marca inicial m0, lo es tambien para otra m>=m0

Pero si una transicion es viva para m0, no necesariamente lo es para m>=m0

Si una red esta libre de deadlock para m0, no necesariamente lo esta para m>=m0

Estos conceptos de vivacidad, cuasi vivacidad y deadlock se aplican a todas las PN vistas, y pueden generalizarse a todas las extensiones de PN

40
Q

Propiedades: Home state (estado de origen)

A

Una PN tiene un home state mh para una marca inicial m0 si para cada marca alcanzable mi existe una secuencia de disparo tal que mi –S> mh

Una PN es reversible para una marca inicial m0 si m0 es un home state

Graficos ayudan a entender

Esta nocion de home state se aplica a todos los tipos y extensiones de PN

41
Q

Conflictos (en PN generalizadas), distintos tipos de conflictos

A

Conflicto estructural, el primero q vimos, cuando al menos 2 transiciones tienen un lugar de entrada comun

Conflicto efectivo: En una PN ordinaria, un conflicto efectivo es la existencia de un conflicto estructural K, y una marca m , tal que el numero de token de Pi es menor que el numero de transiciones de salida de Pi que son habilitadas por m, o lo que es lo mismo, menor que la suma de los pesos de los arcos.

se denota K(elevado a E) =

Como vemos, depende de que haya conflicto estructural, pero tambien del marcado de la red

Basicamente, es cuando realmente hay un conflicto al “correr” la red, ya que el conflicto estructural sigue estando, pero si por ejemplo de un lugar salen 2 transiciones, pero ese lugar tiene 2 tokens, ambas se van a poder disparar, por lo que no hay conflicto efectivo

42
Q

Multiples disparos

A

Es posible el disparo multiple, es decir disparos concurrentes, se denota entre corchetes

Denotamos {T1T2} al disparo concurrente, que puede ser realizado en cualquier orden o simultaneamente

43
Q

Transicion concurrente

A

Dos o mas transiciones son simultaneas o concurrentes si estan habilitadas y son causalmente independientes, es decir, una transicion puede dispararse antes, despues, o simultaneamente con la otra.

Generalmente, estas transiciones concurrentes no tienen lugar de entrada comun. Ahora bien, si tienen lugar de entrada comun, deben haber tokens suficientes para dispararlas en simultaneo si se desea para que cumplan la condicion de concurrentes.

Si para cada marca alcanzable no hay conflicto efectivo, entonces en cualquier momento las transiciones habilitadas son concurrentes

44
Q

Persistencia

A

Una PN es persistente si por cada marca alcanzable mi existe la siguiente propiedad:

Por cada par de transiciones Tj Tk habilitadas por el marcado mi, la secuencia TjTk es una secuencia de disparo de mi (asi como TkTj por simetria)

En otras palabras, cada transicion habilitada solo se puede desactivar mediante su propio disparo

Una PN sin conflicto estructural es persistente para cualquier m0, una PN persistente para cualquier m0 es estructuralmente persistente

Si PN no tiene conflicto efectivo, entonces es persistente

45
Q

Grado de habilitando de una transicion

A

Corresponde al numero de disparos que pueden ocurrir para una transicion (concurrentes)

46
Q

Conflicto general

A

Es un caso particular, donde se da un conflicto teniendo en cuenta los grados de habilitando de las transiciones.

Por ejemplo si tengo una plaza con dos tokens y dos transiciones, pero una tiene grado de habilitacion 1 y la otra 2, hay un conflicto general, ya que no puedo respetar ese grado de habilitacion, porque o disparo una vez cada una, o disparo dos veces una, entonces ahi tengo conflicto general

Entonces conflicto general es cuando dos o mas transiciones no se pueden disparar en simultaneo de acuerdo a sus grados de habilitacion.

Formalmente
K(elevado a G) =  es la existencia de un conflicto estructural, y una marca m tal que el numero de tokens en Pi no es suficiente para disparar todas sus transiciones de salida, teniendo en cuenta sus grados de habilitacion
47
Q

Invariantes de la PN

A

Son propiedades que no varian al activarse las transiciones de la red

Hay invariantes de plaza y de transicion

Las restricciones que nosostros le ponemos al modelo deben reflejarse en estos invariantes

48
Q

Componentes conservativos

A

Cuando la suma de las marcas de distintas plazas se mantiene constante, como por ejemplo en la PN de las estaciones del año, ya que ahi vemos que la suma de tokens en las plazas siempre es 1

49
Q

Invariante de plaza o de marcado

A

Se obtiene si hay un subconjunto de lugares P’ = {P1,P2,….,Pr} ∊ P y un vector de ponderacion (q1, q2,…, qr) para el cual todos los pesos qi son enteros positivos tales que:

q1m(P1)+q2m(P2)+…+qr*m(Pr) = cte para cualquier marca alcanzable desde m0

P’ es un componente conservador

La propiedad de ser componente conservador es indep de m0, ya que es una propiedad estructural

Generalmente, un componente conservador tiene dos significados: el sistema esta en un estado a la vez, o se mantiene un numero de entidades constante

50
Q

Componentes repetitivos

A

Un componente repetitivo es una secuencia de disparos que causa un retorno al estado incial, es decir:

m0–T1T2T3T4–>m0 por ejemplo

Secuencia repetitiva que contiene todas las transiciones de la red es una secuencia repetitiva completa

Conjunto de secuencias de disparo se define por L1 o L1(con barra arriba)

L1=(T1T2T3T4)* (por ejemplo)

50
Q

Componentes repetitivos (invariantes de transicion)

A

Un componente repetitivo es una secuencia de disparos que causa un retorno al estado incial, es decir:

m0–T1T2T3T4–>m0 por ejemplo

51
Q

Consistencia

A

Cada (alguna) transicion ocurre al menos una vez en alguna secuencia de disparo que impulsa una marca inicial a si misma

Significa que de alguna forma puedo hacer una secuencia de disparos que use todas las transiciones y me retorne a la marca inicial

En la diapo hay un ejemplo donde se entiende bien

L = (T1T2 + T3T4)*, entonces yo puedo hacer T1T2T3T4 que es una secuencia repetitiva completa, por lo que la red es consistente

52
Q

Propiedad de componente repetitivo

A

Si L(m0) es un conjunto de secuencias de disparo de m0, si existe una m’0 >= m0, una S (secuencia repetitiva) de m0 lo es tambien para m’0

53
Q

Invariante de transicion

A

Es un componente repetitivo, es decir un subconjunto de transiciones ∊ T tales que al hacer una secuencia de estas transiciones retorno a la marca inicial m0

54
Q

Grafico/arbol de marcas/alcanzabilidad

A

Esta formado por vertices que corresponden a marcas alcanzables y arcos que corresponden a disparos de transiciones

Graficos en las diapos de ejemplo

55
Q

Arbol de raiz de cobertura

A

Es similar al grafico de marcas, pero tiene en cuenta el caso de marcas ilimitadas, es decir que la red no sea limitada

Siempre tiene un numero finito de vertices

Cuando los tokens en una plaza pueden crecer ilimitadamente, se coloca la letra ω (llamada macro marcado), que significa:

Si n es un numero entero, entonces n < ω y n + ω = ω

Esto describe lo recien mencionado, ya que la ω significa un crecimiento ilimitado de tokens

56
Q

Definicion formal de PN ordinaria (otra similar)

A

Es una cuadrupla

Q = <p>

P = conjunto finito no vacio de lugares</p>

T = conjuonto de transiciones finito no vacio

Pre: P x T -> {0,1} arcos de entrada a transiciones

Post: Pre: P x T -> {0,1} arcos de salida de transiciones

°Tj conjunto de lugares de entrada de Tj

Tj° conjunto de lugares de salida de Tj

57
Q

Matrices de incidencia de entrada y salida, Matriz de flujo

A

W- = [wi j-], donde [wi j-] = Pre(Pi,Tj)
matriz de incidencia de entrada

W+ = [wi j+], donde [wi j+] = Post(Pi,Tj)
matriz de incidencia de salida

Son matrices donde las filas son plazas y las columnas son transiciones, y se llena con 1 o cero dependiendo si hay arcos entre una determinada transicion y una plaza, segun sea el caso de cada matriz (arcos de salida o de entrada)

La matriz de flujo o de incidencia es:

W = W+ - W-

Si una PN es pura, su matriz de flujo permite que se construya la PN no marcada

58
Q

Ecuacion fundamental

A

mk = mi + W s

donde:

mk es la marca siguiente

mi es la marca donde se encuentra la red

W es la matriz de flujo

s es un vector caracteristico de una secuencia de disparos S, tiene m componentes y su numero de componente corresponde al numero de disparos de la transicion Tj en la secuencia S.

por ej s=(0,1,0,0) significa que dispare una vez la transicion T2

Es una ecuacion con vectores y matrices, que me sirve para ver como evoluciona la red de forma algebraica

s es un vector caracteristico “posible” si al menos existe una secuencia de disparos posible

Varias secuencias de disparo pueden corresponder al mismo vector caracteristico s, pero van a dar como resultado la misma marca

Lo inverso no es cierto necesariamente, dos secuencias que resultan en la misma marca no necesariamente tienen igual vector caracteristico s

59
Q

Invariante de plaza utilizando el algebra de la PN

A

si tenemos un vector de ponderacion x = (1,1,1,0,0) entonces P(x) es el conjunto de lugares cuyo peso no es cero, en este caso
P(x) = {P1,P2,P3}

Un conjunto de lugares B es componente conservador sii existe un vector de ponderacion x tal que P(x) = B y x(transpuesto)*W = 0

Si esto sucede, entonces x es un p-invariante o invariante de plaza
Tambien podemos escribir el invariante de plaza como
m1+m2+m3 = 1 para este ejemplo

Mirar grafico en diapo

Existen componentes conservativos minimos, a partir de los cuales puedo hacer comb lineales y obtener otros

60
Q

Invariantes de transicion utilizando algebra de PN

A

Propiedades similares a los P-invariantes

Un conjunto de transiciones D es un componente repetitivo sii existe una secuencia de disparo s tal que:
T(s) = D y s * W = 0

T(s) es el soporte del T-invariante, es el conjunto de transiciones que aparecen en s

el vector s es un T-invariante

En resumen, es un conjunto de transiciones para las cuales hago un ciclo, es decir que parto de una marca inicial y vuelvo esa misma marca.

61
Q

Sifones y trampas

A

Estos conceptos estan limitados a PN ordinarias

Hablando genericamente, un sifon genera algo, y en algun momento se acaba, mientras que una trampa consume, mientras tenga algo que consumir

Definiciones especificas para una PN

Sifon:
Un sifon es un conjunto de plazas P’ tal que el conjunto de transiciones de entrada (°P’) se incluye en el conjunto de transiciones de salida (P°’)
Es decir, hay mas arcos de salida que de entrada a ese conjunto de plazas

Trampa:
Es lo inverso
Una trampa es un conjunto de plazas P’ tal que el conjunto de transiciones de salida (°P’) se incluye en el conjunto de transiciones de entrada (P°’)
Es decir, hay mas arcos de entrada que de salida a ese conjunto de plazas

Para que un conjunto sea candidato a sifon o trampa debe tener por lo menos dos plazas

Cuando un sifon se “vacia”, entregando todos sus tokens a una trampa, se produce un deadlock en la red, por lo que debemos evitar esto. Si hacemos que el sifon no se vacie, podemos “curar” a la red de deadlock.

Para esto debemos analizar los sifones que hay en la marca inicial, para analizar los posibles deadlocks

Debemos evitar vaciamiento de sifones por logica, no por politicas

62
Q

Monitor

A

Es una herramienta con un nivel de abstraccion mayor que los semaforos. Ayuda a administrar la concurrencia en sistemas complejos, donde utilizar semaforos nos puede llevar facilmente a errores y dificultades de mantenimiento

Definicion:

Es un mecanismo de software de alto nivel para control de concurrencia, que contiene los datos y procedimientos necesarios para realizar la asignacion de un determinado recurso o grupo de recursos compartidos.
Es una instancia de una clase que puede ser usada de forma segura por varios threads

Un monitor contiene:

Variables booleanas que representan el estado de un recurso

Procedimientos que implementan operaciones sobre el recurso (recordar que las acciones no se realizan dentro del monitor)

El codigo del monitor tiene 2 partes:

El algoritmo para manipular recursos y sincronizar hilos

El mecanismo para la asignacion del orden en el cual los procesos asociados pueden compartir el recurso y/o son sincronizados

Graficos en diapo

63
Q

Elementos que componen un monitor

A

Conjunto de variables locales, denominadas permanentes, que almacenan el estado interno del recurso y los procedimientos

Codigo de inicializacion: el constructor

Conjunto de procedimientos internos que manejan las variables permanentes

Declaracion de los procedimientos exportados (los que tienen que realizarse en mutex)

64
Q

Clasificacion de monitores

A

Se clasifican segun la funcion de señalizacion:

Señal explicita: un monitor con una declaracion explicita de la variable señal

Señal implicita: un monitor de señal automatica, que no tiene ninguna declaracion. Seria como que la cola de espera y de entrada son la misma, es decir que equivale a lo que ya veniamos haciendo con la sentencia synchronized

A su vez, la clasificacion se puede realizar en base a las prioridades de las colas del monitor, existen distintas politicas signal, de las cuales nos centramos en 4

65
Q

Colas de un monitor

A

Son 3:

Cola de entrada: Ahi esperan los hilos para entrar, solo un hilo puede estar ejecutandose dentro del monitor (Ep)

Cola de espera o de condicion: Ahi esperan hilos por una condicion que necesitan para seguir trabajando (Wp)

Cola de señalizacion o cortesia: Ahi esperan hilos que cedieron su tiempo de ejecucion a un hilo que salio de la cola de condicion que tenia mayor urgencia.

66
Q

Politicas signal

A

Signal and continue (SC): El proceso que señaliza (el que esta en ejecucion) mantiene el mutex y el proceso despertado (de una cola de condicion) va a la cola de entrada pero tiene mayor prioridad que los procesos en la cola de entrada

Ep < Wp < Sp

Signal and Wait (SW): El proceso que señaliza es bloqueado y debe competir de nuevo por el mutex para continuar y el proceso despertado adquiere el mutex y continua su ejecucion

Ep = Sp < Wp

Signal and Urgen Wait(SU): El proceso que señaliza es bloqueado pero sera el primero en conseguir el mutex cuando lo libere el proceso despertado (Es decir que el proceso que señaliza se va a la cola de cortesia)

Ep < Sp < Wp

Signal and Exit (SX): El proceso que señaliza sale del metodo y el proceso despertado va a la cola de entrada pero compite por el mutex con los procesos que estan ahi (No tiene prioridad por sobre los otros)

Ep = Wp < Sp

67
Q

Variables de condicion

A

Son “contenedores” de subprocesos que esperan una determinada condicion (serian las colas de condicion, que estan controladas por distintas variables de condicion que manejan cuando un hilo puede despertarse o no)

Hay dos instrucciones importantes relacionadas a estas variables:

Instruccion wait(): el proceso que la invoca queda “dormido”, pasando a la cola de espera asociada a la variable

Instruccion signal(): si la cola a la que hace referencia el signal esta vacia no pasa nada, pero si no lo esta, el primer proceso de la cola se despierta, y depende de la politica signal que elijamos va a tener mas prioridad o menos sobre otros procesos