Sistemi ad Eventi Discreti

458
Sistemi Angela Di Febbraro Alessandro Giua ad eventi discreti · McGraw-Hill

Transcript of Sistemi ad Eventi Discreti

Page 1: Sistemi ad Eventi Discreti

Sistemi

Angela Di Febbraro Alessandro Giua

ad eventi discreti

· McGraw-Hill

Page 2: Sistemi ad Eventi Discreti

I sistemi ad eventi discreti sono caratterizzati da uno spazio di stato discreto e non necessariamente numerico. Il comportamento dinamico di tali sistemi è guidato dall'occorrenza di eventi anch'essi discreti che, verificandosi con cadenzamento irregolare non necessariamente noto a priori, determinano istantanei cambiamenti di stato. Le attività individuate dagli eventi sono tipicamente concorrenti e richiedono strategie di sincronizzazione e controllo. Esempi significativi si ritrovano nei processi produttivi, nelle reti dii elaboratori elettronici, di trasporto, di comunicazioni. Sistemi ad eventi discreti introduce all'argomento e guida il lettore, presentando una panoramica sui diversi modelli usati in questo campo (automi, catene di Markov, code, reti di Petri, algebra max-plus) e sulle diverse metodologie di simulazione, analisi e controllo sviluppate per tali modelli. I vari capitoli sono sufficientemente indipendenti l'uno dall 'altro e possono anche essere usati singolarmente in un ampio spettro formativo. Benché gli argomenti trattati siano affrontati da un punto di vista prettamente sistemistico, il libro risulta di interesse non solo per gli studenti dei corsi di studio nell'area dell'Ingegneria dell'Informazione ma anche per gli studenti delle aree dell'Ingegneria Civile e dell'Ingegneria Industriale (chimica, trasporti, gestionale, meccanica), nonché della Matematica (informatica, ricerca operativa), in cui lo studio dei sistemi ad eventi discreti assume particolare rilevanza

Angela Di Febbraro è professore associato di Automatica presso la seconda Facoltà d'Ingegneria del Politecnico di Torino.

Alessandro Giua è professore associato di Automatica presso la Facoltà d'Ingegneria dell'Università degli Studi di Caçiliari.

www.mcgraw-hill.it www.ateneonline.it www.hyperbook.it

Sistemi ad eventi discreti

ISBN 88-386-0863 - 6

Il 1111 I 9 788838 608636

Page 3: Sistemi ad Eventi Discreti

Prefazione

I sistemi ad eventi discreti rappresentano un settore dell'Automatica che non ha fino ad oggi ricevuto in Italia sufficiente attenzione. Questo fatto ha determinato una situazione per certi versi anomala che vede la quasi totale mancanza nel panorama italiano di corsi di base dedicati, almeno in parte, a questa disciplina. Dal punto di vista dell'attività di ricerca la situazione è, sebbene di poco, migliore ed esiste un piccolo gruppo di ricercatori interessati a queste tematiche. Tuttavia il numero degli ·'automatici discreti" in Italia è in percentuale non superiore al 5-:- lOo/t del numero degli "automatici continui". mentre nel pmiorama internazionale questo rapporto è più vicino al 20%. Una delle ragioni di questo "ritardo" ci è sembrata imputabile anche alla mancanza di supporti didattici e ci ha spinto alla preparazione di questo testo.

I sistemi ad eventi discreti sono un settore di ricerca relativamente giovane e da ciò consegue che non è ancora stata completata una sintesi omogenea dei <li versi approcci ap-parsi nella letteratura. Vi sono dunque molti e diversi modelli che lottano per imporsi in questo campo (fra cui possiamo citare automi, catene di Markov, code, reti di Petri, alge-bra max-plus) e molle e diverse metodologie di simulazione, analisi e controllo sviluppate pertali modelli.

La prima parte del libro, comprendente i Capitoli 1, 2 e 3, si propone di familiarizzare il lettore con questa classe di sistemi la cui dinamica non nasce dal trascorrere del tempo ma dal verificarsi di eventi discreti. Il modello usato in questa parte è l'automa, nelle sue diverse forme: l'automa a stati finiti deterministico o non deterministico, rautoma temporizzato che da luogo ad un processo di semi-Markov generalizzato, le catene di Markov, i processi di nascita e morte e le reti di code.

La seconda parte del libro, comprendente i Capitoli 4 e 5, è dedicata alle reti di Pe-tri, che fra tutti i modelli ad eventi discreti ci sembrano essere il più interessante per tre ragioni. Per prima cosa, esse costituiscono una ricca famiglia di modelli sia logici sia temporizzati (deterministici e stocastici), i quali condividono un insieme di strumenù for-mali. In secondo luogo, le reti di Petri possono essere usate in tutte le fasi del progetto di un sistema di controllo: specifica, simulazione, analisi, verifica formale, ottimizzazio-ne, sintesi del controllore e implementazione. Infine, le reti di Petri sono state usate con successo in diversi contesti metodologici, che vanno dal controllo supervisivo. all'alge-bra max-plus, allo studio dei processi markoviani, ccc. Benché per ragioni di spazio non

stato possibile sviluppare questa parte in tutta l'ampiezza di profondità e dettagHo che l'argomento avrebbe meritato, noi crediamo che il nostro sia il primo testo italiano a presentare le reti di Petri dal punto di vista proprio della teoria dei sistemi.

La terza parte del libro, comprendente i Capitoli 6, 7 e 8, tratta argomenti monografi-ci legati alla simulazione e al controllo supervisivo. Tali capitoli hanno lo scopo di portare il lettore oltre la modellazione di sistemi ad eventi discreti introducendolo all'applicazione di metodologie di analisi e di controllo di questo tipo di sistemi.

Page 4: Sistemi ad Eventi Discreti

viii Capitolo O

II libro è completato da una serie di appendici che richiamano quelle nozioni ele-mentari della teoria degli insiemi, dei grafi e della probabilità che, pur essendo utili alla comprensione del testo, ci sono sembrate essere collaterali.

Alla fine dei singoli capitoli abbiamo anche raccolto una serie di esercizi e richiami bibliografici che saranno utili a chi volesse approfondire gli argomenti trattati. Sempre per costoro ricordiamo che la pagina web di questo libro può essere consultata all'indirizzo http : \ \www . diee . unica . i t/"'giua/SED. In tale pagina vi saranno collegamenti alle risorse sui sistemi ad eventi discreti disponibili in rete, materiale didattico aggiuntivo, software dedicato alla simulazione, l' analisi e la sintesi di controllori per sistemi ad eventi discreti, ecc.

Desideriamo ringraziare quanti ci hanno offerto il loro prezioso suppo1to nella pre-parazione di questo libro. Un pensiero particolare va ai tre colleghi che più ci hanno incoraggiato ad intraprendere quest'impresa, nelle persone di Giuseppe Menga, Riccardo Minciardi e Fernando Nicolò. Valido e affidabile è stato il contributo di Nicola Sacco, che ha instancabilmente collaborato a varie fasi della composizione del libro. Altrettanto utili sono stati i commenti degli studenti dei trostri corsi di laurea e di dottorato, nonché dei tesisti che abbiamo seguito, che hanno avuto modo di valutare parte del materiale in bozza.

Infine un ringraziamento speciale è dovuto a quanti, soprattutto al di fuori dell'am-biente accademico. ci hanno sostenuto ed aiutato anche colmando quelle mancanze che il lavoro impegnativo svolto per realizzare questo libro ba inevitabilmente generato.

Genova e Cagliari, febbraio 2002

Angela Di Febbraro e Alessandro Giua

Page 5: Sistemi ad Eventi Discreti

Indice generale

1 Classificazione dei sistemi e dei modelli

1.1 Introduzione 1.2 Principi di base della teoria dei sistemi e del controllo

1.2.1 I concetti di sistema e di modello 1.2.2 Il concetto di stato 1.2.3 Il concetto di controllo

1.3 I sistemi ad eventi discreti 1.3.1 Caratteristiche dei sistemi dinamici ad eventi discreti

1.4 Un esempio di SED: il sistema a "coda" 1.5 Modellazione di sisrtemi ad eventi discreti

1.5. 1 I modelli ad eventi discreti logici l.5.2 I modelli ad eventi discreti temporizzati

1.6 I sistemi ibridi Bibliografia

2 Sistemi ad eventi discreti logici

2.1 Linguaggi formali 2.1. l Alfabeti e parole 2.1.2 Operatori sulle parole 2.1.3 Linguaggi 2.1.4 Operatori sui linguaggi

2.2 Automi finiti deterministici (AFD) 2.2.1 Definizione di automa finito deterministico 2.2.2 Ljnguaggi dLun..automa-finitG deterministico

2.3 Automi finiti non deterministici (AFN) 2.3. l Definizione di automa finito non deterministico 2.3.2 Llnguaggi.di..un.automa.iìnito. non deterministico

2.4 Proprietà degli automi 2.4. l Raggiungibilità e blocco 2.4.2 Automi come riconoscitori di sequenze 2.4.3 Equivalenza fra deterministici e non deterministici 2.4.4 Minimizzazione di un AFD

2.5 Modellazione mediante automi 2.5. l Modelli di sistemi elementari 2.5.2 Modelli deterministici e non deterministici 2.5.3 Sintesi modulare

1

1 2 3 4 6 7 9

10 11 12 13 14 15

19

20 20 21 22 23 24 25 27 29 29 31 32 32 35 36 39 43 44 46 47

Page 6: Sistemi ad Eventi Discreti

x Indice generale

2.6 regolari (ER) 5 l 2.7 Equivalenza fra e_wressioni_r_egulari 54

2.7.1 Espressione regolare equivalente a un automa deterministico 55 2.7.2 Automa non deterministico equivalente a una espressione regolare 57 2.7.3 Linguaggi regolari e altre classi di linguaggi formali 60

2.8 Automi con ingressi ed uscite 61 2.8.l Macchina di Moore 62 2.8.2 Macchina di Mealy 63

Esercizi 64 Bibliografia 68

3 Sistemi ad eventi discreti temporizzati

3. 1 Automi temporizzati 3.1.1 Automi temporizzati deterministici 3.1.2 Automi temporizzati stocastici 3.1.3 Automi markoviani

3.2 Catene di Markov 3.2.1 Catene di Markov a tempo discreto 3.2.2 Catene di Markov a tempo continuo 3.2.3 Approssimazione di una CMTC con una CMTD 3.2.4 Catene <li Markov nascita-morte

3.3 Elementi di teoria delle code 3.3. l Dinamica e prestazioni 3.3.2 Classi particolari di code 3.3.3 Reti di code markovianc

Esercizi Bibliografia

4 Reti di Petri posto/transizione

4.1 Definizione di rete e sistema di rete 4.1. l Struttura delle reti posto/transizione 4.1.2 Marcatura e sistema di rete 4.1.3 Abilitazione e scatto 4.1.4 Equazione di stato e proprietà dinamiche elementari

4.2 Modellazione con reti di Petri 4.2. l Strutture elementari 4.2.2 Esempi di modellazione 4.2.3 Sintesi modulare

4.3 Analisi mediante grafo di copertura 4.3.1 Grafo di raggiungibilità 4.3.2 Albero e grafo di copertura 4.3.3 Proprietà comportamentali

4.4 Analisi mediante equazione di stato 4.5 Analisi basata sulla matrice d'incidenza

4.5. l Vettori invarianti, crescenti e decrescenti 4.5.2 Calcolo dci P-invarianti 4.5.3 Analisi della raggiungibilità mediante P-invarianti 4.5.4 Proprietà strutturali

69

70 71 77 79 83 84 97

107 109 114 I J 6 120 129 136 141

143

144 144 146 148 150 152 152 154 159 164 165 167 172 182 185 185 188 191 192

Page 7: Sistemi ad Eventi Discreti

'

Indice generale xi

4.6 Classi di reti di Petri posto/transizione 195 4.6.1 Reti ordinarie e pure 195 4.6.2 Reti acicliche 197 4.6.3 Macchine di stato 197 4.6.4 Grafi marcati 200 4.6.5 Reti a scelta libera 202

4.7 Confronto fra reti di Petrie automi finiti 203 Esercizi 204 Bibliografia 212

5 Reti di Petri temporizzate 213

5. 1 Temporizzazione e concerti di base 214 5.2 Reti di Petri temporizzate deterministiche 219

5.2.1 Evoluzione dinamica 220 5.2.2 Grafi marcati temporizzati 225 5.2.3 Reti di Petri deterministiche con temporizzazione dci posti 238

5.3 Algebra max-plus 238 5.3. l Modellare un sistema a coda con l'algebra max-plus 241 5.3.2 Analisi delle prestazioni: autovalori e autovettori 242

5.4 Reti di Petri temporizzate stocastiche 248 5.4. l Costruzione della Catena di Markov equivalente alla RPTS 250 5.4.2 Analisi strutturale e analisi prestazionale 253

5.5 Reti di Petri stocastiche generalizzate 256 5.5.1 Metodi di analisi dei modelli RPSG 259

5.6 Reti di Petri continue e reti di Petri ibride 273 5.6.l Reti di Petri continue 273 5.6.2 Reti di Petri ibride 275

Esercizi 278 Bibliografia 282

6 Simulazione ad eventi discreti 287

6.1 Fasi di uno studio di simulazione 288 6.2 Concetti di base e principi di funzionamento 290

6.2.1 Metodi per individuare gli eventi da inserire nel modello 290 6.2.2 Schema di avanzamento per eventi 291 6.2.3 Simulazione di un sistema a coda 292

6.3 Generazione di variabili aleatorie 302 6.3.1 Generazione di numeri casuali 302 6.3.2 Generazione di variabili aleatorie con funzione di distribuzione

genenca 305 6.4 Definizione dei dati di ingresso 312

6.4.1 Identificazione di una funzione di distribuzione 313 6.4.2 Verifica della correttezza della funzione di distribuzione scelta 320

6.5 Verifica e validazione dei modelli simulativi 323 6.6 Analisi dci risultati della simulazione 325

6.6. l Stima degli indici di prestazioni 325 6.6.2 Analisi di simulazioni di durata finita 327 6.6.3 Analisi di simulazioni stazionarie (non terminanti) 329

Page 8: Sistemi ad Eventi Discreti

xii Indice generale

6.7 Software per la simulazione ad eventi discreti 332 333 335 335 340

6.7.1 Linguaggi di simulazione 6.7.2 Risorse su i,veb

Esercizi Bibliografia

7 Controllo supervisivo

7 .1 Processo o sistema a ciclo aperto

343

344 345 346 349 349 350 350 351 354 356 357 358

7.2 Specifiche di controllo 7.2.1 Specifiche dinamiche 7.2.2 Specifiche statiche 7.2.3 Specifiche qualitative

7.3 Supervisore e controllo in retroazione 7.3.1 Eventi controllabili e di controllo 7.3.2 Supervisore 7.3.3 Rappresentazione di supervisori mediante SED 7 .3.4 Sistema a ciclo chiuso: processo+ supervisore

7.4 Sintesi supervisiva 7.4.1 li problema del controllo supervisivo 7.4.2 Sintesi di supervisori per specifiche controllabili e verifica della

controllabilità 7.4.3 Sintesi di supervisori per specifiche non controllabili 7.4.4 Sintesi di supervisori con specifiche statiche e quéilitative

Esercizi

359 362 365 366 372 Bibliografia

8 Controllo di reti di Petri mediante monitor 373

8.1 Specifiche di mutua esclusione generalizzate (GMEC) 374 8.1.1 Mutua esclusione e GMEC 374 8.1.2 GMEC multiple 377 8. J .3 Potere descrittivo delle GMEC 378

8.2 Posti monitor 380 8.2.1 Monitor e sistema a ciclo chiuso 380 8.2.2 I monitor sono supervisori massimamente permissivi 383 8.2.3 Realizzabilità di un posto monitor 385

8.3 Reti con transizioni non controllabili 386 8.3. l Controllabilità 386 8.3.2 Marcature controllabili e monitor sub-ottimi 389 8.3.3 Progetto di monitor sub-ottimi per GMEC non controllabili 393

8.4 Reti con transizioni non osservabili 399 8.4.1 Osservabilità 401 8.4.2 Progetto di monitor sub-ottimi per GMEC non controllabili e non

osservabili 403 Esercizi 405 Bibliografia 408

Page 9: Sistemi ad Eventi Discreti

ù1dice generale xiii

A Elementi di teoria degli insiemi e algebra 409

A.J Insiemi 409 A.2 Relazioni e funzioni 411 A.3 Relazioni binarie su un insieme 415

A.3.1 Relazioni di egyiyalenza 416 A.3.2 Réfazioni di ordine 417

A.4 Composizione di relazioni e chiusura 418 Bibliografia 419

B Elementi di teoria dei grafi 421

B.l Definizioni elementari 421 B.2 Cammini e cicli 422 B.3 Sottografi e componenti 423 Bibliografia 426

e Elementi di teoria della probabilità 427

C.1 Definizioni e concetti di base 427 C.1.1 Probabilità condizionata 428

C.2 Variabili aleatorie 429 C.2.1 Funzione di distribuzione 429 C.2.2 Funzione di probabilità 430 C.2.3 Funzione di densità di probabilità 430 C.2.4 Valore atteso, varianza e deviazione standard 431

C.3 Variabili aleatorie continue 431 C.3.1 Variabile aleatoria uniforme continua 432 C.3.2 Variabile aleatoria esponenziale 432 C.3.3 Variabile aleatoria normale o gaussiana 433 C.3.4 Variabile aleatoria x2 434

C.4 Variabili aleatorie discrete 435 C.4. 1 Variabile aleatoria uniforme discreta 435 C.4.2 Variabile aleatoria geometrica 436 C.4.3 Variabile aleatoria di Poisson 436

C.5 Processi stocastici 437 C.5. 1 Processi di Markov (o markoviani) 438 C.5.2 l processi di Poisson 439

Bibliografia 441

D Formule notevoli 445

E Acronimi 447

F Notazione 449

Indice analitico 455

Page 10: Sistemi ad Eventi Discreti

1 Classificazione dei sistemi e dei modelli

1.1 Introduzione

Negli ultimi vent'anni, con intensità crescente alla stessa velocità di sviluppo delle tec-nologie informatiche ed elellroniche, si è evidenziata la necessità cli studiare i sempre più numerosi sistemi realiL.Zati dall'uomo, tendenzialmence molto complessi, considerati non tradizionali rispetto alle trattazioni classiche proprie della Teoria dei Sistemi e del Controllo. Storicamente infatti, detta disciplina ha trattato e tratta di sistemi a variabili continue modellati da equazioni differenziali o alle differenze e come tale sembra ina-deguata a soddisfare la richiesta di un'appropriata rappresentazione dci sistemi suddetti, spesso definiti con il termine inglese man-made. Questi sono sistemi dinamici i cui sta-tGtssumono diversi valori logici o simbolici, piuttosto che numerici, in corrispondenza dell'occorrenza di eventi che non sempre possono essere descritti in termini ne sono esempi significativi i processi produttivi, le reti di elaboratori elettronici, di traspor-to, di comunicazioni e sistemi formati per integrazione delle suddette tipologie di sistemi. Esempi di eventi sono: larrivo di un cliente nel sistema o la sua partenza da esso. il com-pletamento di una lavorazione o il guastarsi di una macchina in un sistema di produzione, la trasmissione o la ricezione di un pacchetto di dati in una rete di telecomunicazioni, il verificarsi di un disturbo o il cambiamento del segnale di riferimento in un complesso sistema di controllo. L'evoluzione nel tempo di un sistema con le caratteristiche suddette sembra essere naturalmente descritta da sequenze di occorrenze di cambiamenti discreti e qualitativi del sistema, ignorando i micro-cambiamenti che avvengono continuamen-te. Sistemi con tali caratteristiche. posti in contrapposizione ai sistemi ad avanzamento temporale, possono essere rappresentati come sistemi ad eventi discreti.

È proprio a questa classe di sistemi che il libro è dedicato. Questo primo capitolo ha lo scopo di introdurre il lettore alla conoscenza dei sistemi ad eventi discreti, inquadrando-li nell'ambito complessivo dci sistemi matematici. Per rendere il capitolo e il libro stesso comprensibili anche a chi possiede una conoscenza scarsa o nulla della teoria dei sistemi e del controllo, nel prossimo paragrafo verranno introdotti i concetti di base indispensabili per proseguire nella lettura del libro.

Per concludere, è opportuno menzionare una classe di sistemi che contiene sia i sistemi ad avanzamento lemporale sia i sistemi ad eventi discreti, come raffigurato in Fi-gura 1.1: si lratta dei sistemi ibridi, così chiamati perché in essi possono coesistere i due tipi di dinamica su citati. Un sistema ibrido è tipicamente un sistema complesso formato da componenti il cui comportamento è caratterinato da funzioni del tempo e da compo-

Page 11: Sistemi ad Eventi Discreti

2 Capilolo 1

nenti la cui evoluzione temporale avviene sulla base dell'accadimento di eventi istantanei asincroni. Come tale si può dunque pensare come suddiviso in sottosistemi, alcuni ad avanzamento temporale ed altri ad eventi discreti; è chiaro che la composizione dei sotto-sistemi risulta un problema da affrontare con attenzione e spesso difficile da 1isolvere, a causa delle molteplici e spesso complesse interazioni esistenti tra i sottosistemi stessi.

Sistemi ibridi

Figura 1.1 Sistemi ad eventi discreti, ad avanzamento temporale, ibridi.

Nel seguito del capitolo, dopo il già citato prossimo paragrafo sui principi di base della teoria dei sistemi e del controllo, la trattazione proseguirà con un'introduzione ai sistemi ad eventi discreti, che porterà alla descrizione delle caratteristiche fondamentali di tali sistemi, anche in riferimento a quanto detto nel paragrafo precedente a proposito dei sistemi ad avanzamento temporale. Seguirà quindi una classificazione ragionata dei modelli con cui i sistemi ad eventi discreti possono essere rappresentati, che introduce i due capitoli seguenti, dedicati appunto alle due principali classi di modelli ad eventi discreti. Un breve paragrafo riguardante i sistemi ibridj concluderà questo primo capitolo.

1.2 Principi di base della teoria dei sistemi e del controllo

In questo paragrafo vengono brevemente riportati i concetti fondamentali della teoria dei sistemi e del controllo, necessari per comprendere le differenze che intercorrono tra i siste-mi ad avanzamento temporale, posti come tradizionale oggetto di attenzione nell'ambito della suddetta disciplina, e i sistemi ad eventi discreti, oggetto di trattazione in questo testo. La descrizione sarà piuttosto informale ed eviteremo di andare nei dettagli riguardo a qualsiasi aspetto che non sia indispensabile per la comprensione del libro, pertanto la trattazione potrà apparire a tratti sommaria; ciò è assolutamente voluto, nello spirito di non appesantire il testo con nozioni che si possono ritrovare in libri più qualificati, quali ad esempio (Isidori e Ruberti, 1979; Rinaldi, 1981). Il lettore che abbia già una mifil-ma conoscenza pregressa di concetti quali sistema, stato, equazioni di stato, controllo e retroazione può senz'altro saltare questo paragrafo e passare al successivo, dedicato ai sistemi ad eventi discreti.

Page 12: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 3

{ 1.2.1 I concetti di sistema e di modello

La definizione di sistema, come anche l'inquadramento delle problematiche relative alla classificazione dei sistemi stessi, non viene data in forma rigorosa, ma piuttosto in modo intuitivo. L'accezione più generale del termine sistema fa riferimento ad un ente fisico che risponda alla sollecitazione esercitata da una certa azione producendo una reazione. Il dizionario Webster definisce un sistema come "un 'unità complessa formata da mol-te componenti, spesso diverse tra loro, soggette ad un piano comune o orientate verso un obiettivo comune". Il dizionario IEEE dei termini elettrici ed elettronici fornisce la se-guente definizione di sistema: "combinazione di elementi che cooperano per svolgere una funzione altrimenti impossibile per ciascuno dei singoli componenti". Le definizioni di sistema riportate costituiscono soltanto alcuni esempi, ma come tali presentano comunque aspetti comuni che individuano le principali caratteristiche che riconosciamo in un ente che chiamiamo sistema: esso è tipicamente formato da diverse componenti interagenti che evolvono verso l'espletamento di una o più funzioni assegnate al sistema stesso.

È altresì chiaro che tali definizioni sono qualitative e non si prestano quindi ad analisi quantitative, che sono solitamente l'oggetto primario dell'interesse di chi si accinge allo studio di un sistema reale. Pertanto, per sviluppare tecniche di progetto, di controllo e/o di valutazione delle prestazioni di un sistema sulla base di specifiche predefinite, è indispensabile ottenere una rappresentazione quantitativa e possibilmente matematica di un sistema; in altre parole, bisogna trovare un modello formale che consenta di riprodurre il comportamento del sistema per mezzo di qualche metodologia matematica.

Si supponga quindi di voler studiare un qualsiasi sistema fisico. aggregato funzio-nale di dispositivi connessi in modo da costituire ad esempio un impianto idraulico, ter-mico, produttivo, ecc., realizzato per scopi prefissati. Un sistema di questo genere è caratterizzato da variabili fisiche che evolvono nel tempo, che si possono dividere in:

• cause esteme al sistema.: grandezze il cui andamento nel tempo può essere indipen-dente dal tipo di sistema;

• effetti: grandezze il cui andamento nel tempo dipende almeno in parte dal tipo di sistema e dalle cause esterne.

Nell'ambito della reoria dei sisremi, la disciplina che tratta delle caratteristiche gene-rali dei modelli matematici, le variabili cause esterne sono chiamate ingressi del sistema, mentre le variabili effetti costituiscono le uscite del sistema. La semplice tradizionale rap-presentazione grafica di un sistema dinamico per il quale siano stati individuati m ingressi e p uscite di interesse è riportata in Figura 1.2 .

u

.. I.___ _s ----' y

..

Figura 1.2 Sistema dinamico.

Page 13: Sistemi ad Eventi Discreti

dove u E li'" è il vettore di dimensione m che contiene tutti gli ingressi del sistema e y E JìiP è il vettore delle p uscite, le variabili effetti che interessano.

Tn generale, S può essere consideralo come una sorta di operatore, di grado di com-plcssitù anche molto elevato, che assegna ad ogni specifico andamento degli ing1e!)!)i il corrispondente andamento delle uscite. In ogni caso, tale operatore realizza la dipendenza degli effetti dalle cause esterne al sistema.

Si è detto che il modello è un' astra"Zione, di solito matematica, dell'entità reale co-stituita dal sistema che si vuole studiare; è ovvio quindi che si voglia far sì che il modello approssimi al meglio il comportamento del sistema. Quando ciò si realizza, si è proget-tato un modello adegualo e si usa pe1tanto utilizzare indifferentemente i termini sistema e modello per indicare la rappresentazione della realtà che si desidera analizzare. Vaco-munque sottolineato il fatto che un medesimo modello può rappresentare sistemi fisici molto diversi tra di loro. come mostrato nel seguente esempio.

Esempio 1.1. Si consideri l'equazione differenziale

(I. I )

Tale semplice equazione può essere il modello di svariate tipologie di sistemi fisici; infatti, caratterizzando le quantità che compaiono, essa può per esempio essere interpretata come l'equazione caratterislica di un condensatore. In questo caso, ponendo a = C, capacità del condensatore, .r 1 = l', tensione ai morsetti, e .r2 = i, corrente che attraversa i I componente, l equazione (1.1) diventa

Ci'(r) = i(r) (1.2)

La medesima formulazione matematica si adatta ad un sistema molto diverso dal pre-cedente quale una vasca, di cui si voglia modellare la variazione del livello del contenuto in funzione della portata; in questo caso si pone a = . 1, area di base della vasca, .1: 1 = h, livello del liquido, e .r2 = q, portata, caratterizzando l'equazione ( I. I ) come

( 1.3)

• L'esempio riportato ha reso evidente che nell'espressione matematica del model-

lo non viene palesata, in generale, alcuna caratteristica fisica del sislema e dunque i comportamenti di sislcmi assai differenti possono essere descritti dalle stesse equazioni matematiche.

;e 1.2.2 Il concetto di stato

Con riferimento alla Figura 1.2, si è detto che attraverso S si associa ad ogni specifico andamento degli ingressi il corrispondente andamento delle uscite: d'altra parte, risulta chiaro anche dall'esempio precedente che l'uscita ad un dato istante di Lcmpo T, y(r), può dipendere anche dalla storia del sistema. Non è immediato quindi, in generale, legare in modo semplice l'uscita all ' ingresso, cioè realizzare la dipendenza ingresso/uscita.

È indispensabile dunque introdurre una terza quantità, chiamata stato, che rappre-senta il comportamento del sistema ad un dato istante di cempo, concentrando in sé l' in-formazione sul passato e sul presente del sistema: in altre parole, se ;r( r) è lo stato dcl

Page 14: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 5

sistema all'istante r, esso contiene le informazioni sulla storia del sistema fino all'istante r. Nella disciplina della teoria dei sistemi questa grandezza ricopre un ruolo fondamentale e sta alla base del processo di modellazione e di molte tecniche analitiche; una definizione formale di stato è la seguenle.

r=- I .; <:_-r-'f;. I

/ vefinizione 1.2. Lo stato di un sistema all ' istante di tempo r 0 è la grandezza che contiene l'informazione necessaria in r0 per determinare univocamente l' andamento dell' uscita y(r ), per ogni r To, sulla base della conoscenza dell'andamento dell' ingresso u(r), r r 0 , e appunto dello stato in •

Avendo definito in precedenza come vettori l'ingresso e l'uscita, anche lo stato si esprime di solito in forma vettoriale, come :r E JRn , e i suoi elementi x 1 ( T), ... ,Xn ( T) sono detti variabili di stato. Lo spazio di staro di un sistema, definito come l'insieme di tutti i valori che lo stato può assumere, è solitamente indicato con .X.

Riprendendo il discorso sulle relazioni tra i sistemi e i relativi modelli matematici, a questo punto si possono determinare opportunamente le espressioni matematiche che legano le variabili di ingresso, stato e uscita, cioè descrivono la dinamica del sistema. In questo senso, è data la seguente definizione.

Definizione 1.3. Si definiscono equazioni di stato l'insieme di equazioni che determinano lo stato x(T) per ogni T > r0 sulla base di x(ro ) e di u (r) , T > To. à

Le equazioni di stato possono assumere le forme più svariate; nell'ambito della teoria dei sistemi e del controllo, l'operatore S di Figura 1. 2 è costituito tipicamente dal processo di soluzione di un sistema di equazioni differenziali o alle differenze. In particolare, se il sistema è a tempo continuo, S corrisponde alla risoluzione di un sistema di equazioni di struttura

d.·(r) = J (x(r),7L(r ),r ) y(r) = g(x(r ),it(r ).r)

x(ro) = Xo (1.4)

(1.5)

che è un modello nello spazio di stato, costituito da un sistema dinamico a tempo continuo e rappresentato graficamente in Figura 1.3.

LI X y x ' ( r) = f (x( r). 11( 'ì. r) - y( r) = g (.x( r), u( r), r ) -,

i Figura 1.3 Modello nello spazio di stato.

È importante sottolineare ancora il fatto che un modello come quello composto dalle equazioni (1.4) e (1.5) non è mai unico, in quanto si è detto che le variabili di ingresso e di uscita, si aggiungano ora anche le variabili di stato, possono, anzi devono, essere

Page 15: Sistemi ad Eventi Discreti

6 Capitolo 1

opportunamente scelte sulla base degli obiettivi dello studio del sistema che si vuole mo-dellare. Ne consegue quindi che per un dato sistema possono essere concepite svariate rappresentazioni nello spazio di stato.

Se il tempo è discreto, cioè rappresentato dall'intero k, k =0,1, ... , l'operatore S corrisponde alla risoluzione di un sistema di equazioni alle differenze con la seguente struttura

x;(k + 1) = f (;r(k),u(k),k) y(k) = g(x(k).u(k),k)

x(ko) = .to (1.6)

(1.7)

che è un sistema dinamico a tempo discreto e può essere ancora rappresentato graficamen-te come in Figura 1.3, dove nei blocchi le equazioni (1.4) e (1.5) siano opportunamente sostituite dalle equazioni (l.6) e (1.7).

1.2.3 Il concetto di controllo

Sebbene lo studio di un particolare sistema dinamico sia spesso motivato dal desiderio di capire i fenomeni che avvengono nel mondo reale, molte analisi hanno l'esplicita mo-tivazione di individuare mezzi efficaci per modificare un sistema in modo che il suo comportamento migliori secondo criteri definiti. Le tecniche applicate per effettuare tali cambiamenti realizzano il controllo del sistema. L'attività di controllo implica un'azione continua esercitata mentre il sistema sta funzionando.

In altre parole, l'azione del controllo consiste nel modificare gli ingressi manipola-bili del sistema dinamico sotto studio per far sì che il suo comportamento si avvicini il più possibile a quello desiderato; ovviamente la migliore azione di controllo, purtroppo sempre puramente accademica, è quella che porta il sistema a comp01tarsi esattamente come desiderato.

Il controllo può essere progettato per scopi diversi ed applicato in modi diversi. Le strutture di controllo si dividono in cql)l[pllo in anello qperto (open-loop contro/) e.{;Q!!:-tmllo in anello chiuso o in retroazione (closed-loop contro/, o feedback), a seconda che l'azione di confroll6 dipenda dallo stato attuale del sistema (anello chiuso) o meno (anel-lo aperto). Nel controllo in anello (o ciclo) segnale di ingresso è gener.ato da un processo esterno al sistema stesso, attraverso dìVerse procedure: dall'analisi, da qualche dispositivo fisico, da ·quaTcbe fenomeno casuale. Nel controllo in anello chiuso inve-ce il s.ii ingresso è determinato continuamente sulla base del comportamento del sistema, attraverso la retroazione.

Il controllo in è anche detto_c.f2.!Um.l.la .. in .. Lt: .. t.rn.az.ione perché in tale strut-tura IélìSCiie'aél sistema sono riportate, SOirtamente in forma modificata, come ingressi. Sonòèsempi cli sistemi dì controlIOìn- retroazione molti dispositivi usati comunemente nelle dimore familiari. Uno di questi è l'impianto di riscaldamento domestico; l'uscita di questo sistema è la temperatura ali' interno della casa, che viene misurata dal termostato: quando la temperatura scende sotto un determinato livello la caldaia si accende, per spe-gnersi quando la temperatura supera il valore desiderato. È proprio questa operazione che rappresenta la retroazione dall'uscita all' ingresso del sistema di riscaldamento.

Per diverse ragioni il controllo in ciclo chiuso risulta spesso preferibile al control-lo in ciclo aperto in molte applicazioni; senza entrare nel dettaglio e rimandando quindi

Page 16: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 7

ancora una volta il lettore ai tanti libri dedicati alla teoria dei sistemi di controllo più volte citati, ci limitiamo a dire che tali ragioni derivano dalle caratteristiche computazio-nali e prestazionali offerte dagli schemi di controllo in retroazione. Infatti tali sistemi, rispeno a sistemi di controllo in anello aperto comparabili, sono caranerizzati da minore complessità di implementazione e maggiori prestazioni.

La retroazione può produrre una reazione automatica a cambiamenti del sistema ina-spettati o a ingressi di disturbo impredicibili, come è evidente nell'esempio menzionato del sistema di riscaldamento domestico. Questa vantaggiosa caratteristica, propria dei si-stemi di controllo in anello chiuso, può essere analizzata matematicamente in temìi.ni di concetti generali dei sistemi dinamici. In particolare, il fatto che una retroazione possa reagire alle variazioni dinamiche del comportamento di un sistema è indice del fatto che essa contribuisce effettivamente a migliorare le sue proprietà di stabilità.

Esempio 1.4. Si vuole valutare l'effetto della retroazione applicata ad un sistema molto semplice rappresentato dall'equazione differenziale

:r ( T) = '1.L ( T)

che può riferirsi a svariati sistemi fisici; si supponga per esempio che essa regoli il livello d'acqua x in un serbatoio chiuso, di cui u.(T) rappresenta il flusso in ingresso. Sia l'obiet-tivo del controllo portare il livello dell'acqua ad un dato valore x, qualunque sia il valore di livello iniziale: questo potrebbe essere perseguito, evidentemente, con una struttura di controllo in anello aperto, scegliendo opportunamente il valore di u. La struttura del sistema però rende impossibile il rilevamento di qualunque minimo en-ore o disturbo, che risulterebbe ineliminabile e dunque persistente.

Si supponga allora che l'ingresso sia regolato attraverso una retroazione, per esem-pio del tipo u(T) = - ;r(r)]. Per x(T) < x, ma prossimo a x, questo potrebbe corrispondere al flusso che entra attraverso una valvola, mentre il parametro a esprime-rebbe la dipendenza dalla dimensione dcl tubo e dalla pressione con cui l'acqua arriva al serbatoio. In questo caso l'equazione precedente diventa

:i:(T) = et(:f - J;(T)]

che evidenzia il fatto che al crescere del tempo T x ( T) i. Se si definisce ora la variabile y = x - J;( T ), il sistema in anello chiuso può essere

descritto dalla semplice equazione

y ( T) = - C'iy ( T)

La variabile y(T) è detta errore. Si può notare che la retroazione ha reso il sistema di prutenza più "robusto" rispetto ad effori e disturbi, in quanto questi possono essere rilevati e quindi contrastati. +

/2) 1.3 I sistemi ad eventi discreti

I .s.i.s.temj a.1_eventi_jiscreti (SED) negli ultimi decenni banno attirato l'attenzione di un numero sempre crescente di ricercatori, divenendo tema di i:icerca scientifica di interes-se assai rilevante. Intuitivamente, un sistema ad eventi discreti si può definire come un

Page 17: Sistemi ad Eventi Discreti

8 Capitolo l

diI?amico il cui comportamento è dall'occorrenza di eve_nti.is.tan.. tane i con uc ITTegolare non necessariamente noto. Come anticipalo, un evento può corrispondere per esempio ad u-na richiesta di servizio da parte di un utente, all'inizio o alla fine del servizio stesso, ad un improvviso malfunL.ionamento, alla ripara-zione di detto malfunzionamento. e così via. Esistono sistemi intrinsecamente ad eventi discreti nelr ambito della produzione, della robotica, del traffico, della logistica (traspor-lo e immagazzinamento di prodotti, organizzazione e consegna di servizi) e delle reti di elaboratori elettronici e di comunicazioni. Queste applicazioni richiedono controllo e coordinamento per assicurare il flusso corretto degli eventi; in questo senso, come siste-mi dinamici da controllare, i SED si propongono come soggetto opportuno per la teoria del controllo. Infatti, come verrà spiegato nei capitoli del testo dedicati a questo argo-mento, sono state sviluppate varie metodologie per il controllo dei SED; esse dipendono dalle caratteristiche del sistema che si desidera regolare e spesso riprendono i principi di base della teoria del controllo dei sistemi ad avanzamento temporale, proponendone una rivisitazione opportuna al contesto di definizione dei SED.

Rimandando la definizione formale di SED al prossimo paragrafo, si comincia ora a delineare tale contesto, in cui il tempo e lo spazio assumono valori discreti, determinan-do un'evoluzione temporale asincrona, cioè basata sui tempi di occorrenza degli eventi piuttosto che su una temporizzazione regolare. Inoltre, tipicamente i SED sono modulari, cioè composti di clementi che vanno dalla complessità di SED quasi indipendenti al livel-lo di sempLici primitive e possono avere meccanismi di controllo e intercomunicazione, per esempio per l'abilitazione o la disabilitazione di particolari eventi controllabili e per la segnalazione dell'occorrenza di eventi osservabili da un modulo ad un altro. Attraverso azioni di coordinamento dei meccanismi di controllo e di comunicazione si può garantire che il flusso degli eventi soddisfi le specifiche desiderate.

Alcuni decenni fa, appena essi furono concepiti, i SED erano sufficientemente sem-plici da poter essere rappresentati e studiati con metodi intuitivi o ad hoc. Con l'andare degli anni però, la crescente complessità dci sistemi creati dall'uomo, coadiuvata e resa attuabile dall'incessante rapida evoluzione delle tecnologie legate agli elaboratori elettro-nici, ha portato i problemi da affrontare negli ambiti di modellazione, analisi, ottimizza-zione e controllo dei SED ad un tale Livello di complessità da rendere necessari mt:to<li più sistematici per le loro analisi e soluzioni. Così, come si vedrà nei prossimi capitoli, esistono oggi differenti metodologie dedicate alle soluzione di problemi riguardanti uno o più degli aspetti appena menzionati; nessuna di tali metodologie è però a tutt'oggi da con-siderarsi indiscutibilmente consolidata, in quanto la teoria dei SED continua a rimanere oggetto di attività di ricerca scientifica di interesse internazionale.

Per caratterizzare la posizione che la teoria dei SED occupa nei confronti di disci-pline più tradizionali e consolidate quali la teoria dei sistemi. i controlli automatici e la ricerca operativa, è utile riportare quali sono state le posizioni storicamente assunte dai ricercatori in questo ambito, seguendo l'interessante distinzione effettuata da Yu-Chi Ho ( 1989), che ha dato certamente un rilevante contributo allo sviluppo della teoria dei SED. Si rimanda inoltre al lavoro di Cao ( 1989) per un confronto ragionato tra i SED e i clas-sici sistemi ad avanzamento temporale (SAT) dal punto di vista della dinamica. È om1ai chiaro che rispetto ai SAT, nati per la necessità di descrivere il comportamento di sistemi fisici, i SED sono senz'altro un fenomeno relativamente recente. Diversi ricercatori han-no affermato che essi sono anche dominio della disciplina della ricerca operativa. Infatti, benchè si sostenga da più parti che la ricerca operativa non sia altro che una collezione di tecniche matematiche, è diffusa l'idea che detta disciplina possa essere considerata come

Page 18: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 9

la scienza delle operazioni e degli eventi nei sistemi creati dall'uomo, visti in contrappo-sizione ai sistemi fisici. Morse ( 1951 ), considerato il fondatore della ricerca operativa, la concepì come una disciplina con sviluppo parallelo a quello della fisica, intesa come scienza della natura e della maceria; in questo senso, i SED si configurerebbero propria-mente come un soggetto di ricerca operativa, in quanto rappresentati principalmente da sistemi creati dall'uomo governati da "regole operative".

In realtà, l'evoluzione della teoria dei SED è avvenuta e sta tuttora avvenendo in marcata analogia con lo sviluppo della teoria dei sistemi e del controllo. In particolare, concetti fondamentali nello studio della dinamica dei SAT quali ad esempio la stabilità, la raggiungibilità, l'osservabilità, le risposte nel tempo e in frequenza, hanno giocato e con-tinueranno a giocare ruoli molto importanti nello sviluppo dei modelli e degli strumenti di analisi e di controllo per i SED. Dal momento che i SED sono principalmente sistemi creati dall'uomo, piuttosto che sistemi fisici e/o naturali, essi richiedono un grado di inte-razione con l'uomo più o meno elevato. Si prenda ad esempio un sistema automatizzato di produzione flessibile, che viene tipicamente modellato come un SED. Tale sistema, anche se controllato da elaboratori elettronici, può richiedere un alto grado di interazione con operatori umani, per esempio attraverso la gestione dei monitor di controllo o per l' ap-provvigionamento di materiali. Ciò presenta delle implicazioni sotto due diversi aspetti nell'implementazione pratica di qualunque teoria dei SED. ln primo luogo, possono esse-re utili un'interfaccia con l'intelligenza artificiale e l'elaborazione dei linguaggi naturali, cose che sono solitamente di scarsa importanza per un SAT, e che sarebbero invece di ausilio per esempio nell'automazione della produzione, dove i SED interagiscono con il personale umano. In secondo luogo. siccome i SED sono sistemi creati dall'uomo, non ci sono leggi fisiche invarianti che vincolino le configurazioni del sistema, ad eccezione dei limiti sulla disponibilità delle risorse e l'ergonomia: ci si può dunque trovare con facilità di fronte ad una possibile esplosione combinatoria.

In definitiva, senza pretesa di essere esaustivi, si può concludere che la teoria dei SED presenta intersezioni almeno con le aree culturali afferenti alla teoria dei sistemi e del controllo, alla ricerca operativa e ali' intelligenza artificiale. Le opinioni su questo punto sono contrastanti e dipendono sostanzialmente dall'estrazione culturale di chi si pone allo studio dei SED.

1.3.1 Caratteristiche dei sistemi dinamici ad eventi discreti

Lo sviluppo della teoria dei SED è stato ed è tuttora molto incoraggiato dall'esigenza di trovare principi generali che possano essere validi nei molti possibili domini applica-tivi già menzionati. Le caratteristiche indiscusse comunque possedute da un SED sono fondamentalmente legate all'evoluzione dinamica basata sull 'occorrenza asincrona degli eventi, anziché sull'avanzamento sincrono del tempo (come succede per i SAT), e al fat-to che almeno alcune delle variabili che descrivono il comportamento di un SED sono discrete.

Dal punto di vista formale, un SED può essere considerato come un sistema dina-mico, con un opportuno spazio di stato e un proprio meccanismo di transizione di stato. È evidente che, come si vedrà nei prossimi capitoli, la natura stessa dei SED ha imposto la ricerca di formalismi matematici adeguati alla loro modellazione e alla loro analisi. Ln connessione logica con quanto detto fino a questo punto, un SED può essere ora definito formalmente come segue.

Page 19: Sistemi ad Eventi Discreti

10 Capitolo 1

Definizione 1.5. Un sistema ad eventi discreti (SED) è un sistema il cui comportamento dinamico è caratterizzato dall'accadimento asincrono di eventi che individuano lo svolgi-mento di attività di durata non necessariamente nota. Formalmente, un sistema ad eventi discreti è caratterizzato da:

• insieme E degli eventi accadibili;

• spaLio di stato costituito da un insieme discreto X;

• evoluzione dello stato event-driven, cioè regolata dagli eventi: Io slato evolve nel tempo solo in dipendenza dell'accadimento di eventi asincroni, appartenenti all' in-sieme E.

L'equazione che descrive l'evoluzione dello stato a partire dallo stato iniziale .r0 è

( 1.8)

dove

• i:1.·+I è lo stato del sistema dopo l'accadimento del h·-esimo evento;

• e,_. è il k-csimo evento accaduto dall'istante iniziale considerato, che fa transire lo stato da 1· k a :i· 1.·+ i ;

• 6 : X x E -t X è la funzione di transizione di stato.

1.4 Un esempio di SED: il sistema a "coda"

L'esempio più semplice ed intuitivo che si possa introdurre a questo punto, per esplicare i concetti fin qui enunciati riguardo ai SED, è senza dubbio il sistema a "coda" o ad acco-damento (Kleinroch, 1975; Walrand. 1988). Un sistema di questo tipo può infatti essere considerato come il blocco elementare con cui costruire le rappresentaL.ioni di molte tipo-logie di SED nell'ambito delle diverse aree applicative già menzionate. Anche per questa ragione esso verrà ripreso più volte nel corso di questo testo, costituendo una sorta di filo conduttore tra diverse tipologie di modelli che verranno descritte.

Un sistema a coda si fonda su tre componenti fondamentali:

1. le entità che attendono per utilizzare le risorse, dette clienti;

2. le risorse per cui ci si accoda, detti servitori o serventi;

3. lo spazio in cui si attende, che è la coda vera e propria.

I clienti possono essere persone, messaggi in reti di telecomunicazioni, task in com-puter, semilavorati in sistemi di produzione, veicoli in reti di trasporto, ecc. Esempi di serventi corrispondenti sono invece ancora persone, canali di comunicazione, processori, macchine, semafori, ecc. Un sistema a coda, detto usualmente per brevità, indicando la parte con il tutto, coda, viene rappresentato graficamente come in Figura 1.4.

Visto come un SED, il più semplice sistema a coda è caratterizzato dall'insieme di eventi E {a ,p}, con

Page 20: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 11

arrivo clienti ---11lia• partenza clienti

coda servitore

Figura 1.4 Rappresentazione grafica di una coda.

• a. : evento di arrivo di un cliente;

• p : evento di partenza di un cliente.

La variabile di stato più intuitiva è il numero di clienti in coda; in questo caso si pone X = {0,1,2, .. }, ossia X= N.

Per specificare completamente le caratteristiche di un sistema a coda bisogna ancora definire:

• la capacità della coda, cioè il massimo numero di clienti che possono accodarsi (spesso considerato illimitato);

• la disciplina di accodamento, cioè la regola con cui si sceglie il prossimo cliente da servire tra quelli in coda.

Collegando tra di loro più blocchi elementari "coda" si costruiscono reti di code, in cui i clienti "fluiscono" secondo regole specifiche; la definizione di tali regole e la scelta "adattativa" delle regole migliori sono problemi fondamentali nell'ambito della te01ia dei SED, che vanno affrontati tenendo presenti tre obiettivi contrastanti: la soddisfazione dei singoli utenti, l'equità di trattamento di tutti gli utenti, i costi di progetto ed esercizio.

1.5 Modellazione di sistemi ad eventi discreti

È attraverso i Modelli ad Ev_en.ti ..DiscretL(MED) che si effettua un'astrazione del com-portamento dei sistemi ad eventi discreti, regtsfrando l'occorrenza di determinati eventi discreti. Questa registrazione è di solito definita come traccia (o traiettoria) degli eventi. Si può dunque definire un MED come un modello matematico in grado di rappresentare l'insieme delle tracce degli eventi che possono essere generate da un sistema. NeJla mag-gior parte dei sistemi l'insieme delle tracce può essere illimitato, a causa, per esempio, di condizioni iniziali diverse, effetti di politiche di controllo o stocasticità, mentre un mo-dello deve comunque essere finito. Pertanto un MED è un modello matematico finito che descrive un insieme infinito di tracce di un sistema ad eventi discreti. Le tracce possono essere rappresentate con due diversi livelli di astrazione, sulla base dei quali si distin-guono primariamente le due grandi famiglie di modelli di SED reperibili in letteratura: i modelli logici e i modelli te1nporiuati. Infatti, i diversi modelli di SED appartengono all'wia o all'altra di queste classi a seconda del tipo di traccia (o traiettoria) degli eventi adottata.

Nei modelli logici la traccia degli eventi è costituita semplicemente da una sequenza di eventi {e1, c2 , ... }, in ordine di occorrenza, senza alcuna informazione circa i tempi di occorrenza degli eventi; dato uno stato iniziale x0 , la traiettoria dello stato verrà costruita

Page 21: Sistemi ad Eventi Discreti

12 Capitolo 1

nel tempo come la sequenza di stati {.z:0 , .c1 , x 2, ... } risultanti dall'accadimento della sequenza di eventi, ma non è possibile specificare gli istanti di tempo in cui avvengono le transizioni di stato.

Nei modelli remporizzati, invece, la traccia degli eventi è costituita da una sequenza di coppie {(e1 , T1 ), (e2 , T2 ), ... },dove ogni evento ei è accoppiato al suo tempo di acca-dimento Ti, eventualmente stocastico; dato uno stato iniziale .c0 , la traiettoria dello stato sarà evidentemente ancora la sequenza di stati { x0 , x 1 , x2 , •.. } risultanti dall'accadimento della sequenza di eventi; in questo caso però si sa che le transizioni di stato avvengono negli istanti di occorrenza degli eventi.

I modelli logici rendono agevole lo studio delle proprietà qualitative del sistema e consentono quindi di effettuare l'analisi strutturale di un SED, mentre i modelli temporiz-zati permettono di studiare i diversi comportamenti nel tempo del sistema, pertanto sono indispensabili qualora si voglia effettuare l'analisi prestazionale di un SED. In ogni caso, si può concludere che un modello ad eventi discreti costituisce sempre una descrizione matematica finita dell ' insieme infinito di tracce che rappresentano il comportamento di un sistema ad eventi discreti ad un certo livello di astrazione.

1.5.1 I modelli ad eventi discreti logici

I MED logici sono fondati sull'ipotesi semplificativa di ignorare i tempi di occorrenza degli eventi e considerare perciò solo l'ordine con cui essi si verificano. In questi modelli una traiettoria del sistema è specificata semplicemente costruendo una "stringa" di eventi in base all'ordine in cui accadono, pertanto l'uso ne è giustificato qualora si vogliano stu-diare le proprietà di SED che non dipendono dalla specifica temporizzazione degli eventi. Questo approccio modellistico ha probabilmente avuto origine con la pubblicazione del lavoro di Ramadge e Wonham (1982), ma poi nel corso degli anni, i modelli ad eventi discreti logici sono stati usati con successo nello studio di proprietà qualitative dei SED in svariati campi applicativi. Per esempio, si sono impiegati MED logici nell'ambito di te-matiche di ricerca relative al controllo supervisivo (Ramadge e Wonham, 1987a; Ramadge e Wonham, 1989), alla semantica dei programmi concorrenti e dei processi sequenziali comunicanti (Hoare, 1985; Inane Varaiya, 1989; Thistle, 1986), ai protocolli di comuni-cazione (Kurshan, 1988) e alla gestione delle basi di dati (Lafortune, 1988 ). I lavori citati sono (forse i primi) esempi significativi di tali applicazioni, ai quali ne sono poi seguiti molti altri.

Nella formulazione del modello è fondamentale specificare l'insieme delle traietto-rie ammissibili, ossia le sequenze di eventi fisicamente realizzabili. A questo scopo può essere adottato uno dci noti formalismi sviluppati per rappresentare le transizioni di stato in un SED, come gli automi (Ramadge e Wonham, l 987a) o le reti di Petri (Peterson, 1981; Murata, 1989), come sarà spiegato in dettaglio nel prossimo capitolo. Nei sistemi reali solitamente le tracce di eventi ammissibili sono un sottoinsieme ristretto dell'insieme di tutte le sequenze di eventi (matematicamente) possibili. Lo scopo è determinare quali fra le traiettorie ammissibili hanno certe proprietà specificate. Nell'ambito del controllo, si può valutare la possibilità di variare per mezzo di azioni di controllo l'insieme delle tracce ammissibili, in modo che ogni traiettoria ammissibile possegga le proprietà desi-derate. Proprietà di interesse sono tipicamente: stabilità, comportamento dinamico soddi-sfacente, corretto ordinamento degli eventi, corretto uso delle risorse, coordinamento dei processi costituenti nel perseguire un determinato obiettivo.

Page 22: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 13

Oltre che per lo studio delle proprietà qualitative del sistema, i MED logici possono essere utilizzati come base di calcolo, per esempio per la verifica o la sintesi di SED. Inta-li applicazioni però la complessità computazionale diventa un punto cruciale. Infatti, per esempio, il numero di stati di un automa o di una rece di Petri per specificare le traiettorie degli eventi ammissibili può dipendere in maniera esponenziale da qualche parametro del sistema; in un caso simile semplici algoritmi per la verifica e la sintesi diventano rapida-mente non utilizzabili. Si è cercato di ovviare a questo problema riducendo la complessità con l'introduzione di caratteristiche di aggregazione e modularità, o impiegando strutture gerarchiche o ad hoc. Un approccio molto importante in questo ambito è quello introdot-to da Ramadge e Wonham (1987a, 1989) e poi seguito da altri autori. L'obiettivo della teoria sviluppata era quello di esaminare concetti della teoria del controllo quali control-labilità, osservabilità, composizione e controllo decentralizzato e/o gerarchico di SED da un punto di vista qualitativo. L'approccio si è din10strato valido nell'analisi "teorica" di alcuni problemi di conlrollo di supervisione (Cieslak et al., 1988; Ramadge e Wonham, 1987a), è stato applicato con successo nell'ambito dei sistemi di produzione, dei sistemi di comunicazioni, delle basi di dati ed è stato poi esteso a1 controllo modulare e distri-buito (Ramadge e Wonham, l 987b ). Diversi autori hanno sviluppato versioni alternative delle macchine a stati finiti proposte in (Ramadge e Wonham, 1987a; Ramadge e Won-ham, 1989), perseguendo svariati scopi di controllo e proponendo anche euristiche per il controllo ottimo dei SED.

1.5.2 I modelli ad eventi discreti temporizzati

La sostanziale differenza tra un modello logico ed un modello temporizzato di un SED sta nella caratteristica di quest'ultimo di associare alla sequenza degli eventi una qualche forma di temporizzazione. La formuJazione del modello procede specificando l'insieme delle tracce di eventi ammissibili e la temporizzazione ad esse associata. Se si sceglie di adottare un modello deterministico, questa operazione può essere ancora effettuata per mezzo di una struttura opportuna quali gli automi temporizzati o le reti di Petri temporiz-zate, di una struttura algebrica, come l'algebra max-plus, o di un linguaggio dì simulazio-ne formale. Applicazioni di MED deterministici sono state effettuate, per esempio, per lanalisi del comportamenlo periodico e per il progetto di meccanismi di controllo di si-stemi di produzione, di comunicazioni, di trasporto; si citano ad esempio i lavori (Baccelli et al., 1992; Brandine Wonham, 1994; Ostroff, 1989; Manna e Pnueli, 1995; Holloway et al., 1997).

Se invece si prendono in considerazione MED temporizzati stocastici, va innanzitut-to tenuto presente che questi modelli sono in qualche modo concettualmente differenti da quelli visti finora. Infatti, in questi modelli è di solito facile specificare linsieme delle traiettorie di stato ammissibili, mentre la parte difficile è definire una misura utile di que-sto insieme da usare per determinare le distribuzioni delle variabili di interesse. Model Li di questo tipo sono stati applicati con successo per esempio nello studio di caratteristiche sia quanlitative sia qualitative di sistemi quali reti di comunicazione. semplici reti di code, problemi di scheduling stocastico e sistemi di produzione.

Anche i MED stocastici presentano dei limiti; per esempio, essi sono in generale così complessi da impedirne una trattazione analitica: ne consegue che è impossibile risolvere in forma chiusa parecchi problemi di interesse. Comunque, anche quando si conoscono soluzioni in forma chiusa, la forma della soluzione può essere tanto complicata da rende-

Page 23: Sistemi ad Eventi Discreti

14 Capitolo I

re il suo utilizzo difficile, se non impossibile. Inoltre, anche qualora si conosca in fonna qualitativa la soluzione, può non essere clisponibile uno strumento di calcolo adeguato. Si può affermare che, tranne in pochi casi, la complessità dei problemi che si incontra-no nello studio dei SED ha limitato i risultati ottenibili a risultati di tipo 4ualitativo, u ha portato all'uso della simulazione come strumento per l'analisi quantitativa (Banks et al., 1996; Righter e Walrand, 1989). Ciò ha motivato l'attività di ricerca di Ho ed altri (Ho e Cassandras, 1983; Ho, 1989; Ho e Cao, 1991) sui metodi perturbativi per la stima della sensitività di indici di prestazioni fissati rispetto a variazioni dei valori di parametri caratteristici del sistema.

Tra le varie tecniche di modellazione ed analisi dei SED temporizzati, un discorso a parte merita 1 'algebra max-plus, formalismo di rappresentazione che permette di descri-vere il comportamento dinamico di un SED mediante equazioni di stato lineari in questa particolare algebra, del tipo di quelle viste per la descrizione dei SAT (equazioni 1.4-1. 7). L'algebra max-plus, a cui Cuninghame-Green dedicò un intero libro già più di 20 anni fa (Cuninghame-Green, 1979), ammette come operazioni fondamentali l'addizione e la massimizzazione (si vedano ad esempio (Cohen et al., 1989; Baccelli et al., 1992)). Esi-stono chiare analogie tra l' algebra lineare e la teoria dei sistemi da una parte, e l'algebra max-plus e la teoria dei SED dall'altra. Gli autovalori e la matrice di trasferimento gio-cano un ruolo importante in entrambi i casi, ed è stato mostrato che molti risultati relativi all'algebra lineare conservano il loro valore tradotti in ternlini di algebra max-plus (si ve-dano ad esempio (Gondran e Minoux, 1984; Olsder, 1986; Olsder e de Vries, 1988; Olsder e Roos, 1988; Olsder, 1991)). Esistono in letteratura applicazioni della teoria sviluppata per la rappresentazione e l'analisi di sistemi di produzione, di trasporto, di comunicazio-ni, siano essi deterministici o stocastici. A questo formalismo modellistico è dedicata una parte del Capitolo 5.

1.6 I sistemi ibridi

Un sistema ibrido è formato da componenti che sono adeguatamente rappresentate da combinazioni di diversi modelli. La combinazione più interessante in questo contesto, pe-raltro anche la più frequente, consiste nell'accoppiare modelli ad avanzamento temporale e modelli ad eventi discreti (Antsaklis e Lemmon, 1998; Antsaklis e Nerode, 1998). Per esempio, un semplice modello ibrido può essere composto da un'equazione differenziale e da una rete di Petri, temporizzata o meno.

Esistono molti processi ibridi di natura, il che comporta la necessità di disporre di modelli ibridi. Per esempio, il comportamento del traffico stradale può essere adeguata-mente descritto da equazioni differenziali o alle differenze finché rimane regolare o co-munque in qualche modo predicibile, mentre le irregolarità che possono influenzare detto comportamento modificandolo sono più appropriatamente rappresentate da un modello ad eventi discreti (Di Febbraro e Ferrara, 1996).

Per le loro caratteristiche, i sistemi ibridi si possono considerare come la classe più generale di sistemi dinamici, che contiene come sottoclassi i SAT e i SED, come indicato in Figura 1.5. Il ramo sinistro dell'albero raffigurato, che ha come radice i sistemi ibridi, rappresenta la classificazione dei SAT propria della teoria dei sistemi e richiamata in parte nel paragrafo 1.2. L'esplorazione del ramo destro costituisce invece 1' oggetto di questo libro, il cui obiettivo primario è proprio quello di descrivere tutte le principali metodologie di rappresentazione di sistemi ad eventi discreti.

Page 24: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 15

SAT a tempo

Sistemi ibridi

Sistemi ad Avanzamento

Temporale (SAT)

SAT a tempo SAT a tempo continuo discreto

-

Sistemi ad Eventi Discreti (SED)

I SED logici

SED temporizzati

,....._ SED continuo lineari - SAT a tempo

discreto lineari delerm inistici

SAT a tempo continuo -

non lineari

Figura 1.5 Classificazione dei sistemi.

Bibliografia

SAT a tempo - discreto

non lineari

- SED stocastici

• Antsaklis, J.S., M. Lemrnon, Eds., Special issue on "Hybrid Systems", Journal of Discrete Event Dynamical Systems, Voi. 8, August 1998.

• Antsaklis, J.S., A. Nerode, Eds., Special issue on "Hybrid Contro} Systems", IEEE Trans. on Automaric Control, Vol. 43, April 1998.

• Baccelli, F., G. Cohen, G.J. Olsder, J.P. Quadrat, Synchronization and linearity, Wiley, 1992.

• Banks, J., J.S. Carson, B.L. Nelson, Discrete-event system simulation (2nd ed.), Prentice Hall, 1996.

• Brandin, B., W.M. Wonham ·'Supervisory contro1 of timed discrete event systerns", IEEE Trans. on Auromatic Contro/, Vol. 39, 1994, pp. 329-342.

• Cao, X.R., "A comparison of thc dynamics of continuous and discrete event sy-stems", Proc. IEEE, Voi. 77, 1989, pp. 7-13.

Page 25: Sistemi ad Eventi Discreti

16 Capitolo I

• Cassandras, C.G., S. Lafortune, lntroduction to discrele event systems, Kluwer Aca-demic Publishers, 1999.

• Cassandras, C.G., S. Lafortune, Cì . .T. Olç;der, " f ntroduction to thc modelling, contro!, and optimization of discrete evcnt systems", in: Trends in Control: a European perspeclive, A. lsidori, ed., Springer-Verlag, 1995.

• Cieslak, R., C. Desclaux, A.S. Fawaz, P. Varaiya, "Supervisory control of discrete-event processes with partial observations", IEEE Trans. Automa!. Comr., Vol. 33, 1988, pp. 249-260.

• Cohen, G., D. Dubois, J.P. Quadrat, M. Viot, "A linear-system-thcoretic view of discrete-event processes and its use for performance eva1uation in manufacturing'', IEEE Trans. Automa tic Contro/, Vol. 30, 1985, pp. 210-220.

• Cohen.G., P. Mollcr, J.P. Quadrar, M. Viot, "Algebraic tools for the performance evaluation of discrete event systems", Proc. IEEE, Voi. 77, 1989, pp. 39-58.

• Cohen, G., S. Gaubert, J.P. Quadrat, "Max-plus algebra and system theory: whcre we are and whcrc to go now", Annua/ Reviews in Contro/, Voi. 23, pag. 207-219, 1999.

• Cuninghame-Green, R., Minimax algebra, Lecrure Notes in Economics and Mathe-matical Systems, Springer-Verlag, Berlin, 1979.

• Di Febbraro, A., A. Ferrara. ·'A new two-levcl model for multiclass freeway traffic", IEEE Trans. 011 Vehicular Techno/ogy, Vol. 45, pp. 189-200, 1996.

• Di Febbraro, A., A. Giua, G. Menga, Eds., Special issue on "Hybrid Petri nets", Journal of Discrele Evenr Dynamical Syslems, Vol. 11, Nr. 1-2, 2001.

• Gondran, M., M. Minoux, "Linear algebra in dioids: a survey of recent results", Amzals Discrete Ma!h., Vol.19, 1984, pp.147-164.

• Ho, Y.C.. "Dynam.ics of Discrete Event Dynamic Systems", Proc. IEEE, Vol. 77, ] 989, pp. 3-6.

• Ho, Y.C., X. Cao, Perturbarion ana/ysis ofDiscrete Evenl Dy11a111ic Systems, Kluwcr, 1991.

• Ho, Y.C., C.G. Cassandras, "A new approacb to the analysis of Discrete Event Dynamic Systems", Automatica, Vol. 19. 1983, pp.149-167.

• Hoare, C.A.R., Communicaring sequential processes, Prentice-Hall, 1985.

• Holloway, L.E., B.H. Krogh, A. Giua, "A survey of Petri net methods for controlled discrete event systems", Journal nf Discrete Event Dynamic Systems: Theory and Applications, Vol. 7, 1997, pp. l 5 l-190.

• Inan, K.M., P.P. Varaiya, "Algebras of discrete event models", Proc. IEEE, Voi. 77, 1989, pp. 24-38.

• Isidori, A., A. Ruberti, Teoria dei sistemi, Boringhieri, 1979.

Page 26: Sistemi ad Eventi Discreti

Classificazione dei sistemi e dei modelli 17

• Kleinroch, L., Queueing systems, volume]: theory, Wiley, 1975.

• Manna, Z., A. Pnueli, Tempora! verification of reactive systems: safety, Springer-Verlag. 1995.

• Morse, P.M., G. Kimbali, Methods ofoperations research, Wiley, 1951.

• Murata, T., "Petri nets: properties, analysis and applications''. Proceedings IEEE, Vol. 77, No.4, pp. 541-580, 1989.

• Olsder, G.J., "On thc characteristic equation and minimal realizations for discrete-cvent dynamic systems", in: Lecture Notes in Contro! and Sciences, Vol.83, Springer-Verlag, Berlin, 1986.

• Olsder, G.J., R.E. de Vries, "On an analogy of minimal realizations in conven-tional and discrete-event dynamic systems", in: Discrete Event Systems: models arzd applications, P. Varaiya e A.B. Kurzhansk.i , Eds., Lecture Notes in Control and lnformation Sciences, Vol. 103, Springer-Verlag, Berlin, 1988, pp. 149-161.

• Olsder, G.J., C. Roos, "Cramer and Cayley-Harnilton in the max-algebra", Unear Algebra and its Applications. Vol. 101 , 1988, pp. 87-108.

• Olsder, G.J., "Eigenvalues of dynamic Max-Min systems", Journal of Discrete Event Dynamical Systems, Voi. 1, 1991, pp. 177-207.

• Olsder, G.J. , K. Roos, R.J. van Egmond, "An efficient algorithm for criticai circuits and finite eigenvectors in the max-plus algebra'', Linear Algebra and its Applica-tions, Vol. 295, pag. 231-240, 1999.

• Ostroff, J.S., Tempora! logie/or real-time systems, Wiley, 1989.

• Peterson, J.L., Petri net theory and the modeling of systems, Prentice-Hall, 1981.

• Ramadge, P.J. , W.M. Wonham, "Supervisory contro} of discrete event processes", in: D. Hinrichsen e A. Isidori, Eds., Feedback Contro/ of Linear and Nonlinear Systems, Lectures Notes on Control and lnformation Sciences No. 39, 1982, Springer-Verlag, pp. 202-214.

• Ramadge, P.J., W.M. Wonham, "Supervisory contro) of a class of discrete cvent processes", SIAM Journal of Contro/ and Optimization, Vol. 25, 1987, pp. 206-231.

• Ramadge, P.J ., W.M. Wonham, "Modular feedback logie for discrete-event systems'', SIAM Journal of Control and Optimization, Vol. 25, 1987, pp. 1202-1218.

• Ramadge, P.J. , W.M. Wonham, "The contro! of Discrete Event Systems". Proc. IEEE, Vol. 77, 1989, pp. 81-98.

• Rightcr, R., J.C. Walrand, "Distributed simulation of Discrete Event Systems", Proc. IEEE. Vol. 77, 1989. pp. 99-113.

• Rinaldi, S., Teoria dei sistemi, CLUP, 1981.

• Thistle, J.C., W.M. Wonham, "Contro! problems in a temporal logie framework", lnt. Journal of Contro!, Vol. 44, 1986, pp. 943-976.

Page 27: Sistemi ad Eventi Discreti

18 Capitolo 1

• Walrand, J., An Inrroduction to queueing neLworks, Prentice-Hall, 1988.

• Zhou, M.C., F. Di Cesare, "Parallel and sequential mutuai exclusion for Petri Nets modelling of manufacturing systems with shared resources", IEEE Trans. Robot Automar., Vol.7, 1991,pp. 515-527.

Page 28: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici

Questo capitolo è dedicato ai ad eventi discreti logici, cioè a quei sistemi ad eventi discreti (SED) il cui CO_!!!POrtamè'iìtc> può essere rappresentato mediante le sequenze di -- -eventi che essi generano, senza la necessità di conoscere la temporizzazione associata agli eventi. Associando il simbolo di un alfabeto a ogni evento, si può rappresentare

""""'---l'evoluzione di un sistema logico mediante una parola. Il comportamento del sistema, cioè l'insieme di tutte le sue possibili evoluzioni, sarà rappresentato mediante un insieme di parole o linguaggio. Dunque il primo paragrafo del capitolo presenta gli elementi di base della reona dci linguaggi formali.

Si definisce modello di un sistema logico un qualunque formalismo che consenta di descrivere il linguaggio che rappresenta il comportamento del sistema. Verranno di-scusse tre diverse classi (o famiglie) di modelli: gli auromi finiti detemzinistici (para-grafo 2.2), gli automi finiti non deterministici (paragrafo 2.3) e le e.\pressioni regolari (paragrafo 2.6). Dal punto di vista della teoria dei sistemi, gli automi sono un formalismo particolannente interessante, perché - essendo basati sul concetto di stato e transi-:,ione - rappresentano in modo intuitivo l'evoluzione di stato in stato di un sistema guidato da eventi. Le espressioni regolari consentono invece di descrivere un linguaggio mediante un formalismo algebrico.

Due diverse classi di modelli sono dette equivalenti se possono descrivere la stessa classe di linguaggi e dunque consentono di rappresentare la stessa classe di sistemi. Si dimostrerà dapprima (paragrafo 2.4.3) che gli automi deterministici e non deterministici sono modelli equivalenti e in seguito che anche le espressioni regolari sono equivalenti agli automi (paragrafo 2.7): la classe di linguaggi formali associata a questi tre modelli è detta linguaggi regolari.

Si studieranno le propr;età degli automi (paragrafo 2.4) e si affromerà anche il pro-blema della modellazione (paragrafo 2.5), mediante automi, di sistemi ad eventi discreti logici, con esempi tratti dal campo dei processi produttivi. In particolare, si presenterà una tecnica di sintesi modulare, in cui il modello di un sistema complesso. composto da più sottosistemi interagenti fra loro, può essere costruito a partire dai modelli dei sottosistemi che lo compongono. In tale costruzione si userà un operatore detto composi<.ione con-corrente che, pur essendo definito inizialmente sui linguaggi, ha una naturale controparte sulla struttura di transizione degli automi.

Gli automi finiti danno una descrizione di un sistema logico assumendo che gli eventi vengano spontaneamente generati dal sistema. Per concludere il capitolo (para-grafo 2.8), si presenteranno invece due particolari modelli, detti macchina di Moore e

Page 29: Sistemi ad Eventi Discreti

20 Capirolo 2

macchina di Mealy, il cui principale interesse è dato dal fatto che essi consentono di dare una descrizione in termini di ingresso-stato-uscita di un sistema ad eventi discreto logico.

Gli ultimi tre paragrafi del capitolo possono essere saltati a una prima lettura, non essendo propedeutici ai capitoli successivi.

2.1 Linguaggi formali

In questo paragrafo vengono definiti i concetti di alfabeto, parola e linguaggio e i cor-rispondenti operatori su questi insiemi. Il libro di Lewis ( 1981) è un eccellente testo introduttivo allo studio dei linguaggi formali, mentre il libro di Hopcroft (1979) è un testo più avanzato.

2.1.1 Alfabeti e parole

Definizione 2.1. Un alfabeto E è un insieme finito e non vuoto di simboli'. Il numero di simboli che l'insieme contiene è detto ca.!!!.fnalità dell 'alfabeto e si indica IEI. • Ad esempio, gli insiemi E 1 = {0,1}, E2 = {a,b.c, ... x,y.z}, e E3 ={@,#,+}sono possibili alfabeti. Il primo, di cardinalità IE1I = 2, è costituito dai simboli O e 1: può essere usato per scrivere un qualunque numero binario. Il secondo, di cardinalità JE2J = 26, è costituito dalle lettere mfouscole dell 'alfabeto romano. Il terzo, di cardinalità JE3J = 3, è costituito da simboli non alfanumerici.

Definizione 2.2. Una parola (o stringa) w definita sull'alfabeto E è una sequenza di simboli appartenenti a E. Il numero di simboli che costituiscono la sequenza è detto lunghezza della parola e si denota JwJ, mentre con Jwle si denota la frequenza con cui il simbolo e E E si ripete in w. •

Si considerino ancora i tre alfabeti sopra descritti. La parola 1111 = 0011 O definita su E1

ha lunghezza lw1 I = 5, mentre vale lw1 lo = 3 e Jw1I1 = 2. La parola w2 = duerni la definita su E2 ha lunghezza lw2 I = 7. La parola w3 = @ definita su E3 ha lunghezza lw3I = l.

È talvolta utile poter indicare l'insieme di tutte le sequenze composte con i simboli di un alfabeto, ivi compresa la sequenza di lunghezza zero (che non contiene alcun simbolo).

Definizione 2.3. L'insieme di tutte le possibili parole de.finite sull'alfabeto E si denota E*. La parola vuota, cioè la sequenza di lunghezza zero, è definita su qualunque alfabeto e si denota E. Si può anche scrivere w E E* per indicare che w è una parola de.finita su E. •

U seguente esempio chiarisce come possa costruirsi l'insieme E* di tutte le parole sull'al-fabeto E.

1 Nello studio dei linguaggi formali si è soliti denotare un alfabeto con il simbolo E. In questo testo, tuttavia, i linguaggi formali vengono usati per descrivere il comportamento di sistemi dinamici. Un alfabeto di simboli corrisponde dunque all'insieme degli eventi che il sistema può generare e per consistenza verrà denotato il simbolo J::J.

Page 30: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 21

/

Esempio 2.4. Si consideri l'alfabeto E = { a.b,c }. Si enumerino tutte le parole che possono essere composte con i simboli di questo alfabeto, ivi compresa la parola vuota, ordinandole secondo la loro lunghezza. L'insieme di tutte queste parole costituisce E*.

• e: è la parola di lunghezza zero.

• a, b, e: sono le parole di lunghezza l. Si noti, dunque, che un simbolo è anche una parola.

• aa, ab, ac, ba, bb, be, ca, cb, cc: sono le parole di lunghezza 2.

• aaa, aab, aac, aba, abb, abc, aca, acb, ace, baa, bab, bac, bba, bbb, bbc, bea, bcb, bcc, (·aa, cab, rar, cba, cbb, cbc, era, ccb, ccc: sono le parole di lunghezza 3. .... •

È importante notare che mentre E è per definizione un insieme finito, 1' insieme E* è sempre infinito.

7 / 2.1.2 Operatori sulle parole

Il primo operatore sulle parole che verrà considerato è l'operatore binario di concatena-zione.

Definizione 2.5. La concatenazione di due parole w 1 E E* e w2 E E* è una nuova parola w = w 1 • w2 E E* costituita dalla sequenza dei simboli di w 1 seguita dalla sequenza dei simboli di w2. .&.

Ad esempio, concatenando la parola w 1 = a con la parola w2 = bba si ottiene la parola w = w i • w2 = abba.

In genere il simbolo di concatenazione. si omette, scrivendo w 1 w2 al posto di w 1.w2 .

La lunghezza di una parola ottenuta per concatenazione è pari alla somma delle lunghezze delle parole che la compongono, cioè Jw 1 w2 J = Jw 1 J + Jw2 J. Inoltre, la concatenazione può facilmente estendersi al caso di più parole, considerando la concatenazione delle prime due, poi la concatenazione della terza, e così via. Ad esempio, se w1 = due, w2 = mi e w3 = la sono tre parole, la loro concatenazione è w = w 1 w2w3 = duemila.

La proprietà fondamentale di cui gode l'operatore di concatenazione è quella di es-sere associativo, c ioè ( w1 w2 )w3 = w1 (w2w3 ) = w 1 w2 w3 . L'elemento neutro di questo operatore è la parola vuota e, cioè, per ogni w E E* vale Wé = cW = w. Viceversa l' ope-ratore di concatenazione è non commutativo, cioè in genere w1 w2 -/:- w2w 1 . Ad esempio, se w1 = ab e w2 = cd chiaramente abcd-/:- cdab.

Una notazione convenzionale usata per descrivere una parola consiste nel rappre-sentare la concatenazione di più simboli identici mediante l'elevamento a esponente. Ad esempio la parola aabbb può anche essere scritta come a 2 b3 , considerando l'operatore di concatenazione alla stregua del prodotto algebrico. Per un qualunque simbolo e E E, si denota convenzionalmente e0 = e ; infatti, se vale é e0 = é+0 = é necessariamente e0

deve essere l'elemento neutro per l'operatore di concatenazione. Infine, per le parole ottenute per concatenazione valgono le seguenti definizioni.

Page 31: Sistemi ad Eventi Discreti

22 Capitolo 2

Definizione 2.6. Se una parola w E E* può essere scritta come w = 1wz dove u,v.z E E*, la parola u è detta prefisso di w, la parola v è detta sottostringa di w e la parola z è detta suffisso di w. Se u è un prefisso di w si scrive u -< w. .&

Ad esempio, data la parola w = obrd: i suoi prefissi sono €, a, ab, abc e abcd; i suoi suffissi sono é, d, rd, brd e abcd; tutti i prefissi e i suffissi sono sottostringhe e inoltre sorio sottostringhe b, e e be:.

Il secondo operatore sulle parole che si considererà è l'operatore unario di proiezio-ne.

Definizione 2.7. La proiezione della parola w E E* sull'alfabeto E ç E è la parola che si ottiene da w eliminando i simboli che non appartengono a E e si denota w t E. .&

Ad esempio, siano E = { a,b.c} e E = { a.b}. Data la parola w = abcracba. la sua proiezione su E si ottiene eliminando il simbolo e e vale w i E = ababa.

( 2.1.3 Linguaggi

I linguaggi sono insiemi di parole.

Definizione 2.8. Un linguaggio L definito su un alfabeto E è un insieme di parole definite su questo alfabeto. La cardinalità di un linguaggio indica il numero di parole che esso contiene e si denota ILI. .&

I linguaggi possono essere rappresentati in vari modi, come indica il seguente esem-pio.

Esempio 2.9. Dato 1' alfabeto E = {a ,b}, si considerino i seguenti linguaggi.

L1 = {aab.aa,bbbn}. L2 = {a.b} =E. L5 = { w E E* I lwl = 5}. L6 = {w E E* I lwl > 3},

La = {e ,a}, L1 = 0,

L'1 ={e}, Lg =E*.

Il linguaggio Li contiene tre parole. cioè IL1 I = 3. Il linguaggio L 2 contiene due parole di lunghezza uno e coincide con l'alfabeto. Il linguaggio L 3 contiene due parole fra cui la parola vuota. Il linguaggio L4 contiene la sola parola vuota. Il linguaggio Ls contiene tutte le parole di lunghezza cinque. 11 linguaggio L 6 contiene tutte le parole di lunghezza maggiore di 3. Il linguaggio L 7 è l'insieme vuoto e non contiene alcuna parola. Il linguaggio L8 contiene tutte le parole definite su E. •

È importante osservare che un linguaggio può essere vuoto e cioè avere cardinalità nu11a (come il linguaggio L 7 definito nell'esempio) o può avere cardinalità finita (come i linguaggi L 1 , L2, L3, Li e L5 dell'esempio) o anche avere cardinalità infinita (i lin-guaggi L 6 e L8 dell'esempio). Ancora, si osservi che un linguaggio può essere descritto enumerando esplicitamente tutte le parole (i primi quattro linguaggi dell'esempio) o usan-do una notazione insiemistica (gli ultimi quattro linguaggi dell'esempio). Si noti, infine, che un alfabeto può anch'esso essere visto come un particolare linguaggio composto da sole parole di lunghezza 1 (è il caso del linguaggio L 2 dell'esempio).

Poiché i linguaggi sono insiemi di parole, è possibile confrontare due linguaggi tra-mite le relazioni di inclusione ç e di stretta inclusione e definite in Appendice A. Ad esempio, il linguaggio L 1 = {a} è strettamente incluso nel linguaggio L2 = { a,aa}. Nessuno di questi due linguaggi è incluso nel linguaggio L'J = { <wa}. Se L è un linguaggio sull'alfabeto E vale certamente la relazione 0 ç L ç E*.

Page 32: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 23

2.1.4 Operatori sui linguaggi

Gli operatori binari di unione ed intersezione tra insiemi possono essere applicati ai linguaggi.

Definizione 2.10. Siano Li ç; Er e L2 ç; E; due linguaggi, e siano E = E 1 n E2 e E= E 1 U E2 l'intersezione e l'unione dei rispettivi alfabeti. Si definisce:

• unione di Li e L2 il linguaggio2 L1 U L2 = { w E E* I w E L1 V 'Il' E L1};

• intersezione di L1 e L 2 il linguaggio L1 n L 2 = { w E e· I 'W E Li ,w E L2}. À

Adesempio,seL1 = {E.a}eL2 = {a,b.ab},vale L1nL2 = {a}eL1 UL2 = {c,a,b,ab}. Entrambi gli operatori sono associativi e commutativi. L'elemento neutro dell'ope-

ratore intersezione è il linguaggio E*, cioè, per ogni L ç E* vale L n E* = E "' n L = L. L'elemento neutro dell'operatore unione è il linguaggio vuoto 0, cioè, per ogni L ç; E* vale LU 0 = 0 U L = L.

Anche l'operatore di concatenazione, definito sulle parole, può essere ridefinito co-me operatore fra linguaggi.

Definizione 2.11. Siano L1 ,L2 ç E"' due linguaggi. Si definisce concatenazione di L1 e L2 il linguaggio LiL2 = { w = W1 W2 E E * I w1 E L1 .w2 E L2}, le cui parole sono la concatenazione di una parola di L, con una parola di L2 • A

Ad esempio, se Li = {E.a} e L2 = {a.b,ab}, vale L 1L2 = {€. a} U {e . b} U {c . ab} U {a . a} U {a . b} U {a . ab} = {a.b,aa ,ab,aab}. La parola ab, ad esempio, può ottenersi concatenando E e ab oppure a e b.

L'operatore di concatenazione sui linguaggi è associativo e non commutativo. Il suo elemento neutro è il linguaggio che contiene la sola parola vuota {E}, cioè, per ogni L ç E ""' vale L {E} = {E} L = L. Considerando la concatenazione alla stregua del prodotto algebrico, si è soliti convenzionalmente indicare con L 0 il linguaggio {e}, con L1 il linguaggio L, con L 2 il linguaggio LL, ccc. Infine si osservi che l'operatore di concatenazione gode della proprietà distrihutiva rispetto all'unione, cioè (L 1 U L 2 )L3 = L1 L3 U L2L3 e anche L1 (L2 U L3) = LiL2 U L1L3.

Un operatore unario che può applicarsi a un linguaggio è LaE_ella di Kleene.

Definizione 2.12. Sia L ç E * un linguaggio. L..'!!!!_lla di Kleen (o chiusura di Kleene) di L è il linauao·uio - -o 00

L * = {E} U LU LL U LLL U · · · = LJ L", k- 0

che è l'insieme delle parole che si ottengono concatenando le parole di L un numero qualtmque di volte. A

Ad esempio, se L = {E ,a,aa} è un linguaggio su E = {a}, allora L * = {e } U {e ,a ,aa} U {c,a,aa.aaa,aaaa} U · · · = {an I n O} = E *. Se L = {bb} è un linguaggio su E= {h}, allora L* = {e} U {bb} U {bbbb} U · · · = {(bb)n In> O} e E "' . Si osservi ancora che l'operatore stella di Kleen applicato a un alfabeto (visto come un linguaggio)

2 TI simbolo V indica l'OR logico.

Page 33: Sistemi ad Eventi Discreti

24 Capitolo 2

genera l' insieme di tutte le possibili parole su ta le alfabeto e questo giustifica la notazione E* usata per indicare tale insieme.

Altri operatori unari sui linguaggi sono gli operatori di chiusura prefissa e di com-plementazione.

Definizione 2.13. Sia L ç E* un linguaggio. La chiusura prefissa di L è il linguaggio L = { u E E" I esiste w E L : u w} composto dai prefi ssi di parole in L. In genere L ç L. Un linguaggio L è detto chiuso per prefisso se vale L - L. A

Ad esempio, se D1 = {c,a/ia} vale L 1 = L 1 e dunque L 1 è chiuso per prefisso. Se L2 = {a.b.ab}, vale Li= {.::,a,b.ab} :J L2 e dunque L2 non è chiuso per prefisso.

Definizione 2.14. Sia L ç E* un linguaggio. Il complemento di L (rispetto a E") è il linguaggio CL = { w E E"' I u· f/. L} composto da tutte le parole che non appartengono a D. Vale anche CL = E• \ L. •

Ad esempio, se L 1 = {E.a.aa} è un linguaggio su E= {a} , vale CL1 = {a 11 I n 3}. L' ultimo operatore che si considera, detto composizione concorrente, riveste, come

si vedrà, particolare importanza per definire il comportamento di un sistema composto da più sottosistemi.

Definizione 2.15. Siano L 1 ç Ej e L 2 ç R2 due Linguaggi. Sia E = E 1 U E2 . La composidone concorrente di Li e L2 è il linguaggio L1 Il L2 = { w E E• I w t E1 E L 1 .w t E2 E L2 }, composto dalle parole su E la cui proiezione su E 1 è una parola di L1 e la cui proiezione su E2 è una parola di L 2 • A

Ad esempio, siano E 1 = {a.b}, E2 ={b.<·}, L 1 = {abn In e L2 = {rbt·nb O}. La composizione concorrente di Li e L2 è L = { acbr11 b I n > O} U { cabcnb I n O}. Si noti che la proiezione di L su E 1 è il linguaggio { abb} e L 1 , mentre la proiezione di L su E 2 è il linguaggio {<·ben b I n O} = L2 . È importante osservare che se gli alfabeti dei linguaggi composti sono identici, la composizione concorrente equi vale ali ' intersezione. Infatti se E 1 = E2 = E per ogni w E E .. vale w t E1 = w i E2 = ll' e dunque

Li Il Li = { w E E* j w t E1 E L1 .w i E2 E L:d . = { w E E* j w E L1 .w E L2} =Li n L2.

L'operatore di composizione concorrente è associativo e commutativo, e il suo elemento neutro è iJ linguaggio E".

Si noti, infine, che tutti gli operatori binari definiti in questo paragrafo, essendo as-sociativi, possono senza ambiguità essere applicati a più di due linguaggi. Ad esem-pio, componendo L 1 con L 2 e componendo il linguaggio risultante con L3 si ottiene un linguaggio che si denota L = L1 Il L2 Il La.

2.2 Automi finiti deterministici (AFD)

Nel paragrafo precedente si sono rappresentati diversi linguaggi foimali elencando espli-citamente le parole che a essi appartengono o descrivendole tramite la notazione insiemi-stica. Tuttavia, è molto più interessante definire un linguaggio attraverso un generatore,

Page 34: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 25

cioè una struttura a cui tale linguaggio può essere associato univocamente. Un tale ge-neratore è appunto ciò che si definisce modello ad eventi discreti. In questo paragrafo si introduce un particolare modello ad eventi discreti, detto automa finito deterministico. Gli automi sono basati sulle due primitive di sraro e rransizione. Essi consenrono dunque di descrivere in modo naturale il comportamento di un sistema dinamico che evolve di stato in stato al verificarsi di eventi discreti. Per approfondire questa parte si rimanda a Lewis (1981) e Cassandras e Lafortune (1999).

2.2.1 Definizione di automa finito deterministico

Definizione 2.16. Un automa finito deterministico (AFD) è una 5-upla che si denota G = (X,E,c5,xo,X111 ) dove:

• .Y è un insieme finito di stati;

• E è un insieme finito di eventi (cioè un alfabeto di simboli);

• fJ : X x E X è la funzione di transizione3; fJ ( x ,e) indica lo stato raggiunto

dall'automa quando si verifica l'evento e a partire dallo stato :e:;

• x 0 E X è lo stato iniziale;

• Xm ç .Y è l'insieme di stati.finali (o stati marcati).

Un automa può essere descritto da un grafo in cui ogni stato è rappresentato con un nodo, lo stato iniziale da un nodo con una freccia, e uno stato finale da un nodo cerchiato. Se i: = c5 (.t ,e) vi sarà un arco orientato dal nodo x al nodo x etichettato con il simbolo e per rappresentare la transizione da x a x; tale arco viene anche indicato con il termine e-transizione.

Esempio 2.17. La Figura 2.1 rappresenta un automa con X = {x0 ,x1 ,x2 }, alfabeto E = {a ,b.c,d}, stato iniziale :c0 e insieme di stati finali X 111 = { x0 }. La funzione di transizione è data dalla seguente tabella

I <5 Il a I b I e I d I Xo :r: 1

X1 Xz Xo X2 X2 Xo

Ad esempio, il simbolo x1 all'intersezione fra la riga :c0 e la colonna a indica che vale <5(xo .a) =Xi. Una casella vuota, come quella all'intersezione fra la riga x0 e la colonna b, indica che la corrispondente transizione non è definita. La e-transizione che parte dal nodo .r2 e arriva allo stesso nodo è detta un cappio. +

L'automa in Figura 2.1, ad esempio, può descrivere in modo semplificato il com-portamento di una macchina spenta (stato x0 ) che su comando di un operatore (evento a) viene accesa (stato x 1). Una volta accesa viene attrezzata (evento b) raggiungendo lo

3Qui si ammette che una funzione possa non essere totale (vedi Appendice A), cioè che possano esistere coppie (.e .e) E X x E per cui la funzione non è definita.

Page 35: Sistemi ad Eventi Discreti

26 Capitolo 2

d

e

d

Figura 2.1 Un automa finito deterministico.

stato di avviamento (stato x2 ) potendo iniziare una lavorazione su un pezzo (evento f'). Una volta avviata, la macchina può continuare a lavorare un pezzo dopo l'altro un nu-mero indefinito di volte (l'evento e infatti può sempre verificarsi una volta raggiunto lo stato .r2 ). Da un qualunque stato di funzionamento l'operatore può spegnere la macchina (evento d). Si considera come finale lo stato x 0 , per indicare che si desidera riportare la macchina nello stato in cui è spenta al termine di un ciclo di lavorazione.

Occorre notare che poiché in un AFD o è una funzione parziale, per ogni :i: E X e per ogni e E E il valore della transizione o (.r .<) può non essere definito oppure essere univocamente definito. Se non fosse definito, non vi sarà una r-transizione uscente dal nodo .r. Se fosse definito, vi sarà una e-transizione uscente dal nodo .r. Non è possibile, però, che daJlo stesso nodo escano due o più archi etichettati con lo stesso simbolo.

Ancora si osservi che, poiché a ogni transizione corrisponde un evento, le etichette delle transizioni uscenti da un dato stato .r indicano quali eventi possono verificarsi in tale stato. È possibile dunque dare la seguente definizione.

Definizione 2.18. Dato un AFD G = (X.E,<5,J:0 ,X111 ), definiamo l'insieme degli eventi abilitati (o attivi) nello stato x E X come

A(.z:) ={e E E I ò(;i:,c) è definito}.

Per indicare che e E A ( .r) può anche usarsi la notazione 8 ( .r .r) ! che indica appunto che la font.ione o è definita per la coppia (x,e). À

Il comportamento di un automa è dato dalle possibili evoluzioni, cioè sequenze di transizioni, che esso può generare. Ad ogni sequenza di transizioni corrisponde una produzione.

Definizione 2.19. Dato un AFD G = (X.E.8 .. r 0 .X111 ), si definisce produ:,ione una sequenza

dove per ogni i = O, ... ,k vale XJ; E X e inoltre da ogni stato ;·1,_ 1 il verificarsi dell'e-vento<; polla allo stato Xj,. cioè per ogni i = 1, ... ,k vale .rJ, = 8(:rJ;-i .ci). Si dice anche che tale produzione genera la parola w = e 1 e 2 · · · <- k partendo dallo stato .r 10 e raggiungendo lo stato .r1". &

Si osservi che a una produzione corrisponde un cammino orientato nel grafo che parte dal. nodo .r Jn e arriva al nodo :i:1"; le etichette delle transizioni che appartengono a tale cammino formano la parola w. Ad esempio, una possibile produzione dell'automa in Figura 2. J è la seguente

Page 36: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 27

Questa produzione raggiunge lo stato :r2 a partire dallo stato x0 e descrive una evoluzione in cui ]a macchina viene accesa, attrezzata e lavora due parti. Tale produzione genera la parola w = abcc.

Si noti che una produzione può essere definita a pattire da uno stato qualunque e non necessariamente dallo stato iniziale, come ad esempio

e e d a :r 2 ----t ,1: 2 ----t .r 2 ----t .r o .r 1

Poiché 8 è una funzione, è facile capire che non possono esistere due produzioni diverse che partono dallo stesso stato e generano la stessa parola.

Per descrivere in maniera più compatta una produzione, si consideri anche la seguen-te definizione.

Definizione 2.20. Dato un AFD G = (X,E.8,J:o,Xm). Ia chiusura transitiva e riflessiva di 8 è la funzione ò" : X x E"" -t X tale che 8*(i·,w) = J: se esiste una produzione

e1 e2 ek _ ;r ----=-+ xii ----=-+ · · · :rJ"' _ 1 .T

che a partire da x genera w = ete2 raggiungendo x. Per indicare che esiste una produzione che genera w a partire da x si usa anche la notazione 8"'(.:r. w) ! con cui si intende che lo stato i = <>* (:r iw) è definito senza specificarlo. Per convenzione, si pone 8*(x ,E) = x qualunque sia x, cioè partendo da uno stato e generando la parola vuota si resta nello stesso stato. à

Ad esempio, per indicare che nell'automa in Figura 2.1 lo scatto della sequenza abcc a partire da xo porta a .c2 si scrive 8* (:ro .abcc) = .t2.

2.2.2 Linguaggi di un automa finito deterministico

Poiché a ogni evoluzione di un automa è associata una parola formata da simboli dell'alfa-beto degli eventi E, all'insieme delle possibili evoluzioni che partono dallo stato iniziale è possibile associare un linguaggio L ç E *.

Definizione 2.21. Dato un AFD G = (X.E,8.:r:0 .Xm). si dice che una parola w E E* è

• generata da G se 8*(:1:0 ,w)!, cioè se esiste una produzione che genera w a partire dallo stato iniziale;

• accettata (o marcata) da G se 8"'(xo.w) = x E Xm, cioè se esiste una produzione che genera w a partire dallo stato iniziale e raggiungendo uno stato finale. A

Ad esempio, la parola abcc è generata dall 'automa in Figura 2.1 perché 8* ( x0 ,abcc) = x2 ;

tuttavia non è accettata perché lo stato .x2 non è finale. Viceversa la parola ad è accettata (e dunque anche generata) perché 8'"(x0 ,ad) = .i;0 e x0 è finale. Infine la pai·ola ar non è generata (e dunque nemmeno accettata) perche e)• (x0 .rie) non è definita: dopo che viene generata la prima a si raggiunge lo stato :r1 a partire dal quale l'evento e non è abilitato.

Nella precedente definizione w può anche essere la parola vuota é . Tale parola vuota può essere sempre generata e viene accettata solo se 8'" ( xo .e) = x0 E X m, cioè se lo stato iniziale è anche finale.

Osservando la rappresentazione grafica di un AFD G, si può dire che w è generata da G se esiste un cammino orientato nel grafo che parte dal nodo iniziale e le etichette

Page 37: Sistemi ad Eventi Discreti

28 Capitolo 2

degli archi di tale cammino formano w. Se il nodo ternùnale di tale cammino è uno stato finale, w è anche accettata.

Definizione 2.22. Dato un AFD G = (X.E.8 .. r 0 .Xm) è possibile associare a esso due linguaggi.

• Il linguaggio generato

cioè il linguaggio che costituisce l'insieme di tutte parole generate.

• Il linguaggio accettato (o marcato)

L m(G) = {w E E• I 8" (.ro.w) E Xm} ç L(G).

cioè il linguaggio che costituisce l'insieme di tutte parole accettate.

Il linguaggio generato descrive l'insieme di tutte le possibili evoluzioni del sistema. Il lin-guaggio accettato descrive il sottoinsieme deUe possibili evoluzioni del sistema che corri-spondono al completamento di certe operazioni. Ad esempio, per l'automa in Figura 2.1 che rappresenta una macchina che può trovarsi spenta, accesa o avviata, si considerano come finali tutte le evoluzioni che riportano la macchina nello stato spento.

È importante osservare che il linguaggio generato da un AFD è necessariamente chiuso per prefisso, cioè vale L ( G) = L ( G): questo perché se una parola può essere generata allora devono poter essere generati tutti i suoi prefissi.

Viceversa, il linguaggio accettato da un AFD non è necessariamente chiuso per pre-fisso, perché non sempre tutti i prefissi di una parola accettata sono accettati. Ad esempio, nell'automa in Figura 2.1 la parola ad è accettata ma il suo prefisso a non lo è. In ge-nerale dunque vale Lm ( G) ç L 111 ( G); come caso particolare in questa relazione vale l'eguaglianza se e solo se tutti gli stati sono finali.

Inoltre se una parola può essere accettata, allora tale parola e tutti i suoi prefissi possono anche a fortiori essere generati: vale dunque Lm ( G) ç L( G).

Può definirsi, infine, la classe dci linguaggi accettati da questo modello.

Definizione 2.23. Si denota LArn = {I, I esiste un AFD G : L = L 111 (G) } la dei linguaggi AFD, cioè l'insieme dei linguaggi che sono accettati da un AFD. A

Ci si potrebbe chiedere perché nella precedente definizione si sia presa in conside-razione solo la classe dei linguaggi accettati da AFD, e non quella dci linguaggi generati da AFD. che potremmo denotare C'.4nr· È faci le provare, tuttavia, che questa seconda classe è strettamente inclusa nella prima e cioè vale L'.tvF e [, \OF· Dunque la classe dei linguaggi accettati è più ampia di quella dei linguaggi generati e per questo motivo ci si limita a considerare solo la prima classe.

Per dimostrare la relazione [,'\ 0 F e [,.\Dr. si osservi per prima cosa che se un linguaggio appartiene alla classe allora esso appartiene anche alla classe L .. \DP·

Infatti, se un linguaggio è generato da un AFD G, esiste anche un AFD G' che lo accelta: G' si ottiene da G rendendo tutti gli stati finali. Inoltre, per dimostrare che l'inclusione è stretta, basta osservare che esistono linguaggi che appartengono alla classe [, , n F ma non alla classe C\nr· Infatti, un qualunque linguaggio accettato da un AFD Gin cui non tutti gli stati sono finali non è chiuso per prefisso: dunque tale linguaggio non può appartenere a L'.,1 0 essendo tutti i linguaggi generati da AFD chiusi per prefisso.

Page 38: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 29

2.3 Automi finiti non deterministici (AFN)

In questo paragrafo si introduce un secondo modello ad eventi discreti, detto automa finito non deterministico, che può essere visto come una generalizzazione dell 'AFD. Per ulteriori approfondimenti, si rimanda a Lewis (1981) e Cassandras e Lafortune (1999).

2.3.1 Definizione di automa finito non deterministico

Definizione 2.24. Un automa finito non deterministico (AFN) è una 5-upla che si denota G = (X ,E,L\ ,:i:o,Xm), dove:

• X è un insieme finito di stati;

• E è un insieme finito cli eventi (cioè un alfabeto di simboli);

• .d ç X xEe xX èlarelazioneditransizione,doveEe = E U{e}. Se (:r ,e,.c) E .d, allora a partire dallo stato :e ed eseguendo una e-transizione (qui e può essere un simbolo dell'alfabeto oppure la parola vuota) si può raggiungere lo stato x;

• x 0 E X è lo stato iniziale:

• X m ç X è l'insieme di stati finali (o stati marcati).

Anche cli un AFN può essere data una rappresentazione grafica del tutto analoga a quella di un AFD.

Esempio 2.25. La Figura 2.2 rappresenta un AFN con X = {.i:0 ,x 1 .:r2 ,:r3 ,:r 4 }, alfabe-to E = { a,b}, stato iniziale x0 e insieme di stati finali Xm = { x,t}. La relazione di transizione è data da:

L\ = { (:ro ,E: .xi ) ,(xo,a,xo) .(xo ,b,xs) ,(xi ,b,xo) ,(xi ,b,x2), (x2 ,a,x2), ( .&2 ,b,x4), ( X3 ,a,x2 ), (xs ,a,x,,_) . (x4,a,;z; 1) } .

• Cl

a

Figura 2.2 Un automa finito non deterministico.

Gli AFN possono essere visti come una generalizzazione degli AFD. Infatti, la relazione .1 è una generalizzazione della funzione fJ e consente di avere:

Page 39: Sistemi ad Eventi Discreti

30 Capitolo 2

1. transizioni etichettate con la parola vuota€ (dette anche €-transizioni). Tali transizio-ni possono essere viste come corrispondenti a eventi "silenziosi" che fam10 passare da uno stato all'altro senza che essi possano essere osservati;

2. più transizioni uscenti dallo stesso stato e aventi la stessa etichetta. Tali transizioni possono essere viste come corrispondenti a eventi "parzialmente osservabili": cioè si osserva il verificarsi di un evento ma non si è in grado di determinare esattamente quale, fra due o più eventi abilitati, si è verificato.

Nota 2.26. È possibile dare di un AFN una definizione più estesa di quella data in Defi-nizione 2. 24, definendo la relazione di transizione come _j ç X x E* x .Y, cioè ponendo E"' al posto di Questo significa che una transizione (.r:w.:c) E ....1 può anche essere etichettata con una parola w = e 1 e2 • • • e1,. (qui e, E E) di lunghezza k > 1. Tuttavia, come indicato in Figura 2.3, è possibile sostituire ogni transizione della forma (:r,w)'.) dove w = e 1 e2 ··· e,,. (k > 1) con la serie di k transizioni (x.e1 ,.tj1 ), (;tj1 .e2 .:rh) .... , (J'Jk 1 ,e1,. ,;f'), in cui tutti i nuovi stati introdotti sono non finali. Tale costruzione permette di ricondursi al caso di un AFN in cui ogni transizione ha per etichetta un simbolo oppure Ja parola vuota. Dunque qui si considereranno in tutta generalità solo AFN che soddisfano la Definizione 2.24. •

.. X X

X Xjrl) X

Figura 2.3 Sostituzione di una transizione etichettata con una parola con una serie di transizioni.

Anche per gli AFN è possibile definire una produzione.

Definizione 2.27. Dato un AFN G = (X.E . .J,x0 .Xm), si definisce produzione una sequenza

dove per ogni i = O .... . k vale :i.·j, E X e inoltre da ogni stato .i: j,_ 1 eseguendo la transizione di etichetta (si noti che potrebbe essere un evento in E o anche la parola vuota e) si raggiunge lo stato J .. 'j,, cioè E Eé e (xj,_ 1 E .J per ogni i. Si dice anche che tale produzione genera la parola w = · · · Pk partendo dallo stato J';o e raggiungendo lo stato x ji.. • •

Ad esempio. una possibile produzione dell'automa in Figura 2.2 è la seguente

a ! b a n xo :r o ----* .r 1 ---+ :r o ---+ :t o ---+ :r o

Questa produzione raggiunge lo stato .r0 a partire dallo stato :r0 e genera la parola w = abaa. Inoltre, in questo caso la lunghezza della parola generata è inferiore a quella della produzione: infatti lwl = 11. mentre la produzione contiene 5 transizioni.

Page 40: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 31

Si osservi che poiché .J è una relazione (e non una funzione), possono esistere due produzioni diverse che partono dallo stesso stato e generano la stessa parola. Ad esempio, anche

n b u a .to --t xo --t --t :r 1 ---t .r 1

è una produzione che parte dallo stato .r0 e genera ancora la parola w = alma, raggiun-gendo però lo stato .r 1•

È proprio questa caratteristica, cioè il fatto che a una parola di eventi generata a panire da uno stato dato non corrisponde univocamente una produzione, che fa defini-re tali automi non deterministici. Si noti, ancora, che tale nozione di non determinismo sembra diversa dalla nozione generalmente usata nella teoria dei sistemi secondo la quale un sistema è non deterministico se, a partire da certe condizioni ini1iali e dati certi in-gressi, non esiste un'unica possibile evoluzione. Tuttavia le due no7ioni coinciderebbero se si considerasse la parola di eventi come l'ingresso del sistema e la produ.l.ione come l'evoluzione.

Per descrivere in maniera più compatta una produzione, è anche utile la seguente definizione.

Definizione 2.28. Dato un AFN G = (X. E . .J,.i:0 .X111 ), la chiusura transitiva e riflessiva di .J è la relazione .J * ç X x E* x X tale che ( .r, 111 •• r) E .J * se esiste una produzione

I I I C1 1'2 fk -

.r ---t :l'Ji · · · .i:j,._, .r

che a partire da .1· genera 11 1 = e'1 raggiungendo .r.

2.3.2 Linguaggi di un automa finito non deterministico

La nozione di parola accettata da un AFN va considerata con particolare attenzione, per-ché - a causa del non determinismo - alla stessa parola possono essere associate diverse produzioni.

Definizione 2.29. Dato un AFN G = ( \ .E ...... Lr0 • .\,,, ) si dice cbe una parola w E E· è

• generata da G se esiste .r E X tale che (.r0 .w .. r ) E .J•, cioè se esiste una produzione che genera "' a partire dallo stato iniziale;

• accettata (o marcata) da G se esiste .r E .\"111 tale che (.r0 .u• .. r) E .J ·,cioè se esiste una produzione che genera u· a partire dallo stato iniziale raggiungendo uno stato finale. à

Si noti che a causa del non determinismo po%ono esistere più stati raggiunti generando 11· a partire dallo stato iniziale. La parola "' è accettata se almeno uno fra questi è finale.

Ad esempio. nel caso dell'automa in Figura 2.2 si è già visto che la parola 1c - a ba o

può essere generata (fra le altre) dalle due produzioni

n t b n u .ro - > :ro ---t .r 1 ---t :1:0 .ro ---t .ro

u b u n .ro ---t .to ---t .1·3 ---t .r ---t .r 1

La prima non porta a uno stato finale. Tutcavia, poiché la seconda porta allo stato .r 1 che è finale, si può concludere che la parola abaa è accettata.

Page 41: Sistemi ad Eventi Discreti

32 Capitolo 2

Definizione 2.30. Dato un AFN G = (X,E, .J,:i:o .Xm) è possibile associare a esso due linguaggi.

• Il linguaggio generato

L(G) = {w E E• I esiste .r E X: (.ro .w . .r) E .J.} ç E-.

cioè il linguaggio che costituisce l'insieme di tutte parole generate.

• Il linguaggio accettato (o marcato)

Lm(G) = {w E E* I esiste .r E Xm: (xo:w.x) € .J*} ç L(G).

cioè il linguaggio che costituisce l' insieme di tutte parole accettate.

Anche per gli AFN, come già si è visto nel caso degli AFD. valgono le seguenti inclusioni:

Lm(G) ç Lm(G) ç L(G) = L(G) . Si può definire, infine, la classe dei linguaggi accettati da AFN.

Definizione 2.31. Si denota LAFN - {LI esiste un AFN G : L = Lm(G)} la classe dei linguaggi AFN, cioè l'insieme dei linguaggi che sono accettati da un AFN. à

2.4 Proprietà degli automi

In questo paragrafo si definiranno le principali proprietà di un automa. a cui corrispondono proprietà di interesse del sistema da esso modellato. Poiché un automa è rappresentabile mediante un grafo, tal i proprietà corrispondono sostanzialmente alle proprietà dei grafi definite nell'Appendice B. Tuttavia in questo paragrafo esse vengono ridefinite in termini di funzione di transizione e di linguaggi. Questa riformulazione è utile perché permette di astrarre dal particolare modello usato consentendo di definire tali proprietà in termini più generali. Questi concetti sono anche discussi in (Cassandras e Lafortune, 1999).

2.4.1 Raggiungibilità e blocco

Definizione 2.32. Sia G = (X.E.8.J·0 .X,,1 ) un AFD. Uno stato :r E X è detto:

• raggiungibile dallo stato i E X se esiste una parola u• E E· per cui 6"'(.r.w) = .r. Se J = .r0 , lo stato x è più brevemente detto raggiungibile;

• co-raggiungibileversolostato.f: E X seesisteunaparolaw E E• percuiò*(x,w) = x. Se lo stato J" è ca-raggiungibile verso uno stato x E Xm, .r è più brevemente detto Co-raggiungibile;

• bloccante se è raggiungibile ma non co-raggiungibile;

• morto se, qualunque sia e e E, la transizione 8(x.e) non è definita.

Page 42: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 33

Si noti che morto e bloccante sono proprietà diverse. Uno stato m01to può essere non bloccante purché sia finale), mentre uno stato bloccante può non essere morto: è il caso dello stato x2 nell 'automa in Figura 2.4(a).

Dall'esame del grafo di un automa si può concludere (con la notazione deli' Appen-dice B) che uno stato x è: raggiungibile dallo stato x se esiste un camffiÌiO orientato che parte da x e arriva a x; co-raggiungibile verso lo stato x se esiste un cammino orientato che parte da x e arriva a x; morto se non esistono archi che escono dal nodo.

Per l'automa valgono invece le seguenti proprietà.

Definizione 2.33. Un AFD G è detto

• raggiungibile se tutti i suoi stati sono raggiungibili;

• co-raggiungjbile se tutti i suoi stati sono co-raggiungibili;

• non bloccante se tutti i suoi stati sono non bloccanti;

• rifinito se è raggiungibile e co-raggiungibile;

• reversibile se ogni stato raggiungibile dallo stato iniziale è anche co-raggiungibile verso lo stato iniziale. A

Dall'esame del grafo cli un automa si può concludere (con la notazione dell'Appendice B) che esso è bloccante se esiste una componente ergodica raggiungibile non contenente stati marcati (una volta raggiunta tale componente non è più possibile raggiungere stati finali), e reversibile se lo stato iniziale appartiene a una componente ergodica.

Esempio 2.34. Nell'automa in Figura 2.4(a) tutti gli stati sono raggiungibili, gli stati x2 e :t3 non sono co-raggiungibili, lo stato x3 è anche morto; dunque tale automa è raggiungibile, non co-raggiungibile e bloccante. Nell'automa in Figura 2.4(b) tutti gli stati sono co-raggiungibili ma lo stato x2 non è raggiungibile: dunque tale automa è non raggiungibile, Co-raggiungibile e non bloccante. Nell'automa in Figura 2.4(c). tutti gli stati sono raggiungibili e co-raggiungibili: dunque tale automa è rifinito. Nessuno dei tre automi in figura è reversibile. t

Un esempio di AFD reversibile è l 'automa in Figura 2.1.

X1

xo ("\a X1 Q

a Xo b

X:? X.l

(a) (b) (e)

Figura 2.4 (a) Un automa raggiungibile e bloccante; (b) un automa non raggiungibile e non bloccante; (e) un automa rifinito.

Page 43: Sistemi ad Eventi Discreti

34 Capitolo 2

La raggiungibilità pennette dunque di studiare quali sono i possibili stati in cui un sistema può trovarsi a partire da un dato stato. Il blocco indica uno stato anomalo, a partire dal quale il sistema non ha la possibilità di evolvere verso uno stato terminale. Lo stato morto indica una condizione in cui nessun evento può più verificarsi. La reversibilitù pennette di verificare che il sistema possa essere reinizializaito. Si osservi, inoltre, che le precedenti definizioni possono anche applicarsi a un AFN, ridefinendole dove necessario in termini della funzione .J •.

Nella Definizione 2.22 si è osservato che per un AFD G in genere vale Lm ( G) C L(G). Si osservi che vale anche la seguente proprietà.

Proposizione 2.35. Un AFD G è non bloccante se e solo se L 111 (G) = L(G).

Dimostrazione. (se) Se vale Lm(G) = L(G), ogni parola generata 11 E L(G) è anche un prefisso di un parola w E Lm ( G), cioè per ogni u generata esiste una parola l' tale che 11v = u· è accettata. Dunque per ogni stato raggiungibile J' = <5'(.i:0 .u), esiste un l'

tale che 8"'(.i:,v) è uno stato finale, e questo indica che ogni stato raggiungibile.tè anche co-raggiungibile.

---(solo se) Se vale L 111 ( G) e L( G) allora esiste una parola generata u E L( G) che non è un prefisso di un parola w E Lm (G). Dunque se .r = 8(x0 ;u) è lo stato raggiunto generando u, non esiste una parola o tale che 8*(.i:.u) è uno stato finale, cioè J' è raggiungibile ma non co-raggiungibilc, e dunque è bloccante. O

Ad esempio, l' AFD in Figura 2.4(a) è bloccante perché vale L m ( G) = {bo 11 I n O} eLm(G) =C { -.a.aa}U{ba 11 In> O}= L(G). Viceversa,gliAFD inFigura2.4(b) e Figura 2.4(c) sono non bloccanti perché per entrambi vale f_, 111 ( G) - {ba 11 I n > O} e Lm(G) ={e} U {ba 11 O}= L(G).

La precedente proposizione non è più vera per un AFN, perché, potendo una stessa parola essere generata da più produzioni, un automa non deterministico potrebbe esse-re bloccante anche se Lm(G) = L(G). Si consideri, ad esempio, il caso dell'AFN in Figura 2.5, in cui lo stato è bloccante e per cui vale Lm ( G) = {ba" I n > O} e Lm(G) = {.:.-} lJ {ba" In L(G). Per gli AFN vale solo la seguente proprietà, la cui dimostrazione viene omessa perché sostanzialmente identica a quella data per il caso degli AFD.

Figura 2.5 Un AFN bloccante G per cui vale L,,, ((.;) = L(G).

Proposizione 2.36. Un AFN G è bloccante se Lm(G) e L(G). •

Page 44: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 35

Dato un automa G in cui vi sono stati non raggiungibili o non co-raggiungibili, è sempre possibile rifinirlo eliminando tali stati e le transizioni che partono da e arrivano a CSSl.

Definizione 2.37. Dato un automa G = (X.E.8' .J·0 . .\111 ) non raggiungibile o non co-raggiungibile. la componente rifinita di G è r AFN rif( G) = (.\' .E.c5' .1·0 .x:n) . con X' = { J' E X I .r è raggiungibile e Co-raggiungibile }, x:n = Xm n X'' e c5' (.r.e) c5(.r.c) se J·.c5(.r.f) E .\'. Tale automa accetta L 111 (G') = Lm(G), e genera L(G') L111 (G') = Lrn (G) .

Ad esempio, rifinendo l' AFD in Figura 2.4(a) oppure quello in Figura 2.4(b) si ottiene I' AFD in Figura 2.4(c).

Si osservi che la rifinitura di un automa non bloccante non modifica il linguaggio generato. ma si limita a eliminare gli stati non raggiungibili. Viceversa, la rifinitura di un automa bloccante necessariamente modifica il linguaggio generato.

2.4.2 Automi come riconoscitori di sequenze

La teoria dei linguaggi formali in genere associa a un AFD un solo tipo di linguaggio, quello accettato. Questo perché la teoria dei linguaggi formali non vede un automa come un sistema dinamico che genera spontaneamente eventi ma piuttosto come un riconosci-tore di sequenz.e. In questa visione un AFD è un meccanismo guidato da simboli letti da un nastro di ingresso: l'automa a seconda dello stato in cui si trova e del simbolo letto esegue la corrispondente transizione e, terminata la lettura, accetta la parola se si trova in uno stato finale.

Se si pensa a un automa come un dispositivo guidato dai simboli letti in ingresso, può essere importante che da ogni stato raggiunto sia possibile leggere un qualunque simbolo. Ciò porta al concetto di automa completo.

Definizione 2.38. Un AFD G = (X.E.o .. r0 . \m) è detto completo se la funzione di rransizione 6(.r.e) è deftnica per ogni stato.re X e ogni simbolo e E E. Se G è c.:ompleto alJora L(G) = E*. •

Ad esempio l'automa in Figura 2. 1 non è completo (come si vede dal fatto che la sua ta-vola di transizione non è completa). Ancora, esaminando la struttura grafica di un automa si può affermare che esso non è completo se esiste almeno uno stato .r da cui per un dato simbolo e non esce alcuna <>-transizione.

È possibile tuttavia completare un AFD con il seguente algoritmo.

Algoritmo 2.39. Completamento di un AFD. Sia G = (X.E.6.J·0 . \m) un AFD non completo. Si vuole determinare un AFD completo G' = (X' .E.c5' .. tale che Lm(G') = Lm(G) e L(G') =E•. È suffic iente porre X'= X U {1·,.}, cioè aggiungere agli stati di G un nuovo stato .l:r. Si definisce poi per ogni x E X' e ogni r E E,

81(.l',I) = { se <5(.t,<') è definita; altrimenti.

Inoltre .rh = .ro e x;11 = Xm, cioè G' ha stesso stato iniziale e stesso insieme di stati finali di G. •

Page 45: Sistemi ad Eventi Discreti

36 Capitolo 2

Ad esempio, completando l'automa in Figura 2.1 si ottiene l'automa in Figura 2.6. Come si vede sono state introdotte tutte le transizioni che non erano precedentemente definite e tutte queste nuove transizioni raggiungono il nuovo stato Xr, che non è finale. Inoltre sono anche stati inlrodotti tanti cappi in Xr quanti sono i simboli deJJ 'alfabeto. Si noti che, per non appesantire la rappresentazione grafica, è uso comune porre una sola transizione con etichetta e 1 ,e2 .... tra due nodi x e x per indicare il parallelo di k diverse transizioni (ciascuna con etichetta Pt) che partono da x e arrivano a x.

d

e

Figura 2.6 L'automa ottenuto completando I' AFD in Figura 2. 1.

Si noti, infine, che mentre l'automa completo G' accetta lo stesso linguaggio dell' au-toma non completo G, esso non genera lo stesso linguaggio: dal punto di vista dinamico i due automi sono diversi. In particolare, G' è certamente bloccante, perché il nuovo stato X c che viene aggiunto è non finale e non co-raggillngibile.

2.4.3 Equivalenza fra automi deterministici e non deterministici

Nei paragrafi precedenti sono state definite due diverse classi di linguaggi:

• [,AFn: la classe dei linguaggi accettati da AFD;

• [,.4.FN: la classe dei linguaggi accettati da AFN.

Poiché un AFD può essere anche visto come un particolare AFN, è chiaro che ogni linguaggio accettato da un AFD è anche accettato da un AFN e dunque [,A FD ç; L,.1F.v. In questo paragrafo si dimostra che vale anche la relazione inversa LA.F N ç [,AFV· cioè la classe dei linguaggi accettati da AFD contiene quella dei linguaggi accettati da AFN. Questo consente dj concludere che C.1FN = LA.FV e dunque i due modelli AFD e AFN possono descrivere la stessa classe di sistemi. L'uso di un modello piuttosto che dell ' altro dipenderà esclusivamente dalla maggiore o minore semplicità nel descrivere o analizzare un dato sistema.

Per dimostrare che la classe dei linguaggi accettati da AFD contiene quella dei lin-guaggi accettati da AFN, si descrive una procedura che, dato un AFN G, consente di determinare un AFD G' a esso equivalente, cioè tale che Lm (G') = Lm(G). In effetti l'automa G' determinato dalla procedura genera anche lo stesso linguaggio di G, cioè

Page 46: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 37

L(G') = L(G). Per semplicità di esposizione ci si limita a descrivere l'algoritmo e a dame un esempio di applicazione, senza dare una prova formale della sua correttezza.

L'idea fondamentale è la seguente. Si supponga che sull' AFN G la parola w possa essere generata da produzioni diverse, che raggiungono stati diversi, per esempio .r 1 , .r2

e .r3. Allora nell' AFD G' vi dovrà essere uno stato chiamato { T 1 • .r2 • .i·3 } e sarà questo lo stato raggiunto dall'unica produzione che genera u·. Dunque in genere ogni stato di G' rappresenta un sottoinsieme degli stati di G.

Algoritmo 2.40. AFD equivalente a un AFN. Sia G = (X,E . ..J,.t0 .Xm) un AFN. Si vuole determinare un AFD G' = (>i,{,E,<)' tale che L(G') = L(G) e Lrn (G') = Lm(G).

1. Si calcoli per ogni stato .r di G 1' insieme

D(.r) = {x E X I (:i:.é,X) E ..J*}

degli stati raggiungibili da :r eseguendo -:_ero o più e -transizioni. Si noti che per definizione x E D(x).

2. Si calcoli per ogni stato :i- di G e ogni simbolo e E E, l'insieme

DP(x) = {x E X I (.r,e .. r) E ..J}

degli stati raggiungibili da J' eseguendo una e-transizione.

3. Si definisca = D(J·0 ), cioè lo stato iniziale di G' è dato dall'insieme degli stati di G raggiungibili dallo stato iniziale x0 eseguendo zero o più E-transizioni.

4. Sia X' = 0 e - Alla fine dell'algoritmo X' ç 2x sarà l'insieme degli stati dell'AFD G' cercato, mentre l 'insieme x:,ew contiene a ogni passo gli stati di G' ancora da esplorare.

5 S. 1 t t I E Y' • 1 sce ga uno s a o .r - 11 1" 11 ••

(a) Per ogni e E E:

i. Si definiscano gli insiemi:

A.(i·'.c) = LJ D,(x) e D(.t' ,t:) = LJ D(.r). xEA(.r',t)

Il primo insieme rappresenta l'insieme degli stati di G raggiungibili da un qualunque stato in :r.' eseguendo una <-transizione. Il secondo insieme, rap-presenta l'insieme degli stati di G raggiungibili da un qualunque stato in A.(J·' .e) eseguendo zero o pii1 E-transizioni (vedi Figura 2.7).

u. Si considera i ' = B(.i:' .e) come lo stato di G' raggiunto dallo stato .r' eseguendo e e dunque si definisce 8'(:r' ,<>) = J '. S -;I ci "1.r/U \'"' · \'.' _ "l.rf { ·'} 111. e.(; 'il= .1\ - llew SI ponga . llC'W - . l.new LJ :1 .

(b) Sia X'= X' U {.r'} ex:1ew = x;1,,,,, \ {i.1}.

6. Se f: f/J vai a 5.

Page 47: Sistemi ad Eventi Discreti

38 CapitoJo 2

I I I I I I

:A(x',e): : _______ 1

B(x',e) :

Figura 2.7 Rappresentazione degli insiemi A(.r' ,e) e B(:r' ,<') definiti nell'Algoritmo 2.40.

7. Si definisca x:n = {J'1 E X' I ;r' n .Ym =/:- 0}, cioè uno stato T1 di G' è finale se

contiene almeno uno stato finale di G. •

Si veda adesso un esempio di appl icazione di questo algoritmo.

Esempio 2.41. Si consideri r AFN Gin Figura 2.8(a). Per determinare un AFD G' a esso equivalente, si calcolano preliminarmente gli insiemi:

D(:ro) = {ro.x2 .. r3}: D(xi) = {.c1 }: D(.r2) = {.r2.J':d: D(.r:3) = {:r3}: D(x.1) = { x.i}: D(1·0) = {.r5}:

Da(xo) = 0: D0 (.ri) = {.7·i}: D" ( J' 2 ) = 0;

= {.r.,1 .• ts}; Da(.r4) = {.r1 .x.i}; Da (.r5) = 0:

Dti(:ro) = 0; D1;(x1) = {xo.J':d: D1J(X2) = 0: Db(x3) = 0: D&(:r4) = 0; D&(i·5) ={a·, .. c5}.

Si considera come stato iniziale di G' lo stato = { xo .x2 .:r3}. Al passo 5 dell'algoritmo:

• Si scelga da x:ieu: lo stato .rh = {:ro . ..C2.X3} . Per l 'evento a, vale A.(.r0.a) { x 1.:i·5} e detto = B (J-0 .a) = { :r4 ,.r;,} può porsi o' ( :i:0 ,a) = Per l'evento b, vale .l(.r0,b) = 0 e dunque 8'(.r0.b) non è definita .

• Si scelga da x:1ew lo stato :r't = { :r Per l'evento a, vale A(,t; .a) = {Xi .. 1:4} e detto = B ( x'1 .a) = { .r 1 .:r4 } può porsi 8' ( .a) = Per l'evento b, vale A.(;r; .b) = { :r4 ,:r5} e poiché D(.r'1 .b) = { :r., .. r5} = può porsi 8' (.r; .b) = J'

11.

• Si scelga da x:1""' lo stato .i:2 = {.r1 ,.r4}. Per l'evento a, vale = {.r1,x1} e poiché B ( x2 .a) = { i ,.r,i} = .r2 può porsi 8' (:r2 .o) = :r2. Per l'evento b, vale A(x2,b) - {.ro .. r3} e poiché = = .r0 può porsi =

A I passo 7 dell'algoritmo vale X' = { xb .. r; ,x2} e poiché solo lo stato J'o contiene lo stato .r 2 - che è l' unico stato marcato di G - vale X :ri = { .

La rappresentazione grafica dell' AFD G' è data in Figura 2.8(b). +

Page 48: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 39

li

(b)

Figura 2.8 (a) Un AFN; (b) un AFD a esso equivalente.

NeU ·esempio precedente l'insieme degli stati dell' AFN G dato contiene n = 7 stati, mentre l'AFD G' a esso equjvalente ha solo 11

1 = 3 stati. In genere. tuttavia, non è possibile dire a priori quale dei due automi ha un maggior numero di stati. È soltanto possibile affermare che poiché gli stati dell' AFD G' sono dati da sottoinsiemi di X, il numero degli stati di G' è strettamente minore di 2": infatti i possibili sottoinsiemi di \, incluso l'insieme vuoto che non sarà mai uno stato di G', sono 2n.

È anche possibile, talvolta. che r AFD ottenuto mediante questa procedura possa essere ulteriormente semplificato riducendo il numero dei suoi stati come discusso nel paragrafo seguente.

2.4.4 Minimizzazione di un AFD

Un concetto di grande importanza nel campo della teoria dei sistemi è quello di rappre-'ìPmn:inne minima. Dato un sistema. infatti. è possibile che esista più di un modo di rap-presentare il suo comportamento usando una data classe di modelli. Ad esempio, in Figu-ra 2.9 sono rappresentati tre diversi AFD G, G' e G" per i quali è facile verificare che vale L,,,(G) = Lm(G') = L 111 (G") = {a 11 I n pari} e D(G) = L(G') = L(G") ={a}·. Poiché i tre automi descrivono lo stesso comportamento, generando e accettando gli stes-si linguaggi, essi sono diverse rappresentazioni dello stesso sistema. Si osservi che gli automi G e G' hanno, rispettivamente, quattro e tre stati, mentre r automa G" ha solo due stati: il terzo modello è dunque più vantaggioso nel senso che esso, avendo un numero di stati minore, consente di descrivere in modo più compatto lo stesso sistema.

Il seguente teorema è un classico risultato la cui dimostrazmne può trovarsi, ad esempio, in (Hopcroft, 1979).

Teorema 2.42. Se un AFD G accetta il linguaggio L 111 (G), esiste sempre un automa minimo completo G 111 ì 11 , cioè con un numero minimo di stati, che accetta /Jm(Gmin) L 111 ( G). Tale automa è anche unico a meno di un isomorfismo4. •

1Cioè. tutti gli automi minimi possono differire fra loro solo per l'ordine con cui gli st.ilì sono numerati. Sì veda la definizione dt 1somortismo m Appendice A. e l'esc!mpio di isomorfismo tra grafi in Appendice B.

Page 49: Sistemi ad Eventi Discreti

40 Capitolo 2

ll a ,.o X 1 .\ I " a

Xu X 1

a

,\ I X! . a

G G' G"

Figura 2.9 Tre diversi automi che rappresentano lo stesso comportamento.

In questo teorema si richiede che Gmin sia completo e dunque, detto E il suo alfabeto, per esso vale L (Grnin) = E •. Quando un AFD è usato come modello di un sistema dinamico ad eventi discreti, tuttavia, si ammette, come visto nei precedenti paragrafi, che esso possa non essere completo perché sia il linguaggio generato che il linguaggio accettato dipendono dal particolare sistema modellato. Possiamo allora riformulare il precedente teorema come segue.

Teorema 2.43. Se un AFD G genera e accetta i linguaggi L (G) e Lm (G), esiste sempre un automa minimo Gmin, cioè con un numero minimo di stati. che genera L (Gmin ) = L (G) e accetta Lm(Gmin ) = L 111 (G). Tale automa è anche unico a meno di un isomorfi-smo. •

In queslo paragrafo si darà una procedura generale che consente, dato un AFD G, di costrnire un AFD Gmin che genera e accetta lo stesso linguaggio ma con un numero di stati che è minimo. Tale procedura si basa sul concetto di "stati indistinguibili".

Definizione 2.44. Dato un AFD G = (X,E.8,.r0 .Xm) e uno stato .t E X, si denota:

• L(G I x ) = {w E E• I <)• (x ,w)!} l'insieme delle parole che vengono generate mediante produzioni che partono dallo stato .r:

• Lm(G I :r) = {w E E* I 8* (x.u: ) E Xm } l'insieme delle parole che vengono generate mediante produzioni che partono dallo stato .r e raggiungono uno stato finale.

Due stati .r ,1·1 E X sono detti indistinguibili se TJ( G I !Z:) = L ( G I .r' ) e Lm ( G I x) =

L 111 ( G I .r' ); tale relazione si denota J" .r'. .&

È facile dimostrare che la relazione è una equivalenza5; le classi di equivalenza di questa relazione sono insiemi di stati tutti indistinguibili fra loro. Si noti, infine. che la definizione usuale di distinguibilità data, ad esempio, in (Ilopcroft, 1979) tiene solo conto del linguaggio accettato L m ( G I x ) perché presuppone che gli automi siano completi. Se un automa è completo, per ogni stato :t vale L(G I ;t) = R:r (si veda l'Esercizio 2.15) e due stati possono solo essere distinti per il linguaggio accettato: questo è un caso par-ticolare della Definizione 2.44, che, più generalmente, ammette che anche il linguaggio generato possa permettere di distinguere due stati .

. 'i Si veda in Appendice A la definizione di "relazione di equivalenza•· e di "classe di equivalenza".

Page 50: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 41

Rimandando ancora per qualche istante la discussione su come sia possibile determi-nare quali stati sono fra loro indistinguibili, è importante capire come la delle classi di equivalenza della permetta di semplificare la struttura di un automa. Data una dasse di equivalenza (cioè un insieme di stati tutti indistinguibili fra loro) si sceglie fra essi uno stato .r come rappresentativo della classe, che viene indicata con la notazione [.r] . Tutti gli altri stati della classe vengono rimossi dall'automa con la seguente procedura.

Algoritmo 2.45. Rimozioni degli stati indistinguibili da un AFD. Dato l' AFD G = (X ,E,8,x0 ,X,,i) si supponga di aver determinato l'insieme [.r] degli stati indistinguibili dallo stato J· (cioè [:r] è la classe di equivalenza deJla relazione contenente i ) e che valga I [.r) I > 1 (cioè [.?] contiene altri stati oltre allo stato .r). Si costruisce un nuovo automa G' = (X ' .E.6' .. tb.X:n) a partire da G con la seguente procedura.

I. Sia.Y =[x]\ {x} .

2. Si rimuovono tutte le transizioni che partono da uno stato in X.

3. Tutte le transizioni che arrivano a uno stato in X vengono fatte arrivare allo stato :c. Formalmente, per ogni .r' E X \ X e ogni e E E vale:

f:/( I ) { <>(.1"1 ,<')

<1 X C = ' :r se 8(.r' .r) rJ X, altrimenti.

4. Si rimuovono tutti gli stati in S, cioè G' ha insieme di stati.\' := .\ \X.

5. Lo stato iniziale di G' sarà .rb = .r.o se .r0 rJ X, altrimenti si pone .t[1 = .f·.

6. Gli stati finali di O' saranno gli stati finali di G non rimossi, cìoè x:n ;--- Xm \ ..t. L'AFD G' così costruito genera il linguaggio L(G') = L(G) e accetta il linguaggio Lm (G') - L,,, ( G) . Tuttavia G' ha meno stati di G perché vale IX'I = I Yl -1 [.r] I+ 1 < IXI. Applicando 4uesta procedura per ogni classe di equivalenza, si ottiene finalmente un automa minimo. •

Si consideri ora un esempio di applicazione di questo algoritmo.

Esempio 2.46. Dato l'automa Gin Figura 2.9 è facile dimostrare che vale

Lm(G I :i:o) = Lm(G I .r2) = {a 11 In è pari}

e Lm(G I .ri) = Lm(G I .r.i) = {a 11 In è dispari} .

mentre per ogni stato J' E X vale L( G I .r) - {a}·. Si conclude dunque che .ro .1·'.!

e x1 .r3 . Scegliendo di mantenere dalla classe di equivalenza {.r1 •. r:d il solo stato J"1, si rimuove lo stato .r3 e Ja transizione che esce da esso; la transizione che andava da :r 2 a .ca viene invece fatta arrivare allo stato .t1 . L'automa risultante è l' AFD G' in Figura 2.9, dove vale ancora :r0 Ripetendo la stessa procedura, si sceglie di mantenere dalla classe di equivalenza { J'b il solo stato .r;l, e semplificando r automa si ottiene finalmente l'automa G" in Figura 2.9, che è anche minimo, perché non contiene stati indistinguibili. +

Page 51: Sistemi ad Eventi Discreti

42 Capitolo 2

Si noti che nel precedente esempio la scelta di tenere lo stato piuttosto che lo stato è arbitraria. Viceversa nella scelta fra e è preferibile mantenere lo stato perché tale stato è iniziale, oppure, se si scegliesse di mantenere occon-e fare diventare questo stato iniziale.

NelJ ' esempio precedente, le classi di equivalenza sono state date calcolando i lin-guaggi L( G I :r) e Lm ( G I x) per ogni stato .r E X; ciò non è sempre agevole. Per completare questa discussione sulla minimizzazione di un AFD, si da una semplice pro-cedura per determinare se due stati o più stati sono indistinguibili. Si osservi, dapprima, che se lo stato .r; E Xm è finale, mentre lo stato .rj rf. Xm non lo è, i due stati sono distinguibili, perché la parola vuota e appartiene a Lm ( G I :r i) ma non a L m ( G I J'j).

Allo stesso modo, gli stati :r; e .l'j sono distinguibili se gli insiemi degli eventi abilitati dai due stati non coincidono, cioè se A(.r,) -:/:- A(.rj) ; infatti se e E A(.ti) \ A(:rJ) vale e E L( G I xi) mentre f rf. L( G I .r1 ). Infine, si può osservare che se e sono distinguibili e se vale t5(.r1 .c) = e <5(.r re) = <i (cioè eseguendo la stessa e-transizione si può andare da J' 1 a e da xi a xj) allora anche .r 1 e .r: i sono distinguibili.

Sulla base di queste osservazioni, modificando l' algoritmo dato da Hopcroft (1979), che si applica solo ad AFD completi, si può dare la seguente procedura per determinare quali stati sono indistinguibili.

Algoritmo 2.47. Determinazione degli stati indistinguibili di un AFD.

1. Si forma una tabella triangolare in cui ogni casella corrisponde a una coppia non ordinata di stati { .z·; . .i·i}.

2. Sia k = O (iterazione iniziale).

3. Si segnano con una "x'' le caselle che corrispondono alle coppie { x 1 .x i} in cui uno stato è finale e l'altro non finale.

4. Si segnano con una "x" le caselle che corrispondono alle coppie {.r,,.rJ} tali che A(xi) f- A(.r1 ) .

5. Sia k-: k + 1 e si ponga STOP= vero.

6. Per ogni casella vuota sia { J·, .J·1 } la corrispondente coppia di stati .

(a) Si calcola, per ogni elemento e E E la coppia di stati {o(.r;.c),(<5(xj,e)}.

(b) Se per almeno un e la casella della tabe I la corrispondente a { 8 ( x; ,e), ( <5 ( x 1 ,e)} è segnata con una "x", allora {6(.ri,e),(6(:ti.e)} sono distinguibili e dunque si conclude che anche { .r, .. r 1 } sono distinguibili, segnando con una "x" la corrispondente casella e ponendo STOP = falso.

7. Se STOP= falso vai a 5.

8. Ogni casella rimasta vuota corrisponde a una coppia di stati indistinguibili. Ogni caselJa segnata con una "x" corrisponde a una coppia di stati distinguibili. •

Si noti che durante la k-esima iterazione al passo 6 dell'algoritmo vengono esaminate tutte le caselle vuote. L'algoritmo termina se durante la k-esima iterazione non vengono segnate nuove caselle.

Un esempio finale chiarirà meglio i vari passi dell'algoritmo.

Page 52: Sistemi ad Eventi Discreti

Sistemi ad evenci discreti logici 43

ab xi' .

b b

(a) (b)

Figura 2.10 Un automa non minimo (a) e l'automa minimo a esso equivalente (b).

(a) (b) (e)

Figura 2.11 Tabella per la determinazione degli stati rndistmguibili.

Esempio 2.48. Si consideri l' AFD in Figura 2.1 O(a). Per determinare se esso contiene stati indistinguibili, costruiamo una tabella triangolare come mostrato in Figura 2.1 l.

Durante l' iterazione k = O, al passo 3 si segnano le caselle mostrate in Figu-ra 2.1 l(a), che corrispondono a coppie di stati in cui uno è finale e l'altro non lo è: infatti Xm = {x1 . .c3 .. r5 }. Al passo 4 si segnano le caselle mostrate in Figura 2. 1 l(b) (tratto scuro), che corrispondono a coppie di stati con diversi insiemi di eventi abilitati: infatti A(J'2) =A(x 1) = {a},mentreperognialtro staco.rvaleA(.r) = {H.b}.

Durante l'iterazione k = 1, al passo 6 si segnano le caselle mostrate in Figura 2.11 (e) (tratto scuro). Infatti è possibile distinguere .r1 da J'n perché <5(x 1 .b) = .r2 e 6(J·5 .b) = i.·n e la casella { :r·2 .J·5 } è già marcata. Similmente è possibile distinguere .r:J da .r5 perché 6{.r 1 ,b) = .c4 e 6(:ril,/>) = .rr, e la casella è già marcata.

Durante 1 'iterazione k = 2 non vengono marcate altre caselle e l'algoritmo termina. Dall'esame della tabella in Figura 2.1 l(c) si deduce che .r1 1·:l e 1·2 .r 1• Rimuovendo gli stati indistinguibili con la procedura dell'Algoritmo 2.45, si ottiene lautoma minimo in Figura 2. IO(b). +

2.5 Modellazione mediante automi

In questo paragrafo gli automi verranno usati per modellare sistemi ad eventi discreti logici. Si definiscono dapprima alcuni modelli elementari e poi si studieranno le regole con cui essi possono essere composti per costruire il modello di un sistema complesso. Per approfondire questa parte si rimanda a Cassandras e Lafortune ( 1999).

Page 53: Sistemi ad Eventi Discreti

44 Capitolo 2

2.5.1 Modelli di sistemi elementari

I sistemi elementari considerati in questo paragrafo sono tratti dal campo dei processi produttivi.

Il modello semplificato di una macchina è quello mostrato in Figura 2. l 2(a ). La macchina si trova inizialmente nello stato F (macchina ferma). Al verificarsi dell'evento inizio si porta nello stato L (macchina in lavorazione). Al verificarsi dell'evento fine termina la lavorazione e ritorna nello stato F. Si definisce finale lo stato F per indicare che si considerano complete solo le sequenze di eventi che riportano la macchina nello stato in cui è ferma.

inizio L

LL

fine

(b)

ripara:.ione fine

rottura

G

Figura 2.12 Modello AFD di: (a) una macchina; (b) una macchina non affidabile; (e) una macchina non affidabile con due serventi.

11 modello precedente non considera la possibilità che la macchina possa guastarsi, cioè suppone che la macchina sia affidabi le. Nel modello di una macchina non affidabile. mostrato in Figura 2. l 2(b ), è presente un ulteriore stato G (macchina guasta). L'evento rottura può verificarsi quando la macchina è in lavorazione e porta allo stato G da cui, al verificarsi dell'evento riparazione, la macchina viene reinizializzata.

È anche possibile generalizzare il precedente modello al caso della macchina mul-tiservente, cioè si suppone che la macchina abbia pili serventi che possono lavorare con-temporaneamente. Ad esempio, il modello di una macchina con due serventi è mostrato in Figura 2. l 2(c). Qui ogni stato della macchina specifica se ogni servente è fermo, in lavorazione o guasto; non occorre distinguere quale dei due serventi (cioè se il primo o il secondo è in un dato stato. Per semplicità sono stati indicati i vari eventi con delle etichette abbreviate.

Un magaa.ino (o buffer) è una zona di accumulo intermedio in cui vengono deposti e prelevati prodotti durante la lavorazione. Esso ha in genere una capacità finita, che in-dica il numero massimo di prodotti che esso può contenere. Il modello di un deposico di capacità 3 è mostrato in Figura 2. l 3(a). Ogni stato corrisponde al numero di prodotti con-tenuti nel deposito. Al verificarsi dell'evento deposito il numero di prodotti cresce di una unità, e viceversa al verificarsi dell'evento prelie\10 esso decresce. Si noti che il modello

Page 54: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 45

deposito 1

deposiro

(a)

prelievo prelievo prelievo

di dl dl dl

p2

0, l

p2

Figura 2.13 Modello AFD di: (a) un magazzino di capacità 3: (h) un magazzino multiclasse.

del magazzino è del tutto simile al sistema "a coda" descritto nel paragrafo 1.4; la sola differenza consiste nel fatto che nel modello in Figura 2.13(a) la dimensione della coda di attesa è finita e pari alla capacità del magazzino, mentre il sistema "a coda" descritto nel precedente capitolo ha capacità infinita.

Una ulteriore estensione dcl modello del magazzino è quello del maga-;,z,ino multi-classe, cioè un magazzino che può contenere prodotti di classi diverse. Ad esempio, il modello mostrato in Figura 2.13(b) è relativo a un magazzino che può contenere due clas-si di prodotti. 11 magazzino ha quattro locazioni e ogni prodotto della prima classe occupa una sola locazione, mentre ogni prodotto della seconda classe occupa due locazioni. Nel modello il generico stato viene chiamato (i ,j), dove i indica il numero di prodotti della prima classe e j il numero di prodotti della seconda classe. Gli eventi dl e pl indica-no il deposito e il prelievo di un prodotto della prima classe, mentre d2 e p2 indicano il deposito e il prelievo di un prodotto della seconda classe.

In un sistema produttivo flessibile è tipico trovare una risorsa condivisa, cioè usata in più processi di lavorazione. Ad esempio, risorse quali un robot, un nastro o un carrello trasportatore, ecc., sono spesso condivise al fine di ridurre il costo che si avrebbe se si usassero tante risorse quanti sono i processi in cui esse vengono usate. Si consideri un robot che può essere usato per due diverse operazioni: il caricamento de11a macchina l e il caricamento della macchina 2. Il corrispondente modello è mostrato in Figura 2.14. Dallo stato F (robot fermo) sono abilitati sia l'evento carica I che carica 2. Questi eventi portano il robot, rispettivamente, negli stati M 1 (operazione di caricamento macchina J in corso) e M2 (operazione di caricamento macchina 2 in corso), da cui al termine del-l'operazione si ritorna allo stato di riposo. La struttura della risorsa condivisa è espressa dal fatto che dallo stato F sono inizialmente abilitati entrambi gli eventi carica 1 e carica 2: non appena tuttavia la macchina inizia una delle due operazioni, non è più possibile eseguire l'altra sino a che l'operazione in corso non termina.

Page 55: Sistemi ad Eventi Discreti

46 Capitolo 2

carica 1 carica 2

Ml M2

ritoma 1

Figura 2.14 Modello AFD di una risorsa condivisa tra due applicazioni.

2.5.2 Modelli deterministici e non deterministici

Nel precedente paragrafo sono stati rappresentati vari sistemi fisici usando automi deter-ministici. Ci si chiede ora se anche gJi automi non deterministici possano essere usati a tale scopo. In effetti si cercherà di giustificare con un esempio la seguente affermazione: il non determinismo di un modello è indice del fatto che si è data una rappresentazione in termini di stati del sistema fisico troppo accurata rispetto agli eventi che è possibile osse11Jare.

Si consideri un sistema per il trasporto di materiale, la cui rappresentazione schema-tica è data in Figura 2.15(a). Un carrellino entra nel sistema da sinistra e procede lungo il binario verso destra, scegliendo poi di proseguire sul tronco terminale superiore T ii o su quello inferiore T 6; arrivato alla fine del binario esce dal sistema. Si supponga di avere dei sensori disposti lungo il binario che al passaggio del carrellino generano degJi eventi ai

(per i = 1. ... ,8), tutti riconoscibili e dunque diversi fra loro. Appare naturale descrivere lo stato del sistema in funzione della posizione del carrellino tra due sensori: dunque il sistema è nello stato Ti quando il carrellino è nel corrispondente tronco indicato in Figu-ra 2. l 5(a ). Se poi si suppone che un solo carrellino alla volta possa percorrere il binario, si può modellare il sistema con l'AFD in Figura 2.15(b), dove lo stato T 0 corrisponde alla assenza di carrellino sul binario. Si osservi che la posizione del carrello (cioè lo stato del sistema) è stata descritta in termini discreti pur essendo una variabile continua. La "granularità " di questa discretizzazione è stata scelta in funzione del sensori disponibili. cioè degli eventi osservabili.

Si supponga, adesso, che a causa di un guasto il terzo sensore cessi di funzionare. In tal caso non è più possibile osservare l'evento a 3 e il passaggio dal tronco T 2 al tronco T 3

avviene "silenziosamente" senza generare alcun evento. Ancora, si supponga che a causa della loro vicinanza, i sensori 5 e 6 interferiscano fra loro: dunque lingresso del carrellino nel tronco terminale inferiore o superiore genera comunque simultaneamente sia l'evento a.5 che a6 • A causa di questi malfunzionamenti dei sensori il modello in Figura 2.15(b) non è più corretto e appare opportuno invece considerare il modeUo in Figura 2.15(c). Qui la transizione precedentemente etichettata aa è diventata una €-transizione, perché la sua esecuzione non genera alcun evento, mentre le due transizioni precedentemente etichettate a5 e a6 hanno assunto la stessa etichetta a e dunque non sono più distinguibili fra di loro. A causa di ciò il modello risultante è un AFN.

L'Algoritmo 2.40 descrive una procedura per costruire un AFD equivalente a un AFN dato. Applicando tale procedura ali' AFN in Figura 2.15(c) si ottiene l' AFD in Figura 2.15(d). Come si vede, in tale automa la descrizione in termini di stati è meno dettagliata, perché non si distingue più se il carrello si trova nel tronco T 2 o T 3 , così come non si distingue più se il carrellino si trova nel tronco terminale superiore o inferiore.

Dunque riducendo opportunamente la granularità della discretizzazione dello sta-

Page 56: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logie/ 47

(a)

(b)

(e)

(d) J a1.as

a, •O •O •O

Tu T, {T2, T, } T1

Figura 2.15 Un sistema di trasporto: (a) rappresentazione schematica; (b) modello deterministico: (e) modeJJo non deterministico per la presenla di eventi non osservabili: (d) modello detemunisuco a esso equivalente.

to continuo in funzione degli eventi osservabili. si può ritornare a un modello determi-nistico. È importante osservare inoltre che la granularità ottimale è stata determinata aulomaticamente applicando l'Algoritmo 2.40.

2.5.3 Sintesi modulare

In genere un sistema complesso può essere visto come composto da più inte-ragenti fra loro. Il problema che ora viene affrontato è quello di costruire un modello del sistema complesso a partire dai modelli più semplici, detti moduli, dei sottosistemi che lo compongono. Tale procedura è detta sintesi modulare. Quando ogni modulo è coslituito da un AFD. anche il modello dcl sistema complesso può essere descritto da un AFD co-struito mediante loperatore di composi:ione concorre me. Tale operatore, che è già stato definito (vedi Definizione 2.15) come operatore sui linguaggi e denotato 1, , ha anche una naturale controparte nella struttura di transizione degli automi.

Page 57: Sistemi ad Eventi Discreti

48 Capitolo 2

Occorre per prima cosa formalizzare in che modo i vari sottosistemi interagiscono fra loro. Si supponga di avere due moduli (cioè AFD) G' e G" che hanno alfabeti, rispet-tivamente, E' e E" . Detto E = E' U E" l'alfabeto complessivo, è possibile partizionare tale alfabeto nei tre sottoinsiemi disgiunti mostrati in Figura 2.16. r simboli in E' \ E" appartengono solo al primo alfabeto mentre i simboli in E"\ E' appartengono solo al se-condo: tutti questi simboli corrispondono a eventi non sincronizzati. I simboli in E' n E" sono i simboli comuni ai due alfabeti e corrispondono a eventi sincronizzati.

E' E"

E' \E" E' tìE" E" \E'

Figura 2.16 Partizione deJ l'alfabeto E = E' UE" nei tre sottoinsiemi E'\ E", E' n E" e E"\ E'.

Il sistema G costituito dalla composizione di G' e G" avrà come generico stato .e = ( x' ,x"), essendo x' e x", rispettivamente, uno stato dj G' e uno stato di G". L'ipotesi che qui si fa è quella di ammettere che un evento non sincronizzato possa essere eseguito da un modulo indipendentemente dallo stato in cui si trova l'altro modulo. Viceversa, un evento sincronizzato deve essere eseguito simultaneamente dai due moduli e dunque può verificarsi solo se entrambi i moduli sono in uno stato in cui tale evento è abilitato. Dunque, se w è una parola generata da G, la sua proiezione sull 'alfabeto E' e E" dovrà essere, rispettivamente, una parola generata da G' e una parola generata da G". È dunque possibile dare la seguente definizione.

Definizione 2.49. Siano G' e G" due AFD. La loro composizione concorrente è 1' AFD G che genera il linguaggio L(G) = L(G') Il L(G") e accetta il linguaggio Lm(G) = Lm(G') Il Lm(G") e può anche denotarsi G = G' Il G". A

La composizione concorrente di due automi può costruirsi con il seguente algoritmo.

Algoritmo 2.50. Composizione concorrente di AFD. Siano G' = (X' ,E' .8' ,xb,X:n) e G" = (X",E" ,8",x0 ,x:;i) due AFD. Si vuole determinare I' AFD G = (.:(E,c5.x0 .Xm) tale che G = G' Il G".

I . L'alfabeto di G sarà E = E' U E".

2. Si definisca xo = ( xb ,x0), cioè lo stato iniziale di G è dato dal prodotto cartesiano degli stati iniziali di G' e G" .

3. Sia X= 0 e Xneu• = {:ro}. Alla fine dell'algoritmo X ç X' x X" sarà l'insieme degli stati di G, mentre l'insieme Xnew contiene a ogni passo gli stati di G ancora da esplorare.

4. Si scelga uno stato x = (x' ,x") E Xneui·

Page 58: Sistemi ad Eventi Discreti

(a) Per ogni e E E:

i. Sia

O(:r.c) = l (x '.x") (x' ,x ") (x '.x ") indefinito

Sistemi ad eventi discreti logici 49

se e E E'\ E" , 8'(x' ,e) = .X ' ; se e E E''\ E' , 6"(:c",e) = :t ": se e E E' n E" , ò'(;r'.e) = J' '. 8"(x",e) = J' "; altrimenti.

u. Se lo stato x = 8(x,e) è definito e x r;J. X U X new si ponga Xnew = Xnew U {:t}.

(b) Sia X= )C U {:r} e Xn t>w = Xnew \ {:r}.

5. Se Xn ew -:/:- 0 si va a 4.

6. SidefiniscaXm. = {J; = (:r',:i;") I X E X,:r' E x:n,x" E x:.:i} xx:.:i)nX, cioè uno stato ;i; di G è finale se è il prodotto cartesiano di uno stato finale di G' e uno stato finale di G". •

Viene ora dato un esempio di applicazione di questo algoritmo.

Esempio 2.51. Si considerino i due AFD in Figura 2.17(a) e Figura 2. l 7(b). li primo, sull'alfabeto E' = { a,b}, rappresenta il modulo di una macchina che dallo stato di fermo

inizia la lavorazione di una parte (evento a) e al termine della lavorazione la deposita in un magazzino (evento b). li secondo, sull'alfabeto E" = { b,c}, rappresenta il mo-dulo del magazzino di capacità 2, inizialmente vuoto (stato in cui le parti vengono depositate (evento b) e prelevate (evento e).

La macchina può iniziare la lavorazione indipendentemente dallo stato del deposito, cosi come l'operazione di prelievo dal deposito è indipendente dallo stato della macchina: dunque gli eventi a e e non sono sincronizzati. L'evento b, che appartiene ali' alfabeto di entrambi i moduli, è invece un evento sincronizzato: la macchina può depositare una parte nel magazzino solo se esso non è pieno, mentre il magazzino può ricevere una parte solo in seguito al completamento di una lavorazione della macchina.

Il modello che descrive il comportamento del sistema "macchina-deposito" è l' AFD in Figura 2.17(c), ottenuto eseguendo la composizione concorrente dei due moduli.

Al passo 2 dell'algoritmo si sceglie come stato iniziale di G lo stato xo = ( x0 ,x0). Al passo 4 dell'algoritmo si sceglie inizialmente da Xnew lo stato (:r0,x0). L'evento

non sincronizzato a è abilitato in G' da e vale = si aggiunge .:c0) all' insieme Xnew · L'evento sincronizzato b pur essendo abilitato in G" da x0

non lo è in G' da .c0, dunque 8((x0,x0),b) non è definita. L'evento non sincronizzato e non è abilitato in C" da dunque 6( (x0 .x0) .(") non è definita. Si sposta lo stato dall'insieme Xnew all'insieme X e si procede fino a che Xnew = 0.

Al passo 6 dell 'algoritmo vale Xm = X n X= •

Una osservazione importante riguarda la cardinalità dello spazio di stato del sistema ottenuto per composizione concorrente. Se si indica con n' e n" il numero di stati di G' e di G", la loro composizione concorrente G può avere fino a n' x n" stati, perché X ç X' x X". Componendo k moduli, ciascuno con n stati, la loro composizione concorrente potrebbe avere fino a nk stati. Dunque la cardinalità dello spazio di stato cli un sistema composto può crescere esponenzialmente con il numero dei moduli che

Page 59: Sistemi ad Eventi Discreti

50 Capitolo 2

a b b

(a) (b)

(xo'.x1 ")

(xo '.xo")

(e)

Figura 2.17 (a) ModuJo di una macchina. (b) ModuJo di un magazzino di capacità 2. (e) Loro composizione concorrente.

lo compongono. Tale problema, che è stato suggestivamente definito esplosione dello spazio di stato, costituisce il maggiore ostacolo all'uso degli automi per modellare sistemi realistici. Questo problema può essere in parte alleviato con l'uso di modelli più potenti, quali le reti di Petri discusse nella seconda parte del libro.

È interessante, ancora, studiare come vengono modificate le proprietà dei moduli dall'operatore di composizione. Ci si chiede cioè se dati due automi G' e G" che godono di una data proprietà, sia possibile garantire che anche la loro composizione concorren-te G = G' Il G" goda della stessa proprietà. Ciò sarebbe molto utile perché verificare che valga una data proprietà è certamente molto più agevole sui singoli moduli, piuttosto che sul sistema complesso che potrebbe avere un grande numero di stati. In effetti l' Al-goritmo 2.50 garantisce che al passo 4.a.ii solo gli stati raggiungibili vengano aggiunti all'insieme X net"; dunque si può solo dire che certamente G sarà raggiungibile. È tutta-via possibile che, malgrado i singoli moduli siano rifiniti e reversibili, alcuni degli stati di G non siano co-raggiungibili verso uno stato finale o verso lo stato iniziale: dunque G potrebbe essere bloccante o non reversibile. Si cli mostra ciò con un semplice esempio.

Esempio 2.52. In Figura 2.18(a) e Figura 2.18(b) sono dati due AFD, entrambi rifiniti e reversibili. I loro alfabeti sono E' = { a.b,c} e E" = { a,b}, quindi a e b sono eventi sincronizzati. Nella loro composizione concorrente G, mostrata in Figura 2.18(c), tutti gli stati (tranne quello iniziale) sono bloccanti. L' AFD G è bloccante e non reversibile. Si osservi ancora che l'automa rif( G) è costituito dal solo stato tale automa genera e accetta la sola parola vuota. t

Page 60: Sistemi ad Eventi Discreti

Sistemi ad evenri discreti logici 51

(xo',xo") (xi ',xo")

e

e b

(xo',xi")

(a) (b) (e)

Figura 2.18 (a) e (b) Due moduli AFD rifiniti e reversibili. (e) Loro composizione concorrente bloccante e non reversibile.

2.6 Espressioni regolari (ER)

ln questo paragrafo viene introdotto il formalismo delle espressioni regolari che consen-te di rappresentare in maniera sintetica una classe di linguaggi di grande interesse detti appunto linguc1ggi regolari. Per approfondire questa parte si rimanda a Lewis (1981).

Definizione 2.53. Una espressione regolare (ER) su un alfabeto E è definita in base alle seguenti regole che identificano le espressioni regolari elementari, dette atomi, e i tre operatori, denotati+ • • e*, che servono a costrnire le espressioni più complesse. Espressioni regolari atomiche.

• 0 è unaER;

• e è una ER;

• per ogni e E E, e è una ER.

Operatori. Se a: e f3 sono ER:

• a: + (3 è una ER;

• a: . f3 è una ER;

• a:* è una ER.

In genere il simbolo dell'operatore. si omette, scrivendo a:f3 al posto di a:. (3. Fra i tre operatori, quello che ha la precedenza più alta è l'operatore *, seguito dall' operatore • e infine dall'operatore + che ha la precedenza più bassa. Inoltre, una espressione regolare può contenere parentesi per modificare 1 'ordine in cui gli operatori vengono applicati.

Ad esempio, si consideri l'alfabeto E = {0.1} e l'espressione a = e+ 0(11)* . Tale espressione è una ER perché si ottiene dagli atomi e, O, e 1 applicando un numero finito di volte gli operatori +, . e *. Le parentesi specificano che l'operatore • si applica all'intera ER 11. La ER a:' = e + O 11 * equivale invece a e + O 1 ( 1) •, cioè l'operatore * si applica solo al secondo simbolo 1 avendo precedenza rispetto all'operatore •.

È possibile associare un linguaggio a una espressione regolare.

Page 61: Sistemi ad Eventi Discreti

52 Capitolo 2

Definizione 2.54. Il linguaggio espresso da una ER o si denota L(o) ed è definito in base alle seguenti regole. Espressioni regolari atomiche.

• L(0) = 0: è il linguaggio vuoto;

• L( e) = {e}: è il linguaggio che contiene solo la parola vuota;

• per ogni e E E, L( e) = {e}: è il linguaggio che contiene solo la parola e.

Operatori. Se o e {3 sono ER:

• L(o + {3) = L(o) U L({3): all'operatore+ corrisponde l'unione dei linguaggi;

• L(o{3) = L(o)L({3): all'operatore. corrisponde la concatenazione dei linguaggi;

• L(o*) = (L(o ))": all'operatore* corrisponde la stella di Kleen del linguaggio . .A

Ad esempio, si vuole determinare il linguaggio espresso da o = e+ 0(11) *. Prelimi-narmente si calcolano i seguenti linguaggi:

L(t:) ={e} . L(O) ={O}, L( l ) = {1}. e L(ll ) = {l}{l} = {11}.

Il linguaggio L( ( 11) *) è la stella di Kleen del linguaggio { 11}, cioè

L(( ll)*) = {(11)11 O}.

Dunque L(O(l l)*) = {0}{(1J)'1 O}= {0(11)'1 O}.

Infine si ottiene:

L(o:) = L(e:)UL(O(ll) *) = {e}U{O(nr O}= {e,0,011,01111,0llllll , ... }.

Si osservi che data una ER o, il linguaggio L = L(o) può in genere essere espresso anche da altre ER, diverse da o. Ciò consente di definire una nozione di equivalenza fra espressioni regolari.

Definizione 2.55. Due ER o: e {3 sono dette equivalenti se L( o:) = L({3). In tal caso si scrive o= {3. .A

Ad esempio, le tre ER aa *, a* a e a ( aa) * + aa ( aa) * sono fra loro equivalenti perché esprimono lo stesso linguaggio L = { an I n 1} (si veda l'Esercizio 2. J 9).

È anche utile r icordare le seguenti equivalenze che torneranno utili in seguito.

Proposizione 2.56. Siano o:, {3 e I tre ER. Vale

1. o ({3 + I) = 0(3 + O/ e (o: + {3) ì = O/ + {31:

2. o: = Oé e o: = t:o:;

3. o;* = é + o;o;*;

4. oo* = o*o.

Dimostrazione. È sufficiente dimostrare l'identità dei linguaggi espressi daLJe differenti ER al primo e al secondo membro.

Page 62: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 53

1. La prima delle due equivalenze deriva dal fatto che L 1 ( L2 U L3 ) = L 1 L2 U L 1 L3 essendo la concatenazione distributiva rispetto all'unione, e l' altra si prova in modo analogo.

2. La prima delle due equivalenze deriva dal fatto che L{ é} = L, essendo il linguaggio { é} l'elemento neutro per la concatenazione, e l'altra si prova in modo analogo.

3. L'equivalenza deriva dal fatto (vedi Definizione 2.12) che

(e) u (LL•) = L0 u [ L (.Q0

Lk)] = L0 u [Q L'·] 00

LJLk=L*. k=O

4. L'equivalenza deriva dal fatto che

(LJ Lk) L = L*L. k= O

o

Il seguente esempio presenta una espressione regolare particolarmente importante.

Esempio 2.57. Dato l'alfabeto E = {e 1 ,e2, ... ek} si vuole determinare il linguaggio L(a) dove

a = ( ei + e2 + · · · + ek) * = ( ei) *.

Il linguaggio espresso da a' = e1 + e2 + · · · + ek è L(a') = {e1} U {e2} U · · · U {ed = { e1 ,e2, ... ed = E. Applicando la stella di Kleen si ottiene L( a ) = ( L( a') ( = E ... , cioè il linguaggio cercato è l'insieme di tutte le parole definite sull'alfabeto. +

Il risultato dell'esempio precedente è spesso utile quando si considera il seguente problema.

Problema 2.58. Dato un linguaggio L descritto mediante specifiche informali determi-nare una ER a tale che L = L(a). A

In generale tale problema non ha soluzione, perché, come si vedrà nel paragrafo 2.7.3, esistono dei linguaggi che non possono essere espressi da espressioni regolari. Tuttavia, se il linguaggio dato può essere espresso da una ER, è talvolta possibile, con ragionamenti qualitativi, ricavare l'espressione cercata.

Esempio 2.59. Si consideri l'alfabeto E = { a,b}. Si vogliono determinare le ER a1 e a2 che esprimano, rispettivamente, i linguaggi:

• L 1 : l ' insieme delle parole su E che contengono almeno due a;

• L2 : l'insieme delle parole su E che hanno per secondo simbolo una b e terminano per aab.

Per determinare a 1 , si osservi che ogni parola w E L 1 può essere scritta come w = u 1 au2rm.3 dove u.1 )u2.1J,3 E E*. Poiché vale L ((a + b)* ) =E* (vedi Esempio 2.57) si può scrivere a 1 = (a+ b)*a(a + b)*a(a + b)* . Per determinare a 2 , si osservi che ogni parola w E L2 può essere scritta come w u1 b11,2cw.bdove 11..1 E{ci,b}e11..2 E E*. Dunquea2 = (a+ b)b(a + b)*aab. +

Page 63: Sistemi ad Eventi Discreti

54 Capitolo 2

Un altro problema che merita di essere affrontato è il seguente.

Problema 2.60. Data una parola w E E* e una ER a su E, determinare se la parola w appartiene a L(a). A

Una procedura generale per rispondere a questa domanda si basa sui risultati che presen-teremo nei successivi paragrafi di questo capitolo. Si dimostrerà, infatti, che è possibile costruire un automa finito deterministico il cui linguaggio accettato coincide con il lin-guaggio L(a) . Dunque basterà verificare se w appartiene al linguaggio accettato da G, e tale verifica, come già visto, è molto semplice. Talvolta, tuttavia, è possibile dimostra-re che w E L(a) sulla semplice base di considerazioni qualitative, come nel prossimo esempio.

Esempio 2.61. Dato l'alfabeto E= {a,b}, si consideri la ER a = (a+ b)*aab* . Si vuole detenninare se le due parole w1 = abab e w2 = abaa appartengono al linguaggio L(a). È facile comprendere che, poiché tutte le parole nel linguaggio espresso da a devono contenere due a consecutive, la prima parola non appartiene a L(a). Si osservi poi che L(a) = L((a + b)*) . L(aa) . L(b*) . La seconda parola può essere scrittacomew2 = ab . aa . c, doveab E L((a + b)*) = E"',aa. E L (aa) e E E L(b*). Si può dunque concludere che w2 E L( a ). +

Per concludere questo paragrafo dedicato alle espressioni regolari, si definisce la classe dei linguaggi che esse possono esprimere.

Definizione 2.62. Si denota LER = {L I esiste una ER a : L = L(a)} la classe dei linguaggi regolari, cioè l'insieme dei linguaggi che sono espressi da una ER. A

Poiché una qualunque ER si ottiene a partire dalle ER atomiche applicando gli operatori +, . e *, che come già visto corrispondono agli operatori linguistici di unione, concatena-zione e stella di Kleen, è anche possibile dare la seguente caratterizzazione dei linguaggi regolari.

Definizione 2.63. Un linguaggio regolare sull'alfabeto E è un sottoinsieme di E* che si può ottenere applicando un numero finito di volte gli operatori di unione, concatenazione e stella di Kleen ai linguaggi 0, { é} e {e} (per ogni e E E). A

2. 7 Equivalenza fra espressioni regolari e automi

Nei paragrafi precedenti sono state definite tre diverse classi di linguaggi:

• [,A p n: la classe dei linguaggi accettati da AFD;

• LAFN: la classe dei linguaggi accettali. da AFN;

• LER: la classe dei linguaggi regolari;

ed è anche stato dimostrato (paragrafo 2.4.3) che le prime due classi coincidono, cioè vale [,A p D = .CA p N. In questo paragrafo si dimostra che anche la terza classe coincide con le altre due. È dunque possibile enunciare il seguente teorema.

Page 64: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 55

Teorema 2.64 . .C p;n = .CAFD = LAFN ·

Dimostrazione. Poiché è gia stato dimostrato che L AFD = LA1-1\ , basterà dimostrare che valgono le due inclusioni .CAFD ç LER e L sR ç LAF/\. Ciò sarà fatto nei due sottoparagrafi seguenti. D

Le dimostrazioni che verranno presentate non saranno rigorose ma costruttive: cioè saran-no basate sulla presentazione di algoritmi che consentono di passare da un dato modello a uno di altro tipo ma a esso equivalente. Per approfondire questa parte si rimanda a Hopcroft (1979) e Lewis (1981).

2.7.1 Espressione regolare equivalente a un automa deterministico

Si vuole dimostrare che la classe dei linguaggi regolari contiene quella dei linguaggi ac-cettati da AFD. Per far ciò si descrive una procedura che consente di determinare una ER o: equivalente a un AFD G = dato, cioè tale che L(o:) = Lm(G). In effetti la stessa procedura determina anche una ER a' tale che L(a') = L(G). Per sem-plicità di esposizione ci si limita a descrivere l'algoritmo e un esempio di applicazione, senza dare una prova formale della sua correttezza.

L'idea fondamentale è la seguente. Si associa a ogni stato :cj di un AFD una ER O:j,

che esprime il linguaggio generato dall'automa a partire dallo stato iniziale e raggiungen-do appunto lo stato :r J.

Proposizione 2.65. Si consideri lo stato .rj dell 'automa in Figura 2.19. Tale stato può essere raggiunto eseguendo una sola transizione dagli stati: x 1 (mediante l'evento e1 ), :r2

(mediante l'evento c2 ), .. ., e Xk (mediante l'evento e1...) . Inoltre, dallo stato :r; J, eseguendo la ertransizione si ritorna ancora allo stato Xj · Dunque se O.j, 0.1, 0.2, ... o:k sono, rispettivamente, le ER che esprimono i linguaggi generati nel raggiungere gli stati x 1 , x 1 ,

x 2 , ... , :rk a partire dallo stato iniziale :i;0 , è facile rendersi conto che vale la seguente equa7ione:

(2. 1)

Si noti ancora che se lo stato x j non avesse un cappio, il termine O:j ei a secondo membro non sarebbe presente nell'equazione (2.1) che si ridurrebbe a

(2.2)

Infine, se lo stato :r i fosse lo stato iniziale dovremmo tenere presente che esso è anche raggiungibile generando la parola vuota e dunque scriveremmo

oppure

O:j =E+ 0:1e1 + 0:2e2 + · · · + o:kek

a seconda del fatto che lo stato iniziale abbia un cappio o meno.

(2.3)

(2.4)

• Si' osservi a questo punto che la presenza del cappio rende l' equazione (2.1) e l'equa-

zione (2.3) implicita, perché O:j compare sia al primo che al secondo membro. Il seguente lemma consente di risolvere equazioni di questo tipo.

Page 65: Sistemi ad Eventi Discreti

56 Capitolo 2

.. ·'.r"··· ....... .

/

,,...,,,. .... /

Figura 2.19 Come associare una ER a uno stato xi di un AFD.

e· J

Lemma 2.66. Sia a Ulli)....,ER incognita e siano f3 e I due ER date. La soluzione dell'e-quazione implicita a :::::. /3 + O.f'f è a = /31*.

Dimostrazione. Sostituendo /31* al posto di a nel secondo membro della equazione si ot-tiene a = f3 + /31*1. Ricordando la proposizione 2.56 vale allora: a = /3 + /31*1 = /3c + /31*1=f3(e+1*1) = /31* , il che dimostra il lemma. O

È finalmente possibile dare il seguente algoritmo.

Algoritmo 2.67. ER che esprimono i linguaggi di un AFD. Sia G = (X,E,811;0 .Xm) un AFD. Si vogliono determinare due ER a e a' tali che L(a) = Lm(G) e L(a' ) = L(G) .

l. Si scriva per ogni stato Xi E X l'ER corrispondente O:i come in Proposizione 2.65.

2. Si risolva il sistema di equazioni, ricavando una alla volta (se necessario mediante il Lemma 2.66) il valore di ogni O'.i e sostituendolo nelle rimanenti equazioni.

3. Si definisca a:' = L .r, EX O:i·

4. Si definisca a = L.c; EX m O'.i· • Si veda adesso un esempio di applicazione di questo algoritmo.

Esempio 2.68. Si consideri L' AFD Gin Figura 2.8(b). Si scriva il sistema di equazioni:

{

ao =e + a2b 0:1 = aoa + a1b a2 = + a:2t;

Si ricavi a 2 mediante il Lemma 2.66 e si sostituisca neJlc altre equazioni riscrivendo il sistema

=e+ a1aa*b = aoa + a:1b = a1aa*

Page 66: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 57

Si ricavi o 1 mediante il Lemma 2.66 e si sostituisca nelle altre equazioni riscrivendo il sistema

=E:+ cxoab*aa*b = u.oub* = ooab*aa*

Si ricavi o 0 mediante il Lemma 2.66 e si sostituisca nelle altre equazioni ottenendo la soluzione cercata:

= (ab*aa*b)* = (ab*aa*b)*ab* = (ab*aa*b)*ab*aa*

FinaJ mente si può scrivere:

o' = oo + 01 + cr2 = (ab*aa*b)*(e +ab*+ ab*aa*) , o = o 0 = (ab*aa*b)*.

• È facile capire che l'operatore * in una ER corrisponde a un ciclo nella struttura

dell'automa. Ad esempio, si consideri la ER o 1 = (ab*aa*b)*ab* . L'operatore * applicato al termine ab*aa*b indica che nella struttura dell 'automa (si confronti con la Figura 2.8(b)) vi è un ciclo che parte e ritorna da xo e che quando viene percorso genera aab; dopo aver generato la prima a si raggiunge uno stato che contiene un cappio con etichetta b (il primo termine b*), e dopo aver generato la seconda a si raggiunge uno stato che contiene un cappio con etichetta a (il termine a*). Dopo aver eseguito questo ciclo un numero indefinito di volte si può proseguire verso lo stato x 1 generando a ed eventualmente percorrere il cappio con etichetta b (il secondo termine b*) un numero indefinito di volte.

2.7.2 Automa non deterministico equivalente a una espressione rego-lare

Si dimostra, infine, che la classe dei linguaggi accettati da AFN contiene quella dei lin-guaggi regolari. In base alla caratterizzazione della Definizione 2.63, per dimostrare che un qualunque linguaggio regolare può essere accettato da un AFN, basterà dimostrare che:

• un linguaggio espresso da una ER atomica può essere accettato da un AFN;

• se L1 e L2 sono linguaggi accettati da un AFN, anche i linguaggi L1 U L2, L1 L2 e L r possono essere accettati da un AFN.

Proposizione 2.69. Se o è una ER atomica, esiste un AFN G che accetta L (o ).

Dimostrazione. L'automa G1 inFigura2.20(a) accetta il linguaggio Lm(G1) = L(0) = 0. L'automa G2 in Figma 2.20(b) accetta il linguaggio Lm ( G 2 ) = L( E: ) = { é}. L'automa G inFigw-a2.20(c)accettail linguaggioLm(G) = L (e) ={e}. D

Si considerano adesso i tre operatori di unione, concatenazione e stella di Kleene.

Page 67: Sistemi ad Eventi Discreti

58 Capitolo 2

)@

(a) (b) (e)

Figura 2.20 Tre automi che accettano linguaggi espressi da ER atomiche.

Proposizione 2.70 (Unione). Dati due AFN G' e G" sull'alfabeto E esiste un AFN G che accetta il Linguaggio Lm(G) = Lm(G') U Lm(G").

Dimostrazione. La prova è costruttiva. Si denotino le strutture dei tre autorrù, rispettiva-mente, G' = G" = e G = (X,E,d,xo,Xm) · L'AFN G ha insieme di stati X = X' U X" U {x0 }, dove .ro è un nuovo stato che non appartiene a X' U X". Lo stato iniziale di G è il nuovo stato J:0 . L'insieme di stati finali di G è Xm = u x::p cioè è l'unione degli stati finali di G' e di G". La relazione di transizione di G vale Ll = Ll' U Ll 11 U { ( x0 ,é ,x0). ( x0 ,é ,x0)}, cioè G contiene tutte le transizioni di G' e G" e ha due ulteriori E-transizioni che da :z:0 portano, rispettivamente, a Xo e a x0.

Tale costruzione è mostrata in Figura 2.21, dove è stata data una rappresentazione schematica di G' e G" indicando solo lo stato iniziale e l'insieme degli stati finali. Dallo stato iniziale x0 , l'automa G tramite una delle due E-transizioni si può portare o nello stato iniziale di G' (accettando in seguito tutte le parole accettate da G') o nello stato iniziale di G" (accettando in seguito tutte le parole accettate da G"). Dunque Lm ( G) = Lm(G') u Lm(G"). o

G

r---·-------.. ·------·1

I 1 • i

! Xm" @ !1 !e" ' --- J

Figura 2.21 L' AFN G accetta l'unione dei linguaggi accettati da G' e G".

Si osservi per completezza che nel caso della costruzione mostrata in Figura 2.21 vale anche L (G) = L(G') U L(G"), cioè il linguaggio generato dall'AFN G coincide con l'unione dei due linguaggi generati dai moduli G' e G".

Page 68: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 59

Proposizione 2.71 (Concatenazione). Dati due AFN G' e G" sull'alfabeto E esiste un AFN O che accetta il linguaggio Lm(G) = Lm(G')Lm(G").

La prova è costruttiva. Si denotino le strutture dci tre automi, rispettiva-mente, G' = (X'.E . .J'.J·:1.x:,J, G" = (X".E . .J" . e G = (X.E . .J .. ro.Xm)-L' AFN G ha insieme di stati X = X' U X". Lo stato iniziale di G è lo stato iniziale di G', cioè .r0 = L'insieme di stati finali di G è Xm - x::l' cioè è l'insieme degli stati finali di G". La relazione di transii;ione cli G vale _J = .J' u .J" u { ·-= .J·:n I E x:n }, cioè G contiene tutte le transizioni di G' e G" e ha in più tante E-transizioni quanti sono gli stati finali di G', ciascuna delle quali porta da uno stato finale di G' allo stato iniziale

di G". Tale costruzione è mostrata in Figura 2.22. L'automa G accetta le parole generate

da produzioni che a partire dallo stato iniziale portano prima a uno stato finale di G' (generando una parola accettata da G') e proseguono, dopo aver eseguito una delle €-

transizioni, con una produzione che porta da a uno stato finale di G" (generando una parola accettata da G"). Dunque Lm (G) = Lm (G')Lm (G"). O

' G'

G

r·-··--··--··-·-.. ·-· .... .

. xo"

X111" @ G"

Figura 2.22 L' AFN G accetta la concatenazione dci linguaggi accettati da G' e G"

Nel caso della costruzione mostrata in Figura 2.22 il linguaggio generalo ùall'AFN G non coincide con la concatenazione dei due linguaggi generati dai moduli G' e G", ma vale L(G) = L(G') U Lm(G')L(G").

Proposizione 2.72 (Stella di Kleene). Dato un AFN G' sull'alfabeto E esiste un altro AFN G che accetta il linguaggio L 111 (G) = (Lm (G'))"'.

Dimostra-;.ione. La prova è costruttiva. Si denotino le strutture dei due automi, rispettiva-mente, G' = (X'.E . e G = (X.E ..... Lr0 .Xm). L'AFN G ha insieme di stati X = X'u{ .r0 }, dove .r0 è un nuovo stato che non appartiene a X'. Lo stato iniziale di G è il nuovo stato .r0 . L'insieme di stati finali di G è . \ m = { x0 }, cioè il nuovo stato :r0 è il so-lo stato finale. La relazione di transizione di G vale ...l = ...l' U { (.r0 ,è.:rb)} U { .e .:ro) I J·:n E x:n}, cioè G contiene tutte le transizioni di G' e ha in più: una e-transizione che porta dal nuovo stato iniziale .r0 allo stato .rb; tante €-transizioni quanti sono gli stati finali di G', ciascuna delle quali porta da uno stato finale di G' al nuovo stato .r0 .

Tale costruzione è mostrata in Figura 2.23. L'automa G accetta le parole generate da produzioni che a partire dallo stato iniziale .r0 riportano a J'o, entrando ed uscendo 1ero o più volte nella struttura di transizione di G'. Poiché a ogni passaggio attraverso la stn1ttura di G' viene generata una parola accettata da G'. vale L 111 ( G) - ( L,,, ( G') )"*. O

Page 69: Sistemi ad Eventi Discreti

60 Capitolo 2

E

r-·----·-·------· ----·-1 E ! i

I X. I 1 e· m I L .............. _ ............................. ··--···-.... .!

G

Figura 2.23 L' AFN G accetta la stella di Kleen del linguaggio accettato da G'.

Nel caso della costruzione mostrata in Figura 2.23 vale L(G) = (Lm(G')) * L(G'), cioè il linguaggio generato dall' AFN G non coincide con la stella di Kleen del linguaggio generato da C'.

2. 7 .3 Linguaggi regolari e altre classi di linguaggi formali

Si è visto che le tre classi LBR· LAFD e LAFN coincidono e dunque costituiscono un'u-nica classe detta classe dei Linguaggi regolari. La teoria dei linguaggi formati definisce, tuttavia, diverse classi di linguaggi, a ciascuna delle quali corrisponde un diverso model-lo. Fra queste classi ci si limita qui a citare le più importanti, indicando anche il modello che a ciascuna di esse corrisponde (Hopcroft, 1979).

• Linguaggi regolari: sono la classe dei linguaggi accettati dagli automi finiti.

• Linguaggi liberi dal contesto: sono la classe dei linguaggi accettati dagli automi a pila.

• Linguaggi di Pelri: sono la classe dei linguaggi accettati daJle reti di Petri.

• Linguaggi dipendenti dal contesto: sono la classe dei linguaggi accettati dagli automi limitati linearmente.

• Linguaggi ricorsivamente enumer:abili: sono la classe dei linguaggi accettati dalle macchine di Turing.

Le relazioni di contenimento fra queste classi sono espresse nel diagramma di Venn in Figura 2.24. Dal diagramma si vede che i linguaggi regolari costituiscono la classe più ristretta della gerarchia. Ad esempio, si può dimostrare che il linguaggio { unbn I n > O} non è regolare6 e ciò implica che un sistema che genera tale linguaggio non può essere rappresentato mediante un automa finito. Gli automi finiti hanno dunque, rispetto ad altri modelli, un limitato potere descrittivo. Al contrario, la classe dei linguaggi ricorsivamente enumerabili contiene tutte le altre. Dunque la macchina di Turing è il modello con il

6Tale linguaggio è un linguaggio di Petri che è anche libero dal contesto.

Page 70: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 61

più grande potere descrittivo, potendo rappresentare anche sistemi non rappresentabili mediante gli altri modelli.

Ricorl>ivamente enumerabili

Sensibili al contesto

Figura 2.24 La gerarchia dei linguaggi formali.

Tale limite degli automi finiti è però più apparente che reale. Infatti, maggiore è il potere descrittivo di un modello, minore è la possibilità che il modello corrispondente permetta di studiare analiticamente tutte le proprietà di interesse. Ad esempio, mentre è immediato verificare se una data parola può essere accettata da un qualunque automa finito, non esiste un algoritmo che garantisca di determinare se la stessa parola è accettata da una qualunque macchina di Turing. Per la loro semplicità, dunque, gli automi finiti rappresentano un valido modello. Allo stato attuale. tuttavia, si ritiene che il modello a cui corrisponde il miglior compromesso tra potere descrittivo e capacità di anal isi siano le reti di Petri.

2.8 Automi con ingressi ed uscite

Nel corso di questo capitolo un sistema ad eventi discreti logico è sempre stato visto come un generatore spontaneo di eventi. In questo paragrafo, invece, si accenna a due particolari modelli, detti macchina di Moore e rnacclzina di Mealy, la cui evoluzione nasce per la presenza di una sequenza di eventi in ingresso e produce una sequenza di eventi in uscita.

Il paradigma ingresso-stato-uscita costituisce le fondamenta solidissime su cui è sta-to possibile erigere la complessa architettura dei controlli auromatici nell'ambito dei si-stemi ad avanzamento temporale (SAT). È apparso dunque naturale cercare di applicare tale paradigma anche nel campo dei sistemi ad eventi.

Allo stato attuale, però, può dirsi che ben pit1 fecondo nel campo dci SED è risultato essere il paradigma evento-stato in cui un evento viene visto come generato spontanea-mente. Con le opportune distinzioni di eventi controllabili e eventi osservabili questo paradigma ha anche permesso la costruzione di una ben fondata teoria del controllo in retroazione (il controllo supervisivo a cui sarà dedicato un successivo capitolo).

Tuttavia anche il paradigma ingresso-stato-uscita trova uso in alcuni particolari am-biti. fra cui è importante quello dell'implementazione della legge di controllo, cioè nella

Page 71: Sistemi ad Eventi Discreti

62 Capitolo 2

fase in cui si vuole materialmente realizzare un dispositivo di controllo. In tal caso è mol-to utile un modello che, piuttosto che rappresentare il processo da controllare, descriva il comportamento del dispositivo di controllo come l'interfaccia tra il processo e l'operatore che specifica le sequenze da eseguire. Il dispositivo di cont10llu dunque riceve due Lipi di eventi di ingresso: gli ordini dell'operatore e le misure del processo; esso produce inoltre due tipi di eventi di uscita: i rapporti per informare l'operatore dello stato del processo controllato e i comandi verso gli attuatori del processo. Tale schema è mostrato in Figu-ra 2.25. Si osservi che uno schema analogo è anche usato nel controllo dei SAT, nel qual caso i segnali di ingresso e uscita sono variabili continue piuttosto che eventi.

ordini comandi .. .. -operatore dispositivo processo

rapporti di controllo misure _... - I ....,

Figura 2.25 Schema degli eventi di ingresso ed uscita da un dispositivo di controllo.

Le prime realizzazioni dei dispositivi di controllo per SED erano basate su circuiti logici sequenziali (Courvoisier, 1986). In tale contesto. la macchina di Moore e di Mealy erano modelli utilissimi, perché se il comportamento di un dispositivo di controllo è rap-presentato da uno di questi modelli, è possibile determinare automaticamente il circuito sequenziale che a esso corrisponde.

Oggi, i sistemi sequenziali sono pressoché dovunque sostituiti dai controllori logici programmabili (i PLC) e dunque r interesse per le macchine di Moorc e di Mealy è mi-nore all'interno della moderna teoria dci sistemi ad eventi discreti. Per completezza, si è preferito tuttavia presentare questi modelli.

2.8.1 Macchina di Moore

Tale modello è un AFD che produce un evento di uscita in funzione dello stato in cui si trova.

Definizione 2.73. Un macchina di Muore è una 6-upla Gmo = (X.E.G.8.À,.1:0 ) dove:

• X, E, ò e J'o sono definiti come nel caso di un AFD (ora E è chiamato alfabeto di ingresso):

• e è l'alfabeto di uscita;

•)..:X 7 e è la funzione di usdta cioè indica l'evento di uscita prodotto quando la macchina è nello stato x. A

Data una sequenza di ingresso w = e 1 c'2 · · · E E' , se ad essa corrisponde la produzione

Page 72: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 63

la macchina produce in uscita la sequenza l' >.(..c1, )>.(.i·11 ) • · • >.(xiJ.) E 8"'. Si noti che quando la macchina viene inizializzata (cioè su ingresso F) produce in uscita À(.r0 ):

dunque la lunghezza della sequenza di uscita è sempre maggiore di una unità di quella della sequenza di ingresso.

Anche di una macchina di Moore si può dare una rappresentazione grafica del tutto simile a quella degli AFD etichettando ogni nodo .r con il simbolo >.(x).

Esempio 2.74. L'automa in Figura 2.26 rappresenta il comportamento di un dispositivo di monitoraggio che osserva due tipi di eventi, a e b. Se gli ultimi due eventi osservati sono due a, il dispositivo produce in uscita rl; se gli ultimi due eventi osservati sono due b, il dispositivo produce in uscita B; allrimenti produce Y. Dunque E - { a.b} e 8={.-1.BJ.}. t

li

a b

Figura 2.26 Una macchina di Moore.

Nel caso di una macchina di Moore non è dato un insieme di stati finali. Si osservi tuttavia che l'insieme di stati finali di un AFD può essere visto come una relazione che consente di classificare gli stati in due classi: marcati e 11011 marcati. Nella macchina di Moore la funzione di uscita permette di classificare gli stati in modo ben più generale, assegnandoli a tante classi quanti sono i simboli di uscita. Dunque un AFD può essere visto come una particolare macchina di Moore con (-3 = {m.ih}, dove À(.r) - m sex è finale e viceversa >.(x) = 111 se .i· non è finale.

2.8.2 Macchina di Mealy

Tale modello è un AFD che produce un evento di uscita in funzione della transizione che esegue.

Definizione 2.75. Un macchina di Mealy è una 6-upla G,,, I! = (X.E.8.ò.>.::r.0 ) dove:

• X, E,<> e .r0 sono definiti come nel caso di un AFD (ora E è chiamato alfabeto di ingresso);

• e è l'alfaheto di uscila;

• À : X X L' e è di uscita cioè À(x:e) indica l'evento di uscita prodotto quando la macchina esegue la transizione ò(.-r:e). A

l

Page 73: Sistemi ad Eventi Discreti

64 Capitolo 2

Data una sequenza di ingresso w - e1 e2 · · · ek E E*, se ad essa corrisponde la produzione

e1 ek Tjo .l';1 ... Xjk-t XJk

la macchina produce in uscita la sequenza''= ,c1)..X.(Xj 1 .e2) · · · ..X.(.rJk 1 .ek) E EP. Si noti che quando la macchina viene inizialiuata (cioè su ingresso e) la macchina non produce alcun simbolo di uscita: dunque la lunghezza della sequenza di uscita è pari a quella della sequenza di ingresso.

Anche di una macchina di Moore si può dare una rappresentazione grafica del tutto simile a quella degli AFD in cui ogni transizione ò(x,e) ha una doppia etichetta e/>..(:r,c) .

Esempio 2.76. La macchina di Mealy in Figura 2.27 rappresenta lo stesso dispositivo descritto da una macchina di Moore nell'Esempio 2.74. L'unica differenza fra i due mo-delli consiste nel fatto che se la macchina di Moore risponde a un dato ingresso con la sequenza di uscita } · uJ (con uJ E 8*) la macchina di Mealy risponde allo stesso ingresso con la sequenza w. t

a/Y

a/A b/B

b/Y

Figura 2.27 Una macchina di Mealy equivalente alla macchina di Moorc in Figura 2.26.

Si noti, infine, che la macchina di Mealy dell'esempio ha un numero di stati inferiore a quello della macchina di Moore, potendo associare i simboli di uscita alle transizioni.

Esercizi

Esercizio 2.1. Dato un linguaggio L ç E*, si definisca L + = 1 Lk.

(a) Sotto quale condizione vale L+ = L * \{e}?

(b) La condizione determinata al punto precedente è verificata se L è chiuso per prefisso?

Esercizio 2.2. Si dimostrino le seguenti proprietà elementari della stella di Kleenc.

(a) 0* ={e }.

(b) {e:}"'= {E} .

(c) L* = (L")* per ogni alfabeto E e ogni linguaggio L ç E* (idempotenza).

Esercizio 2.3. Dati i due alfabeti E 1 = {a.b} e E2 = {b.c} e i due linguaggi:

(a) L 1 e E 1: insieme delle parole in cui ogni a è immediatamente preceduta da una o più b.

Page 74: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 65

(b) L2 e E 2 : insieme delle parole che contengono esattamente due be tre e,

si determini la composizione concorrente L = L1 Il L2.

Esercizio 2.4. Determmare gli AFD sull'alfabeto E linguaggi.

(a) L 1 : insieme delle parole che terminano per abb.

{ a,b} che generano i seguenti

(b) L2: insieme delle parole che contengono esattamente due b.

(c) L 3 : insieme delle parole in cui ogni o è seguita da almeno due b.

(d) L4 : insieme delle parole che contengono un numero dispari di a e un un numero di b multiplo di tre.

(e) L5 : insieme delle parole che non contengono abba come sottostringa.

Esercizio 2.5. Si determini l'AFD sull'alfabeto E = {0.1} che accetta l'insieme dci numeri binari multipli di tre (cioè O. 11, 110, 1001 ecc.).

Esercizio 2.6. Si dimostri che un AFD completo G sull'alfabeto E è non bloccante se e solo se L 111 ( G) = E*.

Esercizio 2.7. Si descrivano, usando la notazione insiemistica, i linguaggi accettati dagli automi in Figura 2.12(a-b), in Figura 2. l3(a) e in Figura 2.14. (Suggerimento: può essere utile usare la notazione di prefisso ::Se di frequenza di un simbolo in una parola lwle·) Esercizio 2.8. Si consideri I' AFN G in Figura 2.2. Determinare se le seguenti parole appartengono al linguaggio L( G) e al linguaggio Lm ( G) dandone, in caso affermativo, tutte le corrispondenti produzioni.

(a) u·1 = bb; (b) w2 = af)(Jb; (c) w3 = abaabb; (d) w 1 = baabrwa.

Esercizio 2.9. Si determini J'AFD sull'alfabeto E = {a.b} che accetta l'insieme delle parole che contengono un numero dispari di a e un numero di b multiplo di tre (cioè O, 3, 6, ecc.).

(a) Tale automa è completo?

(b) Può esistere un AFD non completo che accetta questo linguaggio? (Se la risposta a questa domanda è SI si fornisca un esempio; se la risposta è NO la si giustifichi.)

Esercizio 2.10. In una fabbrica un AGV (automated guidcd vchicle) trasporta parti dal punto A (contatto fine corsa a) al punto C (contatto finecorsa r·) passando per una porta B (sensore di passaggio b nel tratto BC immediatamente a destra della porta). Nello stato iniziale l' AGY si trova nel tratto AB diretto verso B.

(/

' /J e

I I

B e

(a) Determinare l' AFD G 1 sull 'alfabeto che descrive questo sistema.

Page 75: Sistemi ad Eventi Discreti

66 Capitolo 2

(b) Si supponga che per errore la porta possa venir chiusa: l'evento di chiusura della porta non viene osservato e in tal caso l' AGV rimane intrappolato in uno dei due tratti continuando a muoversi da destra a sinistra e viceversa. Se rimane intrappolato nel tratto AB 1 ·evento che corrisponde al contatto con la porta e all'inversione di marcia non viene osservato. Viceversa se rimane intrappolato nel tratto BC revento che corrisponde al contatto con la porta e all'inversione di marcia corrisponde sempre al segnale generato dal sensore b. Aggiungere all'automa precedentemente costruito il modello di guasto descrivendo l'evento di chiusura della porta con una s -transizionc, ottenendo un AFN G2.

(c) Costruire l' AFD Ga equivalente a G2 , e usare tale automa come dispositivo di diagno-si indicando quali sono gli stati in cui si è certamente verificato un guasto (chiusura della porta) affinché un operatore umano possa intervenire e riaprire la porta.

Esercizio 2.11. Si consideri l' AFN G - ( \.E.-1.xo.Xm) dove X = {.ro.X1 .x2.i·3.J'ct },

E= {a.b.c}. X111 = {i·1.J"a.J'.i}, e

-1 = { (.ro,a,x1) ,(xo.a.x2).(1·2 ,E ,1::J) .(.r2 ,E ,.r4 ).(.r3 .b,.r3) ,(J' 1.c,.r4)}.

(a) Si determini la rappresentazione grafica di tale automa.

(b) Si determini I' AFD G' a esso equivalente.

Esercizio 2.12. Si riapplichi la procedura di mininùzzazione ali' AFD dell'Esempio 2.46, scegliendo al primo passo di mamenere lo stato i·3 e al secondo passo di mantenere Confrontare gli automi ottenuti nell'esempio, al primo e secondo passo, con quelli ottenuti facendo queste nuova scelte.

Esercizio 2.13. Questo esercizio dimostra che l' AFD equivalente a un AFN dato e cal-colato applicando l'Algoritmo 2.40, non è necessariamente minimo.

e

Si consideri l'automa non deterministico in figura; si calcoli dapprima l'automa detenni-nistico a esso equivalente e poi lo si minimizzi.

Esercizio 2.14. Si dimostri che l'automa minimo completo G111111 che accetta un dato linguaggio regolare L ha al più uno stato bloccante.

Esercizio 2.15. Si dimostri che se G è un automa completo sull'alfabeto E, usando la notazione della Dcfini.lione 2.44 per ogni suo stato J.' vale L(G I .r) = E*.

Esercizio 2.16. Si consideri il processo costituito da un robot R e da due nastri trasporta-tori T1 e T2 . ll robot si trova inizialmente nello stato .r0 (a riposo). Poi preleva una pezzo da un deposito in ingresso che si suppone sempre pieno (evento n) e si porta nello stato .1·1.

Il pezzo viene esaminato da un lettore ottico. Se è difettoso il robot inizia il caricamento

Page 76: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti logici 67

del pezzo sul nastro T 1 (evento b1) portandosi nello stato x2 e dopo aver completato il caricamento (evento c1) ritorna nello stato di riposo. Se viceversa il pezzo non è difettoso il robot inizia il caricamento del pezzo sul nastro T2 (evento b2 ) portandosi nello stato x 3 e dopo aver completato il caricamento (evento e.i) ritorna nello stato di riposo. Il .nastro trasportatore T; (i = 1,2) è inizialmente fermo (stato Po.i). Quando inizia il caricamento (evento b;) si porta nello stato PI.i in cui è in corso un caricamento. Al temline del cari-camento (evento Ci) si porta nello stato P2.i in cui inizia ad avanzare per liberare l'area di carico. Al termine dell 'avanzamento (evento di) ritorna nello stato iniziale.

(a) Descrivere il comportamento di ogni sottosistema (robot e nastri trasportatori) me-diante un modulo AFD, indicando in particolare i rispettivi alfabeti.

(b) Costruire l' AFD che rappresenta il compo1tamento complessivo del sistema mediante l'operatore di composizione concorrente.

Esercizio 2.17. Questo esercizio vuole mostrare come la composizione di pochi modu-li elementari possa facilmente portare a modelli di grande complessità. Si consideri un processo produttivo costituito da due macchine, un dispositivo di assemblaggio e un ma-gazzino. La prima macchina G 1 produce prodotti di tipo l , e ha un alfabeto con due eventi: a 1 (inizio lavorazione) e b1 (fine lavorazione e deposito della parte nel magazzi-no). La seconda macchina G2 produce prodotti di tipo 2, e ha un alfabeto con due eventi: a2 (inizio lavorazione) e b2 (fine lavorazione e deposito della parte nel magazzino). li dispositivo di assemblaggio A preleva prima dal magazzino un prodotto di tipo l (evento e,) poi un prodotto di tipo 2 (evento c2 ) e dopo averle assemblate ritorna nello stato ini-ziale (evento d). Il magazzino multiclasse /II ha due locazioni e può contenere prodotti di entrambi i tipi. Ogni prodotto (sia di tipo 1 che di tipo 2) occupa una locazione. L'alfabeto del magazzino è { bl ,b2 ,r1 /'2}.

(a) Descrivere i singoli moduli mediante AFD.

(b) Costruire il modello G del sistema mediante l'operatore di composizione concorrente. Quanti stati contiene questo automa?

(c) Dimostrare che il sistema è bloccante e contiene stati morti. Indicare una sequenza di eventi che porta a uno stato morto.

(d) Determinare la componente rifinita di G.

Esercizio 2.18. Data l'espressione regolare a = (a+ bb*aa)(b + a(b + ab)aa)* determinare se le seguenti parole appartengono al linguaggio L( a) giustificando la rispo-sta.

(a) W1 = babba; (b) w2 = abbaabaa; (c) w3 = abaabb; (d) w4 = aabaab.

Esercizio 2.19. Si dimostri che 1e tre espressioni regolari

a(a)*. (a)*a. a(aa)* + aa(aa)*,

sono tra loro equivalenti determinando i corrispondenti linguaggi mediante diretta appli-cazione deUa Definizione 2.54.

Esercizio 2.20. Si scrivano direttamente le espressioni regolari sull'alfabeto E = { a,b} che esprimono i linguaggi definiti nell'Esercizio 2.4, senza tener conto della struttura degli AFD che accettano tali linguaggi.

Page 77: Sistemi ad Eventi Discreti

68 Capitolo 2

Esercizio 2.21. Si determinino, applicando l'Algoritmo 2.67, le espressioni regolari su l'alfabeto E = { a,b} che esprimono i linguaggi accettati e generati dagli automi co-struiti nell'Esercizio 2.4. Si confrontino tali espressioni con quelle ricavate nell'esercizio precedente e, se diverse, dimostrare che esse sono equivalenti.

Esercizio 2.22. Si determinino le ER che esprimono il linguaggio accettato e generato dall' AFD G' costruito nell'Esercizio 2.11.

Esercizio 2.23. Si determini I' AFD equivalente ali' AFN in Figura 2.2. Si determinino le ER che esprimono il linguaggio accettato e generato da tale automa.

Esercizio 2.24. È dato un AFD G = (X,E)t5,x0 )Xm) che accetta il linguaggio L(G) = L. Si determini, mediante costruzioni simili a quelle viste nel paragrafo 2.7.2, la struttura di un nuovo automa (deterministico o non deterministico) che accetta:

(a) il complemento di L, cioè linguaggio CL;

(b) il linguaggio suf ( L) = { v E E* I (esiste u E E*) uv E L} composto dai suffissi di parole in L.

Esercizio 2.25. Si consideri un dispositivo di controllo che comanda una serratura elet-trica munita di due bottoni a e b. La serratura si apre quando, a partire dallo stato iniziale, si preme una volta su a, poi una volta su b, e infine una volta su a. Quando la serratura è aperta, essa può essere richiusa premendo un qualunque bottone e il dispositivo ritorna nello stato iniziale. Ogni sequenza erronea porta il dispositivo in uno stato di errore a partire dal quale il dispositivo viene riportato nello stato iniziale premendo il bottone b. Un pannello luminoso segnala quando il dispositivo è nello stato iniziale (uscita!), nello stato di errore R, quando la sequenza di apertura è stata parzialmente riconosciuta (uscita P), e infine quando la serratura è aperta (uscita A). Determinare una macchina di Moore che descrive questo dispositivo.

Bibliografia

• Cassandras, C.G., S. Lafortune, lntroduction to discrete event systems, Kluwer, 1999.

• M. Courvoisier, R. Valette, Commande des procédés discontinus: logique séquen-tielle, Dunod Université, 1986.

• Hopcroft, J.E., J.D. Ullman, Introduction to auromata theory, languages, and com-putation, Addison-Wesley, 1979.

• Lewis, H.R., C.H. Papadimitriou, Elements of the theory computation, Prentice-Hall, 1981.

Page 78: Sistemi ad Eventi Discreti

3 Sistemi ad eventi discreti temporizzati

In questo capitolo verrà introdotta la nozione di tempo nei sistemi ad eventi discreti; il comportamento dinamico di un SED non sarà quindi più specificato semplicemente per mezzo di una sequenza di eventi o di valori dello stato, ma a questi sarà appunto associata una forma di temporizzazione. Come detto nel Capitolo I, in un SED temporizzato, oltre alla traccia degli eventi { e1 , e2 , ... } può essere definita la traccia temporizzata degli eventi, che è costituita dalla sequenza di coppie { (< 1, ri), (c2, r 2 ), ... }, dove ogni evento e, è accoppiato al suo tempo di accadimento r;; dato uno stato iniziale .r0 • la traiettoria dello stato è ancora la sequenza di stati { :r0 , .t 1 , .t2 •... } risultanti dal verificarsi della sequenza di eventi. I modelli di SED temporizzati consentono di effettuare l'analisi presta:ionale e di rispondere quindi a domande del tipo: "Quando il sistema raggiungerà uno stato specificato?", "Quanto tempo il sistema rimarrà in un dato stato?".

Lo scopo di questo capitolo è introdurre i principali formalismi che si possono utiliz-zare per modellare un SED temporizzato; tali metodi rappresentativi sono stati individuati dagli autori in automi temporizwti, catene di Markov, rete di code, rete di Petri tempo-ri-;,zate, algebra max-plus e simula:ione ad eventi discreti. A ciascuna delle metodologie modellistiche appena elencate sono stati dedicati interi libri; in questo testo il formalismo matematico delle reti di Pctri temporizzate è descritto nel Capitolo 5, dove vengono an-che introdotti i principi di base dell'algebra max-plus, mentre il Capitolo 6 è dedicato alla simulazione ad eventi discreti. In questo capitolo allora, per completezza di trattazione, vengono introdotti i concetti fondamentali su cui si basano gli automi temporizzati, le catene di Markov e le reti di code.

Seguendo la linea guida indicata, nel corpo del capitolo vengono dapprima introdotti gli automi temporizzati, mettendo in evidenza la speciale classe di automi temporizzati stocastici denominati processi di semi-Markov generali:::;:.ati; tali processi costituiscono il trait d'union tra gli automi temporizzati e le catene di Markov. perché un processo di serni-Markov generalizzato caratterizzato da temporizzazione di Poisson (cfr. Appendice C) risulta una catena di Markov. Vengono descritte distintamente le catene di Markov a tempo discreto e queJle a tempo continuo, dedicando poi la parte finale della trattazione a lla particolare classe delle catene di Markov nascita-morte (birth-death). L'ultima prute del capitolo è dedicata alla teoria delle code; esistono risultati interessanti anche dal punto di vista applicativo solo nel caso di code markoviane, che vengono pertanto descritte più in dettaglio. Una certa attenzione è rivolta anche ai sistemi composti da più code, che sono denominati reti di code; anche in questo caso esistono risultati significativi solo se le code componenti sono markoviane, quindi la trattazione, che conclude il capitolo, viene

Page 79: Sistemi ad Eventi Discreti

70 Capitolo 3

limitata alle reti di code markoviane sia aperte sia chiuse. È utile ribadire che la trattazione delle tecniche suddette non è svolta in questo ca-

pitolo in maniera esaustiva, così come è importante ricordare che, come è logico dato il grande interesse di ril:erl:a Sl:ientifica sui SED 01 mai da decenni, sono reperibili in letteratura metodi per la rappresentazione di SED temporizzati diversi da quelli trattati, sia pure con diversi gradi di dettaglio, in questo libro.

3.1 Automi temporizzati

Molte tecniche di modellazione ed analisi di SED temporizzati si basano sugli automi temporir.z.ati. Jn generale, riprendendo concetti introdotti nei capitoli precedenti, si può dire che un automa è rappresentato dalla quadmpla G =(X, E. 8, :z·0 ), dove X è lo spazio degli stati discreto (finito o numerabile), E è r insieme degli eventi, 8 : X x E ---t X è lafwzzione di transizione di stato e .r0 è lo stato iniziale. Gli eventi e E E per cui la funzione è definita formano l'insieme A(.r) degli eventi o attivi nello stato .r, introdotto nel Capitolo 2. Si noti che, a differenza di quanto fatto nel Capitolo 2, l'automa è qui indicato con una 4-upla. e non con una 5-upla, perché in questo ambito non è necessario specificare l'insieme degli stati finali .\ m.

Per ottenere la rappresentazione di un automa temporizzato bisogna completare il modello menzionato con la componente fondamentale che consente di distinguere i mo-delli temporizzati da quelli logici, cioè la struttura di temporizzazione. La temporizzazio-ne individua gli istanti in cui si verificano gli eventi, rispetto agli istanti di tempo in cui essi vengono abilitati; in altre parole, la struttura di temporizzazione forillsce per ciascuna tipologia di evento una sequenza di ritardi di allivazione, che sono gli intervalli di tempo che devono trascorrere da ogni istante di abilitazione dcli' evento prima che tale evento s i verifichi, se esso non viene disabilitato in conseguenza dcl verificarsi di qualche altro evento. Tali intervalli possono essere detenninistici, cioè perfettamente noti, o stocastici, cioè noti solo nella loro funzione di distribuzione di probabilità; la diversa natura dei ritar-di di attivazione e quindi della temporizzazione fa sì che gli automi temporizzati vengano classificali come deterministici o stocastici.

In generale, ad ogni istante di tempo T, per ogni evento abilitato e vale la seguente relazione

(3.1)

dove:

• 'Pt ( r) è il tempo di attivazione dell'evento l', che indica quanto tempo è trascorso dall'istante 11.: in cui e è stato abilitato l'ultima volta, cioè corrisponde all'intervallo di tempo Lr1.:.rJ;

• ol' ( r) è J' oroloKio (o tempo residuo) dcli' evento < , che rappresenta il tempo che separa l'istante r dall'istante r1.:+ 1 in cui è previsto il prossimo accadimento di e, cioè corrisponde all'intervallo di tempo [ T. Tf..· + 1 J;

• iJ1 è il ritardo di attivazione attuale dell' evento r.

Si noti che i termini auivazione e vengono usati in questo contesto come sinonimi. Il significato delle variabili Ve, ..Pc (r) e Oc_ ( r) appena introdotte è rappresentato

Page 80: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 71

tempo

Evento e

Figura 3.1 Tempo di attivazione 'Pt·(r). orologio Oe (r) e ntardo di attivazione u,.

nella semplice Figura 3. 1, dove risulta evidente la verifica della relazione (3.1) per ogni r E [ TJ.-. Tk+ 1]. Chiaramente, le variabili 'Pe ( T) e o, ( r) sono funzioni continue del tempo; nel seguito però, per semplicità di trattazione, esse verranno aggiornate solo negli istanti di accadimento degli eventi, cioè solo quando si verifica una transizione di stato dell'automa. Ciò è coerente con la natura event-driven della dinamica dei SED e consente di alleggerire la notazione, tralasciando i· argomento T.

Nel seguito verranno definite e trattate distintamente le due classi degJi automi tem-porizzati deterministici e degli automi temporizzati stocastici. Si noti che l'accezione del termine deterministico e, di conseguenza, del suo contrario non deterministico sono qui diverse da quelle utilizzate nel Capitolo 2 per caratterizzare gli automi logici. Infatti, il non determinismo degli automi temporizzati stocastici consiste nclJ'aleatorietà che carat-terizza i tempi di accadimento degli eventi e non riguarda la struttura della funzione di transizione, che è invece univocamente determinata ed è appunto sempre unafwz;.ione. Al contrario. si è visto nel Capitolo 2 che gli automi logici non deterministici possono presentare una corrispondenza non univoca tra una parola generata a partire da uno stato fissato e la produzione che la genera, che può essere più di una: pertanto, si parla in questo caso di relazione, e non funzione, di transizione.

3.1.1 Automi temporizzati deterministici

Definizione 3.1. La struttura di orologio (o di rempori:.;.a;.ione) dererrninisrica associata all'insieme degli eventi E è l'insieme (-) - { (-), : e E E} i cui elementi sono le sequenze Bt' = { 'lle.1 ,1Je.2 , ... }, e E E, 'Ùe.k E JR+ U {O}, k E N+ : iJ generico elemento fJe. k è detto k-esùno ritardo di attivazione dell'evento e. à

La conoscenza della struttura di orologio permette di determinare la sequenza di accadimento degli eventi e quindi la sequenza di valori che lo stato del SED assume; nel seguito si supporrà che le sequenze di orologio siano note a priori, proprio come l'insieme degli eventi ammissibili e lo spazio degli stati. È utile fornire un· interpretazione fisica degli elementi delle sequenze dei ritardi di attivazione; il generico elemento ll c.J.:. , e E E. A· E . , rappresenta infatti il tempo che deve trascorrere tra la k-esima volta che l'evento < è attivato, ossia la k-csima volta che l'automa arriva ad uno stato .ri tale che e:> E A(J·i ). e il suo verificarsi. Se però l'evento P viene disabilitato prima che tale intervallo sia trascorso, in conseguenza di una transizione di stato che porta l'automa ad uno stato .t1 tale che e ti. A(.r1 ), detto ritardo di attivazione viene scartato.

Così, per esempio, se ad un evento l è associata una sequenza di ritardi di attivazione (-)t' - { 1.2.1.2.1. ... } . ciò significa che la prima volta che l'evento viene abilitato il suo ritardo di attivazione Ùe. 1 vale L la seconda volta il ritardo di attivazione ad esso associato

Page 81: Sistemi ad Eventi Discreti

72 Capitolo 3

è invece fJ,,, 2 = 2, e così via. In generale, accade spesso che i ritardi di attivazione di un evento e siano costanti. cioè costituiscano una sequenza del tipo (-1p = { 19e,k = fie. Vk ( N}, come accade anche nell'Esempio 3.5.

Per scandire la sequenza di orologio di un evento si introduce la variabile contatore di attivazione dell'evento e, Ve, e E E, che specifica il numero di volte che l'evento è stato attivato a partire dall'istante iniziale e identifica quindi il valore da assegnare all'orologio o" ogni volta che l'evento P viene attivato. 11 contatore di attivazione di e, ve. è aggiornato al suo prossimo valore v;, che assumerà all'istante 7 1 in cui si verificherà l'evento e' E A (:r) provocando la transizione dello stato dell 'automa da ..e a x', mediante la relazione

v' = {V< +} e v,.

se e' =e o e f/:. A (x)

altrimenti e E A(x') (3.2)

Si assumono come condizioni inizial i i valori v( = 1 se e E A(.r0 ), v,. = O se invece e f/:. A(xo).

Un automa temporiz::.ato deterministico può essere formalmente definito come se-gue.

Definizione 3.2. Un automa temporizzato deterministico è caratterizzato dalla 5-upla Gd =(X, E, 8, .r0 , 8), dove (X, E, 8, i·0 ) è un automa descritto come sopra e e = { G>t' : e E E} è la struttura deterministica di orologio ad esso associata. À

Un automa così definito genera la sequenza degli stati sulla base della sequenza di accadimento degli eventi. per mezzo dell'equazione di stato già introdotta nel Capitolo 1

.r' = 6(.r,e') (3.3)

dove .r.' è il prossimo stato dell'automa e e' E A(.r) è il prossimo evento. Tale evento è determinato di volta in volta sulla base dei valori correnti degli orologi degli eventi e attivi nello stato x, cioè e e A(.r), secondo la relazione

e' = arg min {De} t:E.A(r)

(3.4)

dove Oe rappresenta il valore corrente deJl'orologio dell'evento e, cioè il tempo che deve passare, a partire dall'istante attuale, prima del prossimo verificarsi di f, se e è attualmente abilitato e non viene disabilitato prima che trascorra l ' intervallo di tempo Oe· Il valore dell'orologio di un evento e è aggiornato al suo prossimo valore che assumerà quando l'automa raggiungerà il prossimo stato .r', mediante la relazione

, { Oe - o"' o =

t l)e.v,. -1

se e f. e' e f E A ( .r) altrimenti e E A (1·')

dove o* è il valore attuale del tempo di interevento, che è determinato come

o* = min { Oe} 'CA(l')

(3.5)

(3.6)

e, secondo la relazione (3.4), è uguale al valore attuale dell'orologio Oe• del prossimo evento e'. Le condizioni iniziali per i valori degli orologi sono or = Ùe,1 se e E A(x0 ),

mentre ogni evento e </:. A (;r) ha orologio ot. indefinito, anche nell'istante iniziale.

Page 82: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 73

Le relazioni (3.2)7(3.5) sono fondate sull'assunzione che gli eventi che determina-no l'evoluzione dell'automa siano gestiti secondo il concetto di memoria di abilitazione (Ajmone et al., 1995); ciò significa che quando un evento e viene disabilitato il fatto che ciò avvenga perché l'evento si è verificato, o semplicemente perché lo stato dell'automa è divenuto tale che l'evento stesso non possa più accadere, non fa alcuna differenza per quanto riguarda l'aggiornamento del valore del suo orologio. Infatti, in ogni stato :7:, il valore dell'orologio dell'evento e, che è stato attivato ve volte, è aggiornato secondo la relazione (3.5) al valore successivo nella sequenza di orologio relativa Ge, cioè '!9e,vp+l• se e' = e o e (/:. A(x). La memoria viene dunque definita di abilitazione perché nel sistema rimane traccia solo del numero di volte che ogni evento è stato attivato, ma non del tempo che un evento è stato abilitato prima di essere eventualmente disabilitato senza accadere.

In alternativa, si potrebbe adottare la cosiddetta memoria totale, che prevede invece che, ogni volta che un evento viene disabilitato senza che lo stesso sia accaduto, si tenga comunque traccia nel suo valore di orologio del tempo che tale evento è rimasto abilitato; in questo caso la relazione (3.5) andrebbe sostituita da

{

De - se e f:. e' e e E A(.r)

= +1 se e = e' De altrimenti

(3.7)

con Oe inizializzato a i9 e.l la prima volta che e viene attivato, mentre le relazioni (3.2) e (3.6) continuano a valere così come sono state definite. L'adottare l'uno o l'altro concetto di memoria dipende quasi sempre dal tipo di studio che si vuole effettuare sul sistema che si sta modellando mediante automi temporizzati, raramente dalla struttura del sistema stesso; negli Esempi 3.4 e 3.5 verranno adottati i due concetti di memoria di abilitazione e di memoria totale, per mostrare le differenze che si possono riscontrare. Nel segui-to invece la trattazione verrà portata avanti utilizzando il solo concetto di memoria di abilitazione.

Il compo1tamento dinamico dell'automa è regolato dagli eventi che verificandosi provocano le transizioni di stato (event driven); dopo il verificarsi dell'evento<' che por-ta l'automa allo stato x, è necessario selezionare il prossimo evento e' per determinare quando e come avverrà la prossima transizione dello stato da x a x'. Le operazioni che vengono eseguite a questo scopo e che, ripetute iterativamente, definiscono l'evoluzione temporale dell'automa sono riassunte nel seguente algoritmo.

Algoritmo 3.3. Evoluzione temporale di un automa. Assumendo che l 'automa si trovi all'istante T nello stato x, da cui si identifica l'insieme degli eventi attivi A (:r), e noti Oe e v e , e E E, l'evoluzione dello stato dell'automa avviene attraverso la ripetizione dei seguenti passi:

1. Individuare o*, mediante la relazione (3.6), come il minimo tra i valori di orologio Oe, e E A(.r), associati agli eventi accadibili allo stato x.

2. Determinare il prossimo evento e' tramite la relazione (3.4).

3. Determinare il valore del prossimo stato ::r' per mezzo dell 'equazione di stato (3.3).

4. Determinare il tempo di accadimento T 1 del prossimo evento e' come

T1 = T + o* (3.8)

Page 83: Sistemi ad Eventi Discreti

74 Capitolo 3

5. Calcolare i nuovi valori degli orologi e dei contatori di attivazione associa-ti agli eventi accadibili in x', e E A (x'), utilizzando le relazioni (3.5) e (3.2), rispettivamente.

6. Ripetere dal passo 1, aggiornando i valori delle variabili con e', x', -r', e e E A(.r'}.

• Viene ripreso in questo contesto il semplice sistema a coda riportato nel Capito-

lo l come esempio di SED, per descrivere la sua rappresentazione in termini di automi temporizzati; il medesimo esempio verrà ancora trattato più avanti per mezzo di altre me-todologie modellistiche, anche per mettere in evidenza le analogie e le differenze tra tali metodologie.

Esempio 3.4. Si consideri il sistema a coda descritto nel Paragrafo 1.4; gli eventi accadi-bili sono l'arrivo e la partenza di un cliente e lo stato è rappresentato dal numero di clienti in coda (incluso l'eventuale cliente che sta ricevendo il servizio).

arrivo clienti partenza clienti

coda servitore

Figura 3.2 Sistema a coda.

L'automa temporizzato che modella questo sistema è caratterizzato da

• E= {a,p}

• X={O, l ,2,..}

• A (.r)-=- {a.p} \f.r > OeA(O) ={a}

{

J' + l • 8(;t.<} -

.r -1

se e= a

se e= p ex> O

• e= {80 .8µ}. con 8 0 = {0,2.4.1.1. ... } e e"-= {3,2.1.1.2 .... }

Secondo l'algoritmo di evoluzione di un automa, all' accadimento di un evento, il prossimo evento va sempre determinato confrontando i valori degli orologi dei due eventi possibili, arrivo e partenza, tranne quando il sistema è vuoto e quindi è lecito il solo evento di arrivo; ne deriva che

e' = { ]) se Op < 0 0 e .r > O a altrimenti

da cui i valori degli orologi degli eventi e le espressioni dci contatori corrispondenti risultano

Page 84: Sistemi ad Eventi Discreti

1 {Op - Oa o -p - 19 p ,1/p+ l

v' = { Vp + 1 p V p

Sistemi ad eventi discreti temporizzati 75

1 { Oa - Op o -a - '!9 a .11,.+ l

se e' = p

altrimenti

se e'= a e x > O

altrimenti

1 { 1/a + 1 V -(1 -

V a

se e'= a altrimenti

p E A (:r' )

se (e' = a ex = O) oppure (e' = p e .r > 1)

altrimenti

Sulla base della struttura di orologio specificata, supponendo che aJI ' istante iniziale il sistema sia vuoto, lo stato del sistema evolve come nel diagramma riportato in Figu-ra 3.3. Per semplicità si è scelto di specificare solo i primi 5 elementi delle sequenze di orologio Ba e C7p. per cui l'evoluzione riportata riguarda i primi 5 clienti (contraddistinti dai numeri in grassetto all'interno dei riquadri) che arrivano alla coda, vengono serviti e quindi lasciano il sistema.

X

3 - --- -

2 4 5

1 2 3 4 5

9 13 15

..------····-·--- _____ .., (JpA

i i i

Figura 3.3 Evoluzione dello stato della coda.

Si noti che, secondo le regole introdotte, all' istante iniziale r = O il solo evento abilitato è a, il cui orologio è di conseguenza inizializzato a 0 0 = {) a.1 = O, che fa sì che il primo arrivo si verifichi proprio nell'istante O, come si vede in figura; il corrispondente contatore di attivazione va è inizializzato al valore 1. L' orologio op associato all ' evento di partenza, che non è abilitato all'istante iniziale perché lo stato del sistema è nullo, ha valore indefinito e il corrispondente contatore di attivazione v p è nullo. t

Page 85: Sistemi ad Eventi Discreti

76 Capitolo 3

Esempio 3.5. Si faccia riferimento al modello mediante automi del semplice sistema produttivo costituito da una sola macchina (non affidabile), introdotto nel Capitolo 2.

riparazione fine

rortura

G

Figura 3.4 Automa che modella una macchina non affidabile.

L'automa che descrive la macchina soggetta a guasti è rappresentato in Figura 3.4 ed è caratterizzato da

• E = {inizio (in),fine (ji), rottura (ro), riparazione (ri)}

• X= {F (macchinaferma), L (macchina che lavora), G (macchina guasta)}

• A(F) = {inizio}, A(L) = {fine, rottura}, A(G) = {riparazione}

se e = inizio

se e = rottura

se e =fine o riparazione

e E A (x)

Come anticipato, supponiamo di adottare il principio della memoria totale, a diffe-renza di quanto fatto nell'esempio precedente. Per avere dei dati numerici , si pongono Gin= {'19in ,i = l ,i = 1,2 .... }, e /i= {'19/i,i = 3,i = 1,2, ... }, e ro= {Vro.i = 7, i = 1.2 .... }, eri= {l?ri,i = 2,i = 1,2, ... }.

Specificate le caratteristiche dell'automa come sopra, la sua evoluzione nel tempo è evidentemente ancora determinata secondo l'algoritmo enunciato. In Figura 3.5 sono rappresentate le sequenze degli eventi che determinano l'evoluzione dell'automa fino al-l'istante T = 16, supponendo che l'automa si trovi nell' istante iniziale T = O nello stato 1;0 = F, nelle ipotesi di memoria di abilitazione (a) e di memoria totale (b). Nel caso in cui si adotta la memoria di abilitazione, i valori di orologio sono aggiornati al Passo 6 dell'Algoritmo 3.3 mediante la relazione (3.5), mentre se si adotta la memoria totale tale aggiornamento è fatto utilizzando la relazione (3.7).

Come si nota nella Figura 3.5(a), nel primo caso gli eventi di inizio e di fine che scandiscono la lavorazione non vengono mai disabilitati in conseguenza di un evento di rottura, che anzi risulta sempre disabilitato da ogni evento fine e poi abilitato da ogni evento inizio, ma con orologio aggiornato al valore '!9ro.i = 7. Con memoria totale, come si nota in Figura 3.S(b), l'evento rottura rimane abilitato come nel primo caso solo tra due eventi di inizio e di.fine corrispondenti, ma ogni volta che tale evento viene abilitato si tiene memoria del tempo in cui è rimasto abilitato in precedenza senza poi verificarsi;

Page 86: Sistemi ad Eventi Discreti

X

G

L

in -e-+-"'· I

fi _____ .,. I 9Ji. I

10

ri

in

X

G

L

in ----e+ i11, I

fi

m

ri

t in

t t fi ili

i t /ì ili

Sistemi ad eventi discreti temporizzati 77

(} 'fi. 3

,__ ____ .,. 9lì.-1

I

i i i t t fi in fi in fi

(a)

111,J 111.S ...

t i i t t t i fi i11 ro n in fì in

(b)

Figura 3.5 Evoluzione dello stato deJla macchina non affidabile: (a) con memoria di abilitazione (in alto); (b) con memoria totale (in basso).

di conseguenza, il primo evento rottura si verifica all'istante di tempo T = 10, quando l'evento è rimasto attivo tra l e 4, tra 5 e 8 e Lra 9 e l O appunto, per un totale di 7 (pari a 1}r0 •1). L'accadimento di un evento di rottura abilita un evento di ripara:,ione, dopo il quale (7 = 12) l'evoluzione dell'automa riprende come dall'istante iniziale: il prossimo evento di rotntra SÌ può dunque prevedere per l'istante T = 22. •

3.1.2 Automi temporizzati stocastici

I sistemi reali presentano solitamente qualche forma di non determinismo; i sistemi man-made rappresentabili come SED non fanno certo eccezione, quindi è spesso indispensabile adottare per la loro rappresentazione modelli stocastici. Si è detto che ciò che caratterizza gli automi temporizzaci come detenninisrici o stocastici è la struttura e.li orologio ad essi

Page 87: Sistemi ad Eventi Discreti

78 Capitolo 3

associata. Il determinismo della temporizzazione associata agli automi fin qui introdotti li rende in grado di rappresentare una sola traiettoria dello stato del sistema che descrivono; ne deriva che, qualora si desideri analizzare le prestazioni e/o controllare il funzionamento di un sistema modellato da un automa temporizzato, è solitamente necessario sceglierne uno stocastico.

In questo caso, a differenza di quanto visto in precedenza, gli orologi che caratteriz-zano 1' automa non sono noti come sequenze di numeri reali, ma sono variabili aleatorie, di cui si conoscono solo le relative funzioni di distribuzione; a questo proposito, si introduce la seguente definizione.

Definizione 3.6. La struuura di orologio (o di temporizzazione) stocastica associata al-l' insieme degli eventi E è l'insieme di funzioni di distribuzione tJl = {!l!e : e E E}, dove tPe è una funzione di distribuzione di probabilità definita in JR+ U {O}, da cui ven-gono estralti i valori delle variabili aleatorie che costituiscono i ritardi di attivazione ·Ùe,A-.

e E E, k E N+ . à

Nel seguito verranno considerate classi di automi identificate da orologi con distri-buzioni particolari, tali da permettere di modellare ed analizzare interessanti tipologie di SED. Va premesso che l'attenzione sarà limitata a sequenze di orologio indipendenti e a valori i.i.d., che risultano quindi completamente specificate dalle corrispondenti funzioni cli distribuzione tJle, e E E. Per chiarire il significato di struttura di orologio stocastica viene introdotto il seguente esempio.

Esempio 3.7. Si consideri la funzione di distribuzione rfte , generica componente della struttura di orologio stocastica tJl, relativa alla variabile aleatoria 19 e,. che rappresenta i ritardi di attivazione di e. Nel caso sfortunato in cui non si ha aJcuna informazione sulla sequenza dei ritardi di abilitazione dell' evento e, tJl e può essere considerata una distribuzione uniforme, per la quale si riescono comunque a fissare i limiti dell'intervallo di definizione [t9mi 11 ,'l9m<t.r ], come in Figura 3.6(a); com'è noto infatti (cfr. Appendice C), i valori nell'intervallo di definizione ['ù 171 ;11 ;i9ma.r] di una distribuzione uniforme sono tutti equiprobabili, dunque questo tipo di distribuzione è molto generica e per contro molto poco caratterizzante.

l/fe 11\ I/le

l >- -

(a) (b)

Figura 3.6 Struttura di orologio stocascica: (a) distribuzione uniforme; (b) distribuzione normale.

Al contrario, se invece si possiedono informazioni sui valori dei ritardi di attivazio-ne, si possono individuare per rappresentarli distribuzioni più accurate e significative; per

Page 88: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 79

esempio, se è noto che tali ritardi sono mediamente abbastanza vicini ad un valore {)medio• r/Je può essere una distribuzione normale con media appunto 1Jmedìo e varianza determi-nata sulla base della deviazione dei valori dei ritardi di attivazione da questo valore medio (Figura 3.6(b)). +

In analogia con la Definizione 3.2 cli automa temporizzato deterministico, un automa temporizz.ato stocastico è definito formalmente come segue.

Definizione 3.8. Un automa temporiv.ato stocastico è definito dalla 5-upla G,,, =(X, E, b, ro. r/J) dove (X, E, 6, xo) è un automa definito come sopra e tJI : e E E} è la struttura stocastica di orologio ad esso associata. .à

La sequenza { e 1 • c2 , ... } degli eventi è ancora generata applicando di volta in volta la relazione (3.4), mentre il valore del tempo di interevento si ottiene sempre mediante la relazione (3.6). I valori (stocastici) di orologio oe. e E E, sono ancora aggiornati per mezzo della relazione (3.5), dove ora {)e,· ,...., tfi,,, mentre per aggiornare i valori dei contatori degli eventi è ancora valida la relazione (3.2). Infine, anche i valori iniziali degli orologi e dei contatori degli eventi sono definiti come per gli automi temporizzati deterministici.

In definitiva, J, evoluzione temporale di un automa temporizzato stocastico avviene in maniera del tutto analoga a quanto visto per gli automi temporizzati deterministici, ossia sulla base dell'Algoritmo 3.3 su enunciato. La differenza fondamentale nella deter-minazione della dinamica dello stato di un automa stocastico rispetto a quanto visto per gli automi deterministici sta nel fatto che ogni volta che bisogna associare ad un evento e un nuovo ritardo di attivazione, questo viene estratto come campione della funzione di distribuzione corrispondente r/Je . La sequenza degli stati che viene generata dall'applica-zione deJ suddetto meccanismo è un particolare processo stocastico { :r( T)} definito come segue.

Definizione 3.9. Il processo stocastico { x( r)} generato da un automa temporizzato stoca-stico G 8 =(X, E, 8, Xo, tJ!) è denominato processo di semi-Markov generalizzato, PSMG (Generalized Semi-Markov Process, GSMP). .à

Si consideri ancora il caso della semplice coda gestita con disciplina di servizio FIFO (First In First Out) riportata nell 'Esempio 3.4; per introdurre aleatorietà nel sistema riguardo all'accadimento dei diversi eventi, è necessario associare agli eventi a e p le funzioni di distribuzione rp a e rp p dei valori che costituiscono le sequenze di orologi e a = {00 ,1,z90 ,2, ... } e Bp = {z9p,1,'!9p,2·· .. }. La traiettoria dello stato del sistema viene ottenuta ancora utilizzando le relazioni specificate nell'Esempio 3.4, dove però i valori degli orologi da associare ai due tipi di evento si ottengono campionando le corrispondenti funzioni di distribuzione. Analoghe osservazioni possono essere fatte per la macchina non affidabile dell'Esempio 3.5.

3.1.3 Automi markoviani

La proprietà cli UtU2IQ.C.t.SSO sJ:Q.castico .. .!!l!:moria, che sussiste quando tutte le informazioni sul passato sono stato attu"ile, è anche denominata proprietà

Markov, dal nome dello studioso che per pdmocaràttenzzò, at1'1iriizi0 ae1 i processi che possiedono tale proprietà. In generale, un processo di Markov può essere definito come segue.

Page 89: Sistemi ad Eventi Discreti

80 Capitolo 3

Definizione 3.10. Un {.r( r)} con spazio degli stati X è un processo di Markov se la probabilità di !fansizione da uno stato .i:(1) = ;ri ad uno !.É" + <IT) .rJ, condizionata dalla traiettoria :Z:{Tu,rL dello stato dall'istante iniziale 10 all'istante à'çfualc r ... c:ìoc dalla L.?:.o •... ,.ti} dei valori assunti dallo stato nell'intervallo [10 ,1), è uguale probabilità condizi9nata al solo fatto che.lo ..s.tatQ in / il valore .ri; tale condizione si esprime come_ ---

+ cfr) = .Xj J X[ro.rJ } = Pr{.r(1 + <iT) = .rj J .r(1) =xi} - - - - (3.9)

• Un processo markoviano è dunque detto "senza memoria·' perché per determinare

la 12.robabilità di tran1iiziontia uno stato x(1) = .i;; .ad un altro stato-.4?:" + d1li:._.r1 noQ occorre -di-tutta la ..storia passata, cioè dei vajori assuQti dallo stato daU.:istante iniziale fino all'istante T, ma è sufficiente conoscere.il valore :ri- assunro dallo stato all 'istante 1.

- In questo paragrafo si determinano le condi1,ioni per cui un PSMG soddisfa la pro-prietà di Markov, che nel caso di un processo stazionario può essere espressa come

,-..... ÀiJ. è un' {ostante che d!pend: da .i· i e .r1; nel caso di un processo non

stazionano va esplicitata a possibile lempoWtanza dc1 parametro >.u e dunque vale

Pr{x(1 + d1) = Xj J .r(1) = :r1} = À 1;(1)cLT.

Si ritiene significativo-riportare due importanti risultati.

l. 11 primo risultato, che non verrà dimostrato formalmente ma solo giustificato per mezzo di un esempio, consiste nell'osservare che, in generale, per determinare in un PSMG la probabilità di transizione da uno stato :r( 1) = Xi ad un altro stato J'( / -+ d1) = .t J non occorre conoscere tutta la storia passata, ma solamente: i) il valore J'( r) = i·;; ii) il tempo di attivazione di ogni evento attivo nello stato Xi, cioè per quanto tempo ogni evento e E A(.r;) è rimasto attivo. In altre parole, nel caso di un processo stazionario vale:

Pr{.r(1+<h) = .cJ I .r(T) = .r,} = À1; (.P, 1:cpf2 .... ·..PP,. )dr (3.10)

dove ..Pc ,.,, k = 1. ... . n, indica iJ tempo trascorso da quando ciascuno degli n eventi abilitati dallo stato .ri , Ck E A(.r; ), k = 1. ... .r1, è stato abilitato per l'ultima volta; nel caso di un processo non stazionario vale invece:

(3.11)

Ne risulta che tali processi, pur non godendo della proprietà di Markov a causa della condizione (i i), godono di una proprietà simile ma più debole, che li fa definire "semi-markoviani''.

2. Il secondo risultato, di rilevante importanza per la comprensione del materiale pre-sentato nel resto del capitolo, consente di affermare che, nel caso particolare in cui i ritardi di attivazione degli eventi sono variabili aleatorie a distribuzione esponenziale, un PSMG è un processo markoviano. Dunque i PSMG contengono come sottoclasse i processi markoviani, il che li fa definire "generalinati''.

Page 90: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 81

Figura 3.7 Generica transizione di stato in un PSMG.

Si procede dapprima alla dimostrazione della proprietà (3.10) nel caso di PSMG stazionari. Si consideri a tale scopo il semplice caso in Figura 3.7, dove uno stato .rJ

è raggiungibile dallo stato J:i mediante l'evento e. NeJJa dimostrazione che segue, per alleggerire la notazione vengono omessi i pedici relativi al generico evento t . Quando l'evento f viene abilitato. l'orologio di e è impostato ad un valore casuale iJ estratto dalla distribuzione tP. Si definiscano, per ogni valore di ..p O, i due seguenti eventi:

A..,, = (t'.J E [c.p,c.p + dT]), cioè il ritardo di attivazione fJ è compreso tra c.p e <p l dT.

B.., = (u cp) , cioè il ritardo di attivazione iJ è maggiore dcl tempo di attivazione Y·

Si osservi che l'evento A.,: è contenuto nell'evento B .,, e vale dunque. l.,,nB<P = A<P . Inoltre, per una generica distribuzione vale, per cp O:

Pr(A.,,) - tli (.p) dT, P r(B.p) = ;·DO t/i ( tJ )d{) 'Y

mentre tali probabilità sono ovviamente nulle per <p < O. Si supponga che all'istante T

sia passato un tempo i.fJ da quando e è diventato attivo. Si può allora scrivere, usando il teorema della probabilità condizionata e la precedente relazione:

I Pr(A.,, n B.y)

Pr{T(T + rlT) = .rJ I .r(T) = xi} = Pr(A.,: B.,,) = P r(B.,,)

che dimostra il primo risultalo.

Pr(A.,.,) Pr(B .,,)

Per dimostrare il secondo risultato, si consideri il caso particolare in cui la distribu-zione di probabilità del ritardo di attivazione di e sia di tipo uniforme, cioè:

1

l/i (ù) = l Tmax

Allora vale per <p E [0 ,Tmax] :

rfr Pr(A"') = - ,

Tm ax

o

per Ù E [O. Tmax]

altrimenti

Pr(B.,,) = Tmax - cp. Tmax

Page 91: Sistemi ad Eventi Discreti

82 Capitolo 3

Si supponga che all ' istante T sia passato un tempo r.p da quando e è diventato attivo; si può allora scrivere

{ I } Pr(. L ) dr Pr .r(r + dr)= .1·1 .r(r) = .r1 = ? .,., = _ - À1j(..p)dr.

} r(D.,,) Tmax cp

Quindi la probabilità che si realizzi una transizione dallo stato ;1" ; allo stato .r J vale À 1; ( 'P )d1 e il processo è stazionario, ma non è markoviano, poiché il parametro ÀiJ è funzione del tempo r.p di attivazione dell'evento c. Si è scelto di portare ad esempio la distribuzione uniforme per la sua semplicità, ma il risultato ottenuto è valido in generale. Per contro, si vuole ora determinare se esistano delle distribuzioni l./f ( v ) che diano luogo a processi markoviani. Ciò è verificato se vale, per c.p > O

} P r( A .)

ÀiJdT = Pr{.r.(r + cfr) = !l;j I ;r (r) = .1' ; = Pr(B:)

Questa relazione può anche essere riscritta come

.P(<p) - >.;; { "

tP('P)d1

J; tP ( 1J)clù ·

da cui, derivando rispetto a cp e rinominando la variabile indipendente r.p = I} per consi-stenza, si ottiene l'equazione differenziale lineare del primo ordine

d dvtJi ( iJ ) = - >.. i1lfl (v )

la cui soluzione è tf! (ù) - >. 1Jc - >. '1 1J.

cioè la ben nota distribuzione esponenziale, che caratterizza i processi di Poisson (cfr. Appendice C).

Ai due importanti risultati appena enunciati se ne può aggiungere un terzo, che fa riferimento alla proprietà di composizione dei processi di Poisson (cfr. Appendice C). I processi di Poisson possono essere visll come blocchi elementari per la costruzione di modelli di SED complessi. Si ricorda .. w1.p.rocesso.Gi Uft-J)f0€eSSG-8tocaStico a tempo continu2Jl cui stato ;i:,J;_ può di l _og_nl_yQlta che cambia; per-ciò è anche denominato processo di contegg;o, Gli intervalli di tempo tra i cambiamenti del valore aei SUO statp yaòabili aleatorie i.i.d. a distribuzione esponenziale.

lri pratica, un processo di Poisson conta eventi che accadono in modo assolutamcnlc casuale ma tempoinvariante. La distribuzione di Poisson è spesso utilizzata per modellare in modo approssimato la sovrapposizione di processi di eventi diversi di tipo l ' approssiina.lionc è tanto migliore più cresce il numero di processi combinati, tendendOquTudi a diventare una rappresentazione esatta se tale numero tende a diventare infinìto.

Ora, se i ritardi di attivazione degli n eventi che caratterizzano un PSMG, E -{ f' 1 •... ,e 11 }, sono variabili aleatorie i.i.d. con distribuzione esponenziale, le n sequenze di orologio associate a detti eventi <'k, k = 1, ... .r1, risultano processi di Poisson indipen-denti, ciascuno caratterizzato dal parametro À1.:. , /..· = L ... . 11. L'ipotesi che le sequenze di orologio associate agli eventi siano processi di Poisson indipendenti fa sì che in ogni stato ;i· i valori di orologio 00 e E .A(1:), siano indipendenti e distribuiti esponenzialmen-te; allora, sfruttando le proprietà dei processi di Poisson enunciate nell'Appendice C, si

Page 92: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 83

ottiene la distribuzione dei tempi di interevcnto relativa alla "concorrenza" degli eventi abilitati nello stato .r come

Pr{ <>* (:r) < T} = 1 - e- 11<.r)r (3.12)

con .1(.r) = LPi.,EA(.d >.,... Si può dunque concludere che la proprietà di assenza di memoria vale anche per

i PSMG ottenuti con la sovrapposizione di processi di Poisson in cui sono consentite l'abilitazione e la disabilitazione dei singoli eventi in ogni stato .r attraverso la definizione di A (i'); ogni abilitazione/disabilitazione modifica in generale il parametro di Poisson .. 1(.r) che caratterizza i tempi di interevento del PSMG. che di conseguenza non risultano più distribuiti identicamente.

Esempio 3.11. Si consideri ancora il semplice sistema a coda con un singolo servitore riportato in Figura 3.2, in cui però si suppone ora che arrivino due diverse tipologie di clienti. Per questo motivo l'insieme degli eventi risulta ampliato rispetto a quello dell' E-sempio 3.4; infatti in E = { a 1 ,a2 .p1 ·P:.d gli eventi di arrivo e partenza sono distinti dal pedice ( I o 2) che indica il tipo del cliente.

Gli arrivi dei clienti di classe 1 (2) avvengono secondo un processo di Poisson con parametro >.1 , 2) e i loro tempi di servizio sono distribuiti esponenzialmente con parametro /lt c2l; i due processi degli arrivi sono indipendenti. come anche i tempi di servizio. I tempi di servizio esponenziali fanno sì che le sequenze di orologio associate ad ogni evento siano ancora processi di Poisson.

Le proprietà di cui godono i PSMG pem1ettono di effettuare alcune interessanti va-lutazioni sulla dinamica del sistema; ad esempio, se la coda si svuota, l'equazione (3.12) consente di calcolare quanto tempo passerà mediamente prima che un cliente arrivi nel

sistema: tale tempo è pari a ;x1 l :x

2, dal momento che gli unici eventi possibili in questo

stato sono a 1 e a2 e quindi il tempo di interevento risulta esponenzialmente distribuito con parametro (>.1 + >.2).

Inoltre, in ogni stato .r la probabilità che ogni evento P E A ( .r) sia il prossimo evento che accadrà nel sistema può essere calcolata come Àe / .1 ( x), dove Àt è il parametro che caratterizza la distribuzione dell'evento e. Per esempio. se nello stato J' il servitore sta fornendo un servizio ad un cliente di tipo 2, l'insieme degli eventi attivi è A ( .r) = {a1.a2,P2}. caratterizzato da un tasso totale di Poisson . l (;i:) = >.1 + >.2 + tt2 ; quindi le

probabilità che il prossimo evento sia a 1 • a 2 , o p2 sono rispettivamente I\ + + , I 2 tL2

À,1 e t 1\1+1\2 + /12 1\1 +2 + /l'l 0

3.2 Catene di Markov

Nella Definizione 3. 10 non è stato in alcun modo caratterizzato lo spazio degli stati X di un processo di Markov; infatti, detta definizione è valida qualunque sia X, che può essere sia continuo sia discreto. Si può ora introdurre un 'ulteriore distinzione, per caratterizzare i processi di Markov con spazio di stato X discreto, che sono detti catene di Markov. Tale denominazione è dovuta al fatto che essi sono appunto processi stocastici con spazio di c;tato discreto, cioè delle catene (cfr. Appendice C), che soddisfano la proprietà di Markov.

Page 93: Sistemi ad Eventi Discreti

84 Capitolo 3

La Definizione 3.10, del tutto generale, può essere riformulata in modo particolare per le catene di Markov, distinguendole sulla base della natura (continua o discreta) dei parametri che le caratterizzano.

Definizione 3.12. Un processo stocastico {.r(T)} con spazio degli stati discreto (finito o almeno numerabile) X = { :t'o ,x1 ,x2 .... } è detto:

• carena di Markov a tempo continuo (CMTC) se, VT1i U {O}, h =O .... . k + 1, vale la proprietà

Pr{.r.(T1.-+1) = :t1.·+1 I J:(TJ.-) = i:1.-.J:(rk-d = .tk-l· ... ,x(ro) = xo} =

= Pr{:r(Tk+1) = :tk+1 I :t(r,,.) = .i:k} (3.1 3)

• catena di Markov a tempo discreto (CMTD) se le transizioni di stato possono ve-rificarsi solo negli istanti di tempo discreti e vale la proprietà di Markov, Vk E N, espressa come

Pr{.r(k + 1) = x1.-+1 I x(k) = .r1. .. 1:(k - 1) = 1·1.· - 1: ..... i:(O) = .i:o} =

= Pr{x(k + 1) = Xk+1 I x(k) = xk} (3.14)

dove, per evidenziare il fatto che gli istanti di tempo in cui lo stato può cambiare sono discreti, si è indicato con .c(h) lo stato all'istante di tempo r11, h = 0,1. ... ,k + 1; questa notazione verrà adottata nel prosieguo della trattazione sulle catene di Markov. •

La definiz ione esprime formalmente il significato della proprietà di Markov per una catena di Markov continua o discreta; in altre parole, si ribadisce ancora che nei processi che soddisfano tale proprietà il valore attuale del lo stato fornisce tutte le informazioni che servono per predire l'evoluzione futura, indipendentemente dai valori che lo stato ha assunto in precedenza. Siccome, come detto in Appendice C, la proprietà di Markov è propria delle variabili aleatorie a distribuzione esponenziale (tra le variabili aleatorie continue) e di quelle con distribuzione geometrica (tra le variabili aleatorie discrete), si può osservare che le catene di Markov corrispondono alla particolare classe di automi costituita dai PSMG con temporizzazione di Poisson, introdotti nel paragrafo precedente.

Nel seguito di questo paragrafo verranno descritte separatamente le catene di Markov a tempo discreto e le catene di Markov a tempo continuo, per poi mostrare che una catena di Markov a tempo continuo può contenerne una a tempo discreto, che può essere usata per effettuare uno studio approssimato della corrispondente catena a tempo continuo.

3.2.1 Catene di Markov a tempo discreto

catena eh #ar._kov a tempo_!'_iscreto (CMTD) è un automa a stato e temp9 variabile di è caratterizzata dalla pr,opr.ietà dLMa!!çQv,

secondo quanto affermato nella Deùrùzione 3.12. L'evoluzione dinamica di una CMTD, cioè la sequenza dei valori assunti dallo stato,

determinata dall'insieme dellè probabilità di transizimìè di stato

Page 94: Sistemi ad Eventi Discreti

Siscemi ad evenci discreti temporizzati 85

Pu(k) = Pr{.z:(k + 1) = .l'j I J'(k) = J·;} 'f.r; . .1·J E.\. k E N (3.15)

\con l'ovvio vincolo che L.r) EX Pii (k) = l, \fJ:, E X, k E N. Si può clunque definire una CMTD come una tripla {X.P(k).7r(O) }, dove P (J•) è la

matrice delle probabilità di transi:.ione (a wz passo) all'istante k, k E N, definita come

P (k) = [p;1 (k)) k E N, .r,.;r·1 E \

e il veltorc riga 7r(O) = [7r;(O).i E N) è la distribuzione di probabilità (assoluta) iniziale, cioè 7r;(O) = J>r{.r (O) = :r;}, .r; E X .

Nota 3.13. P ( k) è [email protected]#1utriee--U'tocasliea·, perché soddisfa per definizione le seguenti proprietà, 'f k ( N:

P1; E (0,1]

I: Pij(k) = 1 .r1 EX "-

\ V.r; .. ti e X

\1.1;; E X (3.16)

Si noti che la seconda proprietà implica che almeno uno degli autovalori di P ( k) sia uguale a 1. 'f /..· ( N. Inoltre, gli autovalori di una matrice stocastica hanno tutti modulo non superiore a 1. & -

La matrice P(k) consente di determinare a ogni istante di tempo k le probabilità che si verifichi una transizione a un altro stato neU' istante successivo /..· + 1 in altre parole, definendo il vettore delle probabilità (assolute) di stato 7r(k) = [7ro(k),7r1 (/..:) •... ],dove la probabilità che lo stato della CMTD sia .r; ali' istante k è 7r 1 ( k) = P r { .r( k) = .ri}, si può scrivere l'equazione che regola l'evoluzione dinamica di tale vettore come

7r (k + 1) = 7r(k)P (k) (3.17)

Il vettore riga 7r(k) può contenere un numero illimitato di elementi, dal momento che la sua dimensione è pari al numero di stati che la catena può visitare, cioè alla cardinalità dell'insieme.\. L'equazione (3. 17) deriva dall'osservazione che per il teorema della pro-babilicà rotale la singola probabilità rrj(k) che la CMTD si trovi nello stato .l'J all'istante k si può esprimere come - \

\ 7r; (k) = L p,1 rr, (k) \

z, E.\

Le catene di Markov sono quasi sempre associate alla loro utile rappresentazione grafica, sostanzialmente molto simile a quella di un automa, eccetto per i significati dei pesi degli archi. Nel grafo che rappresenta una CMTD, ogni arco è etichettato con il valore di probabilità di transizione dallo stato da cui parte allo stato in cui arriva. Quindi, in tale grafo esiste un arco che va dal nodo J' 1 al nodo .r; se e solo se la probabilità che lo stato del sistema passi dal valore 1· 1 al valore .1:1 è positiva. In generale, la rappresentazione grafica di una CMTD può essere definita formalmente come segue.

Definizione 3.14. Si definisce diagrmnma delle 1ransizJ011i (di stato) di una catena di Markov il grafo orientato pesato Q = (V.A) (cfr. Appendice B).dove F =X è l'insieme dei ve1tici, . l ç 4\: x X è linsieme degli archi e la funzione peso f : A. -t IR assegna a ogni arco"= {.r 1 •• r1 } il peso f(a) pari alla probabilitàp,1 (k) di transizione dallo stato .r, allo stato .r1 ali' istante di tempo k. &

Page 95: Sistemi ad Eventi Discreti

86 Capitolo 3

Esempio 3.15. Si consideri ad esempio di quanto detto la catena di Markov riportata in Figura 3.8. Lo spazio degli stati è X = { x0 ,;rJ}; come si evince dal diagramma delle transizioni di stato in figura, se lo stato è x 1 rimane x 1 con probabilità 1 - p( k) o passa da .r1 a J'o con probabilità p(k), ma se raggiunge il valore .co lo mantiene indefinitamente.

p(k)

L - p(k)

Figura 3.8 CMTD tempovariante con due stali.

La matrice delle probabilità di transizione è

P(k) = [ 1 - l i cui autovalori À1 e À:z sono gli elementi sulla diagonale, cioè I e 1 - p(k), entrambi evidentemente non maggiori di 1. •

Una CMTD che abbia la matrice delle probabilità di transizione P ( k) tempoinva-riantc, cioè con elementi costanti indipendenti dall'istante di tempo k in cui la matrice viene calcolata, è detta omogenea. Nel prosieguo della trattazione le CMTD omogenee verranno considerate con particolare attenzione; per chiarezza si introduce la seguente definizione formale.

Definizione 3.16. Una CMTD è detta omogenea o tempoinvariante quando la probabilità che ogni transizione di stato avvenga non dipende dall'istante di tèmpo in cui la si osserva, ma assume un valore costante, cioè

"--- --- ... Pr{i·(k + 1) = :i:1 I x(k) =:i:;} = Pij V:i_·7,:i·j E X, k E N (3.18)

La matrice (a elementi costanti) delle probabilità di transizione di una CMTD omogenea è definita come P = (pi:J] •. tj,J·J E X. •

Si noti che se nell'Esempio 3.15 la matrice P si assume tempoinvariante, cioè si pone p(k) = p costante, allora la catena di Markov riportata in Figura 3.8 realizza la distribuzione geometrica; infatti, lo stato passa da x1 = 1 a .r0 = O con probabilità p e rimane a 1 con probabilità 1 - p.

Esempio 3.17. Una CMTD può costituire un modello semplificato del comportamento meteorologico previsto quotidianamente per il giorno successivo sulla base delle condi-L.ioni meteorologiche correnti. Si suppone che lo spazio degli stati sia costituito da due soli elementi, S = {x0 ,xi}, con x0 =sole e x 1 =pioggia. Un giorno piovoso segue una giornata di sole con probabilità 0,3, mentre il contrario accade con probabilità 0,4; la matrice delle probabilità di transizione è

P=[ 0,7 0.3 l 0.4 0,6

Page 96: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 87

0,4

0,7 0.6

0,3

Figura 3.9 CMTD che modeUa le previsioni meteorologiche.

Il diagramma delle transizioni della CMTD così definita è riportato in Figura 3.9, dove si può notare che il peso di ogni arco {.t ; .Xj }, i j = 0), è proprio la corrispondente Pii . Per determinare completamente l ' evoluzione della CMTD è necessario specificare la distribuzione di probabilità iniziale; si può per esempio supporre che 7r(O) = [LO], cioè si parte da una giornata di sole. +

Equazioni di evoluzione. La domanda che è lecito porsi a questo punto è: "Qual è la probabilità che una CMTD sia nello stato ;r ; all'istante k ?". Per rispondere a questa do-manda, che equivale ad analizzare il comportamento dinamico della catena, si potrebbe utilizzare l'equazione (3.17), sostituendo ricorsivamente in essa 1 'equazione stessa decre-mentando via via k fino a O; in questo modo si ottiene il vettore delle probabilità di stato all'istante k come

7r(k) = 7r(O) · P (O) · P (l ) · · · P (k - 1) k EN (3.19) ...

In generale non è agevole utilizzare questa relazione per rispondere alla domanda posta; inoltre, la (3.19) si riferisce comunque allo stato iniziale. Si introduce allora la definizione della generica f:!!Obabil if.1!_ diLrqn;Jzi[l!l_e a n Pf!Ssi, l_a probabilità çhe la CMTD si trovi in un certo stato _Ti d_opo n a partìre da uno stato fissato Formalmente, tale pro'6aoiiità è espressa come - - ...

, Pi1 (k.k + n) = Pr{x(k + n) = :i:1 I x(k) = :ri} ' Vxi,Xj E X , k,n E N (3.20) .,.. _ Per il teorema della probabilità totale, le probabilità di transizione a n passi possono

essere riscritte per tutti gli istanti h tali che k h k + n come

JJii (k.k + n) L Pr{x(k + n) = J;j I x(h) = :i·r · :t(k) = i·i } ·

Pr{x(h) = Xr I x(k) =Xi } (3.21)

con Pii(h.h) = 1 e PiJ(h,h) = O, i '# j . Per la proprietà di assenza di memoria di cui godono le CMTD in quanto processi markoviani, si ha però

Pr { :c(k + n) = :l'J I x(h) = =

Prj(h ,k + n) k E N (3.22)

Dalle due equazioni precedenti si ricava la relazione fondamentale delle CMTD

Page 97: Sistemi ad Eventi Discreti

88 Capitolo 3

(3.23)

che è detta equa::,ione di Chapman-Kolmogorov. Introducendo la f\lP.LriCc delle probabilità a n passi

+ n) = [PiJ(k.J.· + 11Yj\ .:!J.;·SL§ X (3.24)

l'equazione di Chapman-Kolmogorov si può riscrivere in forma matriciale, come prodotto di due matrici

- ' l P (k.k + n) = P (k,h) · P (h.k + 11) 1

(3.25)

Da cui, ponendo h = k + n - 1, si ottiene l' equa:ione di Clwpman-Kolmogoro\• in avanti (forward)

P ( k ,k + n) = P ( k. k + n - l ) · P ( /,· + " - LJ.· + n) (3.26)

e ponendo invece h = J.· + 1 si ottiene I' equa-;,ione di Chap111an-Ko/111ogorov all'indietro (backward)

P (k.k + n) = P (k.k + 1) · P (k + l.k + n) (3.27)

Le equazioni di Chapman-Kolmogorov consentono di rappresentare l'evoluzione di-namica dello stato di una CMTD e quindi di rispondere alla domanda posta all'inizio di questo paragrafo.

Un discO!SO particolare merita l'evoluzione temporale delle CMTD che è regolata da leggi tempoinvarianti. Infatti, per una CMTD omogenea l'equazione (3.17) viene riscritta come

7r(k + 1) - 7r (k)P (3.28)

e specificando il vettore delle probabilità di stato iniziali ?T(O), si ottiene dall'equazione precedente e dalla (3.19) l'espressione di ogni probabilità 7r(k) in funzione proprio della probabilità di stato iniziale come

l__?k) = ?T (O) Pk i!._E N ' (3.29)

Nel caso delle CMTD omogenee anche le probabilità a n passi PiJ (k .k + nJ risultano

indipendenti da k e sono pertanto denotate semplicemente con Le due equazioni di Chapman-Kolmogorov (3.26) e (3.27) si possono riscrivere in questo caso rispettivamente come

{ P (n) P (n)

P (n - 1) · P P · P (n - 1)

dove P (n) = è la matrice delle probabilità di transizione a /1 passi. A questo punto. utilizzando l'importante risultato (si veda ad esempio (Bolch et al., 1998) per la relativa dimostrazione)

Page 98: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 89

con P (O) = I J.l1atrice identica di dimensioni opportune, che consente di sostituire la di transf a 7t Eass1 coij la matrice delle probabilità di transi-

zione a un passo P elevata alla potenza n, le equazioni precedenti si fondono nell'unica equaiiOne -- -

pn = pn-h . ph O<h<n (3.30)

la cui verifica viene mostrata per il semplice esempio che segue.

Esempio 3.18. In generale, una CMTD il cui stato può assumere due soli valori diversi, cioè X = { J:0 ,.r1 }, è rappresentata dalla matrice stocastica delle probabilità di transizione

P=[l-p P l q 1 - q

dove i significati di p e q son.o evidenti. La matrice delle probabilità di transizione a due passi è

p (2) [

(1 - p)2 + pq p(2 - p - q) l -q(2 - p - q) (1 - q) 2 + pq -

1 [ q + p(l - p - q)2 p - p(l - p - q)2 ] - 2

p + q q - q(l - p - rz)2 p + q(l - p - q)2 - P

Secondo le equazioni di Chapman-Kolmogorov la matrice delle probabilità di tran-sizione a 3 passi si ottiene come

p (3) = p (2) . p = p. p(2) = _1 _ [ q + p(l - P - q): P - p(l - P - q)3 l = pa

v+q q-q(l-p-q) p+q(l-p-qr3

In generale risulta che la matrice delle probabilità di transizione a 11 passi è

p(n ) = pn = _1_ [ q + p(l - p - q)" p - p(l - p - q)n l p+q q-q(l-p-q)n 71+q(l-p-q)11

• Utilizzando le equazioni (3.28), (3 .29) e (3.30) è possibile effettuare uno studio com-

pleto dei comportamenti transitori di una CMTD omogenea. A questo proposito si riporta il seguente esempio.

Esempio 3.19. Si consideri il sistema produttivo costituito da una sola macchina, non affidabile, introdotto nell'Esempio 3.5; lo stato della macchina può adesso assumere solo due diversi valori, operativa (:r 1) o in riparazione (:r0 ). La probabilità che la macchina si guasti mentre sta lavorando è p, mentre La probabilità che essa venga riparata quando è guasta è r; la CMTD omogenea che modella il sistema descritto è rappresentata in Figura 3.10. Si suppone inoltre che la macchina impieghi un'unità di tempo per eseguire un'ope-razione di lavorazione. Il vettore delle probabilità di stato ha in questo caso dimensione 2, Tr(k) = [rr0 (k),7r1 (k)], k E N; la matrice delle probabilità di transizione P è del tipo generale introdotto nell'Esempio 3. 18, cioè

Page 99: Sistemi ad Eventi Discreti

90 Capitolo 3

P=[lJJr

quindi l'insieme di (due) equazioni (3.28) che determina le probabilità di stato è

tro(k + 1)

7ri{k -t 1)

tro(k) · (1 - r) + 7r1 (k) · p

no(k) · r + 7r1 (k) · (1 - p)

Le equazioni delle probabilità di stato sono evidentemente equazioni alle differenze lineari a coefficienti costanti, le cui soluzioni sono

7ro(k) no(O) ·(I - p - r)k + _..!!__ · (l - (1 - p - r)"] p+r

7r1 (O) · (1 - p - r)I. + _,._ · [l - (1 · p - rl] p+ r

per me11.o delle quali si può studiare il comportamento transitorio della macchina non affi-dabile considerata. Si noti che, come è logico aspettarsi, le probabilità di stato dipendono dal vettore delle probabilità di stato iniziali -rr (O).

p

1 - ,. 1-p

,.

Figura 3.10 Catena di Markov a tempo discreto che modella una macchina non affidabile.

• L'Esempio 3.19, che è poi un caso particolare dell'Esempio 3. 18. può essere esteso

a rappresentare esattamente il sistema produttivo oggetto dell'Esempio 3.5, come viene di seguito riportato.

Esempio 3.20. 11 sistema produttivo costituito da una sola macchina soggetta a guasti trattato nell'Esempio 3.5 può essere rappresentato da una CMTD a 3 stati .ro = F . . r1 = L e .r 2 = G', come in Figura 3 .11.

La probabilità che la macchina ferma cominci una lavora.lionc è i, mentre quando sta eseguendo una lavorazione, la probabilità che la porti a termine è f nel medesimo stato, la macchina si guasta con probabilità g, mentre la probabilità che essa venga riparata quando è guasta è r. Pertanto, la matrice delle probabilità di transizione P è

P=[ 1- i

f ,. I

1 - f - .<J

o o ] " 1 - ,.

Page 100: Sistemi ad Eventi Discreti

Sislenu ad eventi discreti temporizzati 91

g

1- i 1 r

r

Figura 3.11 CMTD che modella il sistema produttivo dell'Esempio 3.5.

Il vettore delle probabilità di stato 7r(/.·) -= [7ro(k).7r1 (k) .7r2 (k)], k E N, ha dinamica governata dalle equazioni

rio(k + 1) 7rl{k+l)

7ri(k + 1)

rro(k) · (1 - i)+ 7r1 (k) · f + 112(k) · r

Jro(k) ·i+ 11"1 (k) · (1 - f - g) 7r1(k) · g + 7r2(k) · (1- r) A· E N

Le equazioni delle probabilità di stato sono ancora equazioni alle differenze lineari a coefficienti costanti, le cui soluzioni possono essere determinate per mezzo dell'equazio-ne (3.29). +

Classificazione degli stati di una CMTD. Per determinare i possibili comportamenti di una CMTD è utile caratterizzare i possibili valori dello stato, cioè gli elementi dell'in-sieme X, sia singolarmente sia in relazione con gli altri. Una classificazione preliminare degli stati di una CMTD è fornita dalla seguente definizione.

Definizione 3.21. Uno stato :e; E .Y è detto raggiungibile o accessibile da un altro stato .r 1 E X, se è possibile che una sequenza di lransilioni ùi stato po1ti la CMTD dallo stato

.r, allo stato J'j, cioè se > .O per qualche n E N. Due stati mutuamente raggiungibili sono detti comunicanti. ogni stato in X è comunicante con ciascuno degli altri, la CMTD è detta irriducibile, altrimenti è detta riducibile. A

È possibile interpretare "graficamente" questa definizione sulla base del diagramma delle transizioni di sLato di una CMTD, che sappiamo essere un grafo orientato pesato, richiamando le proprietà enunciate nell'Appendice B. Risulta chiaro che se J'j è raggiun-gibile da :r; . allora esiste nel grafo almeno un cammino orientato che collega .r 1 a .r 1 ; è J,

altresì chiaro. con riferimento alla Definizione B. l 3, che gli stati comunicanti devono ap-partenere alla stessa componente fortemente connessa; infine, il grafo che rappresenta una CMTD irriducibile è fortemente connesso e dunque ha un'unica ·componente assorbente e non ha componenti transitorie. \

Nota 3.22. DaJ punto di vista grafico, le componenti assorbenti di una CMTD si distin-guono dalle componenti transitorie per il fatto che da queste ultime escono degli archi, mentre le componenti assorbenti possono avere solo archi in ingresso. La presenza di almeno un arco che esce da una componente transitoria di una CMTD significa, in modo

Page 101: Sistemi ad Eventi Discreti

92 Capitolo 3

congruente con la denominazione stessa di transitorio, che lo stato del sistema uscirà pri-ma o poi dalla componente. Al contrario, se lo stato entra in una componente assorbente di una CMTD, vi rimane indefinitamente. •

Per completare la classificazione degli stati di una CMTD, si introduce un 'ulteriore definizione.

Definizione 3.23. Per ogni stato :ci E X la probabilità di ritorno in n passi, cioè la probabilità che il primo ritorno nello stato xi lasciato all'istante k avvenga ali' istante k + n, è definita come

fJi(n) = Pr{x(k + 1)-::/- ... ,.c(k + n - 1)-::/- ;i:i ,.r(k + n) = .ri I :r(k) = 1:i}

Di conseguenza, la probabilità di ritorno allo stato Xi è definita come

Xi

{!, = L: {!;(n) n=l

Sulla base della definizione precedente, si può completare la classificazione degli stati di una CMTD come segue.

Definizione 3.24. Uno stato .r 1 E X è detto:

• transiente, se {}i < l;

• ricorrente, se Qi = 1, cioè il ritorno allo stato è certo; per uno stato ricorrente, si de-finisce il tempo medio di ricorrenza mi = ng1(n): lo stato è detto ricorrente positivo se mi è finito, altrimenti è detto ricorrente nullo;

• ricorrente con periodo d, se esiste un numero d > 1 massimo comune divisore

dell'insieme {n >O I >O};

• ricorrente aperiodico, se d = 1 è il massimo comune divisore dell'insieme {Il > o I > O}.

Facendo ancora riferimento alle proprietà riportate nell'Appendice B e sulla base del-le definizioni precedenti vengono enunciati nella seguente proposizione alcuni importanti risultati, forniti J)GI' brevità senza le relative dimostrazioni, che sono abbastanza semplici e reperibili nei tanti testi che dedicano ampio spazio alla trattazione delle catene di Markov, come ad esempio (Bolch et al., 1998) e (Gillespie, 1992).

Proposizione 3.25. In una CMTD:

• uno stato è transiente se e solo se appartiene a una componente transiente del dia-gramma delle transizioni;

• uno stato è ricorrente se e solo se appartiene a una componente assorbente dcl diagramma delle transizioni;

Page 102: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 93

• se è irriducibile, tutti gli stati sono aperiodici, oppure sono periodici con lo stesso periodo (questo risultato vale anche per ogni singola componente assorbente);

• se lo spazio degli stati X è finito, almeno uno degli stati è ricorrente f> tutti gli stati ricorrenti sono ricorrenti positivi.

• A corollario e commento si noti che ogni stato x 1 raggiungibile da uno stato ricor-

rente (ricorrente positivo) .r, è a sua volta ricorrente (ricorrente positivo).

Esempio 3.26. Si consideri una CMTD con spazio di stato .Y = { x0 ,:r 1 .. r2 .!ra .:1: 1 =1·::i}; la sua matrice delle probabilità di transizione è

OA 0.6 o o o o 0.7 0.3 o o o o

P - o o o 1 o o o o 1 o o o

' . o o o o 1 o A5 0,1 0:1 0,1 0,1 o, 1 0,5

0.7

0.4

O.I

Figura 3.12 CMTD con sei stati.

Dalla matrice P, così come dal diagramma delle transiLioni di stato riportato in Fi-gura 3.12, risulta chiaro che i 6 valori possibili dello stato possono essere classificati come segue. Solo le coppie di stati {.r0 , .r1} e {J·2, .r3} sono comunicanti, quindi la CMTD è riducibile. Gli stati sono tutti ricorrenti positivi tranne J·5 , che è transiente: tra gli stati ricorrenti, .r0 , .z:1 e .r.1 sono aperiodici, mentre .r2 e .c:i hanno periodo 2. 11 grafo che rap-presenta la CMTD può essere partizionato nelle 4 componenti fortemente connesse {.r0 ,

.r1 }. {.t:i •. r·d. {."r.d e {.r5 }: la prima, la seconda e la terza sono componenti assorbenti e come tali composte da stati ricorrenti positivi, mentre la quarta è evidentemente una componente transitoria, dunque composta dallo stato transitorio della CMTD.

Page 103: Sistemi ad Eventi Discreti

94 Capitolo 3

Si noti che è possibile verificare la periodicità degli stati ricorrenti mediante le de-finizioni viste in precedenza. Infatti , risulta per esempio che gli stati e .t8 hanno probabilità di stato a n passi uguali rispettivamente a

e (n) _ {O

P3a - I

Quindi tali stati hanno uguale periodo d = 2.

per n dispari

per n pari

per n dispari

per n pari

• Analisi del comportamento a regime. Dopo aver imparato a distinguere i diversi tipi di stato e a caratterizzare le proprietà a essi associate, possediamo le conoscenze per impostare uno studio analitico del comportamento a regime di una CMTD omogenea. Si considera che un sistema modellato da una CMTD abbia raggiunto le condizioni di regime quando ha funzionato abbastanza a Jungo da far assestare le probabilità di stato su valori costanti e si trova dunque in condizioni di equilibrio. Ovviamente non c'è alcuna garanzia che ciò accada, cioè che esista un regime per il sistema in esame; pertanto, prima di intraprendere lo studio del comportamento a regime di un sistema, è sempre utile valutare se tale comportamento può esistere. In altre parole, è necessario in primo luogo individuare le condizioni di esistenza dei valori asintotici

7r j = lim 7T i ( k) k-+oo

(3.31)

che costituiscono la cosiddetta distribuzione limite di probabilitù di stato a ref?ime 7r = [7T j, j E N). Tale distribuzione se esiste è evidentemente una distribuzione stazionaria e come tale soddisfa la relazione (3.28) a regime, cioè l'equazione rr = rrP.

Le relazioni di (in)dipendenza della distribuzione limite da 7r(O) e l'esistenza stessa di 7r carattcrinano la CMTD come specificato nella seguente defini.tione.

Definizione 3.27. Una CMTD è detta ergodica se e solo se i valori limite di probabilittt Tt1 definiti dalla (3.31). che formano la distribuzione limite 7r, esistono V.ci E X e sono indipendenti dal vettore delle probabilità di stato iniziale 7r(O). A

Per CMTD ergodiche vale il seguente teorema.

Teorema 3.28. In una CMTD ergodica, il vettore 7r = (r.0 .ir1 •... ] che rappresenta la distribu:ione limite di probabilitù degli stai; a regime si determina in maniera univoca come soluzione del sistema di equazioni

1 (3.32)

Risulta inoltre rr 1 1 .,,,.-, .ri

J •

Page 104: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 95

Esiste anche un risultato meno forte e meno interessante, che si riporta per comple-tezza. Tale risultato è relativo alle CMTD irriducibili aperiodiche che non sono ergodiche e non contengono stati ricorrenti positivi. Tali catene hanno necessariamente un numero di stati infinito e verranno tr3ttate brevemente nel paragrafo 3.2.4.

Teorema 3.29. In una CMTD irriducibile aperiodica in cui tutti gli stati sono transienti o ricorrenti nulli. si ha

7r j = lim 7r 1 ( = O k-too

V.r:j E X

• È evidente che lo studio del comportamento stazionario di una CMTD ha senso solo

se la catena è ergodica, perché questa è la condizione di esistenza dcl regime stesso. Il problema diventa allora quello di determinare in modo semplice se una CMTD è ergodica oppure no. A questo proposito esistono due risultati fondamentali, enunciati di seguito, che forniscono condizioni necessarie e sufficienti per l' ergodicità di una CMTD attraverso due diversi tipi di indagine.

Teorema 3.30. (Criterio degli autovalori) Una CMTD omogenea finita è ergodica se e solo se tutti gli autovalori della matrice P hanno modulo minore di I, ad eccezione dcli' autovalore pari a I che caratterizza ogni matrice stocastica. •

Teorema 3.31. (Criterio grafico) Una CMTD omogenea finita è ergodica se e solo se essa contiene solo una componente assorbente e tale componente risulta aperiodica. •

Esempio 3.32. Si consideri ancora la CMTD dell'Esempio 3.26, che si può subito clas-sificare come non ergodica sulla base del c1iterio grafico, osservando il suo diagramma delle transizioni di stato riportato in Figura 3.12; si è peraltro già osservato che tale CMTD contiene ben 3 componenti assorbenti. Si vuole verificare ancora la non ergodicità. questa volta mediamc rapplicazione del Teorema 3.30. Gli autovalori della matrice P sono le 6 soluzioni della corrispondente equazione caratteristica

(À + l)(À - 0.5)(À - 1)2 (Xl - 0.7.À - O.:l) =O

ossia À1 - -1, ,\2 - 0.5, .-\3 = -Q.:3, À 1 = À'> = À6 = 1: è vero che non ci sono autovalori di modulo maggiore di 1, ma ce ne sono ben 4 con modulo unitario, il che secondo il teorema rende la catena non ergodica. + Esempio 3.33. Siamo ora in grado di completare lo studio dcl comportamento della mac-china non affidabile considerata nell'Esempio 3.19: in primo luogo verifichiamo, sulla base del Teorema 3.30. se la CMTD che modella il sistema descritto è ergodica. I due autovalori di P sono ,\ 1 - 1 - p - re (ovviamente) À:i = l; la condizione di ergodicità da soddisfare è dunque I 1 - p - r I< 1, che è sempre verificata tranne nel caso limite p = r = 1, che implica À 1 - -1 . Tralasciamo per il momento questo caso. supponendo che valga sempre p -t r < 2. Si può applicare il Teorema 3.27. che garantisce che i valori limite " 1 - I im 7f 1 ( k), .i·1 = O. l. esistono e sono indipendenti dal vettore delle probabi-

k •X

lità di stato iniziali 7r (O); inoltre. secondo il Teorema 3.28 le distribuzioni staZionane di probabilità di stato a regime sono le soluzioni dcl semplice sistema (3.32)

Page 105: Sistemi ad Eventi Discreti

96 Capitolo 3

7ro • (1 - r) + 7r1 · p 7ro · r + 111 • ( 1 - p)

(3.33)

dove la condizione L 1l"J = 1 è evidentemente soddisfatta. Le distribuzioni delle j=l.2

probabilità di stato a regime sono quindi

p Tio =

p + r p + r

che descrivono il comportamento a regime della macchina non affidabile considerata. Lo studio di un sistema produttivo consiste solitamente nella valutazione di alcune grandeuc di interesse, considerate indici delle prestazioni del sistema; in questo senso, è possibile associare al comportamento a regime un significato intuitivo: quando il sistema raggiunge lo stato stazionario le misure delle prestazioni prescelte si mantengono su valori circa costanti . Supponiamo che si voglia valutare la produttività (numero di operazioni I unità di tempo) a regime della macchina; la macchina completa un'operazione in un'unità di tempo, perciò la probabilità che essa stia lavorando, cioè si trovi nello stato 1, costituisce l'espressione della sua produttività. Allora il valore stazionario della produttività è 71' 1 = P +. ,. , che è in questo caso esattamente costante. Consideriamo adesso il caso p = r = 1, che secondo il Teoremu 3.30 rende la catena non ergodica. Si noti peraltro che anche le Proprietà 3.25 portano a tale risultato, in quanto i due stati della CMTD risultano sì ricorrenti positivi, ma con periodo 2, dunque non ergodici. Il diagramma delle transizioni di stato è rappresentato in Figura 3. 13.

p=1

r= l

Figura 3.13 CMTD dell'Esempio 3.19 con p r = 1.

Determiniamo l'espressione della probabilità 7r ( k ) per mezzo dell'equazione (3 .29): La matrice delle probabilità di transizione è ora

che, come si può notare, è un caso particolare (banale) della matrice P dell'Esempio 3.18. Elevando a potenza la matrice P , si ottiene

da cui si ricava

J.· {p p = p :.?

se k è dispari

se k è pari

Page 106: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temponzzati 97

7ro(k) { 7T1 (O) se k è dispari

7ro(O) se k è pari

7r1 (k) { 7ro(O) se k è dispari

7r1 (O) se k è pari

(3.34)

È quindi evidente non solo che 7r(k) dipende da 7r(O), ma anche lim 7rj(k), ""'<)

.r1 - 0.1, perché lo stato continua a oscillare indefinitamente tra due valori. Dal punto di vista fisico, la condizione p = r = 1 significa che la macchina continua a passare dallo stato operativo .r1 allo stato di guasto .r0 e viceversa. +

L'esempio appena terminato offre lo spunto per enunciare un'ultima proprietà delle CMTD.

Proprietà 3.34. Grazie alla proprietà di Markov, in una CMTD il tempo di permanenza in ogni stato .t; E X segue la distribuzione geometrica con parametro p 11 • •

Riprendendo l'esempio precedente, si nota che nel caso in cui la CMTD non è er-godica, il tempo di permanenza in ciascun stato è nullo, proprio come abbiamo concluso; altrimenti, la probabilità che la CMTD rimanga per /1 passi in i·0 è r · (1 - r) 11

-1 e in .r1

èp· {1-p)n l

3.2.2 Catene di Markov a tempo continuo

La trattazione delle CMTC verrà portata avanti in modo del tutto analogo alla preceden-te trattazione sulle CMTD. Come enunciato nella Definizione 3.12, la variabile di stato .r(r) di una catena di Markov contiene tutte le informazioni sul suo comportamento fino all 'istante di tempo T necessarie per prevedere l'evoluzione della stessa dall'istante r in avanti. A differen1.a di una CMTD, in una CMTC una transizione di stato può avvenire in qualunque istante di tempo re ciò motiva la denominazione "a tempo continuo". L'e-voluzione dinamica di una CMTC è completamente regolata dallefim:ioni di transi:ione. La genericafun:ione di transi:io11e è definita come la probabilità di transizione da uno stato .7'; all'istante r 1 a uno stato J"J all'istante r2 , ossia

con il vincolo 2::: ]J1; ( T1 .12) = 1

.I EX

(3.35)

(3.36)

Le singole probabilità di transizione sono raccolte nella matrice delle probabilità di transizione

P(11 .T2) = [PiJ(T1 .T2 )]

con P(1.r) = I. Si noti tuttavia che una CMTC non può essere univocamente descritta in termilù di P(11 .r2 ) perché esistono infinite matrici di questo tipo al variare di 1 1 e r'2 in Jll,_.

Definendo il vettore delle probabilità di stato all'istante di tempo r come 1T ( r) = [ rr1 ( T) .. r 1 E X]. dove r. J ( T) è la probabilità che la CMTC si trovi nello stato r1 ali' istante

Page 107: Sistemi ad Eventi Discreti

98 Capitolo 3

T, ossia 7r.1(r) = Pr{.r(r) = .rJ }, si può scrivere l'equazione che regola l'evoluzione dinamica della catena come

7r(r I ...ir) = iT(r) P (r.T + .....\r) (3.37)

infatti, ancora per il teorema della probabilità totale, risulta che

11j(T + .Jr)= L Pii(T:T + ...ir)11'j(T) r,E.\

in perfetta analogia a quanto visto per le CMTD. Anche le CMTC omogenee, ossia tempoinvarianti, godono di particolari proprietà

che le rendono più semplici da studiare rispetto alle CMTC generalmente tempovarianti; a questo proposito si introduce la seguente definizione formale.

Definizione 3.35. Una CMTC è detta omogenea o tempoinvariante se le funzioni di tran-sizione p 1J ( r1. r2), \lr 1 ·J·1 E X, non dipendono dai singoli istanti di tempo T1 e r2, ma solo dalla loro differenza E, = T2 - r 1; l'equazione (3.35) si può dunque riscrivere come

P1i(r1,T1 t-ç) =Pi;(()= Pr{:r(r1 +E,) =-t;j:x(ri)-.r1} \l:ri.X; EX

La matrice delle probabilità di transizione di una CMTC omogenea P ( r 1• r 1 +E,) viene allora semplicemente indicata con P (ç). A

Equazioni di evoluzione. Sulla base della Definizione 3.12 e della relazione (3.35), applicando il teorema della probabilità totale, si ottiene la versione a tempo continuo delf' di Chapman-Kolnwgorov, fissato ( E [r1 . r2], come

P1;(T1 .T2) = L P11 (r1 .() · Pr;((.T2) (3.38) .r,.E X

che in forma matriciale diventa

P (r1 .r2) = P (r1 .() · P ((,r:?) r1 ( < T2 (3.39)

Utilizzando la matrice delle probabilità di transizione P ( .,. ) si può scrivere l'equazione di Chapman-Kolmogorov in forma matriciale, per gli istanti di tempo r tali che r1 r r +.Jr, .Jr > O, come

P (r1 :r + .J7) = P (r1 .T) · P (T.T + .J r) Tt < T T + .J7

Dopo alcuni passaggi algebrici consistenti nel sottrarre P ( r 1 • T) ai due membri della relazione precedente e dividere gli stessi per .Jr, si può passare al limite

1. P (r1 ,r +.Jr) - P (r1 ,T) P ( )

1. P (r.r +.Jr) - I

llll = r1 .r · tiri .:.h - >0 .JT · .Jr •O .dr

Tale equazione, osservando che il suo primo membro è la derivata pauiale della matrice P( r 1 .r) rispetto are introducendo la definizione della matrice dei tassi di transizione o generatore ù{finitesimale

Page 108: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 99

Q (T)

può essere riscritta come

1. P(1,1 + d1) - I im

... h-tO (3.40)

(3.41)

che viene detta equazione differenzia/e di Chapman-Kolmogorov in avanti (forward); pro-cedendo in maniera analoga si ottiene equazione differenziale di Chapman-Kolmogorov all'indietro (backward)

DP(T11T) - Q ( ) P ( ) - - 71 · 71 ,T

811 (3.42)

Si noti infine che la definizione della matrice Q (r) (3.40) consente di esprimere la derivata dell'equazione (3.37) rispetto al tempo come

cl7r(T) = 7r(r)Q (r) dT

che è effettivamente l'analogo a tempo continuo deu ·equazione (3.17).

(3 .43)

Nota 3.36. La matrice Q ( r) soddisfa per definizione le seguenti proprietà, Vr E JR+ :

Qii(r)

L qu(r) :ri EX

o

V.ri,.Z-; E X, i f. .i V:1: 1, E X

V:ri E X (3.44)

Si noti che la terza proprietà impLica che almeno uno degli autovalori di Q( T) sia uguale a O, V1 E Ill+-. Inoltre, la definizione stessa di Q e il significato dei suoi elementi implicano che tutti i suoi autovalori abbiano modulo non positivo. à

In generale, una CMTC può essere definita come una tripla {X,Q(r),7r(O)}, dove Q (T) è la matrice dei tassi di transizione all'istante di tempo Te 7r (O) è il vettore di pro-babilità di stato iniziale; nel caso di CMTC omogenee, la matrice dei tassi di transizione Q ( T) norn dipende dal tempo e viene indicata semplicemente con Q, da cui si può ricavare P (r), "<:/r E Jl4 .

Peraltro, per la proprietà di tempo-invarianza l'equazione differenziale di Chapman-Kolmogorov in avanti (3.41) viene riscritta come

dP(E) = P (ç) . Q dç

(3.45)

la cui soluzione, prendendo come condizioni iniziali p;; = 1 e p,J = O (cioè, all'istante iniziale non possono verificarsi transizioni di stato tra due stati differenti), è

}

P (ç) = eQç Vf,, E JR+ (3.46) .,.

Page 109: Sistemi ad Eventi Discreti

100 Capitolo 3

CX)

dove, com'è noto, eQç = L 1

, 7.

h=O Inoltre, per CMTC omogenee l'equazione (3.43) viene riscritta come

rhr(T) = 7r (T)Q dT

(3.47)

Si può notare da quanto detto finora la corrispondenza, che risulterà via via più evi-dente nel prosieguo della trattazione, di uso e di utilità tra la mau·ice P delle probabilità di transizione a un passo per una CMTD e la matrice Q dei tassi di transizione per una CMTC.

infatti, queste due matrici svolgono lo stesso "ruolo" non solo tlelle equazioni che governano l'evoluzione delle due corrispondenti tipologie di catene di Markov, ma anche nelle rappresentazioni grafiche delle stesse, come risulta dalla seguente definizione.

Definizione 3.37. Si definisce diagramnia delle transizioni (di stato) di una CMTC il grafo orientato pesato 9 = n ·,A.) (cfr. Appendice B), dove 1 · = X è l'insieme dei vertici, A ç X x X è l'insieme degli archi e la funzione peso f : A --7 a ogni arco a= {.r,.,:rj} il peso f (a) pari al tasso Qij di transizione dallo stato :r·i allo stato J'j,

i i- j. •

Si noti che, a differenza di quanto visto per le CMTD, nel diagramma delle transizioni di stato di una CMTC non possono esistere cappi, ossia le transizioni di stato corrispondono effettivamente a cambiamenti del valore dello stato della catena.

Anche per questa ragione il significato degli clementi della matrice Q non è così immediato come nel caso della matrice P , ma è fondamentale comprenderlo appieno. Allo scopo di chiarire tale significato, si estrae dali ' equazione matriciale (3 .45) la generica equazione differenziale scalare di Chapman-Kolmogorov

clpij (E,) dE, = Pii (E,) · qjj + L....t Pih (E,) · qhj

h=fJ

Nel caso particolare 'i = j tale equazione è riscritta come

dpu(E,) ( dé, = Vii (,) · fJi1 + L....t JJ11t (ç) · qh;

h;;f.i

che, ponendo ç = O e Pih = 1 se i = h, O altrimenti, diventa

dpu(E,) dE,

che a sua volta può essere riscritta come

Qii e-o

d -[l - Pii([,)] dE, e=o

Page 110: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 101

La quantità (1 - JJii (ç)] rappresenta la probabilità che la CMTC lasci lo stato Xi in un intervallo di tempo E,, pertanto -q;; può essere considerato come il tasso istantaneo con cui ciò eventualmente avviene. Analogamente, se i =f:. j, la quantità

e-o rappresenta il tasso istantaneo con cui avviene una transizione dallo stato .r i allo stato J'1 .

Nota 3.38. Per comprendere come la matrice Q caratterizza la CMTC relativa è uti-le ricordare che le catene di Markov sono PSMG con temporizzazione di Poisson. Già nel paragrafo 3.1.3 è stata richiamata la proprietà, riportata in Appendice C, per cui un processo stocastico risultante dalla sovrapposilione di m processi di Poisson mutuamen-te indipendenti, ciascuno caratterizzato da un parametro >..;, i = l. ... . m, è ancora un processo di Poisson, caratterizzato dal parametro . 1 = >..i.

Allora, se nel caso di un automa markoviano si è parlato del parametro .1(.r), somma dei parametri di Poisson relativi agli eventi attivi nello stato .r, per una catena di Markov, in cui un evento è una transizione di stato, il parametro /l (xi) viene a caratterizzare la distribuzione dei tempi di permanenza relativi allo stato x;; infatti, in questo contesto i tempi di permanenza negli stati sono l'omologo dei tempi di interevento per gli automi markoviani.

Quanto detto porta a concludere che la "propensione" -qu della CMTC a lasciare lo stato .z·; dipende dalla distribuzione dei tempi di permanenza relativi e risulta -q,, = l(:r 1 ): ciò concorda anche con la caratteristica che il tasso totale di evento che caratterizza

ogni stato x, E X, cioè -<1u, sia sempre positivo. Inoltre, per quanto riguarda invece gli elementi qiJ, i =f:. j. tassi istantanei di transizione da .r; a :r J, per lo stesso motivo risulta q,J = >..;1 , \;/:r; .. r 1 E X, con >..u parametro del processo di Poisson relativo all'evento che provoca la transizione di stato da 1· i a .rj. A

Data la complessità dell'analisi del comportamento di CMTC non omogenee, nel seguito della trattaLione verranno considerate solo CMTC omogenee. Per tali CMTC, le probabilità (assolute) di sraro 7rJ ( T) risultano, applicando il teorema della probabilità totale,

1TJ(T) I'r{.t(T) .r1 } = L Pr{:r(T) = .rji.r(O) = :i;i} · I'r{.r(O) = :r:i} = .r;EX

L P1;(T). 7T,(O) (3.48) .r, E.\'

che in forma matriciale risulta

(3.49)

Questa equazione permette di specificare il comportamento transitorio di una CMTC omogenea dall'istante iniziale fino all'eventuale raggiungimento di condizioni di regime. È importante però sottolineare che determinare i singoli elementi 1T 1 ( T), j E N, del vettore di probabilità di stato al generico istante T non è affatto facile, neanche per CMTC che rappresentino SED molto semplici.

D'altra parte è utile invece notare che, derivando l'equazione (3.49) rispetto al tempo. si ottiene nuovamente la caranerizzazione al caso di CMTC omogenee dell'equazione

Page 111: Sistemi ad Eventi Discreti

102 Capitolo 3

differenziale (3.43), cioè l'equazione (3.47), che ha la stessa forma dell'equazione di Chapman-Kolmogorov (3.45) e corrisponde all'insieme di equazionj differenziali scalari

rf1i1 (r) '"" I = Qjj . 7ij(r) + . 7i;{7) <r

j#i

.J E N (3.50)

che sono in numero pari alla cardinalità dello spazio di stato .\. Si noti che, nelle equa-zioni (3.50), la quantità-(CJJ.1dr) rappresenta la probabilità che, trovandosi il sistema nello stato Ij, tale stato venga lasciato ncJl ' intervallo <fT; analogamente, la quantità Qi;dT rap-presenta la probabilità che si verifichi una transizione daUo stato :r:; allo stato xi durante l'intervallo eh.

Esempio 3.39. Si consideri ancora il sistema a coda dell'Esempio 3.4. caratterizzato dall'insieme degli eventi E = {a ,p}; si fa ora lipotesi che il sistema possa accoglie-re al massimo due utenti. che devono essere serviti contemporaneamente, per cui si ha X = { .i:0 . .r1 .• r2 } . Si vuole determinare la rappresentazione dcl sistema per mezzo di una CMTC. Gli eventi a di arrivo si verificano con tasso À e gli eventi p di partenza con tasso /L; la corrispondente matrice dei tassi di transizione Q è

[

Q= u Jl

La CMTC omogenea che modella il descritto è rappresentata in Figura 3.14.

µ

Figura 3.14 Catena di Markov a tempo continuo che mode!Ja un sistema a coda con due utenti.

L'insieme di (tre) equazioni (3.50) che determina le probabilità di stato è

<filo { T)

dr

cf1r1(T) dT

dri2(r) dr

-À · 7ro(r) 1I'·112(r)

-À · 71'1 (r) + À · 7ro(7)

Page 112: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 103

Dato il vettore delle probabilità di stato iniziali 7r(O), si possono ottenere le soluzioni 7ro(r), 7r1 (r) e 7r2 (r). Purtroppo questa possibilità è quasi teorica, perché non è affatto semplice trovare in forma esplicita tali soluzioni. t

Analisi del comportamento a regime. L'insieme di equazioni (3.50), o l'equivalente equazione matriciale (3.47), descrive completamente l'evoluzione di una CMTC; si è det-to però che è in generale molto complicato ottenere delle espressioni in forma chiusa delle singole probabilità di stato, che consentirebbero di effettuare lo studio del comportamen-to transitorio. D' aJtrondc spesso linteresse è rivolto all'analisi dcl solo comportamento a regime (o stazionario) dei modelli cli SED, trascurando il comportamento transitorio, e fortunatamente tale studio risulta in questo contesto molto più semplice.

Come nel caso a tempo discreto, si prendono in considerazione i valori limite di pro-babilità di stato (3.3 1 ): dapprima si cercano le condizioni cli esistenza di tali valori, poi si valuta se essi formano una distribuzione di probabilità dello stato a regime, cioè se è rispettato H vincolo LJ· -e x 7ij = 1. e infine si calcolano i valori stessi. L'analisi del

J •

còmp9rtaI!lento stazionario di una CMTC risulta dunque del tutto analoga a quella che si effettua per una CMTD; in particolare, si può effettuare una classificai.ione degli stati simile-a quanto visto per le CMTD (Definizioni 3.2 1 e 3.24) e sono state dimostrate pro-prictFanaioghe alle Proprietà 3.25. Di conseguenza, vengono di seguito riportati soltanto i risultati più significativi, ancora una volta legati alla proprietà di ergodicit'à delle catene di Markov.

Definizione 3.40. Una CMTC omogenea è definita ergodica se e solo se esiste una sola distribuzione del vettore di probabilità a regime dello stato 7r = [r.0 .111 .... ] tale che 7ij = limr-tx· rcj(T), 'V.rj E X e tale distribuzione è indipendente dal vettore di probabilità di stato iniziale 7r(O). .&

Teorema 3.41. Il vettore 7r delle probabilità limite di una CMTC ergodica è determinato in maniera univoca risolvendo il sistema di equazioni

(3.51)

• Per chiarire il significato e l'importanza dci teoremi appena enunciati, si riporta il

seguente esempio.

Esempio 3.42. Si consideri ancora la macchina non affidabile degli Esempi 3.19 e 3.33: lo stato della macchina può ancora assumere solo i due diversi valori operativa (.r1 ) e in

(.r0 ). La probabilità che la macchina si guasti durante il generico intervallo l r. r + -1T] in cui sta lavorando è p-1r, mentre la probabilità che essa venga riparala quando è guasta nell'intervallo [T. T + -1Tj è r-1r; la CMTD omogenea che modella il sistema descritto è rappresentata in Figura 3. l5. In questo caso è necessario anche speci-ficare la probabilità che la macchina termini un'operazione durante il generico intervallo [ r. r + -1 r] in cui non è guasta, che è defi n ila come ll.J r.

Le funzioni di transizione di stato che caraucrizzano r evoluzione temporale della CMTC definita sono tempo-invarianti, quindi la CMTC risulta omogenea; la matrice dei tassi di transizione è

Page 113: Sistemi ad Eventi Discreti

104 Capìtolo 3

p

,.

Figura 3.15 Catena di Markov a tempo contìnuo che modella una macchina non affidabiJe.

[ -r r l

Q= p -p

L'insieme di equazioni (3.50), equivalente all'equazione matriciale (3.47), risulta

{ = -110(7) · r + 7r1(1) · P

= 7ro(7) · r - 7r1(1) · p

Le soluzioni delle due equazioni differenziali scalari (a coefficienti costanti) sono

7io(T) _P_ + [rro(O) - _P_] · f- (p+r)r p+r p+r

per mezzo delle quali si può studiare il comportamento transitorio della macchina. Per quanto riguarda invece il suo comportamento a regime, si noti che dal momento che la CMTC è irriducibile e ricorrente positiva, cioè ergodica, si può applicare il Teorema 3 .41, che consente di determinare le distribuzioni di probabilità di stato a regime

7iQ p

p+r

r

p+r

che descrivono il comportamento a regime della macchina e sono uguali a quelle trovate nella sua rappresentazione come CMTD nell'Esempio 3.33. Per completare il parallelo con il modello a tempo discreto della macchina non affidabile, si noti che in questo caso

il tasso medio di produttività è 7r1 · J.l = ;· + Per completare l'analogia di trattazione tra CMTD e CMTC, si noti che anche in

questo contesto Lo studio del comportamento stazionario ha senso solo se la catena è ergodica, perché questa è la condizione di esistenza del regime stesso. Il problema diventa ancora quello di determinare in modo semplice se una CMTC è ergodica oppure no. A questo proposito esistono due risultati fondamentali, omologhi dei Teoremi 3.30 e 3.31, che vengono di seguito enunciati.

Page 114: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 105

Teorema 3.43. (Criterio degli autovalori) Una CMTC omogenea finita è ergodica se ( e solo se tutti gli autovalori della matrice Q hanno modulo minore di O, a eccezione dell'autovalore pari a O che caratterizza tale matrice (cfr. Nota 3.36). •

Teorema 3.44. (Criterio grafico) Una CMTC omogenea finita è ergodica se e solo se essa contiene solo una componente assorbente. •

La verifica delJ'ergodicità della CMTC nell 'Esempio 3.42 può essere effettuata rapi-damente osservando che l'autovalore della matrice Q diverso da À1 =O è À2 = -(r + p), valore negativo. Di seguito viene riportato un esempio in cui la determinazione delle pro-babilità di regime è leggermente più complicato, a causa dell'aumentato numero di stati possibili.

Esempio 3.45. Si riprende il modello tramite CMTC della macchina non affidabile tratta-to nell'Esempio 3.42 per completarlo prevedendo che essa possa anche essere riparata; lo stato della macchina può allora assumere tre diversi valori, come nell'Esempio 3.5: ferma (x0 ). operativa (.?;i) e guasta (x2 ). La CMTC omogenea che modella il sistema descritto è rappresentata in Figura 3.16, dove ogni arco è etichettato con il corrispondente tasso di transizione.

,.

g

Figura 3.16 CMTC che modella una macchina non affidabile c;on riparazioni.

Quando la macchina è nello stato :ro, viene attrezzata per la successiva lavorazione che deve effettuare; ad attrezzaggio finito, la macchina diventa operativa e passa allo stato J · 1 con tasso di transizione i. Nello stato x1 , come nell'Esempio 3.5, ci sono due possibilità: la macchina completa la lavorazione che sta eseguendo e ritorna allo stato :r0 per essere attrezzata per la successiva lavorazione, oppure si guasta prima di finire la lavorazione e passa allo stato .r2 ; sia i tempi di lavorazione che i tempi di interguasto sono variabili aleatorie con distribuzione esponenziale, con parametro I e g, rispettivamente.

La matrice dei tassi di transizione è

-(l + g) ,. () ] .Q

-I'

Si noti che gli elementi sulla diagonale di Q sono ottenuti imponendo il vincolo dovuto alla proprietà 3.44.

Dalla Figura 3. J 6 si può verificare facilmente che i tre stati sono ricorrenti positivi; inoltre, è evidente che la CMTC è fitùta e irriducibile, quindi essa risulta ergodica. La

Page 115: Sistemi ad Eventi Discreti

106 Capitolo 3

stessa proprietà può essere verificata in modo anche più semplice per mezzo del Teorema 3.43; infatti, le soluzioni dell'equazione caratteristica della matrice Q

À · [X2 + (i+ l + g + r)À + ig + ir + lr] = O

, _ 0 , _ - (i+ l + g + r) ± J(i + l + g + r) 2 - 4(ig + ir + lr) h sono Al - e A2,3 - 2 , c e

per la nota regola di Cartesio risultano numeri negativi, essendo per definizione i + l + g + r > O e ig + ·ir + lr > O.

Le distribuzioni di probabilità di stato a regime possono essere calcolate applicando il Teorema 3.40; le equazioni (3.51) sono in questo caso

le cui soluzioni risultano

lr

?To ·i = 7rt ·I 7r1 · (l + g) = ?To ·i+ 7r2 · r 112 • T = 7r1 • 9 ?To +7r1+112=1

11' ?To = .

ig + ir + lr' 1T - • 1

- ig + ir + lr ' 1,g

112 = ig + ir + lr

Per concludere l'esempio, si può valutare il tasso medio di produttività, che è in questo caso, analogamente all'Esempio 3.42

1 111 . l = 1 1 g

-;- + - . (1 + - ) z I r

dove l/'i è il tempo medio di attrezzaggio e l/l è il tempo medio di lavorazione. + A conclusione di questa trattazione delle CMTC, si vuole sottolineare ancora una

volta il fatto che lo studio del comportamento transitorio di una CMTC risulta quasi sem-pre impossibile a causa della difficoltà nel detemùnare le soluzioni delle equazioni (3.47) o (3.50), come si è verificato anche nell'Esempio 3.39. Si è anche detto che lo studio del comp01tamento a regime di una CMTC risulta invece solitamente molto più agevole; in generale però, il regime esiste solo per le CMTC ergodiche.

Applicando il Teorema 3.43 è semplice verificare che la CMTC nell'Esempio 3.39 è ergodica, perché ha due autovalori negativi, oltre al solito autovalore nuJlo. Questo ci dice che il sistema che la catena rappresenta raggiunge prima o poi una condizione di regime e che è possibile valutare il suo comportamento durante tale regime. Infatti, an-che se determinare le soluzioni delle equazioni (3.50) che descrivono il comportamento transitorio della CMTC si è rivelato un compito arduo, il comportamento a regime può invece essere descritto facilmente applicando il Teorema 3.41. Si lascia al lettore la veri-

fica che le soluzioni del relativo sistema di equazioni (3.51) sono ?To = 11"1 = 2µ )\ e

,,,. - À 112 - 2Jl + )\.

Page 116: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 107

3.2.3 Approssimazione di una CMTC con una CMTD

La flessibilità di rappresentazione caratteristica delle CMTC le rende idonee a modellare un grande numero di sistemi reali; è noto però che i modelli a tempo discreto sono solita-mente più facili da realizzare e da utilizzare per lo studio del sistema d'interesse. Inoltre, si è detto che in generale l'analisi del comportamento transitorio di una CMTC non è affatto agevole. Nel caso delle catene di Markov, è possibile sotto determinate ipotesi convertire un modello a tempo continuo in uno a tempo discreto, di più semplice analisi.

A questo scopo, si osserva che estraendo dall'evoluzione {.r(r),r > O} di una CMTC gli istanti di tempo in cui il suo stato cambia si definisce un processo stocasti-co {.r ( Tk). k E N}, dove Tk è l'istante di tempo di cui avviene il k-esimo cambiamento di stato. È stato dimostrato che il processo stocastico a tempo discreto così ottenuto è una CMTD, definita come segue.

Definizione 3.46. Data una CMTC, il processo stocastico a tempo discreto {.r(k)J· E N}, dove x(k) è lo stato raggiunto dalla CMTC nell'istante TJ.· in cui avviene la k-esima transizione di stato, è una CMTD denominata catena di Markov nascosta ( embedded) ( CMN) della CMTC.

Le probabilità di transizionepij = Pr{.r(k + 1) = J·1 I J'(k) = .ri}, V.r; .. rj E X, k E N, che caratterizzano la CMN di una CMTC possono essere ricavate dai tassi di transizione q,1 della CMTC stessa. Richiamando quanto detto a proposito degli elementi di Q nella Nota 3.38 si può concludere che

<.l!J.. . ..J. . qu se' -r J (3.52)

se ·i= j

dove è soddisfatta la consueta proprietà p,1 = 1. Si noti che µ 11 - O perché vengono presi in considerazione solo gli istanti in cui lo stato cambia effettivamente e dunque vengono trascurate le transizioni da uno stato a sè La relazione (3.52) sfrutta ancora una volta le caratteristiche della temporizzazione delle catene di Markov; infatti, si fonda sulle osservazioni che il tempo che lo stato impiega a passare dal valore ;r 1 al valore J'j, i f= j, è una variabile aleatoria a distribuzione esponenziale con parametro Qu, mutuamente indipendente dalle variabili aleatorie che rappresentano i tempi per passare da .r, a .r li. i -:/= h, h -:/= j.

Con la CMN di una CMTC è evidentemente possibile rappresentare solo le probabi-lità di transizione tra gli stati, trascurando tutte le ulteriori informazioni ottenibili da una CMTC, come la frequenLa delle transizioni tra gli stati o i tempi di permanenza negli stes-si. Una CMN viene utilizzata per un'analisi approssimata della CMTC corrispondente, sfruttando il fatto che le CMN sono comunque CMTD, che si è visto essere in generale più semplici da trattare rispetto alle CMTC.

Ci si aspetterebbe quindi di poter studiare il comportamento a regime di una CMN applicando il Teorema 3.28, qualora le ipotesi relative fossero soddisfatte, cioè la CMN ri-sultasse ergodica. ln realtà, può succedere che la CMN di una CMTC ergodica sia irriduci-bile e ricorrente, ma non ergodica, perché periodica. Ciò non costituisce un impedimento nell'applicare il Teorema 3.28, in quanto vale per le CMN il seguente risultato.

Page 117: Sistemi ad Eventi Discreti

108 Capitolo 3

Teorema 3.47. Il comportamento a regime della CMN di una CMTC può essere determi-nato applicando il Teorema 3.28 anche se la CMN non è aperiodica, se i suoi tempi medi di permanenza negli stati sono limitati. •

La mancanza di aperiodicità non pregiudica il raggiungimento delle condizioni di regime della CMN perché, essendo il processo a tempo continuo, il tempo tra due succes-sive transizioni varia con continuità e se è limitato, gli istanti cli transizione "cancellano" qualsiasi periodicità del processo nascosto. In tal caso quindi il processo risulta ergodico anche se la CMN è periodica.

È stato dimostrato che le distribuzioni di probabilità a regime di una CMN sono legate a quelle della CMTC corrispondente dalla seguente relazione

- 1 1ri .

L.h#i Qih (3.53)

dove 7r distingue le distribuzioni di probabilità a regime della CMN da quelle della cor-

rispondente CMTC e la quantità L 1 . rappresenta il valor medio del tempo di

li #i q111 permanenza della CMTC nello stato Xi , che sappiamo avere distribuzione esponenziale. La relazione (3.53) viene di seguito verificata per la CMTC trattata nell'Esempio 3.45.

Esempio 3.48. Nell ' Esempio 3.45 sono state ottenute per la CMTC le probabilità a regime dei tre stati possibili/erma (:t 0 ), operativa (.r1 ) e guasta (x2 ) come

lr 7ro = -----

ig + ir + lr

lT

7ri = ig + ir + Lr ; 1.g

7r2 = -----ig + i r + lr

Si vuole ora mostrare che è possibile giungere allo stesso risultato utilizzando la CMN della CMTC considerata. Tale CMN è rappresentata in Figura 3 .17, dove ogni arco è etichettato con la corrispondente probabilità di transizione.

_/_ I + g

Figura 3.17 CMN delJa CMTC dell 'Esempio 3.45.

_g_

l+g

Si osservi che dallo stato :r 1 la macchina completa la lavorazione che sta eseguendo e ritorna allo stato ;ro con probabilità p 1 o = oppure si guasta prima di finire la

lavorazione e passa allo stato .r2 con probabilità p12 = d:g ; i valori di tali probabilità

Page 118: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 109

si calcolano ricordando che i tempi di lavorazione e i tempi di interguasto sono variabili aleatorie indipendenti a distribuzione esponenziale, con parametri I e g, rispettivamente. Per ispezione della Figura 3 .17 si nota subito che i tre stati sono ricorrenti ma non ergodici , perché non aperiodici; la CMTD risulta quindi ricorrente e irriducibile, ma non ergodica.

La matrice dei tassi di transizione è

p = [ 'i• 1 ()

1

i cui autovalori sono 0,-1 e l , che secondo il Teorema 3.30 rendono la catena non ergodica. Vale però il Teorema 3.47, perché i tempi medi di permanenza nei tre stati sono rispettiva-mente l/i (tempo medio di attrezzaggio), l/(l + y) e 1 /r (tempo medio cli riparazione). Allora, applicando il Teorema 3.28, si determinano le distribuzioni di probabilità a regime come

che soddisfano evidentemente la proprietà Li iri = 1. Da queste, tenendo conto dei tempi medi di permanenza nei tre stati, si ottengono per

mezzo della (3.53) gli stessi valori di probabilità a regime per la CMTC riportati all'inizio dell'Esempio. +

Infine, si fa notare che la CMTD che modella la macchina non affidabile trattata negli Esempi 3.19 e 3.33 è la CMN della CMTC che modella la stessa risorsa nell'Esempio 3.42; questa osservazione motiva anche il fatto che le distribuzioni di probabilità di stato a regime risultano uguali nei due casi. Si lascia al lettore la verifica formale.

3.2.4 Catene di Markov nascita-morte

È sembrato opportuno dedicare un paragrafo distinto alla speciale classe di processi di Markov costituita dalle carene di Markov nascita-morte (birth-dearh) (CMNM). Questa tipologia di catene è caratterizzata da una notevole semplicità strutturale. derivante dal fatto che in una catena di Markov di questo tipo le transizioni possono avvenire solo tra stati adiacenti.

In una CMNM, una transizione da uno stato .r1 a uno stato :rj+l è definita una nasci-ta, una transizione da Xj a .l:j-l. j >O, costituisce una morte; quindi lo spazio degli stati X rappresenta la popolazione del sistema modellato: clienti in una coda. semilavorati in un processo produttivo, veicoli in un sistema di trasporto, messaggi in un sistema di comu-nicazioni, ecc. Per semplicità in questo contesto gli stati verranno indicati solo con il loro pedice (.rJ f-7 .i) e di conseguenza lo spazio di stato sarà X = {0,1,2, ... }. Si possono definire CMNM sia a tempo discreto (CMTD-NM) sia a tempo continuo (CMTC-NM); nel seguito viene proposta una breve trattazione delle due classi di CMNM limitatamente al caso di catene omogenee.

Page 119: Sistemi ad Eventi Discreti

110 Capitolo 3

Catene di Markov nascita-morte a tempo discreto omogenee. Quando una CMTD-NM si trova nello stato j > O, la probabilità che si verifichi un evento di nascita è bi (il valore dello stato è incrementato di 1), la probabilità che si verifichi un evento di morte è di (il valore dello stato è decrementato di 1), mentre lo stato rimane uguale con probabilità 1-b j -dj; se j = O, lo stato aumenta ancora con probabilità bo e rimane nullo con probabilità 1 - b0 , non essendo possibile un evento di morte quando la popolazione è nulla.

ho "• b2

1-1>0 g l-b1-d1 l-brd1

Figura 3.18 Catena di Markov nascita-morte a tempo discreto omogenea.

La matrice P delle probabilità di transizione associata a un processo di questo genere è

1 - bo bo o o d1 1 - b1 - d1 bi o

p o d2 1 - b2 - d2 b2 o o d'J 1 - b:3 - ds

Le CMTD-NM così definite sono irrìducibili e aperiodiche se b1 e dj sono positivi \Jj; le equazioni (3.32) in questo caso si possono riscrivere come

{

7ro = 7ro(l - bo)+ 7r1d1

7rj = 7rj-tÒJ-1+7rj(l - bj - dj) + 7rj+l dj+l

L1EX 7rj = 1

Dalla prima equazione si ottiene

e quindi l'espressione generale

che risolla in modo ricorsivo diventa j

j E N+

II bi-I bob1 · · · bJ-1 7r j = 7ro T = d1 · · · d · 7ro

i=l l }

(3.54)

(3.55)

Page 120: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 111

Da questa relazione, imponendo la condizione di normalizzazione si ricava 1

7ro = . (3.56) ?O J

I:II j=.I i=I 1

Se la serie geometrica infinita (cfr. Appendice O) al denominatore converge, la CMTD risulta ergodica e le equazioni (3.55) e (3.56) definiscono la distribuzione sta-zionaria delle probabilità di stato a regime; se la serie non converge, la catena non è ergodica e quindi non esiste la distribuzione limite.

Un caso particolare è costituito dalle CMTD-NM unifom1i, che sono caratterizzate da tassi di nascita e di morte uguali in ogni stato, cioè bi = b, Vi O e d; = d, Vi > O. Per questa classe di catene, le equazioni (3.55) e (3.56) si possono riscrivere come

, j E N+; 1

(3.57)

f h=O

Ora, a seconda del valore di d si distinguono tre situazioni differenti, corrisponden-

ti a valori della frazione minori di, maggiori di, o uguale a 1, rispettivamente ( cfr.

Appendice D):

I. < 1: la serie f h converge al valore 1 - CMTD risulta ergodica e la h=O

distribuzione stazionaria degli stati a regime è data da

b 7fo = 1 - -

d

2. * > I: la serie Ì: ( h non converge e tutti gli stati della CMTD sono transienti; h=O

3. 5 = 1: nuovamente la serie non converge, ma in questo caso la CMTD presenta solo

stati ricorrenti nulli (b = d).

Catene di Markov nascita-morte a tempo continuo omogenee. La particolare strut-tura delle CMNM rende possibile anche l'analisi del comportamento transitorio a tempo continuo, annullando le difficoltà di cui si è detto in precedenza. Risulta quindi possibile determinare in modo analitico le espressioni delle probabilità di stato.

Con riferimento agli elementi della matrice Q, per una CMTC-NM si definisce tasso di nascita nello stato j la quantità positiva /\j = qj.j+I • j E N, e tasso di morte nello stato j la quantità positiva p1 = fJ;.j- 1 , .i E N+, con q1; = O se j > i+ 1 o j < i - l; la matrice dei tassi di transizione risulta dunque

Page 121: Sistemi ad Eventi Discreti

112 Capitolo 3

Figura 3.19 Catena di Markov nascita-motte a tempo continuo.

-Ào Ào o o /l l -(À1+ /l1) À1 o

Q o /i2 -().2+ /t2) À 2

Le equazioni (3.50) risultano in questo caso

d7rj(T)

(3.58) Le equazioni (3.5 1) che permettono di trovare le probabilità di stato a regime sono

in questo caso

- ( À i + I ti) · 11 i + À i - 1 · 11 i - 1 + Pi+ 1 · 11 i+ l = O -Ào · 110 + 11 1 · 111 = O

da cui si ottiene facilmente l'espressione della generica probabilità di stato a regime

( Ào · À 1 · · · À J -1 )

11j = . 7TQ µi . /1 2 ... µj

j E N+

e da questa la probabilità di stato iniziale a regime

1 110 = ?O

( Ào · À i · · · Àj-1 ) 1 + Jl1 . Jl'l ... Jl . j=l J

(3.59)

(3.60)

È stato dimostrato che se < 1 per ogni stato .i 2:: ] fissato, allora tutti gli stati del-

la CMTC-NM sono ricorrenti positivi; in questo caso è lecito applicare il Teorema 3.40, che permette di concludere che le due relazioni precedenti identificano la distribuzione di probabilità a regime dello stato della CMTC-NM considerata.

Page 122: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 113

Esempio 3.49. Si consideri un semplice sistema produttivo costituito da m macchine identiche e una sola risorsa per le riparazioni delle m macchine. Il tempo che trascorre prima che una macchina si guasti è distribuito in modo esponenziale con parametro À e il tempo di riparazione è anch'esso a distribuzione esponenziale, con parametro 11; i tempi di intcrguasto e di riparazione sono variabili aleatorie mutuamente indipendenti. Quando una macchina si guasta e la risorsa di riparazione è occupata, deve attendere.

Il funzionamento del sistema descritto può essere modellato con una CMTC-NM. Se lo stato 1· del sistema è il numero di macchine guaste. allora lo spazio degli stati è X = {O,L2, ... ,m} e il diagramma delle transizioni corrispondente ha 111 + 1 nodi che rappresentano i possibili valori dello stato, come rappresentato in Figura 3.20.

mì.. (m-1 )À (m-2)À 2À À ...

µ µ µ µ µ

Figura 3.20 CMTC-NM che modella il sistema con m. risorse di lavorazione e una di riparazione.

U tasso di nascita nello stato j è >...1 = (m - .i) · À per j = 0.1.:2 .... . 111 - 1 e À 111 = O; il tasso di morte è µi = µ, j = 1.2 .... . m. Le probabilità di stato a regime risultano. secondo le equazioni (3.59) e (3.60),

m! (À) 1

(m - j)! . /t

) 7l!. A m I ( ')J + L (m - j)! . 11

J-1

m

j E X

Il•numero medio di risorse guaste è L j · 'lrJ e di conseguenza il numero medio di r""o

m

macchine attive risulta m - L j · 1fJ; l'utilizzazione media delle risorse di lavorazione j-0

si misura dividendo il numero medio di macchine attive per il numero totale di macchine m. Nel caso più semplice in cui il sistema sia costituito da una sola macchina ed una risorsa di riparaLionc. si ritorna all'esempio della macchina non affidabile già trattato in precedenza. Gli stati possibili sono due: O e 1 e dunque la catena di Markov che rappresenta il sistema è quella riportata in Figura 3.15. sostituendo l/À ape l //t a r; operando le stesse sostituzioni nelle espressioni delle distribuzioni delle probabilità di stato a regime ottenute netrEsempio 3.42, si ricavano le probabilità di stato a regime relative al caso ora considerato. + Nota 3.50. Si noti che un processo di Poisson può essere considerato, rispetto alle catene di Markov nascita-morte, come un procesw di pura nascita e quindi modellato da una CMTC-NM in cui À1 = À e 111 = O, .i E N+. Dualmente si definisce processo di pura morte un processo in cui ÀJ = O e llJ = 11, J E N'"t". A

Page 123: Sistemi ad Eventi Discreti

114 Capitolo 3

3.3 Elementi di teoria delle code

La teoria delle code consta di un insieme di strumenti per l 'analisi di sistemi in cui dei clienti arrivano a un centro di servizio. Fu A.K. Erlang a originare questa teoria nel 1908 per trattare di sistemi telefonici, ma in seguito le applicazioni si sono estese a molti am-biti, tra cui la produzione, i trasporti, la logistica, l'informatica e le telecomunicazioni. Per quanto nella teoria delle code si usino i termini servitori o serventi, che forniscono un servizio a dei clienti, nelle varie applicazioni citate i clienti sono persone, operazio-ni, attività, messaggi, ecc., e i serventi sono ancora persone, macchine, veicoli, circuiti telefonici, canali di comunicazione. elaboratori elettronici.

AlJa teoria delle code sono stati dedicati interi libri; in questo testo ne viene ripor-tata una breve trattazione finalizzata a fornire al lettore le nozioni di base e i risultati fondamentali, rinviando a testi specifici come (Kleinroch, 1975) e (Walrand, 1988) per maggiori dettagli, approfondimenti e dimostrazioni.

Per cominciare, viene introdotta la definizione del pill semplice sistema a coda, detto coda singola, in modo più formale e più generale di quanto fatto nel Capitolo 1.

Definizione 3.51. Un sistema a coda (o semplicemente coda) è costituito da 3 componenti fondamentali:

1. rn servitori ( o serventi) identici;

2. clienti dello stesso tipo;

3. uno spazio in cui i clienti attendono il servizio, che è poi la coda vera e propria.

La struttura e il funzionamento di un sistema a coda sono specificati completamente indicando le seguenti caratteristiche:

• statistica del processo degli arrivi;

• statistica del processo dei servizi;

• numero dei serventi;

• capacità dello spazio di accodamento;

• numero complessivo dei clienti:

• politica di servizio.

Le statistiche di arrivo e di servizio vengono specificate indicando le distribuzioni di probabilità delle corrispondenti variabili aleatorie; i numeri dei servitori e dei clienti e la capacità della coda possono essere anche illimitati, ma se finiti sono ovviamente numeri interi. La politica di servizio è la regola con cui il servitore seleziona tra i clienti in attesa il prossimo a cui fornire il servizio; esistono moltissime discipline di servizio adottabili. tra le quali la più usata e "naturale" è la politica denominata FCFS, First Come First Served, altrimenti detta FIFO, Firsr In Firsr Out, ma sono di frequente applicate anche discipline di servizio casuali o a priorità.

Page 124: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 115

Esempio 3.52. Le procedure di atterraggio in un aeroporto possono essere modellate con un sistema a coda, in cui gli aerei sono i clienti e le piste di atterraggio sono i serventi. Gli arrivi dei velivoli realizzano un certo processo stocastico, come anche i tempi che essi impiegano per atterrare. Se un aereo non ottiene subito il permesso di atterrare, deve unirsi agli aerei che stanno "ciclando" sull'aeroporto in attesa di ricevere servizio (cioè, di atterrare); il servizio è di solito effettuato secondo la disciplina FCFS, eccetto per gli atterraggi di emergenza, che sono ovviamente prioritari. t

D clienti ..

arrivo clienti .. ]] { servitre I •

coda ò partenza clienti ..

servitore m

Figura 3.21 Coda con m servitori e spazio di accodamento illimitato.

Nella Figura 3.2 1 è rappresentata una coda con rn servitori e spazio di accodamento illimitato. È d'uso rappresentare le informazioni sulla struttura e il funzionamento di una coda in forma molto compatta utilizzando la cosiddetta notazione di Kendall, che identifica una coda con la 6-upla

A/13/m/K/N/w dove le 6 lettere corrispondono alle 6 caratteristiche elencate nella Definizione 3.51, nello stesso ordine; così, il semplice sistema a coda introdotto nel Capitolo l e poi ripreso nell'Esempio 3.4 in notazione di Kendall è descritto da A/B/1/oo/oo/FIFO, dove le statistiche A degli arrivi e D dei servizi sono da caratterizzare. Per semplificare la notazione, i valori di K e N vengono di solito omessi quando non sono finiti, proprio come nel caso dell'Esempio 3.4; inoltre, la disciplina di servizio viene specificata solo quando è diversa da F I FO (o FCF S). Pertanto, la coda singola trattata in precedenza viene semplicemente caratterizzata dalla tripla A/ B /1.

Esiste una notazione convenzionalmente utilizzata per specificare le diverse tipolo-gie che le distribuzioni A e B possono assumere; sempre a vantaggio della semplificazio-ne della trattazione si riporta di seguito solo la parte della suddetta notazione che verrà utilizzata del prosieguo; così si ha:

• /\{: distribuzione esponenziale (JH sta per markoviana o memoryless);

• G: distribuzione generale (non si conoscono i processi di arrivo e/o di servizio);

• D: caso deterministico (i tempi di arrivo e/o di servizio sono fissati e noti a priori).

Page 125: Sistemi ad Eventi Discreti

116 Capitolo 3

I sistemi a coda si distinguono anche in aperti e chiusi; gli esempi finora considerati si riferiscono a sistemi a coda aperti, cioè accessibili a un numero illimitato di clienti; al contrario, un sistema a coda chiuso ammette un numero finito e fissato di clienti, che non lasciano mai il 1,;umc:; quello raffigurato in Figura 3.22, costituito da due code in serie. Come si è visto, il numero di clienti viene specificato come quinto parametro nella notazione di Kendall che identifica un sistema a coda, se tale numero è finito.

... - 1

h cJienti

2 ./ - ... (11-h) clienti

Figura 3.22 Sistema a coda chiuso con n clienti.

3.3.1 Dinamica e prestazioni

Lo studio dei sistemi a coda ha come scopo principale l'analisi del loro funzionamento, quindi delle loro prestazioni, attraverso la valutazione di alcune grandezze caratteristi-che; con riferimento a una coda singola come raffigurata in Figura 3.2, si definiscono le seguenti variabili, non tutte indipendenti:

• ak istante di arrivo del k-esimo cliente;

• Pk istante di partenza del k-esimo cliente;

• Vc.k tempo di attesa in coda del k-esimo cliente;

• {) s ,J.: tempo di servizio del k-esimo cliente;

• 01.: tempo di permanenza nel sistema (attesa+ servizio) dcl k-esimo cliente;

• Ùa tempo di interarrivo tra due clienti successivi;

• .t(T) numero di clienti nel sistema (in coda o in servizio) all'istante r;

• J'c(r) numero di clienti in coda (in attesa) all'istante r.

Si noti che, nell'ipotesi (supposta sempre vera nel prosieguo) che i clienti lascino il sistema immediatamente dopo la fine del servizio, il tempo che il generico h·-esimo cliente rimane nel sistema, detto anche tempo di attraversamento, è la somma dei suoi tempi di attesa in coda e di servizio, ovvero la differenza tra i suoi istanti di partenza e di arrivo. cioè

Page 126: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 117

(3.61)

Per convenzione, la variabile di stato x ( T) che indica il numero di clienti nel sistema viene anche denominata, anche se un po' impropriamente, dal momento che compren-de anche i clienti in servizio, lunghezza della coda. Per consistenza con quanto visto in precedenza nel capitolo, si noti che si può definire il processo della lunghe:.za della co-da come un processo stocastico { x ( T) I r ;::: O}. La distribuzione di stato nell'istante immediatamente successivo al k-esimo evento di partenza si può definire come

7rT = lirn Pr{i:(p'.) - j} J /.:-+oo A

. >o J_

analogamente, la distribuzione di stato nell'istante immediatamente prima del k-esimo evento di arrivo si può definire come

rrJ- = lim Pr{.r(ak") = j} k-+XJ

. >o )_

li numero 1·( 1) di clienti nel sistema all'istante di tempo 1 è uguale alla differenza tra il numero totale di arrivi e il numero totale di partenze fino a r. La corrispondente traiettoria dello stato è costante a tratti, con "salti" verso l'alto a ogni evento di arrivo e verso il basso a ogni partenza: se le variazioni sono sempre di ampiezza l , cioè in ogni istante non può verificarsi più di un evento, allora se 7rJ e 7rj esistono, risulta rrj = rrj, \lj E N.

Allora, si può dire che la lunghezza della coda, quindi l'intero sistema a coda, è stabile se le distribuzioni stazionarie di stato

11 · = lim Pr{J·(r) - j} 1 r-+oo j ;::: o

esistono e soddisfano la proprietà 7r; = 1. In questo caso, se la capacità della coda

è illimitata, risulta 7r; = rr/ = 7rj, \/j E N.

Esempio 3.53. Si consideri una coda in cui gli arrivi si susseguono deterministicamente ogni 3 minuti, cioè 1)a = 3, e il tempo di servizio di; = 11:;.k· k E N+, è anch'esso costante e deterministico e pari a 2 minuti. Ogni cliente è servito immediatamente appena arriva nel sistema, quindi a ogni istante T lo stato x( r) può assumere solo uno tra i due valori O e 1. Infatti, ogni cliente trova il sistema vuoto al suo arrivo e lo lascia vuoto alla sua partenza, per cui si ha 7rd = 1 = 7ro e 7rt = O - rr1 , in accordo anche con quanto appena osservato. Si può dunque concludere che la distribuzione stazionaria di stato non esiste, cioè il sistema non è stabile. •

Un'altra ipotesi che d'ora in poi sarà supposta sempre valida è che un servitore non possa mai rimanere inattivo se ci sono clienti in coda. Per chiarire l'evoluzione dinamica di un sistema a coda, consideriamo ancora la coda singola in Figura 3.2; supponendo che il sistema funzioni con disciplina di servizio FC F S, il generico k-esimo cliente, che arriva nel sistema ali' istante di tempo ak, k E N+ , lascia lo stesso ali' istante

(3.62)

Questa relazione, che consente di descrivere esattamente il comportamento transito-rio del sistema a coda, è denominata equazione di Lùzdley, dal nome dello studioso che per primo la propose nel 1952.

Page 127: Sistemi ad Eventi Discreti

118 Capitolo 3

Molto spesso però è sul comportamento a regime di una coda che si concentra l'in-teresse, al fine di valutare le prestazioni del sistema. Si supponga che il valor medio della funzione di distribuzione degli arrivi A.(1) sia 1/ À, dove >. rappresenta il tasso medio d'arrivo dci clienti, e la media della funzione di distribuzione dci servizi B( r) sia 1/ 11, con p tasso medio di servizio. Siccome I' analisi delle prestazioni solitamente prescinde dal comportamento transitorio del sistema, una tipica misura delle prestazioni è l'intensità di traffico o coefficiente di carico (], definito come

). {} = - (3.63)

/l

Si noti che per i sistemi con spazio di accodamento illimitato la condizione O g < 1 costituisce la condizione di ergodicità della catena, quindi garantisce la stabilità.

Si è detto in precedenza che un indice di prestazioni significativo per un SED è I' utiliz;:.a;:.ione delle risorse, costituita in questo caso dal/i servitore/i; per come è stata definita la variabile{], essa rappresenta anche l'utilizzazione del servitore. cioè la percen-tuale di tempo in cui esso non è inattivo. Infatti, se denotiamo con 7ro la probabilità che in condizioni stazionarie la coda sia vuota, cioè il servitore sia inattivo, allora l' del sen•ente può essere definita come

V = 1 - 7T'o

che rappresenta appunto la frazione di tempo in cui il servitore è occupato. Di conseguen-za, si può definire la produttività (throL1ghpL1t) del servitore come

t] = JL(l - 7ro) (3.64)

che rappresenta in effetti il tasso di uscita dei clienti serviti ; tale in condizioni di equilibrio è bilanciato dal tasso d'arrivo, cioè vale

). = /t (l - 7ro)

il che ci porta a concludere, per la definizione introdotta di coefficiente di carico, che

f2 = I - 7ro - 1 • (3.65)

Quanto detto rimane valido se si fa riferimento al sistema più generale raffigurato in Figura 3 .21, a patto di "modulare" le misure di prestazioni introdotte con il numero m di servitori: il coefficiente di carico diventa

). (} = --,,. m

mentre la produttività, modificando la (3.64), risulta

17 = m · 11 · ( 1 - 110)

(3.66)

(3.67)

L'analisi delle prestazioni di un sistema a coda può consentire di determinare i valori dei parametri strutturali e funzionali del sistema, come il tasso di servizio e il numero dei servitori , che ottimizzano tali prestazioni. L'obiettivo di ottimizzare le prestazioni viene perseguito anche attraverso la scelta delle strategie operative, che consentono di controllare il funzionamento dinamico del sistema.

I risultati esistenti per sistemi a coda generali sono veramente pochi; in questo testo si riporta un solo risultato, probabilmente il più noto, per quanto riguarda lo studio del comportamento a regime di un sistema a coda.

Page 128: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 119

La legge di Little. Si consideri, per maggiore generalità, il sistema a coda con m ser-vitori di Figura 3.21; J.D.C. Little ha dimostrato nel 1961 che, in condizioni di equilibrio stocastico, il numero medio di clienti presenti nel sistema x = E[x(r )], il tasso medio d'arrivo dei clienti À = E[A.{r)], detto anchefiusso medio, e il tempo medio di pemw-nenza dei clienti nel sistema 19 = E[191;] sono legati dalla seguente relazione, denominata appunto equazione o legge di Little

(3.68)

che vale per sistemi a coda del tutto generali. Si noti infatti che non è necessario vincolare alcuna caratteristica del sistema, neanche la disciplina di servizio, come viene invece richiesto per applicare l'equazione di Lindley. Nel caso particolare di sistemi a coda singola, la legge di Little diventa

(3.69)

dove Xc = E[a·c(r)] rappresenta il numero medio di clienti in attesa e i9c = E[i9c,k] il tempo medio di attesa dei clienti nel sistema.

Nota 3.54. È intuitivo che, in condizioni stazionarie, la lunghezza di una coda o il tempo di attesa in un sistema a coda possono essere ridotti aumentando il tasso di servizio. Per esempio, se si suppone che il tasso di arrivo raddoppi, ma il tasso di servizio sia incrementato in modo che il tempo di attesa rimanga lo stesso, allora per la legge di Little risulta che anche il numero di clienti nel sistema raddoppia. &

Esempio 3.55. In un negozio dove c'è un solo commesso arrivano À = 24 clienti ogni ora; si è osservato che in ogni istante ci sono tipicamente x = 9 clienti nel negozio. Per mezzo della legge di Little si può determinare che ogni cliente rimane mediamente nel negozio per J = x/ À = 0,375 ore, cioè 22 minuti e mezzo. Se nell'ora di punta arrivano 48 clienti all'ora e un secondo conunesso affianca il primo in modo che il tempo medio di permanenza nel negozio dei clienti rimanga lo stesso, allora il numero medio di clienti diventa .I' = 2,\ · {) = 18. + Esempio 3.56. Consideriamo un semplice sistema produttivo costituito da una sola risor-sa di lavorazione; tale macchina ha sempre a disposizione pezzi grezzi da lavorare, che appena arrivati vengono montati su pallet; inoltre, il buffer di ingresso alla macchina (lo spazio di accodamento) ha capacità finita di n posizioni, mentre i pallet disponibili nel sistema sono n + 1, il che evidentemente vincola il numero di pezzi (clienti) nel sistema. Quando la macchina termina una lavorazione, il prodotto lascia il sistema liberando un pallet, che può dunque essere caricato con un nuovo pezzo grezzo che viene posto in coda al buffer, come raffigurato in Figura 3.23.

Il tempo di servizio medio è fis = 1/ J1, quindi la produttività 17 èµ., mentre il tasso di arrivo À è anch'esso pari a {t; siccome ci sono sempre n + 1 parti nel sistema, dalla legge di Little otteniamo il tempo di permanenza nel sistema come

- n+l {}= --

/1,

In questo semplice caso è facile dare un'interpretazione fisica al risultato fornito dalla legge di Little. Infatti, quando un pezzo entra nel sistema, va a occupare l ' ultima posizione nel buffer e quindi dovrà auendere che gli (n - 1) pezzi che gli stanno davanti in coda

Page 129: Sistemi ad Eventi Discreti

120 Capitolo 3

prodotti •••

buffer da n posti

pallet libero

Figura 3.23 Sistema di produzione con buffer a capacità Jjmitata.

più quello attualmente in lavorazione siano serviti, prima di essere lavorato anch'esso; pertanto, il suo tempo di permanenza nel sistema sarà la somma del tempo di attesa 11·1 /I' e deJ tempo di lavorazione (servizio) 1/Jl, che corrisponde proprio a quanto ottenuto applicando la legge di Little. +

3.3.2 Classi particolari di code

Anche i sistemi a coda, come già visto per gl i automi, godono di particolari proprietà quando i processi stocastici che li caratterizzano sono markoviani.

Definizione 3.57. Una coda con il processo degli arrivi e il processo dei servizi di Pois-son (cioè, con tempi di interarrivo e di servizio a distribuzione esponenziale) è detta markoviana. A

Una coda markoviana corrisponde a una CMTC-NM, dunque il suo comportamento può essere analizzato utilizzando le procedure introdotte in precedenza per tale classe di catene di Markov. Prima di descrivere in dettaglio la più sernpl ice del le code markoviane, è utile riportare un impo1tante risultato, denominato proprietà PASTA (Poisson Arrivals See Time Averages), che è enunciato come segue.

Teorema 3.58. Poisson Arrivals See Time Averages (PASTA) ln un sistema a coda con processo degli arrivi di Poisson indipendente dal processo dei servizi (che può essere qualsiasi), la probabilità che un cliente che arrivi all 'istante r trovi nel sistema n clienti è pari alla probabilità 7r11 (r) che lo stato .r(r) del sistema valga n. •

Per la dimostrazione si rimanda per esempio al testo di Kleinroch (1975). È evidente che la proprietà PASTA vale non solo per le code markoviane, ma per tutti i sistemi a coda che abbiano arrivi e servizi statisticamente indipendenti e processo degli arrivi di Poisson.

Nel prossimo paragrafo viene descritto e analizzato il comportamento del più sem-plice sistema a coda markoviano, la coda J/ /.U / 1. I risultati e gli indici di prestazio-ni introdotti verranno di seguito generaliuati ai casi delle code Jl/JI/m. 11!/Ji/':X> e Jl /AI/ 1 /I<. Per questioni di spazio le altre tipologie di code non vengono trattate in questo testo; si rimanda il lettore interessato ai validi libri sulla teoria delle code elencati alla fine del capitolo.

La coda J/ / J/ / 1. Secondo la notazione di Kendall, questa coda è caratterizzata da tempi di interarrivo e di servizio distribuiti in modo esponenziale, un singolo servitore e spazio di accodamento e numero di cl ienti illimitati; può dunque essere rappresentata

Page 130: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 121

come una catena di Markov nascita-morte a tempo continuo dove il tasso di nascita è Àj = À, j E N, e il tasso di morte è /Lj = µ, j E N+, dove À indica il tasso d'arrivo dei clienti e 11 il tasso di servizio. Il diagramma delle transizioni di stato è raffigurato in Figura 3.24.

µ µ µ

Figura 3.24 Diagramma deJle transizioni di stato della coda M / M /1.

Le equazioni delle probabilità di stato a regime si ottengono come caso particolare delle equazioni (3.59) e (3.60) e risultano

1 (3.70)

00 (À)h i + I:

h=I I

7ro

Si è detto che la condizione di stabilità per code con capacità illimitata impone che il coefficiente di carico sia minore di l; in questo caso, se vale g = < 1, la somma a de-

nominatore dell'espressione di no è una serie geometrica che converge al valore 1 >./i/ 1"

(cfr. Appendice D). Di conseguenza, l'espressione della probabilità di stato iniziale a regime diventa

7ro = 1 - (}

da cui si ottiene la distribuzione di probabilità a regime della lunghezza della coda in un sistema A'1/1ì1 / l

1'j = ($)' (1 - g) · (1 - g). j E N (3.71)

Si ricordi che per una coda stabile con spazio di accodamento illimitato vale sempre 7r i = + - -

7rj - 7r) .

La lunghezza media della coda, ossia il numero medio di clienti nel sistema, segue la distribuzione (3. 71 ), risultando quindi

00 00

X= L J "7rj (1 - o) I: j. [I (3.72) i=O j=O

Tale quantità può essere valutata osservando che la serie che appare nella (3.72) è una serie geometrica infinita pesata, che, come riportato in Appendice D, converge al valore

{]

Page 131: Sistemi ad Eventi Discreti

122 Capitolo 3

Dunque l'espressione della lunghezza media della coda (3.72) si può riscrivere come

g

1 - g À

/l - À (3.73)

che cresce indefinitamente per {l -t 1. Dall 'equazione (3.73), applicando la legge di Little (3.68) si ricava il tempo medio di permanenza nel sistema

- :r 1 {) - - -

- À - /I - À

e, siccome il tempo medio di attesa in coda è, secondo l'equazione (3.61),

- - - >. (} fic =V - Vs= ----

/.l. (p - ,,\) 11·(1-g)

ancora per la legge di Little risulta

- xi Xc = À · Ve = ( À) -Jl . Jl -

•) rr 1-g

(3.74)

(3.75)

(3.76)

Dalle equazioni (3.74)-;-(3.76) si nota che le grandezze caratteristiche.del sistema così determinate crescono indefinitamente ali' aumentare del coefficiente di carico{} verso il valore 1; tale comportamento è in accordo con la condizione di stabilità, che impone {] < 1. Se la condizione non è rispettata, la coda JU /fil /1 risulta instabile e realizza una produttività 11 = /l, mentre in condizioni di stabilità la produttività è À.

Esempio 3.59. In uno studio legale, un avvocato riceve durante una tipica giornata lavo-rativa di 8 ore 4 clienti. Ogni cliente mediamente occupa l'avvocato per un'ora e mezza. Supponendo che gli arrivi siano un processo di Poisson e i servizi siano distribuiti in modo esponenziale, questo sistema si può modellare come una coda 1'1 /fil /1, con À = i = 0,5

clienti ali' ora e tempo di servizio medio .!. = l 'intensità del traffico è /l -

À 3 e=- = - < 1

µ 4

quindi la coda è stabile. La probabilità che l'avvocato rimanga inattivo è r.0 = 1 - g = 1 / I; il numero medio di clienti nello studio è 3 e il tempo medio di attesa è 6 ore; la produttività è uguale al tasso d'arrivo. +

I risultati visti per la coda markoviana con un solo servente si possono generare al caso con più serventi. La generaliz.lazione più semplice consiste nel considerare un numero (finito) mdi serventi in parallelo, come in Figura 3.2 l.

La coda A f / 'f..I / m. Nel generalizzare al caso con rn servitori che lavorano in parallelo i risultati riportati per la coda a singolo servente, verranno messe in evidenza solo le caratteristiche che differiscono da quelle della coda 1'1 /fil/ l; pe1tanto, i parametri che non vengono espressamente nominati sono uguali nei due casi.

La prima importante (per quanto intuitiva) differenza è costituita dal tasso di morte I'; , J E che è funzione del numero rn di serventi, e vale

Page 132: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 123

------.... ...

Figura 3.25 Il sistema a coda f.1 /.M / m.

{ .J /J,

µ · -J - mµ

µ

servitore 1

µ

servitore m

se j < rn

se j 2: m

che concorda con l'osservazione che il numero di clienti diminuisce ogni volta che uno degli m serventi completa un servizio.

2µ (111- I )µ 111µ

Figura 3.26 Diagramma delle transizioni di stato della coda JU /Al/ m.

Imponendo il bilancio dei flussi tra stati contigui in Figura 3.26, si ottiene l'espres-sione della generica probabilità di stato a regime '!rj, j E N+, che com'è logico dipende dam,, come

{

'Trj = L7ro j < m j!µ.1 .

. - mm-; ),.J 7r1 -

1 1 7ro j 2: rn m.µ

(3.77)

mentre la condizione di normalizzazione fa sì che la probabilità di stato iniziale a regime Sta

(m-L · · )-1 77l tti m.mgm

7ro= - + ---n m! (l - g)

dove {}è espresso dalla (3.66), cioè y = µ

Il numero medio di clienti a regime :r, o lunghezza media della coda, non si riesce a calcolare in maniera semplice come per la coda 1'1/AI/l; si rimanda ancora ai già citati

Page 133: Sistemi ad Eventi Discreti

124 Capitolo 3

testi (Bolch et al., 1998; Grosse Harris, 1998; Kleinroch, 1975; Walrand, 1988) per i passaggi matematici che portano all'espressione di tale quantità come

711m

0m+l

l = mg+ '(l )'). 7ro m. -g (3.78)

Applicando la legge di Little, come visto per la coda f\l/AI/1, si ottengono dalla relazione (3.78) il tempo medio di permanenza

e il tempo medio di attesa in coda

- x 1 -Oc= - - -

,\ /l

Il semplice esempio che segue pone in paragone le prestazioni di una coda /\I/ AI /1 e della sua più immediata .. complicazione", una coda .fil/ AI /2.

Esempio 3.60. A una stazione di servizio arrivano clienti secondo un processo di Poisson con tasso di 10 all'ora. Il gestore può scegliere tra due opzioni: (a) impiegare un singolo servente veloce, capace di servire un cliente mediamente in 5 minuti; (b) utilizzare due serventi lenti che impiegano mediamente I O minuti per un servizio. Si suppone che i tempi di servizio siano distribuiti in modo esponenziale. Quale delle due opzioni permette al gestore di minimizzare il tempo medio di permanenza O in condizioni stazionarie?

L'opzione (a) rende il sistema modellabile come una coda f\I/1ìf /l, con À = 10 e /L = 12; il sistema risulta stabile, perché g = 10/12 < 1, e il tempo medio di attesa è in questo caso{)= = 0,5 ore; l'opzione (b) invece rende il sistema una coda JI/111/2, con,\ = 10 e 11 = 6; il coefficiente di carico ha lo stesso valore di prima, quindi il sistema risulta ancora stabile. In questo caso si ha però che iJ = 0.55 ore, che rende preferibile per il gestore l'opzione (a). +

L'esempio precedente ha evidenziato un aspetto generale: è preferibile, a parità di capacità complessiva di servizio, utilizzare pochi serventi veloci piuttosto che più serventi lenti. È interessante vedere quali caratteristiche presenta la coda in cui il concetto di cui sopra è estremizzato, cioè il numero di serventi è considerato illimitato.

La coda lif /1ìl/oo. Se il numero m. di serventi non è più da considerarsi finito, ciò comp01ta che ogni cliente che arriva al sistema viene immediatamente servito, perché c'è sempre almeno un servente libero. Anche se un tale sistema a coda può sembrare poco realistico, in pratica si può modellare come una coda fil/ Al/ oo ogni sistema self-service.

Questo tipo di coda è un processo nascita/mo11e dove, a fronte di un tasso di nascita À J = ,\, j E N, si verifica un tasso di morte µ.i = j Jl, j E N..1... Le probabilità di stato a regime, ottenute ancora dalle (3.59)-(3.60), sono

.i . - (>../J.t) . ->./µ - rl -e

7r1 - j! e - j! e jEN (3.79)

che individuano una distribuzione di Poisson con parametro (J .

Page 134: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 125

... µ 2µ ;µ (J+ I)µ

Figura 3.27 Diagramma delle transizioni di stato della coda /11 /Al /oo.

Nota 3.61. È stato dimostrato (si veda ad esempio il libro di Bolch et al., 1998) che le equazioni (3.79) valgono per qualunque risorsa Jìf /G/oo, dal momento che la generica distribuzione di probabilità a regime rr j dipende solo dal tempo medio di servizio e non dalla forma della distribuzione dei tempi di servizio.

Si noti che in questo caso e = À/ µ non rappresenta l'intensità del traffico, che come sappiamo è pari al fattore di utilizzo della risorsa, cioè alla percentuale di tempo in cui la risorsa lavora (1 - 7r0 ); in questo caso vale

Il tempo medio di attesa in coda è nullo, quindi è nullo anche il numero di clienti in coda; di conseguenza il tempo di attraversamento medio è sempre uguale al tempo medio di servizio, cioè

- 1 {) = -/i

e, per La legge di Little, il numero medio di clienti nel sistema è

À x=-/l

Anche in conclusione di questo paragrafo si riporta un esempio di applicazione.

Esempio 3.62. Un'emittente televisiva vuole stimare il numero medio di spettatori di una trasmissione del sabato in prima serata. Da dati storici si evince che gli spettatori dei programmi televisivi della prima serata del sabato possono essere modellati da una distribuzione di Poisson con media 100 000/ ora. Si sa inoltre che tali spettatori scelgono uno dei 5 programmi più noti in onda a quell 'ora in modo assolutamente casuale. Infine, ulteriori sondaggi hanno permesso di appurare che i tempi durante i quali gli spettatori seguono il programma scelto sono distribuiti in modo esponenziale e che ogni persona guarda il programma scelto in media per 90 minuti.

Dalle ipotesi (accademiche) di cui sopra, si può ricavare che il tasso medio di ar-rivo (persone che scelgono l'emittente in questione il sabato in prima serata) è À = (100 000/5)/ora = 20 000/ora e il tempo medio di servizio /1 è di 90 minuti. Ne conse-gue che il numero medio di clienti x, cioè il numero medio di telespettatori nella fascia oraria di interesse, è i = À/ p, = 30 000. +

La coda fvl (AI/ 1 / J(. Questa coda può essere interpretata come una particolare coda Al/J\I/1 in cui lo spazio di accodamento è limitato e può contenere al massimo J( - 1 utenti, essendo J( il massimo numeri di clienti che può essere presente nel sistema. Ne

Page 135: Sistemi ad Eventi Discreti

126 Capitolo 3

consegue che il processo degli arrivi risulta diverso da quello della coda Jl,J /AI /1, perché il tasso di nascita dipende ora dallo stato del sistema, cioè dal numero di clienti presenti; infatti, se il sistema è pieno, il tasso di nascita è nul1o e quindi si ha

{ À j<J<

>.i= O . > K .1 -

µ µ µ µ µ

Figura 3.28 Diagramma delle transizioni di stato della coda fil/ !Il/ 1 / K.

Le probabilità di stato a regime, ottenute in modo analogo a quanto fatto per le altre code, risultano

l - {l

rio = 1 _ gl< +i i . . 1- g

1i"j = f/r.o = (/ l - gK+l . O < j :S K. g f. 1 (3.80)

mentre risultano nulle se j > J(. Si è detto che la condizione di stabilità per le code con spazio di accodamento illi-

mitato impone che il coefficiente di carico {! sia nùnore di I; è interessante notare che per le code con capacità limitata tale condizione può essere rilassata, perché esse risultano sempre stabili. Il caso particolare da trattare è g = 1, per cui le precedenti equazioni (3.80), che valgono per{} f. 1, vanno riscritte come

1 . 7i j = ]( + 1 ; J < \ (3.81)

Per calcolare le misure delle prestazioni di una coda .AI/ / 1 / K ottenibili per mezzo della legge di Little, è necessario determina.re il tasso reale di arrivo, che è detto tasso di ingresso Àrn g e individua i clienti che effettivamente riescono a entrare nel sistema. Tale variabile può essere espressa in generale come

00

Àrn g = 2= >-1 1i"j (3.82) 1- 0

ed equivale a >.. per le code markoviane con capacità illimitata. In questo caso, invece, la limitata capacità fa sì che una porzione 7i K di arrivi trovino il sistema pieno e quindi non riescano a entrare, come rappresentato in Figura 3.29. Allora, per la proprietà PASTA, si può riscrivere la (3.82) come

1 - {}[{ À; 11y = À(l - 1i"K) = À l<+ I (3.83)

1-g

Nella Figura 3.29 è anche evidenziato il valore della produttività 11 del sistema, che è pari al tasso di uscita e risulta

1 - {/' 1J = µ (I - rro) = >..l - 0" +1

Page 136: Sistemi ad Eventi Discreti

Sistenu ad eventi discreti temporiuati 127

À.(1-nK) = À.;ng ...... µ(I -no) µ ...... ... - ,,

À.1tK = À.abb

\I

Figura 3.29 Il sistema a coda !il/ !il /1/ K.

che è Àrng e quindi è minore di >... come è logico che sia dal momento che una percentuale di clienti vengono respinti. Inoltre, si ha che in questo caso l'utilizzo della risorsa. dato da (1 - Jro), è

1- OK

V={} I {}'°K+1

Il numero medio di clienti nel sistema, ottenuto come E(.r) = 0 j-rrJ, risulta

g(l - (/\ + l )t/< +I\ {J}(+I) .r = -----------

(1 - r/' 1)(1 - g)

da cui, utilizzando >..1119 nella legge di Little (3.68) si ottiene il tempo medio di attraversa-mento

- 1 - ( K + I ) D 1'° + K r/· + 1

1) = . J.l ( l {} ,, ) ( 1 - (})

Tenendo conto che il tempo medio di servizio è ancora l /Jl e ricordando l'equazione (3.75) e la legge di Little, si ottengono il numero medio di clienti in coda e il tempo medio di attesa in coda. 1 risultati riportati si riferiscono alla condizione g f;. 1; nel caso in cui g sia uguale a 1, il numero medio di clienti diventa l = I\ /2 e, di conseguenza. il tempo

. ' .1 !\. + 1 medio di permanenLa e u = )..

Per finire, si noti che spesso risulta interessante valutare le prestaLioni di una coda J\l /1'1 /I/ K sulJa base di un ulteriore indice, il tasso di abbandono >..(11>11: come si è visto, il tasso di abbandono costituisce il "complemento a ).."di Àrny e rappresenta i clienti che hanno "tentato" di entrare nel sistema, ma l'hanno trovato "al completo"; come indicato anche in Figura 3.29, è intuitivo che vale

La probabilità rr ,, che il sistema sia pieno è detta probabilità di blocco. Si noti che se 1\ oo con {} < 1, la coda 1U / i\l / l / J{ approssima la coda i\ I/,\!/ l e quindi la probabilità di blocco tende a diventare nulla.

Si può osservare come varia la probabilità di blocco in dipendenza del rapporto')../ 11, con A. fissato. o in dipendenza della capacità I\, fissato g = >../11. Per esempio, con I\= 5 si ha

Page 137: Sistemi ad Eventi Discreti

128 Capitolo 3

0,10 g. io- 5

0,50 0,016 0,75 0,072 LOO 0,166 2,00 0,508 5,00 0,800

Tabella 3.1 Probabilità di blocco con J( : 5.

Si può notare dalla Tabella 3.1 che la probabilità di blocco cresce con il rapporto >../ 11; il valore di 7i 1, corrispondente a >../ µ = 1 è stato determinato applicando la regola di L' Hopital. Si noti inoltre che per una coda U /JI /1 stabile >../ 11 non è mai maggiore di 1, perché ). non può mai essere maggiore di /1; invece, la capacità finita della coda 1\1 /1'1 /1/ J{ fa sl che siano ammissibili anche valori À > /l , perché i clienti in "eccesso", che renderebbero non stabile la coda, vengono respinti e dunque la stabilità è comunque assicurata, come si è già osservato in precedenza.

Se invece si fissa il rapporto>../ p, per esempio al valore 0,9, al crescere della capa-cità J( la probabilità di blocco com'è intuitivo diminuisce, come è riportato nella tabella seguente.

l 0,474 2 0,299 3 0,212 5 0,126 IO 0,051 20 0,014 100 2.7. io-a

TabelJa 3.2 Probabilità di blocco con )../ µ 0,9.

Nota 3.63. Nel progetto di sistemi ad accodamento con capacità limitata, un 'opportuna scelta del parametro K è determinante; solitamente il valore della capacità viene ricavato in funzione della probabilità di blocco che si è disposti ad accettare. Nel caso della coda JI /JI /1/ I\, la soluzione del problema si ottiene semplicemente trovando i valori di I\ tali che

dove if' è il massimo valore di probabilità di blocco accettabile.

Esempio 3.64. In un sistema a coda con singolo servente dove i tempi di arrivo hanno distribuzione esponenziale con parametro ).. = 1 cliente/minuto, si vuole dimensionare lo spazio di accodamento affinché la percentuale di clienti che trovano la coda piena non superi il 5% del totale degli arrivi. Inoltre, si vuole scegliere tale dimensione in modo

Page 138: Sistemi ad Eventi Discreti

Sistenù ad eventi discreti temporizzati 129

da minimizzare il costo complessivo del progetto, che consiste nella somma dei costi del servente e del costo dello spazio di accodamento. Il costo di ogni posizione in coda è di 60 Euro, mentre si può scegliere tra due serventi, che offrono entrambi servizi a distribuzione esponenziale con parametro 11: il primo costa 300 Euro e fornisce un tasso di servizio I' di 1,5 clienti/minuto, il secondo serve 11 = 2 clienti/minuto e costa 400 Euro.

11 sistema si può modellare come una coda !II/ Al /1/ ](; il problema consiste nel determinare il valore di I\ tale che

- (l/JL)/\(1- l /JL) oo:-7r" - i - ( 1 / 1d1\ + 1 < = i)

Si considerino separatamente i due serventi.

• Se JL = 1,5 clienti/minuto, g = l/JL - 2/3; bisogna calcolare il minimo valore di I\ tale che

21< 7rh 31, .... 1 - 2/\ +l < 0.05

Calcolando 7r1< per I\ - 1,2 ... si trova che il minimo valore di K che soddisfa la relazione è 5; infatti, 7rr, 0,048. Questa soluzione ha un costo di 600 Euro.

• Se 11 = 2 clienti/minuto, {} = l/JL = 0.5; bisogna calcolare il minimo valore di K tale che

1 7rf< - 2K+l - 1 < 0,05

La soluzione è I\ = l, per cui si ha 7r;., '.::::'. 0.032, che corrisponde a un costo di 640 Euro.

La soluzione a costo minimo è senz'altro la prima, ma si può osservare che la se-conda, con un coc;to non molto superiore, consente di soddisfare il vincolo sulla massima probabilità di blocco con ampi margini di sicurezza. t

Si è visto dunque che l'analisi di una coda a capacità finita 1'1 / JH /1 / f\" è trattabile; per contro, l'analisi di una rete di code a capacità finita è molto complicata, perché le probabilità di blocco delle singole code inducono relazioni di dipendenza tra le diverse code che non si riescono a esprimere in maniera semplice. È anche per questo motivo che nel prossimo paragrafo verranno trattate soltanto reti di code formate da code markovianc con capacità illimitata.

3.3.3 Reti di code markoviane

In questo contesto verranno prese in considerazione soltanto due particolari classi di reti di code tnarkoviane. per le quali risultati analitici significativi: le reti di code aperte di Jackson e le reti dr code chiuse di Gordon e Newell. Va detto che 1' ipotesi che i tempi di servizio e, nel caso di reti aperte, i tempi di interarrivo seguano la distribuzione esponenziale rende i citati modelli raramente idonei a rappresentare il funzionamento di SED in modo realistico; è altrettanto vero però che le reti di code markovianc costitui-scono un modello efficace per il dimensionamento di massima di un sistema reale. Tale approccio risulta vantaggioso anche dal punto di visla computazionale rispetto ai modelli

Page 139: Sistemi ad Eventi Discreti

130 Capitolo 3

puramente simulativi, che comunque devono essere utilizzati per valutare la qualità delle soluzioni analitiche ottenute con le reti di code, tenendo conto delle caratteristiche del sistema reale.

Prima di passare ad analizzare le tipologie di reti di code citate, è utile proporre qual-che osservazione generale. Si prenda in esame la rete di code markoviane intuitivamente più semplice, cioè quella che si ottiene collegando in serie due code 1'1 / JJ / L come in-dicato in Figura 3.30. Le reti ottenute collegando in serie più code uguali sono anche denominate reti di code tandem.

>

Figura 3.30 Rete di code tandem con due nodi !il/ AJ / 1.

È evidente che gli arrivi alla seconda coda dipendono dalle partenze dalla prima. quindi non risulta più vero che il processo degli arrivi della seconda coda è indipendente dagli altri processi che caratterizzano la rete. In realtà. la seconda coda non è più iU /.ìf /1 ed è dunque più appropriato indicarla con la tripla .; AI /1, dove · indica la generica di-stribuzione degli arrivi che la seconda coda assume in dipendenza dal resto della in questo semplice caso è chiaro che tale distribuzione dipende direttamente solo dal pro-cesso delle partenze dalla prima coda. Diventa dunque fondamentale caratteriu:are in maniera appropriata tale processo; a questo proposito esiste un risultato fondamentale. dovuto a P.J. Burke, valido per code ,1//1\1/111.

Teorema 3.65. (di Burke) In un sistema a coda con processo degli arrivi di Poisson con tasso À e tempi di servi.lio distribuiti in modo esponenziale il processo delle partente è ancora un processo di Poisson caratterizzato dallo stesso parametro>. che caratterizza gli arrivi. •

Questo teorema, la cui dimostrazione è contenuta nell'importante lavoro di Burke (1956), ha importanti ricadute nella trattazione delle reti di code markoviane, perché per-mette di analizzare separatamente ogni singola coda componente nell'ipotesi che i clienti che escono da una coda non ci ritornino subito. Questa condizione equivaJe all'assenza di percorsi in retroazione su una coda, al contrario di ciò che accade per esempio nel sistema rappresentato nella Figura 3.23. Riassumendo, quando sussistono le condizioni per cui ogni nodo dì una rete di code può essere analizzato in modo indipendente, per il teorema di Burkc i soli dati necessari per tale studio riguardano il numero di clienti nel nodo e i relativi processi di arrivo e di servizio.

Reti di code markoviane aperte. Il modello considerato in questo ambito è la rete di code di Jackson (1963). che è costituita da v nodi che rappresentano ciascuno una coda con un certo numero di servitori identici; ogni nodo i. i - 1. ... . v, presenta le seguenti carattetistiche:

l. 111 i

Page 140: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 131

2. popolazione di clienti illimitata;

3. spazio di accodamento (buffer) illimitato;

4. tempi di servizio a distribuzione esponenziale con parametro µi;

5. processo degli arrivi dall'esterno (se il nodo ha ingressi dall'esterno) di Poisson, con parametro ). •

In Figura 3.31 è raffigurata la pili semplice struttura di rete di code aperta, costituita · dalla sequenza di v code a singolo servente e spazio di accodamento illimitato, che come si è detto è denominata tandem.

>

Figura 3.31 Rete di code tandem.

partenze >

I clienti di una rete di code, che sono tutti dello stesso tipo, alla fine di un servizio presso il generico nodo i, i = 1, ... . v, lasciano la rete con probabilità 1 iO o vanno al nodo j, j = 1, ... p, per ricevere un altro servizio, con probabilità riJ; le probabilità introdotte, che sono denominate probabilità di instradamento (routing) e devono rispettare il consue-to vincolo L:;= 1 r1j + T'iQ = 1, i = 1, ... ,v, definiscono il processo di instradamento. I processi stocastici di arrivo, di servizio e di instradamento sono costituiti da sequenze di variabili aleatorie i.i.d. e risultano due a due mutuamente indipendenti.

ln accordo con le ormai note proprietà di composizione dei processi di Poisson, gli arrivi al generico nodo i, i = 1> ... ,v, sono descritti da un processo stocastico caratteriz-zato dal parametro

µ

>-i = >- }n + 2= 1'ji . ).,) (3.84) j=I

dove è nullo se non ci sono arrivi dall'esterno e Àj è il tasso medio di uscita dal nodo j. Le equazioni (3. 84) sono anche denominate equazioni di traffico della rete e costituiscono, per ·i = 1, ... ,v, un insieme di f/ equazioni in v incognite la cui soluzione fornisce i tassi medi di arrivo di tutti i nodi della rete. Tali equazioni, introducendo i vettori riga .,\ = [ Ài, i E N] e .,\in = [ >..!11

, i E N], possono essere riscritte in forma vettoriale come

da cui si ottiene l'espressione del vettore À come

.-\ = .,xin . (1 - R ) i (3.85)

Se la rete è ergodica la matrice (1 - R ) può sempre essere invertita e quindi questa risulta una condizione necessaria per la stabilità della rete.

Page 141: Sistemi ad Eventi Discreti

132 Capitolo 3

Alle reti di code aperte markoviane è associato il nome di J.R. Jackson in virtù del ri<iultato fondamentale che egli ha ottenuto e che può essere enunciato come segue.

Teorema 3.66. (di Juckson) In una rete di code 1'1 / ,U / m; aperta con le caranerisùche sopra descritte, la distribuzione di probabilità a regime esiste se la soluzione dell ·insieme di equazioni (3.84) soddisfa le condizioni di stabilità dei singoli nodi

//

Ài = À}11 + L 1'ji · À j < m, · Jl, J= l

i = 1, ... ,Il (3.86)

In questo caso la rete corrisponde a una catena di Markov a tempo continuo dove tutti gli stati sono ricorrenti positivi; la distribuzione di probabilità a regime dello stato di tale CMTC è

7i (X 1 . X 2 · · · · ·X 11 ) = 7r 1 ( l ) · 7r 2 ( .1: 2 ) · · · 7T v ( ./: 11 )

dove per chiarezza di notazione si denota con rr, (.r 1 ) la distribuzione di probabilità sta-zionaria di una coda JJ / JI / m 1 con tasso d ·arrivo À, e tasso di servizio Jl i . •

L'utilità pratica dcl teorema appena enunciato, la cui dimostrazione è riportata nel lavoro di Jackson (1963), risiede nella possibilità di analiuare una rete di code aperta sulla base dei singoli nodi che la compongono; infatti. se il sistema si trova in equilibrio stocastico, cioè ogni nodo soddisfa le condizioni di stabilità (3.86), la distribuzione di probabilità congiunta si ottiene come fonna prodotto delle distribuzioni di probabilità dei singoli nodi i,i J .... . v, che corrispondono peraltro alle distribuzioni di probabilità a regime div code singole Al/11!/ni ;. Si noti che il teorema di Jackson vale anche se ci sono i "ritorni" di clienti che rendono invece inapplicabile il risultato di Burke. A dimostrazione dei vantaggi che il teorema di Jackson introduce, si analizza il semplice caso di una rete di code tandem con 2 nodi.

Esempio 3.67. Si consideri una rete formata da due code 1\l / !II /1 collegate in serie come indicato in Figura 3.30. Lo stato del sistema è costituito dalla coppia (.r1 .• r2 ) ,

.r, E N, che conta il numero di clienti in ciascuno dei due nodi. L"insicmc degli eventi è f; = { a./Ji .p2 }; sia gli arrivi a che le partenze p,, i = 1.2, sono generati secondo processi di Poisson (indipendenti), dunque il sistema può essere rappresentato come una catena di Markov, il cui diagramma delle transizioni di stato è riportato in Figura 3.32.

Le equa1ioni di traffico. che si possono anche ricavare per ispezione dal diagramma dclJc transizioni bilanciando i flussi, sono

/t27r(O.l ) À7r(O.O) =O À7r(.r1 - 1:0) + µ2 7r(.r1,l ) - (À + 11 i)r.(:r 1 ,O)= O :r.1 >O 11 1 ri(l :.1;1 - 1) 4- /1111(0 .. r 2 + 1) (,.\ t- /t2)rr(O .. r2 ) = O .1:2 > O À7r( .r 1 - L:r2 ) + µ 111 (;z·1 + 1.J·2 - 1 )+

-t /t2 rr ( 2·1 :.1:2 + 1) - (À + /lt + /t2)7r( .r1 ,.r2) = O .i-1.J'.2 > O

con il vincolo L:.r1

L:.r2

rr (x1.J·2) = 1. Tali equazioni si possono risolvere ancora per mezzo delle relazioni (3.59) e (3.60),

che esprimono le probabilità di stato a regime in una CMTC-NM; si ottiene

( À ) ( ,.\ ) ( À ) ·

1

·1 ( À ) ·1

2

7r(:r1,.r2) = 1 - - 1 - - -/lt /12 /I l Jl2

Page 142: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 133

Figura 3.32 Diagramma delle transizioni della rete tandem con due nodi.

che, notando che À/p1 - g1 coefficiente di carico della coda i, è esattamente uguale al prodotto delle probabilità a regime delle due code considerate singolarmente che si otterrebbero dall'equazione (3.71). Si noti che per evitare ambiguità di notazione si è denotata con rr j (.r J) la probabilità stazionaria indicata nella trattazione delle code singole

+

Reti di code mar koviane chiuse. Si consideri un modello di rete costituita da v nodi, ancora descritti come nel caso di reti di code aperte, dove però sussiste adesso l'ipotesi strutturale che non ci siano arrivi dall'esterno ad alcun nodo, cioè >.: 11

- O, Vi; il numero di clienti nel sistema rimane pertanto costante e ogni volta che un cliente lascia la rete un nuovo cliente entra nel sistema. Chiaramente i processi degli arrivi non sono più di Poisson, mentre i tempi di servizio hanno sempre distribuzione esponenziale; un'altra differenza rispetto alle reti aperte è che adesso lo spazio degli stati X è finito. perché il numero di clienti 11 che popola la rete è costante.

La rete di code chiusa omologa della rete tandem rappresentata in Figura 3.30 è riportata in Figura 3.33; essa può essere interpretata come una CMTC finita, il cui diagramma delle transizioni di stato è raffigurato in Figura 3.34.

Figura 3.33 Rete di code chiusa composta da due nodi in serie.

Esiste un risultato fondamentale sulle reti di code markovianc chiuse, analogo al Teorema 3.66 per le reti aperte e dovuto a W.J. Gordon e R.R. Newell, che viene enunciato

Page 143: Sistemi ad Eventi Discreti

134 Capitolo 3

...

Figura 3.34 Diagramma delle transizioni di una rete chiusa con due nodi.

senza dimostrazione, per la quale si rimanda appunto al lavoro pubblicato da Gordon e Newell (1967).

Teorema 3.68. (di Gordon e Newell) Una rete di code chiusa con le caratteristiche su descritte, in cui inoltre non sia possibile isolare una sottorete dove i clienti possano solo entrare e non uscire. può essere modellata come una catena di Markov a tempo continuo irriducibile con spazio degli stati X finito. L'insieme X ha cardinalità data da

IXI = ( v + n - 1 ) ( 11 1 n - 1 ) n 11 - 1

dove n è il numero (costante) di clienti nel sistema. La distribuzione di probabilità a regime dello stato è

1 V X

Cl · '

1!" (Xl ,X2' ... ,x µ) = ---(.,----------,)- . II -(I ) V I' i= l J .l'j

2=. II 11lr:.·i) a: E .\: 1=1

dove le funzioni /J(:J:, ), i = 1. ... . v, sono

8 (x; = i· . _ . { .r ·'

· ) 111'

se .ri < m;

altrimenti

mentre le costanti n,, i = 1. ... . 11. sono le soluzioni del sistema lineare omogeneo

,, /L,<lj = L f';1Jl;O;

J I

(3.87)

(3.88)

• È facile notare che la distribuzione di probabilità a regime dello stato (3.87) risulta,

come nel caso di reti aperte, una distribuzione di probabilità congiunta informa prodotto; l'evidente differenza sta nel fatto che in una rete di code chiusa le variabili di stato aleato-rie .r,, i - 1 .... . 11, non sono indipendenti e quindi non è possibile scrivere la probabilità congiunta come prodotto delle corrispondenti 11 probabilità marginali. Inoltre, il calcolo della costante di normalizzazione premoltiplicata per la forma prodotto richiede l'enume-razione di Lutti gli stati x = col[:r; .i = 1: ... . 11] E: la cm·dinalità dello spazio degli

Page 144: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 135

stati, come su definita, può risultare considerevole anche per valori di v e n non molto grnndi. Con l'obiettivo di chiarire il funzionamento di una rete di code chiusa, vediamo un esempio relativo a un semplicissimo sistema.

Esempio 3.69. Si consideri nuovamente la rete chiusa raffigurata in Figura 3.22. dove la coda I ha m 1 = 2 servitori e tempo di servi7.io medio /ti e la coda 2 ha m2 = 1 servitori e tempo di servizio medio /l-.J., quindi il numero costante di clienti n è 3; data la struttura della rete, la corrispondente matrice degli instradamenti R è

perché ogni cliente che esce da una delle due code va ali' altra. Lo spazio degli stati X include i 4 vettori x = <·ol[.r1 .x2] con .r1 .. r1 E {U.1.2.3} e .i·1 + .r·> - :3. cioè X = {co/(0.3), col[l.2], l'o/[2.1], co/[3.0]}. Si vogliono ora calcolare le probabilità di stato a regime utilizzando l'equazione (3.87). Le funzioni 8(.r1 ) e 8(.r2 ) sono

3(.r i) = l 2

-1

se :r1 =O

se .r1 = 1 se :r·1 = 2

se :r1 = 3

e le costanti o 1 e n 1 si calcolano risolvendo l'insieme di equazioni (3.88), che in questo caso risulta indeterminato e ha come soluzioni le coppie (a1• 0:1 · JJ 1 / 112). Ponendo per semplicità a 1 = 1, quindi n 1 = /li/ 112, e indicando con K la costante di normalizzazione

1

( g ) :1 ( /!:l_) 2 J!l_ 1

+ + 2,G +

le probabilità degli stati a regime risultano

ri(0.3) " ri(l.2) (''') 2 I\ . /12

r.(2.1) Jl 1

N· -'2112

ri(3.0) 1 -4

Si lascia al lettore la verifica che tali probabilità non sono uguali ai corrispondenti prodotti 7i.r 1 • r.72 , x E .\,delle probabilità di regime delle due code Al/ U /2 e JI f.\l /1 che costituiscono la rete. +

Page 145: Sistemi ad Eventi Discreti

136 Capitolo 3

Numerosi ricercatori hanno cercato di estendere i risultati riportati a classi più estese di reti di code. La più importante generalizzazione è quella fornita dal teorema denonù-nato BCJ\I P dai nomi degli studiosi che l'hanno dimostrato, che sono Baskett, Chandy, Muntz e Palacios (1975). Tale teorema estende la classe delle reti di code risolvibili in forma prodotto sulla base delle soluzioni delle singole code, introducendo le seguenti ca-ratterizzazioni. Innanzi tutto, le distribuzioni dei tempi di servizio possono essere diverse dalla distribuzione esponenziale; poi, i clienti possono appartenere a popolazioni diffe-renti e quindi comportarsi in maniera diversa all'interno della rete: si pensi per esempio a un sistema di produzione in cui si fabbricano vari tipi di prodotti, che richiedono diverse sequenze di operazioni di lavorazione. Infine, sono ammesse discipline di servizio diverse dalla F IFO.

Anche per l'enunciato del teorema BCMP, oltre che per la sua dimostrazione e per maggiori deltagli relativi si rimanda al lavoro dei ricercatori che l'hanno pubblicato (Ba-skett et al., 1975) e ai diversi validi testi che trattano di reti di code elencati alla fine di questo capitolo.

Ancora ai riferimenti bibliografici forniti alla fine del capitolo si rimanda il lettore che desideri approfondire le trattazioni non di dettaglio fin qui effettuate a proposito dei modelli ad eventi discreti temporizzati. In conclusione, si ribadisce che, data la natura del testo, tali trattazioni sono indispensabili per fornire un quadro completo dei possibili modelli di SED temporizzati, ma sono essenzialmente funzionali ali' inquadramento nel contesto delle reti di Petri , che verranno introdotte nel prossimo capitolo.

Esercizi

Esercizio 3.1. Uno sportello bancario ammette solo un cliente in coda oltre a quello che sta ricevendo il servizio. I servizi richiesti dai clienti sono classificati secondo due diversi livelli di priorità: i servizi di tipo 1 hanno priorità maggiore e pertanto un servizio di tipo 2 può essere interrotto all'arrivo di un cliente che richiede un servizio di tipo l. In questo caso, il cliente che stava ricevendo il servizio di tipo 2 interrotto, ritorna in coda e attende che termini il servizio di tipo 1. Qualunque cliente trovi al suo arrivo il sistema pieno (2 clienti presenti), non può entrarvi.

I due tipi di clienti (servizi) arrivano secondo processi di Poisson caratterizzati rispet-tivamente dai parametri À1 e .\2 e i corrispondenti tempi di servizio seguono distribuzioni esponenziali caratterizzate rispettivamente dai parametri JL1 e 112 .

• Definire un modello ad eventi discreti del sistema dove a; e Pi rappresentano rispet-tivamente un arrivo e una partenza di un cliente di tipo ·i, i = 1.2.

• Rappresentare il modello come un automa temporizzato stocastico e disegnare il corrispondente diagramma delle transizioni di stato.

• Nell'ipotesi che nel sistema ci sia solo un cliente, di tipo 2 (attualmente in servizio), determinare la probabilità che il servizio sia terminato senza interruzioni.

• Determinare, quando il sislema rimane vuoto, quanto tempo trascorre prima che arrivi un cliente.

Esercizio 3.2. I simboli di un linguaggio possono essere considerati come generati da un processo di Markov: si consideri ad esempio il semplice linguaggio costituito dai simboli

Page 146: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temponzzati 137

a , 8 e) (spalio). Lo spazio divide le sequenze di simboli in parole. il linguaggio rispetta le seguenti regole: non ci sono mai tre n, due J o due) consecutivi: una parola non può cominciare con a:J o finire con dn. Nel rispetto di queste restrizioni, ogni simbolo è sempre equiprobabile. Formulare un modello mediante catene di Markov del linguaggio descritto e determinare le probabilità dei simboli.

Esercizio 3.3. Dimostrare che se P è una matrice stocastica, anche P 11, n = 2.3 .... , è

una matrice stocastica.

Eser cizio 3.4. La matrice del le probabilità di transizione di una CMTD è

o 1/3 2/3 u o o o () 1/4 :3/.J

P = o () o 1/4 3/<! 1 o () o ()

1 o o o o corrispondente allo spazio di stato X - { .t0 .. r 1 .x2 ,.r;3 .. r i}. Classificare i 5 stati e va-lutare le conseguenti caratteristiche della catena (irriducibilità, periodicità, ergodicità). Calcolare la distribuzione stazionaria di probabilità di stato.

Esercizio 3.5. Un sistema di produzione consiste di una sola macchina, che è soggetta a due diverse tipologie di quando sta lavorando, con probabilità p 1 può subire un guasto di tipo 1, con probabilità p2 può subire un guasto di tipo 2 e con probabilità 1 - p 1 - p2 può continuare a lavorare. Quando invece è inattiva a causa di un guasto di tipo i, la probabilità che sia riparata e riprenda a lavorare è r i , i - 1.2. Si determini la catena di Markov che modella questo sistema; supponendo che il tasso di produzione della macchina sia l quando è attiva e O quando è guasta, calcolare il tasso di produzione a regime.

Esercizio 3.6. Due urne contengono 10 palline ciascuna; in un'urna ci sono 9 palline nere e una pallina bianca, nell' allra 6 palline rosse e 4 bianche. Le palline vengono estratte da un'urna e poi rimesse a posto; se viene estratta una pallina non bianca, si continua a estrarre dalla medesima urna, altrimenti si passa all'altra urna. Determinare il modello con CMTD del sistema composto dalle due urne. (Si consiglia di scegliere come stato del sistema l'urna dalla quale si slanno estraendo le palline).

Esercizio 3.7. Un sistema di produzione consta di 3 macchine; quotidianamente. ogni macchina si guasta con probabilità p, indipendentemente dallo stato delle altre macchine. Alla fine di ogni giornata, le macchine guaste sono affidate a un tecnico riparatore, che può lavorare su una macchina alla volta; se all 'inizio di una giornata il riparatore ha una o più macchine guaste da riparare, entro la fine della medesima giornata ne riconsegnerà una aggiustata. Assumendo come stato del sistema il numero .r 11 di macchine operative alla fine del giorno n, cioè all'rnizio del giorno n + 1, inclusi eventuali gua">ti e riparazioni avvenuti durante quel giorno, si modelli il l)istema con una CMTD.

Determinare la percentuale di giorni che comincia con j macchine operative, j = 0,1.2,3, e il numero medio di macchine operative all'inizio di una tipica giornata. Inoltre, se una macchina operativa ali' inizio di una giornata induce un ricavo r a fronte di un costo e di riparazione, calcolare il profitto (r - <') giornaliero.

Esercizio 3.8. Un certo tipo di componente di una macchina viene di solito sostituito ogni 5 settimane, ma taJvolta è necessario sostituirlo prima. ln pratica, è stato stimato

Page 147: Sistemi ad Eventi Discreti

138 Capitolo 3

che: il 10% dei componenti viene rimpiazzato alla fine della prima settimana; il 15% dei componenti vecchi di una settimana sono rimpiazzati alla fine della seconda settimana; i I 35% dei componenti vecchi di 2 settimane sono sostituiti alla fine della terza settimana; il 40% dei componenti vecchi di 3 settimane sostituiti alla fine della quarta settimana.

Determinare la matrice delle probabilità di transizione P della CMTD che modella il processo descritto; ricavare la distribuzione dell"·età" di un componente dopo che il sistema ha funzionato per un lungo tempo. Se un componente è vecchio di k settimane, k = 0,L2,3,..1, quanto tempo passerà mediamente prima che venga sostituito?

Esercizio 3.9. Si consideri un sistema di produzione costituito da due macchine J\1 t e Afz e da una risorsa per la loro riparazione; i tempi di interguasto di Al;, i = 1,2, hanno distribuzione esponeni;iale con parametro Ài, mentre i tempi di riparazione seguono la distribuzione esponenziale con parametro JL 1 • Quando le macchine sono entrambe guaste. la risorsa di lavorazione viene equamente divisa tra le due. Si modelli il sistema descritto con una catena di Markov a tempo continuo con 4 stati.

Esercizio 3.10. A una fermata della metropolitana i passeggeri arrivano secondo un pro-cesso di Poisson con tasso di 4 al minuto; i treni passano a intervalli distribuiti in modo esponenziale con media di 5 minuti. Nell'ipotesi che tutti i passeggeri che si trovano in banchina all'arrivo del treno riescano a sal irvi, modellare il sistema con una CMTC e calcolare il numero medio di passeggeri che sale su ogni treno.

Esercizio 3.11. Si consideri il sistema rappresentato in Figura 3.22, in cui circolano n clienti; questo sistema può modeJlare una jlo\.v fine in cui sono disponibili un numero fissato n di pallet. I buffer in ingresso alle macchine l e 2 hanno capacità n 1 e n2 , ri-spettivamente. I pezzi da lavorare che arrivano vengono fissati su pallet per visitare le macchine I e 2; un prodotto finito è "smontato" dal pallet, che viene subito reso dispo-nibile per portare un nuovo pezzo alle macchine. I tempi di fissaggio e di carico/scarico sono trascurabili rispetto ai tempi di lavorazione. Quando una macchina finisce una la-vorazione e trova il buffer a vane pieno, rimane bloccata finché non si libera un posto in quel buffer in cui scaricare il pezzo. Lo stato del sistema può essere specificato dalla coppia (k1 ,k2 ) . dove k; è il numero di parti nel buffer della macchina i e in lavorazione sulla stessa.

Si modelli il sistema con una CMTC per n = 3 e n 1 = 11 2 = 1 e n 1 = n 2 = 2. Sarebbe differente il modello per n1 = n 2 = oo? Si calcoli il numero di stati per il generico ne n 1 = n2 = oo. Si determini il tasso di produttività della CMTC.

Esercizio 3.12. Si determini la CMTD nascosta corrispondente alla CMTC caratterizzata dal la matrice dei tassi di transizione

-À À o o o o -(À +/li) À µl o

Q= o o -111 o Jl1

µ2 o o -(À+Jl2) À o µ2 () o - 11 2

con spazio di stato .\ = { :ro ,:r i .:i·2 .1·3 .J' 1 } •

Determinare la distribuzione limite di probabilità, se esiste, e confrontare questo risultato con la distribuzione limite di probabilità, se esiste, ricavata per la CMTC stessa ponendo À = L Jl 1 = 1.5 e 112 = 1. 75.

Page 148: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti temporizzati 139

Esercizio 3.13. Una ditta di riparazioni di videoregistratori vanta nei suoi messaggi pub-blicitari un tempo medio di riparazione di 2 giorni. Sfortunatamente, non ci sono da-ti disponibili che confermino questa affermazione. Dai registri di consegna si desume che la ditta riceve ogni giorno in media 1 O apparecchi da riparare, mentre ce ne sono complessivamente 80 in riparazione o in attesa di essere riparati.

Valutare se i messaggi pubblicitari della ditta sono da ritenere attendibili, o se il tempo medio di riparazione è diverso da quanto affermato.

Esercizio 3.14. Si consideri un sistema a singolo servitore con spazio di accodamento nullo. I clienti, che arrivano con tasso À, se trovano il servitore occupato, lasciano il siste-ma, altrimenti vengono serviti con tempo medio 1/ /t; i tempi di interarrivo e di servizio sono variabili aleatorie i.i.d. Il sistema dunque può trovarsi solo in due stati: vuoto o con un cliente che sta ricevendo servizio. Applicare la legge di Little per dimostrare che le corrispondenti probabilità di stato a regime sono

/.L 7ro =

À + /l À

7i1 :._ --À +Il

Esercizio 3.15. Uno studente universitario lavora nell'orario serale alla mensa studen-tesca; quando lavora, è l'unico a svolgere le mansioni che svolge. Gli arrivi presso la sua postazione sono poissoniani con media cli 1 O all'ora: i clienti sono serviti secon-do la disciplina FlFO con tempi a distribuzione esponenziale con media di 4 minuti. Determinare:

• la probabilità che si formi coda alla postazione dove lavora lo studente;

• la lunghezza media della coda;

• il tempo medio di permanenza dei clienti presso la postazione;

• la probabilità che un cliente attenda più di 5 minuti in coda prima di essere servito.

Esercizio 3.16. In un autonoleggio c'è un solo meccanico addetto ai lavori di manuten-zione ordinaria (cambio olio/filtri/candele, regolazioni varie, ... ) del parco veicoli; le auto richiedono un servizio di questo tipo secondo un processo di Poisson al tasso medio di 3 al giorno e le operazioni di manutenzione richieste sono effettuate secondo tempi a di-stribuzione esponenziale con media di 7 ore. La gestione dell'autonoleggio costa 375 euro al giorno e l'azienda subisce una perdita di profitto di 25 euro al giorno per ogni macchina che rimane ferma nell'officina di manutenzione. Un consulente ha stimato che, cambiando alcune politiche gestionali e assumendo un meccanico più veloce, il tempo di servilio medio potrebbe diminuire a 6 ore: ciò farebbe però aumentare anche i costi di gestione. Qual è il massimo valore del costo di gestione che rende il cambio ancora economicamente vantaggioso?

Esercizio 3.17. Si consideri una rete di code costituita da tre centri di lavorazione posti in serie, ciascuno con un unico servente. Gli arrivi sono Poissoniani con parametro À e i tempi di servizio esponenziali, con parametri /t 1, /t2 e rispettivamente. Le prime due code hanno spazio di accodamento illimitato, mentre la terza può ospitare al più K clienti, compreso que llo che sta ricevendo il servizio. Se la coda al terzo centro di lavorazione è piena, ogni ulteriore cliente viene respinto ed esce dal sistema.

Determinare il numero medio di clienti nel sistema e il tempo medio di permanenza nel sistema dci clienti che riescono ad attraversare tutti e tre gli stadi della rete.

Page 149: Sistemi ad Eventi Discreti

140 Capitolo 3

Esercizio 3.18. Una ditta gestisce un sistema informatico costituito da tre siti web. Al sito 81 e al sito 82 si collegano in media À1 = 5 e À2 = 2 utenti/s dall'esterno del sistema e, dopo essersi registrati, entrano nel sistema. Al sito S3 non si può accedere direttamente dall'esterno.

Un utente collegato al sito S1 , dopo aver svolto una transazione (cioè dopo essere stato servito) termina il collegamento con probabilità 0,8, mentre con probabilità 0,2 viene ridiretto al sito 82 . Un utente collegato al sito 82 , dopo aver svolto una transazione, termina il collegamento con probabilità 0,5, mentre con probabilità 0,5 viene ridiretto al sito S3 . Un utente collegato al sito S3 , dopo aver svolto una transazione termina il collegamento con probabilità 0,9, mentre con probabilità O, 1 viene ridiretto al sito S 1•

In attesa di eseguire una transazione a un sito, gli utenti attendono nella coda del sito di capacità infinita.

Si suppone di avere a disposizione tre server da allocare ai tre siti. Il server A è in grado di eseguire JlA = 2.5 transazioni/s. Il server B è in grado di eseguire ttu = 8 transazioni/s. Il server C è in grado di eseguire µe = 6 transazioni/s. L'operazione di registrazione è una transazione come le altre, dunque fra gli utenti in coda ai siti 5'1 e S2 non occorre distinguere quali sono già registrati e quali sono in attesa di registrarsi.

• Modellare questo processo come una rete aperta di code markoviane, indicando i tassi medi di servizio (per ora incogniti) dei tre siti come 1i1 ,µ2 e 1t3 • Sotto quali ipotesi , finora non menzionate, questo modello è valido? Classificare le singole risorse.

• Discutere l'ergodicità di questo processo in funzione dei tre tassi /ti ,/t2 e µ 3 .

• Allocare i tre server ai tre siti in modo da minimizzare il tempo medio di collega-mento (cioè il tempo medio di attraversamento della rete) di un utente a regime.

• Il sito 53 contiene immagini JPEG protette da copyright e per ogni transazione (che consiste in un prelevamento di immagine) l'utente collegato paga 0,5 quanto guadagna in una ora la ditta da questo servizio?

Esercizio 3.19. Si consideri la rete di code chiusa rappresentata in Figura 3.33, in cui circolano n clienti. I tempi di servizio alle due code sono distribuiti in modo esponenziale con parametriµ 1 e JL"J. rispettivamente. Si valutino le condizioni di ergodicità della rete di code e le probabilità di stato a regime.

Esercizio 3.20. In una rete di code chiusa 35 clienti circolano tra 7 nodi secondo la matrice di instradamento

1 l o 1 u I o :3 4 4 6

l l o l 1 o o 3 ;r J fi

o o l l ] o o 3 3 3

R = I o I o I o o 3 3 3

o o o ;) o o I 6 6

l l l l l l o 6 6 6 6 6 6

o l l l 1 l l 6 6 6 fi 6 6

Page 150: Sistemi ad Eventi Discreti

Sistemi ad eventi discreti cemporizzati 141

Determinare per ognuna delle 7 code il numero medio di clienti e il relativo tempo medio di permanenza.

Esercizio 3.21. Una rete di code chiusa è costituita da 3 stazioni di servizio in cui circolano n clienti secondo la seguente matrice degli instradamenti

R= 1 q]

Le tre code hanno tempi di servizio i.i.d. in modo esponenziale con media 1/ I"; si vuole determinare la distribuzione a regime di n = 1 e n = 2 clienti nel sistema e 1' intervallo medio tra due partenze consecutive dalla prima stazione di servizio nel caso n = 2.

Bibliografia

• Baskett, F., K.M. Chandy, R.R. Muntz, R.R. Palacios, "Open, closed, and mixed networks with different classes of customers", Journal of ACM, Vol. 22, pp. 248-260, 1975.

• Bolch, G., S. Greiner, H. de Meer, K.S. Trivedi, Queueing networks and Markov chains, Wiley, 1998.

• Burke, P.J., "The output of a queueing system", Operations Research, Vol. 4, pp. 699-704, 1956.

• Gallager, R.G., Discrete stochastic processes, Kluwer, 1996.

• Gillespie, D.T., Markov processes, Academic Press, 1992.

• Gordon, W.J., R.R. Newell, "Closed queueing systems with exponential servers", Operations Research, Vol. 15, pp. 254-265, 1967.

• Gross, D., C.M. Harris, Fundamentals of queueing theory, Wiley, 1998.

• Jackson, J.R., "Jobshop-like queueing systems", Management Science, Vol. 10, pp. 131-142, 1963.

• Kleinroch, L., Queueing systems. Volume 1: Theory, Wiley, 1975.

• Lindley, O.V., "The theory of queues with a single server", Proceedings of Cam-bridge Philosophical Society. Vol. 48, pp. 277-289, 1952.

• Little, J.D.C., "A proof of L = >.H"', Operations Research, Vol. 9, pp. 383-387, 1961.

• Papoulis, A., Probability and statistics, Prentice Hall, 1990.

• Ross, S.M., lntroduction to probability mode/s, 5th cd., Academic Press, 1993.

• Walrand, J., An introduction to queueing networks, Prcntice-Hall, J 988.

Page 151: Sistemi ad Eventi Discreti

4 Reti di Petri posto/transizione

Le reti di Petri (RP) sono un modello di sistemi ad eventi discreti che trae ongine dal lavoro di Carl Adarn Petri, un ricercatore tedesco. Nel 1962 Petri discusse la sua tesi di dottorato dal titolo Komnumicatioll mii Automaten (Petri, 1962) in cui presentava un modello per processi di comunicazione che poi avrebbe preso il suo nome.

ln questo capitolo viene descritto il modello di rete di Petri più semplice, detto rete posto/tra11si-;.ione (o rete P/T). Si tratta di un modello lngico, che non consente di rap-presentare la temporizzazione degli eventi ma solo l'ordine con cui essi si verificano. In un capitolo seguente si studieranno anche le reti di Petri tempori-::.:.are. deterministiche o stocastiche. Tuuavia, se non altrimenti specificato, nel seguito i termini "rete di Petri'' e ·'rete posto/transi1ione" verranno assunti quali sinonimi.

Fra i vari modelli ad eventi discreti. le reti di Petri hanno un· importanza predomi-nante a causa d1 vari fattori.

Il

• Le RP sono un formai smo grafico e matematico allo stesso tempo. Essendo un formalismo grafico sono di facile comprensione. possono es..,cre usate come stru-mento di duto visuale in fase di progetto e di specifica. con-.cntono al progettista e all'open to-e di un s ;tema di parlare lo stesso linguaggio. Esc;endo un formali-smo mate1 iatico. cons<. nono di appl care una vasta gamma di tecmche d1 aral si (ad esempio b 1sate sull'alt !b ·a lineare) allo studio d1 proprietà di mteresse

• Permettono ci dare un. rappresenca-io11e compaua di sic;temi con un gran le di stato. Infatti non rie iedono di rar presentare esplicitamente tutti i valori 'JO'lsibiU dello stato di un sisten 1, 11a solo le regole che governano la -.ua evoluzio e. Spes-so una stn ttura di rete fir.ita può e' ;ere usata per descrivere ">ÌS!cmi che hanno un '1umero in in to di stati

• Permetton > e i rappresi uae esplici tlT'entc il coi cetto di cmu m re11-:.c1. cio ! e i atti-vità che p ss )no venin S\ olte parai ·la mente

• Consentot J una rappr )·enta::.ione 11 >ll11/are; e iot, se un c;1..,te rn l.· da più sottosisten i che intera isc ono fra 11 ·o è generai nente poss1I le rappr•!SC ra1 e eia-scun sotto istema come ,ma semplic SC ltOl'ClC' e f 1i. rnediai:1te pt ratori ,.,. i r te. unire e varie se toreti pe1 ot nt il mod 11< dc I s1 ,Lei a ;ornpk.;"j o.

('on il ten ine ··,.ete d1 et., .. si i 1di1 1L11a am : ia la :'e di mm !Il, ad fil UÌ \Crcli. ne dello rete Jrr dcsc. 1tt• Il quest, .: >iH>I< . CO:lH gi i dette . In lllfldl!JI? I g1co. È

Page 152: Sistemi ad Eventi Discreti

144 Capitolo 4

tuttavia possibile associare una struttura di temporizzazione all'evoluzione della rete per definire varie classi di modelli temporizzati, sia deterministici che stocastici. Esistono infine ulteriori estensioni delle reti P!f, quali le reti con archi inibitori, reti con priorità, reti colorate, continue, ibride.

Riferimenti bibliografici di carattere generale sulle reti di Petri sono i libri di Peterson (198 1), di Reisig (1985) e di Davide Alla (1992), nonché l'articolo di rassegna di Murata (1989). ln italiano è stato pubblicato il libro di Brams (1985), traduzione dal francese di un testo scritto da vari autori sotto un nome collettivo.

In questo capitolo viene dapprima descritto, nel paragrafo 4.1, il modello rete P!f con le regole che governano la sua evoluzione. Nel paragrafo 4.2 si affronta il proble-ma di come descrivere mediante reti P!f un sistema fisico: si citeranno esempi tratti da svariati campi applicativi, e si presenterà una tecnica che consente la sintesi di modelli di sistemi complessi per composizione di reti più semplici. Nel paragrafo 4.3 si presenta una importante tecnica di analisi che richiede la costruzione del grafo di raggiungibilità (o di copertura se la rete fosse non limitata); le principali proprietà comportamentali di una rete sono anche definite e studiate. Nel paragrafo 4.4 si descrive una procedura basata sull'equazione di stato che consente di determinare condizioni necessarie per la raggiun-gibilità di una marcatura. Nel paragrafo 4.5 si presenta un'altra importantissima tecnica di analisi che si basa sullo studio deUa matrice di incidenza associata a una data struttura di rete; le principali proprietà strutturali di una rete sono anche definite e studiate. Nel paragrafo 4.6 si descrivono varie sottoclassi di reti Prr che, pur essendo meno potenti del modello generale considerato nel resto del capitolo, grazie alla loro particolare struttura sono più semplici da analizzare. Infine il paragrafo 4.7 conclude il capitolo con qualche commento relativo aJ confronto fra gli automi (J 'altro importante modello di SED logici studiato nel Capitolo 2) e le reti Prr.

4.1 Definizione di rete e sistema di rete

In questo paragrafo viene definita la struttura algebrica e grafica delle reti P!f. Aggiun-gendo a tale struttura una marcatura si ottiene una rete marcata (o sistem.a di rete), cioè un sistema ad eventi discreti, di cui si studieranno le leggi che governano l'evoluzione dinamica.

4.1.1 Struttura delle reti posto/transizione

Una rete Pff è un grafo bjprutito orientato e pesato. I due tipi di vertici sono detti: posti (rappresentati da cerchi) e transizioni (rappresentate da barre o da rettangoli).

Definizione 4.1. Una rete posto/transizione (o più brevemente rete PII') è una struttura N = (P.T.Pre.Po.st) dove:

• P = {p1 ,p2. · · · Pm} è l'insieme degli m posti.

• T = { t1 ,t2 , · · · t n} è l'insieme delle n transizioni.

• Pre : P x T ---t N è la fun-::,ione di pre-inciden-::.a che specifica gli archi diretti dai posti alle transizioni (detti archi "pre") e viene rappresentata mediante una ma-rrice m x r1. Più esattamente, Prf'(p.I) indica quanti archi vanno daJ posto p aUa

Page 153: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 145

transizione t; come caso patticolare vale Pre(p,t) = O se non esistono archi da p a t.

• Post : P x T N è funzione di post-incidenza che specifica gli archi diretti dalle transizionj ai posti (detti archi "post") e viene rappresentata mediante una matrice m x ri . Più esattamente, Post(p,t) indica quanti archi vanno dalla transizione tal posto p; come caso particolare vale Post(p,t) = O se non esistono archi data p.

Si suppone che PnT = 0 (cioè posti e transizioni sono insiemi disgiunti) e che PUT -:/: 0 (cioè la rete è costituita da almeno un posto o da una transizione). A

Un esempio chiarirà questi concetti.

Esempio 4.2. ln Figura 4.1 è rappresentata la rete N = (P,T.Pre.Post) con insieme dei posti P = {P1 1p2.p3.p.d e insieme delle transizioni T = {t1 .t2.f3,f.i.t15}. La matrice Prevale:

Pre =

mentre la matrice Post vale:

Post =

[

'

ti

[

1 o o o

f 2

o 2 o o

o o 1 1 o o o o

t3 f 4

o o o o 1 o o 1

I t5

n ti tz t3 t4 t5

PI

P2 p3 /)4

Si noti che Pust(p2 ,t2 ) = 2, e dunque vi sono due archi che vanno dalla transizione t2

al posto p 2 . Nella figura, tuttavia, invece di rappresentare esplicitamente i due archi si è usata una notazione semplificata che consiste nel rappresentare un solo arco barrato e avente per etichetta un numero (2 in questo caso) che indica la sua molteplicità. +

Figura 4.1 Una rete di Petri posto/transizione.

Page 154: Sistemi ad Eventi Discreti

146 Capitolo 4

Le matrici Pre e Post sono delle matrici di interi non negativi. Si denota Pre(-.t) la colonna della matrice Pre relativa alla transizione t, e Pr·e(p.· ) la riga della matrice Pre relativa al posto p . La stessa notazione vale per la matrice Post. Ad esempio, per lareteinFigura4.l vale: Pre(-,ti)) = [001 lf,ePost(p1 ,-) = [10001).

L'informazione sulla struttura di rete contenura nelle matrici Pre e Post può venir compattata in un'unica matrice, detta di incidenza.

Definizione 4.3. Data una rete N = (P1T. Pre.Post), con m posti e n transizioni, la matrice di incidenza C : P x T Z è la matrice m x n definita come:

C = Post - Pre (4.1)

cioè il generico elemento di C vale C(p,t) = Post(p,t) - Pre(p,t).

Dunque la matrice di incidenza è una matrice di interi. Un elemento negativo è associato a un arco "pre" (da posto a transizione), mentre un elemento positivo è associato a un arco "post" (da transizione a posto).

La matrice di ,incidenza C della rete in Figura 4.1 vaJe:

o -1 o o 1 [J1

C= o 2 -1 -1 o /J2 o o 1 o -1 p;i, o o o 1 -1 Pi

t1 t2 t :3 l .1 {5

Nel compattare le due matrici Pre e Post, spesso la matrice di incidenza perde qualche inf orrnazione sulla struttura della rete. Ad esempio, nella rete in Figura 4.1 tra il posto p 1 e la transizione t 1 vi è sia un arco "pre" che un arco "post"; si dice che µ1 e t 1 costituiscono un cappio, cioè un ciclo orientato nel grafo della rete costituito da una sola transizione e da un solo posto. In questo caso la somma algebrica di Pre e Post determina un elemento C(p1 .ti) =O, cioè dall'esame della sola C non è possibile rilevare che vi sono archi tra questi due vertici. Una rete senza cappi è detta pura.

Infine, data un transizione t E T si definiscono i seguenti insiemi di posti:

•t = {p E P I Pre(p,t) > O}: è l'insieme dei posti in ingresso a t,

t• = {p E PI Pust(p,t) >O}: è l'insieme dei posti in uscita da t;

dato un posto p E P si definiscono i seguenti insiemi di transizioni:

•p= {t ET I Po.st(p,t) >O} : èl'insiemedelletransizioniiningressoap,

p• = {t ET I Pre(p.t) >O} : è l'insieme delle transizioni in uscita da p.

Ad esempio, nella rete in Figura 4.1 vale • t2 = {p, }, = {P2}, •p2 P2 = {t3,f t}.

4.1.2 Marcatura e sistema di rete

Mediante la marcatura è possibile definire lo stato di una rete Prr.

Page 155: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 147

Definizione 4.4. Una marcatura è una funzione M : P -+ N che assegna a ogni posto un numero intero non negativo di marche (o gettoni). .&

Graficamente le marche vengono rappresentate con pallini neri dentro i posti. Ad esem-pio, nella rete in Figura 4.1, una marcatura possibile M è Al (p1 ) = 1, 1\1 (p2 ) = 1U(p3) = 1ìl(p4) =O ed essa è mostrata in Figura 4.2(a). Altre marcature possibili sono: M' con iìl' (p2 ) = 2, JI' (pi) = JI' (p3 ) = .\I' (p1) =O, mostrata in Figura 4.2(b); M" con JJ"(p2 ) = JI"(pi) = 1, Jl"(pi) = ,ìf"(pJ) =O, mostrata in Figura 4.2(c); ecc. Si è soliti indicare una marcatura come un vettore colonna con m componenti (tante quanti i posti). Dunque la marcatura mostrata in Figura 4.2(a) è M = [l O O 0)7, quella mostrata in Figura 4.2(b) è M ' = [O 2 O Of, quella mostrata in Figura 4.2(c) è M" = [O 1 O l] r.

t_, Pf

Figura 4.2 Evoluzione <li una rete marcata. (a) Marcatura iniziale. (b) Marcatura raggiunta dopo lo scatto di f 2 . (e) Marcatura raggiunta dopo lo scatto di f2f 1.

Definizione 4.5. Una rete Y con una marcatura iniziale M 0 è detta una rete marcata o sistema di rete, e viene indicata come (1\',M 0 ). .&

Page 156: Sistemi ad Eventi Discreti

148 Capicolo 4

Una rete marcata è in effetti un sistema ad eventi discreti a cui è associato un comporta-mento dinamico, come si vedrà nel seguente paragrafo.

4.1.3 Abilitazione e scatto

Definizione 4.6. Una transizione l è abilitata dalla marcatura M se

M Pre(·.t) (4.2)

cioè se ogni posto p E P della rete contiene un numero di marche pari o superiore a Pre(p.t). Per indicare che tè abilitata da M si scrive M [I). Per indicare che t' non è abilitata da M si scrive • M [t'). &

Dall'ispezione visiva di una rete marcata è facile rendersi conto se una transizione t è abilitata: occorre che ogni posto in ingresso alla transizione, cioè ogni posto p E •t, abbia un numero di marche pari o superiore agli archi "pre" che vanno dal posto alla transizione.

Nella rete marcata in Figura 4.2(a), l'insieme delle transizioni abilitate è {ft,t2 }.

Nella rete marcata in Figura 4.2(b), l'insieme delle transizioni abilitate è {t3 .t 1 }. Nella rete marcata in Figura 4.2(c), l' insieme delle transizioni abilitate è ancora {1 3.l.1}: la transizione t 5 non è invece abilitata (pur essendo p4 marcato) perché non è marcato il posto p3 .

Una transizione che non possiede archi in ingresso, come la transizione t in figura Figura 4.3, è detta transi<.ùme sorgente. Una transizione sorgente t è sempre abilitata, poiché, essendo in tal caso Pre(·.I) = O, la condizione in equazione (4.2) è soddisfatta per ogni marcatura M.

p

Figura 4.3 Una rransi1ione senza archi in ingresso.

Definizione 4.7. Una transizione t abilitata da una marcatura M può scattare. Lo scatto di t rimuove Pr<'(p, I ) marche da ogni posto p E P e aggiunge Post(p,t) in ogni posto p E P, determinando una nuova marcatura M'. Cioè vale

M' = M - Pre(·,t) + Post(·.t) = M + C (· .f ). (4.3)

Per indicare che lo scatto di t da M determina la marcatura M' si scrive M [t)M '. &

Ad esempio, se nella rete marcata in Figura 4.2(a) scatta la transizione t2 , si raggiun-ge la marcatura mostrata in Figura 4.2(b). Si noti che nella rete in Figura 4.2(a) potrebbe scattare anche la transizione t1 ; lo scatto di questa transizione non modificherebbe la mar-catura, perché e (. ,t I) = O, e quindi detta M la marcatura in figura varrebbe M [t I) M. Se nella rete marcata in Figura 4.2(b) scatta la transizione t 1, si raggiunge la marcatura mostrata in Figura 4.2(c); si noti che anche la transizione t3 è abilitata dalla marcatura in Figura 4.2(b) e potrebbe scattare al posto della transizione t 1. Nella rete marcata in Figura 4.3 la transizione t è sempre abilitata e può scattare ripetutamente. portando dalla marcatura iniziale M 0 = [O] in figura, alle marcature (1], (2] ecc.

Page 157: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 149

Definizione 4.8. Una sequenza di transizioni1 a= tj1 th ···tir ET* è abilitata da una marcatura M se: la transizione tj1 è abilitata da Me il suo scatto porta a M 1 = M + e (. ,t )1 ) ; la transizione t h è abilitata da Ml e il suo scatto porta a M 2 = MI +e (. ,t Ì2); ecc. Una sequenza abilitata a viene anche detta sequenza di scatto e a essa corrisponde la traiettoria:

M[tJ, )M1[t12)M2 ... [tJr) M r.

Per indicare che la sequenza a è abilitata da M si scrive M[a). Per indicare che lo scatto di a da M determinala marcatura M' si scrive M[a)M'. La sequenza vuota e (cioè la sequenza di lunghezza zero) è abilitata da ogni marcatura Me vale M [e) M. A

Ad esempio, nella rete in Figura 4.2(a) una possibile sequenza di transizioni abilitata dalla marcatura iniziale è a= t1 t1 t2 t 3 , il cui scatto porta alla marcatura M' =[O 11 O]r.

A una rete marcata (N,M 0) è possibile associare una ben precisa dinamica, data dal-1' insieme di tutte le sequenze di transizioni che possono scattare a partire dalla marcatura iniziale.

Definizione 4.9. Il comportamento (o linguaggio) di una rete marcata (N.M o) è l'insie-me delle sequenze di scatto abilitate dalla marcatura iniziale, cioè l'insieme

Finalmente, è anche possibile definire lo spazio di stato di una rete marcata.

Definizione 4.10. Una marcatura M è raggiungibile in (N,M o) se esiste una sequenza di scatto a tale che M 0[a)M. L'insieme di raggiungibilità di una rete marcata (N,M o) è l'insieme delle marcature che possono venir raggiunte a partire dalla marcatura iniziale, cioè l'insieme

R(N,Mo) ={ME W I 3a E L(N.Mo): M o[a)M}

Si noti che nella precedente definizione si considera anche la sequenza vuota, che non contiene alcuna transizione. Poiché M o[e) M o, vale dunque Mo E R(N.M o).

Ad esempio, si consideri la rete marcata in Figura 4.4(a.), dove la marcatura iniziale assegna un numero r di marche al posto p1 . L'insieme di raggiungibilità di tale rete vale R(N,M0 ) = {[ij kf E N3 I i+ j+k = r} edèdunquefinito2. Una generica marcatura M appartenente a questo insieme con fvl(p2 ) = j e AJ(p3) = k, si può raggiungere a partire dalla marcatura M 0 in figura scattando la sequenza3 t 1 i+k t 2 k. TI comportamento L( N, M 0) di tale rete, viceversa, è infinito perché possono scartare sequenze di transizioni di lunghezza arbitraria.

1Con Ja stessa notazione usata nel Capitolo 2. T· indica l'insieme di tutte le sequenze (di lunghezza O, I, 2, ecc.) composte dalla concatenazione di elementi dj '/'.

2Nell'Esercizio 4.20 si dimostra che tale insieme ha cardinalità (r + l)(r + 2)/2. 3Con la stessa notazione usata nel Capitolo 2, ti J +k t2 k t 1 • • • t 1 t2 • · • t2 indica Ja sequenza composta ..__,_.......__,_.....

J+k k dalla concatenazione di li per j + k volte e di l2 per k volte.

Page 158: Sistemi ad Eventi Discreti

150 Capirolo 4

P•

(a) (h) (c)

Figura 4.4 Alcuni esempi di reti marcate.

Nella rete in Figura 4.4(b), l'insieme di raggiungibilità è R( Y.M 0 ) = N2 e Lale insieme è dunque infinito. Una generica marcatura M con iU(p1) = i e 1'1(p2) = j si può raggiungere a partire dalla marcatura Mo in figura scattando la sequenza 11 i+; t21 .

Anche il comportamento della rete è infinito ed è costituito dalle sequenze tali che in ogni loro prefisso la frequenza di t 1 è maggiore o uguale alla frequenza di t2 , cioè L(NiM 0 ) -

{a ET* I 'Va' la'l11 2:: la'l 1:)4

.

Nella rete in Figura 4.4(c), vale R(l\-,M 0 ) = {[1 O 0)7 .[O 1 O] 1 .[O O l]T} mentre il comportamento della rete è L(.X.M0) = {E.t1, t 2 }. Si noti che non esiste una sequenza che passi per tutte le marcature raggiungibili: ad esempio, se daJla marcatura iniziale scatta t 1 si raggiunge la marcatura [O 1 O] 1 a partire dalla quale la marcatura [O O 1] 1 non sarà più raggiungibile.

A conclusione di questo paragrafo, si osservi che una duplice semantica (cioè si-gnificato) è associata alla marcatura di una rete: da un lato, la marcatura indica lo stato in cui si trova il sistema; dall'altro, essa specifica quali attività possono venire eseguile, cioè quali sono le transizioni abilitate. Dallo scatto delle transizioni dipende invece il comportamento dinamico di una rete marcata.

4.1.4 Equazione di stato e proprietà dinamiche elementari

La Definizione 4.7 permette di calcolare la marcatura raggiunta dallo scatto di una transi-zione mediante una semplice equazione matriciale. Questa proprietà può essere estesa a una sequenza di transizioni a. Per prima cosa si definisce il vettore di scatto associato ad una sequenza.

Definizione 4.11. Data una rete X con insieme di transizioni T - {t1 .t2 . · · · .ln} e una sequenza di transizioni a E T", si definisce vettore caratteristico di a (o anche vettore di scalfo associato a a) il vettore u E N", la cui generica componente a 1 = lalti indica quante volte la transizione ti compare in a. •

4 Con la stessa notaztonc usata nel Capitolo 2, si scnvc u' <J per indicare che h1 sequenza a' è un prefisso della sequenza a, mentre la:1 indica il numero ds volte m cui la transizione t, compare nella sequenza <J.

Page 159: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 151

Ad esempio, nella rete in Figura 4.2(a) si consideri la sequenza CJ = t1 t1t 2 t 3 . Poi-ché t 1 compare due volte in a, mentre t2 ,t3 vi compaiono una solo volta e t11.t5 non vi compaiono, il vettore caratteristico di tale sequenza è u = [2 11 o o]1. Proposizione 4.12. Equazione di stato. Sia (N,M 0 ) una rete marcata e sia C la sua matrice di incidenza. Se M è raggiungibile da M 0 scattando la sequenza di transizioni rr vale

M=Mo+ C · u . (4.4)

Dimostrazione. Si consideri la sequenza a = tj, th ···tir• e si supponga che valga M o[a)M , cioè Mo[tj1 )M i[ti2) M 2 · · · [tiJM,,, con M ,. = M. Può scriversi:

M = M r = M r-1 + C (-,tj,.) = M r-2 + C (-,tir-1) + C( ·.tjJ = ... =Mo+ 2:;=1 C (·/;k) = M o+ C · u ,

dunque l'equazione di stato è soddisfatta. D

Si consideri , ad esempio, la rete marcata in Figura 4.2(a) la cui matrice di incidenza è già stata calcolata. Può facilmente verificarsi che la marcatura M ' = [O 1 1 0)1 , raggiungibile dalla marcatura iniziale M o = [1 O O Of eseguendo la sequenza a = I 1 l 1 l·1,13 , soddisfa l'equazione

M ' M o + C·u

[ n [ n + [-n Due importanti proprietà di monotonia sono le seguenti.

Proposizione 4.13. Data una rete N siano Me M due sue possibili marcature.

1. Si consideri una sequenza a abilitata da entrambe le marcature e siano M' e M' le marcature rispettivamente raggiunte da M e M dopo lo scatto di o, cioè sia M [o") M ' e M[a)M '. Vale

M - M '= M - M1

, e M - M=M' -M'.

2. Se M 2: M allora ogni sequenza abilitata da M è anche abilitata da M, cioè vale

L(N1M) ç L(N,M)

Dimostrazione. La prima proprietà si prova semplicemente grazie all'equazione di stato (4.4), poiché vale M' = M +e. u e M' = M +e. u e sottraendo membro a membro le due identità si ottiene il risultato cercato.

La seconda proprietà deriva dalla prima. Infatti, sia o = t j 1 t h · · · t jr una sequenza abilitata da Me valga:

M [t · ) M i [t · ) M? .. · [t · ) M' )1 )2 - Jr ·

Essendo M 2: M 2: Pre(·,tii ), vale anche M [ti )M1 dove M 1 = M - M + M 1 > M1 in base alla prima proprietà. Dunque M i[th) e iterando si dimostra che M [a) . D

Page 160: Sistemi ad Eventi Discreti

152 Capitolo 4

Per terminare questo paragrafo incroduttivo, si introduce il concetto di conflitto.

Definizione 4.14. Due transizioni te t' sono in conflitto strutturale se • t n •t' "I 0, cioè se esiste un posto da cui partono sia un arco verso t che un arco verso t' . Data una marcatura M, si dice ancora che tali cransizioni t e t' sono in conflitto ef-fettivo (o in conflitto tout court) se M Pre(·.I) e M > Pre(·.t') ma M l Pre(·.t) + Pre(·.f'), cioè se sia l'una che l'altra sono abilitate da M. ma tale mar-catura non contiene un numero sufficiente di marche per consentire lo scatto di entrambe le transizioni. A

Ad esempio, nella rete in Figura 4.2 le transizioni t 1 e I 2 sono in conflitto strutturale. Tale conflitto è anche effettivo nella marcatura in Figura 4.2(c), perché il posto p 2 E •t1 n •t2 contiene una sola marca che può essere usata per lo scatto di una sola delle due cransizioni. Il conflitto invece non è effettivo nella marcatura in Figura 4.2(a), perché le due transizioni non sono abilitate, né nella marcatura in Figura 4.2(b), perché p2 contiene abbastanza marche per permettere lo scatto di entrambe.

4.2 Modellazione con reti di Petri

In questo paragrafo, si presenteranno dapprima alcune strutture elementari di reti P!T e le semantiche a esse associate. Verranno inoltre presentati alcuni esempi in cui le reti di Petri vengono usate per rappresentare sistemi cratti da vari campi applicativi: protocolli di comunicazione, elaborazione di flussi di dati, sistemi operativi, processi produttivi, sistemi di trasporto. Viene anche presentata una tecnica di sintesi di modelli complessi mediante l'operatore di composizione concorrente.

4.2.1 Strutture elementari

In un sistema ad eventi discreti, l'ordine con cui si verificano i vari eventi può essere soggetto a vincoli di varia natura. In un modello RP, ciò corrisponde a porre dei vincoli sull'ordine con cui scattano le transizioni. È possibile, a questo proposito, individuare quattro principali strutture.

Sequenzialità. Gli eventi si succedono in un ben determinato ordine.

In Figura 4.5(a) l'evento e2 può verificarsi solo dopo che si è verificato e1 ; l'evento C':1 può verificarsi solo dopo che si è verificato e2 .

Parallelismo (o concorrenza strutturale) . Gli eventi possono verificarsi senza alcun ordine prefissato5.

In Figura 4.5(b), dopo che scatta la u·ansizione par begin (parallel begin) gli eventi < 1 , e2 ed e3 sono simultaneamente abilitati. La struttura del parallelismo è tale che i

;Si noti che talvolta s1 ammette (ipotesi dì co11corre11::.a) che più traru;iLioni abilitate possano scattare! con-temporaneamente. purché esse non siano m confhtto effettivo. Tunavia in questo testo non s1 adotta tale e si assume sempre che le transizioni scattino una alla volta

Page 161: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 153

(a)

(b) (e)

(d)

Figura 4.5 Strumtre elementari di reti di Petri: (a) sequenzialità; (b) parallelismo; (e) sincronizza-zione; (d) scelca.

tre eventi non sono in conflitto strutturale e possono verificarsi in un qualunque ordi-ne, poiché il verificarsi di un qualunque evento non modifica lo stato di abilitazione degli altri. La transizione par begin crea una ramificazione (fork) nel flusso degli eventi.

Sincronizzazione. Più eventi paralleli devono essersi verificati per poter procedere.

In Figura 4.5(c), gli eventi ei, e2 cd e3 possono verificarsi parallelamente ma la transizione par end (parallel end) non può scattare se essi non si sono tutti verificati. La transizione par end crea una confluenza Uoin) nel flusso degli eventi.

Scelta (o conflitto strutturale). Un solo evento tra i tanti possibili può verificarsi.

In Figura 4.5(d), uno solo tra gli eventi e1 , e2 ed può verificarsi, perché lo scatto di una qualunque transizione disabilita le altre. Si noti che la struttura della scelta è caratterizzata da un posto in ingresso a più transizioni che determina un conflitto snutturale.

Alle strutture elementari qui viste è anche spesso possibile associare una semantica duale, in cui si tiene conto non tanto dell'ordine con cui scattano le transizioni, quanto piuttosto delle variazioni delle marcature. In questo caso, le marche rappresentano delle risorse disponibili, è possibile individuare tre principali strutture.

Smontaggio. Un insieme di parti viene separato in parti elementari.

In Figura 4.6(a) la rete marcata rappresenta l'operazione con cui un'automobile vie-ne smontata, ottenendo quattro ruote e un telaio. La transizione è simile al par begin visto precedentemente.

Page 162: Sistemi ad Eventi Discreti

154 Capitolo 4

latte ruote

telaio (a)

f1 l-3

carica carica Ml M2

/2

(e)

Figura 4.6 Strutture elementari di reti di Petri: (a) smontaggio; (b) montaggio; (e) mutua esclusione.

Montaggio. Più parti elementari si uniscono per formare un insieme.

In Figura 4.6(b), la rete marcata descrive sinteticamente con quali ingredienti si prepara una nota salsa. La transizione è simile al par end visto precedentemente.

Mutua esclusione. Una risorsa (o un insieme di risorse) è disponibile, ma mentre essa viene impegnata per una data operazione non è utilizzabile per altre operazioni.

In Figura 4.6(c), un solo robot è disponibi le per caricare parti su due macchine. Quando il posto robot è marcato il robot è disponibile, mentre se è marcato il posto canea m 1 oppure carica m2 il robot è impegnato nella corrispondente operazione. Se dalla situazione in figura scatta la transizione t 1, si inizia il caricamento della prima macchina e il posto robot si svuota: dunque la transizione t3 , il cui scatto corrisponde all'impegno del robot per il caricamento della seconda macchina, è di-sabilitata fino a che lo scatto di t 2 non riporti la marca nel posto robot. Similmente, dalla si tu azione in figura lo scatto di t 3 disabilita t 1 sino allo scatto successivo di t 1•

La struttura è simile alla "scelta" vista in Figura 4.5(d).

4.2.2 Esempi di modellazione

Processo emittente-ricevente. Si considerino due processi elementari, un "emittente" e un "ricevente" che comunicano fra loro mediante un assegnato protocollo. L'emittente si trova inizialmente pronto a inviare un messaggio; dopo averlo inviato attende la conferma della ricezione da pane del ricevente; infine dopo aver ricevuto la conferma ritorna nello stato di pronto a inviare. Il ricevente si trova inizialmente pronto a ricevere un messaggio; dopo averlo ricevuto invia la conferma della ricezione e ritorna in attesa di un nuovo messaggio. Ogni comunicazione fra i due proces5i passa attraverso due canali: sul canale

Page 163: Sistemi ad Eventi Discreti

Reti di Petti posto/transizione 155

J vengono inviati i messaggi dell'emittente, sul canale 2 vengono inviate le conferme del ricevente.

Un possibile modello RP per questo sistema è mostrato in Figura 4.7. Si noti la modularità della rete: esiste una sottorete per l'emittente, una per il ricevente, e queste due sottoreti interagiscono tramite i due posti che rappresentano i canaJi .

, EiEi 1:;;:E ' i invia i

>-----<.

attesa

ricevi conferma

emittente canale 2 · ............................................... ;

ricevi

messaggio ricevuto

'

\ .......................... .... .!

Figura 4.7 Rete di Petri di un processo emittente-ricevente.

Elaborazione di flussi di dati. Si consideri il seguente problema: dati due numeri, a e b, calcolare x = (a2 )/(a - b). Si vuole rappresentare l'ordine in cui le varie operazionj elementari devono essere eseguite per calcolare :1;, tenendo conto del fatto che alcune operazioni potrebbero essere eseguite in parallelo avendo a disposizione un elaboratore con due processori.

Una possibile rappresentazione del flusso di dati richlesto per calcolare è dato dalla rete in Figura 4.8. L'operazione di copia indica che i dati vengono inviati ai due diversi processori, ciascuno dei quali svolge sequenzialmente il suo programma di calcolo. Si noti che il calcolo cli a'}, e j] calcolo di a - b sono eseguiti in parallelo perché Le corri-spondenti transizioni sono strutturalmente concorrenti. Viceversa, il calcolo di a2 e di (a 2 ) / (a - b) sono eseguiti sequenzialmente.

Processo lettori-scrittori. Nel campo dei sistemi operativi, un problema classico è quello di conservare l'integrità dei dati in presenza di vari processi che leggono C'let-tori") e modificano ("scrittori") i dati. Si supponga che vi siano f. lettori e r; scrittori. Ogni lettore può essere inattivo o nello stato di lettura. Ogni scrittore può essere inattivo o nel-lo stato di scrittura. Più lettori possono leggere contemporaneamente, sino a un massimo di n. Invece se uno scrittore ha accesso ai dati nessun altro scrittore o lettore può avere accesso ai dati.

Il processo complessivo è descritto dalla rete in Figura 4.9. TI posto S impone il sod-disfacimento dei vincoli sopra descritti. Infatti dalla marcatura in figura se uno scrittore

Page 164: Sistemi ad Eventi Discreti

156 Capitolo 4

b

sottrai se a=b

dividi X

x non è

definito

Figura 4.8 Rete di Petri associata al caJcolo di x = a 2 / (a - b) mediante un elaboratore con due

processori.

accede ai dati (scatto della transizione scrivi) il posto S si svuota e nessun altro Lettore o scrittore può accedere ai dati sin quando non termina l'operazione di scrittura (transizione della transizione termina scrittura) che restituisce le n marche al posto S. Se viceversa dalla marcatura in figura un lettore accede ai dati (scatto della transizione leggi), il po-sto Sperde una marca (contenendone n - 1) e nessuno scrittore potrà accedere ai dati, mentre ancora altri n - I lettori potranno accedervi. A questo esempio è anche dedicato l'Esercizio 4.7.

······················································· . . inallivo l .

leggi

in Lettura

tennina letwra

................................... ;

I I

11

' scr:;ura i

scrittura

t ............................. ..... ;

Figura 4.9 Rete di Petti di un processo lettori-scrittori.

Processi produttivi. Uno dei campi applicativi in cui le reti di Petri hanno grande im-portanza è quello di processi produttivi o manufacturing, e sono stati pubblicati su que-sto argomento diversi libri (Di Cesare et al., 1993; Zhou e Di Cesare, 1993; Desrochers e Al-Jaar, 1995).

Page 165: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 157

Quando le RP vengono usate come modelli di sistemi produttivi, i posti della rete possono rappresentare lo stato di una risorsa (macchine, parti da lavorare. robot. nastri trasportatori) oppure una data operazione (Zhou e DiCesare, 1993). Una marca in un posto che rappresenta una risorsa indica che la risorsa è disponibile, mentre se il posto è vuoto la risorsa non è disponibile. Una marca in un posto che rappresenta una operazione indica che l'operazione è in corso di esccu7ione, mentre se il posto è vuoto l'operazione non è in corso di esecuzione. TI numero di marche in un posto può anche essere maggiore di uno, per indicare quante unità di risorsa sono disponibili, oppure su quante unità viene eseguita l'operazione. Una transizione rappresenta l'inizio o la fine di una operazione, oppure l'evento associato al cambio di stato di una risorsa.

Alcuni modelli di sistemi elementari sono mostrati in Figura 4.lO(a)-(d); tali mo-delli RP possono essere confrontati con i corrispondenti modelli ad automi descritti nel paragrafo 2.7.1 .

t1

Pt P2

/4 h

p3

(a)

p'

ti p

(b)

Pa disponibile

pb disponibile

t2 t1

lavorazione Pa

lavorazione ph

p t2

(e)

Pa lavorata

P1i lavorata

PI

P2 t4

(d)

Figura 4.10 Rete di Petri di alcuni processi produttivi: (a) una macchina non affidabile; (b) un magazzino di capacità infinita; (e) un magazzino di capacità finita: (d) un magazzino multiclasse; (e) una cella di manifattura.

In Figura 4.lO(a) è descritto il modello di una macchina non affidabile. Le transizioni hanno il seguente significato: t 1 rappresenta l'inizio di una lavorazione. t1 la fine di una lavorazione. un guasto, f .t una riparazione. I posti hanno il seguente significato: p 1

è marcato se la macchina è ferma, P'2 è marcato se la macchina è in lavorazione, p3 è marcato se la macchina è guasta. Per rappresentare una macchina multiservente non

Page 166: Sistemi ad Eventi Discreti

158 Capitolo 4

occorre modificare tale struttura di rete ma è sufficiente assegnare alJa rete tante marche quanti sono i serventi ; in tal caso il numero di marche nel posto p 1 indica quanti serventi sono fermi. il numero di marche nel posto p2 indica quanti serventi sono in lavorazione e il numero di marche nel posto µ3 indica 4ua11ti sono guasti.

In Figura 4.1 O(b) è descritto il modello di un magazzino di capacità infinita. La transizione t 1 rappresenta il deposito di un prodotto, t2 il prelievo. Il numero di marche nel posto p indica il numero di prodotti contenuto nel deposito: nella marcatura iniziale in figura il posto p non è marcato e il deposito è vuoto.

In Figura 4.1 O(c) è descritto il modello di un magazzino di capacità finita. Rispetto al modello precedente è stato introdotto il posto 1>' la cui marcatura indica il numero di locazioni libere nel deposito. Dunque, assumendo che ogni prodotto occupi una loca-zione, lo scatto di t 1 non solo fa aumentare di una unità il numero di prodotti contenuti nel deposito (cresce la marcatura del posto p) ma riduce anche di una unità il numero di locazioni libere (diminuisce la marcatura del posto p').

In Figura 4.lO(d) è descritto il modello di un magazzino multiclasse (due classi di prodotti) di capacità finita (k locazioni). La marcatura del posto p' indica ancora il numero di locazioni libere nel deposito, mentre la marcatura dei posti p 1 e J>2 indica, rispettiva-mente, il numero di prodotti di classe 1 e di classe 2 contenuti nel deposito. La transizione / 1 (t3 ) rappresenta il deposito di un prodotto di classe 1(classe2), mentre t 2 (t.i) rappre-senta il prelievo di un prodotto di classe l (classe 2). Si è assunto che ogni prodotto di classe I occupi una locazione, e che ogni prodotto di classe 2 occupi due locazioni.

Infine, in Figura 4.1 O(e) è descritto un modello più complesso relativo a una cel-la di manifattura dove si lavorano parti composite P ab · La cella di una singola macchina utensile. Una parte composita viene smontata in due parti elementari P0 e Pb, che vengono una alla volta lavorate dalla macchina. Infine le due parti lavorate vengono rimontate e rimosse dalla cella. La RP in Figura 4.10 descrive questo sistema. I posti as-sociati alle risorse sono: Pal> disponibile, P" disponibile, Pa lavorata, I't1 disponibile, Pt, lavorata, macchina. I posti associati alle operazioni sono: smontaggio, P11 ,

/avora-:,ione P1, , montaggio. La transizione t 2 , ad esempio, rappresenta il completamento dell'operazione di smontaggio. Nella situazione in figura, la marcatura iniziale assegna 4 marche al posto Pnh disponibile per indicare la presenza di quattro parti Pab· Si noti che al termine dell'assemblaggio la parte lavorata esce dalla cella e una nuova parte da lavonlfe viene fatta entrare (transizione t8 ); tale modalità di funzionamento è tipica di quei processi in cui le parti da lavorare si muovono su attrezzaggi (pallets) che sono in numero finito.

Alcuni esempi di modelli RP di processi produttivi sono anche discussi ne] prossimo paragrafo dedicato alla sintesi modulare.

Incrocio semaforizzato. Si consideri un incrocio in cui due flussi di veicoli (l'uno di-retto da Nord a Sud, l'altro diretto da Est a Ovest) si incrociano. Un semaforo consente alternativamente il passaggio dei due flussi.

Tale sistema è rappresentato dalla rete in Figura 4.11. Si consideri la sottorete as-sociata al flusso NS. lJ numero di marche nel posto coda NS indica quanti veicoli sono fermi all'incrocio e lo scatto della transizione arrivo NS incrementa il numero di marche in questo posto. Lo scatto della transizione impegna incrocio NS trasferisce una marca dal posto coda NS al posto incrocio NS. la cui marcatura indica quanti veicoli sono presenti nell'incrocio. Si noti che al più due macchine possono essere presenti nell'incrocio: tale vincolo è imposto dal posto capacità incrocio NS. Inoltre, una macchina può impegnare

Page 167: Sistemi ad Eventi Discreti

Reti di Petn posto/transizione 159

l' incrocio solo se il suo flusso ha la fase verde: dunque la transizione impegna incrocio NS può scattare solo se il posto verde NS è marcato. Il semaforo passa dallo stato verde NS allo stato verde EO e viceversa. Per semplicità sono stati omessi gli stati di giallo e di tutto-rosso.

!! semaforo

flusso N:•cro.:i: :S .. _ _ _ _ J L. ........... . !

! ................................................. flusso EO

incrocio EO

.. )

Figura 4.11 Rete di Petn dt un mcroc10 semafonzzaco.

4.2.3 Sintesi modulare

I sistemi definiti nel precedente paragrafo sono tutti costituiti da più sottosistemi con-correnti. Il modello RP corrispondente mostra questa struttura, nel senso che nella rete complessiva è ancora possibile individuare i moduli (o sottoreti) corrispondenti ai singoli sottosistemi. Ad esempio, nel modello del protocollo di comunicazione mostrato in Figu-ra 4.7, è stato esplicitamente indicato il modulo che modella il processo emittente e quello che modella il processo ricevente. Si osservi, ancora, che tale caratteristica è un altro dei tanti vantaggi che le reti di Petri offrono rispetto ai modelli basati sugli automi descritti nel Capitolo 2; in questi ultimi, infatti, la struttura modulare dei sottosistemi componenti viene persa nel modelJo complessivo.

Esistono vari testi dedicati esplicitamente alla modellazione di processi fisici me-di ante reti di Petri. Ad esempio. nei già c1tat1 libri di DiCesare et al . ( 1993), Zhou e DiCesare (1993) e Desrocbers e Al-Jaar (1995) viene affrontata la modellazione dei processi produttivi, nel libro di Ajmone et al., (1995) la modellazione dei protocolli di comunicazione, e così via. In questo paragrafo ci si limiterà a presentare una semplice tecnica di sintesi modulare basata sull'operatore di composizione concorrente che può essere definito anche nel caso di reti di Petri.

Linguaggi di Petri. Si consideri, per prima cosa. la definizione di rete etichettata.

Page 168: Sistemi ad Eventi Discreti

160 Capitolo 4

Definizione 4.15. Una rete etichettata Nt = (N. M 0 ,e,F) è una rete dj Petri marcata (N,M 0) con

• una.funzione di etichetta {: T E che associa a ogni transi7ione t E T un simholo [(t) dall'alfabeto di eventi E;

• un insieme (finito) di marcature finali F.

Poiché la funzione di etichetta associa a ogni transizione un simbolo dell'alfabeto E, è possibile definire ricorsivamente la funzione é* : T* E• come e•(é) = é e f*(af,) = e*(a)f(I); dunque questa nuova funzione trasforma una sequenza di transizioni in una parola sull'alfabeto E. In questo modo è possibile associare a una rete, oltre al linguaggio delle sequenze di transizioni abilitate L(N,M 0 ) già definito, anche due linguaggi sull 'alfabeto E, definiti come segue.

Definizione 4.16. Data una rete etichettata .\'1 = (.Y.M 0 .f.F) si associano a essa due linguaggi:

• il linguaggio generato

L(Nf) = {w E E* I esiste u E L(N,M o), w = P*(a)}.

costituito dall'immagine mediante f* delle sequenze di scatto abilitate dalla marca-tura iniziale;

• il linguaggio acceuaro

L 111 (St) ={ii• E E* I esisteu E TJ(Y,M o). M o(u)M.M E F,w = t"(a)}.

costituito dall' inunagine mediante f* delle sequenze di scatto abilitate dalla marca-tura iniziale e che raggi ungono una marcatura finale. .A

Si è volontariamente scelto di usare qui la stessa notazione già usata nel Capitolo 2 per i Linguaggi generati e accettati da automi; ciò per sottolineare come i due modelli (automi e reti di Petri), pur diversi , consentano di rappresentare in modo analogo il comportamento di un sistema ad eventi discreti.

Esempio 4.17. Si consideri la rete in Figura 4.lO(b) che rappresenta il magazzino di capacità infinita, con una funzione di etichetta f che associa alla transizione t 1 il simbolo ne alla transizione t2 il simbolo b, e come insieme di marcature finali F = {[O]} (cioè la sola marcatura finale coincide con la marcatura iniziale in figura che corrisponde al magazzino vuoto). Il linguaggio generato da questa rete marcata è

L = {w E {a.b}* I 'Vv w: l11lb}. cioè I' insieme delle parole tali che in ogni loro prefisso il numero di a è maggiore o uguale al numero di b, mentre il linguaggio accettato è

Lm = {w EL I lwla = lwlb.}. cioè l'insieme della parole generate che contengono un ugual numero di a e di b. +

Ancora è utile osservare che questo esempio dimostra che La classe dei linguaggi di Petri contiene dei linguaggi che non sono regolari. Infatti il linguaggio accettato da que-sta rete non può essere accettato da un automa come è già stato dimostrato nel paragra-fo 2.7 .3. Per completare la dimostrazione che la classe dei linguaggi di Petri contiene tutti

Page 169: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 161

i linguaggi regolari, basta osservare che il linguaggio accettato e generato da un automa può essere accettato e generato anche da una rete di Petri in cui: a ogni stato dell'automa .ro.x1 .... corrisponde un posto Po,Pi, .. . ; a ogni transizione dell'automa <5(.t;,s) = .r1 corrisponde una transizione che ha un arco in ingresso da p; e un arco in uscita verso Pi e etichetta s; la marcatura iniziale assegna una sola marca a p0 . Ad esempio, la rete di Petri della macchina non affidabile in Figura 4.lO(a) può pensarsi ottenuta dall'automa in Figura 2.12(b) applicando la costruzione sopra descritta.

Una discussione più completa sui linguaggi delJe reti di Petri esula dallo scopo di questo testo e si rimanda il lettore interessato al libro di Peterson (1981) che fornisce una chiara e completa introduzione a questo argomento, mentre una rassegna di risultati più recenti può trovarsi nell'ruticolo di Gaubert e Giua (1999).

Composizione concorrente di reti di Petri. L'operatore di composizione concorrente fra linguaggi è stato definito nel paragrafo 2.1.4, mentre i I corrispondente operatore sugli automi è stato discusso nel paragrafo 2.5.3.

Quando si esegue la composizione concorrente di due (o più) moduli reti di Petri, diremo che due transizioni t' e t" di moduli diversi sono sincronizzate se esse hanno per etichetta lo stesso simbolo s. Due transit.ioni sincronizzate devono scauare simultanea-mente, poiché esse rappresentano lo stesso evento e nella struttura della rete composta ciò può ottenersi "fondendo" le due transizioni come in Figura 4.12. Grazie a questa co-struzione la transizione composta può scattare se e solo se essa è abilitata da entrambi i moduli.

(a)

(b)

Figura 4.12 (a) Due moduli RP con una trans1Z1one sincromzzata: (b) loro composizione concor-rente.

Page 170: Sistemi ad Eventi Discreti

162 Capitolo 4

Tuttavia è possibile che più transizioni su ogni modulo possano avere la stessa eti-chetta s, per esempio t'1 nel primo modulo .t2 nel secondo modulo. In tal caso il verificarsi dell'evento s è possibile nella rete composta se in ogni modulo una delle tran-sizioni con tale etichetta è abilitata. Ciò può realizzarsi consiclernncio nitte le possibile coppie di transizioni (l'L .in, .t2 ), e fondendole, come in Figura 4.13. Si noti che se le transizioni con etichetta s sono n' nel primo modulo e n" nel secondo, nella rete composta vi saranno n' x 11" transizioni con etichetta s.

Ct2',f1 11)

(a)

(b)

Figura 4.13 (a) Due moduli RP contenenti più transizioni con la stessa etichetta; (b) loro composizione concorrente.

Viene dato, per completezza, l'algoritmo per la composizione di due reti di Petri. La composizione di più moduli può ottenersi applicando ripetutamente l'algoritmo.

Algoritmo 4.18. Siano N[ = e Nf' = due reti eti-chettate, con rispettivi alfabeti E' e E". Si vuole determinare la rete .\ l = (.V.M 0 .f .F) che genei&.il linguaggio L(.\'t) = L(1Y;) Il L(Xf') e accetta il linguaggio Lm(.Yr) -Lm(X;) jL 111 (X(') sull'alfabeto E= E' LJ R".

Denotiamo le strutture delle tre reti etichettate .Y/, .Yf' e X 1, rispettivamente, S' = (P'.T'. Pre'.Post' ), .V"= (P".T".Pre".Post" ) e .Y = (P.T.Pre.Post).

I . L'insieme dei posti di .V f è P = P' U P".

2. L'insieme delle transizioni T di Vr si determina come segue.

(a) Una transizione t' E T' etichettata da un simbolo in E'\ E" non verrà modifica-ta. cioè mantiene la stessa etichetta e per ogni posto p' E P' vale Pre(p' .t')

Page 171: Sistemi ad Eventi Discreti

Reti di Pecri posto/transizione 163

Prc' (p' .t' ) e Po.c;t(p' .t') = Post' (p' .t' ), mentre per ogni posto p" E P" vale I'rc(p".t') = Post(p".t' ) =O.

(b) Una transizione 111 E T" etichettata da un simbolo presente in E" \ E' non verrà modificata, cioè mantiene la stessa etichetta e per ogni posto p" E P" vale Prr(p" ,t" ) = Pre" (p" .t") e Post(p" .t" ) = Po.c;t" (p" .t"), mentre per ogni posto p' E P' vale Pre(p' ,t") = I'osl (p' .I") - O.

(c) Se un simbolo s E E' n E" etichetta 111 transizioni nel primo modulo e n"

transizioni nel secondo, nella rete composta vi saranno n' x 1111 transizioni con tale etichetta. La generica transizione t corrispondente a lla coppia ( t' J") è tale cheperogni p' E P' valePre(p' .t) = Pre'(p',t') e Post(p'.t) = Po.st'(p',t'), mentre per ogni p" E P" vale Pre(p".t) = Prc"(p".t") e Post(p".t) = p ().'; t" (p" ,t").

3. La marcatura iniziale di S 1 è

Mo= [ l cioè per ogni posto p' E P' vale J/0 (p') = e per ogni posto p" E P" vale .\Io(P") = (p").

4. L'insieme degli stati finali di sl è F = F' X F"' cioè ogni marcatura finale di .Ve ha la forma

dove M ' e F' e M " E F" . • Come primo esempio di applicazione dell'algoritmo si considera il modello del pro-

tocollo di comunicazione mostrato in Figura 4.7. Tale rete può pensarsi ottenuta com-ponendo i quattro moduli in Figura 4.14 che rappresentano singolarmente l'emittente. il ricevente e i due canali; si noti che il modello di un canale è in sostanza quello di un deposito di capacità infinita. Se la marcatura iniziale <lei quattro moduli è quella in figura (e l'unica marcatura finale coincide con la marcatura iniziale), la marcatura iniziale della rete composta è quella mostrata in Figura 4.7 (e coincide anche con l'unica marcatura finale della rete composta).

Come secondo esempio. si considera il modello di un procec;so produttivo costituito da due macchine senza guasti tra cui esiste un deposito di capacità tre che riceve i pezzi lavorati dalla prima macchina m 1 e che alimenta la seconda macchina 1112. I tre moduli sono mostrati in Figura 4. l 5(a). Le transizioni sincroniZLate sono quelle con etichetta f 1 (indica la fine della lavorazione sulla prima macchina e il deposito di un pezzo nel magaz-zino) e quelle con etichetta ;2 (indica linizio della lavorazione sulla seconda macchina e il prelievo di un pezzo dal magazzino). Se si assume che per ogni modulo vi sia una sola marcatura finale coincidente con la marcatura iniziale, il modello composto è quello in Figura 4.15(b). La marcatura finale della rete composta è M = (1O3O1 Of e coincide con la marcatura iniziale mostrata in figura.

Una osservazione importante riguarda la complessità di una rete ottenuta per com-posizione concorrente. Poiché l'insieme dei posti di Y1 è dato dall'unione (disgiunta) dci posti dei due moduli. vale m = IPI = IP'I -i IP"I = m' + m". P1ù complesso

Page 172: Sistemi ad Eventi Discreti

164 Capitolo 4

promo inviare

invia

attesa confenna

ricevi co11f erma

invia messaggio

ricevi co11ferma

canale I

canale 2

ricevi messaggio

invia conferma

pro11to ricevere

messaggio ricevuto

invia conferma

Figura 4.14 l qualtm moduli che compongono il modello del protocollo di comurucaz10nc mostrato in Figura 4.7.

è il calcolo del numero di transizioni di 1\ '1; nelripotesi, cutcavia, che lo stesso modulo non contenga due o più transizioni con la <; tessa etichetta (come è spesso il caso) vale n = ITI IT'I + IT"I = n' + n". In queste ipotesi, componendo k moduli ciascuno con m ._._ n vertici (posti o transiLioni}, la loro composizione concorrente avrà un massimo di k x ( rn -+- 11 ) vertici.

Dunque la complessità della struttztra di una rete composta cresce linearmente con il numero dei moduli che lo compongono. Si era visto, viceversa. nel paragrafo 2.5.3 come lo spazio di stato un sistema composto cresce esponenzialmente con il numero di sottosistenù composti. Le reti di Petri, dunque, non rappresentando esplicitamente nella loro struttura lo spaLio di stato consentono in parte di alleviare il problema della esplo-sione dello di stato citato nel paragrafo 2.5.3. 11 vantaggio di avere una struttura semplice per descrivere un sistema con uno spazio di stato complesso sarà. tuttavia, par-àalmente perso se pe1 l'analisi delle proprietà di una rete composta si ricorrerà a tecniche che richiedono comunque l 'analisi esaustiva del suo spazio di slato, quali quelle basate sul grafo di raggiungibilità descritto nel seguente paragrafo. Tale vantaggio verrà invece sfruttato appieno se sarà possibile usare tecniche che richiedono lo studio della sola strut-tura di rete, quali quelle basate sull' equazione di stato e la matrice d'incidenza descritte nei paragrafi successivi.

4.3 Analisi mediante grafo di copertura

In questo paragrafo si presenta una tecnica di analisi che consente di studiare le proprietà di una rete mediante la costruzione dcl grafo di raggiungibilità o del grqfo di copertura. Il grafo di raggiungibilità di una relc marcata è un grafo in cui ogni nodo corrisponde a una marcatura raggiungibile, e ogni arco corrisponde a una transizione. Se la rete marcata ha uno spazio di stato infinito. anche il grafo di raggiungibilità è infinito. In tal caso si determina allora un grafo detto di copertura che compatta l'insieme delle marcature rag-giungibili m un msicmc finito di uJ-marcature. Verranno poi definite alcune importante

Page 173: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 165

Ps

I '!_ (a)

Pi p4 P6

m1 deposito m2

P1 p3 pc,

i1 (b)

Figura 4.15 (a) Modelli RP di due macchine e di un deposito; (b) loro composizione concorrente.

proprietà di una rete marcata e si discuterà come esse possano essere studiate mediante l'analisi del grafo di raggiungibilità o di copertura.

La tecnica di analisi basata sul grafo di raggiungibilità è di tipo esaustivo, nel sen-so che richiede di enumerare l'intero spazio di stato. Nei paragrafi successivi di que-sto capitolo verranno invece descritte tecniche di analisi strutturale basate sulla matrice d'incidenza che non richiedono l'enumerazione dello spazio di stato.

4.3.1 Grafo di raggiungibilità

4.19. Grafo di raggiungibilità. Il grafo di raggiungibilità di una rete marcata (N,M 0 ) con matrice di incidenza C si costruisce con la seguente procedura.

I. 11 nodo radice del grafo è la marcatura ini7ialc M 0 . Questo nodo non è inizialmente etichettato.

2. Si consideri un nodo M del grafo senza etichetta.

(a) Per ogni transizione I abilitata da M , cioè tale che M ;:::: Pre( ·.t):

t. Si calcoli la marcatura M' = M t C ( · J) raggiunta da M scattando t. 11. Se non esiste già un nodo M' nel grafo, si aggiunga il nodo M' al grafo.

m. Si aggiunga un arco t tra M cd M'.

(b) Si etichetti il nodo M "vecchio".

Page 174: Sistemi ad Eventi Discreti

...

166 Capitolo 4

3. Se esistono nodi senza etichetta si ritorni a 2.

4. Si rimuovano tutte le etichette dai nodi. • Tale procedura termina dopo un numero finito di passi se e soJo se la rete marcata ha un insieme di raggiungibilità finito. ln particolare, il passo 2 dell'algoritmo viene eseguito tante volte quante sono le marcature raggiungibili.

Esempio 4.20. Si consideri la rete marcata in Figura 4.16. Applicando la procedura sopra descritta si ottiene il grafo di raggiungibilità mostrato in Figura 4.16(c). li grafo mostrato in Figura 4. l 6(b) verrà invece discusso nel paragrafo seguente. +

(a)

!1

Ll l O] [ l l O] [2 O O] ti

lO 2 O] [2 O O] [ L O l] ro 2 01 [l o 1]

':/ \ 3 \ 1 \ 1 [ 1 l O] [O l l] [l 1 OJ [O l l) [O I l]

duplicato :I duplicato duplicato l li t'!. t \

ll o lJ [O O 2] (b)

ro o 21 (e)

dup/1cato

Figura 4.16 (a) Una rete di Petri con insieme d1 raggiung1bilttà finito; (b) albero di raggiungibilità; (e) grafo di raggiungibilità.

Nel grafo di raggiungibilità ogni marcatura raggiungibile della rete compare una sola volta, mentre una transizione compare tante volte quante sono le marcature che la abilila-no. La seguente proposizione afferma che il grafo di raggiungibilità contiene tutte (e sole) le marcature raggiungibili e tutte (e sole) le sequenze di di transizioni che possono scatta-re in una rete. Esso consente dunque di determinare se una marcatura è raggiungibile, o se una sequen1a di transizioni può venir eseguita.

Proposizione 4.21. Si consideri una rete marcata (.\ .M 0 ) e il suo grafo di raggiungibilità (se esiste finito).

Page 175: Sistemi ad Eventi Discreti

Reti di Petti posto/transizione 167

(a) La marcatura M appartiene all'insieme di raggiungibilità R(N,M0 ) {=::::::} M è un ' nodo del grafo.

(b) DataM E R(N.M 0), la sequenzaO" = tJ1 t12 · · ·,appartieneallinguaggioL(N,M) e può essere generata con la traiettoria M[tJi) M'[t12 )M" ···{::=?esiste nel grafo un camnu· no orientato "' - M t · M' t · M " · · · • I - JJ )2 '

A partire da queste due fondamentali proprietà è facile ricavarne altre, che vengono presentate come corollario.

Corollario 4.22. Si consideri una rete marcata (N,M 0 ) e il suo grafo di raggiungibilità (se esiste finito).

(a) La marcatura M ' è raggiungibile da una marcatura M E R(N,M0 ) {::=? esistono nel grafo due nodi M e M', ed esiste almeno un cammino orientato che va da M a M'.

(b) La transizione tè abilitata da una marcatura M E R(N.M0 ) {=::::::} esiste nel grafo un nodo M da cui esce un arco t. •

Ad esempio, si consideri la rete marcata in Figura 4.16 e il suo grafo di raggiungibi-lità mostrato in Figura 4.16(c). Dall'esame del grafo è possibile concludere che la sequen-za t1t3t2t1t3 appartiene al linguaggio della rete, e che il suo scatto porta alla marcatura [O O 2]7' a partire dalla quale non vi sono transizioni abilitate.

4.3.2 Albero e grafo di copertura

La procedura per il calcolo del grafo di raggiungibilità descritta dall'Algoritmo 4.19 ter-mina in un numero finito di passi se e solo se la rete ha un insieme di raggiungibilità finito. Se l'insieme di raggiungibilità fosse infinito, nella costruzione del grafo si verifica sempre (una o più volte) la seguente situazione: dal nodo radice M 0 parte un cammino orientato che porta a un nodo M, e da quest'ultimo nodo parte un cammino orientato che porta a un nodo M' Z: M . Ad esempio. si veda la rete in Figura 4.17(a) e il suo grafo di raggiungibilità in Figura 4.17(b). Dal nodo radice parte un cammino, contenente la sola transizione f 1, che raggiunge M = [O l O Of, è da M parte un cammino. contenente la sequenza t2 t3, che raggiunge M' = [O 1 O 2]T Z: M.

Per caratterizzare queste situazioni in cui vi sono sequenze di transizioni che con il loro scatto portano a incrementare alcune componenti della marcatura, si considera un nuovo vetto.re M' ottenuto da M' assegnando un simbolo speciale w (che può pensar-si come simbolo di "infinito") a tutte quelle di M' che sono strettamente maggiori della corrispondente componente di M.

Definizione 4.23. Sia N...., = N U { w}. Una w- marcatura di una una rete N con ui posti è un vettore M E N,'.31

, in cui una o più componenti può assumere il valore w. .l

Per determinare se una transizione tè abilitata da una w-marcatura M E cioè per detemlinare se M > Pr e ( · ,t), si deve tenere conto che \;/ n E N vale: w > n. Per calcolare la marcatura M' = M + C ( · .t) raggiunta da M scattando t vale w ± n = w.

Page 176: Sistemi ad Eventi Discreti

168 Capitolo 4

11 p4

8 __ ,

:. (a) P1

Pt

h

[l O O O]

l t2 t3

111 [O 1 O 2) t2 t3 f., [O 1 O O] 111 [O O 1 2) 111 [O O 1 4] 111 [O 1 O 41 __; •

(b)

[I O O O]

11 l l2 !3 l2 f3 [O 1 O O] 111 [O O 1 2] 111 [O 1 Oro] 111[OO1 ro] 111 [O 1 Oro] (e)

duplicato

[I O O O]

f1 l f2 f3

LO 1 O OJ 111 [O O 1 2] t1

111 [O 1 Oro] 4

- 111 [O O 1 ro] (d)

f3

Figura 4.17 (a) Una rete di Petri con insieme di raggiungibilità infinito; (b) albero di raggiungibi-lità; (e) albero di copertura; (d) grafo di copertura.

Esempio 4.24. Nella rete in Figura 4. l 7(a), dopo aver generato le prime tre marcature dcl grafo si ottiene la marcatura M' = (O 1 O 2f che copre la marcatura M = [O 1 O O]T a essa precedente. Dunque, si assegna il simbolo w alla quarta componente di M' , ponendo nel grafo M' = (O 1 O w ]T. A partire da questa marcatura t2 è abilitata e il suo scatto porta a M" = M 1 + C (·,t2) = [O 1 O w]'f + (O -11 2]7 = (O O 1 w]T ecc. Il grafo di copettura così costmito è mostrato in Figura 4. l 7(d). + Applicando l'Algoritmo 4.19 non è sempre facile individuare le sequenze che portano da una marcatura M a una marcatura M' 2:: M perché nel grafo ogni nodo può avere più di un predecessore. Si passa allora attraverso la costruzione di un albero (cioè un grafo senza cicli) in cui possono esistere nodi duplicati.

9 Algoritmo 4.25. Albero di copertura. L'albero di copertura della rete marcata (N)M 0 )

con matrice di incidenza C si costruisce con la seguente procedura.

1. Il nodo radice del grafo è la marcatura iniziale M o. Questo nodo non è inizialmente etichettato.

2. Sj consideri un nodo M del grafo senza etichetta.

Page 177: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 169

(a) Per ogni transizione t abilitata da M, cioè tale che M Pre(·.t):

1. Si calcoli la marcatura M' = M + C (·,t) raggiunta da M scattando t. 11. Si consideri il cammino che parte dal nodo radice e arriva a M.

- Se esiste su questo cammino un nodo M $ M', allora sia M 1 il vettore

ottenuto da M ' sostituendo tutte le_ componenti strettamente maggiori delle corrispondenti componenti di M col simbolo w. Se non esiste su questo cammino un nodo M $ M ', allora sia M' M'.

m. Si aggiunga un nuovo nodo M 1 al grafo.

iv. Si aggiunga un arco t tra M e il nuovo nodo M 1•

v. Se esiste già un nodo M 1 nel grafo. si etichetti il nuovo nodo M' "duplica-

to".

(b) Si etichetti il nodo M "vecchio".

3. Se esistono nodi senza etichetta si ritorni a 2. • Karp e Miller hanno dimostrato (1969) che la procedura dell'Algoritmo 4.25 ter-

mina sempre in un numero finito di passi anche quando la rete marcata ha un insieme di raggiungibilità infinito. Si notino due fondamentali differenze tra l'Algoritmo 4.19 e l'Algoritmo 4.25 al passo 2(a). Per prima cosa, nel secondo algoritmo si esegue la verifica per essere sicuri che M' non sia maggiore di un altro nodo M che lo precede. Inoltre, nel secondo algoritmo il nuovo nodo M' viene aggiunto al grafo (con l'etichetta "duplicato" che eviterà di doverlo successivamente considerare quando si ritorna al passo 2 dell'al-goritmo) anche se un nodo M' era già presente; ciò consente di mantenere la particolare struttura ad albero, che a sua volta garantisce l'esistenza di un solo percorso tra il nodo ra-dice e un qualunque altro nodo: dunque la verifica della condizione 2(a).ii dell'algoritmo è immediata.

Si consideri, ad esempio, la rete marcata in Figura 4.18(a). Applicando la procedura sopra descritta si ottiene l 'albero di copertura mostrato in Figura 4. l 8(b) dove è stata omessa l'etichetta "vecchio" dei nodi interni per non appesantire la figura.

Come altri esempi costruzione dell'albero di cope1tura, si veda in Figura 4.16(b) l'albero di copertura (è stata omessa l'etichetta "vecchio" dei nodi interni) della rete in Figura 4. l 6(a): poiché la rete ha spazio di stato finito e nell'albero non compare il simbolo w, si parla in tal caso di albero di raggiungìbilità. L'albero di copertura della rete in Figura 4. l 7(a) è invece mostrato in Figura 4. l 7(c).

Dall'albero di copertura si può costruire il grafo di copertura mediante la "fusione" dei nodi duplicati.

e Algoritmo 4.26. Grafo di copertura. Si consideri una rete marcata (N.M 0 ) e il suo albero di copertura. Il grafo di copertura si costruisce con la seguente procedura.

1. Se l'albero non contiene nodi con etichetta "duplicato,. si vada a 4.

2. Si considera un nodo M del grafo con etichetta "duplicato". Tale nodo non ha archi in uscita ma ha in ingresso un arco t proveniente da un nodo M'. Inoltre esiste certamente nel grafo un altro nodo M con etichetta "vecchio".

(a) Si rimuova l'arco l dal nodo M' al nodo M ''duplicato".

Page 178: Sistemi ad Eventi Discreti

170 Capitolo 4

[l O 012-.. [0 O [O O 11 l ti duplicato

(1 w 012-.. ro w ro w ll

l t, l !3

ll wOJ duplicaro

lO w lJ dupUcaro

duplicato

(b)

t4

[l 0012-.. (0011 I ,,

• !4 ,,.,

(1 w O]--=-+ [O w l]

tJil tJt, (e)

Figura 4.18 (a) Una rete di Petri; (b) albero di copertura; (e) grafo di copertura.

(b) Si aggiunga un arco t dal nodo M ' al nodo M "vecchio".

(c) Si rimuova il nodo M "duplicato''.

3. Se esistono ancora nodi con etichetta "duplicato" si ritorni a 2.

4. Si rimuovano le etichette dei nodi. • Il grafo di copertura della rete in Figura 4. l 7(a) è mostrato in Figura 4. l 7(d), mentre

quello della rete marcata in Figura 4.18(a) è mostrato in Figura 4.18(c). Nel secondo caso è possibile osservare che se un nodo duplicato M' è raggiunto da un nodo M = M', la rimozione del nodo duplicato crea un cappio.

Si noti che qualora una rete abbia insieme di raggiungibilità finito, il grafo di raggiun-gibilità, costruito mediante 1' Algoritmo 4.19, e il grafo di copertura, costruito applicando successivamente l'Algoritmo 4.25 e Algoritmo 4.26, coincidono. Si veda, ad esempio, la rete marcata in Figura 4.16 e i rispettivi grafi.

Nel caso di reti con insieme di raggiungibilità infinito, il grafo di copertura compatta in una rappresentazione finita le informazioni relative alle marcature raggiungibili . Dun-que, esso spesso consente di dare solo condizioni necessarie affinché certe proprietà siano verificate. Tali risultati vengono riassunti nella seguente proposizione, dove si indica un nodo del grafo che può contenere componenti w con la notazione M w. Data una marca-tura M E N"1, si dice che essa è w-coperta da M w E se lirf w (p) = !11 (p) per ogni componente p tale che AI w (p) f: w; tale relazione si denota M w M.

Proposizione 4.27. Si consideri una rete marcata (N.M 0 ) e il suo grafo di copenura.

(a) La marcatura M è raggiungibile==> esiste nel grafo un nodo M w >w M.

Page 179: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 171

(b) La marcatura M è ME Nm è un nodo del grafo.

(c) DataM E R(N,Mo),lasequenzaa = th lh · · -,appartieneallinguaggioL(N,M ) e può essere generata con la traienoria M (tji)M'[t12)M" · ··===> esiste nel grafo un cammino orientato ì = M w t 1 1 I 12 · · ., con M w M, ..... M ' ecc.

(d) Data M E R (N ,Mo ), la sequenza a = 11 1 112 ··.,appartiene al linguaggioL(N.M) e può essere generata con la traiettoria M (t1 1 )M'[t1JM" · · · <=- esiste nel grafo un cammino orientato 'Y = M t 11 M' t 12 M" · · ·, con M .M' .M" , · · · E N171

• •

La caratteristica fondamentale del grafo di copertura è quella di non fornire un algo-ritmo generale, valido in tutti i casi, per detemùnare la raggiungibilità di una marcatura.

Esempio 4.28. Si consideri la rete marcata in Figura 4.16 e il suo grafo di copertura. In base alla Proposizione 4.27(b) è possibile concludere che la marcatura [O O 1 2]T è raggiungibile, perché compare nel grafo. La marcatura [O O 2 0]7 , invece, in base alla Proposizione 4.27(a) non è raggiungibile non essendo da alcun nodo del grafo. Se però si considera una marcatura della forma [O 1 O k] per un dato valore di k > O, non è possibile trarre alcuna conclusione sulla sua raggiungibilità, essendo coperta dal nodo (O 1 O wf. In effetti, tenendo conto che lo scatto di t2 incrementa U (p2 ) di due marche alla volta, è faci le dimostrare,senza ricorrere al grafo di copertura, che tutte le marcature della forma dala con k pari sono raggiungibilj mentre quelle con k dispari non lo sono.

Ancora si noti che in base alla Proposizione 4.27(c) in un grafo di copertura pos-sono esservi cammini associati a sequenze non abilitate. Ad esempio, nella rete in Figu-ra 4.18(a), la sequenza a = t 1 t 2t3t3 non può certamente scattare a partire dalla marcatura iniziale: infatti in una sequenza ammissibile la transizione può scattare al più tante vol-te quante scatta la transizione t 1, a causa del vincolo imposto dal posto p2 inizialmente vuoto. Tuttavia a partire da M 0 vi è nel grafo un cammino i cui archi formano a. +

Oltre alle fondamentalj proprietà ricordate nella proposizione 4.27, è facile ricavarne altre che vengono presentate come corollario.

Corollario 4.29. Si consideri una rete marcata ( V,M 0) e il suo grafo di copertura.

(a) Sia data M E Nri. Esiste una marcatura raggiungibile M M <==> esiste nel grafo un nodo M w M.

(b) La marcatura M'è raggiungibile da una marcatura M E R(N ,M 0 ) ==> esistono nel grafo due nodi M w M e M ' , ed esiste un cammino orientato che vadaM.,.

(c) La marcatura M' è raggiungibile da una marcatura M E R( Y.M 0 ) esistono nel grafo due nodi M.M' E N"1 , cd esiste un carnnrino orientato, non passante per alcun nodo contenente componenti w, che va da M a M'.

(d) La transizione f è abilitata da una marcatura M E R (,V.M 0 ) ==> esiste nel grafo un nodo M ...: M da cui esce un arco I.

(e) Esiste una marcatura raggiungibile che abilita una transizione t <==> esiste un arco t nel grafo. •

Page 180: Sistemi ad Eventi Discreti

172 Capitolo 4

Si osservi che l'implicazione del Corollario 4.29(d) vale solo in un senso e dunque se esiste nel grafo un nodo M w da cui esce un arco t, non necessariamente per ogni marcatura raggiungibile M coperta da M w la transizione tè abilitata. Ad esempio, nella rete in Figura 4.18(a), la transizione t 3 non è abilitata da M = [O O lf anche se nel grafo compare M w = [O w 1 ]Y da cui esce un arco t3.

4.3.3 Proprietà comportamentali

In questo paragrafo si definiranno le principali proprietà cornportamentali di una rete marcata. Quando si parla di proprietà comportamentali, ci si riferisce a quelle proprietà che dipendono sia dalla struttura di rete, sia dalla marcatura iniziale. Nel paragrafo 4.5.4 si vedranno, invece, alcuni esempi di proprietà strutturali, che dipendono appunto dalla sola struttura di rete.

Le proprietà che si considerano in questo paragrafo sono la raggiungibilità, la limi-tatezza, la conservatività, la ripetitività, la reversibilità, la vivezza e il blocco. Oltre a de-finire queste proprietà e caratterizzarle, si vedrà anche come esse possano venir verificate mediante il grafo di cope1tura.

Raggiungibilità. La raggiungibilità di una marcatura permette di studiare quali sono i possibili stati in cui un sistema può trovarsi a partire da un dato stato. Un classico problema affrontato nello studio delle reti Pff è il seguente.

Problema della raggiungibilità. Data una rete marcata (N.M 0 ) e una generi-ca marcatura M, è possibi le raggiungere M da M 0 ? A

Come si è visto nel precedente paragrafo, se la rete ha uno spazio di stato finito, tale problema può essere risolto mediante la costrnzione del grafo di raggiungibilità. Tut-tavia, per reti con spazio di stato infinito è solo possibile costruire il grafo di copertura che non fornisce una soluzione generale, valida in tutti i casi, a tale problema. Nel se-guente capitolo si vedranno altre tecniche che consentono di studiare il problema della raggiungibilità mediante tecniche strutturali, quali l'analisi basata sull'equazione di stato o 1' analisi mediante invarianti. Si vedrà, inoltre, come il problema della raggiungibilità si semplifichi notevolmente per classi ristrette di reti di Petri. Tutte queste tecniche, tuttavia. non consentono di risolvere il problema nella sua generalità.

Si consideri la seguente definizione.

Definizione 4.30. Un problema che ammette per soluzione SI o NO è detto:

• decidibile se esiste un algoritmo che, per og1ù possibile formulazione del problema, termina in un numero fuùto di passi fornendo la soluzione corretta;

• semi-decidibile se esiste un algoritmo che, per ogni possibile formulazione del pro-blema, termina in un numero finito di passi fornendo la soluzione corretta in uno dei due casi (ad esempio, se la risposta è SI), mentre potrebbe non terminare mai nell'altro caso (ad esempio, se la risposta è NO). .A

È facile dimostrare che il problema della raggiungibilità è almeno semi-decidibile. Infatti si consideri una generica formulazione di tale problema, cioè una rete marcata (f\r.M 0 ) e una marcatura Mdi cui si vuole verificare la raggiungibilità. Si supponga di

Page 181: Sistemi ad Eventi Discreti

Reti di Peu·i posto/transizione 173

generare in maniera ordinata l'insieme delle sequenze di transizioni in L(N.M0 ), prima quelle di lunghezza l , poi quelle di lunghezza 2, ecc., e di calcolare le corrispondenti marcature a cui porta il loro scatto. Se M è raggiungibile con una sequenza di lunghezza, ad esempio, k, al passo k-mo l'algoritmo termina rispondendo SI. Tuttavia, se M non fosse raggiungibile l'algoritmo non terminerebbe mai.

Solo di recente è stato dimostrato che tale problema è decidibile, anche se l'algorit-mo corrispondente è di tale complessità che non può essere praticamente implementato. Si suggerisce a chi volesse approfondire questo argomento la lettura del Capitolo 4 del li-bro di Peterson ( 1981 )6 e del libro di Reutenauer ( 1990) interamente dedicato al problema della raggiungibilità.

Limitatezza. La limitatezza di un posto o di una rete marcata permette di verificare che non vi siano eccedenze (overflow) e di dimensionare opportunamente le risorse. Se un dato posto della rete marcata. ad esempio, rappresenta un magazzino ed esso fos-se k-lirnitato, allora è possibile concludere che al massimo k oggetti verranno posti contemporaneamente nel magazzino.

Definizione 4.31. Un posto p è k-limitato in (N,M 0) se per ogni marcatura raggiungi-bile M E R(N,M 0 ) vale l\l(p) k. Un posto 1-lirnitato è detto sano (o binario). Una rete marcata (N,M 0 ) è k-limitata se ogni suo posto è /,;- limitato. Una rete marcata I-limitata è detta sana (o binaria). ...

Si osservi, per completezza, che se un posto (o una rete) è k-limitato esso è anche k' -limitato, per ogni A·' > k. Nella definizione si considera sempre il più piccolo dei valori di k. Inoltre, se non è necessario specificare il valore k, si parla di posto limitato (rete limitata).

La proprietà di limitatezza è legata alla finitezza dell'insieme di raggiungibilità.

Proposizione 4.32. Una rete marcata (N,M o) è limitata se e solo se essa ba un insieme di raggiungibilità finito. Dimostrazione. (Se) Sia P I' insieme dei posti de11a rete. Se l' insieme di raggiungibilità è finito, è possibile calcolare

A·= max{Af(p) IME R(N.Mo). p E P},

e chiaran1ente la rete è k-limitata. (Solo se) Se la rete è k-limitata, si definisca il vettore k = [k k · · · k] r E Nn. Vale R(N,M 0 ) ç { M E N171 I M k } e quest'ultimo insieme è chiaramente finito. D

Il grafo di copertura fornisce condizioni necessarie e sufficienti per la verifica della limitatezza.

Proposizione 4.33. Si consideri una rete marcata (N. M o) e il suo grafo di copertura.

• Un posto p è k-limitato {::::=} per ogni nodo M w del grafo vale M w(P) k =j: w.

• La rete marcata è limitata {::::=} nessun nodo del grafo contiene il simbolo w (cioè il grafo di copertura è in effetti un grafo di raggiungibilità). •

6Si noti che quando questo testo è apparso non era ancora stato dunostrato che iJ problema della raggiungibilità è decidibile.

Page 182: Sistemi ad Eventi Discreti

174 Capitolo 4

Ad esempio, la rete in Figura 4.16 è limitata. La rete in Figura 4.17 non è limitata, ma dall'analisi del grafo è possibile affermare che i posti p 1, P2 e p3 sono sani; l 'unico posto non limitato è p4 • Anche la rete in Figura 4.18 non è limitata, e mentre i posti p1 e p3 sono sani, il posto Pi non è limitato. Come ultimo esempio, si consideri la rete in Figura 4.19 che è sana anche se esiste una marcatura raggiungibile in cui la rete contiene più di una marca (ma mai più di una nello stesso posto).

t1 (1 l [O O l]

t2

Figura 4.19 Una rete di Petri sana e conservativa e il suo grafo di raggiungibilità.

Conservatività. Una proprietà strettamente legata alla limitatezza è la conservatività di una rete marcata. Tale proprietà implica che le risorse si conservano, pur potendosi tra-sformare se il sistema non è strettamente conservativo. Si noti che la conservatività viene spesso riferita alla struttura di rete N e dunque viene definita come proprietà struttura-le. Tuttavia si preferisce per completezza definire tale proprietà come comportamentale e riferirla a una rete marcata.

Definizione 4.34. Una rete marcata (N,M 0 ) è strettamente conservativa se per ogni marcatura raggiungibile M E R(N,M 0 ) il numero di marche che la rete contiene non varia, cioè se:

l T · M = L 1U(p) = L 1110 (p) = 1T ·Mo pEP pEP

Graficamente, è facile verificare una condizione strutturale, indipendente dalla mar-catura iniziale, sufficiente affinché una rete sia strettamente conservativa.

Proposizione 4.35. La rete marcata (N,M 0) è strettamente conservativa se per ogni t ET vale

L Pre(p.t) = L Post(p,t) pEP pEP

cioè se ogni transizione ha un numero di archi "pre" uguale al numero di archi "post". Dimostrazione. Se ogni transizione ha un numero di archi "pre" uguale al numero di archi "post", lo scatto di una qualunque transizione non modifica il numero di marche della rete. O

Si noti, tuttavia, che tale condizione è solo sufficiente per garantire la stretta conservatività ma non necessaria: potrebbe esistere una transizione con un numero di archi "pre" e "post" diverso che però non scatta mai.

Page 183: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 175

Le rete in Figura 4.16 è strettamente conservativa, poiché il numero totale di marche rimane costante e pari a due. Le reti in Figura 4.17, Figura 4.18 e Figura 4.19 non sono strettamente conservative.

Una generalizzazione della stretta conservatività è la seguente.

Definizione 4.36. Una rete marcata (S,M0 ) è consen1ativa se esiste un vettore di interi positivi x E tale che per ogni marcatura raggiungibile M E R(N.M0 ) vale:

T T x ·M=x ·Mo

cioè il numero delle marche pesato tramite x non varia.

La rete in Figura 4.19 non è strettamente conservativa, tuttavia essa è conservativa. Si consideri infatti il vectore x = [1 1 2]'1 . È facile rendersi conto che per ogni marcatura raggiungibile M vale x 7 · M = xT ·Mo = 2.

La conservatività è legata alla limitatezza.

Proposizione 4.37. Se una rete marcata (.V.Mo) è conservativa allora essa è limitata. Dimostra:,io11e. Se la rete è conservativa esiste x C tale che per ogni marcatura raggiungibile M vale .r, .ìf(p,) = xT · M = x 1 · M 0 . Ciò implica che per ogni

X T·Mo . . r l vale .. r.i Jl (pi) ::; x · M 0 . Dunque JJ (J>i) ::; e il posto p1 è k- limitato

:l' i

lx1

M J conk = _· ___ o . .Ti

o

Si noti, tuttavia, che possono esistere reti limitate che non sono conservative. Un esempio è dato dalla rete in Figura 4.20, che è sana ma non conservativa: infatti il suo insieme di raggiungibilità è {[l],[O]} e dunque scelto un qualunque intero positivo .r vale O= J.. ·O f. J'. 1 = .t.

Figura 4.20 Una reti di Petri limitata ma non conservativa.

La determinazione di un vettore x rispetto al quale la rete è conservativa non è diffi-cile: tale problema può essere risolto usando la matrice d'incidenza della rete. Si rimanda al paragrafo 4.5 per una esauriente discussione di questo argomento.

Ripetitività. La ripetitività di una sequenza di transizioni assicura che essa possa venire ripetuta infinite volte.

Definizione 4.38. Data una rete marcata (N.M 0 ), sia a una sequenza di transizioni non vuota e M E R(N,M 0 ) una marcatura da cui essa è abilitata. La sequenza a è detta ripetitiva/ se essa può essere eseguita un numero infinito di volte da M , cioè se vale

M[a)M i[a)M 2[a)M 3 · · ·

Una rete marcata (1\'.M 0) è ripetitiva se esiste una sequenza ripetitiva in L(.V.M o). .à

Page 184: Sistemi ad Eventi Discreti

176 Capitolo 4

Nella rete in Figura 4.4(c) non esistono sequenze ripetitive. Nella rete in Figura 4.16 le sequenze ripetitive sono til2, t2ti, t1t1t2t2, t2t2t1t1 e tutte le sequenze ottenute dalla loro concatenazione. Nella rete in Figura 4.17 le sequenze ripetitive sono t2t3, t:3t2, e tutte le sequenze ottenute dalla loro concatenazione. Nella rete in Figura 4.18 le sequenze ripetitive sono e con k E N+ .

Esiste una elementare caratterizzazione delle sequenze ripetitive.

Proposizione 4.39. Sia CT una sequenza di transizioni non vuota abilitata dalla marcatura Me sia M[a)M'. La sequenza a è ripetitiva se e solo se M M'. Dimostrazione. (Se) Se a è abilitata da Me M[CT)M' con M < M', allora CT è anche abilitata da M' e può scattare portando a una nuova marcatura M 11

• Chiaramente vale M' M" (cfr. Proposizione 4.13) e dunque a è abilitata da M" ecc. (Solo se) Si supponga, per assurdo, che a sia ripetitiva e che valga M [ CT) M ' con li1 (p) > A1' (p). Dunque l'esecuzione di a diminuisce il numero di marche nel posto p. Ma poiché p contiene inizialmente un numero finito di marche, a non può venir eseguita un numero infinito di volte, dunque non è ripetitiva. O

Sulla base di questa caratterizzazione è dunque possibile classificare le sequenze ripetitive in due classi.

Definizione 4.40. Una sequenza ripetitiva a abilitata da M è detta:

• stazionaria se M [CT)M.

• crescente se M[a)M' con M' M.

Nella rete in Figura 4.16 tutte le sequenze ripetitive sono stazionarie. Nella rete in Figu-ra 4.17 tutte le sequenze ripetitive sono crescenti. Nella rete in Figura 4.18 la sequenze tf sono crescenti, mentre le sequenze stazionarie.

Le sequenze ripetitive crescenti sono legate alla non limitatezza della rete.

Proposizione 4.41. Una rete marcata (N.M 0 ) è limitata se e solo se non ammette se-quenze ripetitive crescenti. Dimostrazione. (Se) Si dimostra, per contrapposizione, che una rete non limitata ammette una sequenza ripetitiva crescente. Se una rete è non limitata, il suo spazio di stato è infinito. Si associ a ogni marcatura ME R(N.M 0 ) una sequenza di transizioni a(M) = fJ1 th · · · t1k· di lunghezza minima che permette di raggiungere M da Mo. Si osservi che le marcature raggiunte nel corso della traiettoria

Mo[tii)M1[th)M2 · · · [tJJMk = M

sono tali che M, -::/:Mi se i# j. Infatti se valesse, p.e. , M 0[a)M'[a')M'[a")M con a(M) = aa' a", si potrebbe raggiungere M senza passare due volte per M'attraverso la traiettoria ridotta: M o[a)M'[CT")M e dunque a(M) non sarebbe minimale. Se l'in-sieme di raggiungibilità è infinito, tale è anche l ' insieme { a(M) J M E R(N,M 0 )} e dunque esiste almeno una traiettoria infinita:

Mo[t11)Mi[t12)M2 · · ·

con M i -::/: M 1 se i -::/: j. In base a un classico risultato (cfr. paragrafo A.3.2, Corol-lario A.20) è possibile estrarre dalla infinita sequenza di marcature M i,M 2 ,M 3 • · · ·

una sottosequenza strettamente crescente M J1 ,Mh.Mh, · · · dove MJk -• :$ M Jk ·

Page 185: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 177

Dunque, limitandoci a considerare le prime due marcature di tale sotto sequenza, si è dimostrato che esiste una sequenza di transizioni a tale che

M o[u')Mh [u)Mh

e poiché Mii $ M ;-i la sequenza a è ripetitiva non stazionaria. (Solo se) Si dimostra, per contrapposizione, che se una rete ammette una sequenza ripe-titiva non stazionaria allora essa non è lirrùtata. Si supponga che CJ sia tale sequenza e si consideri la traiettoria infinita:

dove M jk-i $ Mjk. Dunque l'insieme {Mii, I k >O} è non limitato e tale deve essere anche l'insieme R(N:Mo) che lo contiene. D

È elementare verificare se una sequenza data a sia ripetitiva (stazionaria o crescente) usando la matrice d'incidenza della rete. Si rimanda al paragrafo 4.5 per una esauriente discussione di questo argomento. Qui ci si limita a considerare le informazioni offerte a tale proposito dall'analisi mediante grafo di raggiungibilità e copertura.

Il grafo di raggiungibilità fornisce condizioni necessarie e sufficienti per la verifica della stazionarietà.

Proposizione 4.42. Si consideri una rete marcata lirrùtata 0) e il suo grafo di rag-giungibilità. Una sequenza a è stazionaria <==> esiste un ciclo orientato nel grafo i cui archi formano a. •

Nella rete in Figura 4.16 ogni sequenza stazionaria corrisponde dunque a un ciclo del grafo di raggiungibilità. Le sequenze che corrispondono a cicli elementari sono dette appunto elementari. Ad esempio, t 1 t2 è una sequenza elementare, mentre t 1t 2 t1 t2 non è elementare.

Il grafo di copertura fornisce condizioni necessarie per la verifica della ripetitività e della stazionarietà.

Proposizione 4.43. Si consideri una rete marcata \N.M 0 ) e il suo grafo di copertura.

• Una sequenza a è esiste un ciclo orientato nel grafo i cui archi formano (J.

• Una sequenza a è stazionaria esiste un ciclo orientato nel grafo che non passa per marcature contenenti w e i cui archi formano a. •

Si noti che in un grafo di copertura possono esservi cicli associati a sequenze ripetitive non stazionarie. Tale è il caso delle sequenze t2 t 3 e t 3 t 2 nella rete in Figura 4.17, e de1la sequenza t 1 nella rete in Figura 4.18. Inoltre, e ciò può apparire ancora più sorprendente, possono esservi cicli associati a sequenze non ripetitive. Tale è il caso della sequenza t 3 nella rete in Figura 4.18: t3 non è ripetitiva perché il suo scatto porta a decrementare di una unità il numero di marche in p2 ; tuttavia tale decremento viene nascosto se si esegue t3 a partire dalla marcatura [O w l]T. Finalmente, si noti che è possibile affermare che nella rete in Figura 4.18 la sequenza t11 è stazionaria, perché a essa corrisponde un ciclo che passa solo per la marcatura [O O lf", non contenente..J.

Page 186: Sistemi ad Eventi Discreti

178 Capitolo 4

Reversibilità. La reversibilità di una rete marcata implica che il sistema possa sempre venire reinizializzato, cioè riportato nello stato iniziale.

Definizione 4.44. Una rete marcata (N,M o) è reversibile se per ogni marcatura raggiun-gibile M E R(N.M 0 ) vale M 0 E R(N,M), cioè se da ogni marcatura raggiungibile è possibile ritornare alla marcatura iniziale M o. A

Le rete in Figura 4.16 non è reversibile: non appena scatta t3 la marcatura di p3 diventa positiva e non potrà mai ritornare al valore iniziale l\f 0 (p3 ) = O. Con un ragionamento analogo si dimostra che anche le reti in Figura 4.18 e in Figura 4.2l(b) non sono reversi-bili. La rete in Figura 4.19 è invece reversibile come si vede dal grafo di raggiungibilità. La rete in Figura 4.2l(a), infine, è reversibile perché da una qualunque marcatura rag-giungibile M = [k] può scattare k volte la transizione t 2 riportando la rete alla marcanrra iniziale M 0 = [O] in figura.

t2

l i PI t 2 (01 t, "'[ro]

tJt, (a)

!2

ti Pi f2 P2 [0 OJ ti 111 [CO OJ t2

111 [roro]

J----0--+-0 (b) (}1 tJ t1 Figura 4.21 (a) Una rete marcata non limitata e reversibile e il suo grafo di cope1tura: (b) una rete

marcata non limitata e non reversibile e il suo grafo di copertura.

È possibile caratterizzare la reversibilità di una rete marcata in termini di ripetitività delle sue sequenze.

Proposizione 4.45. Una rete marcata (N.M 0 ) è reversibile se e solo se per ogni sequenza a abilitata dalla marcatura iniziale M 0 esiste una sequenza a' tale che M o [ aa') e aa' è stazionaria. Dimostrazione. (Se) Sia M una generica marcatura tale che M 0 [a)M. Se esiste una sequenza a' tale che M 0 [aa'), chiaramente a' è abilitata da M. Inoltre essendo aa' stazionaria vale M o[aa')M o e dunque M [a')M o. Poiché ciò vale per ogni M la rete marcata è reversibile. (Solo se) Se a è abilitata da M 0 e M 0 (a) M essendo la rete reversibile esiste certamente a' tale che M[a')M0 . Dunque M 0 [aa' )M 0 e aa' è stazionaria. O

Si noti, tuttavia, che l'esistenza di alcune sequenze stazionarie abilitate dalla mar-catura iniziale è una condizione necessaria ma non sufficiente per la reversibilità. Ad esempio, la rete in Figura 4.16 ammette le sequenze stazionarie t1 t2 e t2t1 che possono scattare da M 0 riportando a M 0 . Tuttavia, come già visto, la rete non è reversibile e se scatta a = t 3 non esiste alcuna sequenza a' che riporti alla marcatura iniziale.

Page 187: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 179

Il grafo di raggiungibilità fornisce condizioni necessarie e sufficienti per la verifica della reversibilità.

Proposizione 4.46. Si consideri una rete marcata limitata (N,M 0 ) e il suo grafo di raggiungibilità. La rete è reversibile {::::::::} il grafo è fortemente connesso. •

Il grafo di raggiungibilità della rete in Figura 4.16 non è fortemente connesso: ad esem-pio, dalla marcatura (1 O 1 ]1 non parte alcun cammino orientato che ripo1ta alla marca-tura iniziale. Viceversa, il grafo di raggiungibilità della rete in Figura 4.19 è fortemente connesso.

Il grafo di copertura fornisce condizioni solo necessarie per la verifica della reversi-bilità.

Proposizione 4.47. Si consideri una rete marcata (N,M 0 ) e il suo grafo di copertura. La rete è reversibile ogni componente assorbente del grafo contiene un nodo M w > Mo. •

Ad esempio, la rete reversibile in Figura 4.2l(a) ha un grafo con una sola componente assorbente che contiene la marcatura [w] > w [O] = M 0 • Si noti, tuttavia, che anche la rete in Figura 4.2l(b) ha una sola componente assorbente che contiene la marcatura [w wf >w [O O]T = M o e tuttavia, come già visto, non è reversibile. Infine. è possibile concludere dalla sola analisi del grafo di copertura che la rete in Figura 4.18 non è re-versibile: infatti essa ha due componenti ergodiche contenti ciascuna una sola marcatura [O o 1 V e [O w 1 rr' nessuna delle quali copre la marcatura iniziale.

Si osservi che il problema di detenninare la reversibilità di una qualunque rete può essere ricondotto al problema di determinare la raggiungibilità di una particolare marca-tura (FinkeJ e Johnen, 1989). Dunque, benché il grafo di copertura non fornisca nel caso generale condizioni necessarie e sufficienti per determinare la reversibilità di una rete marcata, si può concludere che tale proprietà è decidibile essendo decidibile il problema della raggiungibilità.

Vivezza e blocco. La vivezza di una transizione implica la possibilità che essa possa sempre eventualmente scattare, indipendentemente dallo stato raggiunto dal sistema.

Definizione 4.48. Data una rete marcata (N,M 0 ) , si dice che una sua transizione tè:

• morta, se non esiste alcuna marcatura raggiungibile M E R(N,M 0 ) che abilita tale transizione;

• quasi-viva, se esiste almeno una marcatura raggiungibile M E R(N,M0 ) che abilita tale transizione;

• viva, se per ogni marcatura raggiungibile M E R(N.M0 ), la transizione tè quasi-viva in (N,M). A.

In base alla definizione precedente è dunque possibile classificare le transizioni di una rete marcata nei tre insiemi mostrati in Figura 4 .22(a). Si noti che tutte le transizioni vive sono anche a fortiori quasi-vive.

Ad esempio, nella rete in Figura 4.23(a) la transizione t 4 è morta, le transizioni t 1 e t?. sono quasi vive, la transizione è viva. Si noti, ancora, una fondamentale differenza fra le transizioni t 1 e t2 : pur essendo entrambe quasi-vive, mentre la prima può scattare

Page 188: Sistemi ad Eventi Discreti

180 Capitolo 4

m qv m

(a) (b)

Figura 4.22 (a) Classificazione delle transizioni in base alJa vivezza: v (vive), qv (quasi-vive). m (morte). (b) Classificazione delle reti marcate in base alla vivezza: v (vive), qv (quasi-vive), nqv (non quasi-vive), m (morte).

un numero infinito di volte, la seconda può scattare una volta sola. Sulla base di questa differenza, alcuni autori classificano ulteriormente le transizioni quasi-vive in due sotto-classi a secondo del fatto che esse possano scattare un numero finito o infinito di volte.

È anche possibile considerare le proprietà di vivezza di una rete marcata.

Definizione 4.49. Una rete marcata (N.M 0 ) è:

• morta, se tutte le sue transizioni sono morte;

• non quasi-viva, se contiene transizioni morte e quasi-vive;

• quasi-viva, se tutte le sue transizioni sono quasi-vive;

• viva, se tutte le sue transizioni sono vive.

La classificazione delle reti marcate in base alla vivezza è mostrata in Figura 4.22(b). Ad esempio, la rete in Figura 4.23(a) è non quasi-viva perché contiene sia transizioni

morte che quasi vive. La rete in Figura 4.20 è quasi-viva per la marcatura iniziale; dopo che scatta ti, tuttavia, diventa morta. Le due reti in Figura 4.21 sono invece entrambe vive.

Un'altra concetto di grande interesse e legato al concetto di vivezza è il blocco che indica uno stato anomalo, a partire dal quale il sistema non ha la possibilità di evolvere ulteriormente.

Definizione 4.50. Data una rete marcata (N.M0 ) sia M E R(N.M0 ) una marcatura raggiungibile. Si dice che M è una marcatu,ra morta se nessuna transizione è abilitata da M, cioè se (N,M) è morta. Una rete marcata (N,M 0 ) è bloccante se esiste una marcatura raggiungibile morta. à

La rete marcata in Figura 4.16 è bloccante: una volta raggiunta la marcatura [O O 2]'1' nessuna evoluzione è più possibile.

Una rete bloccante non può naturalmente essere viva. Si noti che esistono reti bloc-canti in cui tutte le transizioni possono scattare un numero infinito di volte (e dunque sono quasi-vive). Ad esempio, la rete marcata in Figura 4.23(b) ha una sequenza stazionaria che contiene tutte le transizioni (l1 t2 t3 t,1) e tale sequenza può dunque scattare un numero infinito di volte. Tuttavia la rete è bloccante: se scatta ad esempio la sequenza L 1 l 2 l 2 la re-te diventa morta. Viceversa, possono esistere reti non bloccanti che non sono quasi-vive, come nel caso della rete marcata in Figura 4.23(a).

Page 189: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 181

(a)

.-----(1 O O O]

1 ,, [0 20 01

[O 1 1 OJ [O 1 O 11

12! 7 !r,

[O o 2 OJ LO o 1 I] ro o o 2]

(b)

Figura 4.23 Esempi di reti di Petri per lo studio della vivezza.

Il grafo di raggiungibilità fornisce condizioni necessarie e sufficienti per la verifica della vivezza e del blocco.

Proposizione 4.51. Si consideri una rete marcata limitata (S.M 0 ) e il suo grafo di raggiungibilità.

• La transizione t è morta t non compare nel grafo.

• La transizione I è quasi-viva t compare ncJ grafo.

• La transizione I è viva esiste un arco t uscente da ogni componente assorbente del grafo.

• La marcatura raggiungibile M è morto non vi sono archi uscenti da M nel •

li grafo di copertura fornisce condizioni necessarie e sufficienti per la verifica della quasi-vivezza ma solo condizioni necessarie per la verifica della vivezza.

Proposizione 4.52. Si consideri una rete marcata (JY,M 0 ) e il suo grafo di copertura.

• La transizione t è morta I non compare nel grafo.

• La transizione tè t compare nel grafo.

Page 190: Sistemi ad Eventi Discreti

182 Capitolo 4

• La transizione t è viva ===} esiste un arco t uscente da ogni componente assorbente del grafo.

• La marcatura M è morta <== esiste nel grafo un nodo M .. , .. ! M da cui non escono archi. •

Per concludere, si osservi che benché il grafo di copertura non fornisca nel caso generale condizioni necessarie e sufficienti per determinare la vivezza di una qualunque rete (o di una sua transizione), la verifica di questa proprietà può essere ricondotta, come già visto per la reversibilità, al problema della raggiungibilità (Peterson, 1981). Si può dunque concludere che la vivezza di una rete è una proprietà decidibile.

Commenti finali. Le proprietà fondamentali di una rete marcata sono la limitatezza, la reversibilità e la vivezza. Ci si può domandare che relazioni esistono fra queste proprietà. Ad esempio, se una rete è reversibile, essa è anche viva o limitata? È possibile provare che queste tre proprietà sono indipendenti l'una dall'altra. In Figura 4.24 sono riportate otto reti marcate che mostrano tutte le possibili combinazioni di queste tre proprietà. Nella figura si usa questa notazione: L (limitata), L (non limitata), R (reversibile), R (non reversibile), 1' (viva), i: (non viva).

4.4 Analisi mediante equazione di stato

In questo paragrafo si presenta una tecnica che consente di studiare la raggiungibilità di una marcattU"a su una rete marcata applicando metodologie dell 'algebra lineare. Il limite principale di tale tecnica consiste nel fatto che, se applicata a reti qualunque, essa fornisce solo condizioni necessarie (ma non sufficienti) per la raggiungibilità. Tuttavia, come si discuterà nell'ultimo paragrafo di questo capitolo, per classi pruticolari di reti (reti acicliche, macchine di stato e grafi marcati ) l'analisi mediante equazione di stato fornisce condizioni sia necessarie che sufficienti per la raggiungibilità.

È stato dimostrato (Proposizione 4.12) che, data una rete marcata (N.M 0 ), se vale M 0 [a)M allora la seguente equazione di stato è soddisfatta: M = Mu + C ·a, dove C è la matrice di incidenza della rete e a è il vettore di scatto che conta quante volte una generica transizione compare nella sequenza a.

Si consideri la seguente definizione.

Definizione 4.53. Data una rete marcata (N,M 0 ) con m posti e n transizioni, sia C la sua matrice di incidenza. L'insieme potenzialmente raggiungibile di (N,M o) è l'insieme

PR(N,Mo) ={ME N111 I 3y E N11: M =Mo+ C · y}.

cioè l'insieme dei vettori M E N'n per cui esiste un vettore y E N11 che soddisfa l'equazione di stato. •

È facile dimostrare che l'insieme di raggiungibilità di una rete marcata è contenuto nell'insieme potenzialmente raggiungibile.

Proposizione4.54. Sia (N,Mo) una rete marcata. Vale: R(N,Mo) ç PR(N.Mo) . Dimostrazione: Basta dimostrare che se M è raggiungibile, allora M è anche poten-zialmente raggiungibile. Infatti, se M è raggiungibile, esiste una sequenza a tale che M 0 [u)M. Dunque M =Mo+ C · y con y =a, cioè ME PR(N.Mo). O

Page 191: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 183

LRV LRV

LRV

ti

LRV LRY

Pi ,, P2 Pi 11 P2 t2 p3

©-+-O LRV LRV

Figura 4.24 Reti ùi Petri che mostrano le possibili combmaziom e.li limllatezza. reversibilità e vi-vezza: L (limitata), L (non limitata). R (reversibile). R (non reversibile).\· (viva). L. (non viva).

Ci si chiede ora se la Proposizione 4.54 valga anche rovesciando il segno ç, cioè: se M è potenzialmente raggiungibile allora è anche raggiungibile? Infatti, si potrebbe pensare che se esiste un vettore y E N'1 tale che M M o + C · y allora possa esistere una sequenza rr con u = y tale che M 0 (rr} M.

In generale, ciò non è vero, come può vedersi con un esempio. Si consideri la rete marcata in Figura 4.25 la cui matrice di incidenza è

-1 1 o o o o o o 1 o

C = 1 -1 o o o o o I -1 1 o o o 1 -1

La marcatura ini1.iale di tale rete è Mo = [1OOO0)1'. Sia A.J = (11OO0]'1'. L'equazione

Page 192: Sistemi ad Eventi Discreti

184 Capitolo 4

M = M o + C · y è soddisfatta da y = (O O O 1 1 ]1. Dunque si potrebbe pensare che M sia raggiungibile con la sequenza a = t4 t 5 oppure con a' tr-.t 1; tuttavia nessuna di queste sequenze è abilitata dalla marcatura iniziale. Viene lasciato come esercizio il compito di veri ficarc che M non è raggiungibile ( cfr. Esercizio 4.10).

Figura 4.25 Una recedi Pctri marcaca per l'analisi mediante matrice di incidenza.

Definizione 4.55. Data una rete marcata (N.M 0 ) le marcature potenzialmente raggiun-gibili ma non raggiungibili son dette marcature spurie. •

La presenza di marcature spurie, implica che in generale non è determinare se una marcatura è raggiungibile dalla sola analisi mediante equazione di stato: tale tecnica fornisce solo condizioni necessarie (ma non sufficienti) per la raggiungibilità.

Si noti, tuttavia, che la condizione necessaria espressa dalla Proposizione 4.54 per-mette talvolta di verificare che una marcatura non è raggiungibile. Nella rete in Figu-ra 4.25, sia M = (2 O O O OJT e sia y = [y1 V2 y3 Y4 Ysf un generico vettore in N11

L'equazione M M 0 + C · y implica

M-Mo 1 o o o o

C·y -yi -r Yz

.l/3 Y1 - Y2

Y:J - .lJ4 + !Jn y, -y5

La prima e la terza di queste eguaglianze richiedono che valgano Je relazioni: y2 - y1 - 1 e y1 - .lJ2 = O. Dunque l'equazione non ammette soluzione e M non è raggiungibile perché non soddisfa la Proposizione -l.54.

Per concludere. si riassume in che modo l'analisi basata sull'equazione di stato può essere usata per determinare la raggiungibilità di una marcatura M su una rete marcata (X. M o).

• Dapprima si verifica se la marcatura M è potenzialmente raggiungibile, cioè se esi--;te un vettore di interi non negativi y tale da soddisfare l'equazione di stato. Poiché i vettori carattenstici e le marcature sono vettori di interi, ciò richiede l'uso della programmazione intera, che è molto più onerosa dal punto di computazionale della programmazione lineare.

Page 193: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 185

• Se l'equazione di stato non è soddisfatta da aJcun vettore y, allora la marcatura M certamente non è raggiungibile. Tuttavia, se la marcatura M fosse potenzialmente raggiungibile non è possibile concludere che essa è anche raggiungibile.

• Per verificare che una marcatura M che è potenzialmente raggiungibile (essendo l'equazione di stato soddisfatta per un opportuno vettore y) sia anche effettivamente raggiungibile, occorre determinare se esiste una sequenza di scatto a abil itata da M 0

e tale che cr = y. Tuttavia un vettore caratteristico non determina univocamente una sequenza: dato un vettore caratteristico y , sono molte le possibili sequenze da cui esso può provenire. Dunque tale verifica è in genere complessa.

• Inoltre, se anche si riuscisse a verificare che un vettore y non corrisponde a una sequenza di transizioni abilitata dalla marcatura iniziale, non si può concludere che la marcatura M = M 0 + C · y non è raggiungibile, perché potrebbero esistere altri (a volte infiniti) vettori y <il che soddisfano M = M o + C · y <1 l . Per concludere che M non è raggiungibile è necessario dimostrare che nessuno di questi vettori corrisponde a una sequenza di transizioni abilitata.

4.5 Analisi basata sulla matrice d'incidenza

In questo paragrafo si presenta una tecnica di analisi che consente di studiare le proprietà di una rete mediante lo studio della matrice d'incidenza. Questa tecnica è molto potente, nel senso che spesso permette di determinare proprietà di una rete indipendentemente dalla marcatura iniziale, e dunque si parla di proprietà strutturali.

4.5.1 Vettori invarianti, crescenti e decrescenti

Definizione 4.56. Data una rete N con m posti e n transizioni, sia C la sua matrice di incidenza. Un vettore x E Nni e tale che x ;;::: O (cioè un vettore non nullo di interi non negativi con tante componenti quanti sono i posti della rete) è detto:

• P-vettore invariante (o semplicemente ?-invariante): se XT. e= oT;

• P-vettore crescente: se X T . e > 01 ;

• P-vettore decrescente: sex/'. e < oT.

Un vettore y E N11 e tale che y ;;::: O (cioè un vettore non nullo di interi non negativi con tante componenti quanti sono le transizioni della rete) è detto:

• T-vettore invariante (o semplicemente T-invariante): se C · y = O;

• T-vettore crescente: se C · y 2: O;

• T-vettore decrescente: se C · y :S O.

Page 194: Sistemi ad Eventi Discreti

186 Capitolo 4

Si osservi che un invariante è anche un caso particolare di vettore crescente e di vettore decrescente.

Si consideri ad esempio la rete (a) in Figura 4.26, la cui matrice di incidenza vale

e= J o -1

Si verifica facilmente che il P-vcttorc x 1 = (1 1 1 f è invariante, il P-vettorc xc· = [1 1 O]T è crescente e il P-vettore xn = [O O 1]1 è decrescente. Tale rete non ha, invece, alcun T-vettore.

r,

r,

(a) (b)

Figura 4.26 Due reti di Petri per ]'analisi mediante invarianti.

Si consideri viceversa la rete (b) in Figura per tale rete il T-vettore y r -[1 l l]T è invariante, il T-vettore Yc = [l l O)T è crescente e il T-vettore Y n =[O O 1] 1

è decrescente. Vale anche la seguente definizione.

Definizione 4.57. Il supporto di un P-vettore x E è l'insieme dei posti p, E P per cui vale :r1 > O. Tale insieme si denota Il x Il· Il supporto di w1 T-\'ettore y E N11 è l'insieme delle transizioni f, E: T per cui vale .lii > O. Tale insieme si denota Il y Il· A

Ad esempio, per la rete in Figura 4.26(a) i supporti dei tre P-vettori precedentemente definiti valgono llx1 Il= {p1,p2,p:1}, li xcii= {J>1.JJ2} e llxn Il= {p;i}.

La seguente proposizione permette di dare una interpretazione fisica ai P-vettori di una rete.

Proposizione 4.58. Data una rete .\ siano. rispettivamente, ;z: 1 un P-invariante, X(· un P-vettore crescente. xo un P-vettore decrescente. Per ogni marcatura M 0 E N"1 e per ogni sequenza a= t11 f1".! • • • t1k ···E L(X.Mo), se

Mo[t11 )Mi[11.,)M2 · · · [tJk.)M1.- · · ·

vale anche

T T · • x 1 · M 1.: = x 1 · Mo per ogm k E N:

T 'I' • 1. Th.r • xc· M1.·+1 > xr · M 1.. perogm r..· E'":

Page 195: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 187

• x'}; · Mk+t x'b · Mk per ogni k E N.

Dimostrazione. Se Mk+i è raggiungibile da M k mediante lo scatto di tik+I' vale: Mk+1 = M k + C(·.tii.:+t) = M k + C · eik·+• ·dove

)k+I

7 eJi.+1 = O . . . O 1 O... O Q] V'

n

è il j k+ L -mo vettore di base canonica. Preso un generico vettore x E IRm vale dunque: X T . M k+ 1 = X T . M k + X T . e . e j k + l . Se X 1 è un invariante vale X T . e = o'[' e questo dimostra la prima relazione. Se x 1 è un crescente vale zT = x l. · C > or e eseguendo il prodotto con il vettore e ik·+i O vale anche z T ·e iHi > O, il che dimostra la seconda relazione. La terza relazione si dimostra in modo analogo alla seconda. D

Si noti, in particolare, l'importanza della nozione di P-invariante x che specifica una sorta di "legge di conservazione delle marche'', assegnando però peso .l:i alle marche contenute nel posto Pi.

Applicando il risultato della precedente proposizione alla rete (a) in Figura 4.26 è possibile affermare che per ogni marcatura M k raggiunta dalla marcatura iniziale M 0 :

• la somma delle marche nella rete resta sempre costante e pari a 4 poiché il P-invariante ci garantisce che

J\lk(pi) + Alk(p2) + Jìh(p3) = xT · Mk = xT ·Mo= 4;

• la somma delle marche nei posti p1 e p2 può invece al più crescere (a ogni scatto di l 2 ) ma mai decrescere partendo dal valore iniziale 1 poiché

11h(pi) + lvh(pz) =xl-· Mk > · Mk-1 2: · · · 2: ·Mo= l;

• il numero di marche nel posto pJ può invece al più decrescere (a ogni scatto di t2) ma mai crescere partendo dal valore iniziale 3 poiché

= x'J; · Mk xI; · Mk-1 · · · < xI; ·Mo = 3.

La seguente proposizione permette di dare una interpretazione fisica ai T-vettori di una rete.

Proposizione 4.59. Data una rete N, sia a una sequenza di transizioni abilitata da una marcatura iniziale M 0 , a- il corrispondente vettore di scatto e valga M 0 [a) M. Valgono le seguenti proprietà:

• u è un T-invariante {::=:} M = M 0 , cioè a è ripetitiva e stazionaria;

• u è un T-vettore crescente (crescente non invariante) ç:=} M 2: M 0 (M M 0 ),

cioè la sequenza a è ripetitiva (ripetitiva crescente);

• u è un T-vettore decrescente (decrescente e non invariante) ç:=} M < M 0 (M s; Mo).

Dimostrazione: Le tre proprietà si dimostrano facilmente tenendo presente che vale: M = Mo+C·u. D

Page 196: Sistemi ad Eventi Discreti

188 Capitolo 4

Applicando il risultato della precedente proposizione alla rete (b) in Figura 4.26 è possibi-le affermare che per ogni marcatura M raggiunta dalia marcatura iniziale M 0 mediante lo scatto di una sequenza CJ vale:

• se u = kl = ky 1, cioè se a contiene tutte le transizioni un numero di volle uguale per tutte e pari a k, il T-invariante ci garantisce che M = Mo e dunque tale sequcn1.a è stazionaria:

• se u - k Yc, cioè se a contiene solo le transizioni t 1 e t2 un numero di volte uguale e pari a k, il T-vettore crescente non invariante ci garantisce che M 2;: M 0 e dunque tale sequenza è ripetitiva crescente;

• se u = k y /)• cioè se a = il T-vettore decrescente non invariante ci garantisce cheM $Mo.

4.5.2 Calcolo dei P-invarianti

Definizione 4.60. Un P-invariante x E N111 è detto:

• minimale non esiste un P-invariante x' tale che x' < .r,; -• d; supporto minimo se non esiste un altro P-invariante x' tale che I x' Il C Il x Il-

Analoghe definizioni valgono per i T-invarianti.

Ad esempio, il vettore x 1 della rete in Figura 4.26(a) è un P-invariante minimale che è anche di supporto minimo. Si noti, tuttavia, che possono esistere invarianti minimali che non sono di supporto minimo. Ad esempio nella rete in Figura 4.27, i P-invarianti x' = [l 2 O] 1 e = [1 O 2f sono minimali e di supporto minimo; il P-invariante x = Hx' r x") = [l 1 lf è minimale ma non di supporto minimo.

p3

Figura 4.27 Una rete che ha un P-invariante minimale ma non d1 supporto m1111mo.

Un P-invanante non minimale può '>emprc essere ottenuto come la combinazione lineare a coefficienti interi positivi di uno o più P-invarianti minimali. Ad esempio, i I P-invariante (:3 3 3] r della rete in Figura 4.26(a) è non minimale e può essere ottenuto come 3 x 1 .

Viene ora dato un semplice algoritmo che consente di determinare tutti i P-invarianti di una rete che sono al contempo minimali e <li supporto minimo.

Algoritmo 4.61. Calcolo dei P-invarianti. Si consideri una rete .\' con m posti e n transizioni e sia e la sua matrice d1 ..

Page 197: Sistemi ad Eventi Discreti

Reti di Peai posto/transizione 189

1. Si costruisce la tabella A : = I e I I m X m , , dove I m X m è la matrice identità rn X m.

2. Per j := 1. ... ,n (indice di colonna associato alle transizioni):

(a) sia I+ := {i I A(i.j) > O} l'insieme degli indici di riga che corrispondono a elementi positivi della colonna j;

(b) sia I_ := {i I .l(i,j) <O} l'insieme degli indici di riga che corrispondono a elementi negativi della colonna j;

(c) per ogni coppia (i t .i_) E 'I, x I_:

L sia d := mcm{A(i+.}). - A(i_ .j)} il minimo comune multiplo dei due elementi e - ..!(L.j);

u. sia d+ := d/. 1(i+ .j) ed_ := d/A.(i _ .j); m. si aggiunge alla tabella la nuova riga: d.,. A (i+, ·) + cL A(i_.-), combina-

zione I ineare delle righe di indice i+ e i_ (la nuova riga ha elemento j-mo pari a zero per costruzione);

(d) si cancellano da A le righe di indice I+ U I_, corrispondenti a elementi diversi da zero lungo la )-ma colonna.

3. La tabella A risultante è della forma A I o,.x,,, I x T 1. dove O,. m è una matrice di zeri r x n, mentre X è una matrice con 111 righe e r colonne. Ogni colonna di X è un P-invariante minimale e di supporto minimo, e X contiene tutti i P-invarianti minimali e di supporto minimo. •

Nel precedente algoritmo si noti che se uno qualunque dei due insiemi I o 'I è vuoto. al passo 2(c) non viene aggiunta alcuna riga, mentre al passo 2(d) vengono comun-que eliminate le righe corrispondenti a elementi diversi da zero lungo la j ma colonna se I+ U T,_ f:. (/J. Inoltre la tabella risultante sarà vuota (cioè r = 0) qualora la rete S non abbia alcun P-invariante.

Si presenta ora un semplice esempio di applicazione di questo algoritmo. Si consi-deri la rete in Figura 4.28.

2

Figura 4.28 Una rete per il calcolo dei P-mvarianti.

Page 198: Sistemi ad Eventi Discreti

190 Capicolo 4

Si costruisca inizialmente la tabella

-1 o o 2 1 o o o o P1 1 o 2 o o 1 o o o P2 o o 1 - 1 o o 1 o o ]J3

o -2 o 1 o o o 1 o p4 o 1 -1 o o o o o l p;;,

dove per chiarezza di esposizione è stata etichettata ogni riga coJ corrispondente posto. Al passo j = 1 si esegue la somma delle righe p1 e p2 (per annullare gli elementi diversi da zero lungo la prima colonna) e le si cancella, ottenendo ]a tabella

o o 1 -1 o o 1 o o p3 o -2 o 1 o o o 1 o JJ4 o 1 -1 o o o o o l p5 o o -2 2 1 1 o o o PI+ P2

Al passo j = 2 si esegue la combinazione lineare della riga p4 con la riga Pn moltiplicata per 2, e si cancellano le due righe, ottenendo la tabella

o o o o o o

1 -2 - 2

- 1 2 1

o o 1 1 o o

1 o o o o 1

o o 2

p3 Pi +p2 p4 + 2p5

Al passo j = 3 vi sono due combinazioni possibili: la somma della riga Pa moltiplicata per 2 e, rispettivamente, la riga p 1 + p2 ovvero la riga p4 + 2p5 . Eseguite tali somme e cancellate le tre righe si ottiene la tabella

o o o o o o

o I 1 1 2 -1 o o 2

o o 1 2

Pi+ P2 + 2p3 2p3 + p4 + 2p,5

Al passo j = 4 non vi sono combinazioni possibili e ci si limita a cancellare la riga 2p3 + p 1 + 2µ5 che ha un elemento diverso da zero in quarta colonna. La tabella risultante è

I o o o o 11 1 2 o o I PI + P2 + 2p3

La rete )la dunque w1 solo P-invariante minimale e di supporto minimo, x = [1 l 2 O O]T. Si osservi che, per il calcolo dei T-invarianti nùnimali e di supporto minimo, può

applicarsi la stessa procedura avendo l'accorteaa di usare la trasposta della matrice d'in-cidenza, cioè si inizializzerà la tabella ponendo A : = I C 1 I I )/ X 111 1. La i -ma riga, in questo caso. potrà essere etichettata con la transizione t;.

È anche importante osservare che il precedente algoritmo può essere modificato per determinare i P-vettori crescenti (ovvero decrescenti): al passo 2(d) invece di eliminare tutte le righe in 'L+ UI._ si devono solo eliminare le righe di indice I. (ovvero ) poiché se :i; è un vettore crescente (decrescente) sono ammesse componenti positive (negative) nel prodotto zT = x · C. In genere. tuttavia, quando l'algoritmo viene applicato per il calcolo dci vettori crescenti o decrescenti non vengono trovati solo quelli minimali e di

minimo ma anche molti altri vettori che si ottengono da questi per combinazione lineare.

Page 199: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 191

4.5.3 Analisi della raggiungibilità mediante P-invarianti

In questo paragrafo si discute come i P-invarianti possano venire utilizzati per approssi-mare l'insieme di raggiungibilità di una rete marcata.

Definizione 4.62. Sia (N.M 0 ) una rete con m posti e sia X = [x1 x2 · · · xk] una matrice m x A·, la cui generica colonna X; è un P-invariante di N .

L'insieme X -invariante di (N,M 0 ) è l'insieme

lx(N,Mo) ={ME N'n I xT. M = xr. Mo}.

cioè l'insieme dei vettori ME Nm tali che xf' · M = xf ·Mo per ogni i.

È facile dimostrare che l'insjeme potenzialmente raggiungibile di una rete marcata è contenuto nell' insieme X-invariante qualunque sia la matrice di P-invarianti X. La proposizione seguente estende il risultato della Proposizione 4.54.

Proposizione 4.63. Sia (N)M 0 ) una rete marcata e X una matrice le cui colonne sono P-invariantidi N. Vale: R(1V,M0 ) ç PR(1Y.M0 ) ç I,-(1Y.M0 ).

Dimostrazione: La prima disuguaglianza deriva dalla Proposizione 4.54. Basta dimostrare che se M è potenzialmente raggiungibile, allora M è anche X - invariante. Infatti, se M è potenzialmente raggiungibile, esiste una vettore y E N71 tale che M - Mo + C · y. Dunque XT · M = XT · M 0 + Xr · C · y. Essendo X una mati;ce le cui colonne sono P-invarianti di N vale XT · C · y = O e dunque ME Ix(N,l\llo). O

Per concludere, viene dato l'esempio di una rete marcata in cui vale R(.V.M o) C P R(N,M0 ) e Ix (lV .M 0 ) (vale dunque l"inclusione stretta).

Figura 4.29 Una rete di Petri marcata per lo sludio della raggiungibilità mediante P-invarianti.

Si consideri la rete in Figura 4.29. La matrice di incidenza di questa rete vale

C=

-1 1 o 1 -2 -1 o o 1 1 o o

Esiste solo un P-invariante nùnimalc x = [2 111] r. dunque si prenda X = :r;. In questa rete da M 0 =)O 1 1 0]'1 può solo scattare una volta la transizione raggiungendo M 1 = [O O 2 O) . Dunque vale: .

T 'f' • 'f R( .\.Mo) = { [O 11 O] . [O O 2 O] } .

Page 200: Sistemi ad Eventi Discreti

192 Capitolo 4

Affinché una generica marcatura M sia potenzialmente raggiungibile, deve esistere un vettore y = [y1 Y2 y3) r tale che

M Mo + C·y l\I(p1) O -y1 + !}2 -yi + Y2 J.ì1(p2) 1

+ .l/1 - 2y2 - Y3 1 + Y1 2y2 - Y3

JJ (p3) 1 1'1(p1) o

!}3

Yi 1 + .l/3

l/1

e dovendo essere ogni l\J(p;) e !Ji intero non deve valere (daJJa prima e seconda equazione) ,l/1 = Y2 =O oppure ,l/1 - Y2 = 1, cioè:

PR(Y.Mo) = {[O 110]7". (0020)T. [00 l lf }.

Affinché una generica marcatura M sia X - invariante, deve valere:

xr M x r M o Jl(p1) o 'f (p2) 1

(2 111] /\f [2 1 1 l] 1

1ìl(pi) o cioè

'21H(p1) + i\J(p2) + .\!(p3) + lil(pi) = 2,

e dovendo essere ogni fil (p;) intero non negativo vale:

I\ (S.M o) = { (1 O O 0] 1 . [O 2 O Of. [O O 2O] 1 . [O O O 2] r. [U 1 1 Of. [O l O lf. [O O 1 lf }.

4.5.4 Proprietà strutturali

In questo paragrafo si definiranno le principali proprietà strntturali di una rete Pff. Tali proprietà, a differenza di quelle comportamentali studiate nel paragrafo 4.3.3, dipendono solamente dalla rete .Y e non dalla marcatura iniziale. Si consideri ad esempio la limita-tezza (ma lo stesso ragionamento vale per conservatività. e vivezza). Si usa distinguere fra "limitatezza". intendendo la proprietà comportamentale di una rete marcata (N.M0 ),

e "limitatena strutturale" quando la stessa proprietà è riferita alla sola rete . .V. Le proprietà strutturali che si considerano in questo paragrafo sono la limitate::;:,a

strutturale, la conservatività stnlffurale, la ripetitività strutturale e cmuisten-;.a. la rever-sibilità strutfllrale, la vivezza strutturale. Oltre a definire queste proprietà, si vedrà anche come esse possano venir verificate mediante lo studio dei P-vcttori e T-vettori. Si vedrà che le prime due proprietà implicano la corrispondente proprietà comportamentale per ogni marcatura iniziale: si parla in questo caso di proprietà di saferzess1

. Le altre proprie-tà implicano la corrispondente proprietà comportamentale per qualche marcatura iniziale:

' I termini .. .,afeness" e "livcness .. nascono dal campo dell 1 verifica for nale. Essi possono generare qualche confusione nel contesto delle reti di Petri pe1ché "safene,-," s1 usa in mgl. se anche per inl la proprietà di una rete di essere sana. mentre "hvcness" in inglese indie: ar'che la \ ivez, a di una rete. r questo motivo si Ì!

preferito evitare di tradurre tali temùni.

Page 201: Sistemi ad Eventi Discreti

Reti di Petri po:-to/transmone 193

si parla in questo caso di proprietà di liveness. Per semplicità ometteremo le dimostrazioni dei risultati presentati in questo paragrafo; il lettore interessato potrà trovarle in (Murata, 1989).

Limitatezza strutturale. Tale proprietà implica la limitatezza strutturale per ogni mar-catura iniziale.

Definizione 4.64. Sia J\' una rete Pff. Un posto 1> E P è strutturalmeme limitato se esso è limitato in (N,M 0 ) per ogni marcatura iniziale M 0 . La rete N è strutturalmente limitata se ogni suo posto è strutturalmente limitato, cioè se la rete marcata (N.M 0 ) è limitata per ogni marcatura iniziale M 0 . A

Tale proprietà può essere caratterizzata in termini di P-vettori decrescenti.

Proposizione 4.65. Sia X una rete P/T e p; E P un "iUO posto.

1. Il poslo p1 è strutturalmente limitato se e solo se esiste un P-vettore decrescente x con .r; >O, cioè p E Il :e Il·

2. La rete S è strutturalmente limitata se e solo se esiste un P-vettore decrescente di interi positivi .r E cioè P = Il x Il· •

A<l esempio, la rete L R L in Figura ..+.24 ha P-vettori decrescenti (O 1 Uf e [O 1 lf (quest'ulùmo vettore è anche un P-invariante). Dunque i posti P>-PJ sono struttural-mente limitati mentre il posto p1 non è strutturalmente limitato. La rete non è dunque strutturalmente limitata.

La limitatezza strutturale implica la limitatezza comportament.ale, poiché deve valere per ogni marcatura iniziale. Non è vero il viceversa. Ad esempio, la rete !J R .L in Figura 4.24 con marcatura iniziale M 0 = [O O r] 1 (qualunque sia ,. E. N) è limitala, pur non essendo strutturalmente limitata: in tale rete infatti solo i posti p 1 e /J:! sono strutturalmente limitati, essendo (1 1 Of un P-invariante.

Conservatività strutturale.

Definizione 4.66. Sia 1\ una rete Pff. iY è strulfura/mente strettamellte conservativa se la rete marcata (1\ .M 0) è strettamente conservativa per ogni marcatura iniziale M 0. X è strutturalmente c011\"er1•atil•a se la rete marcata ( Y.M 0 ) è conservativa per ogni marcatura iniziale l\110 . A

Tale proprietà può essere caratterizzata in termini e.li P-invarianti.

Proposizione 4.67. Sia \ una rete Pff.

L. ·Y è strutturalmente -;trettamente conservativa se e solo se il vettore 1 P-invariante.

{ 1} 111 è un

2. .\ è strutturalment(. conservativa se e solo se esiste un P-invariantc dt mteri positivi x E :J . cioè un P- 'lv.mante il Lùt supporto C.·')ntcnga tutti i posti. •

Page 202: Sistemi ad Eventi Discreti

194 Capitolo 4

Si noti ancora che talvolta si parla di conservatività strutturale parziale in un sottoinsieme di posti P' ç P se esiste un P-invariante x, non necessariamente positivo, ma il cui sup-porto è pari a P'. Ad esempio, la rete in Figura 4.25 è parzialmente strutturalmente con-servativa nell'insieme P' = {p1 ,p2 }, che costituisce il supporto dell' unico P-invariante minimale [1 I O O Of.

La conservatività strutturale implica la conservatività comportamentale, poiché de-ve valere per ogni marcatura iniziale. Non è vero il viceversa. Ad esempio, la rete in Figura 4.23(a) è conservativa rispetto al vettore (1 1 f per la marcatura iniziale data, ma tale rete non ammette alcun P-invariante e dunque non è strntturalmente conservati-va. È facile vedere che il sistema di rete (N.M 0 ) non è conservativo se Alo(p1 ) I e l\Io(Pi) + l\lo(P2) 2, perché in tal caso la transizione t 1 diventerebbe quasi-viva e scattando farebbe diminuire il numero di marche contenute nella rete.

Si noti infine, come già visto per le corrispondenti proprietà comportamentali, che la conservatività strutturale implica la limitatezza strutturale ma non è vero il viceversa. La rete in Figura 4.20 è un esempio di rete strutturahnente limitata, essendo il vettore (1] un P-vettore decrescente positivo, ma non strutturalmente conservativa poiché non ammette alcun P-invariante.

Ripetitività strutturale e consistenza. Tali proprietà sono gli equivalenti strutturali delle proprietà e.li ripetitività e stazionarietà viste per le sequenze di transizioni.

Definizione 4.68. Sia N una rete P!f. N è ripetitiva se esiste una marcatura iniziale M 0 per cui la rete marcata (N,M 0 ) ammette una sequenza ripetitiva che contiene tutte le transizioni. N è consistente se esiste una marcatura iniziale M 0 per cui la rete marcata (N,M o) ammette una sequenza ripetitiva stazionaria che contiene tutte le transizioni. A

Tale proprietà può essere caratterizzata in termini di T-vettori.

Proposizione 4.69. Sia N una rete P!f.

1. N è ripetitiva se e solo se ammette un T-vettore crescente di interi positivi y E ff+., cioè un T-vettore crescente il cui supporto contenga tutte le transizioni.

2. N è consistente se e solo se ammette un T-invariante di interi positivi y E Nf., cioè un T-invariante il cui supporto contenga tutte le transizioni. •

Si noti ancora che talvolta si parla di ripetitività (o consistenza) parziale relativamente a un sottoinsieme di transizioni T' ç T se esiste un T-vettore crescente (o un T-invariante) y, non necessariamente positivo, ma il cui supporto è pari a T'.

Vivezza strutturale.

Definizione 4.70. Una rete P!f N è strwturalmeme viva se esiste una marcatura iniziale M 0 per cui la rete marcata (N.M 0 ) è viva. A

È possibile dare una condizione necessaria perché valga tale proprietà.

Proposizione 4.71. Una rete Prr N con matrice di incidenza C è strutturalmente viva solo se non ammette un P-vettore decrescente non invariante, cioè se non esiste un vettore X E N111 con x1' . e < O. • ..,,,_

Page 203: Sistemi ad Eventi Discreti

Reti di Petri posto/Lransizione 195

Ad esempio, il P-vettore decrescente x 0 = [O O lf della rete m Figura 4.26(a) non è un invariante. Tale rete è strutturalmente morta: qualunque sia la marcatura iniziale, a ogni scatto di t'l. il numero di marche contenute in Pa decresce e quando il posto si svuota t2 diventa morta.

4.6 Classi di reti di Petri posto/transizione

La definizione di rete posto/transizione data in questo capitolo corrisponde a un modello che è talvolta chiamato rete di Petr; generale. È possibile tuttavia considerare classi di reti in cui si pongono alcune restrizioni strutturali. In questo paragrafo viene data una classificazione di tali strutture. Un diagramma di Venn che mostra le varie classi che verranno definite in questo paragrafo è mostrato in Figura 4.30.

generali

ordinarie

a scelta libera

pure

ristrette

Figura 4.30 Diagramma di Venn deJle varie classi di reu Pff.

4.6.1 Reti ordinarie e pure

Definizione 4.72. Una rete Pff N = (P,T,Pre:Post) è detta:

• ordinaria se Pre: P x T {0.1} e Post: P x T - > {O.I}, cioè se ogni arco ha molteplicità unita ria;

• pura SL per ogni po op e transiz one t vale Pre(p.t)Post (P.t) = O. cioè se la rete non coi tiene alct n " 1ppio;

Page 204: Sistemi ad Eventi Discreti

196 Capitolo 4

• ristretta se è ordinaria e pura.

Benché la definizione data per le reti ristrette sembri essere più limitata di quella data per le reti generali, è possibile dimostrare che i due modelh sono equivalenti, nel senso che essi consentono di descrivere la stessa classe di sistemi. Le reti generali, tuttavia, possono essere più efficienti, consentendo una rappresentazione più semplice dello stesso sistema.

Nel Capitolo 2 è stato impiegato il concetto di eguaglianza fra i linguaggi accettati per dimostrare che gli automi deterministici e quelli non determjnistici sono equivalenti. Anche nel caso delle reti di Petri è possibile provare l'equivalenza fra reti generali e reti ristrette in termini linguistici. In modo più intuitivo, qui ci si limita a presentare una costruzione che consente di rimuovere da una rete generale gli archi di peso non unitario e i cappi senza sostanzialmente modificare il comportamento della rete.

La prima costru.lione, mostrata in Figura 4.31. consente di rimuovere gli archi di peso maggiore di uno che entrano cd escono da un posto p. Sia r il massimo peso fra nltt1 gli archi "prc" e ''post" relativi al posto. Si sostituisce il posto p con un ciclo di r posti p( 'l e transizioni /(il, i - 1, .... r, come in figura. Ogni arco "post" ("prc'·) di molteplicità k < n viene sostituito da k archi, ciascuno dei quali è diretto verso (proviene da) k diversi posti. Ignorando lo scatto delle transizioni t< 11 e tenendo conto che per ogni marcatura M della rete originale e una corrispondente marcatura M ' della rete trasformata vale 1U(p) = L:;·=I Jl'(p" ), i comportamenti delle due reti sono equivalenti.

(a)

(b)

Figura 4.31 (a) Un po-;to di una rete non ordrnaria: (/J) trasformazione per eliminare glì archi di peso non unitario.

La seconda costruzione, mostrata in Figura 4.32, con e1 te di rimLovere il cappio formato date p: lo scatto della transiLione I re· e originaria LOJTisponde .. lo scatto di r e t" nella rete modificata.

Page 205: Sistemi ad Eventi Discreti

Reti di Petti posto/transizione 197

t'

p t

t"

(a) (b)

Figura 4.32 (a) Un cappio; (b) trasformazione per eliminare il cappio.

4.6.2 Reti acicliche

Definizione 4.73. Una rete aciclica è una rete Pff il cui grafo è aciclico, cioè non contiene cicli orientati. A

La rete in Figura 4.8 e le reti in Figura 4.21 sono esempi di reti acicliche. La rete in Figura 4.1 non è invece aciclica perché contiene tre cicli elementari: il cappio p1 t1p1 , e i cicli p1tzpzt3p3t5p1 e p1t2p2t1p1t5p1. Si noti che tutte le reti acicliche sono pure, ma non vale il viceversa: si veda ad esempio la rete pura in Figura 4.1 O che non è aciclica.

La caratteristica che rende Je reti acicliche interessanti è il fatto che per esse non esistono soluzioni spurie dell'equazione di stato. È dunque possibile enunciare il seguente risultato la cui dimostrazione è riportata in (Murata, 1989).

Proposizione 4.74. Sia N una rete aciclica. Data una qualunque marcatura iniziale M 0 ,

vale R(N:M o) = P R(1Y,M o) . •

Dunque per questa classe di reti l'analisi basata sull'equazione di stato fornisce condizioni necessarie e sufficienti per risolvere il problema della raggiungibilità.

4.6.3 Macchine di stato

Definizione 4.75. Una macchina di stato (o grafo di stato) è una rete ordinaria in cui ogni transizione ha esattamente un arco in ingresso e un arco in uscita, cioè per ogni t E T , LpE P PrP(p.t) = LpEP Po.t;f(pJ) = 1. A

La rete in Figura 4.33(a) è una macchina di stato, mentre tutte le altre reti nella stessa figura non lo sono.

Una macchina di stato con una sola marca è analoga a un automa finito: ogni posto della rete corrisponde a uno stato dell'automa e la posizione della marca indica lo stato in cui l 'automa si trova. Poiché ogni posto può avere più di una transizione in uscita, come il posto p1 in Figura 4.33(a), tramite una macchina di stato è possibile rappresentare la "scelta".

La marcamra iniziale può anche assegnare a una macchina di stato un numero di marche maggiore di uno. In tal caso è possibile rappresentare una forma limitata di "parallelismo". che nascl dallo scatto di transizioni abilitate da diverse marche.

Page 206: Sistemi ad Eventi Discreti

198 Capitolo 4

Figura 4.33 Reti di Petri ordinarie: (a) una macchina di stato; (b) un grafo marcato; (e) una rete a scelta libera: (d) una rete non a scelta libera.

Non è possibile tuttavia rappresentare una "sincronizzazione'' perché lo stato di abilitazione di una transizione dipende da un unico posto.

La particolare struttura delle macchine di stato porta a un modello che è più limitato delle reti ordinarie, nel senso che non è possibile in generale trovare una macchina di stato equivalente a una rete ordinaria data. Tuttavia, questa restrizione consente di semplificare notevolmente lo studio delle loro prop1ietà. Per prima cosa. si osservi che a causa della particolare struttura di questo modello (ogni transizione ha un solo arco in ingresso e un solo arco in uscita) la matrice di incidenza di una macchina di stato gode della seguente proprietà.

Proposizione 4.76. Sia.\' una macchina di stato. La sua matrice di incidenza è

dove la colonna i-esima associata alla transizione I i è il vettore m x 1

J .----"'----...

Ci = @ .. · O - Ì O · · · O O · · · 0) /' 'V'

se la transizione ha un arco "pre·· proveniente dal posto p e un arco "post" diretto al posto p1;. oppure è una riga di zeri se la transi1•one appartiene a un cappio (l'arco "pre'' proviene dallo stesso posto a cui va i· arco .. ). •

Page 207: Sistemi ad Eventi Discreti

Reti d1 Petri posto/transizione 199

Ad esempio. la matrice di incidenza della rete in Figura 4.33(a) vale

[

-1

C=

o -1

1

-1 o 1

] -1

La precedente proposizione, è utile per dimostrare alcuni dei seguenti risultati.

Proposizione 4.77. Si supponga che N sia una macchina di stato connessa (ma non necessariamente fo1temente connessa).

1. Il vettore 1 di dimensione m x l è il P-invariante minimale di ìV. Ciò implica che una macchina di stato è sempre strettarnente conservath•a e dunque limitata.

2. Sia I' - {"'ti,··· lr} l'insieme dei cicli elementari orientati di .\', e per ogni ciclo ",, E r si consideri il vettore caratteristico n x 1 y l 1 l delle transi.doni lungo il ciclo. cioè

{

(i) (i - .IJJ = 1

y - (i) li =o ·"J

Ogni y l; è un T-invariante minimale di X.

se I 1 E ')';

se t 1 f/. (;

3. Data una qualunque marcatura iniziale M 0 , ( \ .M 0 ) è viva se e solo se X è forte-mente connessa e M 0 ha almeno una marca.

4. Data una qualunque marcatura iniziale M 0 , ( _\' ,M 0 ) è reversibile se e solo se i posti marcati da M 0 appartengono a componenti assorbenti.

5. Data una qualunque marcatura iniziale Mo. vale R(N,Mo) - PR(.\.M0 ), cioè una marcatura è raggiungibile se e solo se è potcn1.ialmente raggiungibile.

Dimostra:Jone

1. Data la struttura della matrice C vale

1 T · C = [l T · C1 1 T · C1 · · · l '/' ·e,,) = (0 0 · · · 0]

e dunque 1 è certamente un P-mvariantc. Si supponga che esista un P-invariante minimale x 1. e sia I'1 = I x I , e I'" = P P'. Non possono esistere transizioni che vanno da un pm.to in P 1 a un posto in P" perché se t J tosse una tale transizione varrebbe ;z; 1 · cJ = -1. Analogamente. non possono esistere transi1ioni che vanno da un posto in P" a un posto in P' perché se f 1 fosse una tale trans111onc varrebbe

1 · c1 = 1. Dunque gli insiemi di posti P' e P" non sono connessi e ciò contraddice l'ipotesi.

2. Dato un qualunque <..iclo E r. si consideri una marcatura i0111alc Alo che assegna a un posto p E una marca e non assegna marche ad altri posti. Eseguendo una alla volca le transizic ni lungo il ciclo in ordine opportuno, "il determina una sequenza di transizioni a cht riporta alla marcatura iniziale. Tale sequenza ha come vettore carattenstico y (i e Junque vale

J\;f o= lklo C · y Cil C · y li) -= O

cioè, y 1 è un T-im triante. Se i1 :iclo 1 1 è elementare, y <' è anche minimale.

Page 208: Sistemi ad Eventi Discreti

200 Capitolo 4

3. (se) Se N contiene una marca ed è fortemente connessa tale marca può spostarsi di posto in posto e dunque ogni transizione può venir abilitata.

(solo se) Se Mo non assegna marche ad alcun posto, la rete è chiaramente bloccata e dunque morta (supponendo che contenga almeno una transizione). Se la rete non fosse fortemente connessa, esistono posti appartenenti a componenti transitorie che, anche se inizialmente marcati, possono perdere le marche. Una voJta vuoti tali posti non possono più venire marcati e dunque le transizioni uscenti da essi sarebbero morte.

4. (se) Le marche contenute nei posti di una componente assorbente possono spostarsi da un posto ali' altro e dunque possono sempre ritornare nei posti a cui erano state inizialmente assegnate. (solo se) Se M 0 assegna una marca a un posto appartenente a una componente transitoria, la marca può uscire dalla componente ma una volta uscita non può tornarvi.

5. Poiché per una qualunque rete Pff vale R(N.M 0) ç P R(N,M 0), basta dimostrare che nel caso delle macchine di stato ogni marcatura potenzialmente raggiungibile è anche raggiungibile.

Data una rete marcata (N.M 0), se M E P R(N,M 0 ) deve esistere un vettore y E Nn tale che M = M o + C · y.

Viene ora dimostrato che se M è diversa da M 0 allora esiste una transizione abilitata t j. Infatti essendo 1 un P-invariante, eseguendo il prodotto scalare di tale vettore con i due membri dell'equazione di stato si ottiene 1T · M = 1 T · M 0 (cioè le due marcature hanno lo stesso numero di marche) e dunque se M -f:. M 0 deve esistere un posto p taJe che O lvl(p) < lifo(p). Allora ld(p) - lvl0 (p) = C(p.·) · y < O e dunque deve esistere una transizione ti tale che C(p,I j) < -1 e la corrispondente componente del vettore y è Yi > O. Tale transizione ha il posto p in ingresso e poiché !il (p) > 1 può scattare portando alla marcatura M' per cui vale M = M ' + C · y', con yj = y; se i =J i. mentre yj = YJ - 1.

Ripetendo tale procedimento a partire da M' si è sicuri di raggiungere la marcatura M (a ogni passo se M' -f:. M si riduce il vettore y). O

Queste proprietà consentono di ridurre notevolmente la complessità computazionale richiesta per lo studio delle proprietà di una macchina di stato.

Esempio 4.78. I cicli elementari della rete in Figura 4.33(a) sono ì i = p1 t3p3t4p1 e "/'2 = P1t1P2f2P'Jf4p1 a cui corrispondono i T-invarianti y 11) = [O O 1 l]T e y (2) = [1 1 O 1 f. Dalla sola analisi del grafo della rete si osserva che essa è fortemente connessa e contiene due marche, dunque la rete marcata è viva e reversibile. +

4.6.4 Grafi marcati

Definizione 4.79. Un grafo marcato (o grafo di eventi) è una rete ordinaria in cui ogni posto ha esattamente un arco in ingresso e un arco in usLita, cioè per ogni p E I', LtET Prc(p,t) = EtET Post(p.t) = 1. À

Page 209: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 201

La rete in Figura 4.33(b) è un grafo marcato, mentre tutte le altre reti nella stessa figura non lo sono.

Poiché ogni posto di un grafo marcato ha una sola transizione in uscita, questa strut-tura non ci consente di rappresentare In "scelta". Essa ci consente tuttavia dì rappresentare il "parallelismo". Ci consente anche di rappresentare la "sincronizzazione" perché lo stato di abilitazione di una transizione può dipendere da più posti; tale è il caso della transizione t1 in Figura 4.33(b).

Si noti che una rete può essere allo stesso tempo una macchina di stato e un grafo marcato. Tale è il caso della rete LR1- in Figura 4.24.

Esiste una stretta relazione fra macchine di stato e grafi marcati. Si consideri la seguente definizione.

Definizione 4.80. Data una rete N = (P,T.Pre,Post) con m posti e n transizioni, la rete duale di 1\" è la rete NT = (T.P.PreT. PostT) con n posti e m transizioni. A

La rete duale può pensarsi costruita a partire dalle rete prima/e cambiando ogni nodo "posto" in un nodo "transizione" e viceversa, e invertendo il verso degli archi. Se la rete primate ha matrice di incidenza C, la rete duale ha per matrice di incidenza cr. Inoltre, se N' è la duale di N, allora N è la duale di N'.

Esempio 4.81. È facile verificare che le due reti in Figura 4.26 sono l'una la duale dell'altra. Anche le due reti in Figura 4.33(a)-(h) e sono l'una la duale dell'altra. +

Fra i grafi marcati e le macchine di stato vale la seguente proprietà.

Proposizione 4.82. Se 1Y una macchina di stato (ovvero, un grafo marcato) la sua rete duale NT è un grafo marcato (ovvero, una macchina di stato).

Dimostra::.ione. La costruzione della rete duale trasforma ogni nodo "posto" in un nodo ''transizione" e inveite il senso degli archi (ma non il loro peso). Dunque se in N ogni transizione ha un solo posto in ingresso e un solo posto in uscita (essendo una macchina di stato) in JY 1' ogni posto ha una sola transizione in ingresso e una sola tran-sizione in uscita e dunque tale rete è un grafo marcato. Il viceversa segue con analogo ragionamento. O

Per i grafi marcati, valgono le seguenti proprietà, che possono venire sempljcemente dimostrate (le prime due. in particolare. derivano per dualità dalle proprietà già viste per le macchine di stato).

Proposizione 4.83. Si supponga che .N sia un grafo marcato connesso (ma non necessa-riamente fortemente connesso).

l. Sia "r; un ciclo elementare orientato di JY. Il vettore caratteristico x Ul di dimensio-ne m x 1 che conta i posti lungo "'i; è un P-invariante minimale di 1

\'. Dunque il contenuto delle marche lungo ogni ciclo orientato 1·1 è costante per ogni marcatura raggiungibile.

2. Il vettore 1 di dimensione n x 1 è il T-invariante nùnimale di A. Dunque data una sequen.la a abilitata da una marcatura M, essa è stazionaria se e solo se contiene tutte le transizioni un egual numero di volte.

3. Data una qualunque marcatura iniziale M o, (.V.Mo) è viva se e solo se i\!I o assegna almeno uria marca a ogni ciclo orientato elementare di .\.

Page 210: Sistemi ad Eventi Discreti

202 Capitolo 4

4. Data una qualunque marcatura iniziale M 0 , (N,M o) è reversibile se e solo se essa è viva.

5. Sia I'= { ri. · · · rr} l'insieme dei cicli orientati elementari di Ne sia x <i) il vettore caratteristico che conta i posti lungo '"'ti . Sia X la matrice dei cicli elementari, cioè la matrice mx r la cui colonna i-ma è x <il. Data una qualunque marcatura iniziale Mo, se (N.M o) è viva vale:

R(N,M0 ) = PR(N,M0 ) = Ix(N.Mo)

Dunque se un grafo marcato è vivo l'analisi basata sull 'equazione di stato e quella basata sui P-invarianti ci offre condizioni necessarie e sufficienti per determinare la raggiungibilità di una marcatura. •

Dalla precedente proposizione (parte l e 5) derivano anche i seguenti risultati.

Corollario 4.84. Un grafo marcato vivo è limitato se e solo se è fortemente connesso. Un grafo marcato è strutturalmente limitato se e solo se è fortemente connesso. •

Queste proprietà consentono di ridurre notevolmente la complessità computazionale richiesta per lo studio delle proprietà di un grafo marcato8 .

Esempio 4.85. I cicli elementari della rete in Figura 4.33(b) sono 11 = t1p4t3p3t1e72 = f1p4t3p2 l 2p 1i 1 a cui corrispondono i P-invarianti x(ll =[O O 11]"' e x <2 l = (11 O l ]T. Dalla sola analisi del grafo della rete si osserva che tali cicli contengono ciascuno un gettone e dunque la rete marcata è viva e reversibile. t

4.6.5 Reti a scelta libera

Una generalizzazione delle macchine di stato e dei grafi marcati è la seguente.

Definizione 4.86. Una rete a scelta Ubera (ofree-choice net) è una rete ordinaria in cui ogni arco da p E P a t E T: o è l'unico arco in uscita da po è l'unico arco in ingresso a t, cioè per ogni p E P se = 1 vale:

(Vt' f. t : Pre(p,t') = O) V [Vp' f. p : Pre(p' ,t) = O].

Le strutture ammissibili in una rete a scelta libera sono mostrate in Figura 4.34(a)-(b) mentre una struttura non ammissibile è mostrata in Figura 4.34(c).

Una rete a scelta libera consente dunque di rappresentare "scelta'', "parallelismo" e "sincronizzazione". Ad esempio, nella rete a scelta libera in Figura 4.33(c) le transizioni t 1 e t3 , essendo entrambe in uscita da p1 e dunque in conflitto strutturale, rappresen-tano una scelta; le transizioni I 1 e t2 sono parallele; la transizione 13 rappresenta una . . . smcromzzazione.

Una rete a scelta libera non consente tuttavia di rappresentare contemporaneamente "scelta" e "sincronizzazione" relativamente alla slessa transizione. Ad esempio, la rete

8 Si confronti. ad esempio. l'Esercizio 4.5 coo !"Esercizio 4.6.

Page 211: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 203

(a) (b) (e)

Figura 4.34 Strutture elementari: (a)-(b) a scelta libera; (e) non a scelta libera.

in Figura 4.33(d) non è una rete a scelta libera perché la transizione fa è una transizione che rappresenta una sincronizzazione e allo stesso tempo rappresenta una delle possibili scelte per il posto P1.

Si osservi che ogni macchina di stato e ogni grafo marcato è anche una rete a scelta libera. Tuttavia la classe delle reti a scelta libera è più ampia dell'unione di queste due classi. La rete in Figura 4.33(c) è una rete a scelta Libera pur non essendo né una macchina di stato né un grafo marcato.

Anche le reti a scelta libera godono di proprietà particolari che consentono di ridurre l'onere computazionale richiesto per studio delle loro proprietà rispetto al caso delle reti ordinarie. Esiste una vasta letteratura su questo argomento; si veda ad esempio Desel e Esparza (1995).

4. 7 Confronto fra reti di Petri e automi finiti

Può essere utile per concludere il capitolo, fare una breve confronto fra i due modelli reti di Petri e automi.

Il grafo di raggiungibilità di una rete marcata il cui spazio di stato è finito è sostan-zialmente un automa finito deterministico che ha lo stesso comportamento della rete. Si tenga presente, però, che, benché la costruzione del grafo di raggiungibilità di una rete con insieme di raggiungibilità finito sia sempre possibile in linea teorica, possono aversi semplici reti marcate il cui spazio di stato contiene un numero di marcature così elevato da rendere la costruzione dcl grafo un arduo compito. QucsLo spiega uno dei principali vantaggi delle reti di Petri rispetto agli automi: esse consentono spesso di rappresentare in maniera compatta, attraverso una semplice struttura di rete, sistemi con uno spazio di stato di grande dimensione.

Un secondo vantaggio è dato dal fatto che le reti di Petri consentono anche di rap-presentare una classe di sistemi più ricca di quelli rappresentabili medianti automi finiti: ad esempio, esse possono modellare alcuni sistemi con spazio di stato infinito per i quali non è possibile costruire il grafo di raggiungibilità ma solo quello cli copertura. A questo maggior potere rappresentativo delle reti di Petti, corrisponde anche il fatto che i linguag-gi di Petri sono un insieme strettamente maggiore dei linguaggi regolari. come discusso nel paragrafo 2.7.3 e anche nel paragrafo 4.2.3.

Page 212: Sistemi ad Eventi Discreti

204 Capitolo 4

Un terzo vantaggio, già stato fatto notare nel paragrafo 4.2.3, nasce dal fatto che i modelli costmiti per sintesi modulare di reti di Petri mantengono la struttura dei singoli moduli composti.

Un ultimo vantaggio, infine, è dato dal fatto che per l'analisi delle proprietà di una rete di Petri e5istono anche tecniche strutturali, cioè non basate sull'analisi esaustiva dello spazio di stato, come si è visto nei paragrafi dal 4.4 al 4.6.

Esercizi

Esercizio 4.1. Si consideri la seguente reazione chimica:

{ 2:\a + c1.,

2);aCl + CaC03 + CaCh

(a) Modellare con una rete posto/transizione tale rca.lionc associando a ogni reagente un posto (contenente tanti gettoni quante sono le unità di sostanza) e a ogni reazione elementare una transizione. Si dia di tale rete sia la rappresentazione grafica che la rappresentazione algebrica, indicando I' i nsicme dci posti e delle transizioni, le matrici Pr e e Post e la marcatura iniziale.

(b) Si supponga di avere inizialmente cinque unità di ".'\a, tre unità di Cb e due uni-tà di CaC'03 . Determinare quante unità di carbonato di sodio possono ottenersi. costruendo il grafo di raggiungibilità della rete.

(c) Modellare la reazione catalitica H 2 +C'2 H 1 -t C2 H1i tenendo presente che essa può avvenire solo in presenza di una unità di Platino (Pt ).

Esercizio 4.2. Si desidera eseguire il seguente programma su un calcolatore che dispone di più processori paralleli.

a:- 2 b := 3 e:= G a := 2 *a (' :- b + (' b : (l + ("

(a) Modellare con una rete posto/transizione tale programma associando a ogni istruzione una transizione e a ogni operando un posto (se una variabile appare sia al primo che al secondo membro dell'istruzione a essa s1 associeranno due posti). Si dia di tale rete sia la rappresentazione grafica che la rappresentazione algebrica, indicando 1' insieme dci posti e delle transizioni, le matrici Pre e Post e la marcatura inizi<ùe.

(b) Quali istruzioni possono venir eseguite in parallelo?

(c) Quanti processori paralleli sono necessari al massimo'?

Page 213: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 205

Esercizio 4.3. Modellare con una rete Prr un sistema informatico costituito da 3 processi che usano 4 risorse: lettore CD-ROM, disco fisso, stampante e memoria RAM (suddivisa in due partizioni). Ciascuno dei tre processi può venir eseguito in una qualunque delle due partizioni di memoria. L'uso che i tre processi fanno delle altre risorse è il seguen-te. Il Processo l usa contemporaneamente il lettore CD-ROM e la stampante; una volta terminato rilascia le risorse contemporaneamente. Il Processo 2 usa prima il lettore CD-ROM e il disco fisso contemporaneamente; dopo una prima operazione rilascia il lettore CD-ROM; per iniziare la seconda operazione richiede anche la stampante e finalmente rilascia disco fisso e stampante contemporaneamente. Il Processo 3 usa tutte e tre le risor-se (lettore CD-ROM, disco fisso, stampante) contemporaneamente e una volta terminato rilascia le risorse contemporaneamente.

(a) Costruire il grafo di raggiungibilità e verificare di quali proprietà qualitative go-de questa rete (posti: limitati o sani; transizioni: vive o quasi-vive; sequenze di scatto: reversibiJj o stazionarie; rete: limitata, sana, conservativa, reversibile, viva, bloccante).

(b) Determinare se è possibile che vi siano due o più processi in esecuzione nello stesso istante e se sì indicare quali.

Esercizio 4.4. Studiare le caratteristiche delle reti in Figura 4.35 determinando in parti-colare se ciascuna di esse è:

• reversibile;

• strettamente conservativa;

• conservativa;

• k-limjtata;

• viva, quasi-viva, non quasi-viva, morta;

• bloccante.

Esercizio 4.5. Si consideri la rete del protocollo di comunicazione in Figura 4.7. Si assuma che Ja marcatura iniziale assegni due marche al posto pronto inviare e due marche al posto pronto ricevere.

(a) Si costruisca il grafo di raggiungibilità e si determini se questa rete è viva e reversibile.

(b) Si calcolino i P-invarianti e si determini se la rete è strutturalmente conservativa ovvero strutturalmente limitata.

(e) Si calcolino i T-invarianti e si determini se la rete è ripetitiva e consistente. Esistono sequenze ripetitive abilitate dalla marcatura iniziale data?

(d) Si determini l 'insieme X -invariante e si valuti in base a ciò il numero massimo di marche che possono c·)sere presenti in ogni canale ùi trasmissione e complessivamen-te nei due canali.

Page 214: Sistemi ad Eventi Discreti

206 Capitolo 4

(a) (b) (e)

(d) (e) (/)

Figura 4.35 Reti marcate.

Esercizio 4.6. Si consideri la rete deJ precedente esercizio e si verifichi che essa è un grafo marcato. Alla luce della Proposizione 4.83 si calcolino i P-invaiianti dci cicli elementari e si verifichino le proprietà di vive71.a e reversibilità. Si confrontino i risultati ottenuti con quelli del precedente esercizio.

Esercizio 4.7. Nel paragrafo 4.2.2 si era affermato che il processo lettori-scrittori descrit-to dalla rete in Figura 4.9 rispetta le due specifiche:

• più lettori possono leggere contemporaneamente, sino a un massimo di n:

• se uno scrittore ha accesso ai dati nessun altro scrittore o lettore può avere accesso ai dati.

Si desidera ora dimostrare formalmente che le specifiche sono rispettate usando due diverse tecniche di ai1alisi.

(a) Assunto s - 5, [ = 10 e n = 8 si costruisca il grafo d1 raggiungibilità della rete marcata e si verifichi che in tal caso le due specifiche sono soddisfatte.

(b) Senza fare alcuna ipotesi sui valori assunti dai parametri s, Ce n, si calcolino i P-invarianti della rete. Dall'analisi delle marcature X imarianti si verifichi che le due specifiche sono soddisfatte per ogni valore dci parametri.

(e) Si discuta quale delle due tecniche di anali'i sia pit1 vantaggiosa.

Page 215: Sistemi ad Eventi Discreti

Reti di Petti posto/transmone 207

Esercizio 4.8. John e Mary si sono dati appuntamento per stasera, ma non hanno specifi-calo se andranno al cinema o al ristorante. All'ora dell'appuntamento ciascuno uscirà di casa e aspetterà l'altro davanti a uno dei due possibili luoghi di incontro. Se riusciranno a incontrarsi trascorreranno una piacevole serata e poi rientreranno a casa. La rete di Petri in Figura 4.36 descrive questa storiella.

(a) Associare a ogni posto e transizione una interpretazione nel rispetto del precedente racconto.

(b) Determinare se la rete è viva e dare un'interpretazione narrativa degli eventuali stati di blocco.

(c) Determinare a quali classi di reti Pff appartiene tale rete.

4.36 La rete John & \fary.

Esercizio 4.9. Si consideri la rete di Petri in Figura 4.37. Costruire il grafo di copenura di tale rete e verificare che nel grafo non esistono nodi senza archi uscenti. Tuttavia tale rete è bloccante: determinare una marcatura di blocco e la sequenza di scatto che la raggiunge. Perché il grafo di copertura non è in grado di rilevare il blocco?

Figura 4.37 Cna rete mare<. a bloccante.

Page 216: Sistemi ad Eventi Discreti

208 Capitolo 4

Esercizio 4.10. Questo esercizio vuole mostrare come anche i P-vettori non invarianti possano essere usati nello studio della raggiungibilità. Si dimostri che la marcatura M = [11 O O Of non è raggiungibile nella rete marcata in Figura 4.25. Suggerimento. Si osservi che per marcare p2 occorre che scatti I 1, che per far scattare t 1

il posto p4 deve essere marcato, e che esiste un P-vettore crescente che ha per supporto JJ.t e p;, .

Esercizio 4.11. Data una rete N diciamo che La vivezza è monotona rispetto alla marca-tura se per ogni marcatura M vale

(N,M) è viva, M' 2:: M ===> (N,M') è viva.

cioè se una rete marcata viva resta tale quando a essa si aggiungono marche. Questo esercizio vuole mostrare che esistono reti la cui vivena non gode della

proprietà di monotonia rispetto alla marcatura.

(a) Si consideri la rete di Petri in Figura 4.38 e si dimostri che essa è viva.

(b) Si consideri la stessa rete con una marcatura iniziale che assegna a p 1 quattro marche: si determini se tale rete è viva, quasi-viva, non quasi-viva o morta.

(c) Si dia, viceversa, un esempio di rete viva che perde tale proprietà se a essa si toglie una marca.

(d) Si dimostri se .Y è una macchina di stato o un grafo marcato allora la vivezza è monotona rispetto alla marcatura.

(e) Si dia un esempio di rete a scelta libera la cui vivezza non è monotona rispetto alla marcatura.

Figura 4.38 Una rete marcata la cm , ·ivezza non è monotona rispcuo alla marcatura.

Esercizio 4.12. Si <lia un esempio di macchina di stato sana, non reversibile e non bloccante.

Esercizio 4.13. Questo esercizio dimostra che, benché pc una macchina di stato val-ga R (X .M o) - PR(S.M0 ) . non necessariamt:nte ogni \ Cttore y E :n che sodd1,fa l'equazione di stato J!/ = M 0 + C y corrisponde a una s, qucnLa abili ata.

Page 217: Sistemi ad Eventi Discreti

Reti di Petti posto/Lransizione 209

(a) Si consideri la rete di Petri in Figura 4.39 e si verifichi che, data la marcatura iniziale M 0 in figura, l'equazione di stato è soddisfatta per la marcatura M = (O 1 O O]T e il vettore y = [O 1 O 1 lf.

(b) Si dimostri che non esiste alcuna sequenza di scatto abilitata da M 0 che ha come vettore di scatto il vettore y dato.

(c) Si determini una sequenza O' che permette di raggiungere M a partire da M 0 e si verifichi che il suo vettore cli scatto CT soddisfa l'equazione di stato.

(d) Si dimostri che in una macchina di stato ogni vettore y E Nn. che soddisfa l'equazione di stato M = M 0 + C · y corrisponde a una sequenza abilitata se esso è minimale, cioè se non esiste un altro vettore y' :;; y tale che M = M 0 + C · y'.

Figura 4.39 Una macchina di stato.

Esercizio 4.14. Si dimostri che la rete L R ll in Figura 4.24 è sana e viva ma non reversibile mediante la costruzione del grafo di raggiungibilità.

Esercizio 4.15. Si consideri il grafo marcato in Figura 4.40. Si determinino le proprietà di cui gode tale rete alla luce della Proposizione 4.83 e del Corollario 4.84, calcolandone anche gli invarianti e l'insieme X -invariante.

Figura 4.40 Un grafo marcato.

Esercizio 4.16. Due filosofi cinesi siedono a un tavolo e meditano. Al centro del tavolo vi è un piatto di riso alla cantonese e tra i due fi losofi (F1 e F'2) vi sono due bacchette (81 e B 2 ) come mostra la Figura 4.41. Quando un filosofo sente lo stimolo della fame,

Page 218: Sistemi ad Eventi Discreti

210 Capitolo 4

afferra prima la bacchetta alla sua sinistra, poi 1' altra e servendosi delle due bacchette mangia. Terminato il pasto, ripone contemporaneamente le due bacchette e ritorna alle sue meditazioni.

Figura 4.41 I due filosofi cinesi.

(a) Rappresentare con una rete di Petri marcata questo sistema. Per ogni filosofo F, vi saranno tre posti (Prn, rappresenta lo stato di meditazione, Pi., lo stato in cui ha afferrato la bacchetta alla sua sinistra, Pt lo stato in cui ha afferrato entrambe le bacchette e mangia) e tre transizioni che indica l' azione di afferrare la bacchetta sinistra, I 11 che indica l'azione di afferrare la bacchetta destra, t 111 che indica l'azione di riporre le bacchette e rientrare nello stato di meditazione). Per ogni bacchetta B, vi sarà un posto P11, .

(b) Inizialmente i filosofi sono entrambi nello stato di meditazione. Qual è la marcatura iniziale J f0 corrispondente a questo stato?

(e) Costruire la matrice di incidenza della rete e calcolarne i P-invarianti e T-invariant1.

(d) Questa rete è limitata e conservativa? Esiste un P-invariante positivo?

(e) Costruire il grafo di raggiungibilità di questa rete marcata. Quante sono le marcature raggiungibili?

(f) Questa rete è reversibile? Esistono delle sequenze di scatto stazionarie che la riporta-no allo stato iniziale? Come sono legate ai T-mvarianti'?

(g) È possibile che questa rete marcata lii blocchi. raggiungendo uno ç;,tato in cui nessuna transizione è abilitata? Se sì. indicate una sequenza di transizioni che porta a un blocco. In che stato si trovano i due filosofi?

(h) Si supponga di aggiungere una terza bacchetta fra i due filosofi (per esempio alla sinistra di I'l ). Come si modifica la marcatura iniziale <.ella rete? Costruire il nuovo grafo di raggiungibilità. Questa nuova re e marcata è reversibile? Può bloccarsi'? Quale dc1 due filosofi probabilmeme mangerà di più e p

Page 219: Sistemi ad Eventi Discreti

Reti di Petri posto/transizione 211

Esercizio 4.17. Questo esercizio vuole mostrare come la sintesi modulare mediante reti di Petri porti solitamente a un modello del sistema composto molto più semplice rispetto alla sintesi mediante automi. Si consideri un processo produttivo costituito da due macchine, un dispositivo di assemblaggio e un magazzino. La prima macchina G 1 produce prodotti di tipo l, e ha un alfabeto con due eventi: a 1 (inizio lavorazione) e bi (fine lavorazione e deposito della patte nel magazzino). La seconda macchina G2 produce prodotti di tipo 2, e ha un alfabeto con due eventi: 02 (inizio lavorazione) e b2 (fine lavorazione e deposito della parte nel magazzino). Il dispositivo di assemblaggio A preleva prima dal magazzino un prodotto di tipo 1 (evento c1) poi un prodotto di tipo 2 (evento r2) e dopo averle assemblate ritorna nello stato iniziale (evento d). li magazzino multiclasse AI ha due locazioni e può contenere prodotti di entrambi i tipi. Ogni prodotto (sia di tipo 1 che di tipo 2) occupa una locazione. L'alfabeto del magazzino è {b1,b2,c1,c2 }.

(a) Descrivere i singoli moduli mediante reti etichettate.

(b) Costruire la rete etichettata che modella il sistema complessivo mediante 1' operatore di composizione concoITente.

( c) Calcolare il grafo di raggingibilità della rete complessiva e confrontare tale grafo con il modello mediante automi dello stesso sistema costruito nell' Esercizio 2.17.

Esercizio 4.18. Si dimostri che la rete duale di una rete a scelta libera è ancora una rete a scelta libera.

Esercizio 4.19. Una rete marcata (N.M0) è detta persistente se per ogni marcatura raggiungibile ME R(N ,M 0 ) vale

M[t) , M [a)M' , ialt = O ===> M'[t)

cioè se ogni transizione una volta abilitata rimane tale sino a quando non scatta. Una rete N è detta strutturalmente persistente se è persistente per ogni marcatura iniziale.

(a) Si dimostri che N è strutturalmente persistente se e solo se per ogni posto p E P vale: tp• j _::; 1, ogni posto ha al più una transìzionc in uscita.

(b) Si verifichi se una rete è un grafo marcato allora essa è strutturalmente persistente ma, per mostrare che non vale il viceversa, si dia un esempio di una rete che pur essendo strutturalmente persistente non è un grafo marcato.

(c) Si dia un esempio di rete marcata persistente ma non strutturalmente persistente.

Esercizio 4.20. Si consideri una rete costituita da un numero m ;:::: 1 di posti e transizioni, e la cui struttura è tale che per ogni transizione tii con i = 1, · · · m - 1, vale Pre(p, .t,) = Po.st(PH1 ,ti) = 1 mentre per la transizione f m vale I're(JJ,11 ,tm) = I'ost (JJi .tm) = l. Ad esempio, per rn = :3 tale rete è mostrata in Figura 4.4(a ). Supponendo che la marcatura iniziale assegni r > O marche al posto Jh e nessuna marca a ogni altro posto, si determini in funzione di m E N+ e r E N la cardinalità v (m .r) dell'insieme di raggiungibilità di tale rete. Suggerimento. Si osservi che vale

,. 11(1.r) = 1, ':t •:: N: 1(m .r) = L v (m - 1 .k 'llm > 1.

/,•:;(I

Page 220: Sistemi ad Eventi Discreti

212 Capitolo 4

Si costruisca una tabeJla in cui la cella ali · intersezione della riga 11 i e della colonna r vale v(m.r). Si noti la relazione tra questa tabella e il triangolo di Pascal, che permette di

calcolare i coefficienti binomiali ( ) .

Soluzione. Vale v (m.r) - ( m + ,'.' - 1 ) .

Bibliografia

• Ajmone Marsan, M., G. Balbo, G. Conte, S. Donatelli, F. Franceschinis, witlz generali-;.ed srochastic Petri nets, John Wileys and Sons, 1995.

• Brams, G.W., Le reti di Petri: teoria e pratica, Masson, 1985.

• David, R. , Il. Alla, Petri nets ami GRAFCET, Prentice-Hall, 1992.

• Desel, J., J. Esparza, Free choice Petri nets, Cambridge University Press, 1995.

• Desrochers, A.A., R.Y. Al-Jaar, Applications of Petri nets in manufacturing systems, IEEE Press, 1995.

• DiCesare. F.. G. Harhalakis, J.M. Proth, M. Silva, F.B. Vemadat, Practice of Petri nets in mcmufacturing, Chapman and Hall. 1993.

• Finkel, A., C. Johnen, "The hornc state problem in transition systerns," Rapport de Recherche 47 I, Univ. de Paris-Sud, Centre d'Orsay, France, March 1989.

• Gaube11, S., A. Giua. "Petri net languagcs and infinite subsets of N111 ", J. of Compu-

ter and System Sciences, Vol. 59, No.3, pp. 373-391, Dicembre, 1999.

• Karp, R., R. Miller, "Parallel program schemata", J. of Computer and System Scien· ces, Voi. 3, No.2. pp. 147-195, Maggio, 1969.

• Murata, T., "Petri nets: properties, analysis and applications". Proceedings IEEE, Vol. PROC-77, No.4, pp. 54 1-580, April. 1989.

• Peterson, J.L., Petri net theory and the modeling of Prcntice-HalL 1981.

• Petri, C.A., Kommunication mit Automaten, Tnstitut for Instrumentelle Matbematik (Bonn, Gcrmany), Schriften des IIM. No.3, 1962.

• Reisig, W., Petri 11ets: an introduction, EATCS Monographs on Theoretical Compu-ter Scicnce, Voi. 4, Springer-Verlag, 1885.

• Reutcnaucr, C., Aspects rnathématiques des réseaux dc Pe1ri, Masson, 1988. Trad. ing. The mathematics of Petri nets. Prentice-Hall l ntern., 1990.

• Zhou. M.C., F. DiCcsare, Petri net synthesisfor discret'' event contro/ of manufactu ring 'ì)'Sterns, Kluwcr, 1993.

Page 221: Sistemi ad Eventi Discreti

5 Reti di Petri temporizzate

Nel Capitolo 4 si è visto come utilizzare le reti di Pctri posto/transizione (Pff) per mo-dellare i SED; è stato evidenziato che tali reti sono uno strumento potente per lo studio di caratteristiche strutturali e qualitative di SED distribuiti anche complessi. È altrettanto evidente però che qualora si desideri analizzare le prestazioni di un SED, ossia effettuarne uno studio quantitativo, le reti Pff non sono lo strumento adatto, perché prescindono dal-la definizione della durata delle singole attività che avvengono nel sistema. Si è dunque concluso che, per rendere le reti di Petri uno strumento utile anche per la valutazione delle prestazioni, deve essere introdotta in esse una qualche metrica temporale.

Proprio per rispondere alla necessità di analiaare dal punto di vista prestazionale il comportamento dinamico di SED modellati da reti di Petri, sono state proposte molte estensioni delle reti Pff, in cui sono state introdotte diverse strutture di temporizzazione. Tutte le estensioni sono accomunate daU' idea fondamentale di associare all'esecuzione della rete una struttura di temporizzazione che permetta di specificare in quali istanti di tempo si verificano gli eventi. Si tornerà sull'argomento nel prossimo paragrafo.

A prescindere dalla struttura di temporizzazione a esse associata, le reti di Petri ternporizzate (RPT) si propongono come un ambiente omogeneo per la modellazione, il progetto e l'analisi delle prestazioni di SED. Come strumento modellistico di SED esse offrono molti vantaggi, che possono essere sintetizzati nei punti che seguono:

• le RPT forniscono un ambiente idoneo a una corretta e dettagliata rappresentazione di un SED, consentendo anche di definire le stocasticità intrinseche dei sistemi reali; esse infatti, come le reti P/T, sono regolate da semantiche ben definite che, oltre a costituire la base per i metodi di analisi formale, consentono di realizzare simulatori di RPT;

• le RPT possono riprodurre esattamente caratteristiche proprie dei SED quali priorità, sincronizzazione, uso di risorse condivise;

• le RPT hanno poche ma potenti primitive; la definizione di RPT si basa su concetti spesso condivisi con la matematica e i linguaggi di programmazione;

• l'analisi di RPT può essere effettuata in modo automatico mediante l'uso di strumenti informatici dedicati;

• le RPT possono essere utilizzate nello stesso tempo come modelli logici e prestazio-nali;

Page 222: Sistemi ad Eventi Discreti

214 Capitolo S

• le RPT possono essere impiegate come strumento di simulazione per l'analisi di proprietà sia qualitative sia quantitative quando non sono applicabili modelli mate-matici, per esempio a causa della dimensionalità del problema da trattare.

Non deve stupire che alcune delle proprietà appena elencate siano state presentate co-me caratteristiche delle reti Pff nel Capitolo 4; infatti, si è detto che le RPT si presentano come estensione di tali reti, delle quali ereditano quindi le potenzialità.

La definizione di una RPT deve specificare tre elementi fondamentali: la struttura topologica, la temporizzazione a questa associata e le regole di scatto delle transizioni. La struttura topologica è generalmente quella di una rete Pff; le regole di scatto sono definite sulla base del tipo di temporizzazione scelta. La specifica della struttura di tem-porizzazione di una RPT è evidentemente un problema cruciale, che viene affrontato nel paragrafo seguente.

5.1 Temporizzazione e concetti di base

Le strutture di temporizzazione proposte per estendere le reti di Petri Pff sono state mol-te, perché in effetti si possono associare delle variabili temporali, in pratica dei tempi di ritardo, a uno o più elementi costitutivi di una rete di Pctri: posti, transizioni, archi o marche. Le proposte descritte nella letteratura relativa riguardano prevalentemente tem-porizzazioni dei posti e delle transizioni. È possibile dimostrare che modelli in cui il tempo è associato ai posti e modelli in cui il tempo è associato allo scatto delle transizioni sono equivalenti (si vedano ad esempio i libri di Ajmone et al., (1995) e Baccelli et al. (1992)).

Nel caso in cui si associ la temporizzazione ai posti, le marche che vengono deposi-tate in un posto dallo scatto di una transizione non sono immediatamente disponibili per abilitare altre transizioni, ma diventano disponibili solo dopo che è trascorso il tempo di ritardo associato al posto, che può essere deterministico o stocastico.

Nel caso invece, più frequente, in cui si voglia associare una temporizzazione alle transizioni, è possibile farlo adonando due diversi approcci:

• scatto in tre fasi: lo scatto di una transizione è suddiviso in tre fasi; nella prima fase le marche vengono prelevate dai posti di ingresso; la seconda fase rappresenta il trascorrere del tempo relativo all'attività modellata dalla transizione, cioè il tempo cli ritardo effettivamente associato alla transizione: in questa fase le marche sono già state prelevate dai posti di ingresso e non ancora depositate nei posti di uscita, quindi in pratica non sono visibili; neJla terza fase, le marche vengono depositate nei posti di uscita;

• scatto atomico: lo scatto viene considerato un' operalione indivisibile e la tempo-rizzazione è realizzata associando a ogni transizione un ritardo che corrisponde al tempo che deve trascorrere tra la sua abilitazione e il conseguente scatto; le marche rimangono nei posti di ffigresso fino allo scatto, a meno che un'altra transizione le prelevi scattando a sua volta; solo se al termine del ritardo la condizione di abili-tazione continua a sussistere, la transizione scatta effcuivamente, facendo sì che le marche siano prelevate dai posti di ingresso e quindi depositate nei posti di uscita.

Page 223: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 215

Lo scatto in tre fasi presenta difficoltà di analisi derivanti dal fatto che la prima e la terza fase sono istantanee, mentre alla fase intermedia è associato un tempo di ritardo. Gli svantaggi legati a questo tipo di funzionamento sono dovuti al fatto che per un certo tempo le marche scompaiono dalla rete e quindi le reti così temporizzate non sono direttamente analizzabili per mezzo dei vettori invarianti. Per esempio, per poter svolgere un'analisi strutturale con il calcolo degli invarianti della semplice rete raffigurata in Figura 5. l(a) , è necessario sostituire la transizione t 1 con la sequenza dei tre elementi t1a , P in e t1b come indicato in Figura 5.l(b), per rappresentare in modo esplicito la presenza delle marche nella rete durante le tre fasi dello scatto; si può dire che è in generale possibile trasformare uno scatto in tre fasi in uno scatto atomico a patto di complicare la struttura della rete.

(a) (b)

Figura 5.1 Trasformazione di una transizione con scatto in tre fasi per il calcolo degli invarianti.

Recentemente è stata proposta una variante per la gestione dello scatto in tre fasi, che prevede una sorta dj "prenotazione" delle marche nei posti di ingresso da parte delle transizioni che iniziano a scattare. Così, quando una transizione comincia il suo scatto le marche nei posti di ingresso necessarie allo scopo vengono riservate a essa e non possono venire utilizzate per lo scatto di altre transizioni, per le quali diventano quindi "invisibili"; trascorso il tempo di scatto le marche riservate vengono effettivamente tolte dai posti di ingresso e compaiono nei posti di uscita. Questo tipo di rappresentazi()ne dello scatto in tre fasi rende la gestione della rete più semplice e ha quindi attualmente soppiantato del tutto la procedura originale su descritta.

Si noti che nella Figura 5. J viene introdotta la simbologia grafica generaJmente adot-tata per distinguere dalle transizioni immediate le transizioni temporizzate (con ritardo deterministico), rappresentate con rettangoli neri.

Secondo lo schema di funzionamento con scatto atomico, se due transizioni che vengono abilitate contemporaneamente sono in conflitto effettivo, la transizione con il ritardo minore scatta per prima disabilitando 1' altra. Invece, nel caso di scatto in tre fasi , per risolvere i conflitti si devono definire criteri per scegliere la transizione da far scattare. Nel caso in cui una transizione sia abilitata prima di un'altra che è in conflitto con essa, è possibile che la seconda venga abilitata dopo ma scatti prima, disabilitando l 'altra. Nel caso di una RPT con scatto in tre fasi una simile situazione non darebbe origine a un conflitto poiché la prima transizione abilitata inizierebbe subito a scattare, prelevando o riservando le marche presenti nei posti d'ingresso e disabilitando così la seconda.

In questo testo verrà prevalentemente presa in considerazione la temporizzazione delle transizioni caratterizzate da scatto atomico. La trattazione generale verrà porta-ta avanti in analogia a quanto fatto nel Capitolo 3 per gli automi temporizzati; infatti,

Page 224: Sistemi ad Eventi Discreti

216 Capitolo 5

una RPT limitata può sempre essere trasformata in un automa a stati finiti temporizzato, esattamente come una rete Pff limitata corrisponde sempre a un automa.

Si è detto che 1 'idea di base per "temporizzare" una rete Pff è quella di associare a essa una struttura di temporizzazione; questa operazione può essere effettuata in modo del tutto analogo a quello seguito nel passaggio da un automa non temporizzato a uno temporizzato. Infatti, i passi logici da compiere sono esattamente gli stessi e, come si ve-drà più avanti. anche l'algoritmo che regola l'evoluzione dinamica di una RPT è analogo a quello enunciato nel Capitolo 3 per definire le regole dell'evoluzione temporale di un automa temporizzato. In questo ambito tuttavia gli eventi sono rappresentati dallo scatto delle transizioni.

Si supponga dunque che una transizione ti rappresenti una certa attività che si com-pie nell'ambito dcl SED modellato e che tale attività richieda un certo tempo 1? i per essere svolta. È possibile allora associare allo scatto della transizione t ; un ritardo pari a ù i , per modellare la condizione che, affinché la transizione possa scattare, deve trascorrere un tempo iJ i dall'istante in cui t i viene abilitata. Il valore di ù;, che rappresenta dunque la durata dell'attività, può essere costante, può cambiare (secondo una legge nota a prio-ri) ogni volta che la transizione viene abilitata, o può essere una variabile aleatoria con funzione di distribuzione nota. Da quanto detto è immediato dedurre che anche nell'am-bito delle RPT, come per gli automi, ven-à effettuata la distinzione tra temporizzazione deterministica e temporizzazione stocastica.

Infatti, sulla base del tipo di ritardo che viene associato alle transizioni temporizzate, esse possono essere classificate come segue.

Definizione 5.1. Una transizione t i di una RPT è detta:

• immediata, se scatta appena viene abilitata, o, in altre parole, se a essa è associato un tempo di ritardo nullo;

• deterministica, se a essa è associato un tempo di ritardo'(), scelto in modo determini-stico; tale tempo deterministico viene scelto solitamente costante, talvolta variabile secondo una sequenza { àu ,d ;,2 .d 1.:l 1 ••• } di tempi di ritardo noti a priori. raramente fun::,ione della marcatura;

• stocastica, se il tempo di ritardo v1 a essa associato è una variabile aleatoria con fun-zione distribuzione di probabilità nota; se Ù; ha distribuzione esponenziale f ;(.r) = A1e->.,.i·, la transizione t1 è detta stocastica esponenziale: il tempo medio di ritardo è pari all'inverso della frequenza (o tasso) di scatto Ài , cioè - 1 / Ài; la transizione è detta stocastica estesa se il suo ritardo è una variabile aleatoria con distribuzione diversa dall'esponenziale e stocasticafim::,ione della rnarcatura se la funzione di di-stribuzione del ritardo a essa associato dipende nei suoi parametri dalla marcatura attuale della rete. A

ln questo ambito verranno trattate solo transizioni immediate, deterministiche co-stanti e stocastiche esponenziali, per cui queste ultime due saranno chiamate rispettiva-mente deterministiche e stocastiche tout-court. Nel caso più generale in una RPT possono coesistere i tre tipi di transizioni temporizzate citati (immediate, deterministiche, stoca-stiche); le reti cosl risultanti non sono semplici da trattare, dal momento che non esiste alcun criterio di analisi valido nel caso di RPT generali.

In Figura 5.2 sono rappresentate diverse RPT. Le transizioni (temporizzate) deter-ministiche sono indicate da rettangoli neri e il valore del ritardo d , (costante) associato

Page 225: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 217

a ogni transizione ti è indicato accanto alla transizione stessa; le transizioni (temporiz-zate) stocastiche sono rappresentate da rettangoli bianchi e, per convenzione, accanto a ogni transizione stocastica ti è indicato il valore .X.1 del parametro che caratterizza la di-stribuzione esponenziale a essa associata. Si è già detto che il ritardo medio di associato alla transizione è l'inverso di questo parametro.

(a)

À1 :::: 0.5

(e)

Figura 5.2 Reti di Petri temporizzate.

(b)

Ài =0,5 P3

3

(d)

Una nozione fondamentale da specificare è la semantica di servente da associare alla RPT considerata. Le possibili scelte sono descritte di seguito, facendo riferimento alla Figura 5.3 per esemplificare:

• serventi infiniti: ogni transizione rappresenta un'operazione che può essere esegui-ta da un numero infinito di unità operative che lavorano in parallelo; questo è per esempio il caso della rete in Figura 5.3(a), in cui la transizione t1 scatterà tre volte all ' istante 19 1 perché le unità operative possono utilizzare (servire) tutte le marche contemporaneamente;

• servente singolo: ogni transizione rappresenta un 'operazione che può essere esegui-ta da una singola unità operativa; ne è esempio la rete in Figura 5.3(b), in cui la transizione t 1 scatterà agli istanti '19 1 , 2'19 1 e 3'!9 1 perché la singola unità operativa può consumare (servire) una sola marca alla volta;

• serventi multipli: ogni transizione rappresenta un 'operazione che può essere eseguita da un numero finito k di unità operative; questo è il caso della rete in Figura 5.3(c), in cui, assumendo che valga k = 2, la transizione t 1 scatterà due volte all'istante

Page 226: Sistemi ad Eventi Discreti

218 Capitolo 5

I\ M(.p 1) M(p2) 3 ••• •• •••••• •.•••••••

2

M(p1) 3 ...,_....,.

2

p

(b)

Figura 5.3 Transizioni con diverse semantiche di servente.

M(p, ) 3 -fio---.

2

p

M{p2) ••..... ..... .. . .

191 e una volta all'istante 2191, perché le due unità operative possono servire due sole marche alla volta.

In questo testo viene considerata come nozione di base la semantica serventi infini-ti: a partire da questa nozione è possibile rappresentare anche le altre due per mezzo di opportuni posti (come il posto p in Figura 5.3(b) e in Figura 5.3(c)), che limitano il mas-simo grado di abilitazione della generica transizione, come verrà spiegato nel paragrafo successivo. Si noti che in tal caso una rete come quella in Figura 5.2(a) risulta un caso degenere, perché può scattare infinite volte ad ogni istante i O 1, i = 1.2 ....

Figura 5.4 Rete temporizzata con conflitto.

Un'altra nozione da specificare riguarda la memoria associata alle transizioni. Si è detto che, affinché una transizione ti possa scattare, deve passare un tempo Oi dall'istante in cui essa viene abi litata. Si osservi la rete in Figura 5.4; supponendo iJ2 < a1 < 2ù2 ,

Page 227: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 219

dalla marcatura iniziale (all'istante r0 = 0) le transizioni t 1 e t2 sono abilitate, quindi all'istante r 1 = ih la transizione t2 scatta e si raggiunge la marcatura [O O l]T. Dopo un ritardo pari a ù3 , cioè all'istante T 2 = r 1 + 03 , scatta la transizione t 3 e si ritorna alla marcatura iniziale. Con riferimento alle due diverse nozioni di memoria introdotte nel Capitolo 3 si possono distinguere due situazioni:

1. memoria totale: la transizione t 1 "ricorda" di essere già stata abilitata per un in-tervallo pari a 1J2 e scatterà dopo un ritardo pari a 191 - 192 , cioè all'istante r 3 = T2 + ( {) l - Ù2);

2. memoria di abilitazione: la transizione t1 ha memoria solo dell'attuale abilitazione e potrà scattare solo dopo un ritardo pari a{) 1 , cioè ali' istante r 1 = r2 + {)1 ; essendo però ù L > 02 , ne consegue che la transizione ti non scatterà mai.

Anche in questo ambito, in accordo con quanto detto nel Capitolo 3, viene conside-rata come nozione di base la semantica memoria di abilitazione.

Nel seguito del capitolo verranno trattate separatamente le RPT deterministiche e le RPT stocastiche; in entrambe le tipologie di RP possono essere presenti anche transizioni inunediate, che possono evidentemente essere considerate una classe particolare sia di transizioni deterministiche sia di transizioni stocastiche.

5.2 Reti di Petri temporizzate deterministiche

La prima estensione delle reti P!T mediante l'introduzione di variabi li temporali determi-nistiche è stata proposta da Ramchandani ( 197 4 ). 11 suo approccio prevede la temporizza-zione delle transizioni, con l'idea di modellare così le durate delle attività che avvengono nel SED rappresentato, dal momento che di solito le azioni vengono intuitivamente asso-ciate alle transizioni. Le reti così ottenute sono state definite reti di Petri con transizioni temporizzate deterministiche (Deterministic Timed Transitions Petri Nets).

In alternativa sono state in seguito proposte temporiuazioni deterministiche dei po-sti (si veda ad esempio (Coolahan e Roussopoulos, 1983)), a indicare che i posti possono rappresentare processi che richiedono determinati tempi di esecuzione. Le risultanti re-ti di Petri con posti temporizzati deterministici (Deterministic Timed Places Petri Nets) costituiscono un eccellente campo applicativo dell'approccio modellistico di SED basato sulJ' algebra max-plus o minimax (Cuningharne-Green, 1979; Baccelli et al., 1992), già introdotto nel Capitolo 1, che verrà tranato più avanti nel testo.

È utile riportare infine che sono stare proposte anche strutture di temporizzazione degli archi, come ad esempio quella riportata nel lavoro di Zhu e Denton ( 1988), dove si dimostra che le RPT così ottenute risultano più generali di quelle con temporizzazione delle transizioni e/o dei posti.

Una rete di Pelri temporizzata detenninistica (RPTD) è costituita da una rete P!T con associata una funzione di temporizzazione che specifica il ritardo assegnato a ogni transizione. Come si è detto tali ritardi possono essere costanti o variabili, anche se nel testo verranno considerati quasi esclusivamente ritardi deterministici costanti; in generale, una RPTD può essere definita come segue.

Definizione 5.2. Una rete di Petri temporizzata deterministica (RPTD) è caratterizzata dalla struttura algebrica = (S.8) dove:

Page 228: Sistemi ad Eventi Discreti

220 Capitolo 5

• 1V = (P,T,Pre,Post) è una rete Pff definita come nella Definizione 2.5;

• fJ = {fJi : ti ET}, con fJi = {'!9i,1,'!9i,2, ... }, t1 ET, fii,k E JR+ U {O}, k E N+ è una struttura di orologio (o di temporizzazione) deternùnistica, definita come nella Definizione 3 .1; se i ritardi sono costanti, allora il generico elemento '!9 i . k è denotato semplicemente con '!9 i, V k E N+ . A

Come nel caso delle reti Pff, anche per le reti temporizzate è possibile definire un vettore della marcatura e dunque definire una RPT marcata. In generale, il vettore della marcatura ali' istante di tempo TJ venà denotato con Mi.

Definizione 5.3. Una RPTD Nd con una marcatura M 0 aU' istante di tempo iniziale Tu è detta una RPTD marcata, e viene indicata come (Nd ,M 0 ) . A

5.2.1 Evoluzione dinamica

A differenza di quanto accade per le reti Pff, lo stato di una rete RPTD non è determinato solo dalla marcatura, ma anche dal valore di orologi associati alJe transizioni, definiti in modo analogo a quelli introdotti nel Capitolo 3 per gli automi temporizzati, come si vedrà nel seguito.

Definizione 5.4. Una transizione ti è detta abilitata da una marcatura M j se ogni posto p E P della rete contiene un numero di marche pari o superiore a Pre(p.ti), cioè se Mi > Pre(·,ti) .

Il grado di abilitazione di una transizione t1 abilitata da una marcatura MJ è il più grande numero intero k tale che MJ 2: k Il grado di abilitazione di t; da M J viene indicato con ai (j). A

Nella rete in Figura 5.2(a), la transizione /,1 ha grado di abilitazione infinito; nella re-te marcata in Figura 5.2(b), la transizione t 1 ha grado di abilitazione 2; nella rete marcata in Figura 5.2(c), la transizione t1 non è abilitata perché p1 non contiene marche, mentre la transizione t2 ha grado di abilitazione 2; nella rete marcata in Figura 5.2(d), la transi-zione t1 ha grado di abilitazione 1, perché consuma a ogni scatto due marche e nel suo posto d' ingresso p 1 ce ne sono 3, la transizione t2 ha grado di abilitazione 3, mentre la transizione t3 non è abilitata. ll caso di una transizione con grado di abilitazione infinito, come in Figura 5.2(a), è un caso degenere. Nel seguito si supporrà sempre che il grado di abilitazione di una transizione sia finito (ma non necessariamente limitato).

Nell'ambito descritto, in ogni istante di tempo ogni transizione l 1 ha associato un numero di orologi pari al suo grado di abilitazione corrente; tale numero cambia con il grado cli abilitazione, quindi può variare ogni volta che la rete evolve da una marcatura a un'a1tra, cioè ogni volta che una transizione scatta. Si ricorda ancora che in una rete di Petri con temporizzazione delle transizioni, come quelle considerate in questo contesto, gli eventi che determinano la sua evoluzione e quindi modellano la dinamica dello stato del SED che la rete rappresenta sono proprio gli scatti delle transizioni, che fanno variare la marcatura.

L'evoluzione della rete avviene, come per gli automi temporizzati, in modo asincro-no sulla base della sequenza di accadimenti degli eventi, regolati dai rispettivi orologi secondo l'algoritmo di evoluzione enunciato più avanti. Tuttavia, sebbene gli orologi sia-no definiti come per gli automi temporizzati, in questo ambito non c'è una c01Tispondenza

Page 229: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 221

biunivoca tra l'evento di scatto della transizione t i e l'orologio che lo determina, perché a tale transizione sono appunto associati, all'istante TJ, o:i(j) orologi ou, ... ,o.i,a, (j) . Tali orologi vengono inizializzati, ogni volta che la transizione viene abilitata, ai valori specifi-cati dalla struttura di temporizzazione; in particolare, nel caso deterministico considerato sono impostati a valori costanti.

Detto o i il più piccolo dei valori degli orologi associati alla transizione t i , esso rap-presenta il tempo che deve passare, a partire dall'istante attuale, prima del prossimo scatto di t i , se t i è attualmente abilitata e non viene disabilitata prima che trascorra l'intervallo di tempo Ui ·

li comportamento dinamico della RPTD è dunque regolato dagli eventi di scatto del-le transizioni che verificandosi provocano le transizioni di stato, cioè il passaggio da una marcatura a un'altra; al verificarsi dello scatto di una transizione, che porta la RPTD a una marcatura M J, è necessario selezionare la prossima transizione che scatterà per determi-nare quando e come avverrà la prossima transizione dello stato da M i alla successiva marcatura M j+ 1 • Le operazioni che vengono eseguite a questo scopo e che, ripetute ite-rativamente, definiscono l'evoluzione temporale della RPTD sono riassunte nel seguente algoritmo.

Algoritmo 5.5. Evoluzione temporale di una RPTD. Si assume che la RPTD abbia al-l'istante Tj una determinata marcatura M i e che siano noti i valori minimi degli orologi associati alle transizioni, Di = min{ oi.l, ... ,o1,a;(j) }, Vt1 E T; l'evoluzione dello stato (cioè, della marcatura) della RPTD avviene attraverso la ripetizione dei seguenti passi:

l. Individuare o*, mediante la relazione

o* = min {ai} i:tiET

(5.1)

come il minimo tra i valori di orologio o; associati alle transizioni abilitate nella marcatura M J; la transizione corrispondente a o* è denotata con t'''; se il minimo non è unico, ma o* è pari al valore minimo di orologio di diverse transizioni, queste si trovano a scattare contemporaneamente, secondo una sequenza che deve essere specificata a priori.

2. Il tempo avanza fino all'istante Tj+L = TJ +o* e la transizione t * scatta portando la marcatura da MJ a MJ+l =Mi+ C (·,t ).

3. Raggiunta la prossima marcatura M J+ I ·l'orologio associato a t* che ha determinato lo scatto viene scartato; in generale, gli orologi associati a ogni transizione ti E T vengono aggiornati come segue:

• se il grado di abilitazione a i (:i + 1) nella marcatura raggiunta M i+ 1 è inferiore al grado di abilitazione ai (j ) che t i aveva nella marcaturn precedente M i, allora devono essere scartati [ o:1 (.j) - o: i (j + 1)] orologi associati alla transizione t 1, che risultano evidentemente in esubero: vengono selezionati ed eliminati dall'insieme { o i,1, ... ,o i,a:;(j) } gli [o:i (.j ) - O!i(j + 1)] orologi che hanno i valori più alti;

• sealcontnuio O!i(j+l) > o:i(j) , [o:i(.j+l)- ai(j)] nuovi orologi devono essere associati a t 1 e impostati ai valori specificati dalla struttura di temporizzazione e.

Page 230: Sistemi ad Eventi Discreti

222 Capitolo 5

4. Ripetere dal passo 1, ponendo j + 1 -+ j. • Sono indispensabili alcune osservazioni sull'algoritmo appena enunciato. Se la tran-

sizione ti non è abilitata in una data marcatura, non ha orologi associati, ovvero non ha orologi attivi. Se in una marcatura Mi il valore minimo di orologio o;, di una transizione ti corrisponde a pii1 orologi, per esempio k, nell'insieme { oi,l, ... ,o1,o., (j)}, ciò significa che se la transizione sarà la prossima a scattare, essa scatterà k volte contemporaneamente.

L'algoritmo è fondato sull'assunzione che gli eventi che determinano l'evoluzione della rete siano gestiti, come per gli automi temporizzati, secondo il concetto di memoria di abilitazione. Se in alternativa si volesse adottare la memoria totale, I 'algoritmo andreb-be modificato in maniera opportuna solo nel passo 2. Si è già detto che l'adottare l'uno o l'altro concetto di memoria dipende quasi sempre dal tipo di studio che si vuole effettuare sul sistema che si sta modellando, raramente dalla struttura del sistema stesso.

Inoltre, nell'enunciare l' algoritmo è stata adottata la semantica serventi infiniti, che prevede infatti che una transizione abbia sempre un numero di orologi attivi pari al suo grado di abilitazione corrente; questa scelta è motivata dal fatto che questa è la semantica di servente più generale, da cui è possibile ricondursi alle semantiche con serventi in numero finito menzionate (servente singolo e serventi multipl i) aggiungendo dei cappi alla struttura della rete, come indicato nelle Figure 5.3(b) e 5.3(c). Ovviamente, neJ caso in cui tutte le transizioni fossero a semantica di servente singolo l'algoritmo risulterebbe molto semplificato, per il fatto che a ogni transizione sarebbe associato un solo orologio.

Infine, si è detto che deve essere specificata una politica di risoluzione dei conflitti da applicare nel caso in cui più transizioni si trovino a scattare contemporaneamente, per determinare la sequenza in cui queste devono scattare. Ciò è indispensabile solo quando lo scatto di una transizione può disabilitarne altre, ossia quando la rete non è persistente; si può adottare una politica di risoluzione dei conflitti deterministica, che per esempio assegni delle priorità di scatto alle transizioni, oppure una politica non deterministica, che invece per esempio assegni alle transizioni delle probabilità di scatto.

L'Algoritmo di evoluzione 5 .5 sostanzialmente consente di effettuare la simulazione del comportamento della RPT considerata e quindi del SED che essa modella. Ciò viene mostrato di seguito mediante alcuni esempi.

Esempio 5.6. Si consideri la rete in Figura 5.2(b) la cui evoluzione temporale è mostrata in Figura 5.5.

8

6

M(pz) :······ . . . .. .. ..... .

4 ...... . . . • M(pl )

Figura 5.5 Evoluzione della rete in Figura 5.2(b).

Page 231: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 223

La transizione l 1 (con ritardo t91 = 2) ha nell ' istante iniziale To = O grado di abili-tazione ai(O) pari a 2; essa inizialmente ha dunque due orologi o1.1 e 01.2 attivi. Dopo un ritardo pari a 2, cioè all'istante T1 = To + rJ 1 , entrambi gli orologi si annullano, la transizione scatta due volte e i due orologi vengono impostati nuovamente al valore ù, = 2.

Nella nuova marcatura che la rete raggiunge, M 1 = [2 2)7 la transizione t 1 ha ancora grado di abilitazione pari a 2 e dunque i due orologi o1•1 e o1.2 continuano a essere attivi; l'evoluzione della rete procede sulla base dell'Algoritmo 5.5.

• Esempio 5.7. Si consideri ora la rete in Figura 5.2(c), la cui evoluzione temporale è mostrata in Figura 5.6.

3 M(p3)

2 -----

1

o 2 3 4 5 6 7 8 T

Figura 5.6 Evoluzione della rete in Figura 5.2(c).

La transizione t2 , a cui è associato il ritardo costante '1J2 = l, ha nell'istante iniziale 10 = O grado di abilitazione n 2 (0) pari a 2; essa inizialmente ha dunque due orologi o2•1 e 02.2 attivi. Trascorso un ritardo di J unità di tempo, cioè all'istante 11 = To + Ù2,

entrambi gli orologi si annullano, la transizione scatta due volte e i due orologi vengono impostati nuovamente al valore ù2 = 1.

Nella nuova marcatura che si raggiunge M 1 = [2 1 O]r, la transizione t 1 è l'unica abilitata, con grado di abilitazione a 1 (1) = 1 (a causa del posto p2 ) e dunque essa avrà un orologio attivo o1. 1 . Dopo un ritardo pari a 2, cioè ali' istante r2 = r 1 + 1) 1 , l'orologio si annulla, la transizione t 1 scatta e l'orologio o1. 1 viene impostato nuovamente al valore 1)1 = 2.

Nella nuova marcatura raggiunta M 2 = [l 1 1 ]T, sia f 1 che t2 sono abilitate con gradi di abilitazione o:1 (2) = o 2 (2) = 1 e dunque ciascuna di queste transizioni avrà un orologio attivo. Dopo un ritardo pari a 1, l'orologio o2,1 di I 'l. si annulla, la transizione I 2

scatta una volta e l'orologio viene impostato nuovamente al valore iJ2 = 1. Nella marcatura raggiunta M 3 = [2 1 O] 1 , la transizione t 1 non modifica il suo grado

di abilitazione e dunque neanche la sua struttura di orologio si modifica. in quanto né viene modificato il valore del suo orologio, né a essa vengono associati allri orologi. Dunque l'orologio OI. t di I 1 continua a decrescere dal valore iniziale 1 (tempo residuo) e dopo un ritardo pari a l si annulla: la transizione t 1 scatta una volta e oi.1 viene re-impostato al valore 0 1• E così procede l'evoluzione della rete. + Esempio 5.8. Si consideri la rete in Figura 5.2(d), la cui evoluzione temporale è mostrata in Figura 5.7. La transil:ione t, ha inizialmente grado di abilitazione a 1 (O) = L men-

Page 232: Sistemi ad Eventi Discreti

224 Capitolo 5

tre la transizione t2 ha grado di abilitazione pari a a 2 (0) = 3. Dunque esse avranno, rispettivamente, uno (ol.1) e tre orologi (o:-1 ,,, 03,2, 03,3 ) attivi. Dopo un ritardo pari a 1.5, l'orologio di / 1 raggiunge il valore '!9 1, t 1 scatta e il suo orologio viene impostato nuovamente.

2

o 2 3 5 6 7

Figura 5.7 Evoluzione della rete in Figura 5.2(d).

Nella nuova marcatura che si raggiunge M 1 = [11 Of, la transizione t2 è l'unica abilitata con grado di abilitazione pari a l e due dei suoi orologi vengono scartati, mentre l'orologio associato al grado di abilitazione 1 continua a crescere dal valore iniziale 1.5 (tempo residuo). Dopo un ritardo pari a 0.5, l'orologio raggiunge il valore '!92 ,la tran-sizione l 2 scatta una volta e l'orologio viene riazzerato. Nella nuova marcatura che si raggiunge M 2 = [O 1 lf, la transizione ta è l'unica abilitata con grado di abilitazione pari a 1 e dunque essa avrà un orologio o:u attivo. Dopo un ritardo pari a 1, l'orologio si annulla, la transizione t:J scatta una volta e l'orologio viene nuovamente impostato al valore 193 ; l'evoluzione poi procede secondo l'algoritmo enunciato. t Esempio 5.9. Una linea di produzione è composta da due macchine rn1 e m2 , due bracci robotici r 1 e r2 e due nastri trasportatori. Ogni macchina usa in esclusiva un braccio robotico che esegue le operazioni di carico e scarico dei pezzi che la macchina deve lavorare. Uno dei nastri trasportatori è impiegato per trasportare al massimo due pezzi alla volta, mentre l'altro nastro trasporta pallet vuoti, cioè pronti per caricare un nuovo pezzo. I pallet che circolano nel sistema sono 3.

Ogni pezzo viene lavorato secondo la stessa sequenza prima da rn 1 e poi da m2 , con rispettivi tempi di lavorazione di 10 e 20 unità di tempo. Le operazioni di carico e scarico richiedono 1 unità di tempo, mentre il tempo di trasporto sui nastri è da considerarsi trascurabile.

Il modello via RPTD del sistema produttivo descritto è rappresentato in Figura 5.8, mentre la Tabella 5.1 riporta il significato dei posti e delle transizioni della rete e la temporizzazione di queste.

Nella marcatura iniziale Mo = (3 O O O O O 1 2 l 1 1] T la transizione t 1 è abilitata e comincia il suo scatto, che termina dopo un ritardo di un'unità di tempo; la rete ha raggiunto così la marcatura M 1 = [2 1 O O O O O 2 1 O 1 f, in cui la transizione I '2

è abilitata e comincia a scattare. Lo scatto di t2 termina dopo un ritardo di 10 unità di tempo, portando la rete alla nuova marcatura M 2 = [2 O 1 O O O 1 2 J O 1 ]'1'. L'evoluzione della rete va avanti seguendo la procedura illustrata. t

ln generale, non è semplice studiare analiticamente le proprietà delle reti di Petri deterministiche, fondamentalmente perché non è possibile ricavare delle equazioni di sta-to generali che consentano di determinare l'evoluzione dello stato, cioè la sequenza dei

Page 233: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 225

Figura 5.8 Modello mediante RPTD di una linea produttiva costituita da due macchine.

tempi di scatto delle transizioni. Ciò è possibile invece per classi particolari di RPTD, per le quali esistono delle espressioni analitiche che consentono di determinare le prestazioni dci SED da esse modellati. Una classe di RPTD che gode di questi vantaggi è costituita dai grafi marcati (GMT), che, come è facile intuire, sono l'estensione tem-porizzata dei grafi marcati introdotti nel Capitolo 4; i GMT vengono trattati diffusamente nel prossimo paragrafo.

5.2.2 Grafi marcati temporizzati

Un grafo marcato temporizzato è caratteriLzato strntturalmente, come un grafo marcato non temporizzato, dal fatto che ognuno dci suoi posti ha una sola transizione in ingres-so e una sola transizione in uscita; inoltre, tutti gli archi hanno peso unitario. Le citate limitazioni strutturali si riflettono ovviamente in restrizioni modellistiche, che rendono possibile rappresentare per mezzo di GMT solo determinate classi di SED, che per esem-pio non prevedano decisioni in funzione dell'evoluzione dello stato, ma funzionino invece secondo regole statiche, cioè tempoinvarianti.

È possibile derivare delle equazioni di stato generali per i GMT; a questo scopo si introducono alcune definizioni preliminari, con riferimento ad un generico posto PJ di un G MT, che ha secondo la regola un'unica transizione I; in ingresso e un'unica transizione t1i in uscita, entrambe temporizzate, come rappresentato in Figura 5.9.

Figura 5.9 Generico posto di un grafo marcato temporizzato.

Definizione 5.10. Con riferimento al posto PJ in Figura 5.9, si definiscono:

• f 1 ,1, : istante di tempo in cui arriva in Pj la k-esima marca, a partire dall'istante iniziale To;

Page 234: Sistemi ad Eventi Discreti

226 Capitolo 5

Posto Descrizione

Pt disponibilità di pezzi e pallet

P2 m 1 sta lavorando p3 pezzo pronto per essere scaricato da m 1

[J1 pezzo pronto per il servizio su m2

p;) n i 2 sta lavorando

P6 pezzo pronto per essere scaricato da 111 2

P1 n1 1 è libera

]J& disponibilità di spazio sui nastri pg m2 è libera

P10 r 1 è libero

]J11 r2 è libero

Transizione Descrizione Ritardo

I 1 r 1 carica un pezzo su m 1 l

f 2 m 1 finisce una lavorazione 10 f 3 r 1 trasferisce un pezzo da m 1 al nastro 1 l 1 r2 can ea un pezzo su m 2 I f."} m 2 finisce una lavorazione 20 t6 r2 toglie da m 2 un prodotto finito 1

Tabella 5.1 Significati dei posti e delle transizioni della rete in Figura 5.8.

• Ti.k: istante di tempo in cui la transizione t; scatta per la k-esima volta, a partire dalJ' istante iniziale r0 . A

Dal momento che ti scattando mette le marche in Pi ed è la sua unica transizione in ingresso, allora, a partire dall'istante iniziale r0 , l' istante di tempo TJ,k in cui arriva in PJ la k-esima marca coincide con l'istante ri,k in cui avviene il k-esirno scatto di ti. Tenendo conto che in generale nell' istante iniziale il posto P; può essere marcato e contenere quindi un certo numero j0 di marche, ossia Jìlo(P;) = j 0 , si può scrivere la relazione

Tj.k = Ti.J.·- )O k = io + 1. io + 2 .... (5.2)

considerando fJ.k = ro per k = 1. ... 1 jo. Un ragionamento analogo si può fare prendendo in considerazione l'unica transizio-

ne di uscita di p;, cioè f 11 • Si distinguono due casi, a seconda che pi sia l'unico posto in ingresso a t 1i, cioè • t,, = {p J}, oppure no.

L. Pi è l'unico posto in ingresso a t 11 , ossia • th ={Pi}:

si consideri dapprima il caso particolare in cui ù 11 = O, ossia t 11 è immediata; l'istante Th .k del k-esimo scatto di t h dopo l'istante iniziale -r0 coincide con l'istante in cui p; riceve la k-esima marca, k = )o + 1 .... ; questo fatto è esplicitato dalla relazione

Page 235: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 227

Th ,k = Tj.k k E N+ (5.3)

con fj,k = To per k = 11 ••• , .io, il che significa che th scatta j0 volte in T0, grazie alle io marche presenti in Pi all'istante iniziale; nel caso più generale in cui rJh abbia un valore costante qualunque, la relazione (5.3) diventa

Th.J.· = + f)h k E N+ (5.4)

con ancora iJ ,k = ro per k = 1, ... , .io, per cui th scatta j0 volte nelJ 'istante r0 + ih, in virtù della semantica infiniti serventi adottata;

ii. Pi non è l'unico posto in ingresso a th, ossia Pi E• th, • th f:. {Pi}:

th viene abilitata per la k-esima volta nell'istante in cui tutti i suoi posti di ingresso hanno ricevuto la loro k-esima marca, cioè nell'istante iz,k· se Pz è l'u]timo dei posti nell ' insieme • t,, a ricevere la k-esima marca, tale che

f, '· > 71· k Nll\ - l

Questa osservazione permette di generalizzare la relazione (5.4), ricavando l'equa-zione di stato generale

k E N+ (5.5)

dove ancora si assume fJ,k = To per k = 1. ... , j 0 ; la (5.5) contiene il caso particolare in cui th è immediata, cioè 1911 = O.

Le equazioni (5.2)-(5.5) consentono di determinare ricorsivamente i tempi di scatto delle transizioni in un grafo marcato temporizzato; tali tempi, come già detto, determinano la sequenza dei passaggi da una marcatura alla successiva, ossia i cambiamenti di valore dello stato della rete e dunque possono definirsi equazioni di stato. Per chiarire meglio la procedura si riporta un semplice esempio di applicazione.

Esempio 5.11. Si consideri la RPTD raffigurata in Figura 5.10: si può notare immedia-tamente che la rete è un GMT, perché i tre posti che la compongono hanno tutti una sola transizione di ingresso e una sola transizione in uscita e tutti gli archi hanno peso unitario. Si suppone che la rete sia nel suo stato iniziale, che come si vede è rappresentato dalla marcatura Mo = [11 o]T.

Per determinare le equazioni di stato, si consideri dapprima la transizione t 1 : questa è una transizione immediata, che scatta non appena entrambi i posti p 1 e p3 contengono una marca; l'equazione che regola la sequenza dei suoi tempi di scatto è dunque

T1,k = max{fi.k·,f3,k }

La transizione t2 invece è temporizzata e scatta con un ritardo costante di 192 unità di tempo dopo che i I posto p1 riceve una marca; l'equazione corrispondente è

Per quanto riguarda i posti, le relazioni del tipo della (5.2) che si possono scrivere in questo caso sono tre:

Page 236: Sistemi ad Eventi Discreti

228 Capitolo 5

Figura 5.10 Esempio di grafo marcato temporizzato.

1\,k = T1,k-l

i2.k = ru .. - 1

7;3.1, = T2.I;

J..· - 2.3, .. .

k = 2.3, .. .

J..· = 1.2 ... .

T1,1 = 0

i:u =0

Sostituendo queste ultime relazioni ·nelle due equazioni precedenti, si ottengono le equazioni di stato

max{Tl.k-l ·'Lk-I + 1J2} = Ti.k-J + Ù2

Tl.k-1 + ih Ti.o = 0

che, come è facile dedurre dalla figura, impongono che le due transizioni scattino con-temporaneamente a intervalli di fh unità di tempo scanditi dalla temporizzazione di 12 .

• In linea di principio è possibile ottenere anche per RPTD che non sono GMT equa-

lioni di stato del tipo delle (5.2)-(5.5), ma esse risultano solitamente molto più compli-cate di quelle che si ricavano per i GMT e dunque sfruttare la ricorsione diventa talvolta diffici le o comunque non vantaggioso.

Per uniformità con la trattazione delle altre famiglie di moùell i di SED introdotti fino a questo punto nel testo, si affronta ora nuovamente il problema di modellare un semplice sistema a coda, questa volta ovviamente per mezzo di RPTD.

Esempio 5.12. Si consideri il semplice sistema a coda introdotto nel Capitolo I e poi ripreso nell'Esempio 3.4. raffigurato per chiarezza di riferimento ancora in Figura 5.11.

arrivo clienti ]]0 partenza clienti

coda servitore

Figura 5.11 Sistema a coda.

La RPTD che lo modeUa è riportata in Figura 5.12: come è immediato verificare, la rete è un GMT.

Page 237: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 229

Figura 5.12 ModelJo RPTD di un semplice sislema a coda.

Come si può notare dalla figura, alle due transizioni temporizzate f 1 e f :3, che cor-rispondono agli eventi di arrivo e di partenza dei clienti, sono associate le sequenze 8 1 = { i9i.k: k E N-r} e 83 = { Ù3.k. k E N+} di tempi di ritardo (deterministici) in generale non costanti, per modellare il caso di arrivi e partenze che non si susseguono a intervalli regolari. Il significato dei posti e delle transizioni della rete è riassunto nella Tabella 5.2.

Posto Descrizione

P1 clienti in coda

P2 servente occupato

JJ3 servente disponibile per un nuovo servizio

P·I arrivo abilitato

Transizione Descrizione

t1 arrivo di un cliente dall'esterno f 2 inizio di un servizio ta fine di un servizio, partenza di un cliente

-Tabella 5.2 Sig1ùficati dei posti e delle transizioni della rete in Figura 5.12.

Lo stato iniziale è rappresentato dalla marcatura M o = (O O 1)1", che secondo la Tabella 5.2 rappresenta la situazione in cui non ci sono clienti in attesa e il servente è libero. Le equazioni di stato (5.2)-(5.5) sono in questo caso

e

TJ .k -: Tl.k ·

f-2 .1.- = r2.k,

T3.k = T:l,k - 1 ,

TJ.k = TJ.k-1 + VLk·

k = 1,2 ... .

k = 1,2, .. .

/...· = 2.3,.... f3.1 =o

k = 1,2 .... ; 71 .o = o (5.6)

Page 238: Sistemi ad Eventi Discreti

230 Capitolo 5

T2 ,k = max{7\,1,.,7"3,1.· },

= f2,k + 193,ki

k = 1,2, .. .

k = 1,2 ... .

Combinando le equazioni ottenute si deriva la relazione fondamentale che regola il funzionamento del sistema a coda

k = 1.2 ..... 73 ,0 =o (5.7)

che è facile riconoscere come equazione di Lindley (3.62), introdotta nel Capitolo 3, ri-cordando che la transizione t 1 modella gli eventi di arrivo e la transizione t3 gli eventi di partenza.

La relazione (5.7) accoppiata con la (5.6) forma l'insieme delle equazioni di stato per il sistema in esame.

• Viene adesso introdotta la definizione di una classe di GMT caratterizzata da ulte-

riori limitazioni strutturali e di conseguenza da capacità modellistiche meno estese; pro-prio però in virtù delle sue peculiari caratteristiche, per la classe dei grafi marcati tem-porizzati fortemente connessi sono stati sviluppati dei criteri di analisi delle prestazioni significativi, che verranno trattati nel prossimo paragrafo.

Definizione 5.13. Un grafo marcato (detenninistico).fortemente connesso (GMTFC) è una RPTD Yc1 che soddisfa le seguenti proprietà:

• la struttura della rete Xd è un grafo marcato temporizzato;

• la rete è fortemente connessa, cioè esiste un cammino orientato da un qualunque nodo a ogni altro nodo: ciò implica che ogni posto e ogni transizione della rete appartengono a un ciclo orientato; l'insieme dei cicli orientati elementari di Nd è denotato I' = {"n, ... }, come già indicato nel Capitolo 4;

• la struttura di temporizzazione (-7 associata alle transizioni è deterministica e costi-tuita da sequenLe di ritardi costanti. à

Le restrizioni strutturali proprie della classe dei GMTFC non impediscono che queste RPT possano essere impiegate con successo per modellare classi significative di SED; per rimanere nelJ' ambito dei sistemi produttivi, molto spesso portati come esempio in questo testo, vengono di seguito considerate due importanti classi di processi produttivi, i job-shop e i sistemi di produzione basati sulla filosofia kanban.

Sistemi produttivijob-shop. Unjob-shop è un particolare processo produttivo in cui un certo numero udi prodotti (ijob) e1 •••• • g,. sono ottenuti come risultato di opportune sequenze (fissate) di operazioni di lavorazione eseguite da un certo numero di macchine m 1 , .•. • m 11 • Ogni prodotto Qi è caratterizzato da una propria sequenza di 111 operazioni di lavorazione (w, , 1 •••• • w ;,11; ). i= I. ... . v. Tali sequenze possono includere più operazioni effettuate dalle stesc;e macchine e non devono necessariamente prevedere la visita di tutte le macchine. I tempi di esecuzione di una medesima operazione sono in generale diversi da macchina a macchina.

Elementi oggetto di decisione sono:

Page 239: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 231

• la sequenza di arrivo nel sistema dei componenti elementari da lavorare per ottenere i prodotti finiti;

• 1' assegnamento delle varie operazioni alle 'l.t macchine, che individua anche la so-luzione dcl problema dell'instradamento dei semilavorati nel sistema (il cosiddetto routing problem), cioè le sequenze di lavorazione dei v prodotti s(Qj ), .i = 1, ... . v;

• il sequenziamento delle operazioni sulla macchina a cui sono state assegnate, ossia le sequenze s(mi), i = 1, ... ,u.

In questo ambito solitamente si suppone che le sequenze di arrivo e di instradamento dei pezzi, il sequenziamento delle operazioni sulle singole macchine e i tempi di lavora-zione siano fissati a priori. La produzione è tipicamente considerata ciclica, cioè costituita dalla ripetizione continua o periodica delle medesime lavorazioni.

Esempio 5.14. Si consideri un sistema produttivo job-shop ciclico caratterizzato dalle proprietà seguenti:

• il processo è finalizzato alla produzione dì due parti di tipo diverso g1 e g2 , otte-nute rispettivamente dalle sequenze di operazioni di lavorazione (w1,1 .wi,2 ,wi,3 ) e (w2, I .W2,2);

• per la produzione vengono impiegate 3 diverse macchine mi, j = 1,2,3, che ese-guono le operazioni che trasformano i componenti di base in prodotti finiti;

• ogni prodotto è ottenuto da una sequenza di operazioni di lavorazione, effettuate da una o più macchine; le sequenze di lavorazione dei due tipi di prodotti sono s(Q1) = (m1 ,m2,m3) e s(e2) = (m3 .rn1 );

• in ogni ciclo di lavorazione (il processo è ciclico) devono essere prodotte parti l't per 1/3 e parti g2 per 2/3 del totale della produzione; queste percentuali determinano iJ cosiddetto mix di produzione.

Per soddisfare il vincolo sul mix di produzione, si assegna una sequenza di lavorazio-ne alle tre macchine, rispettando il rapporto di produzione fra le parti; per esempio, si può scegliere di porre s(rn1) = (w1,1.w2.2,w2.2), s(m2) = (w1 ,2), s(m3) = (w2.1.w1,3,W2,1 ).

Il modello del processo produttivo descritto è riportato in Figura 5.13 e i significati dei posti e delle transizioni della rete sono elencati nella Tabella 5.3.

Si noti che per garantire il mix produttivo richiesto è stato necessario raddoppiare i posti e le transizioni che modellano le operazioni w2.1 e w2 .2 , relative alla lavorazione del prodotto o2 , che vanno ripetute due volte nei cicli di comando delle macchine m 1 e m 3 . Ciò è dovuto alle limitazioni strutturali dei GMT, che non consentono di modellare politiche di servizio variabili; pertanto la sequenza ciclica delle operazioni effettuata da ogni macchina è fissata a priori e intrinseca al modello GMT del sistema.

• Sistemi cli produzione kanban. La filosofia di produzione kanban ha avuto origine in Giappone una ventina di anni fa ed è impiegata per il coordinamento e il controllo delle diverse fasi della produzione nei sistemi che funzionano secondo la disciplina di produzione pull. Questa disciplina prevede che ogni centro di lavorazione, ossia ogni stadio della produzione, si attivi solo per produrre qualcosa che gli viene richiesto da un

Page 240: Sistemi ad Eventi Discreti

232 Capitolo 5

Figura 5.13 Modello GMTFC di un semplice job-shop.

altro centro di lavorazione, più avanti nella catena produttiva che porta alla realizzazione dei prodotti finiti.

L'obiettivo di questo tipo di produzione è l'azzeramento di ogni tipo di spreco: tem-po, materiale, macchinari, risorse umane, ecc., dunque si produce solo ciò che effettiva-mente è indispensabile al funzionamento del processo, evitando qualsiasi scorta o ma-gazzino, o almeno, più realisticamente, minimizzandoli. Ogni stadio quindi lavora solo per soddisfare le richieste di componenti degli stadi produttivi successivi e possibilmente fa pervenire a questi il materiale nell' istante esatto in cui questi ne hanno bisogno, sen-za anticipi né ritardi, cioè just-in-time (JIT). Le richieste di "approvvigionamento" JIT vengono inoltrate da ogni stadio ai fornitori a monte attraverso i segnali più vari, ma più spesso per mezzo di etichette o cartoncini (in giapponese: kanban).

Un semplice modello GMT di uno stadio di produzione in un sistema kanban è rappresentato in Figura 5.14.

P. 1 • .. ..

......

, ......... È

···.1.. .. ... .. .. · ./ ... Pi+I.l

l· I I,

Figura 5.14 Modello GMT dell'i-esimo stadio produttivo di un sistema kanba11.

Page 241: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 233

Posto Descrizione

P1 componenti base di Qi pronti per l'operazione w 1,1

P2 semilavorato {} 1 pronto per l'operazione w 1 ,2

p3 semilavorato e1 pronto per l'operazione w1 ,3

Pit componenti base di g2 pronti per l'operazione w2. 1

P;, semilavorato {} 2 pronto per l'operazione w2.2

P6 m 1 pronta a effettuare un 'operazione w2.2

p7 ni1 pronta a effettuare un'operazione WJ , 1

Pa m.2 pronta a effettuare un'operazione w 1 ,2

pg m 3 pronta a effettuare un'operazione w2, i

P10 n i 3 pronta a effettuare un 'operazione w 1 ,3

Pu componenti base di fh pronti per l'operazione w2,1

JJ1 2 semilavorato {}2 pronto per l'operazione w2.2

P13 m 1 pronta a effettuare un 'operazione w2 ,2

P11 m 3 pronta a effettuare un'operazione w2 .1

Transizione Descrizione Ritardo

f 1 m 1 completa un'operazione w1 , 1 il1 t2 m 2 completa un'operazione w1 ,2 i)'2

t3 m3 completa un'operazione w 1 ,a !93 f 4 rn 3 completa un'operazione w2 .1 lÌ4

t5 rn1 completa un'operazione w2.2 ùs t6 m3 completa un'operazione w2, 1 04 f 7 m 1 completa un'operazione w2 .2 t95

Tabella 5.3 Significati dei posti e delle transizioni della RPTD in Figura 5.1 3.

li posto P i,l rappresenta la presenza (o meno) di kanban, cioè etichette, arrivate dallo stadio produttivo (i+ ! )-esimo, che abilitano lo stadio i-esimo a produrre la quantità di parti richiesta appunto dallo stadio (i + I )-esimo: il posto Pi.2 conterrà tante marche quante sono le parti da produrre, mentre il posto P i,3 conterrà tante marche quante sono le parti prodotte. Le transizioni I 1, 1 e I i ,3 rappresentano l' ilùzio della produzione relativa a un kanban e il relativo trasferimento allo stadjo successivo (abilitato dalla marcatura del posto Pi+I.i), mentre la transizione t i,2 rappresenta effettivamente l'operazione di lavorazione svolta allo stadio produttivo i -esimo.

Si riporta di seguito un esempio relativo a un sistema manifatturiero multi-prodotto.

Esempio 5.15. Si consideri una linea di produzione costituita da tre centri di lavorazione (stadi produttivi) m 1 , 1n 2 e m 3 , finalizzata alla produzione di due parti di tipo diverso fh e 112 , ottenute dalle sequenze di operazioni di lavorazione (..vi.l ·wi.2 . ..vi.3), i = 1,2: entrambi i prodotti devono essere lavorati da ognuno dei tre centri di lavorazione, nella medesima

Page 242: Sistemi ad Eventi Discreti

234 Capitolo 5

sequenza, quindi le sequenze di lavorazione dci due tipi di prodotti sono s(Q1) = s(g2) = (m 1 ,m 2 .m3); in ogni ciclo di lavorazione (il processo è ciclico) devono essere prodotte parti del totale della produzione: queste percentuali determinano il mix di produzione, che prevede 1 / 2 di parti (!1 e 1/2 di pani {]2 , quindi la sequenza di arrivo è so = (g1 ,g2) .

II modello del processo produttivo descritto è riportato in Figura 5.15, dove sono evidenziate le sequenze di lavorazione che portano al completamento dei due prodotti g 1

e {]2 .

Pio

P1 3

P16

P1

Figura 5.15 Modello GMTFC di un sistema produttivo ka11ba11.

I significati dei posti e delle transizioni sono riportati nelle Tabelle 5.4 e ri-spettivamente. Si noti che, per modellare il caso più generale, si è supposto che tutte le transizioni siano temporizzate, associando a ognuna un ritardo, che può essere considerato nullo qualora si desideri semplificare il modello.

1 circuiti di comando, ossia i circuiti elementari che rappresentano le sequenze (ri-petitive) di lavorazione dei tre centri di lavorazione m 1, m 2 e m 3 , sono rispettivamente /m 1 = (p 19 .f2,JJ20 .f9 .p19),{m2 = (P21,t1 ,]J22,t 11,P21) e /ms = ( p 23, f 5 .p24 ,f13 .]J23) .

Page 243: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 235

Posto Descrizione

Pi kanban che abilitano m 1 a lavorare parti g 1

]J:z componenti base di (}1 pronti per l'operazione w 1 .1

/J3 semilavorati g1 dopo l'operazione w t.t

p.1 kanban che abilitano m 2 a lavorare parti g1

/)5 semilavorati o 1 pronti per l'operazione w 1,2 P6 senùlavorati g1 dopo l'operazione w1 .2 P1 kanban che abilitano m 2 a lavorare parti g1

PB semilavorati (} 1 pronti per l'operazione w 1,3

p9 prodotti g1 finiti -

!Jio kanban che abilitano m 1 a lavorare parti g2

PI l componenti base di fh pronti per l'operazione wz.1

P12 semilavorati g2 dopo l'operazione w:z.i

P13 kanban che abilitano m .2 a lavorare parti g2

PII semilavorati u2 pronti per l'operazione v.J-i..2 Pt 5 semilavorati (}2 dopo l'operazione w 2 .2

P16 kanban che abilitano m 3 a lavorare parti {!2

/)17 semilavorati g2 pronti per l'operazione w-i.,3

Pt8 prodotti g2 finiti

JJ19 m 1 pronta a effettuare l'operazionew1• 1

]J-i.o rn 1 pronta a effettuare l'operazione w 2,1

P·.ii rn"J pronta a effettuare l'operazione wi.2

1'22 m 2 pronta a effettuare l'operazione w2.2 jJ'),3 m3 pronta a effettuare l'operazione w1,3

]h l m3 pronta a effettuare l'operazione

Tabella 5.4 Significati dei posti della RPTD in Figura 5.15.

Analisi delJe prestazioni. Come anticipato, negli ultimi anni sono stati ottenuti risultati significativi e interessanti concernenti la possibilità di valutare le prestazioni di un'ampia classe di SED modellandoli mediante la particolare classe di reti di Petri costituita dai GMT. Tali risultati permettono di effettuare lanalisi, in condizioni di regime, di GMT e soprattutto della sottoclasse costituita dai GMTFC.

Un primo risultato molto importante è che in un GMT il numero di marche in ogni ciclo rimane costante per ogni sequenza di scatto. Questa proprietà, che è già stata di-mostrata nel primo punto della Proposizione 4.83, è dovuta alle caratteristiche strutturali dei GMT. che impongono che ogni posto abbia una sola transizione di ingresso e una sola transizione di uscita; così, ogni volta che una transizione che è parte di un ciclo scatta prelevando una marca dal posto d' ingresso che fa parte dello stesso ciclo, produce una marca nel posto di uscita che la segue nel ciclo, il quale continua quindi ad avere lo stesso numero di marche.

È utile a questo punto introdurre il concetto di tempo di ciclo, grandezza che può

Page 244: Sistemi ad Eventi Discreti

236 Capitolo 5

Transizione Descrizione Ritardo

, , m 1 è abilitata a lavorare parti th Ù1

t-i m 1 completa un'operazione w1 ,1 v2 f 3 m2 è abilitata a lavorare parti g1 1]3

t1 m2 completa un'operazione w, .2 !?4 f 5 ni3 è abilitata a lavorare parti l!i {}5

t6 m 3 completa un'operazione w1,:3 196 f 7 m 1 prodotti g 1 I asciano il sistema 1.h ts rn 1 è abilitata a lavorare parti g2 i)s

f 9 m1 completa un'operazione ...v-i.1 Ùg

t10 ·m2 è abilitata a lavorare parti fh ll 10

t11 m 2 completa un' operazione w2 .2 llu I 12 1 n3 è abilitata a lavorare parti u2 1912

/ 13 rri3 completa un'operazione w2,3 t913

t 11 m 1 prodotti {]2 lasciano il sistema '!9 11

Tabella 5.5 Significati delle transizioni della RPTD in Figura 5.15.

costituire una misura delle prestazioni del sistema modellato da un GMT.

Definizione 5.16. Il tempo di ciclo C(tì) di una transizione t 1 di un GMT è definito sulla base del suo generico k-csimo tempo di scatto ru.: come

T1 k C(tì) = Hm -k·

1 .. >00 (5.8)

La definizione appena introdotta permette di enunciare due importanti risultati.

Teorema 5.17. In un GMT, tutte le transizioni appa1tenenti a un ciclo -YJ E I' hanno il medesimo tempo d; ciclo C"f;, definito come il rapporto tra la somma dei tempi di ritardo delle transizioni che formano ìJ e il numero delle marche che circolano in esso, ossia

(5.9)

dove

• 19(1J) = Lt;E'Yi Ùièiltempodiritardodiciclo;

• 1\1(/J) - L:Pk·E"fJ f\I(pk) è la marcatura del ciclo I; · • La dimostrazione di questo teorema, abbastanza semplice da ricavare, è riportata su di-versi testi. tra i quali si citano ad esempio i libri di Desrochcrs e Al-Jaar ( 1995) e Wang ( 1998). Il risultato più importante, presentato per la prima volta da Chretienne ( 1983), è enunciato nel teorema seguente.

Page 245: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 237

Teorema S.18. In un GMTFC in condizioni stazionarie, tutte le transizioni hanno il medesimo tempo di ciclo e, dato dalla relazione

C = maxC,..,. =max ' {

Lt ,Ei Vi } "rjE l J i;E I Lp.1,E;; Jf(pk)

(5.10)

che identifica il massimo fra i tempi di ciclo di tutti i cicli elementari dcl GMTFC; in altre parole, tutte le transizioni hanno a regime frequenza di scatto Àr = 1/C. •

11 risultato enunciato è intuitivo, perché deriva dal fatto che, per le caratteristiche su-utturali dei GMTFC, tutti i cicli tendono a sincronizzarsi , a regime, sul più "lento" di essi. Per fornire un semplice esempio di applicazione di questo teorema, si prende nuovamente in considerazione il semplice sistema produttivo trattato nell'Esempio 5.9.

Esempio 5.19. Dall'esame della RPTD in Figura 5.8, che modella il sistema produttivo trattato nel precedente Esempio 5.9, si ricava che in essa sono 6 i cicli elementari che compongono L'insieme I' e precisamente:

)I : ]J7f1p2t2p7

1'2 : p2t2p3f3p10t1p2

"'r':i : J>p,f1p1f.iPR

'ì I: pgf 4p:,l,5pg

r:, : p:,l::iJJGioJJi 1f1P:1

ì6 : P1I1p2f2paf :{]) 1t1P0 f 5pe/GP1

I rispettivi tempi di ciclo sono, secondo il Teorema 5.17:

<\1 = 11: c...,2 = 12; C-r3 =i: c11 = 21: c,5 = 22; c..,.0 = 11 ,3

da cui si ricava che, secondo iJ Teorema 5.18, a regime tutte le transizioni della RPTD scattano con la frequenza

l À,. =e=

1 = _!:__ = 0.0-15 max C... 22 ;, Er '

• Sulla base del Teorema 5.18 Hillion e Proth (1989) hanno proposto un approccio

interessante per la minimizzazione del numero dei semilavorati in un sistema di produ-zione. massimizzando nel contempo la produttività del sistema. TaJe scopo è ottenuto imponendo che almeno una macchina si comporti da collo di bottiglia, cioè non rimanga mai inattiva. In questo senso, viene impostato un problema di programmazione lineare a numeri interi con almeno tanti vincoli quanti i cicli elementari della rete. In realtà, ciò rap-presenta il maggior svantaggio di questo metodo di ottimizzazione, dal momento che, per scrivere i vincoli del problema di ottimizzazione, viene richiesta I' enumerazione esplicita di tutti i cicli. Proprio al fine di ovviare a questo inconveniente, nel lavoro di Hillion e Proth ( 1989) viene proposto un algoritmo euristico per evitare l'enumerazione completa, mentre aJtri approcci più efficienti dal punto di vista computazionale sono presentati nei lavori di Laftit et al., (1992) e Gaubert e Giua (1999). Un altro esempio interessante di applicazione del Teorema 5 .18 è anche contenuto nel lavoro di Di Febbraro et al., ( 1997).

Page 246: Sistemi ad Eventi Discreti

238 Capitolo 5

5.2.3 Reti di Petri deterministiche con temporizzazione dei posti

I tempi di ritardo che trasformano una rete Pff in una RPT, a qualunque dei suoi elementi siano associati, rappresentano comunque vincoli temporali da rispettare. In una RPTD dove la temporizzazione sia associata ai posti, una marca che giunga in un posto Pi a cui è associato un ritardo (costante) fJ i, rimane '·invisibile" finché non è trascorso tale tempo, poi diventa disponibile e contribuisce all'abilitazione delle transizioni di uscita di Pl·

Come nel caso delle RPTD con temporizzazione delle transizioni, le proprietà strut-turali possono essere studiate sulla base dei criteri visti nel Capitolo 4. Confronti ragionati sulle proprietà strutturali delle reti di Petri Pff e temporizzate sono p01tati avanti in ma-niera approfondita in vari lavori , tra cui si citano gli "storici" (Ghosh, 1977) e (Godbersen, 1982).

Esempio 5.20. Si consideri ancora il sistema produttivo dell 'Esempio 5.9, che si vuole ora modellare con una RPTD con temporizzazione associata ai posti. Tale rete è rap-presentata in Figura 5.16, mentre la Tabella S.6 riporta il significato dei posti e delle transizioni della rete e i valori dei tempi di ritardo il 1 ••••• U9 associati ai posti, che per semplicità di rappresentazione non sono stati indicati nella figura. Si noti che le uniche attività temporizzate sono le lavorazioni eseguite dalle macchine, mentre tutte le altre openuioni sono supposte di durata istantanea.

Figura 5.16 Modello mediante RPTD di una linea produttiva costituita da due macchine.

A partire dalla marcatura iniziale M 0 = [3 O O O 1 2 111 ]T, il comportamento dina-mico della rete evolve secondo una procedura analoga a quella definita dalf Algoritrno 5.5, con la differenza che ora a essere temporizzati sono i posti e non più le transizioni.

• 5.3 Algebra max-plus

Per concludere la parte di questo capitolo dedicata alle reti di Petri temporizzate deter-ministiche, in questo paragrafo viene introdotto un approccio modellistico basato su una particolare struttura algebrica, denominata algebra max-plus, o anche algebra minimax, path algebra, dioids. Tale approccio è nato, nella sua forma più semplice descritta in questo contesto, dall'osservazione che per desc1ivere i modelli RPT visti nei paragrafi

Page 247: Sistemi ad Eventi Discreti

Reti <li Petri temporizzate 239

Posto Descrizione Ritardo

P1 disponibilità di pezzi e pallet o P2 J..11 sta lavorando un pezzo 10 p3 pezzo pronto per il servizio su !vh o p4 lvh sta lavorando un pezzo 20

Ps 1111 è libera o P6 disponibilità di spazio sui nastri o P7 l\f 1 è libera o Ps R1 è libero o pg R2 è libero o

Transizione Descrizione

ti R1 carica un pezzo su l\I1

t2 R1 trasferisce un pezzo da AI1 al nastro

f 3 R2 carica un pezzo su Ah t4 R2 toglie da f\.f 2 un prodotto finito

Tabella 5.6 Significati dei posti e delle transizioni della RPTD in Figura 5.16.

precedenti sono necessarie esclusivamente le operazioni di addizione e massimizzazione, come è peraltro evidente nelle equazioni di stato generali di un GMT (5.2)-(5.5). o nelle equazioni (5.6) e (5.7), che regolano l'evoluzione di un sistema a coda.

Questa particolare algebra, a cui Cuninghame-Green dedicò un intero libro già nel 1979, ammette come operazioni di base l'addizione e la massimizzazione e può esse-re interpretata nella sua forma più generale come una combinazione bidimensionale di una max-algebra e di una min-algebra, nelle quali le uniche operazioni arrunissibili so-no rispettivamente, oltre all'addizione, la massimizzazione e la minimizzazione (come negazione della massimizzazione).

Il successo che, tra le varie tecniche di modellistica e analisi dei SED, ha riscosso l'algebra max-plus negli ultimi decenni è essenzialmente dovuto al fatto che molti sistemi non lineari nell'algebra convenzionale possono essere rappresentati mediante equazioni lineari nell'algebra max-plus. Inoltre, sono state evidenziate chiare analogie tra l'alge-bra lineare e la teoria dei sistemi da una parte, e l'algebra max-plus e la teoria dei SED dall'altra. Autovalori e matrice di trasferimento, ad esempio, giocano rnoli ugualmente importanti in entrambi i casi, ed è stato mostrato che moJti risultati relativi all'algebra lineal'e conservano il loro valore tradolti in termini di algebra max-plus. Esistono delle applicazioni della teoria dei SED così sviluppata per la rappresentazione e l'analisi di sistemi quali i sistenù di produzione, di trasporto, di comunicazioni.

Sono stati presentati un certo numero di risultati algebrici che rendono possibile l'analisi matematica completa di sistemi ad eventi discreti modellabili come GMT. L' ap-plicazione pratica di tali risultati è però resa problematica dalla necessità di utilizzare tec-niche di calcolo simbolico e spesso anche dalla complessità dei risultati algebrici stessi.

Page 248: Sistemi ad Eventi Discreti

240 Capitolo 5

Inoltre, alcuni studiosi hanno esteso le potenzialità modellistiche dell'algebra max-plus alla rappresentazione di alcune classi di SED stocastici (Olsder, 1991; Cassandras et al., 1995; Jean-Marie e Olsder, 1996).

Si rimanda il lettore incline ad approfondimenti ai tanti lavori disponibili in lettera-tura su questo argomento, molti dei quali sono elencati nei riferimenti bibliografici posti alla fine del capitolo. In questo contesto si vuole invece introdurre l'algebra max-plus in riferimento ai modelli RPTD, più precisamente GMT, descritti in precedenza. Il fonda-mento di tale algebra è comunque la struttura algebrica (JR, EB , ® ), dove IR indica come cli consueto l'insieme dei numeri reali e i due operatori determinano le operazioni binarie di massimo e di somma, rispettivamente:

x ffi y

x @y x+y

(5. 11)

(5.12)

(l'elemento neutro rispetto a EB è€= -oo, mentre O è l'elemento neutro rispetto a ®). Operando con matrici, si ha

(A © B)ij

(A ® B);i

.4i1 E9 B i; = max{ Ai; ,Bi;}

ffi (Au, ® Bk1 ) = mf<{.411; + B,,.j}

(5.13)

(5.14)

L'introduzione di tali operatori è motivata dal fatto un buon numero di risultati rela-tivi ali' algebra convenzionale possono essere "tradotti" nell'algebra max-plus sostituendo semplicemente i simboli + e x con i simboli (fl e ®, rispettivamente, dei quali man-tengono le stesse proprietà rispetto agli operandi. In questo senso, il risultato di base è costituito dalla possibilità di rappresentare il comportamento di SED modellabili con GMT mediante equazioni di stato deJ tipo

x(k + 1)

y (k) x(k) EB B ® u (k) x(k)

(5. 15)

(5.16)

dove i vettori x, u e y rappresentano come di consueto lo stato, gli ingressi e le uscite del sistema; le equazioni (5. 15)-(5.16) sono evidentemente lineari nell'algebra max-plus e del tutto analoghe alle equazioni di stato di SAT riportate nel Capitolo l.

Inoltre, l'uso della struttura algebrica di cui sopra rende lineari nell'algebra max-plus molti problemi di analisi e ottimizzazione delle prestazioni di SED che risultano invece non lineari nell'algebra convenzionale. Questo fatto è stato scoperto indipendentemente da più persone, operanti in aree di ricerca differenti. In ogni caso, un punto di partenza senz'altro valido è il citato libro di Cuninghame-Green (1979), come di rilevante interesse è anche il libro di Baccelli et al. (1992), che riprende gli elementi di base, ma introduce anche concetti più avanzati.

Per rendere omogenea la trattazione, riprendiamo l'esempio del semplice sistema a coda, per ricavare la sua rappresentazione mediante algebra max-plus.

Page 249: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 241

5.3.1 Modellare un sistema a coda con l'algebra max-plus

Più volte nel testo è stato considerato come esempio di riferimento il più semplice sistema a coda, rappresentato in questo capitolo in Figura 5 .11 e modellato dalla RPTD in Figura 5.12. L'evoluzione dinamica è descritta dalle equazioni (5.6) e (5.7), che regolano rispet-tivamente le sequenze degli eventi di arrivo e degli eventi di partenza. ln particolare, si è detto che l'equazione (5.7) è l'equazione di Lindley introdotta nel Capitolo 3. Per sem-plicità di descrizione, si riscrivono ora le equazioni (5.6) e (5.7) utilizzando la notazione dell 'equazione di Lindley (3.62), ottenendo dunque

a1.. = <Lk-1 + aa.k1

dk =max{ aki dk-l} + {) s.ki

ao = O do= O

(5.17)

(5. 18)

dove ak e dk, k E N+, rappresentano rispettivamente gli istanti di arrivo e di partenza del k-esimo cliente, {) a.k rappresenta il tempo di interarrivo tra il k - 1 e il k-esimo cliente e {) s. k è il tempo di servizio del k-esimo cliente.

Ancora per semplicità, si suppone in questo contesto che i tempi di interarrivo e i tempi di servizio siano tutti uguali e pertanto indipendenti da k, ossia c-Oa.k = c-Oa e fJs,k = '!9 8 , \fk E N+ ; in questo caso, perché il sistema sia stabile, cioè la coda non si allunghi indefinitamente, è necessario imporre che i clienti arrivino a una velocità non superiore a quella con cui vengono serviti, ossia dev'essere 190 19.'I. Le equazioni precedenti possono dunque essere riscritte come

a1.. +{)a, max{ak+1 ,dd +'!9s = max{ak +'l.9a,dd +'l.9s,

con k E N; utilizzando J' algebra max-plus le equazioni diventano

ak+l Clk ® 'l.9a. dk+l [ak ® ('1.9a ® '1.9s)] E9 (dk ® 19s)

ao =O do= O

dove si è applicata la proprietà associativa dell'operatore di somma. In notazione mat:J.i-ciale, le equazioni precedenti si possono riscrivere come

x(k: + 1) = A ® x(k), x(O) = [ l dove si è posto

e

All'equazione precedente può essere accoppiata l'equazione d 'uscita della coda; sce-gliendo come va1iabile di uscita la partenza dei clienti dal sistema dk. lequazione (5 .16) può essere espressa come

y(k) = [ f O J ® x(k)

Appare nuovamente evidente che le equazioni di stato così ottenute assomigliano molto alle equazioni che compongono i ·'classici'' modelli lineari di SAT, richiamati nel Capitolo 1, a parte il fatto che in questo contesto le operazioni di addizione e moltiplica-zione sono da intendersi nel senso deJJ'algebra max-plus. Si noti anche che, come accade

Page 250: Sistemi ad Eventi Discreti

242 Capitolo 5

per i SAT, la matrice A contiene tutta l'informazione sulla dinamica dello stato e presen-ta proprietà significative per l'analisi del sistema in esame, alcune delle quali verranno discusse nel prossimo paragrafo.

5.3.2 Analisi delle prestazioni: autovalori e autovettori

Le prestazioni di un SED modellabile in termini di algebra max-plus, ossia in termini di GMT, possono essere analizzate studiando il problema dell 'esistenza di autovalori e au-tovettori nel senso dell'algebra max-plus. Tale problema consiste nel valutare se esistono una quantità,.,, e un vettore v tali che

(5.19)

La quantità ,.,. è l'autovalore della matrice A e rappresenta il periodo del sistema, una volta che questo abbia raggiunto una condizione di regime; l 'autovalore coincide con la lunghezza del massimo ciclo del GMT che modella il sistema. Si noti che tale quantità non corrisponde al tempo di ciclo introdotto nel Teorema 5.18 sulla base della definizione fornita nel Teorema 5.17, in quanto prescinde dal numero di marche presenti nei vari cicli. L'autovalore infatti indica il periodo dell'intero sistema, cioè dopo quanto tempo il sistema visita un medesimo stato in condizioni stazionarie. che è in generale maggiore dell'intervallo che intercorre tra due scatti successivi di ogni transizione in condizioni stazionarie.

Per non appesantire la trattazione, si è scelto di descrivere in questo contesto la più semplice struttura algebrica nULx-plus, che non tiene intrinsecamente conto dello stato iniziale del sistema, ossia deUe marche presenti in ogni ciclo. Strutture più complesse, descritte per esempio in (Cohen et al., 1989) e (Baccelli et al., 1992), offrono questa potenzialità, ma a prezzo come detto di una complicazione delle equazioni di stato e della matrice A che ci è sembrato qui inopportuno introdurre.

GJi autovettori v che risolvono l'equazione (5 .19) rappresentano gli stati che il si-stema visita quando si trova in condizioni stazionarie. Per fare un esempio, nel caso del sistema a coda considerato nel paragrafo precedente, l'equazione (5.19) è riscritta come

[ 11. J, l f' [ ] - n ) [ l Separando le due equazioni e sostituendo la prima nella seconda si ottiene:

K =Va Ù a 7S V2 = [ ( Ù 0 ) ·..-: /J i) G ( 1J l12 )

da cui si ricava subito l'informazione che il periodo del sistema, ossia l'autovalore ", è uguale al tempo di interarrivo dei clienti 1?", com'è anche intuitivo che sia. Inoltre, si è fatta l'ipotesi, per la stabilità del sistema, che il tempo di servizio non possa essere mag-giore del tempo di interarrivo. Dalle equazioni precedenti si ricava che gli stati stazionari possono allora essere di due tipi:

J. se 19.<; = l?<u ossia il sistema è al limite delle condizioni di stabilità e ogni arrivo coincide sempre con una partenza, il generico autovettore risulta v = [ v1 u2 ]1 , con il vincolo l''.! 2:: u1 + {) 8 ; questa particolare situazione esprime il fatto che il sistema

Page 251: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 243

si trova praticamente in condizioni stazionarie fin dall'inizio e non abbandona mai tale condizione: è per questa ragione che tutti gli stati sono autovettori, quindi stati stazionari, dovendo soddisfare solo il vincolo per la stabilità del

2. se ·a s < {)a, 1' autovettore è del ti po u = [11 1 1; 1 + 19 questo vuol dire che, com'è ovvio che sia, in condizioni stazionarie ogni cliente che arriva trova il sistema vuoto e quindi riparte da esso esattamente dopo il suo tempo di servizio.

Si noti che se l'ipotesi per la stabilità non fosse verificata, ossia valesse {) s > {)a, il sistema non raggiungerebbe mai condizioni stazionarie e quindi il problema dell'esistenza di autovalori e autovettori non avrebbe significato. Questo aspetto non presenta analogie con la trattazione dei SAT in termini di algebra lineare "tradizionale", nella quale, com'è noto, l'esistenza di autovalori e autovettori non dipende dalle caratteristiche di stabilità del sistema.

Esempio 5.21. Si consideri un protocollo di comunicazione tra due processi, indicati come trasmettitore e ricevitore. Il trasmettitore invia messaggi ad una casella di posta elettronica, da dove li preleva il ricevitore lasciando nella casella stessa una ricevuta, che perviene poi al trasmettitore. Il trasmettitore, non appena arriva la ricevuta relativa ad un messaggio, comincia subito ad elaborarne un altro per l'invio.

Il processo trasmettitore impiega l unità di tempo per mandare un messaggio alla casella di posta, 1 unità di tempo per ottenere la ricevuta di un messaggio e 4 unità di tempo per elaborare un messaggio da inviare. Il processo ricevitore invece impiega 1 unità di tempo per prelevare un messaggio dalla casella di posta, 1 unità di tempo per lasciare la ricevuta di un messaggio e 3 unità di tempo per elaborare un messaggio ricevuto.

La RPTD che modella questo semplice protocollo di comunicazione è raffigurata in Figura 5.17; i significati dei posti e delle transizioni e i valori dei tempi di ritardo sono riportati nella Tabella 5. 7.

Ps

Figura 5.17 RPTD che modella un protocollo di comunicazione.

Dal momento che, come è evidente in Figura 5.17, la RPTD che modella il sistema descritto è un GMT, si può ricavare la sua descrizione in termini di algebra max-plus.

Le equazioni che descrivono le sequenze di scatto delle 6 transizioni della rete, per k E N, sono

Page 252: Sistemi ad Eventi Discreti

244 Capitolo 5

Posto Descrizione

Pi trasmettitore pronto ad inviare un messaggio

P2 messaggio nella casella di posta ]13 trasmettitore in attesa di ricevuta p4 messaggio ricevuto p5 ricevitore pronto a prelevare un messaggio

P6 ricevuta inviata

P1 ricevuta nella caseUa di posta

PB ricevuta arrivata al trasmettitore

Transizione Descrizione Ritardo

ti trasmettitore invia un messaggio I tz ricevitore preleva un messaggio l ts ricevitore invia una ricevuta 1

t4 ricevitore elabora un messaggio 3 ts trasmettitore ottiene la ricevuta I t6 trasmettitore elabora un messaggio 4

Tabella 5.7 Significati dei posti e delle transizioni della rete in Figura 5.17.

T1,k+l

Tz ,k+l

73,k+l

74,k+l

75,k+l

76,k+l

76,k + 1 max{74,k ,T1,k+1} + l = rnax{74,k + l ,T6.k + 2}

72 ,k+l + 1 = max{ r4,k + 2 ,r6,k + 3}

73,k+l + 3 = max{ r4..k + 5,r6,k + 6} m<L"'<{ r1 ,k+1,73,k+1 } + 1 = 13,k+1 + 1 = max{ 14,k + 3.T6,k + 4}

7s,k+1+4 = max{T1,k + 7 ,76.k + 8}

con ri,O =O, i = 1, ... ,6; ponendo x (k) = [ri.ki 72,k, r 3 ,k, T4,k, rs,k, r6,k f, riscritte in temùni (matriciali) di algebra max-plus le equazioni precedenti diventano

E € € € E 1 ( é ( 1 ( 2

x(k + 1) = f_ f_ f. 2 f. 3

Q9 x(k) , x (O) =O E E f. 5 E 6 E E ( 3 ( 4 f ( ( 7 E 8

L'equazione vettoriale (5.19) fornisce in questo caso come soluzioni l'autovalore K = 8 e gli autovettori v = [v1 v1 + 1 v1 + 2 v1 + 5 v1 + 3 v1 + 7f. Si noti che

Page 253: Sistemi ad Eventi Discreti

Reti cli Petri temporizzale 245

effettivamente 8 è proprio il tempo minimo che intercorre tra lo scatto di una delle 6 transizioni e il successivo; in tali condizioni di operatività del sistema, gli scatti delle 6 transizioni si susseguono come indicato dall'autovettore v, ossia si ha

x (k + 1) = "' ® x (k) , k E N+

dopo il primo scatto di ogni transizione, che avviene secondo il vettore di tempi x (l) = (1 2 3 6 4 8 ]T.

È immediato verificare che il valore dell' autovalore K è pari al massimo C dej tempi di ciclo della RPTD in Figura 5 .17; in tale rete si possono individuare 3 cicli elementari:

1'1: P1 t1p2t2p4t3p7t5pat6Pt

1'2: P1t1p3t5pst6P1

1'3 ; p4 t3P6t4pst2p4

I rispettivi tempi di ciclo sono, secondo il Teorema 5.17:

c'Y1 = B; c..,2 = 6; C73 = 5

da cui si ricava che, secondo il Teorema 5.18, a regime tutte le transizioni della RPTD scattano con la frequenza

1 1 1 Àr = e = = - = 0,125

max c 'Yi 8 1·,Er

• Si noti che la dimensione minima del sistema di equazioni nell 'algebra max-plus

ricavate nell'esempio precedente è 2, essendo tale caratteristica pari al numero di transi-zioni i cui tempi di scatto precedenti influenzano il comportamento della rete nell' istante attuale; nell'Esempio 5.21 le due transizioni in questione sono evidentemente t4 e t 6. In-fatti , dai tempi di scatto di queste due transizioni è possibile determinare i tempi di scatto delle altre e quindi specificare completamente la dinamica del sistema.

In realtà, la dimensione dello spazio degli stati nella rappresentazione in termini di algebra max-plus fin qui descritta dipende dal numero di marche inizialmente presenti nella rete, il che evidentemente rende la rappresentazione di un sistema dipendente dal suo stato iniziale. Ciò differenzia in modo sostanziale la modellazione di SED median-te equazioni nell'algebra max-plus rispetto alla rappresentazione dei SAT per mezzo di equazioni lineari differenziali o alle differenze; com'è noto infatti, nella teoria dei sistemi lineari "tradizionale" lo stato iniziale del sistema non può influenzare le dimensioni dello stato stesso.

Si è detto che è possibile descrivere in termini di algebra max-plus solo l'evoluzione temporale della speciale classe di RPfD costituita dai GMT. Tale rappresentazione è pe-rò possibile sia nel caso di temporizzazione associata alle transizioni, come nell'esempio precedente, sia nel caso di temporizzazione associata ai posti, come mostrato nell' esem-pio seguente. Questa caratteristica è diretta conseguenza del fatto, già sottolineato in precedenza, che è sempre possibile trasformare una RPTD con temporizzazione associata alle transizioni in una con temporizzazione associata ai posti e viceversa. L'Esercizio 5.7 (in fondo al capitolo) propone di verificare che associando alla RPTD in Figura 5 .17 un 'opportuna temporizzazione dei posti, si ottiene ancora la medesima rappresentazione in termini di algebra max-plus, ossia la matrice A rimane identica.

Page 254: Sistemi ad Eventi Discreti

246 Capitolo 5

Esempio 5.22. Si consideri il sistema produttivo rappresentato nell'Esempio 5.20 con la RPTD con temporizzazione associata ai posti riportata in Figura 5.16; i significati dei posti e delle transizioni della rete e i valori dei tempi di ritardo associati ai posti sono riportati nella Tabella 5.6.

Si vuole fornire la descrizione in termini di algebra max-plus dell'evoluzione tempo-rale della RPTD in Figura 5.16, che è immediato verificare che è un GMT. Le equazioni che descrivono le sequenze di scatto delle 4 transizioni della rete, per k E N, sono

Tt.k+ J

T2.k+l

73.k+l

74.k+l

max{ T2 .k ,T4 .k-2 }

max{ T1 ,k +1 + 10,ra,k- d max{T2,k, 1 ,T4 ,k}

T3 .k+ l + 20

con r i,o = O, i = 1, ... ,4; si può notare che, dato che alcuni posti hanno marcatura iniziale maggiore di uno, i tempi del (k + 1)-esimo scatto delJe transizioni dipendono dai tempi del (k - 2)-esimo scatto di t4 , perché lVIo (pi) = 3, e del (k - 1)-esimo scatto di t3 , perché Af 0 (p6 ) = 2. Con il tipo di rappresentazione via algebra max-plus fin qui descritta è possibile scrivere equazioni che legano i tempi di scatto delle transizioni ai tempi di scatto immediatamente precedenti, ossia il vettore x (k + 1) può essere funzione solo del vettore x ( k).

Allora, per poter ottenere le equazioni max-plus che descrivono la RPTD in Figu-ra 5. 16 è necessario "aumentare" la dimensione dello stato, aggiungendo a tale rete posti e transizioni così da rendere la marcatura iniziale di ogni posto al più pari a 1; in questo caso, alla RPTD in Figura 5 .16 bisogna aggiungere almeno 3 posti e 3 transizioni, così da trasformarla nella RPTD in Figura 5 .18.

Figura 5.18 Rappresentazione "aumentata" della RPTD in Figura 5.16.

Le equazioni che determinano le sequenze di scatto delle 7 transizioni della rete, per k E N, sono adesso

Tt.k+l

Page 255: Sistemi ad Eventi Discreti

72,k+l

73.k+l

74,k+l

75,k+l

76.k+ l

77,k+ l

Reti di Petri temporizzate 247

max{71 ,k+1+ 10,71,k} = max{r2,k + 10,r5.k + lO,r1,k }

max{72,k+I ,T4 .k} = max{T2.k + 10,T.i,k,T5.k + 10,T1.d

T3,k+l + 20 = ma.x{r2,k + 30,74.k + 20,rs.k + 30,r1,k + 20}

T6.k

con r;,o =O, i= 1, ... ,7, e riscritte in termini d i algebra max-plus diventano

71,k+l

1"2,k+l

73.k+l

74,k+l

Ts,k+l

16,k+l

T7.k+l

12 ,k EB rs.k ( r2 ,k 0 10) EB ( 7s,k 0 10) EB 71.k

(12,k ® 10) E9 T4,k E9 (rs .k ® 10) E9 11,J.·

(r2,k ® 30) E9 (14,k ® 20) E9 (1s.k ® 30) Ef3 (11.k + 20)

76,k

l4.k

T3.k

Ponendo x(k) = [7i,k, i= 1. .... 7]7', la corrispondente equazione (5.15) si può scrivere come

( o e é o e é

f.. 10 é f 10 e: o f. 10 f. o 10 f. o

x(k + 1) = e: 30 e: 20 30 E 20 ® x(k), x(O) =O é f é é é o é

é é f. o ( ( E

f e: o f f ( f

Dall'equazione vettoriale (5.19) si ricava il valore dell'autovalore ,.,, = 20; si lascia al lettore la verifica che K corrisponde proprio al tempo massimo di ciclo C calcolato sui 6 cicli elementari della rete in Figura 5 .18 secondo il Teorema 5 .17. +

Per concludere, è opportuno riassumere a1cuni aspetti peculiari dell'approccio mo-dellistico dci SED basato sull'algebra max-plus, che per diverse ragioni si distingue da tutti gli altri presentati in questo libro. Questo approccio costituisce un ambiente algebri-co per la modellazione di SED che presenta molte analogie con ciò che l'algebra lineare costituisce per la modellazione dei SAT; questa caratteristica è senz'altro ciò che ha su-scitato maggiormente l'interesse dei ricercatori che hanno cercato e ottenuto risultati in questo senso.

Inoltre, 1' algebra rnax-plus evidenzia ancor più una caratteristica saliente dei modelli di SED temporizzati, già evidente non solo nella trattazione delle reti di Petri temporizzate oggetto di questo capitolo, ma anche nella descrizione degli automi temporizzati fatta nel Capitolo 3: le sole operazioni necessarie per descrivere e analizzare SED sono l'addizione (per aumento/decremento di orologi) e la massimizzazione (per determinare gli eventi che causano le transizioni di stato).

Page 256: Sistemi ad Eventi Discreti

248 Capitolo 5

Per contro, va sottolineato che la modellazione di SED con questo approccio alge-brico richiede solitamente un notevole onere computazionale; inoltre. l'analogia con la descrizione di SAT con l'algebra lineare è stata per il momento portata avanti fino a un certo punto, che certamente non reca un'efficacia di analisi paragonabile a quella propria di tale algebra. Infine, l'estensione dell'uso dell'algebra max-plus alla descrizione di SED stocastici sembra essere complicata e comunque è ancora poco sviluppata.

5.4 Reti di Petri temporizzate stocastiche

Le reti di Petri temporizzate stocastiche (RPTS) sono reti di Petri in cui i tempi di scat-to delle transizioni sono rappresentati da variabili aleatorie. Una RPTS si può pertanto considerare come un modello che genera un processo stocastico.

Le RPT stocastiche trattate in questo testo sono reti di Petri con scatto atomico nel-le quali si associa a ogni transizione temporizzata un ritardo descritto da una variabile aleatoria con funzione di distribuzione esponenziale negativa. Come già enunciato nel-la Definizione 5.1, a ogni transizione stocastica I 1 si associa il parametro >.i caratteristico della sua distribuzione, detto frequenza o tasso di scatto della transizione, che corrisponde all'inverso del ritardo medio di scatto Oi. Una RPT stocastica può dunque essere definita in generale come segue.

Definizione 5.23. Una rete di Petri temporizzata stocastica (RPTS) è una struttura alge-brica N8 = (N,À) dove:

• N = (P.T,Pre.Post) è una rete P/f come nella 4 . .1.

• À = [ À 1 ,\2 · · ·] è il vettore delle frequenze di scatto delle transizioni; gh elementi >.; possono dipendere dalla marcatura, ossia si può avere >.i = Ài ( M k), k E N+ .

e_er Petri stoçastj.ca le regole di scatto sono uguali a 9Eelle _di una re-te P/f, cçm l'unica differenza che !n questo caso la scelta della prossima transizione da scattare viene effettuata sulla base delle probabilità di scatto delle singole transizioni. La probabilità che la transizione ti, abilitata nella marcatura M k. scatti è data da

(5.20)

dove A(M k) denota l'insieme delle transizioni abilitate nella marcatura M k:.

Per descrivere il funzionamento di una RPTS si può immaginare che, come per le RPTD con temporizzazione delle transizioni, alle transizione siano associati degli orolo..&L Per semplicità, in questo contesto si suppone che a ogni transizione sia associato un solo orologio, che '{iene al valore del ritardo (una istanza della variabile casuale con densità di probabilità esponenziale negativa associata alla transizione) nel momento in cui la transizione viene abilitata per la prima volta dopo uno La gestione degli orologi avviene come per le RPTD; il comportamento di una RPTS evolve come se tutte le volte che essa raggiunge una nuova marcatura ogni transizione f i abilitata ricampionasse dalla propria densità di probabilità del ritardo una nuova istanza vi.

Page 257: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 249

Molti ricercatori hanno dimostrato Je potenzialità delle RPTS per l ' analisi delle pre-stazioni di sistemi reali, risultanti soprattutto dal fatto che, daJ punto di vista deJ compor-tamento dinamico, una RPTS è equivalente a una catena di Markov a tempo continuo. Questo legame fondamentale tra RPTS e catene di Markov è stato determinato attraverso i due seguenti risultali, le cui dimostrazioni si possono trovare in molti testi, come ad esempio il libro di Wang (1998).

Teorema 5.24. !E_uQa RPTS, i tefl1pi di permanenza in ogni marcatura sono distribuiti in modo esponenziale. •

Teorema 5.25. !.-'evoluzione nel teip.po di una RPTS può descritta da una ca-di Mar_lçQv @alç ogni

dalla RPTS. •

Nota 5.26. È possibile calcolare la distribuzione dei tempi di permanenza in una marca-tura Mi ricordando che i ritardi di tutte le transizioni abilitate sono variabili aleatorie con distribuzione esponenziale, quindi il tem_r>o di nella marcatura è il minim9 dei pri!Da dello scatt9. Pertanto, il_parame_tro che caratterizza la sua distribuzione <:_S.e.9nenziale è a:J = L t.EA( Mj) Ài(M1); tale quantità identifica anche il valore dell' e-lemento -qii della matrice dei tassi di transizione della CMTC che descrive il processo delle marcature della RPTS considerata. .&

Esempio 5.27. Il grafo di raggiungibilità del semplice modello RPTS rappresentato in Figura 5.19 è riportato in Figura 5.20, dove Mo = [l O O O Of, M 1 = [O 11 O O]r, M 2 =[O O 11 Of, M 3 = (O 1 O O l ]T e M 4 = [O O O 1 lf.

Figura S.19 Un semplice modello RPTS.

Il sistema lineare da risolvere per determinare le probabilità di stato stazionario 7r = col[7rj ,j =O .... ,4] (cfr. Capitolo 3) è costituito dalle equazioni (3.51)

che in questo caso assumono la forma

Page 258: Sistemi ad Eventi Discreti

250 Capitolo 5

Figura 5.20 Grafo di raggiungibilità della RPTS in Figura 5.19.

-À1 )q o o o o -(À2 + À3) À2 ,\3 o

7r o o -À3 o ,\3 =0 o o o ->.2 À2

,\4 o o o -À1 ti

I: 7rj = 1 j =O

Nell'ipotesi che Àj

7r1 = 7r2 = 7r3 = 1/7. 1, j = O .... ,4, la soluzione del sistema è 7ro = 7r,1 = 2/7,

• 5.4.1 Costruzione della Catena di Markov equivalente alla RPTS

La catena di Markov equivalente a una RPTS si può generare in maniera semplice ese-guendo il seguente algoritmo:

Algoritmo 5.28. Catena di Markov equivalente a una RPTS.

1. Individuare una relazione di corrispondenza biunivoca tra l'insieme degli stati della catena di Markov e l'insieme di raggiungibilità R(N51M 0 ), facendo corrispondere a ogni marcatura M 1s uno stato .xk E X .

2. Fissare come di_Erobabilità di iJ!iyale 7rQ(O) = 1, ossia assegnare probabilità massima allo stato x0 corrispondente a M 0 •

3. Porre i della catena di ossia gli elementi della matrice Q , pari ai valori

Page 259: Sistemi ad Eventi Discreti

Reti di Petti temporizzate 251

- qkk = I: Ài(M k) (5.21) t ;EA (Mk)

Qkj = I: Ài(M k) (5.22) t ;EA i(Mk )

dove À j ( M k) è il sottoinsieme di A ( M k· ) che comprende le transizioni il cui scatto genera M j , cioè Aj (Mk) = {ti E A (Mk ) I Mk M j }; solitamente esiste una sola transizione il cui scatto modifica la marcatura da M k a M i . •

L'applicazione dell'algoritmo viene mostrata nei seguenti due esempi.

Esempio 5.29. Si consideri un centro di lavorazione costituito da una singola macchi-na; quando è libera, la macchina può caricare un pezzo e iniziare la sua lavorazione, il cui completamento la rende nuovamente disponibile a iniziare la lavorazione di un altro pezzo. La macchina però può guastarsi mentre sta lavorando e necessitare pertanto di essere riparata. Al termine della riparazione, la macchina è nuovamente pronta a lavora-re. Un esempio di sistema di questo genere è già stato preso in esame nel Capitolo 3; il suo modello RPTS è raffigurato in Figura 5.21. I significati dei posti e delle transizioni della RPTS in figura sono ripottati nella Tabella 5.8, dove compaiono anche i parametri caratteristici delle distribuzioni esponenziali che determinano i tempi di scatto di ciascuna delle transizioni.

Figura 5.21 Modello RPTS di una macchina soggetta a guasti.

Gli stati in cui può trovarsi il sistema sono: x0 =macchina disponibile, corrisponden-te alla marcatura M 0 = [1 O O]T; x 1 =macchina al lavoro, corrispondente alla marcatura M 1 = (O 1 O)T; x 2 =macchina guasta, corrispondente alla marcatura M 2 = [O O l ]r. La catena di Markov equivalente alla RPTS è caratterizzata dalla matrice dei tassi cli transizione Q è

[

-u

Q = f3 À

Cl

- (/3 + µ ) o

e il relativo diagramma delle transizioni di stato è rappresentato in Figura 5.22.

Page 260: Sistemi ad Eventi Discreti

252 Capitolo 5

-

Posto Descrizione

P1 la macchina è disponibile

P2 la macchina sta lavorando

p3 la macchina è in riparazione

Transizione Descrizione Tasso di scatto

t1 inizio di una lavorazione Cl!

t2 fine di una lavorazione (3

f 3 guasto della macchina /l

t4 riparazione completata À

Tabella 5.8 Significati dei posti e delle transizioni della rete in Figura 5.21.

Figura 5.22 Diagramma delle transizioni di stato della catena di Markov equivalente alla RPTS in Figura 5.21.

Si noti che tale puQ __ 9_ttenere semplicemente dal grafo di raggiungi-bilità della RPTS, rappresentato in Figura _a Qggi lo stato

n.ell.a CM'r_Cffiuivalente e a ogni lran§!zio11e della RPTS il parametro caratterizza la _distribuzio!!e esponenziale dei di scattq_.

• Dalla corrispondenza biunivoca tra l'insieme di raggiungibilità di una R.PTS e lo

spazio degli stati della catena di Markov segue che se la RPTS è limitata allora la catena di Markov è finita. Si è visto nel Capitolo 3 che una catena di Markov finita è ergodica se è irriducibile, ovvero se il grafo che la rappresenta è fortemente connesso: questa condizione è equivalente alla condizione che il grafo di raggiungibilità della RPTS sia fortemente connesso.

Esempio 5.30. La RPTS raffigurata nella Figura 5.24 rappresenta una coda M /Nl /l. La transizione t 1 , con parametro À, è sempre abilitata e rappresenta l'arrivo di un cliente; ogni arrivo genera una marca nell 'unico posto della rete, che rappresenta lo stato della coda. ovvero il numero totale di clienti nel sistema (in attesa e in servizio). La transizione t2 , con parametro µ, modella il tempo di servizio di un cliente.

Page 261: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 253

'1 >M, Mo >t(

t l2

t4

Figura 5.23 Grafo di raggiungibilità della RPTS in Figura 5.21.

Figura 5.24 Modello mediante RPS di una coda M / M / 1.

È facile verificare che partendo dalla marcatura iniziale M 0 = Mo (p1 ) = O si ottiene il grafo di raggiungibilità raffigurato nella Figura 5.25, che è identico al diagram-ma delle transizioni di stato generato dalla catena di Markov corrispondente a una coda M / M /l, che è già stato riportato nel Capitolo 3.

µ µ

Figura 5.25 Diagramma delle transizioni di stato del1a CMTC equivalente alla RPTS in Figu-ra 5.24.

Si noti ancora che, come indicato nell'Esempio 5.29, tale diagramma corrisponde al grafo di raggiungibilità della RPTS, ove si sostituisca a ogni marcatura lo stato cor-rispondente nella CMTC equivalente e a ogni transizione della RPTS il parametro che caratterizza la distribuzione esponenziale dei suoi tempi di scatto. +

5.4.2 Analisi strutturale e analisi prestazionale

Si è visto nel Capitolo 3 che CMTC omogenea finita e irriducibile risulta sempre ergodica. Q!!es!_a_ irry>.lica in ..9!1esto contesto _che una RPTS _!n _cui il

Page 262: Sistemi ad Eventi Discreti

254 Capitolo 5

di marche si mantiene limitato in ogni posto per qualsiasi marcatura M E R(N . .,,M 0 )

il cui grafo sia fortemente connesso semE!'e a una CMTC L'tnsie-me di raggiungibilità R(N8 ,M o) di una RPfS è uguale a quello della rete Pff ottenuta eliminando la temporizzazione. Questo avviene perché le temporizzazioni associate alle transizioni hanno densità di probabilità definite su Il4 . Ne consegue che i criteri e le metodologie introdotti nel Capitolo 4 per l'analisi strutturale delle reti Pff risultino validi anche per le RPTS.

L'analisi_ di un RPfS è di solito mir'!ta alla misura di indici di prestazioni aggregati che risultano più significativi delle probabilità limite 7r delle singole marcature. In questo contesto si ritiene utile riportare alcuni tra i citati indici di prestazioni aggregati considerati più di frequente (Ajmone, 1990).

• La probabilità di un evento e definito in funzione de.Ila marcatqra (per esempio: nes-suna marca in un dato insieme di posti, o almeno una marca in un posto quando in un altro non ce ne sono, ecc.) può essere calcolata sommando le probabilità di tutte le in cui la condiziqne che corrisponde alla definizione dell 'evento stesso è soddisfatta; pertanto, la probabilità a regime dell'evento e si può ricavare come

P1'{<'}- L 7i/,-

Mi. EJ\11. ,

dove _,\/ti' denota l'insieme di marcature tale per cui la definizione di e è soddisfat!!; si noti che è lecito sommare le probabilità delle singole marcature perché queste sono mutuamente esclusive.

• La probabilità di numero di marche in un posto JJi si può considerandola come uno speciale evento; pertar.:!.t<!i__SC definiamo ei.J_ l'evento di avere j marche nel posto Pi· il numero medio _d...!_ marche di Pi si può ottenere come

ni = LjPr{ei.J} j

(5.23)

• La di scatto fj di una ossia il numero medio di volte che la transizione scatta nell'unità di tempo, in condizioni QÌ regime pu<? essere calcolata come la somma pesarJ! dei tassi di scatto delJe transizioni abilitate in ogni marcatura M i

fj = (5.24)

• Il tempo medio iJ necessario perché una marca attraversi una sottorete in condizioni di regime J?UÒ essere calcolato appl!cando la legge di Little (3.68), riscritta in questo contesto come

- ii ù = -

À (5.25)

dove ii è il numero medio di marche che stanno attraversando la sottorete e À è la velocità media di ingresso delle marche nella sottorete.

Page 263: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 255

Si è visto nel Capitolo 3 che la legge di Little si può applicare a qualunque siste-ma a coda, perché i clienti sono entità sempre chiaramente individuabili, mai divisibili o aggregabili. Al contrario, in una RPTS possono esistere transizioni che dividono o ag-gregano marche; in questi casi bisogna prestare attenzione a come si contano le marche nelle sottoreti relative. Si consideri ad esempio la RPTS in Figura 5.26: le marche che entrano nella sottorete contenuta nel rettangolo tratteggiato devono essere contate ognuna solo come mezza unità.

r-··········-

l ! I i

. L ......... __

Ps

Figura 5.26 Esempio di RPTS con marche che vengono divise e aggregate.

Inoltre, si possono verificare situazioni in cui alcune marche della sottorete in esame non devono essere prese in considerazione perché rappresentano caratteristiche interne alla sottorete e non entità che fluiscono attraverso essa. Con riferimento alla RPTS in Figura 5. 27, questo è il caso della marca nel posto p7 , che come si vede non esce mai dalla sottorctc individuata dal rettangolo tratteggiato, continuando a spostarsi tra i posti

e p7.

Per concludere, si vuole evidenziare che il problema maggiore nella valutazione di indici di prestazioni utilizzando modelli RPTS sta nella necessità di lavorare con le equa-zioni di equi librio basate sul grafo di raggiungibilità. Infatti, le dimensioni del grafo di raggiungibilità crescono in modo esponenziale sia con il numero di marche nella marca-tura iniziale M u sia con il numero dei posti; pertanto, tranne per alcune classi speciali di modelli, le dimensioni di tale grafo e 1' onere computazionale della procedura di soluzione impediscono di ottenere una soluzione analitica esatta.

Questo è proprio ciò che, come si è detto nel Capitolo 3, accade per tutte le classi di reti di code che non sono risolvibili in forma prodotto. Sulla base di questa consi-derazione, alcurù studiosi hanno proposto degli approcci di soluzione in forma prodotto per modelli RPTS; si rimanda iJ lettore al libro di Wang (1998) per la descrizione di due approcci di questo tipo.

Page 264: Sistemi ad Eventi Discreti

256 Capitolo 5

;---------------·--·-- -·· - ···----, I P7 I I j i l i I

Ps I ; i f ................................... )

Figura 5.27 Esempio di RPTS con marca da non contare.

5.5 Reti di Petri stocastiche generalizzate

La complessità dell'analisi dei modelJi RPTS, che limita la loro concreta applicabilità, è dovuta a diversi fattori. Tra questi il più critico è senza dubbio la possibile esplosione del numero di marcature raggiungibili, mentre altri aspetti importanti sono legati alla difficoltà della soluzione del modelJo. Per esempio, in un modello potrebbero essere presenti attività che si svolgono su una scala temporale ben più veloce (o più lenta) delle attività definite dagli eventi che sono critici per le prestazioni del sistema; in questo caso, le equazioni che descrivono il modello RPTS possono risultare difficili da risolvere con adeguata accuratezza utilizzando le note tecniche di soluzione numeriche. D'altro canto, il trascurare le attività "veloci" (o "lente") può introdurre nel modello delle inesattezze logiche. Inoltre, può anche succedere che sia necessario includere nel modello RPTS di un sistema delle transizioni che rappresentano aspetti puramente logici del sistema, ai quali pertanto sarebbe scorretto associare qualunque genere di temporizzazione.

Per rappresentare le diverse "velocità" operative che possono caratterizzare un SED si possono utilizzare le reti di Petri stocastiche generalizzate (RPSG) (Generalized Sto-chastic Petri Nets, GSPN), introdotte proprio a questo scopo da Ajmone et al., (1984). Le RPSG possono essere considerate come un'estensione delle RPTS fin gui descritte, ottenuta ammettendo che le pOS§fillO avere freguenza di scatto infinita_, ossia

di scatto nullo. pertar.ito . le transizioni di una RPSG_ possono due tipi diversi:

• transizioni temporizzate stocastiche, caratterizzate da ritardi di scatto con distribu-zione esponenziale, come nelle RPTS;

• Transizioni immediate, come introdotte nella Definizione 5.1.

Formalmente, possiamo definire una RPSG come segue:

Definizione 5.31. Una rete di Petri stocastica generalizzata (RPSG) è una struttura alge-brica Nsg = (N).,1/.,)jove:

Page 265: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 257

• N = (P,T ,Pre,f'ost) è una rete P!f come nella Definizione 2.5, dove però l'insie-me delle transizioni T è partizionato nei due sottoinsiemi delle transizioni it)Jm.ediate_ T1 e delle transizioni temporizzate (stocastiche)

• À : T.E --+ JR+ è una funzione che associa ad ogni transizione tem_Qorizzata t i E T p; un numero reale positivo Ài2 che è il della _c!istribuzione di probabilità esponenziale negatiya dei su_9i di scatto;

• 'lf; : T1 --+ IR+ è una funzione che associa a9 OKni transizione immediata tL E _T1 un numero reale positivo, che rappresenta un peso ad essa associato e viet;ie_!ltilizzato per specificare le...Q!iorità di come spiegato nel •

Le marcature delle RPSG si distinguono in due classi: marcature tangibili e marcatu-re evanescenti; una marcatura è definita tangibile se abilita solo transizioni temporizzate, come accade nelle RPTS, mentre marcatura è detta evanescente se una transizione immediata. lJ. termine tangibile è utilizzato per indicare che il tempo di perma-nenza nella marcatura è maggiore di zero, mentre il termine evanescente sta a significare - - . che il tempo di nella marcatura è nullo.

il modeQo raggiunge una marcatura tangibile, il meccanismo di scelta tra le tran-sizioni abilitate viene regolato dai come in una RPTS. Se il modello raggiu11,ge in-

evanescente.Jf\ della prossima transizione che ! Catterà non può evidentemente essere fatta sulla base di una descrizione temporale, in quanto tutte le transizioni abilitate (immediate) scattano in tempo nullo. È quindi necessario, raggiunta una marcatura evanescente M, stabilire un criterio di sulle _p_robabi1ità che ogni transizione immediata scatti, ossia va definita una distribuzione di probabilità ---

con Pr{ tk I M} = 1 (5.26) k:l11EA1mm( M )

dove Àimm(M) rappresenta l'insieme delle transizioni immediate abilitate nella marca-rura M.

Il modo 12iù semplice e comunemente utilizzato di definire talej unzione di densità diprobabilità è basato sui pesj attribuiti_Qer alle transizioni una marcatura M, laQrQba_9ilità che una transizione immediata abilitata tk E A 1mm{M ) scatti si _può esprime_!."e allora come

'l/Jk Pr{tkJM}= L · 4;· J :t;EA unm(M) J

(5.27)

che tra O e la condizione imy_9sta nella (5.26). L'evoluzione di una RPSG sul suo grafo di raggiungibilità è uguale a quella di una

RPTS per tutto ciò che riguarda le marcature tangibili; quando invece si raggiunge una marcatura evanescente, la transizione immediata selezionata scatta in tempo nullo prele-vando marche dai suoi posti di ingresso e depositando marche nei posti di uscita, senza che gli orologi associati alle transizioni temporizzate siano decrementati.

Esempio 5.32. Si consideri il modello RPSG rafiìgurato in Figura 5.28, che è costituito da 7 posti e 7 transizioni, di cui 4 immediate {t1,t2,t31t4} e 3 temporizzate {l s,l6, t1 }.

La marcatura iniziale è M 0 = (O O O O O 1 1 ]T, per cui le marcature raggiungibili risultano M 1 = (1OOOO1 O]r , M 2 = (O1OOO10]7', M 3=(OO 1OO1 0)1',

Page 266: Sistemi ad Eventi Discreti

258 Capitolo 5

Figura 5.28 Un modello RPSG.

MI = (O o o 1ooorre M 5 = (O o o o 1 o of. È immediato verificare che le marcature M 0 , M .i e M 5 sono tangibili, perché abilitano solo transizioni temporizzate, mentre le marcature M 1 , M 2 e M 3 sono evanescenti, dal momento che abilitano solo transilioni immediate. Allora .eer ciascuna di queste marcature bisogna definire1 se necessario, le probabilità di scatto delle transizioni abilitatç; certamente quest9 va fatto per M _l.J. che abìlita le transizioni t 1 e t2: devono quindi essere specificate Pr { t 1 I Mi} e Pr { t 2 I Mi} tali chePY'[hJ M..i}+-Prft.21 M,J_ _ l. Perquantorig-uardainvecelemarcature M 2 e M 3 questo non è necessario, in quanto dette marcature abilitano ciascuna solo una transizione immediata, rispettivamente i 3 e t 4 , con probabilità di scatto Pr { iJ I M 2 } = Pr{t1 I M 3} = l. + Esempio 5.33. La RPSG raffigurnta nella Figura 5.29 rappresenta una coda "fvf /AI/ 1. l significati dei posti e delle transizioni sono riportati nella Tabella 5.9.

Figura 5.29 Modello mediante RPSG di una coda !Il/ AI/ 1.

In questo caso non è necessario associare un peso ali 'unica transizione immediata che quando è abilitata scatta con probabilità 1. Il grafo di raggiungibilità generato dalla RPSG a partire da M 0 = [O O 1 f è raffigurato in Figura 5.30.

Page 267: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 259

Posto Descrizione

P1 fila di attesa

]>2 servizio in corso

p3 servente Libero

Transizione Descrizione Tasso di scatto

f 1 arrivo di un cliente À

t2 inizio di un servizio -

f 3 fine di un servizio µ

Tabella 5.9 Significati dei posti e delle transizioni della rete in Figura 5.29.

Per la costruzione del diagramma delle transizioni di stato della CM'[C associata al modello RPSG si devono eliminare le marcature s:vanescenti agyegandole con le mar-cature tangibili dallo scatto della transizione immediata t2 ; pertanto, con riferi-mento alla Figura 5.30, vetTanno eliminate tutte le marcature del tipo [i O 1)1, i E N .. Il risultato è riportato in Figura 5.31 ed è uguale a quello ottenuto per il modello RPTS della coda Al/ lii /l, raffigurato in Figura 5.25.

• 5.5.1 Metodi di analisi dei modelli RPSG

L'esistenza di transizioni immediate nei modelli RPSG rende la loro analisi più compli-cata di quella delle RPTS; infatti, le transizioni immediate possono rappresentare eventi simultanei multipli nel processo che descrive il comportamento dinamico di una RPSG e quindi un numero infinito di eventi in un intervallo di tempo finito, qualora la sequenza di scatto di transizioni immediate inizi e termini nella stessa marcatura. Il processo sto-castico individuato risulta avere stati in corrispondenza bi-univoca con le marcature della RPSG, ma la possibile presenza di discontinuitt:1 multiple dovute all'attraversamento di stati evanescenti tra uno stato tangibile e il successivo rende il processo non markoviano.

In questo contesto vengono introdotti due metodi tra i più noti e utilizzati per l'analisi diRPSG.

Metodo 1. Estensione dei metodi di analisi delle RPTS. Questo primo semplice meto-do di analisi prevede che tutte le transizioni immediate vengano sostituite con transizioni temporizzate caratterizzate da frequenze di scatto altissime e proporzionali a un parametro a di valore arbitrario.

Tale sostituzione elimina evidentemente la possibilità che esistano stati evanescenti, rendendo di fatto tutte tangibili le marcature che la RPSG può raggiungere, ossia riduce la RPSG a una RPTS; a questo punto è possibile analizzare la RPTS sulla base della CMTC corrispondente, come visto nei paragrafi precedenti. Se è possibile ottenere una soluzione

Page 268: Sistemi ad Eventi Discreti

260 Capitolo 5

[0 o lj

' ...... >:; ! [O 1 O] < - [I O I] 1

::, i r1 1 01 < r2 o 11 l L. ........ t" . 13 /" ' ....... )

f .... ! 1, i '- 121:;:, f3 O I I !

[3 1 O] ··· .... :: .. _.

Figura 5.30 Grafo di raggiungibilità della RPTS in Figura 5.29.

µ µ

Figura 5.31 Diagramma delle transizioni di stato delJa CMTC equivalente alla RPTS in Figura 5.29.

in forma esplicita delle equazioni che determinano la distribuzione di probabilità limite, da questa si può poi ricavare la distribuzione di probabilità limite per la RPSG di partenza calcolando il limite per n tendente all'infinito di tale soluzione.

Sfortunatamente, i modelli RPSG di sistemi reali presentano spesso un grande nu-mero di stati (marcature) possibili, il che rende molto difficile ottenere una soluzione in forma esplicita in termini di 0:; quando ciò si verifica, si può tentare di risolvere nume-ricamente il problema considerando n molto grande e le probabilità che risultano molto piccole come nulle. In ogni caso, questo approccio comporta un onere computazionale considerevole, incrementato dal fatto di dover comunque calcolare inutili probabilità di marcature evanescenti e crescente (con tasso esponenziale) con l'aumento di dimensioni della matrice dei tassi di transizione della CMTC corrispondente.

L'applicazione del metodo è illustrata per mezzo del seguente esempio.

Page 269: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 261

Esempio S.34. Si consideri la RPSG raffigurata in Figura 5.32, che include 2 transizioni temporizzate {t1,t2} e 4 transizioni immediate {t3,t4lt5,t6}.

Figura 5.32 Un esempio di modello RPSG riducibile a modello RPTS.

L'insieme di raggiungibilità comprende, oltre alla marcatura iniziale M 0 = O O O]T rappresentata in Figura 5.32, le marcature M 1 = [O 1 O O]T, M 2 = (O O 1 0)1, M J = [O o O 1r; il grafo di raggiungibilità è riportato in Figura 5.33.

14 )Ml

'1 l5 ) M3 >M2

t 13 t6 I t2

Figura 5.33 Grafo di raggiungibilità della RPTS in Figura 5.32.

Supponendo che la frequenza di scatto delle transizioni immediate sia uguale per tutte e pari al valore del parametro a stesso, la matrice dei tassi di transizione Q che caratterizza la catena di Markov equivalente alla RPTS ottenuta dalla RPSG è

Q= a [

-Cl:

e il relativo diagramma delle transizioni di stato è rappresentato in Figura 5.34.

Come già notato in precedenza, tale diagramma si può ottenere semplicemente dal grafo di raggiungibilità della RPTS, rappresentato in Figura 5.33, sostituendo a ogni mar-catura lo stato corrispondente nella CMTC equivalente e a ogni transizione della RPTS il parametro che caratterizza la distribuzione esponenziale dei suoi tempi di scatto.

Il vettore delle probabilità limite 7r = [7ro ?T1 ?T2 n3 ]T può essere calcolato secondo il sistema di equazioni (3.51), già riportato nell'Esempio 5.27. che in questo caso ha come soluzione

Page 270: Sistemi ad Eventi Discreti

262 Capitolo 5

Figura 5.34 Dìagramma delle transizioni di stato della catena di Markov equ ivalente alla RPTS in Figura 5.32.

(l+ ;) 1 no

e 1

7r 1 ('

(J+ À1 7r2

À2r

Àt 7r;3

À2r·

dove, per semplificare la strnttura delle equazioni, si è introdotta la costante

Calcolando il linùte per a: --7 oo, si ottengono i valori di probabilità linùte della RPSG, che sono pari a

• Metodo 2. Soluzione della catena di Markov nascosta. Il secondo metodo di analisi descritto in questo testo propone di valutare la distribuzione di probabilità a regime di una RPSG sulla base della catena di Markov nascosta ( cfr. Capitolo 3) del processo delle sue marcature. Infatti, anche se la possibile presenza di transizioni di stato simultanee mul-tiple dovute ali' attraversamento di stati evanescenti nel passaggio da uno stato tangibile a un altro rende il processo delle marcature non markoviano, esso può essere considerato un caso particolare di processo senù-markoviano, dove i tempi di permanenza negli stati sono distribuiti con densità di probabilità esponenziale negativa oppure sono deternùni-sticamente nulli. Questa osservazione consente sostanzialmente di effettuare l'analisi di una RPSG usando la catena di Markov nascosta corrispondente (Ajmone et al .. 1984).

Page 271: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 263

Come si è visto, esiste una corrispondenza biunivoca tra l'insieme cli raggiungibilità R( Nsg ,M 0 ) e lo spazio degli stati X, ossia ogni marcatura raggiungibile corrisponde a uno stato e viceversa.

La probabilità Pij di transizione da uno stato x1 a uno stato Xj della CMN può essere espressa come

P·iJ = k:M;-+ t Mi

k

Pr{t1.. I M i}

che è nulla se non esistono transizioni il cui scatto fa passare da M i a M J.

(5.28)

Si consideri lo spazio di stato X come partizionato nei due sottoinsiemi degli stati tangibili X T e degli stati evanescenti X \I , X = X r U Xv, e si denotino con "'T e "'v le rispettive cardinalità di tali sottoinsiemi. Allora, la matrice delle probabilità di transizione P = [p1J] della catena di Markov a tempo discreto nascosta si può esprimere come

u-c P=A+B=[; (5.29)

dove: C è una matrice (K.v x K.\1) che contiene le probabilità di transizione tra coppie di stati evanescenti; D è una matrice (n:v x KT) che contiene le probabilità di transizione da uno stato evanescente a uno tangibile; E è una matrice (KT x K.v) che contiene le probabilità di transizione da uno stato tangibile a uno evanescente; F è una matrice ( Kr x "'T) che contiene le probabiUtà di transizione tra coppie di stati tangibili; le matrici O, con elementi tutti nulli, hanno dimensioni congruenti con il fatto che P ha dimensioni (K.x x "'x ), dove la cardinalità dello spazio di stato X è ovviamente somma di "'ve "'T·

La procedura di analisi può proseguire secondo due approcci differenti:

l. si determina dalla matrice P definita dalla (5.29) la distribuzione di probabilità a regime 7r della CMN, dalla quale si ricava poi la distribuzione cli probabilità a regime del processo semi-markoviano delle marcature della RPSG in esame;

2. si ricava dalla matrice P la sottomatrice P' che descrive il comportamento del pro-cesso delle marcature relativamente ai soli stati (marcature) tangibili e da questa si calcola la distribuzione cli probabilità a regime della CMTD nascosta della RPTS che si "astrae" così dalla RPSG in esame.

Se si segue il primo approccio, è necessario risolvere il sistema

( = (P (5.30)

con L:i (; = 1, da cui si ricava la distribuzione di probabilità stazionaria ( del processo semi-markoviano; da questa si ottiene:

O se M i E Xv

1ri = .(5.31)

I: (ji9j

\ _, MiEX'l'

Page 272: Sistemi ad Eventi Discreti

264 Capitolo 5

dove

o se M ; E .X. v

1 L Àk(Mi)

se M , E XT

k:fkEA( Mi)

Il difetto di questa tecnica di soluzione sta nel fatto che si calcola una distribuzione C con "'X elementi, pur sapendo che per ogni stato (marcatura) evanescente M i E X,· si ha 1Ti =O e dunque basterebbe determinare un vettore Cdi " ·T (= K.x - K.v) elementi.

Il secondo approccio che si può seguire per l' analisi di una RPSG consente di ridurre la complessità dcl calcolo della soluzione, fondandosi sul calcolo delle sole probabilità di transizione tra coppie di stati tangibili; ciò viene effettuato ricavando la matrice P' = delle probabilità di transizione di una CMTD nascosta ridotta, il cui generico elemento

si ottiene per mezzo del generico elemento / 1; di F e degli elementi Cik· k : Xk E X\., di E, secondo la relazione

= !i;+ L -7 XJ} XkEX\

(5.32)

dove Pr { x k -7 .e J} denota la probabilità di raggiungere uno stato tangibile .e i E X 1

a partire da uno stato evanescente r k E X\., attraversando un numero arbitrario di stati evanescenti. Per calcolare Pr{ J:k -7 :rJ}, si consideri la matrice

i cui elementi sono le probabilità che partendo da una marcatura evanescente si vada a finire a una marcatura evanescente (elementi di C) o tangibile (elementi di D). La k-esima potenza della matrice A si può calcolare come

A' = [ l Ogni elemento delle K, • righe superiori di A k rappresenta la probabilità di raggiungere in k passi una generica marcatura, sia tangibile sia evanescente, a partire da una marcatura evanescente e attraversando solo stati evanescenti.

Le probabilità di raggiungere uno stato tangibile a partire da uno stato evanescente in non più di k passi, attraversando solo stati evanescenti, sono raccolte nella matrice

k-1

G,.. = LChD h=O

Poiché il numero di passi può essere arbitrariamente grande, è necessario far tendere k a un valore infinito, ossia calcolare G o.... La somma per righe degli elementi di G 00

è sempre pari a 1 perché, dal momento che la catena è irriducibile, non possono esistere stati evanescenti da cui è possibile non raggiungere mai uno stato tangibile. Questo fatto garantisce che

Page 273: Sistemi ad Eventi Discreti

Reti di Perri temporizzate 265

lim e" = o (5.33)

e quindi che il limite

esiste finito, da cui si può derivare che

(5.34)

Se non esistono cicli nell' insieme degli stati evanescenti, alJora dopo un numero fini-to di passi si raggiunge uno stato tangibile; in questo caso Ja serie nella (5.34) comprende un numero finito di termini, quindi

(5.35)

dove k0 è il numero di passi nel cammino di massima lunghezza. Se invece esistono cicli nell'insieme degli stati evanescenti e quindi è possibile ri-

manere per un numero infinito di passi all'interno di tale insieme, allora nella (5.34) si ha una somma infinita di potenze di matrici che, sotto la condizione (5.33), converge a

')C

C. ::. L c1t =[I - c1-' (5.36) h=O

e quindi

(5.37) J Una volta calcolata la matrice G cxn applicando Ja (5. 35) o la (5. 37) a seconda della

presenza o meno di cicli tra coppie di stati evanescenti, si può ricavare la matrice P' dalla

relazione V f .,. t G il ;:; F ., r.;, • r/ P' = F t EGoo (5.38)

e da questa la matrice Q della CMTC. Per calcolare gli elementi f/iì per uno c.;,tato tangi-bile qualsiasi è sufficiente calcolare la somma dei parametri di tutte le transizioni abilitate nella marcatura M,

-qu = 2: A,..(M;) M i E XT (5.39) k.ll EA ( M, )

Esempio 5.35. La Figura 5.35 rappresenta il modello RPSG di una risorsa che può essere usata in modo mutuamente esclusivo da due diverse classi di utenli; la transizione ti rappresenta la richiesta di utilizzo da parte di un utente, le transi1.ioni t2 e t3 rappresentano gli inizi di uso da parte dei due diversi utenti, mentre le transizioni t 1 e t 5 rappresentano le corrispondenti fini, con conseguente rilascio della risorsa, resa disponibile per un altro utente. Come usuale, accanto a ogni transizione temporiuata (t1 , I 1 e t5 ) è indicato il

Page 274: Sistemi ad Eventi Discreti

266 Capitolo 5

parametro che caratterizza la distribuzione dei suoi tempi di scatto, mentre accanto alle transizioni immediate (t2 e t 3 ) è indicata il peso a loro attribuito.

Figura S.35 Un esempio di modello RPSG riducibile a modello RPTS.

Sia M 0 = [2 O O O 1 JT la marcatura iniziale; il grafo di raggiungibilità è riportato nella Figura 5.36, dove

M 2 = [1O1 O or M 4 = [O 1 1 O O]T

M 3 = [1 o o 1 O]T

M s=[01010]1'

Si noti che in questo caso è indispensabile specificare le probabilità di scatto delle transizioni immediate t2 e t3, in quanto entrambe sono abilitate nella marcatura evane-scente M 1; come si evince dal grafo, tali probabilità valgono Pr{ t2 I M 1 } = e

Pr{t3 I M1} = rispettano il vincolo Pr{t2 I M 1 } + Pr{t3 I M 1 } = 1. La RPSG può raggiungere 6 marcature, di cui una sola è evanescente, mentre le altre 5 sono tangibili.

Eliminando la marcatura evanescente si ottiene il diagramma delle transizioni di stato della catena di Markov riportato nella Figura 5.37.

• Per effettuare l'analisi delle prestazioni di un modello RPSG è necessario però di-

sporre dell'espressione della distribuzione delle probabilità di stato a regime; a questo fine, si introduce il vettore di numeri reali y = [Y1, ... ,y"'r ]; la soluzione del sistema di equazioni lineari

Page 275: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 267

Figura 5.36 Grafo di raggiungibilità della RPTS in Figura 5.35.

a a+p

Figura 5.37 Diagramma delle transizioni di stato della catena di Markov equivalente alla RPTS in Figura 5.35.

" "' .s

{ y = yP' ) f >-U'y 1'T

(5.40) LYì=l

I ... 4- -f 7·:.:-0 i-1 I ._

/.Jr I

fornisce la distribuzione di probabilità stazionaria della CMN ridotta; il generico elemento .Il i rappresenta il numero di volte che il processo delle marcature visita M 1 •

Per ottenere le probabilità a regime del processo delle marcature, si utilizza l' espres-sione

Page 276: Sistemi ad Eventi Discreti

268 Capitolo 5

S_.J.:_

v"t S.J>t "' ,.,li( j

1f i = -K-.T--

L Y ii9 i i=l

i= 1, ... ,Ky (5.41)

dove 1ri rappresenta la distribuzione di probabilità a regime della marcatura M i. ossia la percentuale di tempo che il processo delle marcature trascorre in M i, e .iJ i denota ancora il tempo di permanenza medio nella marcatura Mi· dato da

1 ai =-----L _xk

tk EA( M;)

i = 1, ... ,K,T (5.42)

Il principale vantaggio di questo secondo metodo di analisi proposto rispetto al pri-mo sta nella riduzione significativa dell'influenza del numero di 1stati evanescenti sulla complessità computazionale; infatti, mentre nel primo metodo l'onere di calcolo della soluzione era proporzionale alla quantità (x-.v + l\.T ) 3 , nel secondo questa cresce come (r;,t +I\.}). L'intera procedura di analisi utilizzando il metodo della CMN è illustrata nel seguente esempio.

Esempio 5.36. Si consideri un semplice sistema flessibile di produzione (Flexibie Ma-nufacturing System, FMS) costituito da due macchine m 1 e m 2 e da un veicolo a guida automatizzata (Automated Guided Vehicle, AGV), che assolve il compito di rifornire le due macchine dei componenti di base, di due tipi diversi, necessari per la produzione. Il modello RPSG di questo sistema è rappresentato in Figura 5.38, nello stato iniziale in cui 1' AGV è libero e le macchine stanno entrambe lavorando: come si vede, la marcatura corrispondente è M 0 = [O 1 O O O O 1 O 1 Of la marcatura iniziale.

Pio

Ps

Figura 5.38 Modello RPSG di un semplice sistema di produzione.

Page 277: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 269

La RPSG comprende 10 posti e 8 transizioni, di cui 5 immediate {t1:t3 ,l4,l5 ,t6}e3 temporizzate {t2,t7,ts} ; i loro significati sono riportati nella Tabella 5.10. Le frequenze di scatto delle transizioni immediate sono indicate come infinite, come d' uso.

Posto Descrizione

PI coda di parti grezze in attesa di essere trasportate dall 'AGV

P2 AGV libero p3 AGV sta trasportando un pezzo grezzo p4 AG V rende disponibile un pezzo grezzo p5 coda di pezzi in attesa di essere lavorati da m 1

P6 coda di pezzi in attesa di essere lavorati da m 2

P1 m 1 sta -lavorando

Ps rn.1 libera pg m2 sta lavorando

P10 m2 libera ,..

I'

Transizione Descrizione Tasso di scatto

ti AGV inizia il trasporto di un pezzo 00

t2 AGV termina il trasporto di un pezzo l1'.1

t3 arrivo di pezzi nella coda di m.1 00

t4 arrivo di pezzi nella coda di m 2 00

ts m 1 inizia una lavorazione 00

l6 m2 inizia una lavorazione 00

t1 m 1 termina una lavorazione 0'2

ts m2 temùna una lavorazione 0'3

Tabella 5.10 Significati dei posti e delle transizioni della RPSG in Figura 5.38.

11 grafo di raggiungibilità è riportato in Figw-a 5.39 e include, oltre alla marcatura iniziale M 0 , le marcature

M i · [1 1 o o o o o 1 1 of'' ; M 2 = (11 o o o o 1 o o 1)1' ; Ma = [o o J. o. o o o i i o)r; .

M 4 (-0 o 'l o o o 1 o o 1V; M 5 = [O 1 o 1 o o o l 1orr;M6 = [1 o lo o o o 1 o 1 V; M1 =(O 1o1oo1 o o iv; M s =[O 1oo1oo11 O]T; M g= [O 1ooo1o1] O]T;

M 10 = [1101000101]r; M11 =[0100101001f;M12 = [0100011001rr;

M m = [1100010101]1';M14 = (00 1001010l]'r: M 15 = [0010100101)r;

M 16 =[11 00 100101f .

Page 278: Sistemi ad Eventi Discreti

270 Capitolo 5

7 M o

15 r, fi, 16

7 M3 M4

13 14 Mg i(ò M5 M6 M7 )i M1 2

'• l f'' l '' 15 t6

M9 MIO M,,

t, 16 /,r3 11 15 l '1 M14

I 4 M 15

M13 Ml6

Figura 5.39 Grafo di raggiungibilità della RPSG in Figura 5.38.

La marcatura iniziale M 0 è una marcatura tangibile, perché in essa sono abilitate solo le due transizioni temporizzate t7 e ls; da questa marcatura, secondo le regole viste, h scatta con probabilità et

2°;.0:

3 e t8 scatta con probabilità "

2'i!<ts. Lo scatto di t7 porta

alla marcatura M 1, che è evanescente, dal momento che in essa è abilitata la transizione immediata t 1 tuttavia, essendo t 1 l'unica transizione immediata abilitata, non è neces-sario specificare la sua probabilità di scatto, che è certamente 1. Lo scatto di t.1 porta alla marcatura tangibile M 3 • in cui possono scattare I 2 con probabilità 01 e t8 con

a1---u3

Probabilità 0; • Lo scatto di f., porta alJa marcatura M che è evanescente e abilita

OJ ct3 - •

due transizioni immediate, t3 e t 1: in questo caso la prossima transizione che scatta è selezionata in base alle probabilità di scatto delle due transizioni immediate abilitate, che si assume siano Pr{t3 I M :;} = q e Pr{ti I M fi} = 1- q.

L'evoluzione delle marcature procede poi come appena descritto, fino a ottenere il grafo di raggiungibilità come raffigurato in Figura 5.40; delle 17 marcature contenute nell'insieme di raggiungibilità, quelle tangibili sono solo 6: M 0 , M 3 , M .1, M 6 , M 9 e M 11 . Si noti che in marcature evanescenti come M 13 e M 16 scattano simultaneamente due transizioni immediate; per esempio, in sono abilitate t 1 e t6 , ma lo scatto di ognuna delle due non influenza in alcun modo lo scatto dell'altra e dunque gli scatti si possono senza problemi considerare simultanei.

La CMN ridotta relativa al modello RPSG, ottenuta elinùnando le 11 marcature eva-nescenti , è riportata nella Figura 5.40; gli archi che collegano gli stati tangibili sono eti-chettati con le singole probabilità di transizione, in cui i coefficienti ai.i indicati valgono:

Page 279: Sistemi ad Eventi Discreti

Reti di Petti temporizzate 271

a2 a3 qa1 (1 - q)a1 ao,3 = ; ao.4 = ; a3,0 = ; a4,0 = ;

a2 + a3 a2 + a3 a1 + a3 a1 + a2

(1 - q)a1 a3 a2 qcr.1 a3,9 = + ; a3,6 = ; at1 6 = ; at1 11 =

a1 a3 a1 + a3 ' a1 + a2 ' ai + a2

Mo

"o.3 "o.4 M3 M.4

e Dj [o o] l) 1 6 11

Ait!:> = [oo+ EF-Figura 5.40 CMN ridotta del modello RPSG in Figura 5.38.

U 1 ;:: F.+- F .. e;. ·D La relativa matrice delle probabilità di transizione P' può essere calcolata per mezzo

della relazione (5.38). Ponendo per semplicità a 1 = a 2 = a 3 = 1 e q = 0,4, le matrici C, D, E e F risultano

M 1 o o o o o o o o o o o M 2 o o o o o o o o o o o M s o o o o 0,4 o o o o o o M 1 o o o o o o 0,6 o o o o M s o o o o o o o o o o o

e = M10 o o o o o o o o 0,4 0,6 o M 12 o o o o o o o o o o o M 13 o o o o o o o o o o o M 111 o o o o o o o o o o o M 15 o o o o o o o o o o o M l6 o o o o o o o o o o o

Mi o 1 o o o o M 2 o o 1 o o o M 5 o o o o O,G o M 1 o o o o o 0,4 M s ] o o o o o

D = M10 o o o o o o M 12 1 o o o o o M13 o 1 o o o o M1 11 o 1 o o o o M 15 o o 1 o o o M 15 o o 1 o o o

Page 280: Sistemi ad Eventi Discreti

272 Capitolo 5

Mo 0,5 0,5 o o o o o o o o o M3 o o 0,5 o o o o o o o o

E = M4 o o o 0.5 o o o o o o o M5 o o o o o 1 o o o o o Mg o o o o o o o 1 o o o Mu o o o o o o o o o o 1

M o o o o o o o M 3 o o o 0,5 o o

F= M .1 o o o 0.5 o o M6 o o o o o o M9 o o o o o o M11 o o o o o o

dove per comodità di lettura si sono indicati solo gli stati a cui si riferiscono le righe delle matrici; si ricorda comunque che le colonne delle matrici C e E corrispondono agli stati evanescenti in ordine crescente di indice, come per le righe, ossia M 1, M 2, M 5 , M 1,

Mg, Mio. M12, M 13, M14, M ls , M1 a- In modo duale, le colonne delle matrici D e F corrispondono alle 6 marcature tangibili Mo, M 3, M 4, M s , Mg e M 11 ·

La matrice ridotta P' risulta quindi

o 0,5 0,5 o o o 0,2 o o 0,5 0,3 o

q} = 0,3 o o 0,5 o 0,2 o 0,6 0,4 o o o o 1 o o o o o o 1 o o o

Il vettore y = [Yo y3 y4 y6 yg Yu] soluzione del sistema (5.40) è

y = [0,12 0,30 0,20 0,25 0,09 0,04]

e i tempi medi di permanenza calcolati secondo la (5 .41) sono

190 = J3 = 194 = 0,5 ; J6 = Jg = J11 = 1.

Quindi le probabilità di stato a regime calcolate per mezzo della (5.42) sono

'lTQ = 0,09 j 7T3 = 0,22 j 7T4 = 0,14; 7T6 = 0,36; 7T9 = 0,13 ; 11"1 J = 0,06.

Conoscendo le probabilità di stato a regime, è possibile valutare alcuni indici di prestazioni del sistema, quali ad esempio:

• Probabilità che la coda in attesa dell' AGV sia vuota:

Pr {1W(p1) =O} = ?To + 7r:3 + 7r4 + 7r9 + 7r11 = 0,64.

• Lunghezza media della coda in attesa dell'AGV:

Pr{M(p1) = l} = 7ra = 0,36.

Page 281: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 273

• Numero medio di clienti nella coda dell' AGV:

7r3 + 7r.1 + 27r6 = l ,08.

• Utilizzazione dell' AGV:

Pr{JI(p2) =O}= Pr{.l\f(p3) = 1} = 7r:J + 1r.1 + 7r6 = 0.72.

• Il metodo basato sulla soluzione della CMN ridotta presenta però anche un limite

importante, che consiste nell'assunzione implicita che le probabilità a regime di tutte le marcature che abilitano transizioni immediate siano nulle. Se per esempio si prova ad applicare tale metodo per l'analisi della RPSG dell'Esempio 5.34, ci si rende conto che tale assunzione rende il metodo inapplicabile; infatti, sebbene la RPSG e il corrispondente processo delle marcature siano irriducibili, il metodo porterebbe a considerare la RPSG come divisibile in due componenti ergodiche { J'o •. r 1 } e { .r2 • .r3 } ( cfr. Capitolo 3 e Appen-dice B).Pertanto il metodo risulta non applicabile ogni volta che la presenza di transizioni immediate fa sì che la RPSG attraversi degli stati (marcature) istantanei ergodici.

Oltre ai due descritti in questo testo, esistono altri metodi di analisi di RPSG, come per esempio quello proposto da Ammar et al., (1987), che fornisce una procedura di soluzione più generale che limita la complessità computazionale del primo metodo di analisi descritto e generalizza il secondo metodo di analisi, basato sullo studio della CMN della RPSG.

5.6 Reti di Petri continue e reti di Petri ibride

Negli ultimi anni alcuni autori hanno introdotto un'estensione al formalismo grafico e matematico offerto dalle reti di Petri allo scopo di modellare i sistemi ibridi, cioè quei sistemi in cui sono contemporaneamente presenti sia dinamiche ad avanzamento tempo-rale (SAT) sia dinamiche ad eventi discreti (SED) (cfr. paragrafo 1.6). Così sono state proposte le reti di Petri ibride (RPI), riprese in questo testo secondo la descrizione di Alla e David ( 1998). Lo stato deU 'arte sulle RPI è stato recentemente riassunto in un numero speciale di un'importante rivista scientifica del settore (Di Febbraro et al., 200lb).

Una rete di Petri ibrida può essere pensata come il risultato dell'unione di una rete di Petri temporizzata (solitamente nei posti) e una rete di Petri continua; anche le reti di Petri continue sono state introdotte recentemente (si veda ad esempio il lavoro di Le Bail et al., (1993)) e presentano le caratteristiche fondamentali descritte nel prossimo paragrafo.

5.6.1 Reti di Petri continue

Com'è facile intuire da quanto visto in questo capitolo e nel precedente, il numero di stati che una rete di Pctri può raggiungere cresce indefinitamente con il numero di marche nella rete e ciò costituisce una limitazione importante all'uso pratico dci modelli di SED costituiti da reti di Petri. Per fare un esempio, si consideri un sistema di produzione costituito da tre macchine in serie rn 1, m-i e ma, intervallate da due spazi di accodamento intermedi di capacità c1 e c2 : tutti i pezzi visitano le macchine in sequenza e attendono in coda se necessario. Nell'ipotesi che ci sia spazio di accodamento illimitato a monte di m 1

Page 282: Sistemi ad Eventi Discreti

274 Capitolo 5

e a valle di m:1, il sistema può raggiungere un numero di stati pari a 23 (c1 + l)(c2 + l ); se per esempio c1 = c2 = 10, gli stati in cui il semplice sistema produttivo può trovarsi sono ben 968, il che rende bene l'idea di quale possa diventare questo numero per sistemi appena più complicati.

È anche per ovviare a questo "inconveniente" che sono state introdotte le reti di Pe-tti continue (RPC}, in cui le marcature sono numeri reali e il processo di scatto delle transizioni è continuo. Le RPC costituiscono un'approssimazione accettabile del com-portamento delle parti di un SED che possono essere assimilate a processi continui; per esempio, per tornare alla catena produttiva su considerata, se la produzione avviene sen-za interruzioni o quasi, è ragionevole approssimare come continuo il flusso delle parti da lavorare attraverso la serie delle tre macchine, così come è di conseguenza plausibile considerare reale il numero di pezzi che attendono nelle diverse code. Sarebbe invece sbagliato comportarsi in maniera analoga per quanto riguarda lo stato operativo di ogni macchina (arriva, guasta. in riparazione, ... ) che deve forzatamente essere rappresentato da una variabile discreta.

Una rete di Petri continua può essere considerata, idealmente, come il limite per k --t oo di una RPT nella quale ogni marca è stata suddivisa in k parti infinitesime; questo procedimento consente di trasformare le marche discrete in quantità reali. Conseguente-mente, in una rete di Petri continua sia la marcatura sia i pesi degli archi sono costituiti da numeri reali. Le regole di evoluzione dinamica della rete sono analoghe a quelle de-fin ite per le reti Pff, con l'unica fondamentale differenza che, durante lo scatto di una transizione continua abilitata t J, le quantità in gioco sono reali e comprese nell ' intervallo (O. min { JI (p 1 )} ), anziché marche discrete.

p,E • ti

Graficamente, i posti e le transizioni di una rete continua sono rappresentati per mezzo di linee doppie, come esemplificato in Figura 5.41.

Figura 5.41 Esempio di rete di Petri continua.

Per quanto riguarda la temporizzazione di una rete di Petri continua, si ha che lo scatto di una transizione continua abilitata I J non avviene istantaneamente, ma con una determinata velocità v; > O, che può essere immaginata come il limite per k --t oo della frequenza di scatto 1 / iJ J.

L'evoluzione dcl le marcature dei posti è descritta, istante per istante, dalla relazione differenziale

(5.43)

Nel caso particolare di Figura 5.41, la (5.43) diventa

Page 283: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 275

per il posto p 1 e

per il posto P2.

5.6.2 Reti di Petri ibride

In questo contesto, le reti di Petri ibride (RPI) vengono introdotte e descritte come il risultato dell'unione delle reti di Petri temporizzate e delle reti di Petri continue. In una RPI pertanto sono sempre presenti due parti, una continua e 1' altra discreta, collegate da archi che uniscono un nodo (posto o transizione) discreto a uno continuo. Le due parti possono influenzarsi a vicenda, modificando i rispettivi stati, ma con qualche restrizione, come indicato nel seguito del paragrafo.

Definizione 5.37. Una rete di Petri ibrida (hybrid Petri net) è rappresentata dalla struttura Ni = (P.T. Pre.Post.h) dove:

• P = p C U pD è l'unione dell'insieme p c contenente mc posti continui con l'insieme pD contenente mP posti discreti;

• T = T r U Tn è l'unione dell'insieme Te contenente r/' transizioni continue con l'insieme Tn delle nD transizioni discrete;

• Pre : J> x T U {O} è la funzione di pre-incidenza che specifica gli ar-chi diretti dai posti alle transizioni e viene rappresentata mediante una matrice di dimensioni (mc+ mD) x (ne+ n°);

• Post : P x T -t R+. U {O} è la funzione di post-incidenza che specifica gli archi diretti dalle transizioni ai posti e viene rappresentata mediante una matrice di dimensioni (rnc + m 0 ) x (r{' + nD);

• h : P U T -+ { C,D} è la.funzione ibrida che indica se un nodo della rete (posto o transizione) è continuo oppure discreto. A

È importante osservare che le funzioni Pre(p1 .t;) e Post(pi.tj) possono assumere solo valori interi quando p; E pD e l J E T v. Un esempio di rete di Petri ibrida è rappresentato in Figura 5.42.

Per quanto riguarda l'evoluzione temporale delle marcature dei posti continui, la (5.43) assume in questo caso la fonna

(5.44)

Page 284: Sistemi ad Eventi Discreti

276 Capitolo 5

Figura 5.42 Esempio di rete di Petri ibrida.

nella quale vengono considerate solo le transizioni continue. Per quanto riguarda invece posti e transizioni discreti, essi evolvono secondo le regole definite in precedenza per le reti P/f.

In generale, una transizione discreta può avere senza restrizioni posti di ingresso e di uscita sia continui sia discreti. Anche una transizione continua può essere collegata a posti sia continui sia discreti, ma con l'importante vincolo che ogni posto discreto a essa collegato risulti sia di ingresso sia di uscita e che gli archi che lo uniscono alla transi-zione continua abbiano lo stesso peso. Questa limitazione assicura la conservazione del-l'interezza della marcatura dei posti discreti in una RPI, come enunciato nell'importante proposizione seguente.

Proposizione 5.38. Data una rete di Petri ibrida N;. la marcatura dei posti discreti rimane intera se e solo se per ogni coppia (p1 .t;) tale che Pi E pc et; E T 0 , si ha Pre(p, ,I J) = Po.'1f(p1 .tj). •

Per chiarire questa proposizione si consideri la rete di Figura a ogni istan-te lo scatto di t 1 preleva dalla marcatura del posto p3 una "porzione" di marche pari a Pre(p'J,t1 ) = a e ne ripone una quantità pari a Post(p3 ,t1 ) = 6. Se o = o, come richiesto dalla Proposizione 5.38, la marcatura resta intera e costante.

Come conseguenza si ha che, se sono verificate le ipotesi della Proposizione 5.38. lo scatto delle transizioni continue non può modificare la marcatura, cioè lo stato, della parte discreta della rete.

Le RPI sono state utilizzate con successo per modellare classi importanti di sistemi ibridi, quali sistemi di produzione continua (o che si può considerare tale), sistemi di traffico autostradale e reti di traffico urbano con incroci semaforizzati. Viene di seguito riportato un esempio di applicazione relativo a un incrocio stradale regolato da semaforo a due fasi, nel quale vengono evidenziate le dinamiche SAT e SED presenti nel sistema (Di Febbraro et al., 200la).

Esempio 5.39. Un flusso di traffico è evidentemente composto da entità discrete, i veicoli, ma in certe applicazioni può essere conveniente modellarlo come un flusso continuo, così da poter essere descritto da equazioni di stato analoghe ali' equazione ( 1. I) introdotta nel Capitolo l. Se si considerano per esempio i veicoli presenti nello spazio di accodamento all'ingresso di un incrocio regolato da semaforo durante la k-esima fase di rosso di durata .ok · ' · 'u 1 , s1 puo scnvere:

Page 285: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 277

dove la grandezza Q esprime la quantità totale di veicoli presenti nella coda ali' istante T,

mentre vin ( T) esprime la velocità di allungamento della coda, cioè il numero di veicoli che si aggiungono alla coda nell'unità di tempo.

Durante la fase di verde, di durata l'equazione (5.39) si modifica in

dQ(T) = Q

se Q(r) >O

se Q(r)

VT E

dove la grandezza v0 ut esprime il numero di veicoli che nell' unità di tempo attraversa-no l'incrocio. e che quindi lasciano la coda. Si noti come le equazioni (5.39) e (5.39) assomigliano alla (5.44).

Risulta quindi chiaro che l'evento (discreto) costituito dal passaggio alla fase di rosso alla fase di verde provoca un cambiamento nell'equazione che modella la coda e pertanto l'intero comportamento del sistema durante il k-esimo ciclo semaforico, di du-rata = + possiede le caratteristiche di un sistema ibrido e può quindi essere modellato tramite RPI. È infatti sufficiente rappresentare la grandezza Qi ( T) per mez-zo della marcatura di un opportuno posto continuo p}0

, la velocità vin per mezzo della velocità della transizione ti E e Pi e la velocità vout tramite la velocità della transizio-ne t, E p7·. Il passaggio dalla (5.39) alla (5.39), e viceversa, avviene semplicemente abilitando o disabilitando quest'ultima transizione in funzione dello stato del semaforo.

Si consideri ora il semplice incrocio stradale a due fasi riportato in Figura 5.43; si vuole rappresentare il comportamento dei flussi di traffico, abilitati ad attraversare l'incrocio come indicato in figura per ognuna delle due fasi.

N N

o o

l --r:n.-

s Pruna

Figura S.43 Incrocio semaforico con regolazione a due fasi.

I I I

I

I

I

s Seconda

------E

Il modello RPI di tale sistema è raffigurato in Figura 5.44. mentre il significato dei posti e delle transizioni del modello sono riportati in Tabella 5.39.

Page 286: Sistemi ad Eventi Discreti

278 Capitolo 5

Osservando il modello si nota facilmente la presenza della sottorete discreta, che modella la dinamica del semaforo, e della sottorete continua, che modella l'evoluzione dei flussi di veicoli.

I I ..

Figura 5.44 Modello con reti di Petri ibride di un incrocio a due fasi.

Esercizi

Esercizio 5.1. Si consideri la semplice rete di code rappresentata nella Figura 5.45, che può essere considerata come un sistema di produzione in cui la macchina l ha a disposi-zione una quantità illimitata di parti da lavorare, la coda tra le macchine l e 2 ha capaciLà illimitata e non esiste spazio di accodamento tra le macchine 2 e 3.

>

Figura 5.45 Rete di code per l'Esercizio 5.1.

Page 287: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 279

Posto Descrizione

P1 i flussi della prima fase sono abilitati

P2 i flussi della seconda fase sono abilitati

/13 segnale verde per la prima fase

P-1 segnale giallo per la prima fase

Po segnale verde per la seconda fase

V6 segnale giallo per la seconda fase volume di veicoli in coda nella direzione T

p oul 11

volume di veicoli usciti dalla direzione y

Thansizione Descrizione Ritardo

ti passaggio dalla prima alla seconda fase 1?1

t2 passaggio dalla seconda alla prima fase Ù1

t ;3 passaggio dal verde al giallo durante la prima fase iJ I f 4 passaggio dal verde al giallo per la seconda fase 191 tx ingresso dei veicoli dalla direzione x 'I.lx

tN.8 attraversamento durante la prima fase Vattr

lE.O attraversamento durante la seconda fase Va tir

Tabella 5.11 Significato dei posti e delle transizioni di Figura 5.44.

Quando la macchina 2 termina di lavorare una parte, essa si rende disponibile per la lavorazione successiva soltanto se dena parte può andare alla macchina 3, ossia se la macchina 3 è libera di cominciare la sua lavorazione; in caso contrario, la parte rimane alla macchina 2 e la occupa finché la macchina 3 non si libera. Siano !91, 192 e 193 i tempi di servizio deterministici costanti delle macchine l, 2 e 3 e ru. l'istante di tempo in cui la k-esima parte lascia la macchina i, i = 1,2,3. Nell'ipotesi che il sistema sia inizialmente vuoto, costruirne un modello RPTD e scrivere le equazioni di stato (5.6) e (5.7) che regolano la sua evoluzione dinamica.

Esercizio 5.2. Un robot è preposto alla movimentazione di pezzi da una macchina rn1 a un magazzino ;r e da questo a un'altra macchina m2; si suppone che ci siano sempre parti disponibili per la lavorazione presso m 1 e che il magazzino.rabbia una capacità massima di n pezzi; il robot può spostare un solo pezzo alla volta e impiega per l'operazione di trasporto da rn 1 a J' un tempo 171 e da x a m ,2 un tempo iJ2.

Determinare per il sistema così descritto i due modelli RPTD con temporizzazione delle transizioni e con temporizzazione dei posti; quale modello presenta la struttura più semplice? Per quale motivo?

Esercizio 5.3. Un incrocio stradale è regolato da un semaforo a tre fasi, che durano ri-spettivamente ù 1, ù2 e 193 • Prescindendo dalla presenza o meno di veicoli all'incrocio, modellare il semaforo con una RPTD con temporizzazione delle transizioni. Determinare

Page 288: Sistemi ad Eventi Discreti

280 Capitolo 5

poi il modello R.PTD con temporizzazione dei posti e discutere le differenze tra i due mo-delli: quale sarebbe più adatto per l'estensione del modello a rappresentare i veicoli che attraversano l'incrocio?

Esercizio 5.4. Modellare per mezzo di una RPTD un protocollo di comunicazione speci-ficato come segue:

• la trasmissione dei pacchetti di dati coinvolge un nodo trasrnettitore e un nodo rice-vitore;

• il trasmettitore dopo aver inviato un pacchetto rimane in attesa;

• il ricevitore manda un messaggio di avvenuta ricezione ogni volta che arriva un pac-chetto corretto; se invece viene rilevato un errore invia un messaggio di trasmissione errata;

• il trasmettitore invia nuovamente l'ultimo pacchetto inviato se non riceve un mes-saggio di avvenuta ricezione entro 1) unità di tempo dopo la trasmissione precedente o riceve un messaggio cli trasmissione errata;

• il trasmeltitore invia un nuovo pacchetto se riceve un messaggio di avvenuta ricezio-ne entro fJ unità di tempo dopo la trasmissione precedente.

Esercizio 5.5. Modellare per mezzo di una RPTD un sistema produttivojob-shop carat-terizzato come segue:

• il processo è relativo alla produzione di tre diverse parti {!1, i = 1.2.3, per mezzo di 3 diverse macchine mi, .i = 1.2.3; i prodotti {! 1 e e3 richiedono una sequenza di tre operazioni di lavorazione (w1.1,wi,'2·wi,3), i = 1,3, mentre g2 richiede due operazioni (w2.1 ,w2.2);

• le operazioni di lavorazione dci prodotti sono assegnate alle macchine secondo le sequenze: s({!1) = (m1(3).m2( l ).m3( 1)); s(e2) = (m3(2).m1(l)) : s(g3) = (m2 (6).m 1 ( 1).m3 (3)), dove tra parentesi sono indicati i tempi di esecuzione delle singole operazioni;

• il mix di produzione prevede il 25o/c di lh, il 503 di g2 e il 25% di g3 ; la sequenza di arrivo si fissa allora come so = (f]l ,g-;, 1Q2,{J3);

• per soddisfare il mix di produzione, Je macchine lavorano ripetendo le sequenze di operazioni: s(mi) = (w1,1,w2,2,w2.2,w3.2); s(m2) = (wi.3,W3,1 ); s(m3) = (w1.2.W2.L . ..V3,3.u.J2.1).

La RPTD ottenuta è un GMTFC? Se sì, determinare i cicli di comando corrispondenti alle 3 macchine e calcolare il circuito critico e la frequenza di scatto a regime Àr.

Esercizio 5.6. Determinare il modello GMT di un sistema produttivo job-shop caratteriz-zato come segue:

• il processo è finalizzato alla produzione di quattro parti di tipo diverso {li, i 1.2,3,4, da parte di 3 diverse macchine m1, j = 1,2.3; il prodotto g 1 richiede una sequenza di tre operazioni di lavorazione (w1 . 1 • .u1 •2 .w 1 .3 ), gli altri prodotti sequenle di due opera1.ioni (w;,i :wi.2), i = 2:3:-1;

Page 289: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 281

• le operazioni di lavorazione dei 4 prodotti sono assegnate alle macchine secondo le sequenze:

s(g1) =(mi ,m2,rn3); s(gz) = (m3 ,m2); s(o3) = (ni1 ,1113) ; s(g1) =(mi im.3);

• le macchine lavorano ripetendo le sequenze di operazioni:

s(mi) = (wl.1.w3,1.w.u); s(m2) = (w1.2,w2.2); s(mi) = (wi.3.w2.1.w3,:z.W4,2);

• in ogni ciclo di lavorazione devono essere prodotte parti di ciascuno dei 4 tipi per 1/4 dcl totale della produzione.

Determinare tutti i cicli dcl GMT e individuare tra questi i cicli di comando corri-spondenti alle macchine. Se il modello GMT ottenuto risulta un GMTFC: associare una temporizzazione ai posti o alle transizioni che rappresentano l 'esecuzione delle operazio-ni e applicare i teoremi che consentono di valutare le sue prestazioni; quale macchina risulta il "collo di bottiglia" del sistema?.

Esercizio 5.7. Si riprenda l'Esempio 5.21, ma si associ ora alla RPTD raffigurata in Fi-gura 5 .17 una temporizzazione sui posti. In particolare, associando agli 8 posti p1 .... ,p8

della rete i ritardi costanti ù1 = 192 = 1h = 04 = '195 = ù7 = 1, {)6 = 3 e ù8 = -1, si verifichi che la rappresentazione in termini di algebra max-plus del sistema in esame risulta la medesima, ossia che la matrice A rimane invariata. Si verifichi inoltre che i tempi di ciclo e quindi le prestazioni del sistema risultano uguali nei due casi.

Esercizio 5.8. La rete di Pctri in Figura 5.46 comprende tre transizioni immediate t 1 , t2

e ':3·

Figura 5.46 RPTS per l'Esercilio 5.2.

Le transizioni l 1 e t2 possono scattare contemporaneamente? Ricavare condizioni sufficienti perché, in generale, due o più transizioni immediate possano scattare contem-poraneamente in una RPTS.

Esercizio 5.9. ln una coda Jl /1'1 /1/ K i clienti arrivano secondo un processo di Poisson con parametro ,\ e vengono serviti con tasso di servizio I'· Il servente può servire più clienti contemporaneamente secondo Ja politica seguente: se quando termina un servizio ci sono clienti in attesa, questi vengono serviti tutti insieme; in caso contrario, il servente attende che arrivi un cliente e lo serve. Determinare un modello RPTS del sistema. Nel-l'ipotesi che nel sistema possano esserci al massimo 3 clienti, ossia K = 3, disegnare il grafo di raggiungibilità della RPTS e il diagramma delle transizioni di stato della CMTC a essa associata; calcolare infine la distribuzione di probabilità a regime.

Page 290: Sistemi ad Eventi Discreti

282 Capitolo 5

Esercizio 5.10. Si consideri una coda con due serventi, dove i clienti arrivano secondo un processo di Poisson con parametro >.. I tempi di servizio dci clienti da parte dei due serventi sono entrambi variabili aleatorie con densità di probabilità esponenziale negativa, ma caratterizzate da parametri diversi: JL 1 per il servente 1 e J-t2 per il servente 2. Se il servente I è molto più veloce del servente 2, ossia µ 1 >> J-t2 , i clienti che trovano al loro arrivo entrambi i servitori liberi scelgono ovviamente il servente 1; altrimenti, un cliente in coda va aJ servente 2 solo se ci sono almeno k clienti da servire prima di lui (incluso quello attualmente in servizio).

Definire un modello RPTS del sistema. Posti sia k sia la capacità della coda pari a 2, disegnare il grafo di raggiungibilità della RPTS e il diagramma delle transizioni di stato della corrispondente CMTC. Determinare infine il minimo rapporto l!:l che rende la

µ2

scelta di attendere il servente 1 conveniente dal punto di vista del tempo medio trascorso nel sistema. rispetto ad andare subito al servente 2.

Esercizio 5.11. In una rete di code chiusa tandem composta da due code circolano tre clienti. Entrambe le code hanno un solo servente e tempi di servizio con distribuzione esponenziale caratterizzata dal parametro J-l, ma il servente della seconda coda inizia un servizio solo quando sono presenti almeno due clienti. Determinare un modello RPTS della rete di code e calcolare la distribuzione di probabilità a regime dei clienti nella rete, il numero medio di clienti alle due code, il tempo medio trascorso da ogni cliente alle due code e il tempo medio impiegato da un cliente a completare un intero ciclo nella rete.

Esercizio 5.12. Un sistema a coda comprende due code ma un solo servitore. Nel sistema possono esserci contemporaneamente un massimo di 2 clienti, che arrivano secondo un processo di Poisson con parametro À; i clienti che arrivano quando nel sistema ci sono già due clienti vengono scartati. Ogni cliente che arriva sceglie in modo equiprobabile di andare a una delle due code. I tempi di servizio sono esponenzialmente distribuiti con parametro JL. Il servente serve alternativamente un cliente da una coda e un cliente dell'altra; se la coda a cui si rivolge il servitore è vuota, esso torna subito a servire un cliente dell'altra fila d'attesa.

Determinare un modello RPTS del sistema. Disegnare il diagramma delle transizioni di stato della CMTC che modella il sistema. Nel caso À = J-l, calcolare la distribuzione di probabilità a regime e il numero medio di clienti nel sistema e nelle due file d'attesa.

Esercizio 5.13. Si consideri una coda Al/ Al /1 nella quale il servente viene disattivato quando non ci sono clienti da servire. Il servente viene poi riattivato quando nella coda si trovano k clienti in attesa di servizio. Evidentemente, il caso k = 1 corrisponde al normale funzionamento della !II/ 1'1/1. Determinare una RPTS che modelli il sistema. Nel caso k = 2, disegnare il grafo di raggiungibilità della RPTS e il diagramma delle transizioni di stato della CMTC che modella il sistema. Nell'ipotesi À = l'utilizzazione del servitore e il tempo medio passato in attesa dai clienti.

Bibliografia

• Ajmone Marsan, M., "Stochastic Petri nets: an elementary introduction", in: Ad-vances in Petri Nets, Lecture Notes in Computer Science, Voi. 424, Springer-Verlag, 1990.

Page 291: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 283

• Ajmone Marsan, M., G. Balbo, G. Conte, ''A class of Generalized Stochastic Petri Nets for the performance analysis of multiprocessor systems", ACM Transactions on Computer Systems, Vol. 2, pp. 93-122, 1984.

• Ajmone Marsan, M., G. Balbo, G. Conte, S. Donatelli, F. Franceschinis, Modelling with Genera/ized Stochastic Petri Nets, fohn Wileys and Sons, 1995.

• Alla, H., R. David, "Continuous and hybrid Petri nets", Joumal of System Circuits and Computers, Vol. 8, No. 1, pp. 159-188, 1998.

• Ammar, H.H., Y.F. Huang, R. Liu, "Hierarchical models for system reliability, main-tainability, and availability", IEEE Transactions on Circuirs and Systems, Voi. 34, pp. 629-638, 1987.

• Baccelli, F., G. Cohcn, G.J. Olsder, J.P. Quadrat, Synchronization and linearity, Wiley, 1992.

• Coolahan, J. , J. Roussopoulos, "Timing requirements for time-driven systems using augmented Petri nets", IEEE Trcmsactions on Software Engineering, Vol. 9, 1983.

• Chretienne, P., Les reseaux de Petri temporisées, Tesi di laurea, U1ùv. Paris VI, Paris, 1983.

• Cohen, G., D. Dubois, J.P. Quadrat, M. Viot, "A linear-system theoretic view of discrete-event processes and its use for performance evaluation in manufacturing", IEEE Transactions onAutomatic Contro[, Vol. 30, pp. 210-220, 1985.

• Cohen, G., P. Moller, J.P. Quadrat, M. Viot, "Algebraic tools for the performance evaluation of discrete event systems", Proceedings IEEE, Vol. 77, pp. 39-58, 1989.

• Cohen, G., S. Gaubert, J.P. Quadrat, "Max-plus algebra and system theory: where we are and where to go now'', Annual Reviews in Control, VoL 23, pag. 207-219, 1999.

• David, R., H. Alla, Petri Nets and Grafcet, Prentice-Hall, 1992.

• De Schutter, B., "On the ultimate behavior of the sequence of consecutive powers of a matrix in the max-plus algebra'', Linear Algebra and its Applications, Vol. 307, pp.103-117, 2000.

• Desrocbers, A.A., R.Y. Al-Jaar, Applications of Petri Nets in manufacturing systems, IEEE Press, 1995.

• DiCesare, F., G. Harbalakis, J.M. Proth, M. Silva, F.B. Vernadat, Practice of Petri nets in manufacturing, Chapman and Hall, 1993.

• Di Febbraro A., D. Giglio, N. Sacco, "Modular representation of urban traffic sy-stems based on bybrid Petri nets", Proc. 2001 IEEE lnt. Conf. on. Intelligent Trans-portation Systems, pag. 867-872, 2001.

• Di Febbraro, A., A. Giua, G. Menga, Eds., Special issue on "Hybrid Petri nets", Joumal of Discrete Everzt Dynamical Systems, Vol. 11, Nr. 1-2, 2001.

Page 292: Sistemi ad Eventi Discreti

284 Capitolo 5

• Di Febbraro, A., R. Minciardi, S. Sacone, "Deterministi.e timed event graphs for per-formance optimization of cyclic manufacturing processes", IEEE Trans. on Robotics andAutomation, Vol. 13, No.2, pp. 169-181, 1997.

• Di Febbraro, A., N. Sacco, "A control-oriented model of urban traffic behaviour based on hybrid Petri nets", Proc. 9th IEEE Med. Conf. on Contro! and Automation, 2001.

• Di Mascolo, M. , Y. Frein, Y. Dallery, R. David, "A unified modelling of Kanban systems using Petri nets", Journal of Flexible Manufacturing Systems,, Vol. 6, 1990.

• Jean-Marie A. , G.J. Olsder, ''Analysis of stochastic Min-Max-Plus systems: results and conjectures", Mathematical and Computer Modelling, Vol. 23, pp. 175-189, 1996.

• Le Bail, J., H. Alla, R. David, "Asymptotic continuous Petri nets", Joumal of Di-screte Event Dynamical Systems, Vol. 2, pp. 235-263, 1993.

• Gaubert, S., "Resource optimization and (min,+) spectra1 theory", IEEE Transac-tions onAutomatic Contro/, Vol. 40, pp. 1931-1934, 1995.

• Ghosh, S., "Some comments on timed Petri nets", Journees sur les reseaux de Petri, pp. 151-163, 1977.

• Godbersen, H.P., "On the problem of time in Petri nets", in Application and Theory of Petri Nets (C. Giraud e W. Reisig, eds.), Vol. 52, pp.23-30, Springer-Verlag, 1982.

• Hillion, H.P., J.M. Proth, "Performance evaluation of job-shop systems using Timed Event-Graphs", IEEE Transactions on Automatic Control, Vol. 34, pp. 3-9, 1989.

• Laftit, S., J.M. Proth, X.L. Xie, "Optimization of invariant criteria for event graphs", IEEE Transactions onAutomatic Contro!, Voi. 37, pp. 547-555, 1992.

• Murata, T. , "Petri nets: properties, analysis and appUcations", Proceedings IEEE, Vol. PROC-77, No.4, pp. 541-580, 1989.

• Olsder, G.J. , " On the characteristic equation and minimal realizations for discrete-event dynamic systems ", in: Lecture Notes in Contro[ and Jnf01mation Sciences, Vol. 83, Springer-Verlag, 1986.

• Olsder, G.J. , R.E. de Vries, " On an analogy of minimal realizations in conventio-nal and discrete-event dynamic systems ", in: Discrete Event Systems: models and applica;tions, P. Varaiya and A.B. Kurzhanski, Eds., Lecture Notes in Contro/ and Information Sciences, Voi. 103, Springer-Verlag, pp. 149-161 , 1988.

• Olsdcr, G.J. , C. Roos, "Cramcr and Cayley-Hamilton in the max-algebra", Linear Algebra and its Applications, Voi. 101, pp.87-108, 1988.

• Olsder, G.J., "Eigenvalues of dynamic Max-Min systems", Discrete Event Dynamic Systems, Vol. 1, pp. 177-207, 1991.

• Olsder, G.J., K. Roos, R.J. van Egmond, "An effìcient algorithrn for critica! circuits and finite eigenvectors in the max-plus algebra", Linear Algebra and its Applica-tions, Voi. 295, pp. 231-240, 1999.

Page 293: Sistemi ad Eventi Discreti

Reti di Petri temporizzate 285

• Peterson, J.L. , Petri net theory and the modeling of systems, Prentice-Hall, 1981.

• Rarnchandani, C., Analysis of asynchronous concurrent systems by Petri nets, Project MAC, TR-120, M.I.T. , Cambridge, MA, 1974.

• Reisig, W., Petri nets: an introduction, EATCS Monographs on Theoretical Compu-ter Science, Vol. 4, Springer-Verlag, 1985.

• Wang, J., Timed Petri nets: the01y and applications, CRC Press, 1998.

• Zerhouni, N., M. Femey, A. El Moudni, "Transient analysis of manufacturing sy-stems using continuous Petri nets," Mathematics and Computers in Simulation, Vol. 39,pp.635-639, 1995.

• Zhou, M.C., F. DiCesare, "Parallel and sequential mutua! exclusions for Petri net modeling of manufacturing systems with shared resources," IEEE Trans. on Robotics and Automation, Vol. RA-7, No.4, pp. 515-527, 1991.

• Zhu, J., R. Denton, "Timed Petri nets and their application to communication proto-col specificati on'', Proc. 21 st IEEE Military Communication Conference, San Diego, CA, pp. 195-199, 1988.

Page 294: Sistemi ad Eventi Discreti

6 Simulazione ad eventi discreti

Preliminare allo studio di un SED, come per qualsiasi altro sistema dinamico, è ottenere un opportuno modello del suo comportamento. Nei capitoli precedenti sono stati descritti i modelli matematici sia logici sia temporizzati più noti ed utilizzati per la rappresentazio-ne di sistemi ad eventi discreti; in molti casi. tali modelli vengono effettivamente adottati e, come si è visto, possono essere trattati per mezzo della teoria della probabilità, di me-todi algebrici o di altre tecniche matematiche, al fine di valutare numericamente le misure delle prestazioni del sistema ritenute di volta in volta di interesse. Non di rado capita però che la complessità del sistema reale che si vuole studiare sia tale da rendere tutte le corri-spondenti tipologie di modelli introdotti nei capitoli precedenti praticamente impossibili da risolvere matematicamente. È in questi casi che tipicamente si fa ricorso alla simula-zione, per valutare numericamente il modello del sistema e stimare le grandezze ritenute d'interesse.

Con un programma di simulazione si riproduce, in un ambiente controllato, il fun-zionamento di un sistema reale al fine di analizzare il suo comportamento nelle diverse condizioni possibili. Per lo studio dell'evoluzione dinamica del sistema va comunque svi-luppato un modello, che in questo ambito è ovviamente un rnode/Lo simulativo. Inoltre, trattando di SED, anche i modelli simulativi saranno di tipo particolare, rispetto ai mo-delli per la simulazione di SAT; infatti, in questo ambito viene adottata la simulazione ad eventi discreti (Banks et al., 1996; Fishman, 1978).

In generale, la simulazione si presta come strumento di ausilio sia per l'analisi sia per la sintesi di sistemi dinamici; infatti consente non solo di effettuare misure delle presta-zioni di sistemi esistenti al variare di caratteristiche strutturali e/o prestazionali, ma anche di valutare i diversi comportamenti di sistemi in fase di progetto al variare delle condi-zioni operative. Possiamo dunque concludere che l'indiscussa utilità della simulazione si concretizza nelle possibilità di:

i. studiare e analizzare le interazioni lra le singole componenti di sistemi comunque complessi;

u. valutare l'impatto che avrebbero potenziali cambiamenti apportabili a un sistema esistente prima di realizzarli;

iii. valutare le prestazioni che sistemi in fase di progetto avrebbero in differenti condi-zioni di funzionamento;

iv. verificare eventuali risultati analitici già ottenuti con altre metodologie di studio.

Page 295: Sistemi ad Eventi Discreti

288 Capitolo 6

6.1 Fasi di uno studio di simulazione

Con riferimento alla Figura 6.1, in questo paragrafo si andranno a illustrare i singoli passi da compiere nella realizzazione dello studio di un sistema mediante la simulazione del suo funzionamento (Law e Kelton, 1991; Banks et al., 1996).

Formulazt2ne del.Problema. Sta alla base di ogni studio di simulazione; è infatti fondamentale per la riuscita di uno studio simulativo che il problema da affrontare sia enunciato nella forma corretta e consona agli obiettivi che lo studio intende perseguire.

Creazione del modello. Non esistono regole per generare un modello adeguato del sistema di cui si intende simulare il comportamento; questa fase si basa piuttosto sull'abi-lità di astrarre gli aspetti essenziali di un problema, di individuare e poi variare le ipotesi di funzionamento del sistema da modellare e infine di arricchire ed elaborare il modello fino al raggiungimento di risultati soddisfacenti. In generale, è sempre opportuno partire da un modello semplice e poi complicarlo via via, ma solo finché ciò appare necessario per gli scopi per cui il modello viene creato; il contrario non è infatti che uno spreco di tempo e risorse, anche perché non è necessario avere una corrispondenza biunivoca tra il modello e il sistema reale, ma basta cogliere gli aspetti fondamentali di questo.

Raccolta dei dati. La fase di raccolta dei dati da utilizzare come ingressi per un programma di simulazione e quella di costruzione dcl modello sono strettamente interal-lacciate, dal momento che il tipo e la quantità dei dati di ingresso necessari dipendono dalla complessità assunta dal modello, oltre che, ovviamente, dagli obiettivi dello studio di simulazione. Così, per esempio, se si intende simulare il funzionamento di un sistema a coda, sarà necessario conoscere le distribuzioni dei tempi di interarrivo dei clienti e dei tempi di servizio; se poi l'obiettivo fosse valutare l'andamento della lunghezza della co-da al variare del numero di serventi, sarebbe indispensabile anche disporre di dati storici sulle distribuzioni della lunghezza della coda nelle diverse condizioni , da utilizzare nella fase di validazione del modello, descritta più avanti.

Traduzione del modello. Si è detto che gli studi simulativi vengono praticamen-te sempre compiuti per mezzo di elaboratori elettronici: una volta realizzato il modello del sistema che si vuole simulare, risulta dunque indispensabile "tradurlo" in una forma che un elaboratore elettronico possa riconoscere e interpretare. La scelta da compiere a questo punto è tra usare un linguaggio di simulazione di tipo generale (ottimi esempi sono SIMSCRIPT®, MODSIM®, GPSSIH®, SIMAN V®), oppure un programma di si-mulazione specialistico, diverso a seconda dcl tipo di sistema sotto studio. I linguaggi di simulazione generali sono usualmente più potenti e ovviamente più flessibili nell 'u-so, mentre quelli specialistici consentono di sviluppare il modello di simulazione in tempi minori, proprio perché predisposti alla rappresentazione di una specifica tipologia di siste-ma. Nell'ambito dell'automazione per esempio, per la simulazione ad eventi discreti sono molto utilizzati ARENA®, EXTEND®, PROMODEL®, SJMFACTORY®, WITNESS®.

Verifica. Consiste nel controllare che effettivamente il modello software sviluppato funzioni correttamente; la verifica riguarda soprattutto la struttura logica dcl programma di simulazione e i moduli di interlaccia di ingresso/uscita.

Convalida. Detta anche consiste nel determinare se il modello di si-mulazione rappresenta correttamente il funzionamento del sistema reale; ciò si effettua valutando le discrepanze tra i comportamenti del modello e del sistema vero, che vengo-no usale per migliorare iterativamente la qualità della riproduzione del funzionamento del sistema reale, finché questa non viene ritenuta accettabile. Questo procedimento è detto calibrazione del modello. Se si fa ancora riferimento all'esempio c itato della s imulazio-

Page 296: Sistemi ad Eventi Discreti

Form ula11one dcl probkma

Simulazione ad eventi discreti 289

NO

dcgh c'pcnmenu

\nah,11fr1 riwhatì

Documentuione

Figura 6.1 Fasi di uno studio di simulazione.

ne di un sistema a coda, i dati storici sulla lunghezza della coda nelle diverse condizioni possono essere usati in questa fase per verificare che effettivamente, posto nelle stesse condizioni, il simulatore riproduca in uscita i medesimi valori.

Progetto degli esperimenti. Riguarda in primo luogo la determinazione delle alter-native da simulare, che spesso dipende dagli esperimenti simulativi già effettuati e quindi può variare nel corso di una campagna simulativa. In pratica, per ogni modello realizzato, bisogna stabilire il periodo di inizializzazione, la duraca del periodo che si vuole simulare e il numero di repliche da effettuare per ogni prova simulativa. Più avanti nel capitolo questi concetti verranno spiegati in dettaglio.

Page 297: Sistemi ad Eventi Discreti

I

290 Capitolo 6

Analisi dei risultati. Le prove simulati ve vengono analizzate per stimare le prescelte misure di prestazioni del sistema; sulla base dell'analisi dei risultati si determina se sono necessarie altre prove simulative.

Documentazione. È indispensabile corredare uno studio di simulazione di una do-cumentazione adeguata, che consenta di comprendere come le decisioni sono state prese e soprattutto dove intervenire qualora si desideri modificare parametri del modello, misure delle prestazioni, o altre caratteristiche statiche della campagna di simulazione.

Implementazione. La riuscita di quest' u I tima fase dipende molto da come sono state effettuate le precedenti; infatti, se ogni passo è stato compiuto correttamente, la messa in opera del simulatore diventa quasi una formalità.

6.2 Concetti di base e principi di funzionamento

Nello sviluppo di un modello per la simulaLione ad eventi discreti di un sistema reale bisogna identificare i seguenti elementi:

• stato del sfatema: insieme di variabili che contengono tutte le informazioni necessa-rie a descrivere il sistema in ogni istante;

• eventi: avvenimenti istantanei che cambiano lo stato dcl sistema; un evento si defi-nisce o dipendente se coincide sempre con un altro evento, primario o indipendente altrimenti;

• lista (calendario) degli eventi futuri: lista degli eventi di cui si sono già potute programmare le occorrenze, posti in ordine cronologico;

• entità: componente del sistema che richiede una rappresentazione esplicita nel mo-dello;

• attributi: proprietà di una data entità;

• insieme: gruppo permanente o temporaneo di entità organizzate secondo qualche logica;

• attività: periodi di tempo di durata specificata (solitamente espressi per mezzo di statistiche);

• ritardi: periodi di tempo di durata non specificata;

• orologio: variabile che rappresenta il tempo simulato.

6.2.1 Metodi per individuare gli eventi da inserire nel modello

Nel progettare un modello per la simulazione ad eventi discreti bisogna individuare le tipologie di eventi, nel minimo numero possibile, che caratterizzano il funzionamento del sistema; per fare ciò si segue tradizionalmente una tra le due "filosofie" alternative seguenti. Adottare un' qnalisi Longitudi]J_ale, o_pe_r processi. degli eventi ajgnifìca rappre-

la_Qinarnica del la seguenza degli eventi, in termini di flussi d1

Page 298: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 291

entità transienti, come il..!!!..ovjmentofuezzi in un sisrea:n..a di.,pLodnzjone; in altre parole • .fil descrivono le azioni che le entità che si m u_ovono nfil .sistema..suhiscono. Tipicamente, ogni volta che viene completata un'attività, gli attributi delle entità transien-ti permettono di stabilire gli eventi futuri e modificano lo stato delle entità residenti, viste come n sorse.

Se invece si adotta l analisi trasversale degli eventi. si rappresenta la dinamica del sistema in termini di cicli di entità residenti, come per esempio le risorse di lavorazione in un sistema di produzione; la sequenza degli eventi è individuata sulla base delle sequenze dei cicli che ogni entità residente esegue e dei metodi di interazione con le altre entità del sistema. Tipicamente, ogni volta che viene completato un ciclo, gli attributi delle entità residenti permettono di stabilire gli eventi futuri e modificano lo stato delle entità transienti.

A commento conclusivo sull 'identificazione degli eventi, va detto che è sempre con-veniente eseguire sia un'analisi longitudinale che un'analisi trasversale e rappresentare anche gli eventi che iniziano un 'attività, per poi el iminarli in seconda battuta; questo pro-cedimento può essere tanto più laborioso quanto più gli eventi sono numerosi, ma ha il vantaggio di evidenziare le relazioni causa-effetto all 'interno del sistema analizzato.

6.2.2 Schema di avanzamento per eventi

La simulazione avanza con la scansione del calendario degli eventi futuri riproducendo l'accadimento di una sequenza di eventi. L'accadimento di un evento modifica senz'al-tro l'orologio della simulazione ( c/ock) e la lista degLi eventi futuri, in cui viene almeno cancellato l 'evento accaduto, mentre altri eventi possono essere inseriti o cancellati in conseguenza dell'accadimento dell'evento consideraro: infine gli eventi futuri nella lista vengono riordinati in ordine crescente di tempi di accadimento. Solitamente poi l'acca-dimento di un evento provoca un cambiamento nello stato del sistema e un aggiornamen-to dei dati che si stanno raccogliendo per le statistiche che formeranno i risultati della simulazione.

Nella fase di inizializzazione della campagna simulativa, dapprima vengono inse-riti nel calendario degli eventi futuri gli eventi di cui si può programmare a priori l' ac-cadimento e quindi viene lanciato il seguente l'algoritmo di scansione dcl calendario stesso.

Algoritmo 6.1. Algoritmo di avanzamento della simulazione. Nell' ipotesi che il sistema si trovi nell'istante Tk nello stato .rk, la lista degli eventi

futuri viene scandita eseguendo la ripetizione ciclica dei seguenti passi.

l. Rimuovere il primo elemento (ek, Tk) dalla lista degli eventi futuri.

2. Far avanzare il tempo di simulazione fino all'istante Tk.

3. Aggiornare lo stato secondo la funzione di transizione di stato,

Xk+I = fJ (.z:k ,ek) (6.1)

e le eventuali statistiche.

4. Rimuovere dalla lista degli eventi futuri tutti gli eventi che l'evento accaduto ha reso non più realizzabili.

Page 299: Sistemi ad Eventi Discreti

292 Capitolo 6

5. Aggiungere alla lista degli eventi futuri gli eventi programmabili in conseguenza dell'evento accaduto.

6. Riordinare la lista degli eventi futuri in ordine crescente di tempo di accadimento .

• Per fornire un esempio completo di creazione di un modello per la simulazione ad

eventi discreti e illustrare anche il procedere della simulazione stessa nel prossimo pa-ragrafo vengono effettuati tutti i passi necessari a questo scopo con riferimento a un semplice sistema costituito da una coda, come quelli già introdotti e trattati nei capitoli precedenti.

6.2.3 Simulazione di un sistema a coda

Si consideri un sistema a coda in cui clienti provenienti da una determinata popolazione si rivolgono, uno alla volta e arrivando a intervalli casuali, a un servente; se un cliente non può essere servilo appena arrivato, si accoda e attende il suo turno; appena il suo servizio finisce, il cliente lascia il sistema; per semplicità si suppone che lo stato del servente possa assumere solo i valori "attivo" e ''inattivo", ovvero "occupato" e "libero", tralasciando la gestione di possibili interruzioni della sua operatività.

arrivo clienti IIJJD --... IJlli• partenza clienti

coda servitore

Figura 6.2 Sistema a coda.

Nella fase di progettazione degli esperimenti simulativi, si è dovuto:

1 . determinare se il sistema viene periodicamente reinizializzato, per esempio a causa di chiusura notturna, oppure ritorna a uno stato di riferimento, per esempio si svuota, . . oppure raggmnge un regime;

2. definire se interessa studiare il comportamento del sistema nel transitorio o a regime;

3. stabilire il numero e la durata degli esperimenti in base alle risposte precedenti.

Gli elementi di base di ogni modello simulativo, elencati nel paragrafo precedente, che dipendono dal sistema che si sta simulando, in questo caso sono particolarizzati come segue:

• stato del sistema: numero di clienti in coda (compreso il cl iente che sta ricevendo il servizio), operatività del servente (occupato o libero);

• entità: generatore di clienti, clienti, coda (servente+ spazio di accodamento corri-spondente);

Page 300: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 293

• insieme: clienti accodati;

• evenri: arrivo di un cliente, inizio di un servizio (evento dipendente), partenza di un cliente, fine della simulazione;

• attività: tempo di interarrivo, tempo di servizio;

• ritardo: tempo di attesa in coda.

Escludendo l'inizio di un servizio, che è un evento dipendente, le tipologie di eventi indipendenti ricorrenti rimangono l'arrivo di un cliente nel sistema e la partenza da esso, che coincide con la fine del servizio corrispondente; si è detto che all'accadimento di ogni tipo di evento sono associate determinate azioni; in particolare, le azioni che vengono ef-fettuate in concomitanza con l'arrivo e la partenza di un cliente sono elencate di seguito e schematiZlate nei diagrammi di flusso corrispondenti, rappresentati rispettivamente nelle Figure 6.3 e 6.4 :

Inizia il servizio i-E-----< del e liente

Evento di armo

Figura 6.3 Diagramma di flusso dell'evento di arrivo.

• arrivo di un cliente:

i. si programma l'evento di arrivo del cliente successivo;

u. se il servente è libero si cambia lo stato del servente in occupato e si programma un evento di fine servizio, se invece è occupato si incrementa di un 'unità iJ numero di clienti in coda;

• partenza di un cliente:

i. si modifica lo stato del servente in libero;

u. se ci sono chenti in coda, si decrementa di un'unità il numero di clienti in coda, si aggiorna lo stato del servente a occupato e si programma un altro evento di partenza.

Page 301: Sistemi ad Eventi Discreti

294 Capitolo 6

li servcn1c rimane inalli\o

NO

E\ en10 di par1cn1a

Figura 6.4 Diagramma di flusso dell'evento di partenza.

Sl Un cliente può lasciare la coda

Inizia li del e ltente

Si procederà ora a una simulazione "manuale" del funzionamento del sistema coda appena definito, supponendo che l'esperimento simulativo parta dall'istante di tempo To = O con il sistema vuoto. Inoltre, si assume che la durata della simulazione sia data dal tempo necessario a servire i primi 5 clienti che arriveranno nel sistema; ovviamente il tempo di fine simulazione non è noto in partenza. ma dipende dai tempi di interarrivo dei clienti e dai corrispondenti tempi di servizio. Si è detto che i tempi di interarrivo e di servizio sono di solito supposti stocastici e noti solo attraverso la loro distribuzione di probabilità; nel nostro esempio supponiamo che i tempi di interarrivo siano come nella seguente Tabella 6.1, in cui per comodità è inclusa anche la colonna degli effettivi tempi di arrivo nel sistema: come si vede il primo cliente entra nel sistema all'istante ini.Liale.

Cliente Tempo di interarrivo Tempo di arrivo

l - o 2 2 2 3 4 6 4 1 7 5 1 8

Tabella 6.1 Tempi di interarrivo e di arrivo dei clienti.

Le altre variabili stocastiche del modello sono i tempi di servizio dei clienti, in questo esempio raccolti nella Tabella 6.2. Per semplicità si sono scelti numeri interi sia per i tempi di interarrivo che per i tempi di servizio, anche se ciò non è realistico; più avanti nel capitolo si tratterà della generazione dei numeri casuali. chiarendo come anche in questo caso possano essere gestite Le stocasticità volutamente introdotte nel sistema per

Page 302: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 295

riprodurre la realtà.

Cliente Tempo di servizio

1 3 2 2 3 3 4 4 5 2

Tabella 6.2 Tempi di servizio dei clienti.

Per completare la preparazione dell'esperimento simulativo, bisogna individuare gli indici di prestazioni del sistema che si ha interesse a misurare, che di solito sono:

1. Tempo medio di permanenza nel sistema.

2. Utilizzazione del servente.

3. Lunghezza media della coda.

Nelle ipotesi che la simulazione inizi all' istante r 0 e termini nelJ' istante TI dopo che N clienti, con N noto, sono stati serviti dalla coda, le misure presta.lionali elencate possono essere definite come segue.

1. Tempo medio di permanenza nel sistema Ogni esperimento simulativo può fornire un diver:so valore per il tempo medio di perma-nenza nel sistema degli N clienti, in dipendenza dei valori dei relativi tempi di servizio e di interarrivo.

Detto 1) il va lor medio della variabile aleatoria che rappresenta il tempo medio di per-manenza nel sistema. si può ottenere una sua stima 1) sulla base dci tempi di permanenza () 1 .... . 1) -'" dei singoli cl i enti, per mezzo della relazione

1 J\

ù = - ""' i)k

k-1

(6.2)

che consiste nella semplice media aritmetica dei tempi di permanenza degli N clienti nel sistema.

2. Utilizzazione del servente Si denoti con v la probabilità che il server sia occupato durante il periodo di tempo TN = TJ - Tn necessario a completare il servizio degli N clienti. che corrisponde al periodo di tempo in cui la coda è non vuota; definendo inoltre T(i) il tempo m cui la lunghezza della coda è i, i - O) .... , la stima di v è data da

Page 303: Sistemi ad Eventi Discreti

296 Capitolo 6

v = _1 f T(i) = 1 - T(O) TN . TN

i=l

(6.3)

3. Lunghezza media della coda Detta p N ('i) la probabilità che la lunghezza della coda sia i, i = O, l, ... , nell ' intervallo

di tempo necessario a servire gli N clienti, la lunghezza media 19 della coda nello stesso intervallo di tempo si calcola come

00

X= L ÌPN(i) (6.4) i= l

la cui corrispondente stima risulta essere

00 00

X= L ifJN(i) =; L iT('i) i=l N i=O

(6.5)

A questo punto si può lanciare la simulazione; l 'ordine cronologico in cui gli eventi accadono è riassunto nella Tabella 6.3, seguita dalla rappresentazione del numero di clien-ti nel sistema durante il corso deUa simulazione, in Figura 6.5, dove i numeri all'interno dei rettangoli indicano il cliente a cui ogni rettangolo è relativo.

Tempo simulato Tipo di evento Numero di cliente

o arnvo l 2 arrivo 2 3 partenza l 5 partenza 2 6 arnvo 3 7 arnvo 4

8 arnvo 5 9 partenza 3 13 partenza 4 15 partenza 5

Tabella 6.3 Ordinamenro cronologico degli eventi primari.

Evidenziando invece 1' attività dei singoli clienti nel sistema durante la simulazione, si ottiene la Tabella 6.4.

Ora è possibile cominciare la simulazione, che è scandita passo per passo per mezzo delle tabelle che seguono, in cui sono indicati, dopo l'accadimento di ciascun evento, i valori dello stato del servente, della lunghezza della coda e delle statistiche e gli eventi atrualmente contenuti nella lista degli eventi futuri. Si noti che, avendo la simulazione

Page 304: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 297

clienti ne sistema

3

2

o 1 1 2

2 3

4

3

5 6

I ! -r-1

9

s

4

Figura 6.5 Numero di clienti nel sistema durante la simulazione.

Cliente Arrivo Inizio servizio Durata servizio

1 o o 3 2 2 3 2 3 6 6 3 4 7 9 4 5 8 13 2

Tabella 6.4 Attività dei clienti nel sistema.

5

l3 15

Fine servizio

3 5 9 13 15

"manuale" seguente caratteristiche completamente deterministiche e note a priori, è pos-sibile inserire dall'inizio nella lista degli eventi futuri l' evento di fine simulazione. 1 n generale ciò accade solo quando la durata della simulazione è fissata a priori, indipen-dentemente da quanto avviene tra gli istanti di tempo r0 e Tf, il che nel caso della coda significa indipendentemente dal numero di clienti serviti. Nel caso in esame invece sono fissati sia il numero di clienti sia la durata della simulazione.

Avanzamento della simulazione.

• / = O: inizio simulazione e arrivo cliente 1

o Stato servente: occupato;

o Lunghezza coda: 1;

o Lista eventi futuri:

1=2 1=3 T = Tf

arrivo (cliente 2): partenza (cliente 1); fine simulazione;

Page 305: Sistemi ad Eventi Discreti

298 Capitolo 6

o Statistiche:

• T = 2: arrivo cliente 2

o Stato servente: occupato;

o Lunghezza coda: 2;

o Lista eventi futuri:

o Statistiche:

r=3 T=6 T = Tf

N O

partenza (cliente 1); arrivo (cliente 3): fine simulazione;

o T(l) 2

• r = 3: partenza cliente l (coincide con l' inizio del servizio del cliente 2)

o Staro sen1e111e: occupato;

o coda: 1;

o Lista eventi futuri:

o Statistiche:

• r =- 5 : partenza cliente 2

r=5 1=6 I= Tf

o Stato servente: libero;

o Lunghezza coda: O;

o Lista eventi futuri:

r=6 T = Tf

partenza (cliente 2); arriYO (client(l 3): fine simulazione:

1V 1 vi 3 T(1) 2 T(2) 1

arriYo (clicnte3): finf- simu lazior1<!;

Page 306: Sistemi ad Eventi Discreti

o Statistiche:

• T = 6: arrivo cliente 3

o Stato servente: occupato;

o Lunghezza coda: 1;

o Lista eventi futuri:

o Statistiche:

• T = 7: arrivo cliente 4

T=7 T=9 T = Tf

o Stato servente: occupato;

o Lunghezza coda: 2;

o Lista eventi futuri:

o Statistiche:

• T = 8: arrivo cliente 5

T=8 T=9 T = Tf

Simulazione ad eventi discreti 299

N 2 7.?1 3 ·'92 3 T(l) 4 T(2) 1

arrivo (cliente 4); partenza (client.e3); fine simulazione;

N 2 '!91 3 '!92 3 T(O) 1 T(l) 4 T(2) 1

arrivo (cliente 5): partfluza ( clientfl 3); fine simulazione;

N 2 '!91 3 '!92 3 T(O) 1 T(l) 5 T(2) 1

Page 307: Sistemi ad Eventi Discreti

300 Capitolo 6

o Stato servente: occupato;

o Lunghezza coda: 3;

o Lista eventi futuri:

o Statistiche:

T=9 T - TJ

partenza (cliente 3): fine> simulazione:

N 2 01 3 ih 3 T(O) 1 T(l) 5 T(2) 2

• r 9: partenza cliente 3 (coincide con l'inizio del servizio del cliente 4)

o Stato servente: occupato;

o Lunghe::a coda: 2;

o Lista eventi futuri:

o Statistiche:

T = 13 T = TJ

partenza (cliente 4); fine simulaziom•;

\" 3 i) I 3 il2 3 1)3 3 T(O) 1 T(l) 5 T(2) 2 T(3) 1

• T = 13: partenza cliente 4 (coincide con l'inizio del scrviliO del cliente 5)

o Stato se11•ente: occupato;

o Lungheua coda: I;

o Lista eventi futuri :

r = 15 T = TJ

partcn7a ( di<>nte 5), cli e c·oi11ciclP con firw simulazione:

Page 308: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 301

o Statistiche: N 4 191 3 '!92 3 193 3 '194 6 T(O) 1 T(l) 5 T(2) 6 T(3) 1

• r = 15: partenza cliente 5, fine simulazione

o Stato servente: libero;

o Lunghev.a coda: O;

o Lista eventifuturi:

o Statistiche: N 5 191 3 192 3 '!93 3 '194 6 '195 7 T(O) 1 T(l) 7 T(2) 6 T(3) 1

La simulazione termina ali' istante di tempo 7 f = 15; i valori dei tre indici di prestazioni su citati fomiti da questo esperimento simulativo sono:

• Tempo medio di permanenza nel sistema:

0= 3+3+3+6+7 =44 5 '

• Utilizzazione del servente:

v = 1 - T(O) = 1 - 2_ "'0.933 15 15

• Lunghezza media della coda:

i;= iT(i) = (0 X 1) + (1 X 7) + (2 X 6) + (3 X 1) "' l.-!B7 15 15

dove, siccome i clienti presenti nel sistema non sono mai più di 3, T( i) = O, i 4 .

Page 309: Sistemi ad Eventi Discreti

302 Capitolo 6

6.3 Generazione di variabili aleatorie

I numeri casuali sono una componente indispensabile della simulazione dei sistemi ad eventi discreti; la maggior parte dei linguaggi di simulazione è in grado di generare i numeri casuali necessari per determinare i tempi di accadimento di eventi e i valori di altre variabili aleatorie coinvolte nella simulazione di un SED. È comunque importante comprendere quali sono i meccanismi che stanno alla base della generazione dei numeri casuali, dato il ruolo fondamentale che essi ricoprono nella simulazione ad eventi discreti; da tali numeri è infatti possibile generare istanze di variabili aleatorie con distribuzione di probabilità qualsiasi. È sembrato dunque opportuno includere in questo capitolo una trattazione concisa riguardante non solo la generazione dei numeri casuali (tra O e 1) e dei test di verifica a essa associati, ma anche la generazione (da questi) di variabili aleatorie con distribuzione generica, seguendo l 'esposizione dell'argomento proposta nel libro di Banks et al. (1996). Per i principi di teoria della probabilità dati come sottintesi in questa parte si faccia riferimento all' Appendice C.

6.3.1 Generazione di numeri casuali

Una sequenza di numeri casuali, R, ,R 2, .. ., deve possedere due importanti proprietà statistiche: uniformità tra O e I e indipendenza; in altre parole, ogni numero casuale R1

deve essere un campione indipendente estratto da una distribuzione continua uniforme tra O e 1. Uniformità e indipendenza implicano due importanti proprietà:

• dividendo l'intervallo (0,1) in n (sotto)intervalli (classi) di uguale ampiezza, il nu-mero di osservazioni atteso in ogni intervallo è N /n, se N è il numero totale di osservazioni;

• la probabilità che in un dato intervallo si estragga un certo campione è indipendente dai campioni estratti in precedenza.

In realtà, il solo fatto di generare dei numeri casuali per mezzo di una procedura nota cancella la possibilità di avere vera casualità; infatti, i numeri generati da una procedura non possono che essere pseudo-casuali, cioè imitano soltanto le proprietà dei numeri casuali. L'obiettivo della procedura di generazione è dunque produrre una sequenza di numeri tra O e l che simula, o imita, il meglio possibile le proprietà statistiche ideali di distribuzione uniforme ed indipendenza.

In generale, una procedura per la generazione dei numeri casuali deve essere veloce, avere un ciclo (sequenza di numeri generati che si ripete periodicamente) sufficientemente lungo, non avere an1pi intervalli (i cosiddetti gaps) tra due numeri generati in successione, generare sequenze replicabili, oltre che, ovviamente, generare numeri con proprietà vici-ne il più possibile a quelle ideali. Mettere a punto una tecnica di generazione dei numeri casuali che possieda veramente le caratteristiche appena elencate è veramente difficile. Inoltre, l'approfondimento dell'argomento esula senz'altro dagli scopi di questo testo, in cui ci si limita a descrivere di seguito la procedura di generazione di numeri casuali più nota ed applicata, che si fonda sul metodo della congruenza lineare. Il lettore interessa-to può trovare dovizia di dettagli su quanto verrà descritto in questo paragrafo nei testi specialistici citati nella bibliografia del capitolo.

Page 310: Sistemi ad Eventi Discreti

SirnuJazione ad eventi discreti 303

Metodo della congruenza lineare. Questo metodo, proposto per la prima volta ali' ini-zio degli anni '50, genera una sequenza di numeri interi X 1 , X 2 , ... tra O e rn - l sulla base della relazione ricorsiva

Xi+1 = (aXi +e) mod rn,

caratterizzata dai parametri seguenti:

• Xo: seme;

• a : moltiplicatore;

• (': incremento;

• rn : modulo.

i E N (6.6)

Chiaramente la scelta dei valori dei parametri elencati influenza pesantemente le proprietà statistiche della sequenza generata e la lunghezza del ciclo, auspicata più gran-de possibile. Negli anni sono state proposte molte varianti sul metodo originale basato sull'equazione (6.6); l'applicazione di tale metodo originale è mostrata nell'esempio che segue.

Esempio 6.2. Si vuole generare una sequenza di numeri casuali utilizzando il metodo di congruenza lineare con X0 = 27, u = 17, e = 43 e m = 100. Applicando l'equazione (6.6) si genera la sequenza di numeri

27 (17 x 27 + 43) mod 100 (17 x 2 + 13) mod 100 ( 17 x 77 + 43) mod 100

2 77 52

Si noti che il valore assegnato al modulo m fa sì che tutti i numeri generati siano tra O e 99; inoltre, tali numeri risultano interi e uniformemente distribuiti nell'intervallo [0.99]. Dai numeri X i, i E N+ , generati si possono ottenere i corrispondenti numeri casuali Ri, i E N+, utilizzando la relazione

R . - X; i - •

m i E N+

ossia dividendo per 100; i numeri casuali tra O e 1 corrispondenti agli interi X1, X2 e X3 generati sono

2 R1 = - = 0,02

100

77 R2 = - = 0,77

100

52 R3 = - = 0,52.

100

• È ovvio che la verifica principale dell'efficacia del metodo di generazione riguar-

da la valutazione delle proprietà di uniformità e indipendenza della sequenza di numeri R 1 .R 2 , ... A tal proposito si noti che i numeri R; ottenuti nell'esempio precedente non

Page 311: Sistemi ad Eventi Discreti

304 Capitolo 6

sono distribuiti uniformemente in (0,1), in quanto possono assumere solo valori nell'in-sieme {O, l/m> 2/m, ... ,(m - l)/m}; questa approssimazione risulta però tanto meno significativa quanto più è grande il modulo m. Nei linguaggi di simulazione provvisti di generatori di numeri casuali i valori comuni di m sono 231 1 e 248 .

Per quanto riguarda invece il requisito di evitare, o almeno diradare il più possibile, la ripetizione ciclica di sequenze di numeri identiche, è stato mostrato che il periodo, ossia la lunghezza di tali sequenze, si può allungare scegliendo opportunamente i valori dei parametri che compaiono nell'equazione (6.6). A questo proposito, si riportano di seguito alcuni esempi, significativi per ampie classi di casi di studio.

Esempio 6.3. Si considerino i seguenti insiemi di valori dei parametri:

• m = 2b e e f:. O: il massimo periodo possibile è P = m, che si ottiene seme e sono primi tra loro e a= 1+4k, k E N;

• m = 2b e e = O: il massimo periodo possibile è P = 7, che si ottiene se il seme X 0 è dispari e il moltiplicatore è a = 3 + 8k o a = 5 + 8k, k E N;

• m è primo e e= O: il massimo periodo ottenibile è P = m - 1, che si ha quando il moltiplicatore a è tale che il più piccolo numero intero k che rende ak - 1 divisibile mèk=m-1. +

Esempio 6.4. Si vuole utilizzare il metodo di congruenza lineare puramente moltiplicati-vo, cioè ponendo l'incremento e a O, e determinare i diversi valori assunti dal periodo del generatore per m = 26 , a = 13, X 0 = 1,2,3,4: il massimo periodo ottenibile è P = 16, che si ottiene usando i semi dispari (1,3), mentre i semi pari (2,4) forniscono periodi di 8 e 4, rispettivamente. Questo generatore non è utile nelle applicazioni pratiche, perché il periodo è troppo corto. + Esempio 6.5. Supponiamo ora di assumere valori più alti per i parametri moltiplicatore e modulo, cioè a = 75 = 16 807 e m, = 231 - 1 = 2147 483 647, numero primo, e di assumere nullo l' incremento e: si è visto che in questo caso il periodo è P = m - 1; scegliendo come seme il valore X 0 = 123. 457, i primi numeri generati sono

X1 = 2 074 941 799, corrispondente a R 1 = 0,9662

X2 = 559 872160, corrispondente a R2 = 0,2607

X 3 = 1645 535 613, corrispondente a R 3 = 0,7662

effettivamente in questo caso la procedura divide per m + 1 anziché per m, ma con un valore di m così grande, ciò non ha effetto. +

Combinazione di generatori a congruenza lineare. Nella simulazione di SED sem-pre più complessi, resa possibile dai continui sviluppi delle tecnologie informatiche ed elettroniche, si sente la necessità di generatori di numeri casuali con petiodi sempre più lunghi. Valori di periodo che sembravano molto elevati (come 2 x 109) si rivelano troppo bassi per molte applicazionj pratiche. È stato verificato che le proprietà statistiche delle sequenze di numeri generati possono essere migliorate combinando più generatori basati sul metodo di congruenza lineare.

Page 312: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 305

Un esempio in questo senso è stato proposto da L'Ecuyer (1988) e consiste nella combinazione di n generatori a congruenza lineare di periodi m 1 - l ,m2 - 1, .... mn -1; dalle i-esime uscite Xi.j, j = l i ... . n, degli n generatori, viene generato l'i-esimo numero della sequenza per mezzo della relazione ricorsiva

con

{

X R

. _ xi> o 1 -

m1 - 1 y 0 m1 , i=

Il massimo periodo che questo generatore può avere è

I' = ( m 1 - 1) ( m2 - 1 ) · · · ( m n - 1) 211-I

(6.7)

(6.8)

(6.9)

che è raggiunto per esempio dal generatore proposto da L'Ecuyer (1988) per elaboratori a 32bit di parola, costituito dalla combinazione di n 2 generatori a congruenza lineare, con parametri m 1 = 21.!7483563, a 1 = 40014, 111 2 = 2147483399 e a2 = -10692.

Verifica delle proprietà dei numeri casuali. È fondamentale verificare a posteriori le proprietà statistiche delle sequenze di numeri casuali generati secondo la procedura pre-scelta. Esistono molti metodi per detta verifica di qualità; questo argomento non è centrale nel presente testo e quindi si rimanda il lettore ai tanti libri che ne trattano diffusamente. quali ad esempio (Law e Kelton, 1991; Banks et al., 1996).

Per completezza ci si limita a dire che i citati metodi di verifica sono prevalentemente basati sul confronto tra le caratteristiche della distribuzione della sequenza dei numeri generati e di una distribuzione uniforme; tale confronto si effettua solitamente per mezzo del metodo parametrico denominato test ;\ :z o del metodo (non parametrico) detto test di Kolmogorov-Smirnov, di cui si può reperire adeguata descrizione nei testi appena citati. Peraltro, com'è ovvio che sia, sui prodotti software per la simulazione in commercio i citati test di verifica vengono effettuati al momento della loro realizzazione, quindi non compete certo al singolo utente l'incombenza di verificare le proprietà dei numeri casuali che essi generano. ·

6.3.2 Generazione di variabili aleatorie con funzione di distribuzione generica

Si è detto più volte nei capitoli precedenti che le attività che in un SED sono impredicibili o incerte possono essere rappresentate nel modello del sistema per mezzo di variabili aleatorie; gli esempi in questo senso menzionati più spesso nel testo sono i tempi di interarrivo e di servizio in una coda

Page 313: Sistemi ad Eventi Discreti

306 Capitolo 6

In generale, le variabili aleatorie che vengono utilizzate per modellare le attività non deterministiche in un SED seguono funzioni di distribuzione assegnate, desunte dall' ana-lisi di misure sul SED che si sta modellando; esistono delle procedure statistiche standard che consentono di verificare la validità dci modelli statistici ipotizzati e di identificarne i parametri caratteristici, come verrà descritto nel paragrafo 6.4.

In questo paragrafo, supponendo che sia stata completamente specificata una qua-lunque distribuzione, si affronta il problema di estrarre da questa campioni significativi da usare come ingressi per il modello di simulazione del SED in esame. In questo ambito si andranno a presentare alcune delle più note e usate tecniche di generazione di valori di variabili aleatorie, senza pretesa di essere esaustivi e/o di descrivere lo stato dell'arte sull'argomento. Ancora una volta si rimanda ai testi citati nella bibliografia del capitolo per approfondimenti mirati.

Le tecniche usate più comunemente per affrontare il problema di cui sopra sono:

1. Metodo della trasformazione inversa.

2. Metodo della trasformazione diretta.

3. Metodo di accettazione-rifiuto.

Tutti i metodi elencati si fondano sull'ipotesi preliminare che sia disponibile un va-lido generatore di numeri casuali, R 1 ,R2 , .. . , uniformemente distribuiti nell'intervallo (0,1), dove ogni R i ha funzione di densità di probabilità

f n(.r) = {

e funzione di distribuzione

Fn(x) = {

se O< x < 1 - -

altrimenti

se O< ;i;

se O S x < 1 se .t > 1

(6.10)

(6.11)

È evidente che la routine di generazione dei numeri casuali per essere veloce deve chiamare poche volte la routine di generazione di numeri distribuiti in modo uniforme.

Metodo della trasformazione inversa. Questa tecnica può essere utilizzata per ottene-re campioni da molte tjpologie dj funzioni di distribuzione, come esponenziali, uniformi, triangolari, di Weibull ed empiriche; costi tuisce inoltre il principio su cui si basa l'estra-zione di campioni da molte distribuzioni discrete. Il metodo della trasformazione inversa è il più intuitivo, anche se non il più efficace dal punto di vista computazionale.

L'algoritmo di generazione di campioni di variabili aleatorie applicando il metodo della trasformazione inversa viene enunciato di seguito facendo esplicito riferimento alla distribuzione esponenziale; si rimanda ai già citati testi, ad esempio il Libro di Banks et al. (1996), per le applicazioni di tale algoritmo riguardo alle altre funzioni di distribuzione nominate.

Algoritmo 6.6. Algoritmo di generazione con il metodo della trasformazione inversa.

l. Determinare la funzione di distribuzione F ( x) della variabile aleatoria desiderata .... Y.; nel caso della distribuzione esponenziale, P(:r) = 1 - e->-x , x O.

Page 314: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 307

2. Porre F(X) = R nel campo di definizione di siccome X è una variabile aleatoria, lo è anche R; per la distribuzione esponenziale vale 1 - e- >.J' = R, x 2 O.

3. Risolvere lequazione X - p-1 (R ) per ottenere \ in funzione di R: per la distri-buzione esponenziale si ha

- l .\'. = ln(1 - R). (6.12)

4. Generare dai numeri casuali uniformemente distribuiti R1 ,R2 , ... le variabili casuali desiderate applicando la formula X i = p - 1 (R , ), i = 1.2, . . ., fino al numero di variabili necessarie; per la distribuzione esponenziale si usa semplificare la formula sostituendo R, a 1 - R 1 , dal momento che entrambe le variabili sono uniformemente distribuite in (0, 1 ), e si ottiene

X ,= 1 À lnR,. (6.13)

• Il metodo della trasformazione inversa trova la sua naturale applicazione nella gene-

razione di numeri distribuiti in modo esponenziale, come mostrato nel seguente esempio.

Esempio 6.7. Se X 1, X2, ... sono tempi di interarrivo di clienti in un sistema che seguono una distribuzione esponenziale con tasso ,.\, allora À può rappresentare il numero medio di arrivi per unità di tempo, cioè il tasso di arrivo; allora si ha per ogni i

. 1 E (.\ ;)= À

dove l/À rappresenta evidentemente il tempo medio di interarrivo. • La procedura di generazione dei numeri casuali con distribuzione esponenziale chia-

ma una sola volta per ogni numero generato la routine di generazione dei numeri casuali con distribuzione uniforme, di cui possiede lo stesso ciclo.

In linea di principio, la tecnica di trasformazione inversa può essere utilizzata per qualunque genere di distribuzione, ma è davvero utile nei casi in cui la funzione di distri-buzione F (.r) ha forma tale che la sua inversa p - 1 può essere determinata facilmente. Dalla procedura appena vista per la distribuzione esponenziale possono essere generate quelle relative alle altre distribuzioni per le quali il metodo è applicabile.

Per concludere la breve trattazione dedicata a questa tecnica, si riporta il seguente esempio.

Esempio 6.8. Jn Figura 6.6 è proposto un confronto tra listogramma di 200 numeri casuali R 1 •. .• • R'l.oo con distribuzione uniforme (a) e la fun.lione di densità di probabilità uniforme teorica (b).

Analogamente, in Figura 6.6 vengono confrontati l'istogramma dei 200 campio-ni a distribuzione esponenziale X 1, ••• ,X :w0 , generati utilizzando i 200 numeri casuali R1, .. . ,R200 nell'equazione (6.12), con la funzione di densità di probabilità esponenziale teorica (b).

Dalle due figure si nota che gli istogrammi rappresentano una stima della funzione di densità corrispondente; questa assunzione è basilare nell'analisi dei dati di ingresso, come si vedrà nel successivo paragrafo 6.4. +

Page 315: Sistemi ad Eventi Discreti

308 Capitolo 6

·g L ,......, o J ,...-,._..., I ,---' Il s._. i t t I I , I I

;::, I I I I t I I I

: I I I 1 I I

Il Il I I I 8 I I I

I I

I I I I I I

I I : I I I

' I I I I ' I 1 I I I 1

o 0.2 0.4 0.6 0,8

(a)

.,._ .\ o A

(/>)

Figura 6.6 Confronto tra istogramma empirico di 200 numeri casuali con distnbuzione uniforme (a} e la densità di probabilità uniforme in (0.1) (b) .

0.4 ....

; 0.3 I I i---; I

........... I I

O. I __

() 0.2 0.4 0.6 0.8 X

(a)

f°(\):t• -.\

.\

(/>}

Figura 6.7 Confromo tra istogramma empirko ùi 200 campioni e'tratti da distriburionc esponen-ziale (a) e la densità di probabilità esponenziale con media I (b).

In Figura 6.8 è proposta un'interpretazione grafica del metodo della trasformazione inversa. La funzione F(x) rappresentata è la distribuzione esponenziale con parametro À = 1, ossia F(.r) = 1 c-.r . Come si vede, per determinare un valore X 1 con distri-buzione esponenziale F(x), si genera un numero casuale tra O e 1 R 1 , poi si traccia una linea orizzontale da R 1 (asse delle ordinate) fino a incontrare il grafico di F(.r); l'ascissa del punto di intersezione della semiretta orizzontale tracciata con F(.r) è proprio il valore desiderato X 1• Come si può notare, la Figura 6.8 costituisce effettivamente la rappresen-tazione grafica, nel caso della F ( .r) considerata. dell'equazione \" 1 p-1 ( R 1 ) , come enunciato nel!' Algoritmo 6.6.

Metodo della trasformazione diretta. La tecnica della lrasformazionc inversa non si può applicare quando si vogliono determinare variabili con funzione di distribuzione nor-male o gaussiana. perché non si riesce a scrivere in forma chiusa la funzione di distn-buzione inversa corrispondente. Per ovviare a questo inconveniente. sono stati sviluppati

Page 316: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 309

Figura 6.8 Interpretazione grafica del metodo della crasformazione inversa.

molti metodi per realizzare una distribuzione normale che non richiedono di mettere la funzione di distribuzione in forma chiusa; fra i tanti, la procedura di gran lunga più nota e applicata è il metodo della trasformazione diretta.

Questa tecnica richiede di sfruttare le proprietà caratteristiche della funzione di di-stribuzione che si vuole realizzare; come riportato in Appendice C, una variabile gaussia-na è caranerizzata dalla funLione di densità di probabilità

1 f (J·) = ( a/2-ff

(.r - Jl)2 ·I

2a"" (6.14)

Nel caso di variabili aleatorie normali standard, ossia con media Jt nulla e varianza a 2 unicaria, la funzione di distribuzione è data da

= ;··r di. -"() J2r.

- ::<) < ,f < ::<) (6.15)

Tra i diversi metodi di genera1ione che consentono di ottenere variabili indipendenti a distribuzione normale, s1 è scelto di rip01tare in questo testo un metodo semplice e intuitivo. proposto da Box e Muller già nel 1958, che permette di generare due variabili con distribuzione normale standard (6.15).

Si considerino due variabili indipendenti Z1 e Z2 con distribuzione normale stan-dard, rappresentate in coordmatc polari come z I = B cos B e 7. I = B sin e in Figura 6. 9.

La variabile B 2 = Z f + Z:j ha distribuzione \ 2 con due gradi di libertà ( cfr. Ap-pendice C}, che equivale a una distribuzione esponenziale con parametro (valor medio) À = 2; si può pertanto ricavare il raggio B appl icando la relazione (6.13), come

I

B - ( - 2 111 R) 'i (6.16)

Per le propriecù di simmetr a della distribuzione normale si può ritenere langolo B uni-formemente d1stnbuito tra O e 2r. radianti; inoltre, Be e sono mutuamente indipendenti.

Page 317: Sistemi ad Eventi Discreti

310 Capitolo 6

1

-o

Figura 6.9 Rappresentazjone polare di una coppia di variabili normali standard.

Le osservazioni precedenti realizzano in pratica un merodo diretto per la generazione di due numeri indipendenci a distribuzione normale standard, 2 1 e Z2 • da due numeri casuali indipendenti. R 1 e R2• per mezzo delle relazioni

Z 1 = J - 2lnR1 cos(27rR2)

Z2 = J - 2111 R1 sin(27r R2)

(6. 17)

(6. 18)

Dalle variabi li a distribuzione nom1ale standard Z; si possono ottenere variabili alea-torie X.1 con distribuzione normale generale con media t' e varianza a 2 per mezzo della trasformazione

X ;= Jt + aZ; (6. 19)

Esempio 6.9. Si vogliono determinare due campioni X 1 e X 2 della distribuzione normale con media p = 10 e varianza a 2 = 1. Si estraggono due numeri casuali indipenden.ti R1 = 0.1758 e R2 = 0.1489, da cui si ottengono. per mezzo delle equazioni (6.17) e (6.18), i valori della distribuzione normale standard Z 1 = Lll e 22 = 1:50. Da questi, applicando l'equazione (6. 19) si ha

X1 10 + 2 X 1.11 = 12.22

X2 10 + 2 X 1,.50 = 13

• Metodo di accettazione - rifiuto. È questa una tecnica di applicabilità teorica vasta, che consente di determinare, a partire da numeri casuali tra O e I. variabili con una distribu-zione desiderata imponendo a priori una certa condizione; se un numero casuale generato R; rispetta tale condizione, si accetta come valore X 1 = R . altrimenti R i viene rifiutato e viene generato un nuovo numero R1+ 1•

Data la generalità del metodo, viene di seguito presentata una versione dell'algoritmo basato sul metodo di accettazione-rifiuto che consente di generare numeri X uniforme-mente distribuiti in un generico intervallo [a .b J.

Algoritmo 6.1 O. Algoritmo di generazione con il metodo di accettazione-rifiuto.

l. Si genera un numero casuale H.

Page 318: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 311

2. Se R 2: a, si accetta X = R e si salta al passo 4.

3. Se invece R < a, si rifiuta Re si torna al passo l.

4. Se è necessario generare un altro numero con la medesima distribuzione, si ripete la procedura a partire dal passo I , altrimenti stop. •

Si noti che nell'algoritmo enunciato, che è solo una versione (molto comune) del metodo di accettazione-rifiuto tra le tante reperibili nei testi specialistici, il passo 2 è l'accettazione e il passo 3 è il rifiuto.

Questo metodo si rivela molto valido per generare numeri con distribuzione di Pois-son, distribuzione che, come si è visto in precedenza nel testo, ricorre spesso nell 'ambito della simulazione ad eventi discreti.

Esempio 6.11. Distribuzione di Poisson. L' Algoritmo 6.10 viene caratterizzato per la generazione di un numero casuale N con distribuzione di Poisson di media a > O come segue.

1. Si pone n = O e P = l. 2. Si genera un numero casuale Rn+1 e si sostituisce P con P · R11+1 ·

3. Se P < e-0, si accetta N = n; altrimenti, si rifiuta il valore di n corrente, si

incrementa di 1 il valore di n e si torna al passo 2. + In generale, per determinare un campione N di una distribuzione di Poisson sono

necessari in media a + 1 numeri casuali tra O e 1; pertanto tale quantità cresce con la media a della distribuzione di Poisson. Questo aspetto viene mostrato anche nel seguente esempio.

Esempio 6.12. A una fermata gli autobus arrivano secondo un processo di Poisson con una media di 1 ogni 15 minuti. Si vuole generare una variabile aleatoria N che rappre-senti iJ numero di autobus che arrivano in un'ora; risulta evidentemente che N dev 'essere distribuita secondo Poisson con una media di a = 4 autobus ali' ora. Secondo quanto enunciato nell 'esempio precedente, si deve dapprima calcolare e-(\ = e-4 = 0,0183. Usando una sequenza di numeri casuali tra O e 1, il primo numero accettabile si ottiene, come riportato nella Tabella 6.5, aJ settimo tentativo.

• Da questo esempio si evince anche che se a cresce, diciamo n 2: 15, la tecnica pre-

sentata diventa pesante dal punto di vista computazionale; per superare quest.a difficoltà sono stati proposti diversi metodi approssimanti, che sono descritti nei testi elencati nella bibliografia del capitolo.

A conclusione di questo paragrafo è utile sottolineare alcuni aspetti. Innanzitutto, va sempre ricordato che un generatore di numeri casuali produce sequenze diverse se inizializzato con semi diversi, ma tali sequenze presentano comw1que una certa autocor-relazione. Pertanto, per evitare errori anche significativi nei risultati statistici, conviene sempre assegnare valori presi da un 'unica sequenza a un'attività o a un attributo quando si è interessati a prestazioni medie, ma assegnare valori estratti da sequenze generate da semi diversi a ogni attività o attributo da cui dipendono le misure di prestazioni osservate. Ultimo commento, ma non meno importante: è sempre consigliabile cambiare tutti i semi dei generatori di numeri casuali a ogni lancio di simulazione.

Page 319: Sistemi ad Eventi Discreti

312 Capitolo 6

I I

n I R n-1 p Accettazione-Rifiuto

o 0,4357 0,4357 P 2:: r 0 (rifiuto)

1 0.4146 0.1806 P > <'(\ (rifiuto)

2 0,8353 0,1508 P 2:: c0 (rifiuto)

3 0,9952 0,1502 P 2:: c0 (rifiuto)

4 0,8004 0,1202 P 2:: <'n (rifiuto)

5 0,7945 0,0955 P 2:: r 0 (rifiuto)

6 O, 1530 0,0146 P < C'" (accettazione) N = 6

Tabella 6.5 Esempio di applicazione del metodo di accettazione-rifiulo.

6.4 Definizione dei dati di ingresso

Ogni volta che non si riesce a trovare una distribuzione nota che modelli in maniera ade-guata i dati da utilizzare per la simulazione, è necessario utilizzare la loro distribuzione empirica, continua o discreta che sia.

Nello sviluppo di un modello dei dati di ingresso si distinguono le quattro fasi seguenti:

L. raccolta dei dati dal sistema reale sotto studio;

2. identificazione di una funzione di distribuzione per rappresentare i dati di ingresso;

3. identificazione dei parametri (deterministici e/o stocastici) che caratterizzano una spe<.:ifk:a rcali1.zazione della famiglia di distribuzioni selezionata;

4. valutazione della funzione di distribuzione scelta e dci parametri a.:;sociati.

La raccolta dei dati relativi al sistema reale è uno dci problemi più importanti e difficili da risolvere nella simulazione; infatti, anche se la struttura del modello è valida, se i dati di ingresso non vengono raccolti e/o analizzati in modo adeguato, o non sono rappresentativi dell'ambiente, i risultati della simulazione risu lteranno fuorvianti, il che può ovviamente produrre danni significativi se sulla base di dati tali si mettono in atto strategie decisionali.

Ultimata la raccolta dei dati relativi al sistema che s1 vuole smdiare, è necessario individuare il metodo più adatto, tra i diversi esistenti , per scegliere la famiglia di di-stribuzioni statistiche che meglio può rappresentare i dati disponibili; nell'ambito della famiglia individuata viene in seguito selezionata una particolare distribuzione per mezzo di procedure di stima dei parametri. Infine, viene effettuata un 'operazione di verifica. per meno di test appositi, dcli' adeguatezza della funzione scel ta per la rappresentazione dei dati di ingresso. In questo paragrafo vengono brevemente descritte le quattro fasi sopra elencate, assumendo come riferimento la tratt<lzione di Bam:s et al. (1996).

Page 320: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 313

6.4.1 Identificazione di una funzione di distribuzione

I metodi più comuni per identificare il tipo di funzione di distribuzione da adottare si basano sugli ;srogrammi o sui diagrammi quantile-quantile, come descritto di seguito.

Istogrammi. Un istogramma si può definire sostanzialmente una rappresentazione gra-fica delle frequenze dei valori dei dati e dunque può consentire di identificare la funzione di distribuzione degli stessi. Per costruire un istogramma a partire da un certo insieme di dati, è necessario dapprima partizionare i dati osservati in intervalli di uguale ampiezza e quindi suddividere l'asse delle ascisse in modo conforme; è importante la scelta del numero degli intervalli, che non deve essere più grande di quanto basta per permettere di individuare la distribuzione dei dati, altrimenti può causare una dispersione (fuorvian-te) dei dati. È stato mostrato da Hines e Montgomery (1990) che nella pratica si rivela una scelta opportuna fissare il numero di intervalli circa uguale alla radice quadrata del numero di campioni a disposizione.

A questo punto non resta che determinare le frequenze delle realizzazioni osser-vate in ogni intervallo e rappresentarle sull'asse delle ordinate, per procedere infine al confronto della forma dell'istogramma con quella del le funzioni di distribuzioni note.

Un istogramma ottenuto da dati a valori continui c01Tisponde alla funzione di densità di probabilità di una distribuzione teorica: infatti. tracciando una linea che passi per il punto centrale di ogni classe di frequenza si dovrebbe ottenere una forma simile a quella di una funzione di densità di probabilità.

Esempio 6.13. In una linea di produzione si vuole individuare la funzione di distribu-zione adatta a modellare l'aleatorietà dei tempi di ritardo nell'esecuzione di una certa operazione, ritenuta il collo di bottiglia del sistema. Rilevate 50 osservazioni :r 1 ..... :r 50 di tale ritardo di esecuzione X. considerato continuo per motivi di precisione, esse ri-sultano comprese tra O e circa 144 secondi. La maggior parte dei dati (30 su 50) stanno tra O e 5 secondi. Utilizzando una suddivisione in intervalli di ampiezza di 3 secondi, si ottengono le frequenze riportare in Tabella 6.6, dove per compattezza non sono indicati i 36 intervalli di 3 secondi tra 33 e 141, che hanno tutti frequenza unitaria.

I dati in tabella si traducono nel!' istogramma riportato in Figura 6.1 O.

• Gli istogrammi ottenuti invece da dati a valori discreti dovrebbero avere una cella

per ogni valore assunto dai dati osservati: se però i dati sono pochi, può essere opportuno aggregare celle adiacenti, per far sì che l'istogramma non risulti troppo "frastagliato". Un istogramma ottenuto da dati discreti dovrebbe assomigliare a una funzione di probabilità.

Esempio 6.14. Si vuole individuare la funzione di distribuzione adatta a rappresentare il numero di accessi a un sito Internet in una certa fascia oraria d.interesse. A questo scopo, sono stati raccolti dati nei 5 giorni lavorativi settimanali per 20 settimane consecutive, ottenendo 100 osservazioni J: 1, •.... r 100 le cui frequenze sono indicate neJJa Tabella 6.7.

È chiaro che il numero di accessi X assume solo valori interi e quindi non può che essere considerato una variabile discreta. L'istogramma corrispondente deve avere una cella per ogni valore delle osservazioni, dunque 12, come riportato in Figura 6.11.

In questo caso non è necessario aggregare più celle adiacenti, in quanto l'istogramma non risulta eccessivamente frastagliato. +

Page 321: Sistemi ad Eventi Discreti

314 Capitolo 6

Tempi di ritardo (sec) Frequenza

0 < Xj < 3 23 3 < Xj < 6 10 6 < XJ < 9 5 9 Xj < 12 I

12 < Xj < 15 I 15 <X· < 18 - J 2 18 < Xj < 21 o 21 :tj < 24 I 24 < Xj < 27 1 27 < Xj < 30 o 30 < :c.; < 33 1

141 <Xj< 144 1

Tabella 6.6 Dati sui tempi di ritardo di esecuzione.

Diagrammi quantile-quantile. Nei casi in cui i dati disponibili sono pochi e non è possibile raccoglierne allri, risulta quasi sempre impraticabile la valutazione delle carat-teristiche della loro distribuzione rappresentandoli per mezzo di un istogramma, che ri-sulterebbe troppo "frastagliato"; in questi casi si utilizza invece un cosiddetto diagramma quantile-quantile (q-q) , definito come segue.

Definizione 6.15. Se X è una variabile aleatoria con funzione di distribuzione F(X), si definisce q-quamile di X il valore -y tale che

F('Y) = Pr{X -y} = q O< q < l (6.20)

Se F è invertibile, allora si può determinare il q-quantile di X come

Supponiamo di disporre di n campioni Xi, i = 1, ... :n, della variabile X, della quale si vuole identificare la funzione di distribuzione. Per tracciare il diagramma q-q relativo, si ordinano tali osservazioni dei dati in modo crescente rinominandole y1 , j = 1. . . .. n, in modo che Y1 Y2 · · · < '.lJn ·

Il q-q si costruisce sul fatto che ogni y1 è una stima del ('} )-quantile

di X, che equivale a dire

Page 322: Sistemi ad Eventi Discreti

Simulazjone ad eventi discreti 315

22 20 18

16 (J

14

::s 12 \;)-

IO k..

8

6

4

2 --· -- --.__.._..___.__.___.__.__.___.___.__.___.___.__ .... ·---3 6 9 12 15 18 21 24 27 31 33 36 X

Figura 6.10 istogramma dei ritardi nella durata deIJe operazioni.

20 18 16

(J

14 "1 i::

12 ::s

IO 8 6 4 2

Figura 6.11 Istogramma dei numeri di accessi nella fascia oraria d'interesse.

(. 1) l J - ? y · p- --- .

J n (6.21)

Se la scelta della distribuzione con funzione di distribuzione F come possibile rap-presentazione della distribuzione dei dati è adeguata, allora i punti individuano approssi-mativamente una linea retta; se anche i valori dci paramelri di tale funzione sono adeguati, allora la retta risultante ha pendenza l. Se invece la distribuzione scelta è inadeguata, i punti si discostano da un diagramma rettilineo tipicamente in maniera sistematica. In pratica, la probabilità di ottenere effettivamente un diagramma q-q costituito da una linea retta è nulla; siccome i punti rappresentati nel diagramma q-q sono stati ordinati. non sono indipendenti e dunque raramente appaiono dispersi attorno alla retta. Inoltre, le varianze agl i estremi sono maggiori che nei valori centrali, per i quali va maggiormente ricercata la linearità del diagramma.

I diagrammi q-q possono anche essere utilizzati per confrontare due sequenze di dati

Page 323: Sistemi ad Eventi Discreti

316 Capitolo 6

Accessi Frequenza

o 12 l 10

2 19 3 17 4 10 5 8 6 7 7 5 8 5 9 3 10 3 11 1

Tabella 6.7 Numero di accessi nella fascia oraria d'interesse.

al fine di stabi lire se esse sono omogenee e quindi possono essere rappresentate dalla stessa distribuzione: i prodotti software per l'analisi dei dati spesso includono strumenti per il tracciamento dei diagrammi q-q.

Esempio 6.16. Un braccio robotico esegue un 'operazione di verniciatura lungo una cate-na di montaggio di automobili. È stato raccolto un insieme di 20 osservazioni :r 1 ...... c20 del tempo di esecuzione X di questa operazione, che si suppone possa essere modellato da una variabile aleatoria con funzione di distribuzione normale. La media dei campioni risulta J-l = 99,99 secondi e la loro varianza a 2 = (0.2832)2 = 0.080 secondi; que-sti valori servono come stime dei parametri della distribuzione normale "candidata". Le osservazioni. elencate in ordine crescente, risultano come in Tabella 6.8.

Le osservazioni y 1 .... .,1120 in Tabella 6.8 sono poste sull'asse delle ascisse nel dia-gramma q - q u·acciato in Figura 6. 12: sull'asse delle ordinate ci sono i corrispondenti

valori p-L ( per j = 1. .... 20, dove F è la fun1ione di densità di probabilità

della distribuzione normale con media 99,99 e varian1a 0.080. In Figura 6.12 sotto il diagranuna q <J è riportato il corrispondente istogramma,

con sovrapposta la distribuzione normale ipotizzata. Com 'è evidente. dall'istogramma non è immediato concludere che i dati siano ben rappresentati dalla distrihu7ione nomiale prescelta; d ·altro canto invece il soprastante diagramma q - q ricorda da vicino una hnea retta, il che avvalora l'ipotesi che i dati siano proprio distrihuiti secondo una nomrnlc con 11 e cr2 specificati come sopra. t

Dopo l'analisi preliminare del problema in genere è possibile individuare le famiglie di distribuzioni che si devono confrontare con gli istogrammi ottenuti.

Una prima macroscopica suddivisione è tra funzioni di distribuzione discrete (unifor-

me, Poiççon, binomrnle, Bernoulli) e continue uniforme, n lfrrnle. esponenziale. Erlang. Gamma, triangolare). Sono state definite cen inaia di buzioni; molte di queste so-

Page 324: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 317

Il j I I j I Valon Il l 99,55 11 99,98 2 99,56 12 100,02 3 99,62 13 100,06 4 99,65 14 100.17 5 99,79 15 100,23

6 99,82 16 100,26 7 99,83 17 100,27

8 99,85 18 100,33 9 99,90 19 100,41 10 99,96 20 100,47

Tabella 6.8 Tempi di esecuzione della verniciatura.

no state generate in riferimento a un particolare processo fisico e dunque considerare la derivazione fisica delle distribuzioni può essere di ausilio nella scelta. Nella simulazione ad eventi discreti, le distribuzioni utilizzate più spesso per modellare le aleatorietà dei SED sono normale. esponenziale, uniforme, Poisson (cfr. Appendice C); a tali funzioni di distribuzione si fa esplicito riferimento nel resto di questo capitolo.

Dopo aver selezionato la famiglia di distribuzioni adatta a rappresentare i dati di ingresso, è necessario procedere alla stima dei parametri caratteristici, che permetterà di individuare nella famiglia la funzione che meglio rappresenta tali dati.

Stima dei parametri. Spesso per stimare i parametri di una funzione di distribuzione candidata si impiegano metodi basati sulla media campionaria e sulla varianza campiona-ria.

Se le osservazioni sono .r1 .. l .. 2 . ... .• e 11 , la media campionaria è data da

e la varianza campionaria 82 è

:r = '"""11 ·ri n

'"""n ., _., s2 - Ld=l :e; - ni·-, - 11 - l

(6.22)

(6.23)

Se i dati sono discreti e suddivisi secondo una distribuzione di frequenza, è possibile riscrivere le equazioni (6.22) e (6.23) come

.,. -J • -

TI (6.24)

Page 325: Sistemi ad Eventi Discreti

318 Capitolo 6

3 - - ---------------- ----- -

2 --------------------------

• -.• •

• • •

o •• • •

•• . ··-- - - - - - - - - - - - -

• - I - - - - - · - - -

• •

-2 -----------------------

99.4 99,8 100,2

Secondi

100.6

Figura 6.12 lscogramma e diagramma quantile-quantile.

e "'" f 2 _•) ·> LJ 1 J'rJ - nx-s- -

n - 1 (6.25)

dove k è il numero di valori distinti di .r e f1 è la frequenza osservata del valore .r 1 di .r; le equazioni (6.24) e (6.25) offrono una maggiore efficienza computazionale rispetto alle (6.22)-(6.23).

Con riferimento all'Esempio 6.14, è faci le verificare che le equazioni (6.24) e (6.25) consentono di ottenere una media campionaria :r = 3.6-1 e una corrispondente varianza campionaria 8 2

- 7.63; in tali equazioni si è posto n = 100 e .rJ e /1• j = L .. . . 12, uguali rispettivamente ai valori della prima e della seconda colonna della Tabella 6. 7. Altrettanto semplice è verificare che Jc equazioni (6.22) e (6.23) forniscono i medesimi valori di media e varianza campionaria.

Se invece 1 dati sono a valori continui, è più opportuno utilizzare i dati prima di <lividerh in classi; spesso però i dati sono resi disponibili giit aggregati in classi: in questo caso è pos">ibi lc calcolare media e varianza camp onaria soltanto in forma approssimata.

Page 326: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 319

per mezzo delle equazioni

X-....:....

- (6.26)

e

(6.27)

dove k è il numero di classi, fj è la frequenza osservata relativa al )-esimo intervallo e 111 J è il punto medio di questo.

Con riferimento all'Esempio 6.13, applicando le equazioni (6.26) e (6.27) ai dati di-visi in classi riportati in Tabella 6.6. si ottengono una media campionaria .i· · 12 .28 e una corrispondente varianza campionaria 52 ...:.. G05.8.). Applicando invece le equazioni (6.22) e (6.23) direttamente ai 50 dati osservati, non riportati nell'Esempio 6.13. si otten-gono i valori x = 11.10 e S2 = (322.95, che danno un'idea dell'approssimazione che le equazioni (6.26) e (6.27) introducono.

È chiaro che per selezionare nena famiglia di distribuzioni candidata una specifica distribuzione è necessario disporre di una stima numerica dei suoi parametri; in questo contesto, per completezza si riportano in Tabella 6.9 gli stimatori consigliali per le distri-buzioni più utilizzate nella simulazione ad eventi discreti; per ulteriori dettagli e stimatori relativi ad altre distribuzioni si rimanda ai libri di Fishman (1978) e Law e Kelton (1991).

Distribuzione Parametri Stimatori

Poisson Cl' ii = .r.

esponenziale À ,\ = .r

uniforme su (O.b) n+l

b b = --max{.r} n

A -

Il µ = .l: normale .,

cr A•) S" rr- = -

Tabella 6.9 Stimatori usali per le distribuzioni ricorrenti nella simulazione ad eventi discreti.

Page 327: Sistemi ad Eventi Discreti

320 Capitolo 6

Si faccia ancora riferimento ai tre esempi introdotti a proposito della rappresentazio-ne dci dati di ingresso mediante istogrammi e/o diagrammi q q. A questo punto siamo in grado, osservando la forma di un istogramma o di un diagramma q - q, di inferire sulla fun7ione cli rli'\trihn7ione cli forma pit1 somigliante a quella che stiamo osservando.

Per quanto riguarda l'Esempio 6.13. si nota che l istogramma in Figura 6.10 sug-gerisce di adottare una distribuzione esponenziale per la variabile aleatoria che modella i tempi di ritardo nell 'esecuzione dell'operazione di interesse; nella Tabella 6.9 si indica À = +. come stimatore del parametro caratteristico À della distribuzione esponenziale,

che assume in questo caso il valore>. = 0.084. La forma dell'istogramma riportato in Figura 6. 11, relativo alle osservazioni del nu-

mero di accessi a un determinato sito web oggetto del l'Esempio 6. 14, ricorda la forma del-la distribuzione di Poisson; lo stimatore del parametro caratteristico o di tale distribuzione è secondo la Tabella 6.9 o = ;r, che vale in questo caso 3,6-l.

Infine, si consideri il problema della rappresenta7ione dcl tempo aleatorio di esecu-1ione dell'operazione di verniciatura descritto nell'Esempio 6. 16. Il diagramma q - q in Figura 6.12, che rappresenta le osserva?ioni di tale tempo, conduce a ipotizzare che la variabile segua una distribuzione normale; i parametri Jt e a'2 sono stimati da ;r e 8 2 •

rispettivamente, i cui valori si ottengono dalle equazioni (6.22) e (6.23) come fì = 99.99 e a'2 -

6.4.2 Verifica della correttezza della funzione di distribuzione scelta

Gli stessi due test nominati per verificare le proprietà dei numeri casuali generati, cioè il test \ 2 (chi-quculro) e il test di Kolmogorov-Smirnov possono essere applicati per verifi-care le ipotesi fatte a proposito della forma delle distribu1.ioni dei dati di ingresso. ossia per verificare la goodness-of-fit.

Dal momento che molto spesso nei sistemi real i non esiste un'unica distribuzione compatibile con i dati da rappresentare, i test di verifica sono indicativi della conformità, ma non indiscutibili. Ciò è dovuto principalmente al fallo che tali test sono molto sensibili al numero di campioni a disposizione. Spesso infatti si ncade in una delle situaziont seguenti: \C \Ono disponibili pochi dati, è probabile che un test di goodness-of-fit non ··respinga·· alcuna distribuzione candidata; se al contrario "ono disponibili molti datt. è probabile che i test di goodness-of-fit rigettino tutte le distribuzioni candidate. Si può quindi concludere che il fatto che una distribulionc non venga rifiutata è un segnale a favore della scelta effettuata, mentre un rifiuto è \Olo un segnale a sfavore di tale scelta.

Test y·> . È un test statistico che formalizza l'idea intuitiva di confrontare l'istogramma dei dati con la distribuzione candidata, sia essa continua o discreta. Il test \ 2 funziona con insiemi grandi di osservazioni (n ). che vengono suddivise in k classi; per valutare la qualità della "somiglianza" tra la distribuzione empirica e quella ipotizzata, si calcola la deviazione relativa tra le due misure di probabilità per ogni classe. Il totale di tali deviazioni è la quantità \Ò, definita come

I. ) •) 2 _ ·E,)-

\o - L E · i=! I

(6.28)

Page 328: Sistemi ad Eventi Discreti

Simtùazione ad eventi discreti 321

dove O, è la frequenza osservata nell' intervallo i e Ei è la frequenza attesa per la mede-sima classe i; si pone E; - kpi, dove Pi è la probabilità teorica ipotizzata per la classe i, i = 1 .... . k. Perché il test sia attendibile è opportuno non usare mai frequenze atte-se molto basse: di solito la soglia minima è 5; se qualche frequenn è sotto la soglia, è necessario aggregare classi adiacenti.

In pratica. il test \ :> misura la differenza relativa tra ogni frequen/a attesa E, e la corrispondente frequenza osservata Oi; la differenn è quadratica per rendere la quantità \ positiva e crescente con il numero di classi. Chiaramente la situazione ideale è quella m cui le corrispondenti frequenze osservate e attese sono uguali e dunque \5 è O; di conseguenza, nei casi reali si cerca di ottenere il minimo

È -;rato dimostrato che \ segue la distrihuzione \ 1 (cfr. Appendice C) con v =-:

k 1 - 1 gradi di libertà. dove r è il numero dci parametri della distribuzione candidata stimati come visto nel paragrafo precedente.

Le ipotesi da nllutare medi ance il test \., sono:

• H0 : la variabile casuale \ è conforme alle ipotesi di distribuzione caratterinata dai parametri stimati ;

• II 1: la variabile casuale \ non è conforme alla distribuzione indivi<luata dai para-metri stimati.

In pratica, si parte <lai presupposto che la distribuzione candidata rappresenti i dati in modo <.;oddisfacentc e s1 determinano I/ e Se questo valore è maggiore d1 un dato valore critico \ 0 ·'' rilevabile <la un· appo-.irn tabella (Tabella C. l). s1 puil concludere che la distribuzione empirica e quella stimata d1ffenscono in modo ··signilkatt\o··. quindi lipotesi Ilo è rifiutata e Yale H 1. Se invece \'ii < \ ,,. la funzione candidala si può considerare una rappresentazione soddisfacente. li livello di significallvità è appunto il valore del parametro n; per esempio se o vale 0.05. qualunque sia il valore di 1;, l'ipotesi //0 è accettata se le due distribuzioni differiscono per meno del 5%.

Nel caso di dati discreti, il numero di classi è determinato dal numero <li celle risul-tanti dopo I" eventuale aggregazione di celle adiacenti: nel caso di dati continui, non ci "iOno regole generali. ma esistono delle indicazioni riassunte nella Tabella 6. I O.

Numero di campioni (n ) Numero di classi (k)

20 non si usa il test \ 2

50 da 5 a 10 -

100 da 10 a 20 f-

da fii a 11 /5 > 100

Tabella 6.10 Relazione tra numero di campioni e numero di classi.

Esempio 6.17. Per il problema trattato neJrEsempio 6.14. si è nel paragrafo prece-dente che la distribuzione ipotizzata per rappresentare il numero di accessi al sito web è

Page 329: Sistemi ad Eventi Discreti

322 Capitolo 6

quella di Poisson con parametro n = 3,64. È possibile applicare il test x2 per verificare se tale ipotesi è attendibile.

In questo caso, le ipotesi da valutare sono dunque:

• H0 : la variabile aleatoria d' interesse segue la distribuzione di Poisson individuata;

• H 1: la variabile aleatoria d'interesse non segue la distribuzione di Poisson.

Calcolando per mezzo della funzione di probabilità della distribuzione di Poisson (cfr. Appendice C), posto a = 3,64, le probabilità p(,ri ), i = O •.... 11, delle diverse frequenze di accesso osservate, si ottengono i valori riportati nella Tabella 6.11.

.r, p(1:i) O; Ei

o 0,026 12 2,6 1 0,096 10 9,6 2 0,174 19 17,4 3 0,211 17 21, 1

-4 0,192 10 19,2 5 0,140 8 14,0 6 0,085 7 8,5 7 0.044 5 4,4

8 0,020 5 2,0 9 0,008 3 0,8 10 0,003 3 0,3 11 0,001 1 0,1

Tabella 6.11 Probabilità e frequenze dei valori delle osservazioni.

Nella tabella si nota che alcune frequenze attese sono minori di 5: è quindi opportuno aggregare le classi O e 1 e le classi che vanno da 7 a 11: le frequenze attese di queste due nuove classi sono la somma delle frequenze attese delle classi aggregate, cioè 12.2 e 7,6 rispettivamente. 11 numero di classi k passa così da 12 a 7.

A questo punto applicando la relazione (6.28) si ottiene il valore \B = 27.68; i gradi di libe1tà sono 11 = 7 - 1 - 1 = 5. Osservando la tabella, si nota che nella riga relativa a 5 gradi di libertà i valori riportati sono tutti minori di \6, il che significa che l'ipotesi Ilo è rifiutata per tutti i valori di precisione considerati nella tabella. In questo caso, sarebbe evidentemente necessario ipotizzare un· altra distribuzione. magari empirica. oppure raccogliere altre osservaz.ioni. se possibile. e poi ripetere la procedura di definizione dei dati di ingresso. +

Nel caso in cui si intenda applicare il test \ 2 per verificare l'ipotesi <li una di"itribu-zione continua, è stato mostrato da vari studio..,i che si ottengono risultati migliori se si considerano intervalli uguali per valore di probabilità piuttosto che per ampiezza: eviden-temente una tale procedura può essere intrapres,t solo a partLe dalle singole osservaJioni

Page 330: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 323

e non da dati già aggregati in qualche modo. La descrizione di questo metodo alternati-vo va però oltre lo scopo di questo testo, per cui si rimandano i lettori interessati ai testi specialistici, quali per esempio i libri di Law e Kelton ( 1991) e Scverance (200 l ).

Test di Kolmogorov-Smirnov. Questo test statistico formalizza l'idea associata alla procedura di identificazione della distribuzione candidata per mezzo di diagrammi q-q. Dal momento che gli istogrammi sono molto più usati (ogni volta che si può) dci dia-grammi </ - q, sia per facilità di tracciamento sia per il fatto che raramente ormai accade che siano a disposizione poche osservazioni, il test di Kolmogorov-Smirnov si trova di conseguenza a essere applicato raramente. infatti, esso è particolarmente utile quando le dimensioni dei campioni sono piccole e/o quando non sono stati stimati parametri dai dati.

In questo contesto non viene spiegata in dettaglio la procedura da seguire, che varia peraltro con la distribuzione rimandando ancora una volta ai tanti testi specifici elencati nella bibliografia dcl capitolo. Per completeaa si vuole però evidenziare il fatto che il principio su cui si basa il metodo è analogo a quello enunciato per il precedente test \ 2 . Infatti anche in questo caso si tratta di accettare l'ipotesi H 0 che i campioni provengano dalla distribuzione candidata, oppure rifiutarla. Il confronto però avviene ora valutando la massima differenza in modulo tra la distribuzione ipotizzata e quella empirica ricavata dai campioni; ancora in analogia con il test y2 poi tale quantità va confrontata con un valore critico tabulato, che permette di concludere sull'accettabilità di H0 .

6.5 Verifica e validazione dei modelli simulativi

li processo di verifica riguarda la corretta costruzione del modello, mentre il processo di convalida (o di validazione) riguarda la costruzione del modello corretto.

Nella definizione di un modello simulativo si compiono i seguenti tre passi:

1. osservazione del sistema reale e delle interazioni tra i suoi componenti e raccolta di informazioni sul suo comportamento;

2. costruzione di un modello concettuale;

3. trasformazione del modello concettuale in modello "operativo" riconoscibile da com-puter.

Le relazioni tra le fasi suddette sono rappresentate dal diagramma in Figura 6.13. Alcune regole pratiche per la verifica sono:

• seguire la sequenza degli eventi;

• sviluppare il diagramma di flusso e verificare il codice in modo da controllare tutte le diramazioni;

• in casi semplici confrontare i risultati ottenuti dal programma di simulazione con quelli ottenuti a mano.

• controllare la fun11on tlità di ogni singolo oggetto:

Page 331: Sistemi ad Eventi Discreti

324 Capitolo 6

/-\ --------------1.,( Sistema rea le I

)

Calibrazione e

validazione

/ concettuale

( Modello concettuale :

1. Ipotesi sulle componenti del sistema

2. ipotesi sulla struttura e definizione delle interazioni tra le componenti del sistema

3. Ipotesi sui parametri e sui dati di ingresso

Verifica dcl modello

Modello operati\ o (rappresentazione al

calcolatore)

Figura 6.13 Costruzione del modello. verifica e convalida.

• controllare l'assegnazione dei senti dei generatori dei numeri casuali:

• verificare graficamente l'evoluzione temporale di caratteristiche che potrebbero pre-sentare instabilità.

Per esempio si può isolare una risorsa di lavorazione di cui sono noti i tempi di interarnvo e tempi di servizio e verificare la media e Ja varianza dci tempi tra due uscite e la stabilità della coda.

La fase di validazione si svolge in genere contemporaneamente alla fase di verifica e prevede regole analoghe, ma in questo caso 11 confronto avviene con il sistema reale anziché con il modello. Regole pratiche per la validazione sono:

• sviluppare il modello con persone che conoscono il sistema;

• rappresentare il modello graficamente:

Page 332: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 325

• raccogliere dati storici o realistici e controllare che le trasformazioni degli ingressi nelle uscite conducano a risultati statisticamente simili;

• controllMe che si possl'\no verificare le condizioni di accadimento di ogni evento e di verifica delJe condizioni logiche previste;

• controllare la funzionalità di ogni oggetto, eventualmente realizzando qualche espe-rimento anche su parti del sistema

• eseguire analisi di sensitività per calibrare correttamente i parametri.

La calibrazione è un processo iterativo di confronto tra realtà e modello al fine di determinare correttamente i valori dei parametri in gioco.

6.6 Analisi dei risultati della simulazione

L'analisi dei dati prodotti dalla simulazione consente di valutare le prestazioni del SED che si sta studiando; tale analisi è necessariamente statistica se i dati di uscita della si-mulazione sono prodotti a partire da variabili di ingresso con valori generati in modo ca-suale, dal momento che, come si è detto, sequenze differenti di numeri casuali producono tipicamente insienù di uscite differenti.

Nel caso in cui le prestazioni del sistema siano stimate attraverso un parametro t9, il risultato di un insieme di esperimenti simulativi è uno stimatore di ù; lo scopo dell'a-nalisi statistica è stimare la varianza dello stimatore, che nùsura la sua precisione, e/o determinare il numero di osservazioni necessarie per ottenere la precisione desiderata.

L'analisi dei dati di uscita è indubbiamente condizionata dalle sequenze di numeri casuali generati e dalle condizioni iniziali, ma l'elemento più caratte1izzante è la durata Tt: della simulazione, che può essere finita o meno. Se la durata è specificata, si par-la di simula::.ione terminante o transitoria. che inizia all'istante T = O in determinate condizioni iniziali e tennina all'istante r - Tr:.

Questo tipo di simulazione non è adeguato allo studio di un sistema 11011 terminante, che funziona senza interruzioni o comunque ininterrottamente per periodi di tempo molto lunghi. In generale, di tali sistemi si desidera valutare le prestazioni a regime. quan-do l'influenza delle condizioni iniziali si è esaurita o è almeno trascurabile. Lo studio simulativo dcl comportamento a regime di un sistema è detto simula::.ione non terminan-te o stazionaria; problemi significativi in questo ambito riguardano, come si vedrà nei prossimi paragrafi. la determinazione delle condizioni iniziali e finali.

La scelta del tipo e quindi della durata della simulazione dipende dalla struttura del sistema da studiare e dagli obiettivi scelti.

6.6.1 Stima degli indici di prestazioni

Si suppone di voler stimare un parametro iJ che descrive le prestazioni del sistema a partire dalla sequenza dei dati di uscita della simulazione } 1 .... 1 ·,1 • Sono necessarie sia la stima puntuale del parametro d'interesse sia la strma de/l'intervallo di confiden-;,a. cioè di un intervallo che includa il valore d1 d con una probabilità fissata. Quindi. se date n

Page 333: Sistemi ad Eventi Discreti

326 Capitolo 6

osservazioni 1 ·1 ••• .} si desidera una stima del valore ·'più plausibile" div, si determina il valore del suo stimatore "puntuale" definito come

(6.29)

che in generale ha valore atteso E( O) - ù + b, dove lJ rappresen ta un eventuale bias, ossia la deviazione dal valore desiderato, che è una quantità costante e tipicamente non nota; se i dati 1·1 , .. .l'n sono indipendenti e identicamente distribuiti (i.i.d.), lo stimatore è non deviato e quindi b = O.

Se invece, sempre a partire dai dati di uscita 1 '1 ••• , } •11 s i vuole stimare un intervallo che contenga il valore iJ con una probabilità desiderata, è necessario stimare la varianza dello stimatore tl; ciò si effettua per mezzo dello stimatore della varianza e72(0), a2(1Ì),

che ha media E [ a 2 (O) J = Ba2 (O), dove B è la deviazione della varianza dello stimato-

re. Se lo stimatore della varianza è non deviato e i dati di uscita seguono una distribuzione normale. allora la variabile aleatoria

i) - ù t=

a 2 ( 1) ) (6.30)

segue la distribuzione t di Student parametrizzata da /1 gradi di libertà, tanti quanti i dati raccolti. A questo punto è possibile fornire la seguente definizione formale di intervallo di confidenza.

Definizione 6.18. L' intervallo di confidenw di percentuale l 00( 1- n )% per il parametro ù è dato da

(6.3 1)

dove I" .11 è un punto a percentuale 100(1 cioè Pr{t t "·"} - n.

o:) in una distribuzione t con ri gradi di libertà, A

È intuitivo che l'intervallo di confidenza definito risu lterà corretto se sia lo stimatore puntuale sia lo stimatore della varianza sono non deviati; per questo motivo un problema rilevante da risolvere nell'analisi dei dati di uscita di uno studio simulativo è ottenere stimatori approssimativamente non deviati per la varianza dello stimatore puntuale.

Ricordando che la varianza dello stimatore tJ si può scrivere in funzione della va-rian1a delle n osservazioni 5 2 come

(6.32)

allora uno della varianza con n - 1 gradi di libertà è

C72(0) = 52 - 2. :t - 1J):! 11 11 11 - 1

I I

(6.33)

che è non deviata se i dati } '1 ... J ·n sono staci:-.ticamente indipendenti, costituisce una stima per difetto se i dati 1 '1 ••• .1 presentano autocorrelazione positiva, o una stima per eccesso i dati } ·1 •• • • 1 presentano autocorre I azione negat tva.

Page 334: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 327

Di conseguenza, se 13 è uno stimatore puntuale deviato, si può ottenere un intervallo cli confidenza intorno a un valore sbagliato. Se si ha una autocorrelazione positiva e si usa lo stimatore derivato da S 2 si ottiene un intervallo di confidenza più stretto di quello reale; se invece si ha una autocorrelazione negativa e si usa lo stimatore derivato da 8 2

si ottiene un intervallo cli confidenza più largo di quello reale. È evidente che nei primi due casi l'errore eventuale commesso è veramente significativo, mentre nell' ultimo caso si commette un errore minore, che si concretizza però in uno spreco di tempo, in quanto si raccolgono più dati del necessario.

6.6.2 Analisi di simulazioni di durata finita

Si consideri una simulazione terminante che eseguita nell ' intervallo di tempo [O, TE ]

fornisce come risultati le osservazioni Y1 , .. 11 numero di osservazioni n può essere fissato oppure casuale.

Per perseguire l'obiettivo della simulazione, cioè stimare

(6.34)

si può utilizzare il cosiddetto metodo delle repliche indipendenti: la simulazione viene ripetuta R volte, usando ogni volta una sequenza diversa cli numeri casuali e condizioni iniziali indipendenti. Da ogni replica r, r = l. .. . R, si ottiene la sequenza ( autocorre-lata) di dati ... ,Yrn,.; le singole sequenze presentano sempre autocorrelazione, ma le sequenze di dati di uscita di repliche distinte sono statisticamente indipendenti.

Quindi, definendo la inedia campionaria relativa a una replicar, r = 1, .. ,R, come

,.. l Il,,

13r =-I: Yri nr i= l

(6.35)

si può osservare che le medie campionarie delle R repliche sono statiscicamente i.i.d. e dunque sono stimatori non deviati di {).

Pertanto, è possibile effettuare la stima dell'intervallo di confidenza compiendo i passi seguenti. Dopo aver eseguito R repliche indipendenti della simulazione, si calcolano le corrispondenti medie campionarie secondo la relazione precedente; da tali medie si ottiene uno stimatore puntuale globale come

R 1 19 = R L; Or

i-1

e la corrispondente stima della sua varianza come

(6.36)

(6.37)

da cui, secondo la definizione data, si può ottenere l'intervallo di confidenza del 100(1 -n.)% con R - 1 gradi di lihertà come

Page 335: Sistemi ad Eventi Discreti

328 CapiroJo 6

(6.38)

ln questo caso quindi, ricordando quanto detto nel paragrafo precedente, l 'ampiezza di un inlervallo di confidenza del 100(1 - a)% per il parametro rJ, basato sulla distri-buzione t di Student, si può esprimere, sostituendo nella relazione precedente JR alla

deviazione standard 0-( J) dello stimatore, come

s l n R l-

2· - JR (6.39)

dove S è la deviazione standard campionaria, data da

(6.40)

È. possibi le seguire un approccio duale di quello fin qui descritto, nel quale si è ipotizzato di fissare il numero R di repl iche indipendenti e di valutare, sulla base dei dati da queste ottenuti, quale precisione offre ogni stimatore delle variabili d'interesse. lnfalti, si può presentare la necessità di stimare un parametro 1J con 1) a meno di un errore prefissato E con probabilità 1 - n; in questo caso quindi, dal momento che la precisione è fissata, il numero R di repliche indipendenti da effettuare è la variabile libera, che va determinata in modo da ottenere tale risultato.

Tale obiettivo viene di solito perseguito in maniera empirica, effettuando dapprima una stima iniziale S5 della varianza a-2 della popolazione con un numero ridotto Ro R di repliche (almeno 4-5); il valore da assegnare a fl dev'essere tale da soddisfare la relazione

che esplicitando R diventa

So t - < f JR

(

f % . R - l So) 2 R > ----

- E

(6.41)

(6.42)

Detem1inato R, si effettuano le R - Ro repliche mancanti e si ottiene rintervallo di confidenza del 100(1 - n)% per ù come espresso dalle (6.38) e (6.39). Se tale inlervalJo risultasse troppo ampio. è necessario reiterare la procedura, ricavando dalla (6.42) un valore maggiore di R, che si tende di solito a scegliere in prima istanza il minimo che soddisfa appunto la diseguaglianza (6.42).

Esempio 6.19. In un sistema di produzione formato da 3 stazioni di lavorazione (macchi-ne) arriva un componente da lavorare ogni 10 minuti. I componenti da lavorare sono di 4 tipi diversi, con pari probabilità di arrivo. I tempi di lavoraLione presentano distribuzione normale e sono espressi in minuti: le caratteristiche delle distribuzioni di tali tempi sono riportate nel piano di processo in Tabella 6.12.

Supponendo che il tempo di trasporto tra due macchine sia costante e pari a 3 minuti, eseguite 20 repliche simulative lunghe 5000 minuti si è raccolta la statistica del tempo di

Page 336: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 329

Componente Macchina I Tempo di lavorazione

l Hl I I .Y(9. 5.2) 111:! / Y(l1. i.2. 8) - -

2 m 1 / Y(l3. 5.2. 3) 1112 I .\(10.3) ma/ S(8. 5.2. 1) 3 1111 I S(l2.l.8) 1112 I Y(!.>. 5.2. 1) 4 1112 I .Y(l 2. G.l. I) 111 :i / v ( u . -L L :1.)

Tabella 6.12 Sequenze e tempi di esecuzione delle opcnu.ioni di lavorazione.

ciclo medio del prodotto 2. Lo stimatore di tale quantità presenta media 85,0 e deviazione standard 11 .47: l'intervallo di confidenza del 95% ha ampiezza 5,03.

Si è poi modificato l instradamento delle diverse parti, supponendo che tutte segua-no il medesimo percorso m se un componente non richiede la lavorazione da parte di una macchina, il corrispondente tempo di lavorazione viene posto a zero. Come sopra, sono state eseguite 20 repl iche simulative lunghe 5000 minuti. raccogliendo come dato d'uscita il tempo di ciclo del prodotto 2. come statistica di confronto tra i due di-versi modelli simulativi, ancora con un intervallo di confidenza del 95%. In questo caso, lo stimatore di tale tempo ha media 120.90 e devia1ione standard 31.90: l'intervallo di confidenza con la precisione richiesta ha ampie11a l 3,98. +

6.6.3 Analisi di simulazioni stazionarie (non terminanti)

Come si è <letto, si usa la simulazione definita sta:.ionaria o non terminante quando si vo-gliono stimare le prcsta;;ioni di un sistema a regime. Se un lancio di simulazione produce le osservazioni ) '1 .... ) solitamente campioni di una sene autocorrelata. la nusura delle prcsta1ioni 1) da stimare in condizioni di stato stazionario è definita come

l " 1) = lim - ' } 'i

11--t Il L-i = I

con probabilità 1; il valore di ù è indipendente dalle condizioni ini/'iali.

(6.43)

Ad esempio. se } 1 è 1 l tempo totale passato dal joh i in un sistema jvh-slwp. allora i) rappresenta il tempo medio che a regime un job pa ... sa nel sistema e, per definizione. è indipendente dalle condizioni inll'iali del sistema.

La <lei campione 11. ovvero la durata della simulazione. non è intrin-seca alla natura dcl sir.;tcma che si vuole analizzare. ma è una scelta <li progetto e dipende. oltre che banalmente dalle isorse d1 elahorazionc di cui si dispone. dalla precisione de-siderata pcr lo st imatorc pt ntuale: infatti la deviazione dello sti malore puntuale indotta dalle condiziom iniziali t1p1camente d iminuisce all'allungarsi della durata della simula-1ione. Inoltre. il problema dclla scelta di n o di TJ; dipende anche dalle possibilità di capire quando s1 raggiunge il regime e e.li ottenere dati i.i.d. Data la sua importanZ<\, al-la soluzione d1 QùCslo problema sono stati e sono tuttora dedicati molti stu<li. In questo contesto. viene presentata una breve descrizione di alcune alternative proposte per deter-minare i valori di 11 o di r1 che consentono di superare il transitorio. Ancora una volta

Page 337: Sistemi ad Eventi Discreti

330 Capitolo 6

si rimanda ai testi specialistici sulla simulazione elencati nella bibliografia per maggiori dettagli.

Per ridurre la deviazione indotta da condizioni iniziali arbitrarie si può adottare un'i-nizializzazione cosiddetta "intelligente", che consiste sostanzialmente nello scegliere con-dizioni iniziali tipiche, sulla base di dati reali; se ciò non è possibile, l'alternativa è sce-gliere condizioni iniziali realistiche, ottenibili da modelli matematici molto semplificativi della realtà, come ad esempio le reti di code. Un altro metodo per ridurre l' influenza delle condizioni iniziali consiste nel dividere la durata della simulazione in due parti: una pri-ma fase di inizializzazione che dura da O a r0 , seguita da una fase di raccolta dei dati, che dura fino a To +TE; questo metodo è il più usato, perché non è vincolato alla disponibilità di molti dati o di un modello matematico, seppur semplificativo. Chiaramente applicando questo metodo il problema diventa quello di determinare l'istante r 0 in cui si stima che la simulazione cominci a rappresentare il comportamento del sistema a regime.

Determinazione della durata della fase di inizializzazione. La simulazione comincia all'istante T = O con condizioni iniziali 10 , come indicato in Figura 6.14, ma fino alla fine della fase di inizializzazione (r0) non vengono raccolti dati.

Condizioni iniziali

lo

o

Condizioni iniziali <li regime

I

Inizializzazione di durala 't0

Fase di raccolta dei dei dati di durata

'to+ 't1:

Figura 6.14 Fasi di inizializza7.ione e di raccolta dei dari.

Lo stato I deJ sistema aJl'istante r 0 è una variabile aleatoria, dunque dire che il sistema ha raggiunto il regime equivale a dire che la distribuzione di probabilità dello stato del sistema in ro è tanto simile alla distribuzione di probabilità dello stato stazionario da rendere trascurabile la deviazione dello stimatore.

Per determinare r0 si possono utilizzare metodi statistici, che sono però poco usaci perché di difficile applicazione, oppure metodi empirici, che sono di gran lunga i più diffusi, anche se molto spesso ritagliati ad hoc sui singoli sistemi e quindi difficilmente generalizzabili.

Metodo delle repliche indipendenti con cancellazioni. Se la deviazione dovuta aU 'ini-zializzazione è resa trascurabile, anche nel caso di simulazioni non terminanti è possibile utilizzare il metodo delle repliche indipendenti per stimare ln variabilità dello stimatore puntuale e per costmire l' intervallo di confidenza.

Siano n le osservazioni ottenute da un lancio simulativo. 'Tota la durata del transi-torio. si calcola la media su n - d osservazioni per ogm replica, dove d è il numero di

Page 338: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 331

osservazioni raccolte durante il transitorio della simulazione (detto anche warm-up ), che vengono cancellate. Lo stimatore -&11 ,d del parametro 1J si ottiene allora come

A 1 n

'19n.<1 = n - d L J (6.44) j=d+l

Sulla base delle medie con d cancellazioni si eseguono le stime seguendo le procedu-re viste per le simulazioni di durata finita, dal momento che le medie delle repliche sono tra loro i.i.d.

Anche in questo caso, esistono delle regole empiriche ormai consolidate che con-sentono di valutare la lunghezza di ogni replica e il numero di repliche da effettuare. La durata di ogni replica dopo il punto di canceJlazione To deve essere almeno 10 volte la quantità di dati cancellati, ossia deve valere

(n - d) 10 d ovvero TE> 10 To

Inoltre, il numero R di repliche dovrebbe essere il massimo compatibilmente con l'onere computazionale che ciò comporta e comunque non superiore a 25 (Law e Kelton, 1991).

Si supponga ora di voler stimare un parametro '19 a meno di un errore e con un in-tervallo di confidenza del 100(1 - a)%. Può succedere che con il numero di repliche effettuate non si riesca a soddisfare il vincolo suUa precisione. Allora ci sono due alter-native possibili: aumentare il numero R di repliche o allungare la durata utile TE di ogni replica. L'aumento di R è gestito come visto per le simulazioni di durata finita. Per quanto riguarda invece J' allungamento della durata della fase di raccolta dei dati delle repliche, si procede nel modo seguente: se è stato calcolato di dover effettuare un numero R - Ro di repliche dopo le Ro iniziali, l ' idea di base è di allungare la durata utile delle repliche in modo proporzionale, .ossia trasformare r0 e ro +TE rispettivamente in ( R/ R:i)ro e (R/ R-0)(ro +TE), come raffigurato nella Figura 6.15.

o

o

Fase cli inizializzazione

Fase di inizializzazione

Fase di raccolta dei dati

Fase di raccolta dei dati

Figura 6.15 Aumento della durata delle repliche simulative a scopi di precisione.

Nota 6.20. La deviazione dovuta alle condizioni iniziali non dipende dal numero di repli-che R ed è invece influenzata dallo spostamento del punto di cancellazione r0 e dall' al-lungamento della durata delle repliche TE; se r0 non è stato determinato correttamente,

Page 339: Sistemi ad Eventi Discreti

332 Capitolo 6

tutte le stime risulleranno deviate. lnfine, si noti che dal momento che To dipende dal parametro che si vuole stimare, va ricalcolato per ogni parametro diverso. A

11 metodo empirico basato sulle medie a lotti (batch). Questo metodo si basa sulla divisione dei dati di uscita di ogni replica. dopo aver cancellato le d osservazioni raccolte nel transitorio, in J.· insiemi di dati con medesima durata (batch), le cui medie vengono poi trattate come se fossero indipendenti.

La media lj calcolata sui dati del batch j, j = 1. ... . k, di dimensione m (nell'ipotesi che k sia divisore esatto di 11 - d) è quindi definita come

J - 111

d JITl

L: t=rl (j t,m...:...1

La corrispondente stima della varianza della media campionaria è

dove 1 · è la media campionaria globale delle medie batch.

Tl-d -"-.

(6.45)

(6.46)

Si noti che le medie batch non sono indipendenti. ma diventano circa indipendenti al crescere delle dimensioni dei batch: non esiste una regola univoca per determinare m o J.·.

Le medie batch possono essere utilizzate anche per determinare empiricamente la durata del transitorio, sulla base delle regole seguenti:

• cffctluare diversi lanci di simulazione (almeno 10);

• dividere i dati osservati in batch di ampiezza uguale;

• per ogni gruppo di batch corrispondenti nelle R repliche, calcolare la media batch.

Nota 6.21. Il metodo delle repliche indipendenti impone uno !;preco di dati e tempo per-ché si devono superare tanti transitori. In alternativa, determinata la durata del transitorio, si può eseguire un unico lungo lancio simulativo. In questo modo si determinano le sti-me come per simulazioni di durnta finita utilizzando i valori 1 :, calcolati per i batch deJ lancio, con il vantaggio di dover 5.uperare un solo lo svantaggio presentato da questo metodo è che le stime sono corrette solo se gli l j sono i.i.d. A

Ancora una volta si rimanda il lettore interessato ad ..1pprofondimenti ai testi che possono pretendere di essere esaustivi sull'argomento. quali per esempio i libri di Law e Kelton (1991) e di Banks ef al. (l 996).

6. 7 Software per la simulazione ad eventi discreti

L'uso di un linguaggio di programmazione per la simulazione ( SPL) general-pwpose ve-locizza lo sviluppo del modello, la rappresen .az one dei d tti di ingresso e l'analisi dei

Page 340: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 333

risultati. Inoltre, gli SPL hanno incrementato l'utilizzo della simulazione come strumen-to di analisi, favorito dalla diminuzione progressiva dei costi di sviluppo di un modello simulativo.

Nella scelta di un software per la simulazione ad eventi discreti, l'aspetto principale da tenere in considerazione è il rapporto tra il livello di accuratezza e di dettaglio richiesti e ciò che viene offerto da un programma: con i linguaggi si può modellare praticamente qualunque sistema, con i pacchetti specializzati non è detto.

Gli aspetti che caratterizzano i linguaggi di simulazione riguardano la possibilità di interfaccia con linguaggi di tipo generale (generai purpose), la capacità di analisi dei dati di ingresso (o la compatibilità con pacchetti software che realizzano tale analisi), la portabilità (o almeno lo sviluppo di un eseguibile portabile), la semplicità e strutturabilità dcl linguaggio, la flessibilità dell'ingresso (dati in files o interattivi), la disponibilità di un debugger interattivo.

Le caratteristiche relative alla capacità di elaborazione sono la velocità, la generazio-ne dei numeri casuali. la gestione dei dati, le librerie disponibili, la gestione di simulazioni non terminanti e di replicazioni indipendenti.

Infine, le uscite dci programmi <li simulazione sono caratterizzate dalla possibilità di avere report standard e/o personalizzati, dalle tipologie di analisi statistiche e dalla rappresentazione grafica dei relativi risultati (istogrammi, torte, ... ), dalla compatibilità con fogli di lavoro (tipo Excel) o basi di dati e, in ultimo ma non meno importante, dalle potenzialità di an imazione offerte.

6. 7 .1 Linguaggi di simulazione

Nella storia dello sviluppo degli SPL dal 1955 al 1986, Nance (1993) definisce i requisiti fondamentali che deve avere un SPL come:

• generazione dei numeri casuali;

• generazione delle variabili aleatorie;

• gestione del calendario degli eventi;

• procedure per l'analisi statistica;

• generazione dci rapporti finali.

Nella Tahella 6. l3 viene riportata una suddivisione in 5 periodi dei 32 anni 1955-1986 con rife1imento ai linguaggi di simulazione più noti generati in ognuno dei periodi (Nance, 1993). Sotto è poi riportata una breve descrizione dci linguaggi più usati tra quelli citati in tabella.

Il Generai Pu1pose Sysrem Simu/ator (GPSS®) fu originariamente sviluppato su computer IBM nei primi anni '60; negli stessi anni fu realizzato anche SJMUf.A®, che era basato sul linguaggio A /go / e presentava caratteristiche veramente innovative.

SIMSCRIP1® fu invece sviluppato allo scopo di ridurre i tempi di realizzazione dei modelli e dei programmi; i modelli SJMSCRJP1® sono descritti in termini di enti-tà, attributi e insiemi; la sintassi e l'organizzazione dei programmi ricordano quelle del Fortran.

Page 341: Sistemi ad Eventi Discreti

334 Capitolo 6

Periodo Linguaggi

1955-1960

J 961-1965

1966-1970 1971-1978 1979-1986

Tabella 6.13 Sviluppo storico dei linguaggi di simulazione.

In Contro! and Simulation Language (CSL®) fu introdotto nel progetto di un lin-guaggio il concetto di scansione per attività, che rende appunto 1' attività l'unità descrittiva di base.

Il Generai Activity Simulation Program (GASP®) portò la possibilità di usare i sim-boli dei diagrammi di flusso, che consentivano l'approccio alla simulazione sia a esperti in un settore applicativo digiuni di programmazione sia a esperti programmatori non a conoscenza delle aree applicative.

GASP® è stato un precursore sia del Simulation Language for Alternative Modeling (SLAM®) sia del SIMulation ANa1ysis (SI MAN®), due dei linguaggi ancor oggi più noti, nelle loro versioni più recenti (SLAM Il/I'ESS® e SIMAN V®). SLAM® è stato il primo linguaggio a includere tre ambienti simulativi: simulazione ad eventi discreti, a tempo continuo e orientata ai processi; SJMAN® invece è stato il primo SPL eseguibile su un PC e consente di simulare sia ad eventi discreti sia con orientamento ai processi.

Il software per la simulazione ha proliferato negli anni '90, quando sono stati svilup-pati numerosi prodotti disponibili sia per scopi generali sia per applicazioni specifiche. Attualmente tali prodotti sono molto diffusi e disponibili solitamente anche in versioni per PC comuni. Si consiglia al lettore interessato di consultare il lavoro di Swain (1997), che propone una panoramica su 46 prodotti, confrontati per caratteristiche e prestazioni; molto interessante è anche lo stato dell'arte riportato in (llE, 1997), dove sono messi a confronto ben 65 prodotti.

gi: Tra i prodotti più recenti che hanno riscosso maggior successo si elencano i linguag-

• ARENA®: si può considerare una versione "moderna" di SJMAN, che permette di ef-fettuare simulazioni "animate" sotto tutti i sistemi operativi più diffusi, quindi anche su PC;

• EXTEND®: è un prodotto per la simulazione basato sulla programmazione a oggetti, provvisto di fomite librerie di oggetti per applicazioni diverse (sistemi di produzione, di comunicazione, di trasporti, ... );

• MODSIM fil®: è la versione "moderna" del linguaggio che la CACI progettò ini-zialmente su commessa dell 'esercito statunitense; ha ereditato caratteristiche diverse da SIMULA®, SIMSCRIPT® , MODUI.A -2(à\ SMALL1ALK® e ADA®.

Page 342: Sistemi ad Eventi Discreti

Simulazione ad evenà discreti 335

Si rimanda ai più recenti testi nella bibliografia del capitolo per la descrizione detta-gliata dei citati linguaggi, in particolare il libro di Banks et al. (1996).

6.7.2 Risorse su web

In conclusione, ci è parso utile riportare alcuni indirizzi web dove è possibile reperire ma-teriale inerente la simulazione ad eventi discreti. In particolare, informazioni su generatori di numeri casuali e variabili aleatorie sono reperibili agl i indirizzi:

• http : //random . mat . sbg . ac . at/generators/

• http : //www . isye . gatech . edu/informs-sim/#ware

• http : //www . taygeta . com/random . html

Prodotti sofware per la simulazione commerciali e freeware/shareware sono elencati nei siti:

• http : //ws3 .atv. tuwien.ac . at/eurosim/

• http : //www . isye . gatech . edu/informs-sim/#ware

• http : //www . isye . gatech . edu/informs-sim/conun . html

Recentemente si è sviluppata la tendenza a inserire animazione per visualizzare i risultati della simulazione; nei seguenti siti si trova lo stato dell'arte sulla simulazione via web:

• http : //ms . ie . org/websim/survey/survey . html

• http : //www . cise . ufl . edu/Fishwick/websim . html

Esercizi

Esercizio 6.1. Si determini la funzione di distribuzione F(J·) di una variabile aleatoria della quale sono note 8 osservazioni , caratteristiche di tale distribuzione, con valori: 1, 3, 3, 4, 6, 7, 10, 15. Determinare poi anche l'inversa p-1 (;·) di tale funzione.

Esercizio 6.2. Dato l 'insieme {2. 2. 2, 4, 4) 7, 10, 12, 13) 14} di osservazioni di una va-riabile aleatoria X, stimare un'adeguata funzione di densità uniforme continua. Valutare tale funzione ipotizzata per mezzo del test x2

.

Esercizio 6.3. Simulare con qualunque linguaggio a disposizione il comportamento di una coda a singolo servente con disciplina FIFO. l tempi di interarrivo seguono la distri-buzione uniforme in [1 ,2. 2)0] e il tempo di servizio è costante e pari a 1. A partire dal sistema vuoto, eseguire lo studio sirnulativo per stimare il tempo medio di attesa di:

• 1 O clienti;

• 100 clienti;

• J 000 clienti.

Page 343: Sistemi ad Eventi Discreti

336 Capitolo 6

Confrontare e giustificare i risultati ottenuti.

Esercizio 6.4. Si vuole effettuare uno studio simulativo del funzionamento di un incrocio regolato da semaforo, allo scopo di ottimizzare il flusso di traffico; con riferimento rego-lato da semaforo, come quello considerato nell'Esempio 5.40. Si determinino 3 iterazioni successive, di complessità crescente, delle prime due fasi dello schema di processo ivi raffigurato.

Esercizio 6.5. Individuare entità, attributi , attività, eventi e variabili di stato per i modelli simulativi dei seguenti sistemi:

• una linea di assemblaggio di automobili;

• un negozio di riparazioni di elettrodomestici;

• un bar;

• una lavanderia a gettone;

• un ristorante self-service;

• una compag1ùa di taxi con un parco di l O vetture.

Esercizio 6.6. Un sistema di produzione è costituito da tre macchine in serie, ciascuna con uno spazio di accodamento di capacità 5; la djsciplina di servizio è FlFO. Se una parte arriva alla prima macchina quando la coda è piena, viene scartata; se invece una parte, completata la lavorazione da parte della macchina 1 (o 2), trova la coda della macchina successiva piena, rimane a occupare la macchina su cui si trova, creando una situazione di blocco, che si risolverà quando la macchina a valle inizierà una nuova lavorazione.

La parti arrivano alla macchina 1 secondo un processo di Poisson con tasso À = 1 parte/min, mentre i tempi di lavorazione sono definiti come segue: alla macchina 1 sono distribuiti uniformemente in [1.0. 1,5) minuti, alle macchine 2 e 3 seguono la distribuzio-ne esponenziale con medie 1,5 min e 1,2 min rispettivamente. Per tutte le macchine, i tempi tra una riparazione e il successivo guasto e i tempi di riparazione sono distribuiti esponenzialmente, con medie 120 min. e 10 min., rispettivamente.

Simulare, con qualunque linguaggio a disposizione, il comportamento del sistema descritto, partendo da macchine tutte libere e appena riparate. La durata della simulazione dev'essere scelta in modo da includere il completamento della lavorazione (3 macchine) di 1000 parti. Si chiede di determinare:

• la percentuale di parti rifiutate dalla macchina 1;

• il tempo medio che ciascuna delle macchine 2 e 3 passa in stato di blocco;

• il tempo di completamento medio;

• il tempo complessivo di lavorazione delle 1000 parti (makespan).

Esercizio 6.7. A un temtinaJ aeroportuale i passeggeri arrivano secondo una distribuzione esponenziale dei tempi di interanivo con media 1,6 minuti . Il tempo per percorrere il tragitto dalla porta d'ingresso al banco di check-in è distribuito mùformemente tra 2 e 3 minuti; al banco di check-in i passeggeri aspettano in un 'unica coda (FJFO) finché uno dei 5 addetti non è libero per servirli. li tempo impiegato per la operazioni di check-in

Page 344: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 337

ha distribuzione normale con valor medio 7 e deviazione standard 2. Dopo il check-in, i passeggeri procedono verso i rispettivi gates per l'imbarco.

Creare un modello simulativo del sistema descritto. Simulare, con qualunque lin-guaggio a disposizione, il comportamento di tale modello per la durata di 16 ore per deternùnare:

• il tempo medio di permanenza nel sistema dei passeggeri;

• il numero di passeggeri che completa le operazioni di check-in;

• la lunghezza media della coda al banco di check-in.

Esercizio 6.8. ln un ufficio comunale di un paese si è deciso di dividere gli utenti in categorie a seconda della Joro residenza in una deIJe tre aree in cui si è suddiviso il terri-torio comunale. Quando un utente arriva nell'ufficio per richiedere un documento. viene indirizzato a quella tra 3 code che corrisponde alla sua zona di residenza. Le 3 classi di utenti arrivano, in modo indipendente, con tempi di interarrivo esponenziali con media 10 minuti. Ogni coda è servita, con tempi distribuiti uniformemente tra 8 e 1 O minuti, da un singolo impiegato, al quale gli utenti inoltrano la loro richiesta. Dopo tale operazione. gli utenti vengono indirizzati presso un altro impiegato, che consegna loro quanto richiesto, con tempi di servizio distribuiti uniformemente tra 2,5 e 3,5 minuti.

Sviluppare un modello simulativo per il sistema descritto e riprodurne il funziona-mento per 5000 minuti.

Gli amministratori comunali vogliono confrontare le prestazioni della procedura de-scritta con quella in vigore precedentemente, che non prevedeva la differenziazione secon-do la residenza, per cui gli utenti formavano un'unica coda, servita da 3 impiegati. Svi-luppare un modello simulativo anche per quest'ipotesi; riprodurre il funzionamento del sistema per 5000 minuti e confrontare i risultati ottenuti con quelli del caso precedente.

Esercizio 6.9. Una coda JI /AI /1 ha tempi di interarrivo e di servizio caratterizzati dai Lassi >.. = 0.6 e Il = 1. Simulare con qualunque linguaggio a disposizione il comporta-mento della coda, supposta inizialmente vuota, per iJ periodo necessario per il servizio di 1000 clienti. Si chiede di:

• eseguire 10 repliche indipendenti per determinare una stima puntuale e un intervallo di confidenza del 95% per il tempo medio di permanenza nel sistema dei 1000 clienti;

• confrontare i risultati ottenuti al punto precedente con il tempo medio di perma-nenza calcolato secondo le equazioni caratteristiche ùel comportamento delle code 1\l / 1\1 / l introdotte nel Capitolo 3;

• ripetere per l'utilizzazione del servente lo stesso tipo di analisi richiesta nei due punti precedenti.

Confrontare e giustificare i risultati ottenuti.

Esercizio 6.10. A un aeropo110 di medie dimensioni arrivano un numero limitato di voli internazionali che richiedono controlli doganali per i passeggeri e i loro bagagli. Il numero di passeggeri che an-iva dai voli suddetti è uniformemente distribuito tra 240 e 350. l passeggeri arrivano al controllo doganale con tempi di interarrivo esponenziali con media 0.2 minuti. Le procedure attualmente in vigore nell'aeroporto prevedono che due agenti

Page 345: Sistemi ad Eventi Discreti

338 Capitolo 6

si dedichino, con tempi di servizio esponenziali con media 0,55 minuti, ai passeggeri ai quali non viene perquisito il bagaglio.

Una nuova procedura è invece in sperimentazione per quanto riguarda la determi-nazione probabilistica dei passeggeri ai quali perquisire il bagaglio; la decisione viene presa quando i passeggeri arrivano alla coda per il controllo doganale, nel modo seguente. Si estrae un numero da una distribuzione di Poisson con media 7; questo numero viene incrementato di 1, per evitare di avere O, e si comincia a contare i passeggeri; quando si arriva al numero estratto, lo sfortunato passeggero viene mandato a una seconda coda, dove attenderà il suo turno per aprire il bagaglio. A questo punto viene generato un nuovo numero e la procedura si ripete. Un solo agente è dedicato all'ispezione dei bagagli, che svolge con tempi esponenziali con media 3 minuti.

Sviluppare un modello simulativo del sistema descritto; eseguire 20 repliche di si-mulazione (ossia, 20 arrivi di voli internazionali), raccogliendo statistiche riguardo il tipo di passeggeri ("ispezionati" e "non ispezionati"), il numero di passeggeri e l'utilizzazione degli agenti.

Esercizio 6.11. In un job-shop costituito da 4 macchine le commesse arrivano in modo casuale secondo un processo di Poisson con un tasso di >. = 2 durante ogni giornata lavo-rativa (8 ore). Le commesse sono di 4 tipi diversi (g1, {}2 , {}3 , g4 ) e ciascuna richiede una particolare sequenza di lavorazioni e quindi di visita delle macchine. Le commesse g1 , che sono il 40% del totale, visitano le 4 macchine nella sequenza s(g1 ) = (m1,rn2,m3.m4); le commesse di tipo 2, che sono il 30% del totale, visitano solo 3 macchine, nella sequen-za s(o2) = (m1 le commesse di tipo 3, che sono il 20% del totale, visitano le macchine secondo la sequenza s(g3 ) = (m2 .m4 .m3); infine, le commesse di tipo 4 sono il 10% dcl totale e seguono la sequenza di macchine s(g4) = (ni1 .1n4) .

I tempi di esecuzione delle operazioni di lavorazione banno tutti distribuzione nor-male, con media e deviazione standard (in ore) diverse, come specificato nella Tabella 6.14. .

Commessa Distribuzione dei tempi di lavorazione

'Hl1 m 2 /Tl 3 'nllj

J N(20,3) N(30.5) N(75. l) N(20,3) 2 N(18,2) JV(60,5) N(l 0,1) 3 N(20.2) N(50,8) N(l O.l) 4 N(30,5) N(15.2)

Tabella 6.14 Distribuzione dei tempi di esecuzione delle operazioni di lavorazione.

Le stazioni di lavorazione hanno numeri diversi di postazioni di lavoro: 111 1 e m.2 ne hanno 8, m 3 ne ha 20 e m 4 ne ha 7; ogni job occupa una postazione per la durata del

Page 346: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 339

tempo di lavorazione corrispondente. I job sono accodati in buffer di capacità infinita e serviti secondo una disciplina FIFO.

Si simuli il funzionamento del sistema per la durata di 800 ore, precedute da un periodo di inizialiu.at.ione di 200 ore; determinare, sulla base di 5 repliche:

• un intervallo di confidenza del 97.5% per l'utilizzazione media delle postazioni di lavoro di ciascuna stazione di servizio;

• un intervallo di confidenza del 95% per il tempo di permanenza medio di ogni tipo di job nel sistema.

Esercizio 6.12. Completare il modello simulativo del sistema produttivo preso in esame nell'Esempio 6. I 9 aggiungendo la rappresentazione del sistema di trasporto tra le stazioni di lavorazione: esso è costituito da 2 veicoli uguali, che si muovono alla velocità di 25 ni/min. Il tempo di carico/scarico è di 15 secondi. Le distanze tra le macchine sono riassunte nella Tabella 6.15.

DA/A arrivo m1 m2 ffi3 uscita

arrivo o 100 100 200 300 m1 100 o 150 100 225 m2 100 150 o 100 200 m3 250 100 100 o 100

uscita 350 250 225 100 o

Tabella 6.15 Distanze tra i diversi punti del sistema.

Simulare il funzionamento dcl sistema per la durata di 100 000 minuti, fornendo le seguenti regole (alternative) per il movimento dei veicoli:

i veicoli si fermano alla stazione di lavorazione dove hanno scaricato l'ultimo pezzo, se non ci sono altre richieste da soddisfare;

u i veicoli seguono un percorso circolare (arrivo-m 1-m2-m·ruscita).

Nell'ipotesi (i):

l. verificare che I 00 000 minuti sono sufficienti per studiare il regime del sistema sulla base dei diagrammi dei tempi di ciclo di ogni prodotto;

2. determinare un periodo di inizializzazione adeguato:

3. rieseguire la simulazione imponendo il warm-up deternùnato e confrontare i risultati con quelli ottenuti al precedente punto 1.

Eseguire poi 1 seguenti confronti sulla base di simulazioni della durata di 100 000 mi-nuti senza periodo di wann-up, formando dei batch in ogni replica simulativa per ottenere delle medie circa non correlate:

Page 347: Sistemi ad Eventi Discreti

340 Capitolo 6

1. confrontare i tempi di ciclo del prodotto 2 nelle due ipotesi (i) e (ii);

2. supponendo che iJ numero dei veicoli sia ridotto a 1, confrontare i risultati nel-1' ipotcsi di funzionamento (i), sempre sulla base dei tempi di ciclo del prodotto 2.

Esercizio 6.13. Con riferimento all'esercizio precedente, modificare il modello del siste-ma di trasporto tra le stazioni di lavorazione, sostituendo i veicoli con un nastro traspor-tatore, che copre il percorso (arrivo-m 1-mrm:3-uscita). Si supponga che la distanza tra due macchine adiacenti sul nastro sia di 30 metri e che ogni parte occupi 1.25 metri dina-stro. I tempi di carico/scarico sono di 15 secondi e la velocità del nastro è di 60 m/min. Eseguire le valutazioni corrispondenti a quelle già effettuate nell'esercizio precedente.

Bibliografia

• Banks, J., J.S. Carson, B.L. Nelson, Discrete event simularion, 2nd ed., Prentice Hall, 1996.

• Bratley, P., B.L. Fox, L.E. Schrage, A guide to simulation, 2nd ed. , Springer-Verlag, 1987.

• Childers, O.O., Pmbability and random processes, McGraw-Hill-Irwin, 1997.

• Feller, W., An introduction lo probability theory and its applicarions, Wìley, 197 1.

• Fishman, G.S., Principles of discrete event simularion, Wiley, 1978.

• Fishwick, P., Simu./ation model design cmd execution: building discrete worlds, Prentice-Hall, 1995.

• Hines, W.W., 0.C. Montgomery, Probability and statistics in engineering and ma-nageme11t sdence, 3rd ed., Wiley, 1990.

• IIE, 1997 sinmlation software buyer's guide, IIE so/utions, Maggio 1997, pp. 64-77.

• Law, A.M., W.D. Kelton, Simulation modeling ami analysis, 2nd cd., McGraw-Hill, 1991.

• L'Ecuyer. P., "Efficient and portable combined random number generators", Com-munications ofthe ACM, Vol. 31, pp. 742-749, 1988.

• Nance, R.E., "A history of discrete-event simulation programming languages", ACM SJGPLAN Notices, Vol. 28, pp. 149-175. 1993.

• Nelson, B., Stochastic modeling, ana/ysis and sinzulation, McGraw-Hill, 1995.

• Papoulis, A., Probability and stalistics, Prentice Hall , 1990.

• Park, S.K., K.W. Millcr, ''Random number generators: good oncs are hard to find". Commw1icatio11s of rhe ACM, Vol. 31, pp. 1192-1201.1988.

• Parzen, E., Modem probabi/ity theory and 1ts applications, Wiley, 1960.

Page 348: Sistemi ad Eventi Discreti

Simulazione ad eventi discreti 341

• Ripley, B.D., Stochastic simulation, Wiley, 1987.

• Ross, S.M., lntroduction to probabiliry models, 5lh ed., Academic Press, 1993.

• Scvcrance, F.L., System modeling and simulation, Wiley, 2001.

• Swain, J.A., "Simulation goes mainstream", ORMS Today, Ottobre 1997, pp. 35-46.

Page 349: Sistemi ad Eventi Discreti

7 Controllo supervisivo

Questo capitolo è dedicato al controllo supervisivo, cioè a una particolare teoria nata a opera di due ricercatori, Petcr Ramadge e Murray Wonham (1989) che ha per oggetto il controllo dei sistemi ad eventi discreti logici. Si presenteranno gli clementi di base del controllo supervisivo, considerando quali modelli gli automi finiti deterministici (AFD) seguendo la strada indicata da Ramadge e Wonham nei lavori in cui hanno posto le fon-damenta di questa metodologia. Occorre però dire che il controllo supervisivo, essendo basato sul concetto di linguaggio formale, è una teoria ben più generale e molti altri modelli, tra cui le reti di Petri (Holloway et al., 1997), sono stati usati in questo contesto.

Il controllo supervisivo vuole estendere ai SED il paradigma del controllo in retroa-zione che ha avuto grande successo nel campo dei SAT. Non sorprende, dunque, il fatto che si ritrovino in questo ambito due termini familiari nati nell'ambito dei SAT e ricordati anche nel Capitolo 1: col termine processo si indica il sistefI!a da controllare, mentre con il termine sistema a ciclo chiuso si indica il sistema sottoposto all'azione dell'agente di controllo.

Si vedrà dapprima il concetto di specifica di controllo, che può di due_tipi; una speci.fJ.cE_ji!J_amica indica quali sono le sequenze di eventi ammissibili e quelle proi-bite; una specifica statica indica quali sono gli stati ammissibili e quelli proibiti. di contrq_llo che deve garantire il soddisfacimento della è il supervisore._ Esso osserva gli eventi generati dal processo e indica, in funzione dello stato raggiunto dal pro-cesso o in funzione della sequenza di eventi generata dal processo, quali eventi debbano essere abilitati o disabilitati. Il supervisore, a differenza di un controllore nel senso della teoria dei SAT, non può aggiungere niente al comportamento del processo: esso si limita a disabilitare gli eventi che il processo può spontaneamente generare, così che il compor-tamento del sistema a ciclo chiuso sia un sottoinsieme del comportamento del processo a ciclo aperto. Data una specifica si vedrà come può determinarsi un opportuno supervi-sore che garantisca il suo soddisfacimento. Si considererà infine il problema della sintesi del supervisore in presenza di eventi non controllabili, cioè eventi che non possono venir disabilitati dal supervisore.

La trattazione svolta in questo capitolo è mantenuta a un livello introduttivo e im-portanti argomenti relativi al controllo supervisivo sono stati omessi. In particolare, non verrà affrontato il problema della sintesi del supervisore per sistemi distribuiti e in pre-senza di eventi non osservahiJi. Si rimanda a (Ramadge e Wonham, 1989; Kumar e Garg, 1995: Cassandras e Lafortu1 e, 1999) per approfondimenti. Il lettore interessato potrà an-che trovare utile il materiak didattico mec;so in rete dal prof. Wonham ( 1999) tra cui le di-

Page 350: Sistemi ad Eventi Discreti

344 Capitolo 7

spense dcl corso tenuto presso l'Università di Toronto e un software dedicato al controllo supervisivo.

La discussione dcl materiale di questo capitolo presuppone che il lettore abbia fa-miliarità con il materiale presentato nel Capicolo 2, eù in paiticolare nel paragrafo 2.3 dedicato agli AFD e nel paragrafo 2.5.3 dedicato all'operatore di composizione concor-rente.

7.1 Processo o sistema a ciclo aperto

Nella teoria del controllo supervisivo, un sistema ad eventi discreti G è visto come un generatore di sequenze di eventi (cioè di un linguaggio) sull'alfabeto E. In particolare a esso sono associati due linguaggi.

• Il comportamento chiuso o linguaggio generato

L(G) ç E*

è un linguaggio chiuso per prefisso che rappresenta l'insieme delle sequenze di eventi che il sistema può generare.

• Il comportarnento marcato o linguaggio accettato

Lm ( G) ç L( G)

è un linguaggio che descrive il sottoinsieme delle sequenze di eventi generate dal sistema che corrispondono al completamento di certe operazioni.

Un SED da controllare è anche detto processo o sistema a ciclo aperto. Benché questa definizione di sistema sia astratta da non richiedere

che venga definita la struttura dcl modello a cui questi linguaggi sono associati. in questo capitolo verranno usati automi finiti detemùnistici (AFD) per rappresentare un processo U. Per uniformità, nel resto dcl capitolo verranno esclusivamente usati i termini "lin-guaggio generato'' e "linguaggio accettato", come già fatto nel Capitolo 2, per indicare i linguaggi associati a tali modelli.

Esempio 7.1. Si consideri l' AFD G in Figura 7.1 (il significato del carattere ":" usato per etichettare gli eventi a, b, de f verrà spiegato in seguito). Tale automa rappresenta una macchina che dallo stato iniziale .ro viene attrezzata (evento a) e in seguito si troYa pronta a lavorare (stato .ri). Da questo stato l'operatore può portare mediante l'evento b (inizia lavorazione) la macchina nello stato di lavorazione (x2 ) oppure può portarla mediante l'evento d (vai off-linc) nello stato di pronta per la manutenzione (stato .r3). Quando la macchina è in lavora1ione, la lavorazione può con successo (evento r) riportando allo stato .r 1, oppure può verificarsi un guasto (evento e) che invece porta la macchina nello stato di off-line. Eseguendo la manuten1ione (evento j) dallo stato di off-line la macchina ritorna nello stato iniziale

Lo stato finale coincide con quello iniziale, per indicare che al tennine di uno o più cicli di lavorazione si desidera nportare la macchina nello stato in cui essa è a riposo e non atuezzata. •

Sarà utile la seguente definii ione che estende la Defin izione 2.18.

Page 351: Sistemi ad Eventi Discreti

Controllo supervisivo 345

Definizione 7.2. Sia G = (X,E,8,xo,Xni) un processo rappresentato da un AFD. Per ogni parola w E L( G) si definisce insieme degli eventi attivi o abilitati dopo w

A (w) = {s E E I W.') e L (G)} .

Per ogni stato .r E .\' si definisce insieme degli eventi allivi o abilitati nello stato :r E X

A (:r) = {s E E I ò(:r,s)! }.

dove"!" indica che la funzione ò è definita in (.r,s).

In questa definizione viene usata per semplicità la stessa notazione A per indicare due diverse applicazioni: una applicazione A : L ( G) 2 E e una applicazione A : X -4

2 r-:. Tale improprietà non può generare alcuna confusione. Chiaramente per un AFD G se .r = 8"'(:r0 .w), ossia se lo stato x si raggiunge a partire dallo stato iniziale generando la parola u·, vale anche A (11•) = .A(.r).

Esempio7.3. Perilprocessoin Figura7. l valeA(f) = A (1·0 ) = {a},A(a) = .A(.ri) = {b,d}, A (ab) = A(.t2 ) = {c.r } ecc. +

b:

7.1 Un processo G rappresentato da un AFD.

Si osservi ancora che benché i termini attivo e abilitato siano in pratica sinonimi. nel resto del capitolo useremo la prima dizione per indicare che un dato evento può veri-ficarsi nel processo e la seconda per indicare che tale evento non è inibito (o disabilitato) dal l' agente di controllo, cioè dal supervisore.

7 .2 Specifiche di controllo

La specifica indica genericamente qual è lo scopo che l'azione di controllo si prefigge. Nel caso <lei SAT esistono vari tipi di specifiche. Le specifiche "quantitative" impon-

gono che l'evoluzione del sistema a ciclo chiuso soddisfi certi requisiti: si può ad esem-pio richiedere che l'uscita di un sistema segua una data traiettoria di riferimento. oppure che l'errore a regime non un dato valore (per esempio, ±5Vc). oppure che l'erro-re quadratico medio duran I! un transitorio sia minimo ecc. Le specifiche "qualitative·· nch edono che il sistema a ·iclo chiuso abbia certe proprietà, ad esempio sia stabile.

Page 352: Sistemi ad Eventi Discreti

346 Capitolo 7

Nel caso del controllo supcrvisivo è possibile similmente considerare specifiche quantitative e specifiche qualitative. In particolare si considereranno due diversi tipi di specifiche quantitative, dette rispettivamente specifiche dinamiche e statiche.

7 .2.1 Specifiche dinamiche

Queste specifiche vincolano l'evoluzione del sistema a ciclo chiuso per far sì che vengano generate solo parole appartenenti a un insieme legale.

Definizione 7.4. Dato un processo G sull'alfabeto E, una specifica dinamica è data da un linguaggio legale](. Si distinguerà in particolare fra:

• specifica dinamica parziale: è un linguaggio I<p definito sull 'alfabeto E e E;

• specifica dinamica totale: è un linguaggio K, definito sull 'alfabeto E.

Una specifica totale indica l'ordine in cui si devono verificare gli eventi in E affinché la parola generata sia legale. Una specifica parziale indica invece solo l'ordine relativo in cui si devono verificare gli eventi in E e E affinché la parola generata sia legale, mentre non pone alcun vincolo al verificarsi degli eventi in E \E. Si osservi inoltre che la defi-nizione di specifica dinamica prescinde dal particolare modello usato per rappresentare il processo G, perché definita in termini di linguaggi.

Dato un processo G sull'alfabeto E, una specifica dinamica K sull 'alfabeto E ç E. sia essa parziale o totale, consente di partizionare l ' insieme L(G) delle parole generate dal processo in due sottoinsiemi disgiunti:

(7.1) {

L(G) Il J\ = {w E L(G) I wjE E K}

L(G) Il (.E• \K) = {w E L(G) I wjE ti K}

parole ammissibili

parole proibite

Cioè vengono con<;iderate come ammissibili tutte quelle parole generate dal processo la cui proiezione sull 'alfabeto E è una parola di ]( e vengono considerate proibite tutte le altre, come mostrato in Figura 7.2. Nel caso in cui I< sia una specifica totale, l'insieme delle parole ammissibili coincide con L( G) n l\.. e l'insieme delle parole proibite coincide con L(G) \ [(,come mostrato in Figura 7.3. L'azione di controllo dovrà garantire che il processo non generi mai una parola proibita.

Esempio 7.5. Si consideri il processo G in Figura 7.1 sull 'alfabeto E = { a,b,c,d,e.f} che descrive una macchina. In tale sistema l'evento b (inizio lavorazione) potrebbe verificarsi un numero di volte indefinito senza che si verifichi l 'evento f (termine manutenzione): infatti la parola a(bc)"" appartiene al linguaggio L(G) per ogni valore di k.

Si supponga, tuttavia, che la macchina si trovi a operare in una particolare condizio-ne per cui è necessario controllarla affinché tra due diverse manutenzioni non vengano eseguite più di due lavorazioni (si pensi ad esempio a un torchio da stampa dove ogni due impressioni è necessario ripassare l' inchiostro). Formalmente, tale specifica richiede che l'evento b possa verificarsi al più due volte senza che si vc11 fichi l'evento f.

Tale specifica può essere data come specifica parziale , uJl'alfabeto E= {bJ}:

I<,,= { w E E* I w = w1fw2f · · · f '''k· w, E f, b. bb}. k :?: I}

Page 353: Sistemi ad Eventi Discreti

, Controllo supervisivo 347

L(G) 1' É ' .... _____ _..) K

Figura 7.2 Insiemi delle parole proibite e ammissibili generati da una specifica dinamica.

L(G)

', ' ' '

' ,/ '.... ,' ..... _______ ,,,,..

\specifica J K

I /

Figura 7.3 Insiemi delle parole proibite e ammissibili generati da una specifica dinamica totale.

Tale specifica indica che tra due successivi eventi f l'evento b può verificarsi al più due volte.

Per dare invece una specifica totale sull'alfabeto E, si deve tenere conto del fatto che oltre agli eventi be f possono anche verificarsi gli eventi a, e, d, ed e sui quali non è posta alcuna restrizione. Si definisce dunque:

Kt = { w E E*' I w = w1fw2f · · · fwk. Wi E E ... lwilb < 2 lwilJ =O. k > 1}

dove dato un simbolo s E E e una parola w E E"', si denota con lwl 11

il numero di volte in cui il simbolo .e; appare in u· . Tale specifica indica che tra due successivi eventi f l'evento b può verificarsi al più due volte mentre gli eventi a, e, d, ed e possono verificarsi un numero indefinito di volte. t

È faci le capire che data una specifica parziale J(P sull 'alfabeto E e E è sempre possibile determinare una specifica totale J(1 a essa equivalente 1: una parola appartiene a K t se e solo se essa può ottenersi componendo una parola che appartiene a Kp con una qualunque sequenza di eventi appartenenti all 'alfabeto E\ E. Formalmente questo

1 In tennini infnm1ali. si dice e e due specifiche spec1 e » sono equivalenti rispetto a un processo. se tutte le evoluzioni del processo cht so.jdisfano la prima specifica so<ltltl.fano anche la seconda, e viceversa.

Page 354: Sistemi ad Eventi Discreti

348 Capitolo 7

equivale a dire che I<t si ottiene eseguendo la composizione concorrente (cfr. paragrafi 2.1.4 e 2.5.3) con il linguaggio (E\ E)* che contiene tutte le parole composte da simboli dell'alfabeto E\ E. Dunque vale

J<, = K P Il (E \ Et Per come è stata definita, una specifica dinamica I< vincola l'insieme delle paro-

le generate dal sistema a ciclo chiuso ad appartenere a un linguaggio legale. Poiché il linguaggio generato da un sistema è chiuso per prefisso, solitamente si suppone che la specifica sia chiusa per prefisso e cioè che valga K = I<. Tuttavia, talvolta si usa una specifica dinamica per specificare che l'insieme delle parole acce/late dal sistema a ci-clo chiuso deve rimanere all'interno di un linguaggio legale: in tal caso non è necessario supporre che/( sia chiusa per prefisso.

Rappresentazione di specifiche dinamiche mediante SED Una specifica dinamica J( può essere rappresentata mediante un SED H che accetta il linguaggio Lm (Il) = K. Nel caso in cui la specifica sia chiusa per prefisso, anche il linguaggio generato da H vale L(H) = J( e dunque tutti gli stati dell ' automa H saranno anche finali. Nel caso in cui la specifica non sia chiusa per prefisso si suppone che H sia non bloccante e dunque vale L(H) =I\.

Esempio 7.6. La specifica parziale K,, dell'Esempio 7.5 può essere rappresentata dall'au-toma H,, sull 'alfabeto E= {b.f} in Figura 7.4. Poiché tale specifica è chiusa per prefisso. tutti gli stati sono finali e il linguaggio accettato coincide col linguaggio generato.

La specifica totale 1\1 dello stesso esempio può invece essere rappresentata dall'au-toma Ht in Figura 7.4. t

Si confronti, in Figura 7.4, la strullura dell 'AFD H 1 che accetta la specifica totale l<1 con la struttura dell' AFD H P che accetta la specifica parziale i\ P ad essa equivalente. L'automa H1 può pensarsi costruito a partire dall'automa H11 aggiungendo in ogni stato tanti cappi quanti sono gli eventi in E\ E. In questo esempio, E = {a.b.c-.d,e.f} e E = { b.f}, dunque i cappi sono relativi agli eventi a. c. <I e <. Tale costruzione è un caso particolare della costruzione generale, descritta nel paragrafo 2.5.3, che permette di costruire la composizione concorrente di due qualunque automi. Si confronti a questo proposito l'Esercizio 7.1.

f f

Xo .'\I X1 f -

a,c.d,e,f a,c,d,e

a,c,d,e

H,

Figura 7.4 Due automi che rappresentano due speufi<.:he clinamk 1e.

Page 355: Sistemi ad Eventi Discreti

Controllo supervisivo 349

7 .2.2 Specifiche statiche

Queste specifiche vincolano l'evoluzione del sistema a ciclo chiuso per far sì che lo stato del processo rimanga sempre all'interno di un insieme legale di stati.

Definizione 7.7. Dato un processo rappresentato dall'AFD G = (X.E.8 .. r0 .Xm), una .\pecifica statica è data da un insieme legale di stati X K ç X. A

Questa definizione è basata sulla nozione di AFD, ma può essere estesa con facilità a ogni modello in cui esista la nozione di stato: ad esempio, per le reti di Petri si potrà definire in modo del tutto analogo un insieme legale di marcature come si discuterà nel capitolo seguente.

Dato un processo G, un insieme legale di stati X i< ç X ci permette di partizionare l'insieme X degli stati del processo in due sottoinsiemi disgiunti:

stati anunissibili

stati proibiti

Tale partizione è mostrata in Figura 7.5. L'azione di controllo dovrà dunque garantire che il processo non raggiunga mai uno stato proibito.

X

specifica XK

Figura 7.5 Insiemi degli stati proibiti e ammissibili generati da una specifica statica.

Esempio 7.8. Si consideri il processo in Figura 7 .1 e si supponga di considerare una par-ticolare modalità operativa nella quale la macchina viene affidata a un manutentore che deve avere la possibilità di verificare il processo di attrezzaggio e di eseguire la manuten-zione, ma non è autorizzato a fare lavorare la macchina. Questo vincolo può essere espres-so tramite una specifica statica che imponga che lo stato :i·2 non venga mai raggiunto. Tale specifica statica può essere data mediante l'insieme legale di stati X K - { .ro .. r1 .. r3}. +

7 .2.3 Specifiche qualitative

Questo tipo di specifiche richiede che il sistema a ciclo chiuso goda di certe proprietà; ad esempio, si può desiderare che esso sia non bloccante, reversibile ecc.

Le specifiche qualitative possono essere date sia tramite un insieme legale di stati, i,, ia tramite un linguaggio k gale.

Si consideri ad escm lio la specifica che richiede che un sistema sia non bloccan-te. Ciò implila vedi para rafo 2.4. l) t he si considerino come ammissibili solo gli stati

Page 356: Sistemi ad Eventi Discreti

350 Capitolo 7

co-raggiungibili oppure che si considerino come ammissibili solo le parole che appar-tengono a Lm(G), cioè quelle parole che possono venir completate in una parola finale. Dunque potremmo definire X I< = { x E X I x è co-raggiungibile} oppure definire come linguaggio legale I< = Lm ( G).

7 .3 Supervisore e controllo in retroazione

Si passa adesso a definire l'agente di controllo, detto supervisore, e a indicare in che modo esso interagisca con il processo da controllare. Il supervisore osserva gli eventi generati dal processo e guida l'evoluzione del processo disabilitando alcuni eventi, cioè impedendo che essi possano venire generati.

Dunque il supervisore può solo limitare il comportamento del processo, impeden-dogli di generare alcune parole, ma non può ampliarlo, cioè far sl che il sistema a ciclo chiuso generi una parola che non era già nel linguaggio del processo a ciclo aperto. Ciò è consistente con la definizione di specifica che è stata data nel precedente paragrafo: infatti le specifiche possono solo limitare l'evoluzione del sistema.

7 .3.1 Eventi controllabili e ingresso di controllo

Eventi controllabili e non controllabili Per chiarire quali sono le possibili azioni di controllo che un supervisore può esercitare, viene inu·odotta la seguente fondamentale definizione.

Definizione 7.9. L'alfabeto degli eventi E di un processo è partizionato2 in due sottoinsie-mi: l'insieme degli eventi controllabili Ec e l'insieme degli eventi non controllabili Euc· Un evento attivo ma controllabile s E A(x) n Ec può venir disabilitato da un supervisore, cioè se il processo G si trova in uno stato x nel quale l'evento controllabile s è attivo, il supervisore può impedire che esso si verifichi. Il supervisore, viceversa, non ha alcun modo di prevenire il verificarsi di un evento attivo non controllabile s' E A ( x) n Enc. A

La nozione di evento controllabile e non controllabile è molto significativa da un pun-to di vista fisico. Ad esempio, in Figura 7. l è mostrato il modello di una macchina, nel quale è stata rappresentata mediante l'evento di guasto e l' incertezza sul comportamento della macchina. Poiché non si desidera che una macchina si guasti, si potrebbe pensare a un controllore che disabiliti permanentemente l'evento e. È chiaro che tale azione di controllo non è fisicamente realizzabile, poiché tale evento viene spontaneamente gene-rato dal processo. Viceversa, si può pensare che levento b, che indica che la macchina ha cominciato la lavorazione, corrisponda a un segnale inviato alla macchina da parte dell'o-peratore e possa quindi venir disabilitato. Anche l'evento a (attrezzaggio), l'evento d (vai off-line), e l'evento f (esegui la manutenzione) possono essere visti come controllabili, nel senso che l'operatore può decidere se essi debbano venir eseguiti o meno. Quando un processo è rappresentato da un automa, si è soliti etichettare con il carattere : un evento controllabile, come in Figura 7 .1.

2Cioè vale n Ruc = 0 e Ec U = E .

Page 357: Sistemi ad Eventi Discreti

Controllo supervisivo 351

Ingresso di controllo.

Definizione 7.10. Dato un processo G sull'alfabeto E, si definisce ingresso di controllo un qualunque sottoinsieme di eventi E, C E. Si denota con E = 21

!, l'in4'it>me rii tutti gl i ingressi di controllo. •

Se s E E,, l'evento .s non è disabilitato da ç. Se invece s (j. f,, levento .'i è disabilitato da ç. Poiché gli eventi non controllabili non possono venir disabilitati da un supervisore, è anche possibile dare la seguente definizione.

Definizione 7.11. Siano dati un processo rappresentato dall' AFD G = (X.E.<5,:ro,Xm ), una parola w E L( G) e uno stato .r, E X . Un ingresso di controllo E, è detto:

• ammissibile dopo w se Euc n A (w) ç E,, cioè se contiene tutti gli eventi non controllabili attivi in G dopo w;

• ammissibile nello stato x se Eu.c n A(.r) ç f,, cioè se contiene tutti gli eventi non controllabili attivi in G dallo stato x. •

Esempio 7 .12. Si consideri il processo in Figura 7 .1. L' ingresso di controllo ç = { a,b,c} è ammissibile dopo a perché A(a) = {b,d} e dunque, fra tutti gli eventi attivi disabilita solo J' evento controllabile d. Lo stesso ingresso di controllo non sarebbe ammissibile dopo ab perché A(ab) = { r.c} e dunque. fra tutti gli eventi attivi, disabiliterebbe l'evento non controllabile e. +

7 .3.2 Supervisore

È possibile, finalmente, definire formalmente il concetto di supervisore.

Definizione 7.13. Un supen·isore 8 che controlla un processo G è definito tramite una di controllo

f: L(G) --t :=.

che genera una sequenza di ingressi di controllo

in risposta alla sequenza d1 eventi w = .s1 .'12 · · · E L{ G) generata dal processo. •

La struttura di controllo che corrisponde all'azione di un supervisore segue il classico schema della retroazione, come indicato in Figura 7 .6.

Esempio 7.14. Si consideri ancora il processo in Figura 7.1 su cui si vuole imporre la specifica dinamica nell'Esempio 7.5, cioè si vuole impedire che si verifichi più di due volte l'evento b se 1za che si verifichi l'evento f. La seguente tabella riporta la legge di supervisione f ( u ct1e risolve questo problema per alcuni valori di li' riportati in ordine alfabetico.

Page 358: Sistemi ad Eventi Discreti

352 Capitolo 7

Processo _.

G ....

WE L(G)

.._ Supervisore

.... s

Figura 7.6 Un processo G controllato da un supervisore S.

w I .1' I t.=J(w) f .to { a,b.c,d,e.f} a J'1 { a.b.c,d,e,f} ab J'2 { o .. b,r..,d,e,f} abc .l' J { a.b,r.d.P.f} abcb X2 {a,c.d.e.f} abcbc { a.c,d.e.f} ... . . . . ..

abcd { u .b.c,(Le .f} abcdf TQ { a.b,c.d,P ,J}

. . . . . . ... ad :l'3 {a ,b,c,d,e ,f} adf J'o { a.b,c.d,e,f}

adfa J'1 { a.b.c.d.e ,f} . . . . .. . ..

Generalizzando, si può affermare che vale:

\

{n,b.r.d.P.f}

f(w) = {a,c,d,cJ} { a,b,c,d,e,f} { a,c.d.e,J}

se lwl1 = O e lwlb < 2 se lwl 1 = O e lwlb = 2 se w = w' f w", lw"l1 =O e lw"I,, < 2 se w = 1r'fw11

• lw"li = O e lw"lb = 2

• Retroazione sullo stato e sugli eventi Per come è stato defi nito, il supervisore realizza una retroa;.ione sugli e1·enti e non una retroazione sullo stato. In altre parole, l'ingresso di controllo è una funzione f : L( G) - > .= della parola di eventi generata e non una funzione i.p : X -+ .5 dello stato attuale del processo.

Come mostra l'esempio seguente, una legge di contro I lo basata sulla retroazione sullo stato può essere usata per impon-e una specifica statica.

Esempio 7.15. Si consideri il processo in Figura 7 1. con E< = {a.b.d.f} e Eu = {<'.< }. Si desidera imporre la specifica statica discussa nell'Esempi< 7.8. cioè si \1lole impedire

Page 359: Sistemi ad Eventi Discreti

Controllo supervi sivo 353

che venga raggiunto lo stato x2. Poiché lo stato x2 può solo venir raggiunto a partire dallo stato .r 1 mediante il verificarsi di b, è possibile considerare una legge di retroazione sullo stato in cui da ogni stato x f:. x 1 nessun evento viene disabilitato, mentre dallo stato .r1 viene di<mhilit.ato l'evento controllabile b che porterebbe a x2 • La seguente tabella riporta la legge di supervisione cp(.c) per retroazione sullo stato che risolve questo problema.

I .i· I ç = cp (X)

Xo { a.b.c.d.e.f} X1 {a,c.d.e.f} .t3 {a,b,r,d,eJ}

• Si osservi, tuttavia, che se il sistema è deterministico (questa è un' ipotesi che viene

comunemente assunta) è possibile calcolare lo stato x raggiunto generando una parola w: vale infatti .r = i5*(.r0 ,w) . In tal caso, una qualunque legge di retroazione sullo stato .p(.r ) può anche essere realizzata attraverso una retroazione sugli eventi definendo come funzione di controllo f (w) = cp[o*(x0 ,w)].

Esempio 7 .16. Per lo stesso processo discusso nell 'Esempio 7 .15, la seguente tabella riporta la legge di supervisione f ( w) = .p( o• ( w)) basata sulla retroazione sugli eventi che garantisce la stessa specifica statica per alcuni valori di w.

w I J ; = o"'(;ro,w) I ç = J(w) - <p(o*(:ro,w)) I ( .ro { a,b.c.d.e.f} a .I' I {a.<·.d.f'..j} ad .l' ;J {a .b,c,d,e ,f} adf ;ro { a,b,c,d,c,f}

adf a ·"l {a.c.d,eJ} rulf ad .1:3 {a .lu·.d.< .f}

. . . . .. ...

Generalizzando, è facile capire che vale:

J(w) = { {a.b,r·.d.c.f} { a,c·.d.c ,/}

se ll' - (culf)n oppure u· = (arlj) 11 ud se 11· = ( aclf) n a

• Si noti, viceversa, che non sempre una specifica dinamica può venir imposta tramite

una legge di supervisione basata sulla retroazione sullo stato. Ad esempio, il supervisore descritto nell ' Esempio 7.14, che impone una specifica dinamica, non può venir descritto tramite una retroazione sugli eventi. Infatti, dalla tabella che rappresenta la funzione di controllo di tale supen isore, si vede che quando il processo si trova nello stato :r1

l'ingresso di controllo può essere sia {a.b,c,d.f',f} sia {a,(\d,c,f} a seconda della parola precedentemente generata.

La retroazione basata sugli eventi è dunque più generale, essendo in grado di impor-re sia specifiche dinamiche che statiche. Per questo motivo, nel resto del capitolo ci si limiterà in tutta generalità a considerare solo leggi di controllo basate sulla retroazione sugli eventi.

Page 360: Sistemi ad Eventi Discreti

354 Capitolo 7

7 .3.3 Rappresentazione di supervisori mediante SED

Un supervisore è stato definito tramite una funzione che specifica l'ingresso di controllo ç = f ( w) che deve essere applicato per ogni possibile parola di eventi w generata dal

processo G. È anche possibile, tuttavia, rappresentare un supervisore come un altro SED S che osserva gli eventi generati dal processo e li esegue a sua volta. L'ingresso di con-trollo che S produce corrisponde istante per istante all'insieme di eventi che sono attivi su di esso. Per non generare confusione si denoterà Ac ( w) l'insieme degli eventi attivi sul processo G dopo w e As ( w) l ' insieme degli eventi attivi su S dopo w.

Definizione 7.17. Sia dato un processo G sull'alfabeto E. Un supervisore sistema è un altro SED S = (X ,E.8.x0 .X m) sulJ'alfabeto E ç E, con associati due linguaggi L(S) e Lm(S).

• Se E = E, S è detto un supervisore sistema totale la cui funzione di controllo vale

f(w) = A s(w) (7.2)

cioè l'ingresso di controllo dopo w è dato da tutti gli eventi attivi su S dopo w. Si noti che nel ca<;o di un AFD sex= (:r0 :w) è lo stato raggiunto su S generando la parola w vale anche

f(w) = As(x).

• Se E e E, allora S osserva3 e controlla solo gli eventi in E ed è detto un supervisore sistema parziale. La funzione di controllo ora vale

J ( w) = A s ( w t E) u (E \ É) (7.3)

cioè l'ingresso di controlJo dopo w è dato da tutti gli eventi attivi su S dopo w t E più gli eventuali eventi che non appartengono all'alfabeto di S, e che dunque si

_,. A

considerano sempre abilitati. Si noti che nel caso di un AFD se Y. = ò (x0 .w t E) è lo stato raggiunto su S generando la parola w t E vale anche

f (w) = As(:r) U (E\ E).

L'algoritmo di evoluzione, che per semplicità viene dato nel caso di un supervisore sistema totale, è il seguente. Inizialmente il supervisore si trova nello stato x0 e dunque inizialmente gli eventi abilitati dal supervisore valgono ç0 = As(Y.0 ). Il processo dallo stato iniziale x0 esegue uno dei eventi attivi che sono anche abilitati, cioè esegue un evento s 1 E A o ( x0 ) n As (x0 ), portandosi nel nuovo stato :r 1 . Anche il supervisore esegue l'evento s 1 (che per definizione è attivo in x0 ) portandosi nel nuovo stato :f 1;

dunque in questo nuovo stato gli eventi abilitati dal supervisore valgono ç1 = As (x 1 ) ecc. Un supervisore sistema parziale invece solo gli eventi generati dal processo che appanengono anche al suo linguaggio E, mentre ignora gli altri eventi, il cui verificarsi dunque non modifica l'ingresso di controllo.

Un esempio pem1etterà di chiarire questa definizione.

3 Se l'alfabeto del supervisore è È C 6. quando il processo genera una pruola w il supervisore osserva la proieLione 11• .. R di taJe parola su É.

Page 361: Sistemi ad Eventi Discreti

Controllo superv1sivo 355

Esempio 7.18. Il supervisore descritto in forma tabellare nelrEsempio 7 .14 può A venir rappresentato come supervisore sistema parziale mediante l' AFD Hµ sull'alfabeto E mo-strato in Figura 7.4, oppure come supervisore sistema totale mediante l' AFD ll1 mostrato in Figura 7.4.

Per dimostrare la prima affermazione, consideriamo la seguente tabella che indica, in corrispondenza di alcune parole w generate daJ processo G in Figura 7 .1, la parola w t E osservata da Hµ. lo stato x raggiunto da Hp. l'insieme AHp(x) degli eventi attivi su H,, nello stato Te infine il corrispondente ingresso di controllo f ( w).

w I wtÉ Ix I AJ-Jp(?r) I J(w) ( € Xo {b.f} { a.b.c.d.e .f} (L € XQ {b.f} { a.b,r.d:e J} ab b - {b./} { a.b.c.d.e.f} Xl

abc b :f 1 {b.f} { a,b,c,d,e,f} abcb bb x2 {!} { a,r·)d,e.f} a.be be bb x2 {!} { a,c,d,e,J}

. . . . . . . . . ... . .. abtd b xi {b,f} { a,b.c.d,e.f} abrdf b :f 1 {b.f} { a.b.c.d,e.f}

. . . . . . . .. . . . ; .. ad € xo {bJ} { a.b.r.d.e .f} adf e Xo {b,f} { a,b,c.d.e .f}

adf a (. xo {b,f} { a.b,c,d,e,f} . . . . . . . .. . .. ...

Confrontando la tabella appena costruita con quella data nell'Esempio 7 .14 si verifica immediatamente che Je due tabelle descrivono la stessa legge di supervisione f : L( G) --*

In maniera del tutto analoga, può dimostrarsi che anche l'automa H, è un supervisore sistema totale che fornisce la stessa legge di controllo. t

Negli esempi qui trattati esiste dunque una completa corrispondenza tra il SED che descrive la specifica e il SED che rappresenta il supervisore. Tale corrispondenza deriva dal fatto che in tutti questi esempi Je specifiche godono di certe proprietà: la sintesi di supervisori nel caso più generale verrà discussa nel paragrafo 7.4.

Si noti , per concludere questo paragrafo, una ulteriore possibilità offerta dal super-visore sistema rispetto ad un supervisore definito tramite una semplice funzione f ( w ). Un supervisore definito da una funzione è sempre non marcante nel senso che non ha la possibilità di marcare Je parole generate dal processo, cioè indicare che possono essere accettate. Un supervisore sistema avendo un insieme di stati finali ha invece tale possibili-tà. Un supervisore sistema :-.arà non marcante se non distingue, fra tutte le ..E_arole dal processo, quali devono essere accettate e quali no: ciò si verifica se X 111 - X, cioè se tutti gli stati di S sono hnali, perché in tal caso vale L(S) = Lm (S) e dunque tutte le parole generate sono anche marcate. Viceversa, un supervisore sistema sarà marcan-te se X m e Y: dunque i l tal caso vi saranno parole marcate e altre non marcate dal supervisore.

Page 362: Sistemi ad Eventi Discreti

356 Capitolo 7

7.3.4 Sistema a ciclo chiuso: processo+ supervisore

Quando un processo G è controllato da un supervisore S il linguaggio che esso genera è diverso da quello generato a ciclo aperto perché sono impedite dall'azio-ne del supervisore. È dunque possibile definire un sistema a ciclo chiuso che si denota S/ G (leggi S su G).

Definizione 7.19. Sia dato un processo G i cui linguaggi generati e accettati sono rispet-tivamente L (G ) e L111 (G), controllato da un supervisore S la cui funzione di controllo è f (w). Il sistema a ciclo chiuso è un SED il cui linguaggio generato L(S/G) è definito ricorsivamente dalla seguente espressione (dove w E E* denota una generica parola e s E E un generico evento)

{ e E L (S / G ) ws E L (S / G ) se e solo se w E L (S / G ), ws E L (G ) es E f (w) <

7.4)

Dunque la parola vuota f appartiene al linguaggio generato dal sistema a ciclo chiuso; invece una parola di lunghezza maggiore di zero, che può essere scritta come ws, appar-tiene a L ( S / G) se e solo se si verificano le seguenti condizioni: il prefisso w appaniene a L (S / G ), la parola WH appartiene al linguaggio del processo e il supervisore abilita s dopo 11·.

Se S è un supervisore non marcante il linguaggio accettato dal sistema a ciclo chiuso vale

L m(S/ G ) = L m(G ) n L (S/G ) (7.5)

cioè comprende tutte quelle parole accettate dal processo che continuano a essere generate anche sotto supervisione. Se S è un supervisore sistema marcante il linguaggio accettato dal sistema a ciclo chiuso vale invece

(7.6)

cioè comprende tutte quelle parole accettate dal processo che sono anche marcate dal supervisore. A

Quando il supervisore è rappresentato da un AFO 8, il sistema a ciclo chiuso S/ Q può essere determinato mediante la composizione concorrente di O e S' . Questo risul-tato, che viene enunciato e dimostrato nella proposizione seguente, è molto importante perché permette di costruire un modello a ciclo chiuso del sistema sotto supervisione con semplici algoritmi di composizione di automi.

Proposizione 7.20. Dato un processo G sull'alfabeto E controllato da un supervisore sistema 8 sull'alfabeto E ç E vale:

L(S/ G) Lm(S/ G)

L (G) Il L(8) L , (G') Il L m(S)

Dimostraz.ione. Per definizione di supervisore sistema, ogni parola w E T.(S/ G) generata dal sistema a ciclo chiuso è tale che 111 j E = w e L (G ) e w t E E l (S ), e dunque u· E L(G) Il L (S) il che dimostra la prima parte della proposizione.

Si consideri ora il linguaggio generato.

l. Per un supervisore marcante vale f,m (S / U) - f, 111 ( (; Il L m (S) pc1 definizione.

Page 363: Sistemi ad Eventi Discreti

Controllo supcrvisivo 357

2. Per un supervisore non marcante vale invece Lm(S/G) = L(S/G) n Lm(G), e dunque, per quanto appena dimostrato, Lm(S/G) = [L(G) Il L(S)] n Lm(G). Tuttavia, essendo Lm(G) ç L(G), vale anche Lm(S/G) = Lm(G) Il L(S) e se il supervisore è non marcante vale Lm(S) - L(S), e dunque audu:: in 4ueslu caso si ottiene Lm(S/G) = Lm(G) Il Lm(S).

o

Esempio 7.21. Si ritorni all'esempio del processo G in Figura 7.1 controllato mediante il supervisore S descritto in forma tabellare nell 'Esempio 7.14. Determ.inare la struttura del sistema a ciclo chiuso S/G non è immediato. Ci viene tuttavia in aiuto la Proposizio-ne 7.20. Infatti. è stato visto nell'Esempio 7.18 che a tale supervisore può corrispondere sia la struttura dell 'automa Hp sull'alfabeto E = {b.f}, sia la struttura dell'automa H1 sull'alfabeto E= {a.b,c.d,c.f} mostrati in Figura 7.4.

Dunque eseguendo la composizione concorrente di Hp con G si ottiene appunto l'automa S / G mostrato in Figura 7. 7: in tale automa ogni stato :r 1,1 corrisponde allo stato Xi del sistema G e allo stato Xj dell'automa H.,, che rappresenta la specifica. Il lettore può verificare come esercizio che eseguendo la composizione di H1 con G si ottiene un sistema a ciclo chiuso S/G identico a quello in Figura 7.7. •

X o.o X1.1 b e Xt.2 X1,o

b e

f d e e d

XJ,O

f f

F igura 7.7 Sistema a ciclo chiuso S/G nelJ'Esempio 7.21.

7.4 Sintesi supervisiva

In questo paragrafo si presenta una tecnica generale che consente di risolvere in modo automatico il problema della sintesi supervisiva, termine con si intende indicare il proce-dimento mediante il quale -.i determina la struttura di un supervisore in grado di imporre una specifica data. Poiché tali specifiche verranno imposte sul linguaggio generato, che è sempre chiuso per prefisso anche le specifiche che verranno qui considerate sono chiuse per prefisso.

Page 364: Sistemi ad Eventi Discreti

358 Capitolo 7

7 .4.1 Il problema del controllo supervisivo

Il problema fondamentale del controllo supervisivo è il seguente.

Problema 7.22. Dato un processo G sull'alfabeto E che genera il Linguaggio L(G) e una specifica dinamica J( chiusa per prefisso sull'alfabeto E ç E, esiste un supervisore S che porta a un sistema a ciclo chiuso S/G per cui valga L(S/G) = L(G) Il K?

Si desidera dunque che il sistema a ciclo chiuso generi tutte e sole le parole legali in base alla definizione data dalla equazione (7 .1). La soluzione di tale problema è stata data da Ramadge e Wonham (1987a) e si basa sul concetto di linguaggio controllabile.

Definizione 7.23. Sia G un processo sull'alfabeto E con insieme di eventi non control-labili E uc che genera il linguaggio L( G'), e sia f( una specifica dinamica totale e chiusa per prefisso-'. Il linguaggio J{ è detto controllabile rispetto a G e Euc se

L(G) n I<Eut ç I< (7.7)

Una specifica dinamica parziale J( sull'alfabeto E e E è controllabile se e solo se è controllabile la specifica dinamica totale}( Il (E\ E)* ad essa equivalente. A

È opportuno chiarire cosa implica la condizione (7.7). Il linguaggio J{ Euc è la concatenazione del linguaggio J( con l'alfabeto degli eventi non controllabili. Dunque una parola w appartiene a I< Euc se e solo se può essere scritta come w = 111

1 s, essendo w' E K e .e; E Euc· È facile allora capire che la condizione (7.7) non è verificata se esiste una parola U'' E I\ e un evento non controllabile ·'i tale che w' s E L(G) e w's <t. K. In altri termini , dopo aver generato la parola legale ui' il processo è pronto a eseguire l'evento non controllabile s ma tale evento non è ammesso dalla specifica perché la parola w' s non è legale: dunque il supervisore dovrebbe disabilitarlo ma ciò non sarebbe amnùssibi le. Tale situazione si verifica in Figura 7 .8 per l'evento non controllabile s 1, mentre non si verifica per l'evento non controllabile s2 (il suo scano produce una parola ancora legale) e non si verifica per l'evento controllabile s3 (tale evento può venir disabilitato senza problemi).

Teorema 7.24 (Ramadge e Wonham ( 1987a)). Sia G un processo che genera il linguaggio L( G) ç E*, con insieme di eventi non controllabili Eur. e sia J( una specifica dinamica chiusa per prefisso. Esiste un supervisore S che porta a un sistema a ciclo chiuso S/G con L(S/G) = L(G) Il f( se e solo K è controllabile rispetto a G e Eiic· •

È lecito a questo punto porsi le seguenti domande.

I. Come verificare se una specifica (sia essa totale o parziale) è controllabile rispetto a L( G) e Euc e, qualora lo fosse, come detemùnare il supervisore la cui esistenza è garantita dal Teorema 7 .24?

2. Cosa si può fare qualora la specifica non fosse controllabile?

Nei due paragrafi seguenti discuteremo in dettaglio questi problemi.

·1Per comprendere anche il caso di una specitìca non d 1u!'a per prefis!-• . e; può generahzwre la condi11one di controlJabiJità dcfìnen<lu un linguaggio I\ controllabile 'aie L( G) r r.; C J( . es,endo I< la chiu ... ura prefissa d1 r: Nel caso di linguaggi chius per prefisso vale Ì\; = K du1 1ue le due ddìn t1oni coincidono.

Page 365: Sistemi ad Eventi Discreti

Controllo supervisivo 359

Figura 7.8 Un linguaggio K non controllabile rispetto a G e E,.c.

7.4.2 Sintesi di supervisori per specifiche controllabili e verilìca deJJa controllabilità

Il lettore attento avrà notato che negli esempi che sono stati finora presentati in questo capitolo, è stato usato come supervisore sistema lo stesso automa H che genera la spe-cifica ]( da imporre. Infatti data una specifica dinamica K, sia essa parziale o totale, se si potesse usare come supervisore sistema l'automa H che la genera, il sistema a ciclo chiuso H / G che si otterrebbe è tale che

L(H/G) = L(G) Il L(H) = L(G) Il K,

e dunque H è il supervisore sistema che risolve il problema cli controllo supervisivo dato. Tuttavia, tale procedimento potrebbe non potersi applicare perché non vi è la garanzia che tutti gli ingressi di controllo specificati da H siano ammissibili.

Sarà dunque utile dare la seguente definizione.

Definizione 7.25. Sia G un processo sull'alfabeto E, con insieme di eventi non control-labili Euc. e sia H un automa sull'alfabeto E ç E. L'automa H è detto E1Lc-abi/itante rispetto a G se può essere usato come supervisore sistema senza che esso cerchi mai di disabilitare un evento non controllabile. À

Il seguente risultato, che non viene dimostrato essendo piuttosto ovvio, consente di legare la proprietà di controllabilità di una specifica alla proprietà di essere Bue-abilitante di un automa.

Proposizione 7 .26. Dato un processo G sull'alfabeto E con insieme di eventi non con-trollabili Euc• sia K una specifica dinamica sull'alfabeto E ç E e sia H un automa che genera il linguaggio L(H) = I<.

(a) La specifica K è controllabile rispetto a G e Euc se e solo se l'automa H che la genera è Euc-abilitante rispetto a G.

(b) Se K è controllabile, H è un supervisore sistema che risolve il problema 7.22. •

Tale osservazione permette dunque di ricondurre il problema di determinare se una specifica è controllabile a quello di determinare se un automa è E w--abilitante. Per veri-ficare formalmente quest'ultima proprietà è possibile usare l'operatore di composizione concorrente.

Page 366: Sistemi ad Eventi Discreti

360 Capitolo 7

Proposizione 7.27. Dato un processo G sull'alfabeto E, con insieme di eventi non con-trollabili Eu<., e un automa H sull'alfabeto E ç E si costruisca la loro composizione concorrente F = G Il H avendo l'accortezza di etichettare gli stati di F nella forma i· 1 .1 dove l'indice i si riferisce allo stato ;ti di G e l'indice J allo stato Xj di H. L'automa II è Bue-abilitante rispetto a G se e solo se non esiste uno stato :t1,j dell'automa F tale che

(esiste un evento non controllabile .e; E Euc) : :; rt A F ( 3'; .j) e s E Ac (xi). (7. 8)

Uno stato .i·i.j dell' automa F che soddisfa la condizione (7.8) è detto stato incontrollabile.

Dinwstra-:,ione. L'automa I-I non è Ew-abilitante se e solo se esiste una sequenza di eventi che porta il processo Gin uno stato J.',, da cui l'evento non controllabile s è attivo, e lautoma H in uno stato Xj, da cui un evento non controllabile .<; è disabilitato. Per definizione di composizione concorrente, ciò si verifica se e solo se esiste uno stato x i.j di F per cui la condizione (7.8) è soddisfatta. O

I due seguenti esempi discutono un caso in cui l' automa H è Bue-abilitante e un caso in cui non lo è.

Esempio 7.28. Si ritorni all'esempio del processo G in Figura 7.1 su cui si vuole imporre la specifica l\p sull'alfabeto E= {b.f} discussa nell' Esempio 7.5 e descritta dall ' AFD Hp in Figura 7.4. Per verificare se tale specifica tale specifica è controllabile si costruisce la composizione concorrente F = G Il Hp mostrata in Figura 7.7.

L'automa Ii P sarà Bue-abilitante se e solo se nessuno degli eventi non controllabili soddisfa la condizione (7.8). Ad esempio, l'evento e è attivo su G nello stato x2 : poiché su F l'evento e è sempre abilitato da ogni stato della forma .r2,1 , per j = 1 )2, tale evento non soddisfa la condizione (7.8). Anche l'evento non controllabile e non pone problemi: esso è attivo su G dallo stato a:2 ed si verifica che su F esso è sempre abilitato da ogni stato della forma x2 ,j, per j = 1,2. Poiché dunque non esistono stati incontrollabili, si può affermare che Hp è Bue-abilitante rispetto a G. In questo esempio l'automa Hp può venire usato come supervisore sistema (come si è già visto nei precedenti paragrafi) mentre il corrispondente sistema a ciclo chiuso è appunto F = G Il Hp.

Si noti che in pratica la verifica data dalla (7 .8) va fatta solo per gli eventi non con-trollabi li che appartengono anche all'alfabeto della specifica, poiché solo questi eventi potrebbero venir bloccati. Poiché nel caso in esame E = { b . .f} n Euc = 0, si sarebbe potuto concludere immediatamente che la specifica è controllabile. +

Per terminare il paragrafo si introduce un esempio che verrà ripreso nel resto del capitolo per mostrare come si procede per eseguire la sintesi supervisiva.

Esempio 7.29. Si consideri un sistema manifatturiero composto da due macchine G1 e G2 . La prima macchina preleva una parte (evento n) e dopo una prelavorazione (evento b) termina la lavorazione espellendo la parte (evento<"). La <ìeconda macchina ha invece un ciclo più semplice: dopo aver prelevato una parte (evento d) termina la lavorazione espellendola (evento e). Gli automi G 1 e G2 sono mostrati in Figura 7 .9.

Il processo da controllare consiste nell 'insieme delle due macchine e dunque il mo-dello dcl sistema complessivo G = G 1 Il G2 si può ottenere mediante l'operatore di composizione concorrente, come mostrato tn Figura 7.1 O. Tale automa ha alfabeto E = {a ,lu-.d.c }. e si suppone che i soli eventi controllabili ' iano quelli che corrispondo-no al prelevamento di una parte, cioè a dunque l'insieme degli eventi non controllabili è E 11 r - {fu·.< } .

Page 367: Sistemi ad Eventi Discreti

Controllo supervisivo 361

e

Xo a: Xi b X2

d:

Xo Xt

Figura 7.9 ModelJi di due macchLne G1 e G2 nell'Esempio 7.29.

e

d: e d: e d: e

e

e

G H

Figura 7.10 Modello del processo G e della specifica H nell'Esempio 7.29.

Si supponga ora che le macchine si trovino a operare in questa particolare configura-zione: le parti espulse dalla macchina G 1 sono messe in un deposito di capacità uno da cui saranno prelevate dalla macchina G2 . In tal caso affinché il sistema funzioni correttamen-te deve essere soddisfatta la specifica [(sull'alfabeto E = { c,d} descritta dall'automa H in Figura 7.10. Tale specifica impone che se il deposito è vuoto (stato x0) la prima macchina possa depositare un pezzo (l'evento e è abilitato) ma la seconda macchina non possa prelevarne (I' evento d non è abilitato). Viceversa, se il deposito contiene già una parte (stato x1) Ja prima macchina non può depositarne un'altra (l'evento e non è abilita-to) ma la seconda macchina può prelevare dal deposito (l'evento d è abilitato). Si noti che tale specifica è marcante poiché contiene stati non finali: cioè essa prevede che vengano considerate finali solo le sequenze che riportano il deposito nello stato vuoto (lo stato finale è x0 appunto).

Si vuole ora mostrare in termini informali che la specifica T< non è controllabile e che dunque l'automa H suU'alfabeto E = {c)d} non può essere usato come supervisore. Si consideri infa tti la parola w = nbm,b, che corrisponde a una lavorazione in cui la prima macchina lavora una parte e la mette nel deposito (prefisso abr') e poi prosegue prelevando una seconda parte e esegu,:ndo la prelavorazione (suffisso ab). Tale parola appartiene al

'

Page 368: Sistemi ad Eventi Discreti

362 Capitolo 7

linguaggio L( G) e quando essa viene eseguita il sistema si troverà nello stato x20 in cui sono attivi gli eventi e e d. Se si usasse H quale supervisore, la parola w sarebbe anche ammissibile per il sistema a ciclo chiuso e dopo la sua generazione H (che osserva solo gli eventi e e d) si troverebbe nello stato x1 : l'ingresso di controllo che H fornisce al sistema G sarà dunque

ç(w) = ÀH(x1) U (E\ E) = {d} U {a,b,e} = {a,b,d,e}i

e dunque tale ingresso di controllo non è ammissibile, perché disabilita l'evento non controllabile e che è invece attivo nel sistema.

Per dimostrare formalmente che la specifica K non è controllabile, si costruisce la composizione concorrente degli automi G e H, ottenendo l'automa F = G 11 H mostrato in Figura 7 .1 J.

Gli eventi non controllabile del processo sono b,c,e e di questi solo e appartiene all'alfabeto di H che vale È = { c,d} . L'automa H sarà Euc-abilitante se e solo se l'evento e non soddisfa la condizione (7 .8). Si consideri tuttavia che l'evento e è attivo su G negli stati x20 e x21 , mentre sull 'automa Fesso non è abilitato dagli stati x20,1 e x21 ,0 ,

che sono dunque incontrollabili. Nella Figura 7 .11 si sono indicati con archi tratteggiati gli eventi che soddisfano la

condizione (7 .8) e si sono anneriti gli stati da cui tali eventi escono per indicare che si tratta di stati incontrollabili. Poiché esistono stati incontrollabili, H non è Bue-abilitante rispetto a G e dunque la corrispondente specifica non è controllabile. +

xoo.o X10,0 X2Q,O b a e

e e e

Xoo.1 a

d d

xo1 .o a

XJO.I

b

b

d

e I

Figura 7.11 Composizione concorrente F del processo G e de11a specifica H ne11'Esempio 7.29.

7 .4.3 Sintesi di supervisori per specifiche non controllabili

Qualora la specifica K che si desidera imporre sul comportamento di un sistema a ci-clo chiuso non sia controllabile, può ancora essere: possibile costruire un supervisore che

Page 369: Sistemi ad Eventi Discreti

Controllo supervisivo 363

assicuri che il processo non generi parole proibite restringendo ulteriormente il compor-tamento desiderato a ciclo chiuso.

Si consideri ad esempio il caso mostrato in Figura 7 .12, che si riferisce per semplicità a una specifica lolak. Se il linguaggio ùi specifica I< non fosse controllabile, è ancora possibile che esista un sottolinguaggio J(' e J( controllabile. Poiché ](' è controllabile è possibile determinare un supervisore S tale che L(S/G) = L(G) Il K' C L(G) 111<. In tal caso il sistema a ciclo chiuso S / G genera ancora solo parole legali ma non le genera tutte, essendo ](' più restrittivo rispetto a I<.

In genere possono esistere più sottolinguaggi controllabili di un dato linguaggio](: fra essi si ha interesse a scegliere quello meno restrittivo, che viene detto sottolinguaggio controllabile supremo e si denota Ksup: dunque se J(' ç K è un linguaggio controllabile vale certamente anche J(' ç Ksup. È stato dimostrato (Ramadge e Wonbam, 1989) che tale linguaggio esiste ed è unico. Tuttavia, nel caso peggiore J(sup potrebbe essere il linguaggio vuoto 0 il che implica che anche la soluzione meno restrittiva a un dato problema cli controllo supervisivo potrebbe non essere significativa dal punto di vista pratico.

E*

K

L(G)

Figura 7.12 Un Linguaggio non controllabile K e il sottolinguaggio controllabile supremo J(su1'.

Il problema di controllo nel caso di specifiche non controllabili diventa dunque il seguente: come determinare un supervisore S tale che L(S/G) = L(G) Il ](1WP? Una soluzione a tale problema può ancora essere agevolmente trovata lavorando sugli automi che descrivono il processo e la specifica usando una procedura di rifinitura analoga a quella già data nel paragrafo 2.4. l per eliminare gli stati non raggiungibili e non co-raggiungibili.

Algoritmo 7.30. Dato un processo G sull'alfabeto E con insieme di eventi non control-labili Ew· e una specifica I\ sull ' alfabeto E ç E si desidera determinare un supervisore S tale che L(S/G) = L(G) Il J('mP.

1. Si detemuna l'automa H che genera il linguaggio L(H) = K.

2. Si costruisce mediante composizione concorrente l'automa F = G Il H.

(a) Se l' automa F non ha stati incontrollabili la procedura termina e valgono i se-guenti risultati: la specifica J( è controllabile e dunque I<= Ksup, l'automa H è il supervisore sistema desiderato e l'automa F rappresenta il sistema a ciclo chiuso.

Page 370: Sistemi ad Eventi Discreti

364 Capitolo 7

(b) Se l'automa F ha stati incontrollabili si va al punto 3.

3. Si determina l' insieme Xuc degli stati incontrollabili di F, cioè stati per cui è soddi-sfatta la condizione (7 .8). Se cale insieme è vuoto si va al pumo 5.

4. Si rimuovono da F tutti gli stati in X 11 c e le transizioni che entrano ed escono da tali stati. Si ritorna a 3.

5. La procedura termina e l'automa rifiniro psup che si ottiene alla fine questa pro-cedura genera il linguaggio - L(G) li J\9 t1P . Tale automa è dunque un supervisore per cui vale L(F'WP /G) = L(G) Il g sup ma rappresenta allo stesso tempo il sistema a ciclo chiuso S / G e dunque nella sua struttura è codificata non solo la struttura della specifica ma anche quella del processo: per questo motivo esso è detto supervisore monolitico. •

Terminiamo con un esempio.

Esempio 7.31. Si consideri l ' automa F = G Il H in Figura 7. 11 ottenuto componendo gli automi G e H mostrati in Figura 7. IO. Come già visto nell'Esempio 7.29, F contiene stati incontrollabili e dunque la specifica K = L( H ) non è controllabile.

Per determinare un supervisore minimamente restrittivo che sia in grado di garantire che il sistema a ciclo chiuso non generi parole proibite dalla specifica. rifiniamo l'automa F. eliminando gli stati incontrollabili i ·20 .t e .r2 i.0 , ottenendo l'automa F' mostrato in Figura 7.13. È facile verificare che anche tale F' ha stati incontrollabili: sono gli stati :r10. 1 e .r11.0 , a partire dai quali il processo potrebbe generare l'evento non controllabile b che non è invece abil itato in F'.

xoo.o X10.0 xw.o b a e

e e

xoo.1 a

d

xo1.o a

d

X10.1

b __ ...,. Figura 7.13 Primo passaggio nella rifinitu ra dell'automa F neJJ'Esempio 7.31.

Con un secondo passaggio di rifinitura, s1 ottiene l'automa mostrato in Figura 7 .14 che, essendo controllabile, è il supervisore monolitico psu1' cercato. +

Per concludere osserviamo che in questi C">empi abbiamo sempre supposto che vi sia una sola specifica da imporre sul comportamento del sistema a ciclo chiuso. Qualora un particolare problema prevedesse due (o anche più) specifiche dinamiche K1 e ](2 è sem-pre possibile determinare la specifica compless va K = !{1 I J\2 mediante l'operatore di composizione concorrente e ricondursi al caso di una singol 1 specifica.

Page 371: Sistemi ad Eventi Discreti

Controllo supervisivo 365

xoo.o a XtO,O b

X20,0 xoo.1 e

e d

xoi.o

Figura 7.14 Supervisore monolitico p sup per l'Esempio 7.31.

7 .4.4 Sintesi di supervisori con specifiche statiche e qualitative

A conclusione del capitolo, vengono ora dati dei brevi cenni per mostrare come l'algorit-mo per la cost:mzione del supervisore monolitico possa anche con molta semplicità venir esteso al caso in cui vi sono, oltre a una specifica dinamica I< generata dall'automa H, anche specifiche statiche XL< e specifiche qualitative.

Sostanzialmente, al primo passo si procede sempre alla costruzione dell'automa F = G Il H (e qualora non vi sia alcuna specifica dinamica da considerare si pone F = G). Si procede poi a rifinire F per passaggi successivi, come prevede l'Algoritmo 7.30, avendo però l'accortezza di eliminare non solo gli stati incontrollabili ma anche quelli che non soddisfano le specifiche statiche e qualitative considerate.

Un esempio chiarirà la procedura.

Esempio 7.32. Si consideri il processo G sull'alfabeto E = { a)b.c} mostrato in Figu-ra 7 .15. Solo l'evento e è non controllabile.

Si desidera controllare questo sistema in modo da rispettare le seguenti specifiche:

• Per prima cose si vuole che non possano verificarsi due occorrenze dell'evento b senza che tra esse si verifichi almeno una volta l 'evento c. Tale specifica dinamica -può essere rappresentata dall'automa H in Figura 7 .15 che ha per alfabeto E {b.c}.

• Si desidera proibire al sistema di raggiungere lo stato X4.

• Si desidera che il sistema S / G sia non bloccante, cioè deve sempre essere possibile ritornare allo stato x0 che è il solo stato finale.

Si comincia con determinare l 'automa F = G Il H, come mostrato in Figura 7.15. Tale automa non ha stati incontrollabili o bloccanti, ma ha uno stato :r,i.o che corrisponde allo stato :r 1 del processo proibito dalla specifica statica. Si rifinisce F eliminando tale stato. in modo da ottenere i· automa F' mostrato nella stessa figura.

L'automa F' non ha stati proibiti o bloccanti, ma ha due stati (:r2.o e .1'2, 1) che sono incontrollabili. Si rifinisce F' eliminando tali stati, in modo da ottenere l'automa F" mostrato nella stessa figura.

L'automa F" non ha stati proibiti o incontrollabili, ma ha uno stato non raggiungibile .r3,0 che può essere rimosso senza modificare il linguaggio dell'automa. Inoltre vi è anche uno stato bloccante .1 1. 1 • Si rifinisce F" eliminando tali stati. in modo da ottenere

Page 372: Sistemi ad Eventi Discreti

366 Capitolo 7

l'automa psup mostrato nella stessa figura, che non avendo stati proibiti, incontrollabili o bloccanti è il supervisore monolitico cercato. t

Xo X1 X2 a:

e b

b: e e

Xo e

G a: H X3 X4

Figura 7.15 Sistema G e specifica dinamica H l'Esempio 7.32.

Esercizi

Esercizio 7.1. Si consideri l'automa Hp sull'alfabeto E = {b,f} rappresentato in Fi-gura 7.4 che accetta la specifica parziale 1<11 descritta nell' Esempio 7.5. Dato E = {a,b,c,d,eJ} si descriva l'automa Hcomp che accetta il linguaggio (E\ E)* e si cal-coli l'automa Hp Il Hcomp · Si verifichi che tale automa coincide con l'automa Ht sull'alfabeto E rappresentato in Figura 7.4.

Esercizio 7.2. Si consideri l'AFD G in Figura 7.1 con alfabeto E = {a,b,c,d,P,j} e insieme di eventi non controUabili Bue = {e.e} . Calcolare per ogni stato ;r, di tale automa il più piccolo ingresso di controllo ammissibile da tale stato.

Esercizio 7.3. Costruire un automa finito deterministico che rappresenta il seguente pro-blema. Un uomo deve traghettare dalla sponda sinistra alla sponda destra di un fiume tre passeggeri: una capra, un lupo e un cavolo. L'uomo ha a disposizione una barca che gli consente di portare dall'altra parte un solo passeggero alla volta. inoltre, egli non deve lasciare incustoditi sulla stessa sponda del fiume: (a) la capra con il cavolo; (b) il lupo con la capra.

Per la costruzione dell 'automa etichettare i vari stati con la seguente notazione:

• (CLVU) : Capra, Lupo, caVoJo e Uomo sulJa sponda sinistra;

• (CLVU) : Capra, Lupo è ca Volo sulla sponda sinistra; Uomo sulla sponda

• (CLVU): Lupo e caVolo sulla sponda sinistra; Capra e Uomo sulla sponda destra; ecc.

Gli eventi, che si suppongono nttti"controllabili, saranno:

• u : l'uomo compie la traversata da solo;

Page 373: Sistemi ad Eventi Discreti

Controllo supervisivo 367

F a F' a

Figura 7.16 Diversi passaggi nella costruzione del supervisore monolitico F '"P per l'Esem-pio 7.32.

• uc: l'uomo compie la traversata con la capra;

• ul: l'uomo compie la traversata con il lupo:

• tw: l'uomo compie la traversata con il cavolo.

Una volta costruito l'automa, si indichi: lo stato finale (uomo e passeggeri sulla sponda destra); gli stati proibiti (capra-cavolo oppure lupo-capra incustoditi). Si determini se esiste una parola accettata che possa venir generata senza passare per alcuno stato proibito e, in caso positivo, indicare tale parola.

Esercizio 7.4. Dato un processo G sull'alfabeto E, si dimostri, usando la condizio-ne (7.7), che se J<.J(' ç sono due linguaggi controllabili rispetto a G e E 11c , allora anche la loro unione è controllabile.

Esercizio 7.5. Si consideri l'AFD Gin Figura 7.17 con alfabeto E = {a.b.c} e insieme di eventi non controllabili FJw· = { b}.

(a) L'automa H1 sull'alfabeto E1 = { a,b} accetta la specifica dinamica totale 1\1, insie-me delle parole in cui tra due successivi eventi a si verificano esattamente due eventi b. Si verifichi, costruendo la composizione concorrente F 1 = H1 Il G, che l'AFD H 1

non è Ew -abilitante ri -. pctto a G. Si determini, con l'operazione di rifinitura descritta

Page 374: Sistemi ad Eventi Discreti

368 Capitolo 7

nell ' Algoritmo 7.30 un supervisore monolitico 51 tale che il sistema a ciclo chiuso generi L(Si/G) = L(G) Il K fup .

(b) L'automa H 2 sull' alfabeto E2 = {e} accetta la specifica dinamica parziale 1<2 , in-sieme delle parole che contengono al massimo una c. Si verifichi, sempre costruendo la composizione concorrente H 2 Il G, che l' AFD H 2 (pur essendo Bue-abilitante rispetto a G) non rappresenta un buon supervisore perché porta a un sistema a ciclo chiuso bloccante. Infatti, il sistema H 2 /G contiene stati raggiungibili ma non co-raggiungibili, cioè stati a partire dai quali non si può raggiungere uno stato finale. Rimuovendo gli stati bloccanti con l'operazione di rifinitura descritta nell'Algorit-mo 7.30, si determini un supervisore monolitico 52 tale che il sistema a ciclo chiuso generi L(S.if G) ç L(H2/G) = G Il K2 ma sia non bloccante.

e b Xo X1 XQ X1 a: )@ )@

e •@

b Xo e: Xt b

G Hi H1

X2

Figura 7.17 Un processo G e due specifiche.

Esercizio 7 .6. Questo esercizio vuole mostrare che nonostante la tecnica di costruzione del supervisore monolitico descritta nell'Algoritmo 7 .30 porti sempre a una soluzione, tale soluzione potrebbe non essere praticamente significativa. Si consideri l ' AFD G in Figura 7 .18 con alfabeto E = { a,b.c.d} e insieme di eventi non controllabili Euc = { b,c}.

(a) L'automa H sull'alfabeto E = { a,b,c} accetta la specifica dinamica totale I<, insieme delle parole in cui tra due successivi eventi a e b non si verificano eventi c. Si verifichi, costruendo la composizione concorrente F = H Il G, che l' AFD H non è Euc-abilitante rispetto a G.

(b) Si determini, con l'operazione di rifinitura descritta nell 'Algoritmo 7.30 un supervi-sore monolitico S tale che il sistema a ciclo chiuso generi L(S/G) = L(G) Il K 8 11

P.

Si verifichi che vale L( S / G) = {e} e dunque il supervisore S, per evitare che venga violata la specifica, impedisce ogni evoluzione del sistema.

Esercizio 7. 7. Si consideri il processo fisico costituito da un distributore automatico di caffè il cui comportamento è il seguente. Per ottenere un caffè occorre premere su un bottone (evento a) e introdurre una moneta da 50 eurocent (evento b); queste due azio-ni possono essere eseguite in un qualunque ordine. Il caffè viene preparato e deposto all ' interno di uno scomparto (evento e). Un nuovo ciclo pt'Ò allora iniziare. Premendo un pulsante (evento r) lo scomparto viene ape1to e, se in e-.so è presente un caffè, esso

Page 375: Sistemi ad Eventi Discreti

Controllo supervisivo 369

e a: a

b

H

G

Figura 7.18 Un processo G e una specifica H.

viene prelevato; si suppone che il pulsante di apertura possa essere premuto in uno stato qualunque della macchina, anche qualora non vi sia un caffè nello scomparto. Tutti gli eventi sono controllabili, a parte l'evento c.

Si desidera realizzare un dispositivo di controllo a ciclo chiuso che garantisca che non venga mai deposto un caffé nello scompruto se esso non è vuoto.

(a) Si costruisca l'automa G che descrive questo processo fisico.

(b) Si descriva la specifica parziale che corrisponde al comportamento desiderato, indi-cando sia il linguaggio I<,, mediante notazione insiemistica o un'espressione regolare, e determinando anche l'automa H P che la genera. Si precisi l'alfabeto della specifica parziale.

( c) Si descriva la specifica totale che corrisponde al comportamento desiderato, indicando sia il linguaggio Kt che r automa Ht che lo genera.

(d) Si dimostri che il linguaggio di specifica I\p non è controllabile, costruendo la com-posizione concorrente dei due automi G e Hp. Si dia un esempio di una parola vietata dalla specifica ma che non può essere impedita da un supervisore E 11 r-abilitante.

(e) Determinare il supervisore che porta a un comportamento a ciclo chiuso massima-mence permissivo pur rispettando la specifica.

Esercizio 7.8. Si consideri un processo produttivo costituito da due macchine indipen-denti G 1 e G·). La macchina G, (i= 1.2) può trovarsi in tre stati: semi-operativa (stato iniziale), operativa, guasta. La macchina passa dallo stato di semi-operatività a quello di operatività mediante l'evento o; (controllabile). mentre passa dallo stato di operatività a quello di semi-operatività mediante l'evento si (controllabile). Quando è operativa può verificarsi un guasto (evento non controllabile fi) e se riparata (evento controllabile rj} ritorna nella stato iniziale.

(a) Rappresentare il funzicnamento delle macchine G 1 e G2 come due automi indipen-denti. Indicare, per og ii automa, l' alfabeto corrispondente. il linguaggio chiuso e il Linguaggi< rrarcaco.

Page 376: Sistemi ad Eventi Discreti

370 Capitolo 7

(b) Rappresentare il funzionamento del processo complessivo G = G1 Il G2 come un automa.

(e) Si consideri la seguente specifica dinamica: qu.ando entrambe le macchine sono guaste G 1 deve essere riparata prima di G2.

Rappresentare questa specifica mediante un automa H 1 , indicandone esplicitamente l' alfabeto. Determinare se questa specifica è controllabile e progettare un supervisore S che porta a ciclo chiuso al comportamento massimamente permissivo che soddisfa la specifica. Determinare il sistema a ciclo chiuso S /G.

(d) Si consideri la seguente specifica statica: le due macchine non devono mai essere guaste contemporaneamente.

Rappresentare questa specifica mediante un automa H2 , indicandone esplicitamente l' alfabeto. Determinare se questa specifica è controllabile e progettare un supervisore S che porta a ciclo chiuso aJ comportamento massimamente permjssivo che soddisfa la specifica. Determinare il sistema a ciclo chiuso S/G.

Esercizio 7.9. La Mappa del Malandrino in Figura 7.19(a) mostra Harry Potter e Colui-che-non-deve-essere-nominato (V. .. ) in un• ala del Castello di Hogwarts. I due personaggi ignorano ciascuno la presenza dell'altro e vanno di stanza in stanza passando attraverso le porte indicate nella mappa. Hermione osserva la mappa e, per impedire che i due capitino entrambi nella stessa stanza, ogni qual volta essi si trovano in due stanze adiacenti blocca la porta di comunicazione tra le due stanze. Le porte sono tutte unidirezionali come mostrato in figura, e la porta che permette di passare dalla stanza 1 alla stanza 2 non può essere bloccata.

L'automa che rappresenta Harry è mostrato in Figura 7.19(b). Lo stato Xi indica che Harry è nel1a stanza i, l'evento hi indica il suo ingresso nella stanza i (per i = O, ... ,3). Non è stato marcato alcuno stato perché in questo esempio non occorre distillguere fra stati finali e non finali.

(a) Si costruisca l'analogo automa F che rappresenta Colui-che-non-deve-essere-nomi-nato, in cui l'evento Vi indica il suo ingresso nella stanza i (per i = ol ... ,3). Lo stato iniziale dell'automa V deve essere consistente con la posizione iniziale di questo personaggio indicata nella mappa.

(b) Si costruisca la composizione concorrente di H e l ', indicando come stati proibiti tutti quelli in cui i due personaggi si trovano nella stessa stanza.

(c) Si rifinisca l'automa mediante l'operazione descritta nell 'Algoritmo 7.30 eliminando gli stati proibiti e gli eventuali stati incontrollabili.

( d) Si verifichi se sotto l'azione di questo supervisore i due personaggi sono ancora liberi di raggiungere ogni stanza.

Esercizio 7.10. Si consideri il processo fisico costituito da una cella i - di verniciatu-ra/lucidatura operata da un robot e da un deposito D di capacità infinita. Il comportamen-to della cella i · è il seguente. Il robot preleva una lastra da un nastro in ingresso (evento a), ed esegue la verniciatura. Terminata la verniciatura (evento b) esegue la lucidatura. Terminata la lucidatura (evento e) depone la lastra nel depos to - eventualmente impilan-dola sulle altre lastre già presenti - e ripete il c ido. Lo stato iniziale e fimùe della cella è

Page 377: Sistemi ad Eventi Discreti

ControlJo supervisivo 371

o 1 Jlarry Potter --

• .... --

Xo Xt

I I l I I I

I I I I I

3 2 • --• --'f/oftfemort

• H

(a) (b)

Figura 7.19 Harry Potter e Voldemort nel castello di Hogwarts.

quello in cui il robot è a riposo. Il deposito viene modellato da un automa con due stati (vuoto e non-vuoto). L'evento r· fa passare il deposito dallo stato vuoto allo stato non-vuoto, mentre il suo verificarsi dallo stato non-vuoto non modifica lo stato. Il deposito viene scaricato in modalità batch (evento d). Cioè al verificarsi dell'evento d il deposi-to passa dallo stato non-vuoto allo stato vuoto (tutte le lastre presenti vengono scaricate contemporaneamente). L'evento d può anche verificarsi se il deposito è vuoto ma in tal caso il suo stato non viene modificato. Lo stato iniziale e finale del deposito è quello in cui esso è vuoto. Nel particolare processo di lavorazione considerato, le lastre possono venire verniciate con colori diversi. Mettendo a contatto due lastre di colore diverso, si corre il rischio che il loro colore si alteri. Dunque si desidera realizzare un dispositivo di controllo a ciclo chiuso nel rispetto della specifica che in un dato istante non vi sia più di una lastra nel deposito. Tutti gli eventi sono controllabili. tranne levento r·.

(a) Si costruiscano gli automi 1 • e D che descrivono il comportamento della cella e del deposito, indicandone il rispettivo alfabeto.

(b) Si costruisca l'automa H che descrive la specifica, indicandone l'alfabeto.

(c) Si determini l 'automa G che rappresenta il comportamento concorrente della cella e del dcposilo.

(d) Si dimostri che l'automa lT non è Euc-abilitante rispetto a G. Si dia un esempio di una parola vietata dalla specifica ma che non può essere impedita da un supervisore Bue-abilitante.

(e) Determinare la struttura di un supervisore monolitico Euc-abilitante S che porta a un comportamento a ciclo chiuso che soddisfi la specifica e sia minimamente restrittivo. Il sistema a ciclo chiuso è bloccante?

(f) Determinare, se possibik, un supervisore S' con un numero inferiore di stati rispetto a S ma talL che il com 1or amento a ciclo chiuso del sistema ) ' /G sia lo stesso dcl sistema S / (;.

Page 378: Sistemi ad Eventi Discreti

372 Capitolo 7

Bibliografia

• Cassandras, C.G., S. Lafortune, lntroduction to discrete event systems, Kluwer Aca-demic Publishers, 1999.

• Holloway, L.E., B.H. Krogh, A. Giua, "A survey of Petri net methods for conrrolled discrete event systems", Discrete Event Dynamic Systems, Vol. 7, pp. 151-190, 1997.

• Kumar, R., V.K. Garg, ModeUng and contro! of logica/ discrete event systems, Klu-wer Academic PubJishers, 1995.

• Ramadge, P.J., W.M. Wonbam, "The contro! of discrete event systems", Proceedings IEEE. Vol. PROC-77, No.1, pp. 81-98, January, 1999.

• Wonham, W.M., "Notes on contro! of discrete-event systems", Dept. of Electrical and Computer Engineering, Vniversit,v o/Toronto, Canada. 1999. URL: hltp : //odin . control.toronto . edu/DES/

Page 379: Sistemi ad Eventi Discreti

8 Controllo di reti di Petri mediante monitor

In questo capitolo si useranno le reti di Petri come modello ad eventi discreti nel contesto del controllo supervisivo. Nel capitolo precedente la teoria del controllo supervisivo è sta-ta sempre applicata usando come modello gli automi finiti deterministici. È stato tuttavia fatto osservare in più occasioni come tale teoria, essendo basata sul concetto di linguag-gio formale, può essere applicata, in generale, a un qualunque modello che consente di descrivere un linguaggio formale e dunque, in particolare, anche alle reti di Petri.

È possibile studiare la sintesi di supervisori per modelli reti di Petri nel caso in cui le specifiche di controllo sono specifiche dinamiche che vincolano il linguaggio della rete, oppure specifiche statiche che vincolano le marcature raggiungibili, o anche specifiche qualitative che richiedono che la rete a ciclo chiuso goda di certe proprietà quali vivezza, assenza di blocco, ecc. Tuttavia, il grande vantaggio delle reti di Petri rispetto agli automi consiste nel fatto che mentre lo stato di una automa appartiene a un insieme non numerico privo di particolare struttura, lo stato di una rete è descritto da un vettore: la marcatura. Questo fatto, come già visto ne l capitolo 4. consente di usare semplici tecniche strutturali basate sull'algebra lineare per caratterizzare la spazio di stato dei sistemi di rete e le proprietà che ne derivano. Non sorprende, dunque, che i risultati più interessanti nell'uso delle reti di Petri quali modelli per il controllo supervisivo nascnno appunto nel campo del controllo supervisivo con specifiche sullo stato. In questo capitolo si considera una particolare forma di specifica statica, detta specifica di mutua esclusione generaliz;:,ara o GMEC. che richiede di limitare la somma pesata delle marche contenute in una rete 1. Tali speci fiche sono formalmente introdotte nel paragrafo 8.1.

Nel paragrafo 8.2 si presenterà una tecnica che pe1mette di controllare una rete di Pe-tri sulla quale si desidera imporre una GMEC mediante l'aggiunta di particolari strutture di supervisione dette posti monitor. Questi supervisori sono di semplice determinazione ed implementazione e, nel caso in cui tutte le transizioni sono controllabili e osservabili, sono anche massimamente permissivi cioè ottimi.

La presenza di transizloni non controllabili, cioè transizioni che non po!->sono venir disabilitate da un c;upervisore, rende il progetto dei posti monitor più difficile. In tal caso, come discusso nel paragrafo 8.3, è spesso ancora possibile progettare un posto monitor che garantisce il soddisfacimento di una GMEC data. ma non vi è la garanzia che tale supervisore sia massimamente permissivo: \Ì parla in tal caso di monitor sub-ottimi.

1 Talvolta si usa miche la dizione vinrolo di mutua esclusione generali:4.aro; tuttavia, pensando ad una specifica, si è soliti .:011s1derare EC sostantivo di genere fenuninile.

Page 380: Sistemi ad Eventi Discreti

374 Capitolo 8

Infine nel paragrafo 8.4 si prende in conto la presenza di transizioni non osservabili, cioè transizioni il cui scatto non può essere osservato da un supervisore, e si discute il progetto dei monitor sub-ottimi in quest'ultimo caso.

La definizione di GMEC e il controllo mediante posti monitor sunu slati iui.liaJmentc introdotti da Giua et al., (1992). Il controllo in presenza di transizioni non controllabili e non osservabili e l'algoritmo per la determinazione di un monitor sub-ottimo è invece dovuto a Moody et al., (1996). Per maggiori approfondimenti, si rimanda al libro di Moody e Antsaklis ( 1998) interamente dedicato aU' argomento del controllo di reti di Petri mediante monitor. Anche la recente monografia di Stremersch (2001) è principalmente dedicata al controllo delle reti di Petri con specifiche sullo stato. Infine per una rassegna sul controllo supervisivo delle reti di Petri nel caso più generale, cioè con specifiche non solo statiche ma anche dinamiche o qualitative si rimanda all'articolo di Holloway et al. (1997) o aJ libro di Cassandras e Lafortune (1999).

8.1 Specifiche di mutua esclusione generalizzate (GMEC)

Le specifiche di mutua esclusione generaliz:ate (Giua et al., 1992), chiamate anche più in breve GMEC - acronimo dall'inglese Generalized Mutuai Exclusion Consrraints -consentono di descrivere in modo naturale una classe importante di specifiche statiche. Tale classe di specifiche riveste particolare interesse per il controllo di processi composti da più sottosistemi concorrenti che accedono in parallelo a un numero limitato di risorse. Sono molti i processi che possono essere descritti in questi termini: si pensi, ad esempio, a un elaboratore dove più programmi competono per avere l'uso delle risorse CPU e periferiche; a una rete ferroviaria dove più treni competono per avere l'uso delle risorse binari e stazioni; a un sistema di comunicazione dove più messaggi competono per avere l'uso delle risorse server e canaH, ecc.

8.1.1 Mutua esclusione e GMEC

Due condizioni logiche A1 e . h sono dette in mutua esclusione se esse non possono essere entrambe contemporaneamente vere2. Ad esempio, si supponga che due studenti preparino indipendentemente un esame dallo stesso libro: se .-l1 (con i = 1.2) rappresenta la condizione "lo studente i legge il libro'', tali condizioni sono mutuamente esclusive. Si assuma che una data condizione logica corrisponda in una rete Pff (f\.,M 0) al fatto che un posto (supposto sano) sia marcato: ad esempio, una marcatura in cui l\J(p1 ) = 1 rappresenta uno stato in cui la condizione logica A 1 è vera. mentre una marcatura in cui 1'1 (p2 ) = 1 rappresenta uno stato in cui la condizione logica A 2 è vera. La specifica che le due condizioni non debbano mai essere contemporaneamente vere si può rappresentare con il vincolo

(8.1)

2Si noli tuttavia che due condizioni in mutua esdusio e potrebbero e'' ere cntr.imbe false. dunque la primi-tiva .. mutua esclusione" i! diversa dalla primitiva "XOK' >"OR esclu->1vo , che nchic<le che una e una '\Ola una con<li.done sia \·era.

Page 381: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 375

che dovrà essere verificato da tutte la marcature raggiungibili; infatti, se i posti sono sani tale vincolo vieta solo le marcature per cui valga 1'1(p1) = lvf (p2 ) = l. Se la rete ha m posti, definendo

w = 1 1

M = Al (Jh) 1ìl (P2)

vale anche Af(p1) + lìl(p2) = wrM

e dunque posto k = 1 il vincolo (8.1) può anche scriversi

w TM < k.

o JJ(pm)

] 1

]1

Generalizzando, è possibile considerare vettori w = ( w 1 w2 w3

e

e scalari k che assumono valori interi qualunque e danno vincoli della forma

wr M = W1Af(pi) + w21\l(p2) + W3.Af(p3) -1 • • · + Wm.11!(/hn) k.

Wm ]T

dove w E Z m e k: E Z. In questo modo è possibile pesare in modo diverso la marcatura di posti diversi.

Vale allora la seguente definizione.

Definizione 8.1. Sia (/\',M 0) una rete marcata con m posti. Una specifica di mutua esclusione o GMEC (w .k), costituita da un vettore w E zm e da uno scalare k E Z, definisce un insieme di marcature legali

(8.2)

L' insieme della marcature raggiungibili e legali è

M(.V.M o1w ,k) = R(N.Mo) n f.(w.k). (8.3)

La Figura 8. 1 mostra gli insiemi di marcature legali e raggiungibili per una data GMEC (w,k).

' M(N,Mo, w,k)

' , _____ __

' ' I

N"'

Figura 8.1 L'insieme di raggiu ·1gibilità R(JV.M 0 ). l'insieme di marcature legali C( w .k) e la loro mter-.ez1one (.\ M o.w.k).

Page 382: Sistemi ad Eventi Discreti

376 Capitolo 8

Verrà ora dato un esempio che permetterà di capire quali tipi di vincol i possano essere espressi tramite GMEC.

Esempio 8.2. Si consideri il processo produttivo schematizzato in Figura 8.2(a). Si tratta di un job-shop in cui sono presenti un robot r, due macchine m 1 e m 2 • e un deposito d. Parti di tipo A e di tipo B arrivano separatamente su due nastri trasportatori. 11 robot carica le parti di tipo A sulla prima macchina e le parti di tipo B sulla seconda. Ogni parte viene dunque lavorata e terminata la lavorazione viene inviata al deposito. Le parti vengono prelevate dal deposito in coppia, una parte di tipo A e una di tipo B, per venir assemblate. Un modello reti di Petri che descrive le operazioni di questo processo è mostrato in Figura 8.2(b), mentre il significato dei posti e delle transizioni della rete è riportato nclJa tabella sotto la figura.

La rete in Figura 8.2(b), descrive il job-shop senza tenere conto del fatto che il nu-mero limitato di risorse e altre specifiche di funzionamento impongono dei vincoli al comportamento del processo. In particolare, si suppone che sia necessario rispettare i seguenti vincoli, dati come GMEC.

1. Vi è un unico robot. che può eseguire le operazioni di caricamento una alla voJta. Tale specifica di mutua esclusione può scriversi lif (p1) + /l/(pi) :'.S 1, e corrisponde alla GMEC ( w 1 .k1 ) in Tabella 8. I.

2. Le due macchine sono monoserventi, cioè possono lavorare una sola parte alla volta. Tali specifiche possono scriversi 1\I(p"J.) :::; 1 e 1U(p;,) :::; 1, ovvero corrispondono alle GMEC (w 2a .k2a) e (w2b,k2b ) in Tabella 8.1.

3. Il deposito ha una capacità finita e dispone di x locazioni. Ogni parte di tipo A nel deposito occupa due locazioni, mentre ogni parte di tipo B ne occupa solo una. Tale specifica di capacità può scriversi 21U(11a) + Jl(p6 ) :'.S .r, ovvero corrisponde alla GMEC (w 3.k:d in Tabella 8. 1.

4. Per permettere alla stazione di assemblaggio di lavorare anche se una delle due mac-chine dovesse momentaneamente guastarsi, si desidera che nel deposito vi sempre parti di entrambi i tipi, e l' eccedenza delle parti di un tipo rispetto a parti dell'altro tipo non deve superare le lJ unità. Tale specifica di equità3 corrisponde al vincolo non lineare J1ìl(µ3) - /II(p6 )1 :'.S y che può, tuttavia, anche venir scritto come l'insieme dei due vincoli lineari 1'1 (pl) - JJ (pn) :'.S y e 1U(p6) - .\l(p3) :'.S y, che corrispondono alle GMEC ( w ia J·4a) e ( W 411.k11 ) in Tabella 8.1.

Si noti che in questo esempio i coefficienti non unitari nel vettore w di una GMEC permettono di rappresentare specifiche di capacità relative a oggetti di classi diverse, men-tre i coefficienti negativi sono necessari per le specifiche d1 equità. +

3Si parla di specifica di equità quando s1 nchiede chL dhersi souopn>\.°essi (rappresentati in questo esempio dai due Huss1 produlln 1 delle parti d1 11po A e d1 tipe B> non debbai • ruso d1 una morsa (rappresent:ua in questo esempio dal deposi o) ma debbano. al comnrio .panir,cla sccor do opportune regole.

Page 383: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 377

tipo A m1 !1 PI t2 P2 t3 p3

x=O t7

d

tipo B m2 (4 p4 ts Ps l6 P6

(a) (b)

Figura 8.2 (a) Schema di un processo produttivo, (b) rete di Petri che descrive il processo a ciclo aperto.

Posto Descrizione

PI caricamento m 1 in corso

P2 1n1 sta lavorando p3 parti di tipo A nel deposito

7J4 caricamento ·m,2 in corso

p5 m 2 sta lavorando

P6 parti di tipo B nel deposito

Transizione Descrizione

t1 inizio caricamento pezzo su m 1

t2 fine caricamento pezzo su rn 1 e inizio lavorazione m 1

t3 fine lavorazione m1 e deposito parte in d t4 inizio caricamento pezzo su rn.2

t5 fine caricamento pezzo su m 2 e inizio lavorazione m2

t6 fine lavorazione m,2 e deposito parte in d t, prelievo coppia di parti da d

8.1.2 GMEC multiple

Quando, come nel caso delJ'esempio, si desidera imporre a un processo dato più GMEC (wiJJ con i = 1, ... ,q, è anche possibile raccogliere tutti questi vincoli in una GMEC multipla (W .k) dove

è una matrice 1 n x q le cui colonne sono i vettori che definiscono le singole GMEC e

Page 384: Sistemi ad Eventi Discreti

378 Capitolo 8

W1 - [ 1 o o 1 o o )T k1=1 -

W 2a. - [ o 1 o o o o ]T k2a = 1 -

W 2b - [ o o o o 1 o f k2b = 1 -

W 3 - [ o o 2 o o 1 JT k3 =X -

W 4a - [ o o 1 o o - 1 rr k4a = Y -

W 4b - [ o o -1 o o 1 ]T k ,!b = y -

Tabella 8.1 Le GMEC che descrivono le specifiche da imporre sulla rete in Figura 8.4(b)

è una vettore q x 1 che ha per elementi gli scalari k; delle singole GMEC. Per tale GMEC multipla si definisce l'insieme di marcature legali

.C(W ,k ) ={M E Nm I w r M :s; k} ={ME Nm I w'{M :s; ki,w r M < k2, ... ,w r M < kq} = C(w 1,ki) n .C(w 2,k2) n · · · n L,(wq,kq),

e dunque una marcatura è legale per la GMEC multipla (W ,k ) se e solo se è legale per ogni singola GMEC (w i,ki)·

8.1.3 Potere descrittivo delle GMEC

Può essere utile fare qualche commento sul potere descrittivo delle GMEC. Il preceden-te esempio di.mostra che molte specifiche di interesse possono essere espresse tramite GMEC. Tuttavia esistono specifiche statiche che non hanno una rappresentazione trami-te GMEC, cioè esistono insiemi di marcature legali .C per cui non esiste alcuna GMEC multipla (W ,k ) per cui valga .C = .C(W ,k ) .

Per dimostrare ciò, si presenta dapprima il seguente risultato, che per generalità viene enunciato nel caso di una GMEC multipla e dunque si applica anche a una GMEC singola, vista come caso particolare in cui q = 1.

Proposizione 8.3. Data una GMEC multipla (W ,k ), l'insieme delle marcature legali .C(W ,k ) che essa definisce è convesso. Ciò significa che se M ',M" E .C(W,k ) sono due vettori, e se M = aM' + (1 - a) M" E (con a E [O.l]) è un terzo vettore di interi che si ottiene come combinazione lineare convessa dei primi due, allora anche M deve appartenere a .C(W,k ).

Dimostrazione. Se i due vettori M' .M" sono legali vale certamente w r M ' < k e w r M" :s; k . Sia M = aM ' + (1 - a)M" è elementare osservare che vale

w T M = w T ( aM ' + (1 - a) M ") = aw T .i\11 + (1 - a) w r M " :s; ak + ( 1 - a) k = k

e dunque anche M è legale. D

Page 385: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 379

Grazie al risultato appena enunciato, è possibile ora dare un esempio di una semplice specifica statica che non può essere rappresentata tramite GMEC.

Esempio 8.4. La rete in Figura 8.3 descrive la ricetta con cui viene sintetizzato un par-ticolare prodotto chimico combinando due componenti che sono prodotti in due diversi reattori. Il numero di marche nel posto p3 indica quanti lotti del primo componente stan-no venendo prodotti nel primo reattore, mentre il numero di marche nel posto p4 indica quanti lotti del secondo componente stanno venendo prodotti nel secondo reattore. Poi-ché ogni reattore richiede costante attenzione, nei periodi festivi in cui la manodopera è scarsa non si vuole che i due reattori siano contemporaneamente in funzione. Questa

specifica dunque considera come legali la marcatura M ' = [ O 2 2 O O O J T,

che rappresenta lo stato in cui il primo reattore produce due lotti e il secondo è fermo, e

la marcatura M" = [ 2 O O 2 O O ) T, che rappresenta lo stato in cui il secondo reattore produce due lotti e il primo è fermo. La marcatura

M = [ 1 1 1 1 O 0 ] T = M' M" 2 + 2 )

che rappresenta lo stato in cui entrambi i reattori producono un lotto, non è invece legale pur essendo una combinazione lineare convessa delle prime due. Poiché l'insieme di marcature legali non è convesso, non è possibile rappresentare tale specifica tramite una GMEC. +

Figura 8.3 Una rete di Petri.

Per completezza, ricordiamo ancora che è stato dimostrato (Giua et al., 1992) che se una rete marcata (J.V,M 0 ) è sana, allora data una qualunque specifica statica .C è possibile determinareunaGMECmultipla (W ,k ) talecheR(N.M0 )n.C = R(N,M 0 )n.C(W ,k). Dunque almeno nel caso delle reti sane, og1ù specifica statica ha una equivalente rappre-sentazione tranùte GMEC. Tuttavia, il numero di q di vincoli che compongono la GMEC multipla può essere molto grande.

Per concludere, si osservi che benché le GMEC non consentano di descrivere tutte le specifiche di interesse, rivestono comunque grande importanza perché, come si dimostrerà nel resto di questo capitolo, il controllo di reti di Petri con specifiche assegnate

Page 386: Sistemi ad Eventi Discreti

380 Capitolo 8

tramite GMEC è un problema che ammette una soluzione semplice ed elegante (il posto monitor) e può essere facilmente affrontato con le tecniche dell'algebra lineare.

8.2 Posti monitor

Data una GMEC (w.k), ci poniamo ora il problema di come costruire un supervisore (cioè, un controllore) che garantisca che tale specifica non sia mai violata. Supponiamo che la rete si trovi nella marcatura legale M e che lo scatto della transizione abilitata t porti il sistema a una marcatura M' = M + C(-.t). li supervisore dovrà permettere lo scatto di t se esso porta a una marcatura legale M' E L( w .k). Il supervisore dovrà viceversa impedire tale scatto, disabilitando la transizione t, se esso porta a una marcatura proibita M' tt l(w.k).

In queste prima fase si suppone che ogni transizione sia controllabile, cioè che ogni transizione possa venir disabilitata dal supervisore se necessario. Il supervisore che permette di imporre una data GMEC prende la forma di un semplice posto detto monitor.

8.2.1 Monitor e sistema a ciclo chiuso

Definizione 8.5. È dato un sistema (S.M0), con matrice di incidenza Cdi dimensione rn x ne sia (w,k) una GMEC che si desidera impo1Te.

Si definisce monitor corrispondente a (w.k) il nuovo posto P.<; che ha per matrice di incidenza il vettore riga l x n:

(8.4)

e marcatura iniziale (8.5)

Il posto monitor non ha cappi, e dunque la matrice è sufficiente per determinare gli archi pre e post tra e ogni transizione. Infatti se C<;(t) < O il monitor ha un arco pre verso I di molteplicità Pr<'(p5 ,t) = ICs(t)I, mentre se Cs(/) > O il monitor ha arco post proveniente da t di molteplicità Po-;t(ps.t) = (\(I). Infine -;e(\ (t) - O vale Prl (pi;.t) = Post(ps.t) =O.

L'aggiunta del posto monitor J>.'I alla rete (X,M 0 ) che descrive il processo determina una rete (Ncc·M((',0 ) che descrive il sistema a ciclo chiuso (processo+ supervisore) e ha matrice di incidenza

e marcatura iniziale

M rcO = · [ M o l . i' r o (p '/ )

Esempio 8.6. Per il sistema descritto nell' Esempio 8.2 si vogliono ora determinare i monitor corrispondenti alle GMEC descritte n Tabella 8 .. La rete in 8.2(b). che

Page 387: Sistemi ad Eventi Discreti

ControJJo di reti di Petri mediante monitor 381

descrive il processo ha matrice di incidenza

f 1 l2 l 3 t4 fs t (j t 7

1 - 1 o o o o o P t o 1 -1 o o o o P2

C = o o 1 o o o - 1 p3

o o o 1 - 1 o o p4

o o o o 1 - 1 o Pri

o o o o o 1 - 1 P6

e marcatura iniziale M o = [ o o o o o Q ]T. Il monitor PH 1 che corrisponde alla GMEC ( w i ,k1 ) ha matrice di incidenza:

= - w { e = [ - 1 1 o - 1 1 o o L cioè tale monitor ha due archi pre, uno verso la transizione I 1 e uno verso la transizione t 4 ,

e due archi post, uno proveniente dalla transizione t 2 e uno proveniente dalla transizione I:, . La marcatura iniziale di Vs1 vale .i\1 o (p8 i) = k1 - w {'Mo = 1 - O = 1.

I monitor PR2n e Ps2b che corrispondono alle GMEC (w 'l.a,k2") e (w 211.k21,) hanno matrice di incidenza:

f 1 f 2 f 3 f I /5 lo f 7

c .... }.a = - wfi, c = [ o -1 1 o o o o J .

= -wf,,c = [ o o o o - 1 1 o ] '

cioè il primo monitor ha un arco pre verso i 2 e un arco post proveniente da t 3 , mentre il secondo ha un arco pre ver5o t5 e un arco post proveniente da /6 . La marcatura iniziale del primo monitor vale .\J o (Ps2a) = k2a - wf0 M o = 1 - O = 1. e quella del secondo J l o(Ps2ti) = kib - w fb M o = 1 - O= l.

Il monitor JJ.9 :l che corrisponde alla GMEC ( .k3 ) ha matrice di incidenza:

= - w:f C = [ O o - 2 () o - 1 3 ].

cioè tale monitor ha due art;hi pre, uno di molteplicità 2 verso la transizione e uno di molteplicità J verso la tran 'iizione t6 , e un arco post di molteplicità 3 proveniente dalla transizione '7. La 1 iniziale di Jls'J vale 1ìf k.{ - w4 M o= .t - O = .r.

Page 388: Sistemi ad Eventi Discreti

382 Capitolo 8

I monitor 7Js4n e p,'i4b che corrispondono alle GMEC (w .fo,ktto) e (w 4b,k4b) hanno matrice di incidenza:

t1 t2

O sta= = [ o o Cs4b = - w:[bc = [ o o

f 3

- 1

1

f 4

o o

o 1 o ] . o - 1 o ] .

cioè il pdmo monitor ha un arco pre verso t 3 e un arco post proveniente da tG, mentre il secondo ha un arco pre verso t6 e un arco post proveniente da t3 . La marcatura iniziale del primo monitor vale lv! o (Ps4a) = k4a - w f0 M o = y - O = y, e quella del secondo Afo(Ps4b) = ktb - wfbM o = y - 0 = .lJ.

Aggiungendo tali posti monitor alla rete che descrive il processo in Figura 8.2(b), si ottiene la rete in Figura 8.4, che descrive il sistema a ciclo chiuso (processo+ supervisore) e ha matrice di incidenza

/1 i2 f 3 t4 t5 16 t1

1 - 1 o o o o o P1

o 1 -1 o o o o P2

o o 1 o o o - 1 /)3

e o o o 1 -1 o o p4 Cs1- o o o o 1 - 1 o pr, Cs2a o o o o o 1 - 1 P6

C cr = C .s2b Cs:>. -1 1 o -1 1 o o ]J,t; I

C s1a o 1 1 o o o o JJ.'120

Cs1b o () o o -1 1 o Ps2b

o o - '2 o o - 1 3 Ps3

o o -1 o o 1 o P.'l·tn

o o 1 o o - 1 o Ps,1b

e marcatura iniziale

M cc.O [ 1' rl' = M o I l\lo(pt;i) 1Uo (Ps2a) 1\lo(Ps2b) 1Uo(P'13 ) l\Io(Psia) A1o(Ps-1b)

= [O O O O O O 11 1 l .r y y ]1

.

Per meglio distinguere la strnttura del processo da quella del supervisore, nella figura i posti monitor sono stati rappresentati con sfondo grigio. •

Come l'esempio precedente dimostra, se si desidera imporre a un processo dato una GMEC multipla (W.k) dove

W = [ W1 w ... Wq 1 e

k -: [ k1 k1 kq ] 1

Page 389: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 383

Psia

3

Pf1b

Figura 8.4 Il sistema a ciclo chiuso che si ottiene aggiungendo al processo in Figura 8.2(b) i posti monitor corrispondenti aJle GMEC descritte in Tabella 8.1.

si dovranno usare q monitor (tanti quanti sono i vincoli che costituiscono la GMEC multi-pla). L'aggiunta di tali posti alla rete (N,M 0 ) che descrive il processo determina una rete (-Ycc ·M cc.o) che descrive il sistema a ciclo chiuso (processo+ supervisore) e ha matrice di incidenza

e marcatura iniziale

8.2.2 I monitor sono supervisori massimamente permissivi

Si vuole ora dimostrare che in assenza di transizioni non controllabili il posto monitor che corrisponde a una data GMEC è un supervisore capace di imporre la specifica, cioè impedisce di raggiungere marcature non legali, ed è anche massimamente permissivo, cioè blocca solo lo scatto di transizioni che portano a marcature non legali. Si parla, in tal caso, di monitor ottimo.

Proposizione 8.7. Dato il sistema (S.M 0) , con matrice di incidenza C, e una GMEC (w.k) che si desidera imporre, sia (N'"(·,M cc,o) il sistema a ciclo chiuso con matrice di incidenza

e marcatura iniziale

M « .O = [ k _ ::,çMo l · ottenuto aggiungendo alla rete a ciclo aperto il monitor corrispondente alla GMEC.

Page 390: Sistemi ad Eventi Discreti

384 Capitolo 8

Data Mcc = [ M 1 I Al(p8 ) ] r E R(Ncc·Mcr.o) una generica marcatura rag-giungibile del sistema a ciclo chiuso vale:

l. w r M < k, cioè la marcatura M del processo soddisfa la specifica;

2. data una qualunque transizione t, M [t)M' e /ll(p8 ) < Prr(J>8 ,l) vale w T M' > k, cioè ogni qual volta una transizione tè abilitata dalla marcatura M del processo ma disabilitata dal monitor il suo scatto porta a una marcatura non legale.

Dimostrazione. Si osservi che il vettore x = [ w r 1 ] T è un P-invariante (con coefficienti interi) del sistema ciclo chiuso. Infatti vale

X Ct·c = W 1' [ 1'

In base alla proprietà dei P-invarianti5 data nel paragrafo 4.5.1, per ogni marca-

tura raggiungibile dcl sistema a ciclo chiuso M cc = [ M T I AI (JJs) ]'1' deve valere J'M TM . x cc = x cc.o. ossia

T 1 T T T w M+Jl(p8 )=x Mrr=X M cc.o=X Mo+k-x M o=k (8.6)

Per dimostrare il primo punto, osserviamo che in base alla (8.6) per ogni marca-tura raggiungibile del sistema a ciclo chiuso M rr E R(Ncc.M cc.o) vale wTM = k - !II (p8 ) < k e dunque M è legale.

Per dimostrare il secondo punto, sia t una transizione tale che M[t)M' e dunque tale che M' = M + C(·.t). Dalla definizione di posto monitor, è facile capire che vi sarà un arco preda JJ;i a t se e solo se C s (t) < O e in tal caso la molteplicità dell'arco vale Pre(p8 .t) = - C8 (1) - wr Dunque se la transizione è disabilitata dal monitor vale 1'1(718 ) < = w C(-,t) e dunque

w 1 M' = wl' [M + C(-.t)] = w 1 M + wr C(-.t) > w 1 M + = k

dove l'ultima uguaglianla deriva dalla (8.6) e dunque M' non è legale. o Nel corso della dimostrazione della precedente proposizione si è osservato che per

ogni marcatura raggiungibile del sistema a ciclo chiuso Mcc = [ M r I J\J (Ps) ] .,. vale

= k - w 1 M e dunque sostanzialmente la marcatura del posto monitor indica di quanto la marcatura pesata dei posti della rete dista dal valore massimo ammissibile k. In questo senso, si può anche pensare alla marcatura del posto monitor come a una variabile slack che assume il valore zero quando il vincolo w r M < k imposto daJla GMEC vale con l 'eguaglianza, mentre assume valori positivi quando il vincolo vale con la disuguaglianza stretta.

1Con la notazione M 'l) M' s1 vuole mdicare che sulla rete del processo a ciclo aperto \ la marcatura M abilita la transil.ione l il cui scatto detennina la marcatura Jvl'. Per indicare che la transiz10ne I non è ab1hta1a dalla marcatura M cc nella rete Ncc che descrive 11 sistema a ciclo chiuso. si sarebbe anche potuto -;crivere ..,Af n· [ t )N , dove [·)cc denota la condizione di abilitazione <. u .\",., ..

5 Nel paragrafo 4 5. I sono stati presi in considcranone , oJo P-inva.rian11 x con componcnn non-negatiw. mentre 11 vcuorc w di una GMEC può anche avere compo"en 1 mtere neg;1tive. Tuttavia è facile dimostrare che. se si delìmsce P-im·tmtmrt rt'<1le un qualunque veaore E R' tale chc:- x C = O / , per ogru marcatura M (. H(.Y.Mo) vale ::r:T M - x T Mo.

Page 391: Sistemi ad Eventi Discreti

Controllo di reci di Petri mediante monitor 385

8.2.3 Realizzabilità di un posto monitor

È importante discutere Jc condizioni che garantiscono J' esistenza del posto monitor as-sociato ad una data GMEC. In effetti la ùdla Definizione 8.5 è ben fondata se e solo se il valore della marcatura iniziale dcl monitor, calcolato mediante l'equazione (8.5), è non negativo. In caso contrario, non sarebbe possibile fisicamente rea/i:zare tale monitor. Vale a tale proposito iJ seguente risultato.

Proposizione 8.8. Dato il sistema (S,M o) sia ( w./..·) una GMEC che si desidera imporre. ll valore della marcatura iniziaJe del posto monitor corrispondente alla GMEC

k - WT M o

è non negativo se e solo se M 0 e .C( w ./..·), cioè se e solo se la marcatura iniziale M 0 del processo è legale.

Dimoslrazione. Si osservi che vale

il che dimostra il risultato enunciato. o Dunque se la marcatura iniziale M 0 dcl processo è legale, il posto monitor è fisica-

mente realizzabile e la GMEC può essere imposta. Se, viceversa, M 0 non fosse legale, non v'è modo di imporre la GMEC poiché essa è già inizialmente violata.

Esempio 8.9. Si consideri la semplice rete in Figura 8.5(a) sulla quale si vuole imporre il

vincolo .U (p 1 ) + JI (p2 ) 2. Tale GMEC ha vettore w - [ 1 1 ] T e costante k = 2. La struttura del monitor corrispondente è

e, = -wTc = [ - 1 1 - 1 1 ] ,. .

Se la marcatura iniziale della rete fosse M 0 = [ O O ] T, la marcatura iniziale del monitor varrebbe .1\l0 (p,, ) = k - w T Mo = 2 - O= 2, come mostrato in Figura 8.5(b).

Se la marcatura iniziale della rete fosse M:1 = [ 1 O ] /

, la marcatura iniziale del monitor varrebbe = k· - = 2 - l = 1. come mostrato in Figura 8.5(c).

Se la marcatura iniziale della rete fosse - [ 1 l J 1

• la marcatura iniziale del monitor varrebbe (p,, = k w T - 2 - 2 = O. come mostrato in Figura 8.5(d).

Se infine la marcatura iniziale della rete fosse = [ 2 1 ] 1

essa non sa-rebbe legale. Calcolando la marcatura iniziale del monitor si otterrebbe '' (Ps) = k - wr M;:1 = :2 - 3 = - 1, e dunque il monitor non sarebbe fisicamente real inabile. +

A conclusione di questo paragrafo, è utile far osservare alcuni vantaggi derivanti dall'uso dei posti monitor come supervisori. Per prima cosa la struttura di controJlo è molto semplice, poiché consiste in un numero di posti pari alle GMEC che costituiscono la specifica, mentre non richiede di modificare la struttura della rcle a ciclo aperto o di ag-giungere alcuna transizione. È immediato costruire la rete di Petri che descrive il sistema a ciclo chiuso e nella sua .;trullura è ancora possibile distinguere la struttura del processo e quella dcl .... upervisore. I progetto del monitor non richiede l'analisi deJlo spazio di stato della rete. cl e può essere iddirittura infìnito, ma si basa su semplici prodotti matriciali.

Page 392: Sistemi ad Eventi Discreti

386 Capitolo 8

11 f 1

PI

(a) (b)

P2

(e) (d)

Figura 8.5 Una rete di Petri a ciclo aperto e le varie reti a ciclo chiuso che si ottengono imponendo la GMEC !l!(p1) + !vf(JJ2):::; 2 al variare della marcatura iniziale della rete.

8.3 Reti con transizioni non controllabili

li progetto del posto..monitoLChe..impone..unaGMOCdata è stato risolto facilmente nel pa-ragrafo precedente perché si è supposto che tutte le transizioni siano controllabili, cioè che il supervi_§_oi:_e _Q_ossa disabilitare una In generale, tuttavia, questa ipotesi non è sempre verificata. Seguendo dunque il paradigma del controllo supervisivo presentato nel precedente capitolo si suppone di partizionare l'insieme delle transizioni in due sottoinsiemi T = Te U Tue. dove Te indica il sottoinsieme delle transizioni control-labili e Tu.e indica il sottoinsieme delle transizioni non controllabili. Per distinguere visi-vamente i due tipi di transizioni, nel resto del capitolo useremo la convenzione di rappre-sentare le transizioni non controllabili con dei rettangoli bianchi. Ad esempio, nella rete in Figura 8.6(a) la transizione t1 è controllabile, mentre t2 ,t3 .t4 sono non controllabili.

8.3.1 Controllabilità

Definizione 8.10. Dato un sistema (N,M0 ), sia (w.k) una GMEC che si desidera im-porre e Ps il corrispondente posto monitor.

• Il posto monitor Ps è detto ammissibile se per ogni marcatura raggiungibile nel siste-

ma a ciclo chiuso M cc = [ M 7 I /Il (Ps) ] T e per ogni transizione non controlla-bile t E T uc vale

M(t) => /\J (p8 ) > Pre(p ..

cioè se ogni qual volta una transizione non controllabile I è abi litata dalla marcatura M del processo essa è anche abilitata dal monitor.

• Il posto monitor Ps è detto stmtturalmente conrrol/abile o, più brevemente, control-labile e basta) se per ogni transi.lione non coatrollabilc I :: Tue valt.. Prc(p8 ,t) =

Page 393: Sistemi ad Eventi Discreti

Controllo di reti di Petti mediante monitor 387

(a (b)

(e) (d)

Figura 8.6 (a) Rete di Petri a ciclo aperto; (b) rete a ciclo chiuso con il monitor che impone il vincolo 1U(p3) + /IJ(p4) :S l; (e) grafo di raggiungibilità a ciclo aperto per x = 2; (d) grafo di raggiungibilità a ciclo aperto per x = 1.

O, cioè se il posto monitor non ha archi pre che vanno verso una transizione non controllabile.

In maniera analoga, definiremo la GMEC ammissibile o controllabile se tale è il posto monitor che a essa corrisponde. A

che la controllabilità è una cs>J!Qizione un sia un supervisore ammissibile: infatti se per ognil. E Tue vale Pre(p8 ,t) = O il posto mooitor dfsatiHitare la transizione t. Vedremo in seguito, tuttavia, che la controllabilità non è sempre condizione necessaria per r ammissibilità.

Una elementare caratterizzazione dei monitor controllabili è la seguente.

Proposizione 8.11. Dato un sistema ( . .Y .M 0 ), con matrice di incidenza C, sia ( w ,k) una GMEC che si desidera imporre e Ps il corrispondente posto monitor. Sia e tLC è la matrice che si ottiene prendendo da C le colonne relative alle sole transizioni non controllabili. La GMEC e il posto monitor sono controllabili se e solo se

e 6 Te T S,UC = -W UC o I (8.7)

cioè se e solo se la parte della matrice di incidenza del monitor relativa alle sole transizioni non controllabili è non neg ttiva.

Page 394: Sistemi ad Eventi Discreti

,

388 Capitolo 8

Dimostrazione. La matrice di incidenza del posto monitor che indica gli archi pre e post verso le transizione del processo è C = -W T C e dunque la parte della matrice di incidenla del monitor relativa alle sole transizioni non controllabili è C . .,,uc = - w Te uc· In questo vettore riga ogni elemento Cs ,u.c(t) < O indica un arco pre tra il posto p,1 e la transizione non controlJabile t. Dunque condizione necessaria e sufficiente affinche non vi siano archi pre verso transizioni non controllabili è che tutte le componenti di tale vettore siano nulle (indicando l'assenza di archi fra p8 e t) o positive (indicando un eventuale arco post da t a p8 ). O

Esempio 8.12. Si consideri la rete in Figura 8.6(a). Si desidera imporre su tale rete la I'

GMEC iU(p3 ) + 1'1(p4) ::; 1, caratterizzata da w = [ O O l 1 ] e k = 1. La matrice di incidenza del processo e la sottomatrice relativa alle sole transizioni

non controllabili valgono:

f 1 f 2 t3 t .1 f '2 t:i t1

- 1 o 1 o JJ1 o 1 o ]J1

e -= o - 1 o 1 P2 C11r = -1 o 1 P2

1 o -1 o /J3 o - 1 o Pa

o 1 o -1 PI 1 o -1 Pi

e dunque vale

J '2 f :l f 4

Cs,uc = -w1 Cuc = [ - l 1 1 ] . L'elemento es LI (' (I 2) = -J < () indica la di un arco pre tra il m..2!..litor e la transizione non controUabjle l:i...e. òunque I.a.QMEç_filill è CQIJ.tr9llabilc. Il fl}Onitor pi; elle corrisponde a questa GMEC è mostrato in Figura 8.6(h).

Per verilicare che effettivamente questo monitor disabilita t 2 , si supponga che la mar-catura iniziale mostrata in figura assegni due gettoni a p 1, cioè sia .r = 2. ln tal caso. il grafo ùi raggiungibilità del processo a ciclo aperto è quello mostrato in Figura 8.6(c). Le marcature raggiungibili ma non legali, cioè non appartenenti all'insieme C(w .k), sono state indicate su sfondo grigio, mentre l'insieme delle marcature .\11(.Y.Mo.w.k) raggiungibili e legali è costituito dalle restanti marcature su sfondo bianco.

L'effetto del monitor, per quanto dimostrato precedentemente, è quello di impedi-re lo s1..ulto delle transizioni che portano a una marcatura non legale. Dunque a parti-

re dalla marcatura legale M = [ l 1 1 O J /

il monitor disabilita lo scatto della transizione non controllabile f 2 per impedire che venga raggiunta la marcatura M =

[ 1 O 1 1 ] T . il che non è ovviamente ammissibile. · t

È stato fatto osservare che la controllabilità data dalla Definizione 8.1 O è una condi-zione sufficiente affinchè un monitor sia un supervisore amrnbsibile. Tuttavia tale condi-zione non è necessaria e il seguente esempio dimostra che esistere monitor non controllabili e tuttavia ammissibili.

Esempio 8.13. Si con\ideri ancora la rete in Figura 8.6(h cC'n il posto monitor/>, cor-rispondente alla GMEC J/ (p:i) - !W (pi) < l. S1 suppo che la rr trcatura ìni11ale

Page 395: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 389

mostrata in figura assegni un gettone a lJJ, cioè sia :e = 1. Il grafo di raggiungibilità del processo a ciclo aperto è mostrato in Figura 8.6(d), dove l'unica marcatura non legale è indicata su sfondo grigio. L, effetto del monitor è quello di disabilitare lo scatto della

transizione t 1 dalla marcatura legale [ 1 O O 1 Jr per impedire che venga raggiunta

la marcatura non legale [ O O 1 1 ) 1

. Poiché tunavia t 1 è controllabile ciò è am-missibile. +

Si osservi, sulla base dei precedenti due esempi, che per determinare se un posto monitor sia ammissibile è necessruio analizzare lo spazio di raggiungibilità della rete, mentre la verifica della condizione (8.7) che definisce la più forte condizione di controlla-bilità strutturale è elementare. Questo dunque giustifica il fatto che nel resto del capitolo ci si limiterà a considerare solo monitor controllabili, e dunque a fortiori ammissibili.

8.3.2 Marcature controllabili e monitor sub-ottimi

In presenza di transizioni non controllabili è possibile definire i seguenti insiemi di mar-cature.

Definizione 8.14. Sia ( V.M 0 ) una rete marcata con insieme di transi1ioni non control-labili Tue e (w.k) una GMEC che si desidera imporre. L' insieme .. 'vt (1Y.Mo.w.k) delle marcature raggiungibili e legali può essere· partizionato nei due seguenti insiemi.

• L'insieme della marcature incontrollabili è

.Vfuc(N.Mo.'lJ.J.k ) = {ME R(N,Mo) I (3o- E Ti;) M[o-)M' eM' ri .C(w,k)}

cioè è l'insieme di quelle mru·cature che sono legali ma a partire dalle quali è abilitata una sequenza o- di transizioni non controllabili che porta a una marcatura illegale;

• l'insieme della marcature controllabili è

.'vtc(.L\ .Mo.w,k) = ,'vt (X.Mo ,w.k ) \ ,'vtuc( X ,M o.w.k).

è invece dato da tutte le marcature legali restanti.

Tali insiemi sono mostrati in Figura 8. 7.

Esempio 8.15. Si consideri la rete di Petri in Figura 8.8(a) sulla quale si desidera imporre

la GMEC JJ (p3 ) 1. caratterizzata da w - [ O O 1 ) 1

e k = 1. Il posto monitor p,, che corrisponde a tale GMEC. mostrato in Figura 8.8(b). ha

matrice di incidenza

O 1 J [

- 11 o e .o; = - w re = - [ o - 1

o 1 = [ o - 1 1 l

e marcatura iniziale

Jfu p,) = - 111 Mo = 1 ( O O 1 ) [ ] = I - O = 1

Page 396: Sistemi ad Eventi Discreti

390 Capitolo 8

' - .,,,,. - - --

' '

Nm

' '

Figura 8.7 Partizione dell'insieme delle marcature raggiungibili e legali in controllabili e incon-trollabili.

Essendo Tue = { t2 ,t3 }, la sottoparte della matrice di incidenza di Ps relativa alle transi-zioni non controllabili vale

C s,uc = -w1 C uc = [ -1

e, come d'altronde si vede in figura, il monitor non è controllabile perché ha un arco pre verso la transizione t2.

In Figura 8.8(d) è mostrato il grafo di raggiungibilità delle rete a ciclo aperto. La

marcatura [ O O 2 J r indicata su sfondo grigio è la sola marcatura illegale. Le mar-

cature [ O 2 O ] re [ O 1 1 ] T indicate in carattere bianco su sfondo grigio scuro sono legali ma incontrollabili: ad esempio, dal grafo è facile vedere che La prima di que-ste marcature non è controllabile perché lo scatto della sequenza t2t1 porta alla marca-tura illegale. L'insieme delle marcature controllabili /vt e ( Y.M 0 . w .k) è costituito dalle marcature restanti indicate su sfondo bianco nel grafo. +

In presenza di transizioni non controllabili occorre dunque impedire che il processo raggiunga non solo le marcature illegali ma anche quelle legali ma incontrollabili: dunque si desidera che la marcatura del sistema resti sempre ali' interno dell'insieme controllabile Jvt r(N,M 0 .w.k ). Un supervisore che blocca solo gli scatti di transizioni che porterebbe-ro al di fuori dell'insieme di marcature in Jvt r(IV.M 0 .w,k) è massimamente permissivo e cioè ottimo. Il problema che ora ci poniamo è seguente: data una GMEC (w.k) non

controllabile è possibile determinare una GMEC controllab1le (w.k) per cui valga

.lv1(N,M 0.1i1.À:) = /\.·1. r (N.M o.w.A·) e M (iY,M o,w,k)?

Se ciò fosse possibile, infatti. il supervisore ottimo per la G\.1EC non controllabile (w.k) potrebbe ancora essere rappresentato da un semplice posto monitor JJ:;, quello corrispon-dente alla nuova GMEC (w.k).

li seguente esempio dimostra come ciò sia talvolta possibile.

Esempio 8.16. Si consideri ancora la rete di Petri in Figur 1 8.8(a) per la quale si è visto che il monitor Ps in Figura 8.8(h) corrispondl nte alla GMEC originaria (w .k) che defi-nisce il vincolo 1U(p3 ) 1 è non controllabile. Si considc1i la nuova GMEC (iiJ ,À·), con

Page 397: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 391

(a)

200

t:1

(d)

002

Figura 8.8 (a) Una rete di Petri a ciclo aperto; (b) la rete a ciclo chiuso con il monitor non con-trollabile Ps; (e) la rete a ciclo chiuso con il monitor controJlabile Ps; (d) il grafo di raggiungibilità a ciclo aperto.

w = [ O 1 1 ] T e k = l che definisce il vincolo !il (p2 ) + !il (v3 ) < 1. Il posto monitor Ps che corrisponde a questa GMEC ha matrice di incidenza

- T [ C s = -w C = - O

e marcatura iniziale

]

- 1 1 o

o -]

1 -1 o 1 ]

Page 398: Sistemi ad Eventi Discreti

392 Capitolo 8

come mostrato in Figura 8.8(c). Essendo Tue = { l;i.l :d vale

- - T [ Cs.ttc = -w C uc = O 1

e dunque il monitor JÌs è controllabile. La nuova GMEC è più restrittiva di quella originaria: infatti una marcatura legale

per ( w .k) soddisfa

lll(p2) + 1\f (p3) 1 1\l(p3) 1 - J\1(p2) 1

e dunque tale marcatura è anche legale per (w .k). Inoltre è facile osservare che le sole marcature nel grafo in Figura 8.8(d) che sono legali per la nuova GMEC sono esattamente quelle su sfondo bianco e dunque vale appunto:

}vt (N.Mo:w .k) - .\ltc(_V.M o.w .k).

Dunque il monitor Ps che corrisponde alla GMEC controllabile (w.k) è anche il supervisore massimamente permissivo (cioè il monitor ottimo) per la GMEC non control-labile (w.k). +

Nel caso più generale, tuttavia, è stato dimostrato in (Giua er al., 1992) che il super-visore massimamente permissivo per una data GMEC non controllabile può non essere rappresentabile mediante un monitor. Il seguente esempio mostra un caso del genere.

(d)

Figura 8.9 Una rete di Petri a ciclo aperto e con tre <liversi monito1

Esempio 8.17. Si consideri la rete di Petri in Figura 8.9(a) alla quale si desidera imporre la GMEC (w.k) che definisce il vincolo J'1(p1 l + ì!(pJ + :3: f(p.-)) 1, caratterizzata

Page 399: Sistemi ad Eventi Discreti

Controllo di reti di Pelri medianle monilor 393

da w = [1 1 O O 3) e k = 4. In tal caso il posto monitor Ps che corrisponde a questa GMEC ba matrice di incidenza

- 1 o o o -1 o

T C s = -w C = -[1 1 o o 3) 1 o -1 o 1 -1 o o 1

e marcatura iniziale

1Vlo(p8 ) = k - w'l'Mo = 4 - [l 1 O O 3)

1 1 o o

-1

2 2 o o o

= [ 1 1 -3 1 J

= 4-4 =O.

Essendo Tue = { t3 ,t,t}, la sottoparte della matrice di incidenza di p8 relativa alle transi-zioni non controllabili vale

1

e, come d'altronde si vede in Figura 8.9(b), il monitor non è controllabile perché ha un arco pre di molteplicità 3 verso la transizione t3 .

1n Figura 8.1 O è mostrato il grafo di raggiungibilità delle rete a ciclo aperto. Le due marcature su sfondo grigio sono le sole marcature illegali. Le marcature indicate in ca-rattere bianco su sfondo grigio scuro sono legali ma non controllabili. L'insieme delle marcature controllabili Mc(N.M 0 ,w,k) è costituito dalle marcature restanti indicate su

sfondo bianco nel grafo. Si osservi che le due marcature M' = [ 2 O O 2 O J T '1'

e M" = [ O 2 2 O O J sono controllabili, mentre la marcatura M = M' + t M" [ 1 1 1 1 O ]

1 combinazione lineare convessa delle prime due, non è con-

trollabile. Dunque non essendo l'insieme /vf c(N.M0 ,w.k) convesso, la Proposizio-ne 8.3 consente di affermare che non esiste una GMEC multipla (W .k) per cui valga M r(N.M0 .w.k·) = M(.V,M0 .W.k) e dunque il supervisore massimamente permissi-vo per questo problema non può essere rappresentato da uno o più monitor. +

Questo esempio dunque dimostra che la presenza di transizioni non controllabili rende il problema di controllo qualitativamente più difficile: un vincolo espresso da u·na GMEC potrebbe richiede strutture di controllo diverse dal monitor, a differenza di quando accade nel caso in cui tutte le transizioni sono controllabili.

8.3.3 Progetto di monitor sub-ottimi per GMEC non controllabili

In questo paragrafo si una semplice procedura dovuta a Moody e Ant&aklis ( 1998) che comente, data Jna GMEC non controllabile (w.k), di determinare una GMEC

Page 400: Sistemi ad Eventi Discreti

394 Capitolo 8

22000 21010 20020 l4 !4

t, ti r,

10120 11001 12

lOO L L /4

l i li (i ,,

f i 13

1,

01101 ( 3

00002 ,. ,.

' ,. '

__ __,.

(4 f 3 t3 lt

Figura 8.10 Grafo di raggiungibilità della rete in Figura 8.9(a). Le marcature appartenenti all ' in-sieme M c(N,M o,7k) per la GMEC !lf (p1) + llf(p2) + 311/(ps) 4 sono quelJe su sfondo bianco.

controllabile (w.X·) per cui vale

M(N,M o,w,k) ç M c(N,M o,w ,k).

Dunque il monitor Ps che corrisponde alla nuova GMEC è anche un supervisore am-missibile che assicura che solo marcature legali rispetto a ( w ,k) vengano raggiunte dal sistema a ciclo chiuso. Tuttavia il monitor /Js non sarà in genere un supervisore mas-simamente permissivo6 rispetto a (w.k) poiché non è garantito che valga l'eguaglianza M(.Y,M0 .w}) = .1Vf c(N.Mo.w.k·): si parla quindi di monitor sub-ottimo.

La procedura di Moody e Antsaklis si basa sulla seguente parametrizzazione che, data una GMEC (w ,k) consente di determinare una famiglia di GMEC più restrittive.

Proposizione 8.18. Data una GMEC ( w ,k) con w E Z rn e k E Z, si scelgano arbitra-riamente uno scalare intero positivo r E N+ e un vettore di numeri naturali z E Nm . Si consideri la GMEC modificata ( w ,k) con

w = ( rw + z) e k = r ( k + 1) - 1. (8.8)

Vale l(w,k) ç l (w ,k),

cioè tutte le marcature che sono legali rispetto <illa GMEC modificata sono anche legali rispetto alla GMEC originaria.

6D'a1tronde come si è già' isto nel precedente paragrafo un supervisore ia.\simamenle permissivo in alcuni casi potrebbe non essere rappresentabile mediante monnor

Page 401: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 395

Dimostrazione. Se M E l( w ,k) vale necessariamente wT M k che per defini-zione può anche scriversi (rw + z)T M r(k + 1) - 1. Dunque

rw T M :=; r ( k + 1 ) - 1 - z r M r ( k + 1) - 1

essendo zT M O. Dividendo ambo i membri per la costante positiva r

1 WT M < k + 1 - - < k + 1 - r

ed essendo wTM un intero vale ancora w T M k e cioè ME L(w.k). o La precedente proposizione suggerisce dunque di cercare una GMEC controllabile

fra tutte quelle che si ottengono a partire da ( w ,k) mediante la parametrizzazione (8.8). Ciò può farsi con il seguente algoritmo.

Algoritmo 8.19. Progetto di un monitor sub-ottimo. Si consideri una rete X con m posti e n uc transizioni non controllabili e sia C uc la sottoparte della matrice di incidenza della rete relativa alle sole transizioni non controllabili. Sia ( w ,k) una GMEC che si desidera imporre. Il progetto di un monitor sub-ottimo prevede di costruire una tabella A di dimensioni (m + 1) x (nuc + 1n + 1)

C w' I mxm o r

dove inizialmente i vettori lungo l'ultima riga valgono

1 'J' 1 T V := W C uc. Z : = Q , r := 1,

mentre I m x m è la matrice identità rn x n 1. Se ( w ,k) non è controllabile vale v T

w r cuc 'f or. Si procede, allora, sommando all ' ultima riga (eventualmente moltiplicata per uno scalare positivo) una delle righe precedenti (eventualmente moltiplicata per uno scalare positivo) sino a che il vettore v non abbia tutte componenti negative o nulle.

Formalmente l' algoritmo prevede questi pass i.

I. Si costruisce la tabella iniziale

C uc l mxm O vi' zT r

lm X m

1 A ·-.-

Cw· o wTCuc o o

2. Sia :J = {j J v(j) > O} l'insieme degli indici di colonna che corrispondono ad elementi positivi del vettore v. Se :J = 0 il monitor progettato non ha archi pre verso transizioni non controllabili e si va a 6.

3. Essendo .J f:. 0, si sceglie un indice J E :J e si cerca di annullare l'elemento v(J) con la seguente procedura.

(a) Si deternùna L = {i I C1,c(i,J) < O} l'insieme degli indici di riga che cor-rispondono a elementi negativi lungo la colonna] di Cuc· Se I = 0 non è possibile annullare l'elemento v(J) e si va a 5.

(b) Si -,ceglie un im ice T E I e si calcola d := mcm{ - Cu (T.]).l'(J)} il minimo comune multiple due elementi -CucU.J) e v(J).

Page 402: Sistemi ad Eventi Discreti

396 Capitolo 8

(c) Si moltiplica l'ultima riga della tabella per d/v(J) e gli si aggiunge la 't-ma riga moltiplicata per d/Cuc(LJ) ovvero si pone

rJ d A (m + 1.·) :- -(_) A (m + L·) + C (- _ A (J.·).

u J lLC I .J)

Il vettore v ha ora ha elemento J-mo pari a zero per costruzione.

4. Si ritorna a 2.

5. L'algoritmo termina senza restituire alcun risultato.

6. L'algoritmo termina e restituisce l'ultima riga della tabella che sarà della forma

e tale che v < O, mentre per costruzione z E N'n e r E N.

Se l'algoritmo termina al passo 6, si consideri la GMEC trasformata ( w .À· ) definita da w = (rw + z) eh· = r (k + 1) - 1. Per tale GMEC è possibile dimostrare che vale

w Te llC = -v o'' e dunque essa è controllabile. Alla luce della Proposizione 8. 18 il monitor controllabile /li; che corrisponde a ( w .À·) se fisicamente realizzabile è un monitor sub-ottimo (e in alcuni casi potrebbe anche essere ottimo) per la GMEC non controllabile (w.k) . •

È necessario fare alcune osservazioni a proposito del precedente algoritmo. La prima osservazione riguarda la convergenza dell'algoritmo. ln alcuni casi (quan-

do vi sono cicli di transizioni non controllabili) l'algoritmo potrebbe "ciclare" nel senso che, pur avendo già azzerato una prima volta l'elemento u(j) > O, nel corso dell'azzera-mento di altre componenti del vettore v 1 'elemento v (j) ritorna ad assumere un valore po-sitivo. In tal senso, dunque, la procedura sopra descritta non terminerebbe ed è improprio chiamarla algoritmo7

. Benché sia possibile modificare la procedura per far si che venga-no rilevati eventuali ciclaggi e farla comunque terminare anche in caso di insuccesso, per semplicità si è preferito ignorare questo a\petto.

Secondariamente, bisogna essere coscienti del fatto che l'algoritmo non determina sempre una soluzione al problema dato, o perché come già detto non converge, oppu-re perché termina al passo 5 senza restituire una parametrizzazione della forma (8.8), oppure perché, pur terminando al passo 6, il monitor che corrisponde alla GMEC trasfor-mata (w_À- ) non è fisicamente realizzabile. Tre esempi di questo tipo sono discussi negli Esercizi 8.6, 8.7 e 8.8.

Infine si osservi che al passo 3(b) sono in genere possibili diverse scelte della riga da usare per annullare un elemento 1•(j) positivo. A ognuna di queste possibile scelte corrisponde in genere un monitor diverso.

Si presenta ora un semplice esempio di applicazione di questo algoritmo.

Esempio 8.20. Si consideri la rete di Petri in Pigura 8.9(a) alla quale si desidera imporre la GMEC (w.J.· ) con w = [1 1 O O 3] e J. - --!. Come già visto nell'Esempio 8.17

i Per defini1ione un algoritmo deve neccssnnamente temunare in un nur ero finito da

Page 403: Sistemi ad Eventi Discreti

Controllo di reti cli Petri mediante monitor 397

tale GMEC non è controllabile. Essendo Tue = { t3 ,t"}, vale

o 1 o 1

Cuc = -1 o -1 o

1 -1

e per determinare un monitor sub-ottimo si costruisce inizialmente la tabella

A =

ovvero

T V

l mxm O

o 1 o 1

-1 o -1 o

1 -1

3 - 1

1 o .O 1 o o o o o o o o

Cuc I mxm o T

W Cuc o ... o 1

o o o o o o o o 1 o o o o 1 o o o o 1 o o o o 1

Poiché 1' unico elemento positivo del vettore v T = [ 3 -1 J è quello sulla prima colon-na, vale J = { 1} . Poiché sulla prima colonna della tabella vi sono due elementi negativi, sulle righe di indici I= {3.4}, per annullare l'elemento v(l) = 3 >O sono possibili due diverse scelte.

• Se si sceglie f = 3, sommando all'ultima riga la terza riga moltiplicata per 3, si ottiene

I vT I zT I r I I o -1 I o o 3 o o 11 I ed essendo ora J = r/J l 'algoritmo termina con successo. Si consideri dunque la GMEC (w1.ki) con

W l = ( l'W + Z) = 1 [ 1 1 0 0 3 J T + [ 0 ·o 3 Q Q ] T

= [ 1 1 3 0 3 ]T

e

X:1=r(k+1) - 1=k=4.

Per tale GMEC vale

- 1' c.'IJ,IL(' = -'l.V1 C uc = -[ 1 1 :3 o 3]

o o

-1 -1

1

1 1 O = [ o 1 ] = - vT > or o 1

Page 404: Sistemi ad Eventi Discreti

398 Capicolo 8

e dunque essa è controllabile. 1l corrispondente posto monitor p81 ha matrice di incidenza

-1 o

è sl = -wf e = -[1 1 3 o 3] 1 o o

= [ - 2 1 o 1 ]

e marcatura iniziale

4'IoU>.'1i) = k - wf M o= 4- [1 1 3 O 3)

o - 1 o 1 o

2 2 o o o

o 1 o ]

-1 o -1 o

1 -1

= 4- 4 =O.

La rete a ciclo chiuso che si ottiene usando questo monitor è mostrata in Figu-ra 8.9(c). In Figura 8.11 è mostrato il grafo di raggiungibilità della rete a ciclo ape_rto in cui sono indicate su sfondo bianco le marcature appartenenti a ;\lf (N.M 0 ,w 1 J·1)

che sono le sole raggiungibili nel sistema a ciclo chiuso. Confrontando tale grafo con quello in Figura 8.10, dove le marcature su sfondo bianco costituiscono l'in-sieme c( X.M 0 ,w.k), si conclude che (.Y.M 0 :ù.J 1 .ki) e c(.Y.M 0 .w.k) e cioè tale monitor è effettivamente sub-ottimo.

22000 21010 20020 l4 L4

t i li l i

h 10120 11001 10011

........ 14 .... ....

li l i l I t ,

t I t ,

11

02200 01210 t ,

00002

.... .... __ _.. ... ... ...

(4 ( 3 /4

Figura 8.11 Grafo di raggiungibilità della rete in Figura 8.9(a). Le marcature appartenenti all ' in-sieme .vt (N, M 0 , ii1 1 .K· i), che sono le sole raggiungibili quando la rete è controllata dal monitor 13., 1 mostrato in Figura 8.9(c). sono indicate su sfondo bianco.

Page 405: Sistemi ad Eventi Discreti

Controllo cli reti cli Petri mediante monitor 399

• Se si sceglie if = 4, sommando all' ultima riga la quarta riga moltiplicata per 3, si ottiene

I o -1 I o o o 3 o 11 I ed essendo ora I = 0 l' algoritmo termina con successo. Si consideri dunque la GMEC (w2,k2) con

W 2 = ( rw + z) = 1 [ 1 1 o o 3 ] T + [ o o o 3 o ] T

= [ 1 1 0 3 3 ]T e

k2 = r(k + 1) - 1 = k = 4.

Per tale GMEC vale

e s2.uc = -wI e uc = - r i i o 3 3 J

o o

- 1 -1

1 1 o o

1 -1

e dunque essa è controllabile. Il corrispondente posto monitor p8 2 ha matrice di incidenza

-1 o

C s2 = -wf c = -[1 l o 3 3) 1 o o

= [ 1 -2 o 1 J

e marcatura iniziale

1\1 o(Ps2) = k - wi M o = 4 - [l 1 O 3 3]

o -1

o 1 o

2 2

o 1 o 1

- 1 o -1 o

1 -1

o = 4-4 =o. o o

La rete a ciclo chiuso che si ottiene usando questo monitor è mostrata in Figu-ra 8.9(d). In Figura 8. 12 è mostrato il grafo di raggiungibilità della rete a ciclo aperto in cui sono indicate su sfondo bianco le marcature appartenenti a M ( N ,Mo, iil2 ,k2) che sono le sole raggiungibili nel sistema a ciclo chiuso. Confrontando tale grafo con quello in Figura 8.10, si conclude che lvt(N,Mo.'Ù.J:?.,k2) e M c(N,M o,w ,k) e dunque anche questo secondo monitor è effettivamente sub-ottimo. t

8.4 Reti con transizioni non osservabili

È anche possibile estendere iJ precedente approccio aJ caso in cui si suppone che alcune transizioni siano non osservabili, cioè tali per cui il loro scatto non possa venir rilevato dal controllore.

Page 406: Sistemi ad Eventi Discreti

400 Capitolo 8

22000 21010 20020 t.i

J 1001 1001 l l.t

t I r, 1, h

t I f3

1,

!1 00002

__ _,, ,.. ,, ,,

{4 l3 (3 t4

Figura 8.12 Grafo di raggiungibilità della rete in Figura 8.9(a). Le marcature appartenenti all' in-sieme ivt (N,M o,w 2,k2) che sono le sole raggiungibili quando la rete è controllata dal monitor p8 2 mostrato in Figura 8.9(d) sono quelle su sfondo bianco.

Per chiarire concretamente che significato fisico sia possibile associare alla nozione di transizioni controllabili e osservabili, si consideri il seguente esempio.

Esempio 8.21. In una rete di Petri che modella un sistema ferroviario, lo scatto della transizione t rappresenta l' ingresso di un treno in una particolare tratta del binario.

• Se all'inizio della tratta vi è un semaforo tale transizione è controllabile: infatti il supervisore può impedire il passaggio del treno (ossia disabilitare lo scatto di t) mettendo il semaforo nello stato di alt.

• Se all'inizio della tratta vi è un pedale conta-assi, che rileva il passaggio del treno (ossia lo scatto di t), tale transizione è osservabile.

A seconda dei dispositivi presenti all' inizio della tratta si potrà quindi classificare la gene-rica transizione come: coni ml/abile e osservabile, oppure no11 controllabile e osservabile, oppure controllabile e non osservabile, o infine non controllabile e non osservabile. +

In generale dunque a fianco della partizione delle transizioni di una rete in control-labili (e) e non controllabili (uc)

è anche possibile introdurre una partizione ortogonale in transizioni osservabili (a) e non osservabili (uo)

T = T0 U Tv.o

e infine, tenendo conto di entrambe le proprietà. vale anche la partizione

T = T, o U T ue.o U Tc.uo U T 11r .1• , .

Page 407: Sistemi ad Eventi Discreti

Comrollo di reti di Petri mediante monitor 401

8.4.1 Osservabilità

Quando si usa un posto monitor Ps come controllore, lo scatto di una transizione t viene rilevato se e solo se esso modifica la marcatura del posto p,<;, ovvero se C(ps .l ) i= O. Poiché lo scatto di una transizione non osservabile non può venir rilevato, ciò motiva la seguente definizione.

Definizione 8.22. Dato un sistema (N.M0 ), sia (w ,k) una GMEC che si desidera im-porre. Il corrispondente posto monitor Ps è detto strutturalmente osservabile (o, più brevemente, osservabile e basta) se per ogni transizione non osservabile t E Tuo vale C.'ì(t) = -wrC(·,t) =O. In maniera analoga, si definisce la GMEC osservabile se tale è il posto monitor che a essa corrisponde. À

Dalla definizione consegue che se e IJO è la matric4he si ottiene prendendo da e le colonne relative alle sole transizioni non osservabili , la GMEC e il posto monitor sono osservabili se e solo se

e 6 T C T S. CLO = - W UO = o l (8.9)

cioè se e solo se la parte della matrice di incidenza del monitor relativa alle sole transizioni non controllabili è nulla.

Poiché un monitor Ps non ha cappi, se C(p5 .t) = O non possono esistere archi pre e post tra il monitor e la transizione t. Dunque a tutti gli effetti una transizione non osservabile è anche non controllabile8. Nel controllo mediante monitor ha allora senso partizionare più semplicemente l'insieme delle transizioni di una rete di Petri nel modo seguente

dove Te denota l ' insieme delle transizioni controllabili e osservabili, Tue denota l'insie-me delle transizioni non controllabili ma osservabili, e infine Tuo denota l ' insieme delle transizioni non osservabili (e dunque neanche controllabili).

Graficamente Je transizioni in Te e in Tue vengono rispettivamente rappresentate da barre e rettangoli bianchi, come già visto nel paragrafo precedente, mentre le transizioni in Tue vengono rappresentate da rettangoli neri.

Esempio 8.23. Si consideri la rete in Figura 8. l 3(a) sulla quale si vuole imporre la GMEC T

11! (p4 ) < 3, caratterizzata da w = [ O O O 1 O ] e k = 3. Per tale rete le transi-zioni controllabili e osservabili sono Te = { t2 .t3 }, quelle non controllabili ma osservabili sonoT11r = {t 1.tu},e infine quellenon osservabiljT110 = {t 1.t5}.

8Ciò non sarebbe vero per struuurc di contrnllo diverse dal posto monitor. Infatù se fosse lecita la presenza di cappi tra un transi1.ione t e un posto P.: del controllore, sarebbe possibile distinguere ulteriormente le transizioni non osservabili. Per una transizione ,' E Tc.uo controllabile ma T1011 ossen'abile <leve valere ('(p,. .t) = O. e dunque Pre(pc.f I = Post(Pc ,t) affìnché lo scatto della transizione non venga rilevato dal posto <li controllo: è lecito, tuuavia. che valga Pre(p .f , > O e dunque potrebbero essef\.i dei cappi lra p, e I. Per una transizione t E T 11 c.uo non u mtrollabile e rw11 o:servabile de\ e \alere C(pr.t) =O e Prc(Pr .t) =O, e quindi vale anche l'ost(p,.,l) =O Junque non puo esservi alcun arrn tra Pc: et.

Page 408: Sistemi ad Eventi Discreti

402 Capitolo 8

La matrice di incidenza del processo vale:

t1 t2 t3 t4 t5 t5

-1 -1 o 1 o ]

1 o -1 o o o C= o 1 o -2 o o

o o 1 1 -1 o o o o o 1 -1

mentre la sottomatrice C uc relativa alle sole transizioni non controllabili ma osservabili e la sottomatrice C uo relativa alle sole transizioni non osservabili,

t4 t5 ti ts

1 1 -1 o o o 1 o

Cuc = -2 o C uo = o o 1 o o -1 o -1 o 1

Vale

e l'elemento Cs,uc(t,t) = - 1 < O indica la presenza di un arco pre tra il monitor e la transizione non controllabile t4 : dunque la GMEC è controllabile. Vale ancora

e l'elemento Cs.uoCts) = 1 :f. O indica la presenza di un arco (in questo caso un arco post) tra il monitor e la transizione non osservabile t 5 : dunque la GMEC non è osservabile.

Il posto monitor Ps non controllabile e non osservabile che corrisponde a tale GMEC ha matrice d'incidenza

C s = - w 'l'C = [ O O -1 -1 1 O ]

e marcatura iniziale

ed è mostrato in Figura 8.13(b)

8 o o = 3- o= 3. o o

Page 409: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 403

PI

(a) (b) (e)

Figura 8.13 (a) Una rete di Petri a ciclo aperto; (b) la rete a ciclo chiuso con il monitor non controllabile e non osservabile Ps: (e) la rete a ciclo chiuso con il monitor controllabile e osservabile

8.4.2 Progetto di monitor sub-ottimi per GMEC non controllabili e non osservabili

Data una GMEC (w.k) non controlJabile o non osservabile, mediante una procedura si-mile a quella dell' Algoritmo 8.19 è possibile determinare una GMEC più restrittiva (w ,k) ma controllabile e osservabile che soddisfa la parametrizzazione (8.8). A tale GMEC cor-risponde dunque un monitor che in generale sarà sub-ottimo ma che è in grado di imporre la GMEC originaria.

L' algoritmo modificato prevede di costruire una tabella iniziale

A ·-.- 1 T V U

C uc Cuo e UC' C uo lmxm O l rnxm _.lQj o o 11 I w T C uc w TCuo

e di procedere sommando all' ultima riga (eventualmente moltiplicata per uno scalare po-sitivo) una delle righe precedenti (eventualmente moltiplicata per uno scalare positivo) sino a che il vettore v non abbia tutte componenti negative o nulle e il vettore u non abbia tutte componenti nulle.

Se l'algoritmo termin .. con successo, vale dunque v < O e u = O, mentre per costruzione z E e r E l Si consideri dunque la GMEC trasformata (w.i.·) con w = (rw +z) e X· - r(k+ 1)- . Per tale G1'1EC è possibile dimostrare che vale - tb T Cuc = - v O 1 e -1v 7 C uo = - .L = Or: dunque essa è controllabile e osservabile.

Page 410: Sistemi ad Eventi Discreti

404 Capitolo 8

Alla luce della Proposizione 8.18 il monitor controllabile e osservabile i>s che cor-risponde a (w.l..·) se fi sicamente realizzabile è un monitor sub-ottimo (e in alcuni casi po trebbe anche essere ottimo) per la G M EC n o n controllabile o non osservabile ( w ,k) poiché M(N,M o:w.k) e .4vf(i\".M 0 ,w .k).

Si presenta ora un semplice esempio di a pplicazione di questo algoritmo.

Esempio 8.24. Si consideri ancora la rete di Petri in Figura 8.13(a) alla quale si de-sidera imporre la GMEC (w,k) che de fini sce il vincolo AI(p4 ) ::;; 3, che come visto ne ll 'Esempio 8.23 è non controllabile e non o sservabile.

Per determinare un monitor sub-ottimo s i c ostruisce inizialmente la tabella

A ·-.-

ovvero

T V

1 o

-2 1 o 1

1 -1 o o 1 o o o o o o - 1

-1 o 1 o o - 1

<Due e uo l mxm T T

'W Cuc W Cuo o o

1 o o o o o o 1 o o o o o o 1 o o o () o o 1 o o o o o o l o o o o o o 1

o 1

Al primo passo si sceglie9 di annulla re 1 ·elemento v(l) = 1 > O. Per far ciò si mo ltiplica l' ultima riga della tabella per 2 e si somma la terza riga. L'ultima riga della tabella diventa

I v 1 I u r I zT I r I = I O O I O - 2 I O O l O O I 2 I . AJ secondo passo si annulla l'elemento n (2) = - 2 f. O. Per far ciò si somma

all ' ultima riga della tabeUa la quinta riga moltiplicata per 2. Si ottiene

I vi' I u T I zT I r I = I O -2 I O O I O O 1 O 2 I 2 I . ed essendo ora v1'::; or eur = or l' a lgoriln10 termina cun :,.,uccesso.

Si consideri dunque la GMEC ( w. K'.) con

w = ( rw + z) = 2 [ O O O 1 O ] 1' + [ O O 1 O 2 ] T

= [ 0 0 1 2 2 ]T e

Ìì = 2( k + 1 ) - 1 = 7.

Per tale GMEC vale

e s.uc = -w1 e u c = [ o 2 ] = _ ,;r > or Cs,uo =-wTCuo = [O O) =-11,

1 = OT

e dunque essa è controllabile e osservabile. Il corrispondente posto monitor JJs ha matrice di incidenza

- -T [ c b =-w e = o - 1 - 2 o o 2 ]

<i La sct!lta di annullare per primo l'elemento 11 (2) sarei be stata ugualn 'nt'! lecita.

Page 411: Sistemi ad Eventi Discreti

e marcatura iniziale

Controllo di reti di Petri mediante monitor 405

8 o o o o o

- o ..... = {- = {.

La rete a ciclo chiuso che si octiene aggiungendo questo monitor è mostrata in Figu-ra 8. 13(c).. ' •

Esercizi

Esercizio 8.1. Questo esercizio vuole dimostrare che anche se il monitor corrispondente a una GMEC è massimamente permissivo in assenza di transizioni incontrollabili, non sempre tutte la marcature legali sono raggiungibili nella rete a ciclo chiuso. Si consideri ad esempio la rete in Figura 8. 14, sulla quale si vuole imporre la GMEC fi l (p'l.) 1.

(a) Si determini il grafo di raggiungibilità della rete a ciclo aperto e si indichino quali marcature appartengono ali' insieme .. \lf ( N ,M 0 • w. k ).

(b) Si progetti il monitor corrispondente alla GMEC data.

(c) Si costruisca la rete a ciclo chiuso e si calcoli il suo grafo di raggiungibil ità. Si veri-fichi che non tutte le marcature in M (N ,M 0 ,w ,k) sono effettivamente raggiungibili

(si tenga conto ad esempio della marcatura [ O O 2 ] T ). Si spieghi a parole perché ciò si verifica.

PI

t_.

Figura 8.14 Rete di Petri dell'Esercizio 8.1.

Esercizio 8.2. Due GMEC (w 1 ,ki) e ( w 2 .k2 ) sono dette equivalenti rispetto alla rete marcata (S.l\ f 0 ) se M (. ,l\10 .w 1 .k1 = }vf (.V.M o.w 2.k2). Si consideri ad esempio

Page 412: Sistemi ad Eventi Discreti

406 Capitolo 8

la rete in Figura 8 .15 e le tre GMEC definite da

W1=[l 3 3 O]T W2 = [ 0 1 1 0 ] T

W 3 = [ 0 3 3 0 ]T

ki = 5,

k2 - 1, /,;3 = 5.

Costruire per ogni GMEC il monitor corrispondente e verificare dall'analisi del grafo di raggiungibilità delle tre diverse reti a ciclo chiuso l'equivalenza delle tre GMEC.

PI t2 /13 t3 ,, ,O ,,

>I I

Figura 8.15 Rete di Petri dell'Esercizio 8.2.

Esercizio 8.3. Si consideri la rete in Figura 8.16 con insieme di transizioni incontrollabili Tue= {t3 ,t4 ,t5 } sulla quale si vuole imporre la specifica che la somma delle marche nel posto p4 e p5 non superi mai le due unità.

(a) Si rappresenti questa specifica mediante una GMEC ( w ,k) e si verifichi che essa non è controllabile.

(b) Si determinino l'insieme M(N,M 0 ,w ,k) delle marcature raggiungibili legali e il sottoinsieme J\/f.c(N,M 0 ,w ,k) delle marcature controllabili.

(e) Si determini la struttura di una GMEC controllabile (w.k) il cui insieme di marcature legali è contenuto in },1fc(N.M 0 .w,k) e il monitor corrispondente.

(d) Si verifichi se iJ monitor determinato al punto precedente è ottimo o sub-ottimo.

Figura 8.16 Rete di Petn dell'Esercizio 8.3.

Page 413: Sistemi ad Eventi Discreti

Controllo di reti di Petri mediante monitor 407

Esercizio 8.4. Si la rete in Figura 8.6(a) e si assuma lv! 0 (p1) = x = 3. Si vuole imporre la GMEC M (p3) + M (p4) :S 2.

(a) Si verifichi che tale GMEC non è ne ammissibile ne controllabile.

(b) Si determini mediante l'Algoritmo 8.19 un monitor controllabile che permetta di imporre tale GMEC.

( c) Si discuta se il monitor determinato al punto precedente sia massimamente permissivo oppure sub-ottimo.

(d) sÌdetermini se la rete a ciclo chiuso è viva e reversibile.

Esercizio 8.5. Si ripeta il precedente esercizio nell' ipotesi che valga ancora lv! o (p1 ) = x = 3 ma che la marcatura iniziale del posto p2 sia lv! o (p2) = 2. Quali transizioni sono morte nella rete a ciclo chiuso?

Esercizio 8.6. Questo esercizio vuole presentare un caso in cui l'Algoritmo 8. 19 per la determinazione di un monitor sub-ottimo cicla. Si consideri la rete in Figura 8.17 con insieme di transizioni non controllabili T ue = { t 1 ,t2 ,t3 } sulla quale si vuole impor-re la GMEC NI (p3 ) :S 1. Verificare che tale GMEC non è controllabile. Si applichi l ' Algoritmo 8 .19 per 5-6 passi. Perché la procedura non converge?

p3

Figura 8.17 Rete di Petri dell'Esercizio 8.6.

Esercizio 8.7. Questo esercizio vuole presentare un caso in cui l'Algoritmo 8.19 termina al passo 5 senza produrre alcuna soluzione. Si consideri la rete in Figura 8 .18 con insieme di transizioni non controllabili Tue = { t 1 ,t3 ,t4 ,t5 } sulla quale si vuole imporre la GMEC 21vl (p2 ) + A1(p3 ) < 5. Si applichi l' Algoritmo 8.19 e si verifichi che termina senza produrre alcuna parametrizzazione.

Esercizio 8.8. Questo esercizio vuole presentare un caso in cui l'Algoritmo 8.19 per la determinazione di un monitor sub-ottimo termina al passo 6 ma il monitor progettato non è fisicamente realizzabile. Si consideri al rete in Figura 8.6(a) e si assuma che valga lvf0 (pi) = ;i; = 2 e A10 (p'2) = 2. Data la GMEC A1(p3) + M(p4 ) :S 2, si determini mediante l 'Algoritmo 8.19 una GMEC più restrittiva ( w ,k) ma controllabile. Si verifichi che la marcatura iniziale del processo non soddisfa la nuova GMEC e che dunque che il corrispondente monitor non è fisicamente realizzabile alla luce della Proposizione 8.8.

Page 414: Sistemi ad Eventi Discreti

408 Capilolo 8

Figura 8.18 Rete di Petri dell'Esercizio 8.7.

Bibliografia

• Cassandras, C.G., S. Lafortunc, lntroduction to discrete evenr systems, K.luwer Aca-demic Publishers, 1999.

• Giua, A., F. DiCesare, M. Silva, ''Generalized mutuai exclusion constraints on nets with uncontrollable transitions", Proc. 1992 IEEE lnt. Conf on Systems, Man, and Cybernetics (Chigago, USA), pp. 974-979, October 1992.

• Holloway, L.E. , B.H . .Krogh, A. Giua, "A survcy of Petri net methods for controlled discrete event systems", Discrete Event Dynamic Systems, Voi. 7, pp. 151-190, 1997.

• Moody, J.O., K. Yamalidou, M.D. Lemmon and P.J. Antsaklis, "Feedback control of Petri ncts bascd on place invariants'', Automatica, voi. 32, no. l, pp. 15-28, January 1996.

• Moody, J.O. , P.J. Antsaklis, Supervisory contro/ of discrete event systems using Petri ners, Kluwer Acadcrnic Publishers, 1998.

• Stremersch, G., Supervision of Petri nets, Kluwer Acadernic Publishers, 2001.

Page 415: Sistemi ad Eventi Discreti

A Elementi di teoria degli insiemi e algebra

Le fondamenta matematiche su cui si basa la teoria dei sistemi ad avanzamento tempo-rale sono rappresentate dall 'analisi funzionale. Lo studio dei sistemi ad eventi discreti, viceversa, richiede maggiore dimestichezza con la teoria degli insiemi che, a differenza dcli' analisi, non riceve spesso sufficiente attenzione ali ' interno dei corsi di base di in-gegneria. Si sono voluti richiamare in questa appendice gli elementi fondamentali della teoria degli insiemi che si ritengono propedeutici alla comprensione del materiale presen-tato in questo testo. La lettura di questa appendice sarà tuttavia anche utile a chi avesse già dimestichezza con tali elementi, perché consente con poca fatica di impadronirsi della notazione usata in questo testo. I testi di riferimento su questa parte sono il libro sui lin-guaggi formali di di Lewis ( 1981) e il libro di Lipschutz ( 1980), dedicato al la teoria degli insiemi.

A.1 Insiemi

La nozione di insieme è piuttosto intuitiva e in questo paragrafo per ragioni di chiarezza si preferisce, per quanto possibile, mantenere il discorso a livello informale, rinunciando a una trattazione assiomatica.

Definizione A.1. Un insieme è un raggruppamento di elementi. Per indicare che l'ele-mento a appartiene all'insieme A. si scrive a E A. Per indicare che un elemento a non appartiene ali' insieme A si scrive a A. À

Si suole usare una lettera mamscola per rappresentare un insieme e una lettera minuscola per rappresentare un suo elemento.

Si consideri ora qualche esempio di insieme. S = { • ·<:::.:»O •• } è linsieme dei semi delle carte francesi. E = { a,b, ... . .IJ .z} è l' insieme delle lettere dell'alfabeto romano. N = {0,1,2, ... } è l'insieme dci numeri naturali. Z = {O,± 1. ± 2, ... } è l'insieme dei numeri interi. L'insieme dei numeri reali e quello dei numeri complessi si denotano, rispettivamente, e e Definizione A.2. La cardinolità di un in'iiemc . \ indica il numero di elementi che esso contiene e si denota l.41. l n insieme A è detto fini to se IAI E e infinito in caso co ttr,1rio. L'inseme di card 1alità zero è detto insieme vuoto e si denota 0. À

Page 416: Sistemi ad Eventi Discreti

410 Appendice A

Un insieme di cardinalità unitaria, come ad esempio A= {a}, è detto insieme singolo; si noti che l'elemento a è un oggetto diverso dall'insieme {a}.

Un insieme è detto discreto (o contabUe) se esiste una procedura che consente di elencare urùinalamente i suoi demtmli uo ,u1 ,u2 , ... in successioue. Tutti gli insiemi finiti sono discreti, come l'insieme S di cardinalità 4 e l'insieme E di cardinalità 26 preceden-temente descritti. Tuttavia possono esistere anche insiemi discreti di cardinalità infinita come l 'insieme dei numeri naturali N, i cui elementi possono essere elencati ordinatamen-te ponendo a0 := O e definendo ai+1 := ai+ 1 per i O. Anche l'insieme dei numeri interi Z è discreto, potendosi elencare ordinatamente i sui elementi ponendo a0 := O, ai := -1, e definendo a2i := a2i-2 + 1 e a2i+1 := a2i-J - 1 per i 1. Un insieme discreto non finito è detto numerabile 1•

Un insieme è detto non discreto (o non contabile) se è infinito ma non numerabi-le. L'insieme dei numeri reali JR e l'insieme dei reali compresi nell'intervallo [0,1] sono esempi di insiemi non discreti.

Un insieme finito può essere descritto, come già visto, indicando tutti i suoi elementi. Si noti che la ripetizione di uno stesso elemento o l'ordine in cui gli elementi sono elen-cati non è significativa. Ad esempio i tre insiemi { a,b}, { a,b,a} e { b,a} sono lo stesso oggetto. Un insieme può anche essere descritto indicando le proprietà di cui godono i suoi elementi oppure può essere definito in termini di altri insiemi precedentemente definiti. Ad esempio, l'insieme dei numeri naturali pari può essere descritto come

P := {n E N I n è divisibile per 2}.

Tale notazione è particolarmente utile per definire gli insiemi infiniti, i cui elementi non possono essere indicati esaustivamente.

Si noti, ancora, che un insieme può anche avere come elementi degli altri insiemi2.

Ad esempio, può definirsi l 'insieme degli "insiemi di numeri naturali la somma dei cui elementi è pari a sei", cioè 56 := { {0,6} ,{ l ,5},{2,4},{1,2,3} }.

Definizione A.3. Un insieme A è detto sottoinsieme dell 'insieme B (si dice anche che A è incluso in B) se ogni elemento di A è anche un elemento di B; in tal caso si scrive A ç B. Si usa anche la notazione A = B per indicare che i due insiemi A e B sono uguali e cioè che vale A ç B e B ç A, mentre se due insiemi A' e B' non sono uguali si scrive A' =fa B'. Infine, l'insieme A è detto sottoinsieme proprio dell'insieme B se A ç B, ma A =fa B; per indicare questa proprietà, più forte della semplice inclusione, si scrive A C B. A

Si noti che l'insieme vuoto 0 è un sottoinsieme di ogni altro insieme. Inoltre, ogni insieme è anche un sottoinsieme di se stesso.

Ad esempio, l'insieme P precedentemente descritto è un sottoinsieme proprio di N, il quale a sua volta è un sottoinsieme proprio di Z , il quale è a sua volta un sottoinsieme proprio di JR.

È possibile combinare due o più insierrti tramite operatori per ottenere altri insie-rrti. Rimandando al prossimo paragrafo per una definizione formale di operatore, qui si ricordano tre operatori fondamentali.

1 Più precisamente, un insieme è numerabile se esiste una biiezione (vedi paragrafo seguente) tra tale insieme e l'insieme N.

2 La possibilità di definire insiemi di insiemi è stata usata da Bertrand Russe! per formulare un elegante paradosso. Si consideri /'insieme R degli insiemi che non contengono se \lessi: tale insieme è im elemento di se stesso?

Page 417: Sistemi ad Eventi Discreti

Elementi di teoria degli insiemi e algebra 411

L'unione di due insiemi A e B è l' insieme degli elementi che appartengono o ad A o a B, cioè A U B := { x I x E A V x E B}, dove il simbolo V indica l ' OR logico. Può anche definirsi l'unione di più insiemi A1 , ... ,An come

n.

LJ Ai:= {x Ix E Ai per qualche i E {l , ... ,n}}. i=l

L'intersezione di due insiemi A e B è ttinsieme degli elementi che appartengono sia ad A che a B, cioè A n B := {x I x E A/\ x E B}, dove il simbolo/\ indica l' AND logico. Si noti che spesso I' ANO logico viene semplicemente indicato con un virgola, scrivendo A n n := {x I X E A, X E B}. Due insiemi sono detti disgiunti se la loro intersezione è vuota. Può anche definirsi l'intersezione di più insiemi A 1 , .•. ,An come

n n Ai:= {x I X E Ai per ogni i E {1, ... ,n}}. i=l

Infine la differenza di due insiemi A e B è l'i.usieme che contiene tutti gli elementi di A che non appartengono a B, cioè

.4 \ B := {x Ix E A, x fj B},

Ad esempio, se A = {0,1,2} e B = {1,2,3}, vale A U B = {0,1 ,2,3}, A n B = {1,2} e A\ B ={O}.

Definizione A.4. L'insieme di potenza di un insieme A ha come elementi tutti i sottoin-siemi di A e si denota 2A. &

Ad esempio i sottoinsiemi di A = { a,b}, sono l ' insieme vuoto 0, i due insiemi singoli {a }e{b} e infine l'insieme A stesso, dunque 2A = {0,{ a },{b },{ a,b} }. È facile dimostra-re che se un insieme finito A ha cardinalità n, il suo insieme di potenza ha cardinalità 2n e ciò spiega la notazione 2A.

Definizione A.S. Dato un insieme A sia il : = {A 1 , ... ,Ak} ç 2A un insieme di sottoin-siemi di A. II è detto una partizione di A se vale: per ogni i, A1 =I 0 (tutti i sottoinsiemi sono non vuoti); per ogni i 'I j, Ai n A i = 0 (i sottoinsiemi sono fra loro disgiunti);

A = I A i (per ogni elemento di A esiste un sottoinsieme Ai che lo contiene). A

Ad esempio, dato l'insieme A = {0,1,2,3}, l 'insieme il = { {0},{1,3} ,{2}} è una sua possibile partizione. L'insieme dei numeri naturali positivi N+ = {n E N I n > 1} e l'insieme singolo {O} costituiscono una partizione di N. L' insieme dei numeri reali negativi 1IL = {:i; E I x < O}, l'insieme singolo {O} e l ' insieme dei numeri reali positivi lI4 = { x E JR I x > O} costituiscono una partizione di Ilt

A.2 Relazioni e funzioni

Una relazione, nel linguaggio comune, indica un legame che accomuna due o più oggetti. Tale concetto può venir formalizzato in termini matematici e si vedrà, in particoJare, come una relazione sia una generalizzazione del concetto di funzione.

Per prima cosa, viene definita una coppia ordinata formata dagli elementi a e b come la sequenza (a,b). si può anche definire una tripla ordinata come

Page 418: Sistemi ad Eventi Discreti

412 Appendice A

una sequenza di tre elementi e più in generale una n-upla ordinata (si legga "ennupla") come una sequenza di n elementi ( a 1 ,a2 , ... ,an) . In una n-upla, a differenza di quanto visto nella definizione di insieme, possono esistere elementi ripetuti e J 'ordine in cui gli oggetti vengono elencati è significativo. Ad esempio la tripla ( a,a,b) e la coppia ( a,b) sono oggetti diversi. Ancora, la coppia (a,b) e la coppia (b,a) sono oggetti diversi se a è diverso da b.

Definizione A.6. Il prodotto cartesiano di due insienù A e B:

A x B := {(a,b) I a E A, b E B},

è I ' insieme della coppie il cui primo elemento appartiene ad A e il cui secondo elemento appartiene a B. A

La definizione di prodotto cartesiano può naluralmente venir estesa al prodotto cartesiano di n insienù

A1 x A2 x ... x An := {(a1,a2, ... ,an) I ai E Aiperognii E {l , ... ,n}}.

che nel caso particolare in cui Ai = A per ogni i si denota An Ad esempio, il prodotto cartesiano degli insienù A = {1,2,3} e B = {O,• } vale

A. X n = {(1,\/),(2,\/),(3,\/) ,(1,. ),(2,. ),(3,. )}. Ancora, N3 è l'insieme di tutte le triple ordinate di numeri naturali.

Definizione A.7. Una relazione binaria tra l ' insieme A e l'insjeme B è un sottoinsieme R ç A x fl. Per indicare che la coppia ( a,b) appartiene a R si scrive aRb o anche R(a,b). Viceversa, per indicare che (a,b) ti R, si scrive •a'Rb. A

Si può anche considerare una relazione n-aria tra n insiemi A 1 , ••. ,An come un sottoin-sieme R ç -41 x · · · x An.

Ad esempio, se A è l'insieme degli individui di sesso femnùnile e B è l'insieme di tutti gli individui di sesso maschile, è possibile definire la relazione binaria essere moglie di come

M := {(n.,h) E A X n In. è moglie di b},

e dunque varrà Cio-Cio-San M Pinkerton. Ancora, se A = B = JR, è possibile definire la relazione binaria minore o uguale sui numeri reali come

{(x,y) E IR2 I x è minore o uguale a y },

e dunque varrà 3 7r o 1. 4 < J2. Definizione A.8. Data una relazione binaria R tra l ' insieme A. e l'insieme B, si definisce relazione inversa di R una nuova relazione tra l'insieme B e linsieme A. definita come n- 1 := {(b ,a) E B X A I (a,b) E 'R}. A

Ad esempio, la relazione inversa della relazione j\lt precedentemente defuùta vale

1\lt - 1 = {(b,a) E B x . l I b è marito di a},

mentre la relazione inversa della relazione < precedentemente definita è l'usuale relazione 2:: tra numeri reali, cioè

= { (x,y) E JR2 I maggioreo ugualeay}.

Page 419: Sistemi ad Eventi Discreti

Elementi cli teoria degli insiemi e algebra 413

Definizione A.9. Data una relazione binaria n tra l'insieme A e l'insieme D, si definisce relazione complementare di n una nuova relazione tra l' insieme A e l'insieme B definita come -,'fl := { (a,b) E A x B I (a,b) t/. 'R }, cioè composta da tutte le coppie (a,b) che non a n. • Ad esempio, la relazione complementare della relazione M precedentemente definita vale

•.Vf = {(a.b) E A x BI a non è moglie di b},

mentre la relazione complementare della precedentemente definita è l'usuale relazione > tra numeri reali, cioè

• { (J:.y) E lR2 I ;tè maggiore di y}.

È possibile considerare una relazione come una applicazione che associa a un ele-mento a E .1 un insieme {b E B I (a,b) E R} ç B. Ciò permette di definire un caso particolare di relazione, detto funzione.

Definizione A.10. Una/unzione f : A -+ B dall ' insieme . 1 all'insieme B è una relazione R ç A x B che associa a ogni elemento a E A uno e uno solo elemento f (a) E B detto immagine di o, cioè per ogni a E A l'insieme f (a) := { b E B I (a.b) E 'R} è un insieme singolo. L'insieme A è detto dominio di f, mentre l'insieme B è detto codominio. &

Ad esempio, sia C l'insieme dei comuni italiani e R l'insieme delle regioni italiane. La relazione

1l1 = {(c.r) E e X R I ("è un comune della regione r}

è una funzione f 1 : C -+ R che associa a ogni comune una sola regione. Viceversa, la relazione

'R2 = { (r,c) E n X e I ,. è la regione in cui si trova il comune e}

che associa a ogni regione i comuni che a essa appartengono, non è una funzione perché più di un elemento di C è associato a un elemento di r E R.

Nella precedente definizione si è esplicitamente supposto che una funzione sia totale, cioè sia definita su tutto il suo dominio. Talvolta, tuttavia, si ammette che una funzione f : A. -+ B sia parziale, cioè si ammette che essa possa essere definita solo su un sottoinsieme . l' e A; in tal caso, restringendo il dominio, essa può sempre essere ridefinita come una funzione totale f : A' -+ il. Ad esempio, sia I l'insieme degli italiani e sia ancora C l'insieme dci comuni italiani. La funzione J : I -+ C che associa a ogni cittadino il comune italiano in cui esso è nato è una funzione parziale, perché esistono italiani nati ali' estero. Tuttavia, se si considera l 'insieme I' e I degli italiani nati in ltal ia, la funzione ristretta J : I ' -+ C è totale.

Si noti che si può anche considerare una relazione 'R tra A e B alla stregua di una funzione JR : A -+ 213 che associa a un elemento a E A zero o più elementi di B e definita come fR (a) := {b E B I (a.b) E R }. In tal caso: se f n (a) = 0 nessun elemento di B è associato ad a; se f R (a) è un insieme singolo. un solo elemento di il è associato ad a; e se (a) è un insieme di cardinalità maggiore di uno, pit1 di un elemento di B è associato ad a.

Data una funzione f : . 1 -+ Be un sottoinsieme A' ç :l, l'insieme di A' è l'insieme degli elementi di JJ che sono r immagine di un elemento di A', cioè

f (A') := { h E B I b = f (<l 1) per qualche a' E A'} ç B.

Page 420: Sistemi ad Eventi Discreti

414 Appendice A

Ad esempio, se f: JR x JR è la funzione f(:c) = :c2, e A' = {x I - 1 :::; x:::; 1}, vale

f (A') = {a· I O :::; :i: :::; l }, mentre f (ffi) = II4 U {O}. Si consideri ora il caso di una funzione f : A1 x · · · x An B che ha per dominio il

prodotto cartesiano di più insiemi. In tal caso dato un elemento (<ti . ... . a11 ) appartenente al suo dominio e la sua immagine b = f ( (a 1 , ...• an)), si è soliti chiamare a i , ... . an, gli argomenti di f, e b il corrispondente valore. Inoltre si è soliti tralasciare per semplicità una coppia di parentesi. Ad esempio, se f : N x N N è la funzione che associa a ogni coppia di numeri naturali (i .j) la loro somma, si preferisce scrivere f (i.j) = i+ j, piuttosto che f ( ( i,j)) = i + j. Definizione A.Il. Una funzione f : A A che ha per dominio e codominio lo stesso insieme è detto un operatore unario. A

Un operatore unario è dunque una applicazione che trasforma un elemento di A in un altro elemento di . l. È possibile anche definire, più genericamente, un operatore n-ario (binario, ternario, ecc.) sull'insieme A come una funzione

f : A X ... X A A.

n volte

Si ricordino, ad esempio, gli operatori di unione, intersezione, e differenza fra insiemi precedentemente definiti; tali operatori trasformano due insiemi (e nel caso dell'unione e intersezione anche più di due insiemi) in un altro insieme. Le operazioni elementari di somma, differenza e prodotto fra due numeri reali sono esempi di operatori binari. Le funzioni f (x ) = x 2 e g(x) = x3 sono operatori unari sull' insieme dei reali.

Definizione A.12. Una funzione f : A B è detta:

• iniettiva (o l-a-1) se a due diversi elementi a ,a' E A corrispondono due diversi elementi f (a).f (o./) E B, cioè se:

a =I a' =:::} f (a) =J f (a').

• suriettiva se ogni elemento b E B è l'immagine di un elemento di rl , cioè se

b E B =:::} esiste a E .1 tale che b = f (o ).

o, con diversa notazione, se f (A) = B.

• biiettiva se è iniettiva e suriettiva.

Ad esempio, sia A linsieme dei comuni italiani, B e A. l'insieme dei capoluoghi di regione e C J' insieme delle regioni. La funzione J : A (1 che associa a ogni comune la corrispondente regione è una funzione suriettiva (perché ogni regione contiene almeno un comune) ma non iniettiva (perché due diversi comuni po'isono appartenere alla stessa regione). La funzione g : B C che associa a ogni capoluogo la corrispondente regione è invece biiettiva, perché due capoluoghi diversi non possono corrispondere alla stessa regione e ogni regione ha un capoluogo.

Queste definizioni sono utili quando si vuole definire l' inversa di una funzione. Poi-ché una funzione è un caso particolare di rela7ione, e come già visto una relazione am-mette sempre inversa, a ogni funzione f : A B corri:-.ponde sempre una relazione inversa che si indica f 1 ç B x A. Tuttavia, I 1 relazione f -I potrebbe non essere a sua volta una funzione. Si supponga che f non sia in1ettiva: in al caso esist ' un b E B tale

Page 421: Sistemi ad Eventi Discreti

Elementi di teoria degli insiemi e algebra 415

che b = I (a') = f (a") con a' f; a", cioè 1- 1 (b) non è un insieme singolo e dunque 1-1

non è una funzione. Ancora, si supponga che f sia iniettiva ma non suriettiva; in tal caso esiste un b E B tale che I 1 (b) non è definita e dunque 1-1 non è una funzione totale.

Tuttavia, si può affermare che u f P 11nn funzione hiiettiva anche la sua inversa è unafunz.ione biettiva, e in particolare per ogni a E A vale: 1-1 (J(a)) =a, e reciproca-mente, per ogni b E B vale: I (1-1 (b) ) = b. Una biiezione (cioè una funzione biiettiva e la corrispondente inversa) tra due insiemi viene anche chiamata un isomorfismo. Un isomorfismo associa talvolta in modo così "naturale'' un elemento di un insieme a un elemento dell' altro insieme, che spesso è possibile usare uno dei due insiemi come rap-presentativo dell'altro. Ad esempio, si consideri l'isomorfismo tra l' insieme delle coppie di reali IR2 e l'insieme dei numeri complessi <C definito da: = .r + j y, dove j è l' unità immaginaria; grazie a tale isomorfismo si può rappresentare un numero complesso come un vettore nel piano cartesiano e, ad esempio, considerare la moltiplicazione di un numero complesso per j come una rotazione vettoriale di in senso antiorario.

A.3 Relazioni binarie su un insieme

Si è considerato, nel precedente paragrafo, un caso particolare di funzione, ossia l'opera-tore, che ha per dominio e codominio lo stesso insieme. Anche per le relazioni è possibile considerare, come caso particolare, una relazione binaria 'R ç .A x A che associa elementi di A a altri elementi dello stesso insieme e che si definisce relazione binaria su A. Tali relazioni meritano un cenno a parte e a esse è dedicato questo paragrafo.

Per prima cosa, è possibile classificare queste relazioni.

Definizione A.13. Una relazione n ç A X A è detta:

• transitiva se: aRb e b'Rc ===> a'Rc;

• simmetrica se: aRb ===> b'Ra;

• antisimmetrica se: n'R.h e a f; b ===> ·b'Ra;

• riflessiva se: aRa per ogni a E A.

• antiri.fl.essiva se: •a'Ra per ogni a E A.

Si consideri ora qualche esempio. Siano < e < le usuali relazioni di minore e di minore o uguale su Ill Ancora, dato l'insieme di tutti gli individui A, si consideri la relazione a O b se a ama b, e la relazione a 4' b se a è amico di b.

La relazione < è transitiva, perché se o è minore di b e b è minore di (', necessaria-mente a è minore di e; sirrulmente è facile vedere che è transitiva. La relazioni O e 4' non sono invece transitive: se a ama (è amico di) be b ama (è amico di) e, non necessariamente a ama (è amico di) c.

Le relazione < è antisimmetrica, perché se a è minore di b non è possibile che b sia minore di a. Anche la rela1,ione è antisimmetrica, perché se a è minore o eguale a b e a f; b, non è possibile che b sia minore o eguale di a. La relazione 4' è una relazione simmetrica: se a è amico d b vale anche il viceversa. Si noti , ancora. che esistono anche relazioni che non sono né s1'll.metriche ne antisimmetriche, come la relazione <::::>· esistono

Page 422: Sistemi ad Eventi Discreti

416 Appendice A

infatti sia casi di amore corrisposto (Paolo\/ Francesca e viceversa), sia casi di amore non corrisposto (Michaela \/Don Jose ma non vale il viceversa).

Mentre la relazione < è antiriflessiva perché per nessun numero reale vale a < a, la relazione è riflessiva. Si noti, infine, che esistono anche relazioni che non sono né riflessive né antiriflessive.

Sulla base di queste proprietà si presentano nei successivi sottoparagrafi due classi interessanti di relazioni binarie su un insieme, le relazioni di equivalenza e le relazioni di ordine. Si discuterà, infine, la nozione di composizione di più relazioni e di chiusura di una relazione.

A.3.1 Relazioni di equivalenza

Definizione A.14. Una relazione R ç A x A è detta relazione di equivalenza (o talvolta semplicemente equivalenza) se è transitiva, simmetrica e riflessiva. •

Si consideri la relazione rv sui numeri reali definita come x ,....., y se l:z:j = lY J, cioè se la parte intera di 'J: e la parte intera di y coincidono. Ad esempio, 3 ,....., 1T ,....., 3,999. Può mostrarsi facilmente che tale relazione è transitiva, simmetrica e riflessiva e dunque è una equivalenza.

Ad una equivalenza R sull'insieme A corrispondono delle classi di equivalenza.

Definizione A.15. Sia n ç A x A una relazione di equivalenza e si consideri un generico elemento a E A. La classe d'equivalenza di a rispetto alla relazione 'R.. è l'insieme [a]n := {b E A I aRb} di tutti gli elementi di A che sono in relazione con a. •

Se la relazione R rispetto alla quale viene calcolata la classe [a]n è chiara dal contesto, si può semplificare la notazione denotando la classe semplicemente (a].

Nel caso della relazione rv precedentemente definita su Il la classe di equivalenza corrispondente a un generico numero reale ;r è l'insieme [ :r] = [ L.r J. L :i: J + I ) , cioè l'intervallo compreso tra il più grande intero minore o uguale a a; (incluso) e l'intero successivo (escluso). Ad esempio, vale [7r] = (3.4).

Un fondamentale risultato è i I seguente.

Teorema A.16. Data una relazione di equivalenza R ç A x -4, l'insieme delle classi di equivalenza rispetto a R costituisce una partizione di A. Dimostrazione. Per dimostrare che l'insieme n := {[a] I a E A} delle classi di equivalenza è una partizione di .4, occorre dimostrare che vale

(i) per ogni a E ,-1.(a] f 0; (ii) UaE.-1 (n] = A: (iii) [a] n [a'] t 0 <=::=} [a] = [a'].

Poiché una relazione di equivalenza è riflessiva, per ogni a E A vale aRa , e cioè a E (a]; dunque: (i) nessuna classe è vuota; (ii ) l'unione di tutte le classi di equivalenza ricopre , 1.

Per dimostrare il punto (iii), si osservi che se due classi di equivalenza [a] e [a'] non sono disgiunte, deve esistere un elemento comune a entrambe a E [a] n [a']; l'elemento a è tale che a'Ra e a'Ra; dunque, per la simmetria della relazione, vale anche aRa e a'R,a'. Ciò premesso, è facile mostrare che valgono le due inclusioni [a] ç [a '] e [a] ;2 [a' ], e cioè vale [a] = [a']. Si dimostri la prima inclusione; poiché, come giit visto, vale

Page 423: Sistemi ad Eventi Discreti

Elementi di teoria degli insiemi e algebra 417

a'Ra e aRa, se b E [a] vale anche aRb e, per transitività, a'Rb, cioè b E (a'] e quindi [a] ç [a']. Con un ragionamento simile è possibile mostrare che [a] ;;;? [a'] e ciò completa la dimostrazione. O

Ritornando all'esempio precedente, le classi di equivalenza di ,..., sono gli intervalli della forma [k,k + 1) con k intero e l' insieme fl ·- { [k,k + 1) I k E Z} costituisce una partizione di Hl

A.3.2 Relazioni di ordine

Definizione A.17. Una relazione R ç A x A è detta:

• relazione di ordine parziale se è transitiva, antisimmetrica e riflessiva;

• relazione di ordine parziale stretto se è transitiva, antisimmetrica e antiriflessiva. A

Ad esempio, la relazione precedentemente definita sui reali è una relazione di ordine parziale, mentre la relazione < è una relazione di ordine parziale stretto. La relazione di contenimento ç fra insiemi è un ordine parziale, mentre la relazione di stretta inclusione e è un ordine parziale stretto. Ancora, la relazione di prefisso fra stringhe, definita nel capitolo 2, è una relazione di ordine parziale.

Molti dei sistemi ad eventi discreti considerati in questo libro, tra cui le reti di Petri e le reti di code, hanno come spazio di stato X un sottoinsieme di N11 . Per questo motivo, si è scelto di ricordare in questo paragrafo la notazione usata per le usuali relazioni d'ordine definite su N11 e, pipiù generalmente, su !Rn .

Definizione A.18. Dati due vettori x .x' E !Rn ,con x = [ x 1

[ · · · ]'1 , si definiscono le seguenti relazioni.

• Si dice che x è maggiore o uguale a x' se per ogni componente vale :r, 2:'. Ciò viene anche indicato con la notazione x > x'.

• Si dice che x copre x' se x > x' e x =/:- x', cioè se per ogni componente vale .r i > e per almeno una componente j vale .e J > xj. Ciò viene anche indicato con la notazione x x'.

• Si dice che x è maggiore di x' se per ogni componente vale .ri > Ciò viene anche indicato con la notazione x > x'. A

Per quanto detto prima, la prima di queste tre relazioni è un ordine parziale, mentre le ultime due sono degli ordini parziali stretti.

Similmente si possono anche definire le relazioni inverse di queste tre relazioni, che si denotano x < x' (x è minore o uguale a x'), x $ x' (x è coperto da x') e x < x' (x è minore di

Le relazioni complementari di quelle date in Definizione A.18 vengono invece so-litamente indicate con la notazione x l x', x 'l.. x' e x "j- x'. Ad esempio, scriviamo x l x' per indicare che a; non è maggiore o uguale a x', cioè per indicare che per almeno una componente i vale :r, <

Si noti che mentre in IR vale, ad esempio, .r < .r' {:::=::} .r "j- .r', in generale in IR'1

po-;siamo solo affermare t he x :S x' x "j- x'. Ad esempio. in IR2 sex = (1 2)1 e .r;' = (2 1)1 'vale x "j- x' 1 ia non x .r'.

Page 424: Sistemi ad Eventi Discreti

418 Appendice A

Definizione A.19. Una relazione n ç A X A di ordine parziale (stretto) è detta relazione di ordine totale (stretto) se dati due qualunque elementi a ,b E A vale a'Rb oppure b'Ra, cioè ogni coppia di elementi può venire ordinata. •

Aù t;St::mpio, la relazione s; è un ordine totale su JR, perché dati due qualunque numeri reali distinti x e :r' uno dei due è maggiore dell'altro. La relazione s; non è, tuttavia, un ordine totale su IR2 , perché, ad esempio, se x = [1 2fr e x' = [2 1 V nessuno dei due vettori è minore o uguale all'altro.

Si noti che è anche possibile definire una nuova relazione, detta di ordine lessicogra-fico che è un ordine totale su IR2

. Tale relazione, che si denota definita come segue: x = (x1 ,x2) x' = se :r1 < oppure se X1 = e .r2 s; Dunque, ritornando all'esempio precedente possiamo dire che x = [1 2]1' x' = [2 l]T.

Per terminare questo sottoparagrafo, si danno due proprietà, dovute a Karp e Mil-ler (Karp e Miller, 1969), che permettono di caratterizzare sequenze infinite di vettori e vengono usate nel corso del Capitolo 4.

Lemma A.20. Sia x 1 ,x2 , ••• ,xk, ... una successione infinita di vettori in N'i. È possi-bile estrarre da tale successione una sotto-successione infinita x h .x 12 , ... ,x i1c, ... non decrescente, cioè tale che xii s; x h s; ... < x i1c s; ....

Dimostrazione. Si dimostra iterando sulla dimensione n. Si supponga che valga n = 1. In tal caso una successione non decrescente si ottiene con la seguente scelta: si prenda come elemento xi 1 il più piccolo degli elementi scalari della successione; per ogni k > 1, si prenda come elemento xi (" • 1 il più piccolo degli elementi che seguono x J,., .

Se m > 1, è possibile applicare la precedente costruzione per ottenere una sotto-successione infinita non decrescente nella prima componente. Iterando il procedimento sulle restanti componenti si ottiene la sotto-successione cercata. O

Corollario A.21. Sia x 1 ,x2 , ... ,xk, ... una successione infinita di vettori in N11 con Xi i xi per i i j. È possibile estrarre da tale successione una sotto-successione infinita xii .xh, ... ,x Jk .... crescente, cioè tale che x 1i $ x h $ ... $ x Jk $ ....

Dimostrazione. Applicando la procedura del lemma precedente si ottiene una suc-cessione non decrescente. Poiché tale successione non può contenere due elementi uguali, essa deve essere nt;çt;ssariamente crescente. O

A.4 Composizione di relazioni e chiusura

Definizione A.22. Date due relazione binarie R,1?' ç A x A, si definisce composizione di R e R' una nuova relazione su A definita come

no 7?' := {(a,c) E .4 X A I esiste b E A: anb. bR' e}.

Ad esempio, la composizione delle relazioni essere madre di e essere coniuge di è la relazione essere suocera di, perché a è suocera dir., se esiste un b tale che a è madre di b, e b è coniuge di c.

Come caso particolare, ma importante, di composizione si può pensare di comporre una funzione con se stessa più volte.

Page 425: Sistemi ad Eventi Discreti

Elementi di teoria degli insiemi e algebra 419

Definizione A.23. Data una relazione binaria n ç A. X A, si definisce, ricorsivamente, la seguente famigl ia di relazioni:

:= {(a,a) I a E A} := 1?,k 01?,

(relazione identità) (k E N)

Si noti che la relazione identità non dipende da n ma solo da A, e che vale = n. A

Ad esempio, si consideri la relazione P ç Z x Z tra numeri interi definita come segue: mPn se n = m + 1, cioè nella successione { ... , -2, -1.0,1,2, ... } n è l'intero che segue immediatamente m. È facile vedere che, per ogni k E N, vale rnPkn se n = rn, + k.

Un'altro importante concetto è quello Legato alle proprietà di chiusura. Tale argo-mento meriterebbe un Lungo discorso; qui ci si limita a alcune elementari definizioni.

Definizione A.24. Data una relazione binaria n ç A. X A, si definisce chiusura transitiva di n la più piccola relazione transitiva che contiene n. Si dimostra che tale relazione, denotata n +. esiste sempre, è unica e vale

00

n+ :=Un"' k=l

Si noti che se R è una relazione transitiva, vale n+ = n. Ad esempio, la chiusura transitiva della relazione P precedentemente definita è La rela-zione definita come segue: rn'P+n se esiste k = {1 12 ... } tale che n = m + k, cioè è la relazione < sugli interi, perché rnP+n {:::::::> m < n.

Definizione A.25. Data una relazione binaria n ç A X A., si definisce chiusura transitiva e riflessiva di n la più piccola relazione transitiva e riflessiva che contiene n. Si dimostra che tale relazione, denotata R*, esiste sempre, è unica e vale

00

R* := LJ = n° un+ k-O

Si noti che se n è una relazione transitiva e riflessiva, vale n" = R.

Ad esempio, la chiusura transitiva e riflessiva della relazione P precedentemente definita è la relazione definita come segue: mP*n se esiste k E N tale che n = rn + k, cioè è la relazione :S sugli interi, perché mP•n {:::::::> m :S n.

Infine, ricordiamo quali esempi di chiusura l'operatore "stella di Kleen" definito sui linguaggi (paragrafo 2.1) e le funzioni di transizione 8"' e .J • definite per gli automi (paragrafi 2.2 e 2.3).

Bibliografia

• H.R. Lcwis, C.H. Papadirnitriou, Elements of the theory of computation, Prentice-Hall, 1981.

• R. Karp, R. Miller, "Parallel program schemata'', J. of Computer and System Scien-ces, Vol 3, pp. 147-195. Maggio, 1969.

• S. Lipschutz, Teoria <egli insiemi, Collana Schaum, Etas Libri, 1980.

Page 426: Sistemi ad Eventi Discreti

B Elementi di teoria dei grafi

Molti dei modelli ad eventi discreti descritti in questo libro, quali ad esempio gli automi, le catene di Markov, le reti di Pctri, sono basati sul formalismo dei grafi. È sembrato utile raccogliere in questa appendice i pochi concetti elementari della teoria dei grafi che sono strettamente propedeutici al materiale presentato nei precedenti capitoli . Si suggerisce a coloro che volessero approfondire l'argomento l'ottimo libro di Diestcl ( 1999).

B.1 Definizioni elementari

Definizione 8.1. Un grqfo è una coppia Q = (\ ·,. 1), dove\· è l'insieme dei vertici (o nodi), e A ç 1' x ' · è l'insieme degli archi. A

Ogni arco incide fra due nodi, cioè collega due nodi, detti adiacenti, fra loro. In Figu-ra B.l(a), è rappresentato il grafo 9 = (1-....t) con insieme dci nodi 1· = {v1.v2 .u3 } e insieme degli archi A = {"' ,(1'.J}. I nodi sono rappresentati da punti o cerchi, mentre gli archi da tratti di linea che congiungono i due nodi su cui l'arco incide. È anche possibile mdicare un arco con la coppia IZOIZ ordinata dei nodi su cui esso incide; ad esempio i due archidelgrafoinFigura8.l(a)sono a1 = {u1,l12} ea2 = {v2.u3}.

v2

\'1 I'

(a) (b) (e)

Figura B.l Rapprescntalione di tre grafi.

Definizione B.2. Un graf > è detto orientato se gli archi hanno un verso di percorrenza l hc si indica 'Tiediante un: frl!ccia. A

Page 427: Sistemi ad Eventi Discreti

422 Appendice B

In Figura B.l il grafo (a) è un grafo non orientato, mentre grafi (b) e (e) sono grafi orientati.

Nel caso di grafi orientati si può indicare un arco e la sua orientazione con la coppia ordinata dei nodi su cui esso incide. A<l esempio nel grafo in Figura B. I (b) vale a 1 = ( v1 , u2 ) e il nodo l' i è detto coda mentre il nodo v2 è detto testa dell'arco a 1 .

Definizione B.3. Un grafo ç = ('',A) è detto bipartito se è possibile partizionare l'insie-me dei nodi in due sottoinsiemi disgiunti 1 · = 1 ·1 U l 2, tali che A ç (\ ·1 x 12) U (F2 xl '1 ),

cioè ogni arco incide fra nodi appartenenti a sottoinsiemi diversi. A

La definizione di grafo bipartito può anche essere estesa in modo naturale a k partizioni: si dice che un grafo è k-partito se 1 r = , ., u ... u l k (con \ '; n l j = 0 per i i: j) e se ogni arco incide fra nodi appartenenti a due partizioni diverse, cioè A n (1 i x l i) = 0 per ogrn i.

In Figura B.l, i grafi (a) e (b) sono bipartiti se si considera l "1 = { v1 .v:.d e l 2 = { 112}

e possono anche venir tripartiti considerando ogni nodo in una partizione a se stante. Il grafo in Figura B. l (e), al contrario, non può essere k-partito per alcun valore di k a causa della presenza dcli' arco a 1, che insiste su un solo nodo.

Definizione B.4. Un grafo Q = (V,A) è detto pesato se ad esso è associata una funzione peso f : A -t JR; per ogni a E A, f (a) è detto iJ peso dell 'arco a. A

Il peso di un arco può rappresentare un costo, una capacità del flusso lungo l'arco, una distanza, ecc. Ancora, si osservi che in base alla definizione di grafo data non possono esistere due archi non orientati, ovvero due archi con la stessa orientazione, tra i due stessi nodi v e 11', perché nell'insieme A non ha senso ripetere due volte l'elemento { v.u'}, ovvero la coppia (u,n'). Tuttavia, mediante una funzione peso f : A -t N possiamo associare all'arco una molteplicità; tale è il caso delle reti di Petri in cui il peso degli archi è dato dalle matrici Pre e Post (cfr. Capitolo 4).

B.2 Cammini e cicli

Definizione B.5. Un cammino in un grafo è una sequenza

composta alternativamente di nodi V;, E \'e di archi aj, E 4. e dove <1J, = {vJ,_ 1 .VJ, },

cioè ogni nodo VJ,_ 1 è adiacente tramite l'arco <lJ, al nodo successivo u;,. Si dice anche che tale cammino porta da VJo a uù ed ha hmghev.a k (la lunghezza di un cammino è pari al numero di archi che lo compongono). Un cammino" = v10a;1 V; 1 a12 · • ·<1J1 1·1,. èdettoorientarosca;, = (uJ,_ 1 :uJJ, cioè ogni arco a1; ha un verso di percorrenza che va dal nodo VJ;-i al nodo llJ,. A

Sia ad esempio r = 11 1a 1 u2 a2 v3 • Nel grafo in Figura B. l(a). "f è un cammino. Nel grafo in Figura B.l(b), 'Y è un cammino orientato. Nel grafo in Figura B. l(c) , "t è un cammino ma non è un cammino orientato.

Definizione B.6. Un ciclo è un cammino" = l'J ,a11 l'J a 1. · · · aJA· v1A in cui v10 = 1•1,.,

cioè il nodo iniziale e quello finale coincidono. Un ciclo è detto orientato se ogni arco u 1 ha un verso di percorrenza che va dal nodo t•1 ,_ al nodo c1, Un ciclo è detto elementare

Page 428: Sistemi ad Eventi Discreti

Elementi di teoria dei grafi 423

se non passa più di una volta per lo stesso nodo, escluso ovviamente quello iniziale e finale. à

Nei grafi in Figura B.l(a) e Figura B.l(b) non vi sono cicli. Nel grafo in Figura B.l(c), sia il cammino v1 a 3v3 a 2v 2a 1 v1 che il cammino v3 a4 v3 sono cicli orientati elementari, mentre il cammino v3a3v1a1v2 a2v3 è un ciclo elementare non orientato. Infine, sempre in Figura B.l(c), il canunino V3a2v2 a 1v1a3V3 a 4V3 ed il camnùno V3a4V3a4V3 sono due esempi di cicli orientati non elementari.

Definizione B.7. Un grafo è connesso se per ogni coppia di nodi v ,v ' E V esiste un cammino che porta da v a v'. Un grafo orientato è fortemente connesso se per ogni coppia ordinata di nodi v,v' E 1i esiste un cammino orientato che porta da v a v'. à

I tre grafi in Figura B.l sono connessi. Il grafo orientato in Figura B.l(b) non è fortemente connesso: ad esempio, non esiste alcun cammino orientato che porta da v2

a v1 (si noti che viceversa esiste un cammino orientato che po1ta da v1 a v2 ). Il grafo orientato in Figura B.l(c) è anche fortemente connesso.

Il grafo in Figura B.2(a) non è connesso: ad esempio, non esiste alcun cammino che porta da v1 a v4 . I grafi in Figura B.2(b) e in Figura B.2(c) sono connessi ma non fortemente: in entrambi non esiste alcun cammino orientato che porta da v 1 a v4 • Il grafo in Figura B.2(d) è fortemente connesso.

B.3 Sottografi e componenti

Definizione B.8. Unaforesta è un grafo in cui non esistono cicli. Un albero è un grafo connesso in cui non esistono cicli. Un grafo orientato è detto aciclico se non contiene cicli orientati. •

I grafi in Figura B.l(a) e in Figura B.l(b) sono alberi. Il grafo in Figura B.2(a) è una foresta che, come si vedrà meglio in seguito, è composta da due alberi. Il grafo in Figura B.2(b) è un albero. Il grafo in Figura B.2(c) è un grafo aciclico perché non contiene cicli orientati, ma non è un albero perché contiene cicli non orientati. Il grafo in Figura B.2(d) è un grafo ciclico.

(a) (b) (e) (d)

Figura B.2 Una foresta (a), un albero (b).un grafo aciclico (e). un grafo ciclico (d).

Page 429: Sistemi ad Eventi Discreti

424 Appendice B

Definizione B.9. Dato un grafo 9 = (V,A), si dice che iJ grafo Q' = (\ r1 ,A') è un suo sotto grafo se vale l '' ç V e A' ç A n (i., x 1 "'). Per denotare che Q' è un sottografo di Q si scrive Q' ç Q.

In particolare, se .. !' = A n (l " x l "'), cioè se Q' contiene tutti gli archi di 9 che incidono fra due nodi in \ ·1

, si dice che 9' è il sottografo indotto da { ·1• A

In Figura B.2, il grafo (a) è un sottografo di (b), il quale è a sua volta un sottografo di (e).

In Figura B.3, il grafo (b) è il sottografo di (a) indotto dai nodi,.,= {v1,v2 .v:3}. Si osservi come dato un grafo Q = (1 ',A) , il suo sottografo indotto da un insieme di nodi 1 n ç V possa ottenersi rimuovendo da Q i nodi in V \ 'V' e gli archi che incidono su tali nodi.

Si noti infine che il grafo in Figura B.3(c) è isomoifo al grafo in Figura B.3(b), nel senso che l' uno si ottiene dall ' altro semplicemente cambiando l'etichetta dei nodi: in cal senso anche il grafo in Figura B.3(c) può essere considerato un sottografo del grafo in Figura B.3(a).

\'\ l'.i \'\ \'

(a) (b) (e)

Figura B.3 Un grafo (a), un suo sottografo (b), un altro sottografo ad esso isomorfo (e).

Definizione B.10. Dato un grafo Q - (l '.A), si definisce componente di ç un sottografo Q' S:: ç che sia connesso e massimale, cioè non deve esistere un altro sonografo connesso Q" tale che 9' e Q" ç 9. •

Ovviamente, se un grafo 9 è connesso, l'unica sua componente è il grafo stesso. La foresta non connessa in Figura B.2(a) ha due componenti. La prima è l'albero

91 =(\'i.Ai ), con ,.1 = {v1,v2} e . 11 = {(111,v2)}. La seconda è l'albero Q2 = (12 ,A.2), con l 2 = { ll3. ni} e rh = { (va, u 1)}. Si noti che le componenti di una foresta sono sempre alberi.

Definizione B.11. Dato un grafo orientato = (l T.A), si detini-;ce compo11e11tefm1emen-te connessa di 9 un sottografo 9' ç 9 che sia fortemente connesso e massimale, cioè non deve esistere un altro sottografo fortemente connesso Q" tale che 9' e 9" ç Q. •

Ovviamente, se un grafo Q è fortemente connesso, i· unica sua componente fortemente c01messa è il grafo stesso.

Il grafo in Figura B.4 ha quattro componenti fortemente connesse 92 , Q3 e come indicato in figura.

Una volta detenninate le componenti (ov ero compon ·nti fortemente connesse) di un grafo. è possibile partizionare m maniera un vcca l' insie1 te dei nodi.

Page 430: Sistemi ad Eventi Discreti

Elementi di teoria dei grafi 425

--....... / -- /

gt v, I'\ 1-'5

(ÌJ

I

(ji V;? V1 I Vti

(j4 I ___ /

Figura B.4 Un grafo orientato e le sue componenti fortemence connesse.

Proposizione B.12. Se un grafo (ovvero, grafo orientato) ç; = (i'.A) ha r componenti (ovvero, componenti fortemente connesse), l'insieme dei nodi i· può essere partizionato in r sottoinsiemi 1/ = Vi U l 2 U · · · U \/r tali che ogni sottografo indotto da una generica

è una componente (ovvero, componente fortemente connessa) di 9. Dimostrazione. Si consideri la relazione binaria n ç V x F fra i nodi di un grafo definita come segue: v'Rv' se esiste un cammino orientato che va dal nodo v a v' e un cammino orientato che va dal nodo v' a o. È facile dimostrare che questa relazione è una relazione di equivalenza (cfr. paragrafo A.3.1) e che ogni classe di equivalenza corrisponde appunto all'insieme dei nodi una componente fortemente connessa. Il Teorema A.16 ci assicura che tali classi costituiscono una partizione dell'insieme V. O

Ad esempio, le due componenti della foresta in Figura B.2(a) sono gli alberi corrispon-denti alla partizione 1 · = Vi U 12, con \ ·1 = { v1 .u2} e \ '2 = { v3,u4}. Le quattro componenti fortemente connesse del grafo in Figura B.4 corrispondono alla partizione F = l't U l 2 U 13 U \ ·1, con l ·1 = {vi} e 1'2 = { v2}, l j - { 113 .u4} e Vi = { 115.v6.u7}.

Una volta determinate le componenti fortemente connesse di un grafo orientato, ed avere partizionato il grafo stesso in modo corrispondente, è possibile classificare tali componenti in due categorie.

Definizione B.13. Dato un grafo orientato 9 = (\ ·,A), una sua componente fortemente connessa <.J' = (ì ' 1

, A') è detta:

• assorbente 1 se A n (1 '' x ( \ · \ 1 ·1)) = 0, cioè se non esiste alcun arco in 9 che esce

da un nodo in , ., e va verso un nodo non in , ., ;

• transitoria se A n (V' x (\! \ \/')) i= 0, cioè se esistono uno o più archi in 9 che escono da un nodo in l '' e vanno verso un nodo non in l ., . A

In base a questa definizione le componenti fortemente connesse Q1 e 93 del grafo in Figura B.4 sono transitorie: infatti dalla componente 91 escono due archi (uno diretto verso la componente 92 ed uno diretto verso la componente 93 ). mentre dalla componente

esce un arco diretto verso la componente 9 1• Le componenti 92 e 94 sono invece assorbenti.

1 Una componeme as'iorbcnte viene anche talvolta denominata ergodica. Qui s1 prt:fensce non usare questa denominazione per non generare conlusione con il concetto ùi componente ergodica ùi una catena di Markov (cfr. par.i.grafo 3.2).

Page 431: Sistemi ad Eventi Discreti

426 Appendice B

Si noti che un grafo orientato ha sempre almeno una o più componente assorbente, mentre potrebbe non avere componenti transitorie: tale è il caso di un grafo fortemente connesso che costituisce appunto esso stesso la sua unica componente assorbente. Per questa sua proprietà di non poter venire ulteriormente scomposto in componenti, un grafo fortemente connesso è anche detto irriducibile.

L'interesse di una tale classificazione, nasce dalla seguente osservazione. Si itn-magini di percorrere un grafo orientato seguendo un qualunque cammino orientato. Da un generico nodo appartenente a una componente fortemente connessa esiste sempre un cammino orientato che porta a un qualunque altro nodo della stessa componente. Inoltre da una componente transitoria prutono dei cammini che lasciano la componente e, dopo averla lasciata, non sarà più possibile ritornare in essa. Viceversa, una componente as-sorbente gode della proprietà duale: una volta che essa sia stata raggiunta non sarà più possibile lasciarla.

Bibliografia

• R. Diestel, Graph theory (2nd edition), Springer-Verlag, 1999. Una versione elet-tronica in formato PDF è anche disponibile sul WWW.

Page 432: Sistemi ad Eventi Discreti

e Elementi di teoria della probabilità

Scopo di questa Appendice è richiamare le definizioni e i principi propri dcl la teoria della probabilità indispensabili per la comprensione di alcuni degli argomenti trattati nel testo. Per evitare di riportare nel testo appunto concetti e proprietà ben noti, questi sono stati raccolti in questa Appendice. Per un trattamento sistematico e completo della teoria della probabilità, il lettore interessato è rimandato alla vasta letteratura disponibile su questo argomento (si vedano ad esempio i libri di Feller (197 1), Parzen (1960) e Papoulis (1990)).

C.1 Definizioni e concetti di base

Un concetto fondamentale della teoria della probabilità è quello di esperimento, che può definirsi come un'operazione il cui risultato è incerto. L'insieme di tutti i possibili risultati di un esperimento è detto spazio delle prove Q. Un sottoinsieme dello spazio delle prove è un evento; l'insieme degli eventi considerati per un esperimento si chiama spazio degli eventi IE ed è un sottoinsieme di n.

Lo spazio degli eventi E IE ç n, soddisfa gli assiomi seguenti:

1. se A è un evento, il suo complemento ii è anch'esso un evento;

2. l' unione di pii1 eventi A.1 , A2 , ... è ancora un evento, ossia

00

LJ A1 E IE. i = I

A ogni evento può essere associata una misura che quantifica la possibilità che questo accada durante l'esperimento. Tale quantità numerica è definita probabilità dell 'evento e si può interpretare semplicemente attraverso una definizione in frequenza. Così, dato un evento A, la definizione in frequenza della sua probabilità Pr(A ) è

. Nrt Pr(A) =- ilill -\.

.\ -7X • (C.l )

Page 433: Sistemi ad Eventi Discreti

428 Appendice C

dove N è il numero di volte che lesperimento viene effettuato e N A è il numero di volte che accade l'evento A.

La probabilità è caratterizzata dai seguenti assiomi:

l. la probabilità associata a ciascun evento di un esperimento è un numero maggiore o uguale a zero;

2. la probabilità associata allo spazio delle prove è pari a J ;

3. la probabilità di più eventi A 1 , A2 , ... disgiunti è data dalla somma delle probabilità degli eventi, ossia

P1 (Q .4,) - Pr (A ,)

Dall' assioma 3 consegue che Pr(A) + Pr(A ) Pr( J2), che è I secondo l' assioma 2; quindi, dall'assioma 1 si conclude che Pr(A) < 1.

C.1.1 Probabilità condizionata

Se A e n sono due eventi non indipendenti, la probabilità che uno dei due accada dipende dal fatto che l'altro si verifichi o meno. La probabilità condizionata di 1-l. dato B, che si indica con Pr (A I B ), è definita come

P ·(A I B ) = Pr(A n B ) 1 Pr(B )

(C.2)

La probabilità Pr(A n B ) dell'intersezione di due eventi A. e B, che compare nell'equa-zione precedente, è la probabilità congiunta di A e B. Se ...\ e B sono stocasticamente indipendenti, ossia P r(A I B ) = Pr(. \)e Pr( T3 I A )= Pr(B ), dalla (C.2) si ottiene

Pr(A I B ) = Pr(. l) · Pr(B ) (C.3)

Una proprietà molto importante, molte vo lte utilizzata in questo testo, è la regola della probabilità totale, enunciata come segue. Dato un insieme finito o numerabile di eventi mutuamente esclusivi Bi, B2, ... , tali che U1 B1 = n, vale la proprietà

(C.4)

Per completare il paragrafo, si riporta un ultimo importante risultato, noto come f om1ula di Bayes e derivato dalla regola della probabilità totale:

Pr(B · I A)= Pr(A 111 ) · P r( l 'J__ 1 L; P r 1 B ;) · J>1 B )

(C.5)

Page 434: Sistemi ad Eventi Discreti

Elementi di teoria della probabilità 429

C.2 Variabili aleatorie

Ogni singolo evento w di uno spazio delle prove n può essere in modo biunivo-co a un numero attraverso una particolare legge, in modo analogo a quanto avviene nella costruzione di una funzione (cfr. Appendice A). Tale corrispondenza si chiama variabile aleatoria (v.a.) X(w) ed è definita dalla relazione X : n --+ Ifl Una V.a. X(w), per semplicità di notazione indicata da qui in avanti con X, è detta discreta se assume solo un insieme finito o almeno numerabile di valori, continua o rnista altrimenti. Per conven-zione, le v.a. sono indicate da lettere maiuscole (X), mentre i valori che esse possono assumere sono indicati con lettere minuscole (x).

La relazione tra i valori di una v.a. e le probabilità a essi corrispondenti è espressa dalla legge di probabilità, che può assumere forme diverse. Nei prossimi paragrafi si descrivono lafunzione di distribuzione, lafanzione di probabilità e la /unzione di densità di probabilità. facendo riferimento esclusivamente alle v.a. monodimensionali.

C.2.1 Funzione di distribuzione

La funzione di distribuzione (cumulativa) Fx (x) di una v.a. X esprime la probabilità che X assuma un valore minore o uguale a .r cd è definita V.r E JR come

Fx(x) = Pr(X (C.6)

La funzione Fx (J·) è monotona non decrescente e tale che O Fx (x) 1, con F.\ (-oo) =O e F, (oo) = 1; per x1 e .i·2 tali che .z; 1 < xi, si ha Fx (xi) < F>.. (i-2) e Fx(x2) - Fx(.t1 ) = Pr(:t1 <X .1·2) . La Fx(x) di una v.a. continua è continua e derivabile, come mostrato nella Figura C. I.

fxCx)

I

0,75

- 00

-10 -5 o

, Pr(x) <b ' I I

b 5

+ 00

10

Figura C.1 Funzione di distribuzione di una variabile aleatoria continua

X

La Fx (:r) di una v.a. discreta presenta invece un andamento a "scalinata", con punti di discontimutà in corrispo11denza dei valori x considerati, con "salti" pari alle probabilità conispondent1, come most ato nella Figura C.2.

Page 435: Sistemi ad Eventi Discreti

430 Appendice C

I • I I • l t '

l .. : : : : : :

--;-----:-----;-----;--·-- -----;---- +1·-•, Pr (3)

t I I i I •

-- -:--• I I I ..______.. I

0 5 I ! I I I I

, . Pr(l) -- ;-----;--• I I I ' ' '

- - -- - - - - - -:.-----. -Pr (-1) - ---- ----: ---- -

--LJ- - -----1------!-----t-----i--I I I I I

-4 -2 o 2 4 X

Figura C.2 Funzione di distribuzione di una variabile aleatoria discreta

C.2.2 Funzione di probabilità

Per le v.a. discrete si definisce anche lafunzione di probabilità Px(x), che assume valori non nulli solo in corrispondenza dei valori x assunti dalla v.a. X, ossia i valori asso-ciati all'insieme discreto delle prove [2. La funzione di distribuzione e la funzione di probabilità sono legate secondo la relazione

Fx(x) = 'L vx(y) (C.7)

con Fx(x) = LyPx(:I/) Px(Y) < 1.

l; inoltre, per le proprietà viste in precedenza, si ha O :::;

C.2.3 Funzione di densità di probabilità

È l'analogo per le v.a. continue della funzione di probabilità definita per le v.a. discrete. La funzione di densità di probabilità fx ( x) di una v.a. continua X, di cui si riporta· un esempio in Figura C.3, è la derivata della sua funzione di distribuzione Fx (:e), ossia

fx (x) = dFx (x) dx

(C.8)

supponendo che Fx (;c.:) sia derivabile ovunque a parte eventualmente in un numero finito di punti; in questo caso vale

Fx(x) = 1:, fx.(r)dr (C.9)

Dal momento che Fx (:r), come si è detto, è una funzione monotona non decrescente, si ha fx(x) >O; inoltre, fx(r )rlT = 1.

La probabilità di un evento (a < X < b) è determinata dalla relazione

Page 436: Sistemi ad Eventi Discreti

Elementi cli teoria della probabilità 431

Pr (X <to) =1* (t0 )

ix (t)

t

Figura C.3 Funzione di densità cli probabilità

Pr(a b) = Fx(b) - Fx(a) = f b f x (T)dT l <i

X

(C. 10)

Un esempio di v.a. continua molto usata in questo testo è la v.a. esponenziale, descritta più avanti. Nei prossimi paragrafi infatti vengono descritte le caratteristiche di alcune v.a. sia discrete sia continue, ricorrenti nella modellazione dei SED.

C.2.4 Valore atteso, varianza e deviazione standard

Si definisce valore atteso o media della v.a. X la quantità

'L: xp(x) se X è una v. a. discreta V.r

E[X] = (C.11) 1_: ..cf(:c)d.r se X è una v. a. continua

La varianza di una v.a. X è definita come

1 "ar[X] = E[(X - E[X])2] (C.12)

ed è spesso indicata anche con la deviazione standard è la radice quadrata CT x della vananza.

C.3 Variabili aleatorie continue

Nei prossimi paragrafi verranno introdotte e caratterizzate, in maniera molto schematica, le v.a. continue che si incontrano più spesso nella modellazione dei SED.

Page 437: Sistemi ad Eventi Discreti

432 Appendice C

C.3.1 Variabile aleatoria uniforme continua

La v.a. uniforme continua esprime una probabilità costante, diversa da zero, nell ' interval-lo di definizione e nulla al di fuori di questo intervallo.

Parametri:

a: estremo sinistro

h: estremo destro

Funzione di densità di probabilità:

f x(x) =

Funzione di distribuzione:

Fx(x) =

Media: 1

2ca + b)

Varianza: (b - a)2

12

O altrimenti

O x<a

x-a b-a

\:/ :e E [a 1b]

1 :r; > b

C.3.2 Variabile aleatoria esponenziale

Parametro: ,,\ (> 0): numero medio di occorrenze per unità di tempo

Funzione di densità di probabilità:

{

,,\ -À.c

fx(•·) = O e x<O

Funzione di distribuzione:

{

1 -f'-Àr:

Fx(x ) = 0 x<O

(C.13)

(C.14)

(C.15)

(C.16)

Page 438: Sistemi ad Eventi Discreti

Elementi di teoria della probabilità 433

Media: 1 -À

Varianza: 1

A2

C.3.3 Variabile aleatoria normale o gaussiana

Parametri:

/L : media

o-: deviazione standard

Funzione cli densità di probabilità:

Funzione di distribuzione:

1 fx(x) = v12-ie

()" 27r

(x - µ)2 20-2

1 X _(z-µ)2 Fx (x) = j e 2u

2 dz

aJ21i -oo

(C.17)

(C. 18)

che non è calcolabile in forma chiusa, ma è disponibile tabulata o è calcolabile tramite algoritmi approssimati.

Media:

Varianza:

/l

.,

Nota C.1. Le v.a. aleatorie gaussiane non correlate tra loro sono anche statisticamente indipendenti; inoltre, la somma di v.a. gaussiane indipendenti è ancora una v.a. gaussiana con media uguale alla somma delle medie e varianza uguale alla somma delle varianze.

Una v.a. gaussiana con media O e varianza 1 è detta standard. Qualsiasi v.a. normale può essere resa standard per mezzo della trasformazione

, - _ X - 11 Ast -

()" (C.19)

Nella Figura C.4 sono riportati alcuni esempi di densità di probabilità normali per diversi valori dei paramet ·i/Le a.

Page 439: Sistemi ad Eventi Discreti

434 Appendice C

fx (x) A

•• I ... "'• • • l.

0,8 ...

fx(x) A

. _.. --------- L. -'

(),8 - :

·: . 0 4 : ' .

-2

Figura C.4 Variabili aleatorie gaussiane

C.3.4 Variabile aleatoria x2

' '

3

' . ' .

___

' -· ____ \. _____ 1 ____ 1

I ()X =(),25 I ! .. - ·-I r

' '

5

Date v v.a. gaussiane standard X 1 , ... ,X v, la v.a. continua _y definita come µ

X X 2 + v 2 + x 2 '"' x 2 = 1 .l\ .2 + '.. V = L i

i= l

prende il nome di v.a. x2 con v gradi di libertà.

Parametro: v (intero positivo): gradi di libertà

Funzione di densità di probabilità:

x< '-'/2)-1 fx (x) = 2'-'/2I' (v / 2)e-xf2, y >O

dove I' ( k) è la funzione Gamma (di Eulero) definita da

k > O.

(C.20)

(C.2 1)

(C.22)

Page 440: Sistemi ad Eventi Discreti

Elementi di teoria del la probabilità 435

Funzione di distribuzione: non è calcolabile in forma chiusa ma è disponibile tabulata (cfr. Tabella C.2).

Media: /.1

Varianza: 2v

In Fig. C.5 sono rappresentate alcune funzioni di densità di probabilità div.a. \ 2 per diversi numeri di gradi di libertà.

A

0.8

V= l : ' - -.. - -- ' '

0.6

0.4

0,2

2 3 4 5 6 7 8 X

Figura C.S FunLioni cli densità di probabilità di variabili aleatorie \ 1

C.4 Variabili aleatorie discrete

Nei pros\imi paragrafi verranno introdotte e caracterizzate. in maniera molto schematica, le v.a. discrete che si incontrano più spesso nella modellazione dei SED.

C.4.1 Variabile aleatoria uniforme discreta

Parametri:

a: estremo sinistro

b: estremo destro

Funzione di >robabilità:

Page 441: Sistemi ad Eventi Discreti

436 Appendice C

Px(.r) = { :- + 1

:r =a.a+ 1. ... . b

altrinwnti

Funzione di distribuzione: o .1 ; <a

Fx(x) = I :r I -a+ 1

b-a+l 'r/ .r E (a.b)

Media:

Varianza:

1 2("+b)

(b - (l + 1)2 - 1

12

C.4.2 Variabile aleatoria geometrica

.r > b

Parametro: p (0 < p < 1 ): probabilità di un singolo successo

Funzione di probabilità:

{

p(l

Px(J·) = O alt rimC'nti

Funzione di distribuzione: .r < l

F.x (J·) = {

o

l - (1 - p) r J .e > 1

Media:

Varianza:

1

]J

] - ]J

1P

C.4.3 Variabile aleatoria di Poisson

Parametro: À (reale positivo). numero medio di cvc1 i per unità d1 tempo

(C.23)

(C.24)

(C.25)

(C.26)

Page 442: Sistemi ad Eventi Discreti

Elementi di teoria della probabilità 437

Funzione di probabilità:

.r E N (C.27)

altri111Pnti

Media: ,.\

Varianza: )..

La trattazione delle v.a. di Poisson viene ripresa nel prossimo paragrafo, dove si approfondisce la descrizione introducendo i processi di Poisson e le relazioni che intercorrono era v.a. di Poisson ed esponenziali.

C.5 Processi stocastici

I processi stocastici (o aleatori) sono modelli matematici probabilistici utilizzati nella descrizione di fenomeni casuali rappresentabili come funzioni d1 un parametro, che soli-tamente rappresenta il tempo. Si è visto che una V.a . .\ (...v ), w E n. è definita da una fun-zione che mappa lo spazio campione nell'insieme dei numeri reali , ossia X : fl -+ JR; un processo stocastico (p.s.) X(w.1) invece è definito da una mappatura dallo spazio campione ali' insieme delle funzioni del tempo.

Spesso si utilizza un p.s. per caratterizzare lo stato di un sistema; se w è fissato, la funzione deterministica del tempo che ne risulta è detta o cammino campio-ne del p.s. e può essere considerata l'uscita di un particolare esperimento che descrive l evoluzione dello stato dcl sistema. Se invece è T a essere fissato, si ottiene una v.a., che può essere pensata come la rappresentazione dello stato (aleatorio) del sistema all'istante di tempo r.

Definizione C.2. Un processo stocastico (o aleatorio) X(w.r) è una collezione di varia-bili aleatorie indicizzate dar, che varia in un insieme T ç JR, e definite sullo spazio delle prove fl. A.

Per semplificare la notazione, un p.s. è di solito indicato con {X ( T)}. Per classificare un p.s., si può far riferimento al suo spazio degli stati, alla strunura dell'insieme degli indici T, o alle caratteristiche delle v.a. che lo definiscono. Se { .\ ( r)} è definito su un insieme finito o almeno numerabile (come N), è detto processo stocastico a spa:,io

o catena. In caso contrario, {X ( T)} è un processo stocastico a tempo cominuo. Se l' insieme T dci valori del parameu·o r è finito o numerabile, {X (r)} è detto processo stocastico a tempo discreto; in particolare, se T = N, il p.s. è detto sequenza stocastica o aleatoria e viene indicato con { Xk}, k E N. NegJj altri casi si parla di processo stocastico a tempo con1111uo.

Si è visto che per caratterizzare una v.a. è necessario specificare la sua funzione di ùistribuzionc. un p.s. {X ( r) invece può essere caratterizzato specificando la funzione di distribuzione (o di densità dj probabilità) congiunta che descrive le relazioni che intercor-rono tra le v.a. che defìniM. ono il processo. A questo scopo, si definisce un vettore aleato-rio X = [X( Ti1 )..\(ri) ... . X(rn i)] che può assumere valori x - [J·o .. r 1 ••• • J· 11 _i];

Page 443: Sistemi ad Eventi Discreti

/

438 Appendice C

allora, per lulte le possibili 11-uple ( .ro .. r 1 .••• ..r 11 _1 ) e ( To, T1 , ...• r 11 _ 1 ) , è necessario specificare la f un1.ione di distribuzione congiunta

Fx (i·o : ... . .1· 11- I; To ..... Tn-d = Pr( .\ ( To ) :::; .l'o . ... . S ( Tn-1 ) :::; .r.n- d (C.28)

Nel caso generale è quindi praticamente impossibile specificare completamente le caratteristiche probabilistiche cli un processo aleatorio. Esistono però classi particolari di processi che possono essere caratteriuati in modo semplice e si rivelano molto utili in pratica nella modellazione di SED.

Processi stocastici stazionari. Un sistema che _,Qrcsenti di ha un comportamento invariante riwetto a trnsla1ioni nel tempo. rn questo ambito. un p.s. { _\ ( r)} è detto se e solo se

Fs {.ro .... .. r 11-1: To + T •. ..• 1"11 - 1 + r) = Fx (.ro ..... :.i·n-1: To: ... : T11 - 1) Vr E.? (C.29)

ossia. se mantiene 11 medesimo cqmportamento stocastico jn gualunqye di t_er.!!QQ; ciò comporta che un esperimento effettuato su un p.s. stazionario risulti statisticamente indipendente da uno stesso esperimento effettuato r unità di tempo dopo (o prima).

Processi stocastici indipendenti. Si faccia riferimento alla più semplice tipologia di stocastica div.a. mutuamente indipendenti { Xk}. k = 0.1. ... . n - l;

tale sequenza è un p.s. ind!pendenre se e solo se

(C.30)

Se poi tutte le v.a. hanno la stessa distribuzione, allora il p.s. è caratterizzato dall'u-nica funzione di distribuzione F y k· (.r k : r1,.). k = O .1. ... . 11 - 1; in questo caso, {X 1.· } è una sequenza di v.a. indipendenti e identicamente distribuite (iid).

C.5.1 Processi di Markov (o markoviani)

Osservando una catena dall'istante di tempo r0 all'istante r,... . con To :::; T1 :::; · • • :::; r,.., si può considerare il valore .rk osservato in T1, come lo stato attuale della catena e i valori {.r0 .;r 1 •••. •• t1,- 1 } come la "storia passata" della catena. In questo senso, si può allo-ra pensare alle variabi li ignote {Sk+l·Xk+'2· .. . } come rnppresemative del futuro negli istanti Tk+ 1 :::; ..... '2 :::; · · -. In una catena indipendente. tale comportamento futuro è incHpendente dal comportamel)to ç attm_1lç; in una çatena di (o mark<Jl'ia-na) tale proprietà forte viene indebolita, considerando invece il futuro come dipendente dallo stato attuale, che "condensa" le informazioni sul com.Portamento passato. Questa nuova proprietà è nota come..J!roprietù di di memona (memorrle'ìs property) e può caratteriz7are processi sia a stato discreto sia a stato continuo.

Tale proprietà è anche denominata proprietà di Marko11, dal nome dello stud ioso A.A. Markov che per primo descrisse e studiò i p.s. che presencano la proprietà suddetta. Pertanto. un p.s. { \ ( r)} si definisce processo di Markov SL

Page 444: Sistemi ad Eventi Discreti

Elementi di teoria della probabilità 439

To TJ · · · Tk+ I (C.31)

Si parla invece di catena di Markov se

J> 1' {X ( k + 1) .r. 1.-+ 1 I X ( k ) - .r b X ( k - 1) = .I' k - 1 •...• X (O) = .r o} =

- Pr{X (k + 1) J·i·+1 I X(k) = i·k} To T1 · · · TJ.·+ I (C.32)

Alle catene di Markov è dedicata una parte rilevante dcl Capitolo 3, dove sono descrilte ed analizzate nel dettaglio.

Processi semi-markoviani. Un semi-rnarkoviano è un 'estensione di un p..c.ocesso di Markov ottenuta rilassando la caratteristica, derivata dalla proprietà di Markov, che iJ tem_po di permanenza stato attuale sia irrilevante. Come conseguenza, i tempi di interevento non risultano più distribuiti esponenzialmente, ma possono avere distribuzione qualunque; quindi le transiLioni di stato possono avvenire in ogni istante di tempo. Quando però avviene una trans171one, il processo si comporta secondo la proprietà di Markov, per cui la aeterminazione del prossimo stato dipende solo dallo stato attuale e non da quelli passati.

Il prossimo paragrafo è dedicalo alla caratterizzazione dei processi stocastici detti di Poisson. che sono veramente importanti e ricorrenti nella modellazione e nello studio dei SED.

C.5.2 I processi di Poisson

In un sistema ad eventi discreti, sia {X ( r)} il processo stocastico che conta gli eventi che accadono ne Jr intervallo (0. r]. In conseguenza della natura stessa del processo definito, lo spazio degli stati è l'insieme dei numeri e presi due generici istanti di tempo Ti e r1. tml ii < TJ, risulta sempre X (Ti) < \ ( TJ); per contare gli eventi che accadono tra questi due istanti arbitrari si definisce la variabile aleatoria

(C.33)

L'intero intervallo (0, r J può essere considerato come partizionato, in modo assolutamente generale, in un numero arbitrario di intervalli ( ri, Ti+ t), i e .N di lunghezza anch'essa arbitraria.

11 processo di conteggio così com· è stato fin qui definito è molto generale: nell' am-bito dei SED risulta di g1.in<le utilità il processo di conteggio che si ottiene <la quello su definito considerando le -.eguenti ipotesi semplificative:

l. in ogni istante può verificarsi un solo evento, cioè, non esistono occorrenze contem-poranee di eventi;

2. le variahil aleatorie \(r1 .r;) e_\ ( r1 .• r,,), con r; < r 1 < r1.- < rh . sono mutuamente indipendenti per ogn scelta di i, J . k e li;

Page 445: Sistemi ad Eventi Discreti

440 Appendice C

3. la probabilità di avere 11 eventi in un generico inLcrvallo ('r,.ri+i], Pr(X(r;.r;) = 11), i .n E N, dipende solo dalla lunghezza ( T;+1 - T;) dell'intervallo considerato e non dagli estremi T; e T;+ 1 del!' intervallo stesso.

Un processo stocastico che soddisfa le tre ipotesi appena enunciate è detto processo di conteggio con incrementi indipendenti stazionari o, più comunemente, processo di Poisson. Questo tipo di processi stocastici, molto utilizzati nell'ambito della modellazione e dell 'analisi di SED, sono caranerizzati da alcune fondamentali proprietà, che vengono di seguito riportate senza dimostrazione; il lettore interessato a dettagli e approfondimenti può far riferimento ai testi "classici" di Papoulis e Ross (Papoulis, 1990; Ross, 1993) o al più recente libro di Gallager (Gallagcr, 1996).

Proprietà C.3. La variabi le aleatoria X ( T) che caratterizza un processo di Poisson segue la distribuzione

. . r E N j (C.34)

con media ELX(r)J =.Àr e varianza 1"ar(.X(r)] = À.T. dove il parametro .À caratterizza la singola distribuzione considerata. •

Per fare un esempio, con riferimento ad un sistema a coda, al parametro .À viene spesso assoc iato il significato di frequenza degli arrivi dei clienti e, di conseguenza, ± viene a rappresentare il tempo medio di intcrarrivo tra due clienti successivi. Questa osservazione conduce naturalmente a porsi un'altra domanda: come viene in generale caratterizzata la frequenza degli eventi in un processo di Poisson? Infatti, alla proprietà appena enunciata segue quella, più generale, che caratterizza la distribuzione dei tempi di interevento in un processo stocastico di questo tipo.

Proprietà C.4. I tempi di interevento di un processo di Poisson sono una sequenza di variabili aleatorie indipendenti e identicamente distribuite (i.i.d.) t'b h.· E N, che costituiscono un processo caratterizzato dalla funzione di distribuzione

se r se T <O

) (C.35)

che è una la corrispondente [unzione di densilà di probabilità è

{ .Àe .\r

fx(r) -0

se T >O se r <O

dove .À è ancora il parametro caratteristico del processo di Poisson.

(C.36)

• Vale anche la proprietà duale di quella appena enunciata; è infatti lecito considerare

una sequenza di realizzazioni di una variabile aleatoria con distribuzione esponenziale come una sequenza di realizzazioni delle variabili aleatorie i.i.d. che rappresentano i tempi di interevento in un processo di Poisson.

Dall'associazione introdotta nella PropriLtà C.3 tra i processi di Poisson e la di-stribuzione esponenziale può nascere la curio..,ttà di conoscere se la nota e vantaggiosa proprietà della distribuzione esponenziale di non avere memoria (mem01:vless property) viene in qualche modo applicata nel contesto ;he stiamo e )n·;iderando. Effettivamente

Page 446: Sistemi ad Eventi Discreti

Elementi di teoria della probabilità 441

tale proprietà viene sfruttata per caratterizzare i tempi residui di interevento. Supponiamo che nell'istante di tempo 'Tk si sia verificato un evento e che il prossimo evento sia dunque atteso dopo il tempo di interevento 1/.•k, cioè all'istante di tempo Tk + l 'k; si supponga inoltre che, giunti ali' istante Tk + a, cioè quando 1' età dell 'evento corrente è a, l'evento successivo non si sia ancora verificato. Per la proprietà della distribuzione esponenziale di non avere memoria, la condizione t 'k > a non aggiunge informazione; ciò conduce alJ' enunciato di un· importante proprietà, che vale solo per la distribuzione esponenziale.

Proprietà C.5. Sia Il il generico tempo di interevento di un processo di Poisson e a l'età dell 'evento attuale ad un dato istante di tempo r; la variabile aleatoria tempo residuo di intereveuto ha la stessa distribuzione esponenziale del tempo di interevento, cioè

(C.37)

• Per completare e concludere la breve trattazione sui processi di Poisson, bisogna

osservare che fino a questo punto si è fatto riferimento a sistemi in cui accade un solo tipo di evento; essendo questa un'ipotesi certamente molto limitativa, se le interessanti proprietà enunciate valessero solo quando tale ipotesi è soddisfatta risulterebbero di dif-ficile applicabilità a sistemi reali. Fortunatamence invece, tali proprietà possono essere estese a sistemi ad eventi discreti caratterizzati dall'occorrenza di un numero qualunque m di tipologie di eventi, a patto che siano tutte distribuite secondo Poisson. Vale infatti la seguente proprietà.

Proprietà C.6. Il processo risultante dalla..sovrapposizione di ni- processi di Poisson mutuamente indipendenti,5caratterizzati dai parametri Ài, i = 1 .... m, è ancora un processo di Poisson , caratterizzato dal parametro

(C.38)

Bibliografia

• Feller, W.,An introduction ro probability t/Jeory and its applications. Wiley, 1968.

• Gallager. R.G., Discrere stochastic processes, Kluwer, 1996.

• Gillespie. D.T., Markov pmcesses, Acadcrnic Press, 1992.

• Papoulis, A., Probahility and statisrics, Prentice Hall , 1990.

• Parzcn, E.,Modern probabif ity rheory ami it.\' applications, Wiley, 1960.

• Ross, S.M., lnrroduc tion to probability mode/s, 5th ed. , Academic Press, 1993.

Page 447: Sistemi ad Eventi Discreti

442 Appendice C

Distribuzione di Poisson Distribuzione esponenziale

Misura numero di eventi nel tempo r intervallo r tra due eventi

Tipo discreta continua

Media J.l = >.r 1

J.l = ->.

., •) ,\ •)

1 -Varian-::,a a- = T a- = -

À

Tabella C.J Confronto tra le distribuzioni di Poisson ed esponenziale

Page 448: Sistemi ad Eventi Discreti

Elementi di teoria della probabilità 443

., ., ') •)

I/ \ 0.01 \ 6.02 \ o.o;; \ 0.10

I 6,635 5,412 3,841 2,706 2 9,210 7,824 5,99 1 4,605 3 11,341 9,837 7,815 6.251 4 13,277 11 ,688 9,488 7,779 5 15,086 13,388 11,070 9,236 6 16,812 15,033 12,592 l0,645 7 18.475 16,622 14.067 12,017 8 20.090 18,168 15.507 13,362 9 21.666 19.679 16.919 14.684 10 23.209 21,161 18.307 15.987

11 24.725 22,618 19.675 17.275 12 26,2 17 24,054 21,026 18,549 13 27,688 25,472 22,362 19,812 14 29,141 26,873 23,685 21.064 15 30,578 28,259 24,996 22,307 16 32,000 29,633 26,296 23,542 17 33,409 30,995 27,587 24,769 18 34,805 32,346 28,869 25,989 19 36,191 33.687 30, 144 27,204 20 37,566 35,020 31,410 28,412

21 38,932 36,343 32,67 1 29,615 22 40.289 37,659 33,924 30.8 13 23 41,638 38,968 35.172 32,007 24 42.980 40,270 36.415 33, 196 25 44,3 14 41,566 37,652 34.382 26 45.642 42.856 38.885 35,563 27 46,963 44.140 40. 11 3 36,741 28 48,278 45,419 41.337 37,9 16 29 49,588 46.693 42,557 39,087 30 50,892 47,962 43.773 40,256

·-

Tabella C.2 Valori critici d1 \ 2 con v gradi di libertà per livelli di confidenza al 99'A. 98%, 95o/c e <)()';(.

Page 449: Sistemi ad Eventi Discreti

D Formule notevoli

Si ricordano alcune formule notevoli usale nel corso del libro.

Proposizione D.1. Dati J.: .rn .n E N e g E JR, valgono Le seguenti identità.

1. Serie aritmetica.

2. Serie geometrica finita.

l 11

I: /'= l.·=m

3. Serie geometrica infinita.

'.)C

/.; = 11 (11 + 1). L 2 1.·=l

1 - y" 111+ l {}m

1 {}

n-m+l

se g f. 1:

se f2 = l.

I: rl= 1 lii --o 1 - {] -

se lfll < l. k=m

4. Serie geometrica infinita pesata . . ,

2= kp"' = I.. m

111 + {! - lii{} lii

(1 )., {}

- !J -se lfll < 1.

La prima identità è un elementare risultato già noto ai compagni di classe del bambino J.C.F. Gauss. La seconda identità può provarsi ricordando la nota formula ( I - gn-'-l) = ( 1 - o) ( J -+ (} I- · · · + g") e tenendo presente che

TI 11 /11

L rl = 0111 L fl.

k=m k-0

La terza identità si dimvma eseguendo il limite della seconda identità per /1 -t '.)C: tale Limite esiste finito se e 'iOlo se lgl < 1 (raggio di convergenza) La quann identità si

Page 450: Sistemi ad Eventi Discreti

446 Appendice D

dimostra riscrivendo

' ' :X :X:

koJ..· = om (m + o+ o2 + ··· ) '"°' ok = 0111 (m L...,, .... .... .... L_., ..=. - l +L: fl) Z: l k m J..--0 k=O /..·=O

e usando Ja precedente identità. D

Page 451: Sistemi ad Eventi Discreti

AFD

AFN

CMN

CMNM

CMTC

CMTC-NM

CMTD

CMTD-NM

ER

FCFS

HFO

GMEC

GMT GMTFC

GSMP

JlT

MED

PASTA

PSMG

Pff

RP

RPI

RPSG

RPT

RPTD

RPTS

E Acronimi

Automa finito deterministico.

Automa finito non deterministico.

Catena di Markov nascosta.

Catena di Markov nascita-morte.

Catena di Markov a tempo continuo.

Catena dì Markov nac;cita-morte a tempo continuo.

Catena <li Markov a tempo discreto.

Catena di Markov nascita-morte a tempo discreto.

Espressione regolare.

First come first served.

First in firsf out.

Generali-;,ed mufllal exc/usion constraint.

Grafo marcato temporizzato.

Grafo marcato temporizzato fortemente connesso.

Genera/iz.ed semi-markov process.

Just in time.

Modello ad eventi discreti.

Poisson arrivals see time al'erages.

Processo semi-markoviano generalizzato.

Posto/transizione (.rete di Pctri).

Rete di Petri.

Rete di Pctri ibrida.

Rete di Petri stocastica generaliz7ala.

Rete di Pctri tcmporiaata.

Rete di Pctri temporizzata deterministica.

Rete di Pctri ternporiaata stocastica

Page 452: Sistemi ad Eventi Discreti

448 Appendice E

SAT Sistema ad avanLamcnto temporale.

SEO Sistema ad eventi discreti.

Page 453: Sistemi ad Eventi Discreti

a.b,c . .. .

ClJt

A (.r),A (w),

.A(M )

A1111m(M)

C = Post - Pre

e ,,

C uc,C uo

C , =Post - Pre

e ej E {0.l}m

E

E ·

F=G ll H

C: = (X.E.6 .. ro.X.111)

G-= (.\.E _j .J·o .X111)

G., = (X.E.6 .. rol-J

F Notazione

Simboli di un alfabeto, eventi.

L'istante di arrivo del k-esimo cliente in una coda.

L'insieme degli eventi abilitati da un automa dallo stato .r o dopo aver generato la parola w .

L' insieme delle transizioni abilitate nella marcatura M.

L' insieme delle transizioni immediate di una RPSG abilitate nella marcatura M.

La matrice di incidenza di una rete Pff.

La matrice di incidenza a ciclo chiuso di una rete Pff con-trollata mediante monitor.

Parte di una matrice di incidenza relativa alle sole transizioni non controllabili o non osservabili.

La matrice di incidenza di un posto monitor

Parte della matrice di incidenza del monitor p" relativa alle sole transizioni non controllabili o non osservabili.

L'insieme dei numeri complessi.

Il .i-mo vettore di base canonica la cui sola componente non nulla è e(k) = l.

Un insieme di eventi, un alfabeto.

Gli insiemi degli eventi controllabili e incontrollabili.

L' insieme di tutte le parole definite sull'alfabeto E.

L'automa che s1 ottiene componendo un sistema G con i · au-toma che rappresenta una specifica H.

Un supervisore monolitico che si ottiene rimuovendo da F gli stati non controllabili.

Un automa finito deterministico (Af<D ).

Un automa finito non deterministico (AFN).

Un automa temporizzato deterministico.

Page 454: Sistemi ad Eventi Discreti

-

450 Appendice F

= (X.E.6.J:o.tJi )

g = (1 '.A.)

Il

lx (X.Mo )

I\ C E.

ç [{

r., ç E"'

T., .l' .CL

L (G ), L m(G)

L ( G I ;r ), L 111 ( (; I .r)

L (S ,Jlo )

L (.Yt) .Lm( S t)

L( S/G). L 111 (S/G)

T. (a )

.C \Iv. LAJ- ·", Li;u

.C(w.k)

M u

.1\lt (X,Mo:w.k )

. \lt <.(N.M 0 .w.A· )

• \lt uc (S.M o:w.k )

\ = (P.T.Pre.Post )

Yt = (_\ .M o.l.F )

(N.Mo)

N ={O. 1. :2. · · ·}

N_ = {l. 2. · · ·}

Un automa temporizzato stocastico.

Un grafo con insieme di vertici l" e insieme di archi .-\.

L'automa che rappresenta la specifica K.

L'insieme delle marcature X-invarianti nella rete (.Y.M0 ) .

Linguaggio che rappresenta una specifica dinamica sull'alfa-beto E.

11 sotto I inguaggio controllabile supremo dcl linguaggio I\' .

Un linguaggio sull'alfabeto E.

La chiusura prefissa, la stella di Kleenc e il complemento del linguaggio L.

Il linguaggio generato e accettato dall'automa G.

Il linguaggio generato e accettato dall'automa G se .r fosse lo stato iniziale.

L'insieme delle sequenze di scatto abilitate sulla rete marcata (N, 1\10) (linguaggio della rete).

Il linguaggio generato e il linguaggio accettato dalle rete eti-chettata S r.

Il linguaggio generato e accettato dal sistema a ciclo chiuso costituito dall'automa G soggetto al supervisore S.

lJ linguaggio espresso dall'espressione regolare a .

Le classi dci: linguaggi accettati da automi deterministici; linguaggi accettati da automi non deterministici; linguaggi regolari. Tali classi coincidono .

L'insieme delle marcature legali definito dalla GMEC ( w .k).

La marcatura di una rete Pff.

La marcatura a ciclo chiuso M , . - [ M '/' I T di una

rete Pff controllata da un monitor

L'insieme delle marcanire raggiungibi li sulla rete (N.M0 ) e legali rispetto alla GMEC ( w .k ) .

Sottoinsieme controllabile di. v f (S.M0 .w.k ) .

Sottoinsieme incontrollabile di \lt ( Y.M0 .w.k).

Una rete di Petri posto/transizione (Pff).

Una rete etichettata costituita d..t una rete marcata ( .. \.Mo) . una funzione di etichetta ( : T -7 E e un in<.; ieme di marca-ture finali F.

Una rete marcata. cioè una ret i.! .\' con marcatura iniziale Mo.

L'insieme dei numeri naturali ( iteri non neg.1tivi).

L' insieme degli intt·n positiv i.

Page 455: Sistemi ad Eventi Discreti

N.., =NU {w}

ot'

o*

Ps • p.p•

Pij

/Jk p p( plJ

p

Post : I' x T -t N

Pre : J> x T -t N

PR( \ .Mo)

Q fl (X. J\!o)

s

tu ··· E g·

I wJ

Notazione 451

L'insieme dei numeri naturali esteso con il simbolo vJ.

L'orologio dell'evento e.

Il valore del tempo di interevento in un automa temporizzato.

Un posto di una rete Pff.

Un posto monitor che controlla una rete Pff.

L'insieme delle transizioni di ingresso e di uscita relative al posto p.

La probabilità di transizione dallo stato .r, allo stato .r J .

L'istante di partenza del cliente di una coda.

L'insieme dei posti di una rete Pff.

L'insieme dci posti continui di una rete di Pctri ibrida.

L'insieme dei posti discreti di una rete di Petri ibrida.

La matrice delle probabilità di transi/ione <li stato di una CMTD.

La matrice "post" di una rete Pff.

La matrice .. pre'' di una rete Pff.

L'insieme delle marcature potenzialmente raggiungibili nella rete marcata (X.Mo).

La matrice dei tassi di transizione di stato di una CMTC.

L'insieme delle marcature raggiungibili sulla rete marcata (N11U0 ) (insieme raggiungibile).

L'insieme dei numeri reali.

Un supervisore.

Una transizione di una rete Prr.

L'insieme dei posti di ingresso ed di uscita relativi alla tran-sizione t.

L'insieme delle transizioni di una rete Pff.

L'insieme delle transizioni continue di una rete di Petri ibri-da.

L'insieme delle transizioni discrete di una rete di Pctri ibrida.

L'insieme delle transizioni immediate di una RPSG.

L'insieme delle transizioni temporinate (stocastiche) di una RPSG.

L'insieme delle transizioni controllabili, non controllabili, os-servabili e non osservabili di una rete Prr.

Una parola (o stringa) sull'alfabeto E.

Frequenza del simbolo e nella parola 11· .

Lunghezza de lla parola 111.

Page 456: Sistemi ad Eventi Discreti

452 Appendice F

(w.A·) Un vincolo generalizzato di mutua esclusione (GMEC) co-stituito da un vettore w E Z m e uno scalare k E Z.

(W.k ) Una GMEC multipla.

x.y E N1"

. r( T)

Xm

Xr

x,\ ex y E N11

Z = {O.± 1, ± 2, · · ·}

a,/3.1

ì

r ò:XxE--tX

ò•: X X -7 X

Un P-invariante (o in genere un P-vettorc) di una rete P!f .

Il numero di clienti nel sistema (in coda o in servizio) all'i-stante T.

li numero di clienti in coda (in attesa).

L'insieme degli stali.

L'insieme degli stati finali di un automa.

L'insieme degli stati tangibili X r di una RPSG.

L'insieme degli stati evanescenti X, di una RPSG.

Una specifica statica.

Un T-invariante (o in genere un T-vettore) di una rete P!f.

L'insieme dei numeri interi.

Espressioni regolari (ER).

Un cammino o ciclo elementare su un grafo.

Insieme di cammini (o cicl i elementari) su un grafo.

La funzione di transizione di un automa deterministico.

La chiusura transitiva e riflessiva della funzione di transiLio-ne di un automa .

.J ç X x (EU {e }) x X La relazione di transizione di un automa non deterministico.

_\ * ç X x (E U {.:} )" x X La chiusura transitiva e riflessiva della relazione di transi-zione di un automa non deterministico.

Ùs./.:

1)(")

A - { Ap : e. E E}

L(G) --t

:= = 2''

7r(k)

La parola vuota, una stringa di lunghezza zero.

Il tempo di intcrarrivo tra due clienti successivi in una coda.

Il tempo di attesa in coda del k-esimo cliente.

Il ritardo di attivaLione dell'evento t.

Il tempo di permanenza (attesa+ servizio) del k-esimo clien-te in una coda.

Il tempo di servizio del k-esimo cliente in una coda.

Il tempo di ritardo del ciclo elementare "".

La struttura di orologio o di lemporiuazione di un automa temporizzato deternùnistico.

Il contatore di attivazione delr evento r.

L'ingresso di controllo generato da un supervisore.

L'insieme dei possihi li eventi di controllo d1 un supervisore.

Il vettore delle p obabilità di tao di una CMTD all'istante k.

Page 457: Sistemi ad Eventi Discreti

a ET*

tJ! = { tJ! <> : e E E}

w

0.1

.. t

Il

u,n .\ + ... *

11 · li ç,c

Notazione 453

Il vettore della distribuzione limite delle probabilità di stato di una CMTD.

Il coefficiente di carico di un sistema a coda.

Una sequenza di transizioni a = l 112 · · · l1;(sequenza di scat-to).

Il vettore caratteristico di una sequenza di transizioni (vettore di scatto).

L' istante di tempo in cui la transizione t 1 scatta per la k-esima volta.

L'istante di tempo in cui arriva nel posto p 1 la k-esima marca.

Il tempo di attivazione dell'evento e.

Il peso della transizione immediata l 1 di una RPSG.

La struttura di orologio o di temporizzazione di un automa temporizzato stocastico.

Una componente illimitata della marcatura di una rete Pff.

Un vettore colonna con tutte le componenti pari a O e pari a 1.

L'insieme vuoto.

L' operatore di concatenazione tra parole, linguaggi ed espres-sioni regolari .

L'operatore stella di Kleene.

L'operatore di proiezione di una parola o linguaggio su un alfabeto.

L'operatore di composizione concorrente fra linguaggi ed au-tomi.

Gli operatori di unione, intersezione e differenza fra insiemi.

l tre operatori definiti sulle espressioni regolari (unione, con-catenazione. stella di Kleene).

Operatore di scarto di una rete Pff: M[t)M' indica che la transizione t è abilitata da M e il suo scatto produce M'.

Denota il supporto di un P-vettore Il x Il o T-vettore Il y Il· Le relazioni di inclusione e stretta inclusione fra insiemi.

Indica due espressioni coincidenti.

Relazione di indistinguibilità fra gli stati di un automa.

La relazione di prefisso fra stringhe .

. l {==::} B se le proposizioni .:l e B sono equivalenti.

A ==> B se la proposizione A implica B.

Indica la fine di una definizione o di una nota.

Indica la fine di una proposizione o di un algoritmo.

Page 458: Sistemi ad Eventi Discreti

454 Appendice F

+ Indica la fine di un esempio.

O Indica la fine di una dimostrazione.