Luigi Piroddi

Documenti analoghi
Luigi Piroddi

Luigi Piroddi

Luigi Piroddi

Luigi Piroddi

Luigi Piroddi

Modellazione dei processi produttivi 98

AUTOMAZIONE INDUSTRIALE (Prof. Luigi Piroddi)

Luigi Piroddi

AUTOMAZIONE INDUSTRIALE Prof. Luca Ferrarini

Luigi Piroddi

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

Luigi Piroddi

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

LABORATORIO DI INFORMATICA Lezione 7

Matematica Discreta e Algebra Lineare (per Informatica)

Esercizi svolti. delle matrici

Analisi matriciale delle reti di Petri (P/T)

Appunti su Indipendenza Lineare di Vettori

Appunti sulle Reti di Petri

Analisi matriciale delle reti di Petri (P/T) Sifoni e trappole Classi di reti di Petri

1) Codici ciclici. 2) Esempi di codici ciclici. 3) Algoritmi di codifica e decodifica. 4) Circuiti di codifica

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Analisi di PN. Uso delle PN per l'analisi dei Sistemi Dinamici Discreti. Proprietà (1) Reti di Petri Analisi di Alcune Proprietà

Soluzione degli esercizi del Capitolo 8

L ALGORITMO DEL SIMPLESSO REVISIONATO

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

5.4.5 Struttura dell algoritmo ed esempi

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Laboratorio di Informatica

Teorema di Thevenin generalizzato

Appunti sui Codici di Reed Muller. Giovanni Barbarino

Le disequazioni di primo grado

Modellazione dei processi produttivi

Disequazioni in una incognita. La rappresentazione delle soluzioni

Analisi matriciale delle reti di Petri (P/T)

Figura 1: 1) Si scriva la formulazione del problema come problema di PLI (con un numero minimo di vincoli) e la matrice dei vincoli.

PROGRAMMAZIONE LINEARE E DUALITA'

TEORIA DEI SISTEMI SISTEMI LINEARI

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

x 1 x 2 x 3 x 5 La base iniziale è B 0 = I e risulta x B 0 = , x N 0 = Iterazione 0. Calcolo dei costi ridotti. γ 0 = c N 0 (N 0 ) T c B 0 =

Flusso a Costo Minimo

Applicazioni lineari e diagonalizzazione. Esercizi svolti

Elementi di Algebra Lineare Matrici e Sistemi di Equazioni Lineari

«Sciente e Tecnologie dei Beni Culturali»

Programmazione Lineare Intera: Piani di Taglio

Formulario sui Prodotti Hermitiani Marcello Mamino Pisa, 24 v 2010

Geometria e Topologia I (U1-4) 2006-mag-10 61

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

ESERCIZI SULLE MATRICI

La riduzione a gradini e i sistemi lineari (senza il concetto di rango)

IL METODO DEL SIMPLESSO

ESAME DI MATEMATICA I parte Vicenza, 05/06/2017. x log 2 x?

Applicazioni lineari tra spazi euclidei. Cambi di base.

Automazione Industriale

Precorso di Matematica

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Risoluzione di problemi ingegneristici con Excel

Risoluzione dei circuiti elettrici col metodo dei sistemi di equazioni

AUTOMA A STATI FINITI

Intersezione e somma di sottospazi vettoriali

A.A. 2014/2015 Corso di Algebra Lineare

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

Teoria della Programmazione Lineare Intera

Anno 4 Matrice inversa

Forme bilineari simmetriche

Modelli della concorrenza. Lucia Pomello. Re# di Petri: proprietà di comportamento e verifica stru6urale

Soluzione dei Problemi di Programmazione Lineare

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

3.6 Metodi basati sui piani di taglio

MATRICI E SISTEMI LINEARI

Introduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari

COMPITO DI RICERCA OPERATIVA. max x 1 + x 2 x 1 2x 2 + x 3 = 4 x 1 x 2 x 3 = 3 x 2 + 2x 3 = 1 x 1, x 2, x 3 0

4.3 Esempio metodo del simplesso

Programmazione Lineare

Problemi lineari equivalenti

Il metodo del simplesso

Luigi Piroddi

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.

Interi positivi e negativi

Metodi per la risoluzione di sistemi lineari

Prontuario degli argomenti di Algebra

3x 2 = 6. 3x 2 x 3 = 6

Esercitazione 6 - Soluzione

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Conversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due

EQUAZIONI CON VALORE ASSOLUTO DISEQUAZIONI CON VALORE ASSOLUTO

Automazione I. 13 Febbraio 2014

Sistemi di Equazioni Differenziali

Esercizio 1. min. Esercizio 2. Esercizio 3

Proprietà strutturali e leggi di controllo

HYPENS: Simulatore di Reti di Petri ibride

Metodo di Quine- McCluskey

Sui determinanti e l indipendenza lineare di vettori

Branch-and-bound per KNAPSACK

Sottospazi vettoriali. Nota Bene: Questo materiale non deve essere considerato come sostituto delle lezioni.

Introduzione ai grafi

Unità Didattica N 9 : La parabola

La domanda che ci si deve porre innanzitutto per iniziare a risolvere questa disequazione è la seguente:

Transcript:

Automazione industriale dispense del corso 13. Reti di Petri: analisi strutturale sifoni e trappole Luigi Piroddi piroddi@elet.polimi.it

Introduzione Abbiamo visto in precedenza il ruolo dei P-invarianti nel caratterizzare la limitatezza e la conservatività di una rete di Petri e quello dei T-invarianti riguardo alla reversibilità di una rete. I sifoni e le trappole sono utili per l analisi di vivezza e di non bloccaggio: un sifone è un insieme di posti che una volta persi tutti i gettoni non è più in grado di riacquistarne analogamente, una trappola è un insieme di posti che una volta acquisito almeno un gettone non è più in grado di smarcare completamente tutti i suoi posti un sifone inizialmente marcato che perde tutti i gettoni o una trappola inizialmente vuota che ne acquista qualcuno ci dicono che è avvenuto qualcosa di irreversibile nell evoluzione della rete 13. Reti di Petri: analisi strutturale sifoni e trappole 2

Sifone Un insieme di posti S è un sifone se e solo se: S S Tutte le transizioni di ingresso per un sifone (ovvero, il cui scatto immette gettoni) sono anche transizioni di uscita. Lo scatto di una transizione appartenente all insieme S \ S (transizione solo in uscita da posti del sifone) tende a svuotare di gettoni il sifone. Se S è un sifone privo di gettoni in una certa marcatura M, allora è privo di gettoni in ogni marcatura M R(N, M) raggiungibile da M. Infatti, se un sifone S è smarcato, nessuna delle transizioni di S è abilitata poiché S contiene l insieme delle transizioni che potenzialmente potrebbero marcare S (per la definizione di sifone, S S), nessuna di queste ultime può scattare e il sifone rimane permanentemente vuoto In presenza di un sifone S non marcato, tutte le transizioni di S sono morte, e la rete non è viva. 13. Reti di Petri: analisi strutturale sifoni e trappole 3

Esempio p 1 p 3 t 1 t 2 t 3 t 4 p 2 p 4 Esempi di sifoni: S 1 = {p 3, p 4 } S 1 = {t 3, t 4 } {t 2, t 3, t 4 } = S 1 S 2 = {p 2, p 3, p 4 } S 2 = {t 2, t 3, t 4 } {t 1, t 2, t 3, t 4 } = S 2 S 3 = {p 1, p 2, p 3, p 4 } S 3 = {t 1, t 2, t 3, t 4 } = S 3 13. Reti di Petri: analisi strutturale sifoni e trappole 4

Trappola Un insieme di posti S è una trappola se e solo se: S S Tutte le transizioni in uscita da posti della trappola sono anche transizioni in ingresso per posti della trappola. Lo scatto di una transizione appartenente all insieme S \ S (solo in ingresso per posti della trappola) tende a riempire di gettoni la trappola. Proprietà di una trappola: ogni transizione il cui scatto potenzialmente fa diminuire il numero di gettoni appartiene a S ma se S è una trappola, tale transizione appartiene anche a S, quindi il suo scatto ha anche come effetto di generare dei gettoni in S se S è una trappola marcata in una certa marcatura M, allora rimane marcata in ogni marcatura M R(N,M) raggiungibile da M 13. Reti di Petri: analisi strutturale sifoni e trappole 5

Esempio (cont.) p 1 p 3 t 1 t 2 t 3 t 4 p 2 p 4 Esempi di trappole: S 4 = {p 1, p 2 } S 4 = {t 1, t 2 } {t 1, t 2, t 3 } = S 4 S 5 = {p 1, p 2, p 4 } S 5 = {t 1, t 2, t 3 } {t 1, t 2, t 3, t 4 } = S 5 S 3 = {p 1, p 2, p 3, p 4 } S 3 = {t 1, t 2, t 3, t 4 } = S 3 Si osservi che S 3 è sia un sifone che una trappola: poiché è una trappola inizialmente marcata, non si svuota mai completamente è un sifone che non si può svuotare 13. Reti di Petri: analisi strutturale sifoni e trappole 6

Legami tra sifoni, trappole e P-invarianti Il supporto di un P-invariante positivo è sia un sifone che una trappola se M 0 = 0 l insieme di posti rimane permanentemente vuoto, come un sifone se M 0 > 0 l insieme di posti non si può mai smarcare del tutto, come una trappola non vale il viceversa: nell esempio precedente S 3 è un sifone e una trappola, ma non coincide con il supporto di un P-invariante Quindi, non tutti i sifoni di una rete sono pericolosi ai fini della vivezza. Un sifone contenente una trappola marcata non si può mai svuotare del tutto. Che legame c è, allora, tra i sifoni di una rete (ordinaria) e la sua vivezza? se M è una marcatura morta, allora l insieme S = {p P M(p) = 0} dei posti privi di gettoni in M è un sifone non marcato se ogni sifone contiene una trappola marcata in una marcatura M, allora non esiste in R(N,M) una marcatura morta infatti, se esistesse tale marcatura (M ), allora i posti privi di gettoni in M costituirebbero un sifone smarcato, contraddicendo l ipotesi 13. Reti di Petri: analisi strutturale sifoni e trappole 7

In generale, una rete in cui non esiste nessuna marcatura raggiungibile morta non è necessariamente una rete viva (una rete è viva se tutte le marcature raggiungibili sono vive, che è una condizione molto più forte che l assenza di marcature morte). Casi particolari: una rete a scelta libera estesa è viva se e solo se tutti i suoi sifoni contengono una trappola marcata (teorema di Commoner). una rete a scelta asimmetrica è viva se (ma non solo se) tutti i suoi sifoni contengono una trappola marcata I risultati precedenti valgono solo per reti ordinarie. in una rete generalizzata un deadlock può anche essere causato da sifoni non vuoti, ma non sufficientemente marcati anche nel caso di una rete generalizzata rimane però vero che il completo svuotamento di un sifone determina un blocco (parziale o totale) della rete, perché in tali condizioni le transizioni di S sono morte 13. Reti di Petri: analisi strutturale sifoni e trappole 8

Sifoni di base, sifoni minimi e sifoni p-minimi Il calcolo dei sifoni è un problema combinatorio complesso, ma per fortuna non serve calcolare tutti i sifoni. Infatti: l unione di sifoni è un sifone un sifone di base è un sifone non ottenibile come unione di altri sifoni tutti i sifoni di una rete possono essere generati per unione di sifoni di base Perciò è sufficiente calcolare i sifoni di base. Dal punto di vista del problema della prevenzione dei deadlock non servono nemmeno tutti i sifoni di base, ma solo i sifoni minimi: un sifone S è detto minimo se e solo se non esiste un altro sifone S tale che S S ciascun sifone della rete o è minimo o contiene uno o più sifoni minimi se si impedisce che tutti i sifoni minimi si svuotino, nessun sifone della rete potrà svuotarsi del tutto un sifone minimo è anche di base, ma non tutti i sifoni di base sono minimi In conclusione: {sifoni} {sifoni di base} {sifoni minimi}. 13. Reti di Petri: analisi strutturale sifoni e trappole 9

I sifoni di base non sono tutti minimi, ma sono tutti p-minimi: un sifone p-minimo con riferimento ad un posto p i è un sifone contenente il posto p i e un insieme minimo di posti tutti i sifoni p-minimi sono anche di base un sifone è di base se e solo se è p-minimo rispetto a qualche posto n In altre parole: {sifoni di base} = {sifoni pi -minimi} i=1 Analoghe definizioni si possono fornire anche per le trappole. 13. Reti di Petri: analisi strutturale sifoni e trappole 10

Esempio p 1 p 2 S S t 1 p 1 t 1 p 2 t 1 p 3 p 3 t 1 Sifoni p 1 -minimi: {p 1 } Sifoni p 2 -minimi: {p 2 } Sifoni p 3 -minimi: {p 1, p 3 }, {p 2, p 3 } Altri sifoni: {p 1, p 2 }, {p 1, p 2, p 3 } Sifoni di base: {p 1 }, {p 2 }, {p 1, p 3 }, {p 2, p 3 } Infatti, gli altri sifoni si ottengono per unione di sifoni di base Sifoni minimi: {p 1 }, {p 2 } Infatti, tutti gli altri sifoni contengono p 1 e/o p 2 13. Reti di Petri: analisi strutturale sifoni e trappole 11

Calcolo dei sifoni (e delle trappole) Esistono diversi modi per calcolare i sifoni: calcolo dei sifoni minimi mediante l uso diretto della definizione calcolo di alcuni sifoni tramite simulazione calcolo di tutti i sifoni per via algoritmica Per calcolare le trappole di una rete di Petri si può usare lo stesso metodo usato per trovare i sifoni: se si cambia il verso di tutti gli archi (p.es. cambiando di segno la matrice di incidenza), si scambiano pre-set e post-set di tutti i posti le trappole della rete di partenza coincidono con i sifoni della rete così trasformata pertanto, il calcolo dei sifoni della rete trasformata fornisce le trappole della rete di partenza 13. Reti di Petri: analisi strutturale sifoni e trappole 12

Metodo : calcolo dei sifoni minimi mediante la definizione Il procedimento per il calcolo dei sifoni di base consiste nel calcolare iterativamente i sifoni p-minimi per ogni posto della rete, escludendo via via i posti già esaminati (evitando così di trovare sifoni p-minimi ma non minimi): si calcolano prima i sifoni p 1 -minimi, aggiungendo a p 1 i posti necessari (in tutte le possibili combinazioni) ad includere nel post-set dell insieme considerato tutte le transizioni contenute nel pre-set poi si cercano i sifoni p 2 -minimi non contenenti p 1, ovvero si elimina p 1 dalla rete e si procede come al passo precedente per p 2 ; in questo modo si escludono automaticamente sifoni p 2 -minimi già trovati (sifoni p-minimi sia per p 1 che p 2 ) (alcuni) sifoni p 2 -minimi ma non minimi (contenenti sifoni p 1 -minimi) poi si cercano i sifoni p 3 -minimi non contenenti né p 1, né p 2, e così via Al termine della procedura si saranno ottenuti tutti i sifoni minimi, più eventualmente qualche sifone di base (p-minimo), non minimo, da eliminare a posteriori. 13. Reti di Petri: analisi strutturale sifoni e trappole 13

Metodo : calcolo per simulazione Se simulando la rete si individua uno stato di blocco, l insieme di posti privo di gettoni in quello stato costituisce un sifone che si è smarcato. Problemi: si individuano solo gli stati di blocco totale della rete, non quelli di blocco parziale l analisi dipende dalla marcatura iniziale è di fatto un analisi di raggiungibilità (che noi volevamo evitare con l analisi strutturale) 13. Reti di Petri: analisi strutturale sifoni e trappole 14

Metodo : calcolo per via algoritmica Esistono diversi algoritmi per il calcolo dei sifoni. Uno relativamente semplice è quello descritto di seguito, basato sulla modifica della matrice di incidenza. richiede la soluzione di un sistema di disequazioni lineari omogeneo è un metodo complesso, ma completo (fornisce tutte le soluzioni) Procedimento: Si costruisce una nuova rete di Petri a partire da quella in esame. la rete trasformata ha gli stessi posti, transizioni e archi della rete di partenza il peso di ogni arco entrante in una transizione viene moltiplicato per un coefficiente pari alla somma di tutti i pesi degli archi uscenti dalla medesima transizione in termini della matrice C, si moltiplicano gli elementi negativi di ogni colonna (archi entranti nella transizione corrispondente) per la somma degli elementi positivi della stessa colonna (archi uscenti) Si scrive la matrice di incidenza C della rete trasformata. Un insieme di posti S = x, con x 0, è un sifone della rete originaria se e solo se x T C 0. 13. Reti di Petri: analisi strutturale sifoni e trappole 15

Ora, risolvere direttamente l insieme di disequazioni x T C 0 non è sempre facile. Un approccio alternativo è il seguente: x T C 0 [x T z T ] C I = 0 dove z 0 rappresenta un vettore (di dimensioni pari al numero delle transizioni) di variabili di slack non negative. Risolvere questo sistema di equazioni è equivalente al calcolo dei P-invarianti della rete trasformata a cui si aggiungano per ogni transizione un posto e un arco diretto dalla transizione al posto. Con riferimento ai posti originali della rete, occorre poi calcolare i supporti dei P-invarianti così ottenuti: questi rappresentano dei sifoni per la rete originaria (famiglia generatrice di sifoni). 13. Reti di Petri: analisi strutturale sifoni e trappole 16