1.24k likes | 1.37k Views
Reti di Petri. Condizioni e eventi. Gli eventi sono i quadrati e le condizioni i cerchi. Una condizione e’ soddisfatta se contiene un “token”. inizio estate. estate. primavera. inizio autunno. inizio primavera. inverno. inizio inverno. autunno. Condizioni e eventi.
E N D
Condizioni e eventi Gli eventi sono i quadrati e le condizioni i cerchi. Una condizione e’ soddisfatta se contiene un “token” inizioestate estate primavera . inizio autunno inizio primavera inverno inizio inverno autunno
Condizioni e eventi Possiamo aggiungere condizioni inizioestate estate primavera . inverno o primavera . non autunno . inizio autunno inizio primavera inverno inizio inverno autunno
Condizioni e eventi inizioestate estate primavera . inverno o primavera non autunno . inizio autunno inizio primavera inverno inizio inverno autunno
Posti e transizioni I posti possono contenere piú “token”. Quando una transizione viene eseguita si toglie un “token” da ciascun posto di ingresso e lo aggiunge a ciascun posto di uscita. . . . . . produttore . consumatori
Posti e transizioni Al più tre processi possono leggere la memoria contemporaneamente. Mentre un processo scrive nessuno può leggere. pronto a scrivere pronto a leggere . . 3 scrittura . lettura . . 3 . . . . 4 processi lettori 2 processi scrittori Si aggiungono 3 token
Definizioni di base (1) Una tripla N = (S, T, F) è chiamata rete se e solo se: 1) S e T sono insiemi disgiunti (gli elementi di S sono chiamati S-elementi, gli elementi di T sono chiamati T-elementi) 2) F (S T) (T S) è una relazione binaria, chiamata la relazione di flusso di N. Graficamente S-elementi sono rappresentati come cerchi e T-elementi come quadrati, la relazione di flusso è rappresentata da archi orientati che connettono cerchi e quadrati Notazione. Sia N = (S, T, F) una rete. Denotiamo le componenti come SN, TN, FN e scriviamo anche N per S T. Sia N una rete. Per x N .x = { y | y FN x} è chiamato il preset di x x. = { y | x FN y} è chiamato il postset di x Per X N sia .X = x X.x e X. = x X x. .
Definizioni di base (2) Per x, y N si ha x . y y x. . Una coppia (s,t) SN TN è un self-loop se e solo se s FN t and t FN s. Una rete N è pura se FN non contiene self-loop. Un elemento x N è isolato se e solo se . x x . = . Una rete N è semplice se elementi distinti non hanno lo stesso preset e postset, ossia se, per ogni x, y N, .x = .y and x. = y.=> x = y.
Definizioni di base (3) Esempio. Una rete semplice ma non pura che non contiene elementi isolati.
Definizioni di base (4) Siano N e N’ due reti. Data una biiezione b : N N’ chiamiamo N e N’ b-isomorfe se e solo se s SNb(s) SN ’ and x FN y b(x) FN ’ b(y). Questo implica tTNb(t) TN ’ . Due retiN e N’ sono isomorfe se e solo se sono isomorfe per qualche funzione b. Rappresentazioni grafiche in cui gli elementi non hanno un nome rappresentano reti a meno di isomorfismo.
Reti condizione-evento (1) Gli S-elementi rappresentano condizioni e indichiamo con B il loro insieme, i T-elementi rappresentano eventi e indichiamo con E il loro insieme. L’insieme delle condizioni che valgono in una configurazione è un caso. Sia N = (B, E, F) una rete. 1) un sottoinsieme c B è un caso 2) sia e E e c B; e ha una concessione in c (è c-abilitato) se e solo se .e c and e. c = (assenza di contatto) 3) sia e E, sia c B, e sia c-abilitato. Allorac’ = (c\.e) e. è il caso successore di c sotto e ( c’ risulta dall’occorrenza di e nel caso c) e scriviamo c [e > c’. Notazione.Nella rappresentazione grafica si indica che una condizione vale ponendo una marca nel cerchio che la rappresenta.
Reti condizione-evento (2) Esempio. . inizioestate estate primavera inizio autunno inizio primavera inverno inizio inverno autunno
Reti condizione-evento (3) Eventi i cui preset e postset sono disgiunti possono essere combinati in un passo. Sia N = (B,E,F) una rete. Un insieme di eventi G E è distaccato(detached) se e solo se per ogni e1, e2 G e1 differente da e2=> .e1.e2= = e1. e2. . Siano c, c’ casi di N e sia G distaccato. Allora g è un passo da c a c’, ossia c [G > c’ se e solo se ogni evento e G è abilitato e c’ = (c\.G) G. . Lemma. Sia N una rete, sia G EN distaccato e siano c, c’ casi di N. Allora c [G > c’ c\c’ = .G and c’\c = G..
Reti condizione-evento (4) Esempio. e4 b3 b5 . e1 e5 e2 b1 e3 b2 b4
Reti condizione-evento (5) Esempio. . e4 b3 b5 e1 e5 e2 . b1 e3 b2 b4
Reti condizione-evento (6) Esempio. e4 . b3 b5 e1 e5 e2 b1 . e3 b2 b4
Reti condizione-evento (7) b4 b1 e2 b3 e3 e5 e4 b2 e1 b5 L’evento e1 può essere combinato in un passo sia con l’evento e2 che con l’evento e3.
Reti condizione-evento (8) b4 b1 e2 b3 e3 . b6 e5 e4 b2 e1 b5 Caso b6
Reti condizione-evento (9) . b4 b1 e2 b3 e3 . e5 e4 b2 e1 b5 Passo e5 Caso b1, b2
Reti condizione-evento (10) . b4 b1 e2 b3 e3 . e5 e4 b2 e1 b5 Passo e1, e2 Caso b3, b5
Reti condizione-evento (11) . b4 b1 e2 b3 e3 . e5 e4 b2 e1 b5 Passo e3 Caso b4, b5
Reti condizione-evento (12) b4 b1 e2 b3 e3 . e5 e4 b2 e1 b5 Passo e4 Caso b6
Reti condizione-evento (13) . b4 b1 e2 b3 e3 . e5 e4 b2 e1 b5 Passo e5 Caso b1, b2
Reti condizione-evento (14) . b4 b1 e2 b3 e3 . e5 e4 b2 e1 b5 Passo e2 Caso b2, b3
Reti condizione-evento (15) . b4 b1 e2 b3 e3 . e5 e4 b2 e1 b5 Passo e1, e3 Caso b4, b5
Reti condizione-evento (16) Un passo finito può essere realizzato con l’occorrenza dei suoi eventi in un ordine arbitrario. Lemma. Sia N una rete, c e c’ casi di N e G = {e1, …, en} un passo finito da c a c’. Se (e1, …, en) è un ordinamento arbitrario degli elementi di G allora ci sono casi c0, …, cn tali che c = c0, c’ = cn e ci-1 [ei> ci, (i = 1, …, n).
Reti condizione-evento (17) Eventi che abbiano in comune pre o postcondizioni sono in conflitto. In un caso come nell’esempio, in cui si può avere o non avere conflitto, si ha confusione. Si ha conflitto se e2 occorre prima di e1, ma non si ha conflitto se e1 occorre prima di e2, ma tra le occorrenze di e1 e e2 non è specificato alcun ordine. . . e1 e3 e2 .
Reti condizione-evento (18) e2 occorre prima di e1. Conflitto tra e1 e e3 . . . e1 e3 e2 e1 occorre prima di e2. Nessun conflitto e1 e3 . e2 .
Sistemi condizione-evento (1) • Un sistema condizione-evento consiste di una rete (B,E,F) e di un insieme di casi C con le proprietà seguenti: • - Se un passo G E è possibile in un caso c C allora G porta a un caso in C • - Se un caso c C risulta da un passo G E allora anche la configurazione di partenza è un caso di C • - Tutti i casi di C possono essere trovati ragionando in avanti o all’indietro • C è tale che i) per ogni evento e E c’è un caso in C in cui e ha una concessione, ii) ogni condizione b B appartiene ad almeno un caso di C, ma non a tutti (cosí si escludono condizioni isolate e self-loop). • Si vogliono escludere anche eventi isolati perché si vuole che gli eventi siano osservabili. Inoltre si chiede che due condizioni non abbiano lo stesso preset e postset (non sarebbero distinguibili). Analogamente pergli eventi.
Sistemi condizione-evento (2) • Una quadrupla S = (B,E,F,C) è un sistema condizione-evento (sistema C/E) se e solo se: • (B,E,F) è una rete semplice senza elementi isolati. • C (B) è una classe di equivalenza della relazione di raggiungibilità RS = (rS rS-1)*, dove rS(B) (B) è data da c1 rS c2$G E c1 [G> c2 . C è la classe dei casi di S. • 3. Per ogni e E esiste c C tale che e ha una concessione in C. • La classe dei casi di un sistema C/E S è completamente determinato da un elemento arbitrario della classe.
Sistemi condizione-evento (3) Esempio. La classe dei casi dell’esempio seguente è {{b1},{b2},{b3},{b4}}. . b2 b1 b3 b4
Sistemi condizione-evento (4) Lemma. Sia S un sistema C/E. 1. BS e ES e FSsono differenti da . 2. Per c CS, c’BS, G ES c [G > c’ c’ CS c’[G > c c’ CS. 3. Per ogni bBS,$c,c’ CScon bc and bc’. 4. S è puro.
Sistemi ciclici e vivi (1) Un sistema C/E è ciclico se e solo se per ogni c1,c2 CSc1 rS* c2 . Proposizione. Sia S un sistema C/E ciclico e sia c CS.Allora CS = {c’ | crS* c’}. Un sistema C/E è vivo se e solo se per ogni c CSe ogni e ES $c’ CStale che c rS* c’ e e è c’-abilitato. Proposizione. Ogni sistema C/E ciclico è vivo.
Sistemi ciclici e vivi (2) Osservazione. Non ogni sistema C/E vivo è ciclico. . .
. .
. .
. .
. .
. .
Equivalenza di sistemi (1) • Siano S e S’ due sistemi C/E. • Date biiezioni g: CSCS’, e: ESES’, S e S’ sono (g,e)-equivalenti se solo se per tutti i casi c1,c2 CS e tutti gli insiemi di eventi • G ES c1 [G> c2 g(c1) [e(G)> g(c2),dove e(G) = {e(e) | e G}. • S e S’ sono equivalenti se solo se sono (g,e)-equivalenti per qualche coppia di biiezioni (g,e). • S e S’ sono isomorfi se e solo se le reti (BS,ES,FS) e (BS’,ES’,FS’) sono b-isomorfe per qualche biiezione b e se • c CS {b(b)|bc} CS’ . • Se S e S’ sono equivalenti scriviamo S ~ S’. • Proposizione. La relazione ~ è una relazione di equivalenza.
Equivalenza di sistemi (2) Proposizione. Sistemi C/E equivalenti hanno lo stesso numero di casi, eventi e passi. Possono avere un numero differente di condizioni. Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno . inizio primavera inizio inverno b2 . b3 b1 inizio autunno inizio estate
Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno . primavera estate inverno autunno . inizio primavera inizio inverno b2 . b3 b1 inizio autunno inizio estate
Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno . primavera estate inverno autunno inizio primavera inizio inverno b2 . . b3 b1 inizio autunno inizio estate
Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno primavera estate . inverno autunno . inizio primavera inizio inverno b2 . b3 b1 inizio autunno inizio estate
Esempio. I casi sono {b1,b2} primavera, {b1,b3} estate, {b2,b3} autunno, inverno primavera estate . inverno autunno inizio primavera inizio inverno b2 b3 b1 inizio autunno inizio estate
Equivalenza di sistemi (3) Proposizione. Siano S e S’ due sistemi C/E equivalenti. 1. S è ciclico se solo se S’ è ciclico. 2. S è vivo se solo se S’ è vivo. Lemma. Siano S e S’ sistemi C/E tali che per ogni c CSCS ’ |c| = 1. S e S’ sono equivalenti se e solo se sono isomorfi.
Sistemi senza contatti (1) • Un sistema C/E può essere trasformato in uno equivalente senza contatti. • Contatto: in un caso c, .e c e e. c • Sia S un sistema C/E e siano b, b’ elementi di BS. • 1. b’ è il complemento di b se e solo se .b = b’. and b. = .b’. • S è completo se ciascuna condizione b BS ha un complemento • b’ BS. . .
Sistemi senza contatti (2) • Lemma. Sia S un sistema C/E e sia b BS. • b ha al piú un complemento b^. • Se b ha un complemento b^, allora • 2. b^ ha un complemento b^^ e b^^ = b. • 3. Per ogni c CSb c oppure b^ c. • Se S è completo allora • 4. Per ogni e ES|.e| = |e.|. • 5. Per ogni c CS| c| = 1/2 | BS|.
Sistemi senza contatti (3) Sia S un sistema C/E e sia B BSl’insieme delle condizioni che non hanno complemento in BS. Per ogni b B, b^ denoti un nuovo elemento. Sia F = {(e, b^) | (b,e) FSeb B} {(b^, e) | (e, b) FSandb B}. Per c CSsia f (c) = c {b^ | b B and b c}. Allora il sistema C/E S^ = (BS{b^ | b B}, ES,FSF, f(CS) ) è il completamento di S e f(c) è il completamento di c. Esempio. Una condizione e il suo complemento. b b^
Sistemi senza contatti (4) Proposizione. Sia S un sistema C/E e c CS. Vale 1. S^^ = S^ 2. Per ogni b BS, c CSb f(c) b^ f(c) 3. c = f(c) BS.