Sei sulla pagina 1di 47

` UNIVERSITA DEGLI STUDI DI MILANO BICOCCA

` FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI

Corso di Laurea in Informatica

OPERATORI DI CHIUSURA NELLE RETI DI OCCORRENZE


SUPERVISORI:
prof.ssa L. Pomello (relatrice) dott. L. Bernardinello (correlatore)

Relazione della prova nale di: Riccardo Vincenzo Vincelli (709588) r.vincelli@campus.unimib.it

AA 2009-2010 - seconda sessione, 25/11/2010

Indice
1 Denizioni preliminari 1.1 Insiemi parzialmente ordinati . . . . . . . . . . . . . . 1.2 Tagli e linee . . . . . . . . . . . . . . . . . . . . . . . . 1.3 N e K densit` . . . . . . . . . . . . . . . . . . . . . . . a 1.4 Reticoli . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Operatori di chiusura su insiemi parzialmente ordinati 1.6 Reti di Petri . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 Reti di occorrenze . . . . . . . . . . . . . . . . 4 4 6 8 8 9 10 12 15 15 17 17 19 23 24 26 27 29 31 36 36 37 37 37 38 40 41 43 45

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

2 Operatori di chiusura su reti di occorrenze: un esempio 2.1 Applicabilit` e risultati generali . . . . . . . . . . . . . . . . a 2.2 La griglia di Petri . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Struttura . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Interpretazione da un punto di vista sico . . . . . . 2.2.3 Sottostrutture in esame . . . . . . . . . . . . . . . . 2.3 I sottinsiemi chiusi . . . . . . . . . . . . . . . . . . . . . . . 2.4 Relazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 li riessiva . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 li antiriessiva . . . . . . . . . . . . . . . . . . . . . 2.4.3 co riessiva . . . . . . . . . . . . . . . . . . . . . . . 2.4.4 co irriessiva . . . . . . . . . . . . . . . . . . . . . . 2.5 Prospetto riassuntivo dei risultati ottenuti . . . . . . . . . . 3 Algoritmi proposti e strumenti software di supporto 3.1 Approccio computazionale . . . . . . . . . . . . . . . . 3.1.1 Rappresentare un poset . . . . . . . . . . . . . 3.1.2 Algoritmi . . . . . . . . . . . . . . . . . . . . . 3.1.3 Complessit` dellalgoritmo principale . . . . . . a 3.2 Strumenti software di supporto . . . . . . . . . . . . . 4 Conclusioni Bibliograa

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Introduzione
Il lavoro di stage ` consistito nello studio degli operatori di chiusura sulle reti di e occorrenze, particolari reti di Petri. Pi` in dettaglio si ` esaminata una precisa u e rete di occorrenze comunemente detta griglia spaziotempo di Petri, individuando in essa varie sottostrutture di stati ed identicandone la natura di elementi chiusi o non-chiusi rispetto alloperatore denito. Parallelamente a ci` sono stati progettati algoritmi rappresentanti loperatore di o chiusura stesso, utilizzabili per isolare gli elementi chiusi di un generico insieme parzialmente ordinato. Nellambito della teoria della concorrenza la struttura di insieme parzialmente ordinato ` sempre stata centrale: essa infatti mette a disposizione un ambiente e teorico con cui modellare in modo soddisfacente un sistema concorrente, considerando gli elementi del supporto come le componenti del sistema stesso ordinate rispetto ad una relazione che ` comunemente intesa come causalit`. e a Le reti di Petri sono un modello principe in questarea, contraddistinguendosi per una denizione semplice ed una rappresentazione chiara seguita da unaltrettanto chiara possibilit` di simulazione; inne sono pure adatte alla verica a formale di propriet` del sistema modellato. a Una famiglia di reti di Petri ` quella delle reti di occorrenze tipicamente intee sa come la traccia dellesecuzione di un processo concorrente ad essa associato. Non sorprendentemente, una rete di Petri di occorrenze ` anche un insieme pare zialmente ordinato: infatti ` aciclica e rimane la relazione di usso, grazie alla e quale lordine ` denito sullinsieme unione di stati ed eventi. e In un insieme parzialmente ordinato la relazione base induce unulteriore coppia di relazioni duali: dipendenza ed indipendenza tra elementi. La prima sussiste se, dati due elementi qualsiasi, uno ` in relazione di dipendenza con laltro ossia e se ne ` causa o viceversa; lindipendenza si ha quando non si ha la dipendenza. e Una propriet` di queste relazioni che pu` essere stabilita convenzionalmente ` a o e la riessivit`, e la scelta nelle applicazioni non ` indierente. a e Il concetto di chiusura occorre in molteplici aree, ed anche specicatamente per gli insiemi parzialmente ordinati ` possibile costruire un operatore di chiusura; e esso ` denibile assiomaticamente sopra una relazione simmetrica, nel nostro e caso quella di dipendenza od indipendenza. Applicando loperatore ad una particolare struttura, il supporto ` suddiviso in sottinsiemi chiusi e non, con e interessanti propriet` formali. a Vogliamo applicare loperatore denito ad una particolare rete di occorrenze, la struttura tipicamente chiamata griglia spaziotempo di Petri; questa struttura, innita e regolare, ` costruibile direttamente a partire dallo spaziotempo relatie vistico, e nella sua interpretazione principe per il lavoro ` esame di una retta del e 1

piano in rispetto al moto di particelle nel tempo. Nella struttura trova naturale applicazione lutilizzo di una relazione di inuenza per ordinare gli eventi, che modellano interazioni tra particelle, e gli stati, rappresentanti la congurazione di queste tra uninterazione e laltra. Volendo studiare loperatore di chiusura su tale griglia, giacch ` innita non e e ` possibile trovare sistematicamente tutti gli insiemi chiusi, ma sfruttando la e regolarit` e ponendo lattenzione esclusivamente su alcune sottostrutture che a paiono signicative ` comunque possibile arrivare a dei risultati eettivi. Varie e sottostrutture sono esaminate, rispetto a tutti e quattro gli operatori costruibili: infatti la relazione base pu` essere presa riessiva od irriessiva, e questa scelta o determina relazioni di dipendenza ed indipendenza riessiva ed irriessiva, od irriessiva e riessiva rispettivamente. Linteresse per gli insiemi chiusi pu` essere puramente teorico, per esempio la o famiglia dei chiusi di un insieme forma un reticolo rispetto allinclusione, ma si aprono anche interpretazioni per la teoria della concorrenza e della sica quando i sottinsiemi chiusi coincidono con un altro tipo di sottinsieme di una rete di occorrenze, gli insiemi causalmente chiusi: essi possono essere letti nella prima prospettiva come sottocomponenti eseguibili non necessariamente in sequenza, nella seconda come sottoreti coerenti con una certa osservazione sotto tutte le possibili linee di moto di un medesimo insieme di particelle. Computazionalmente, loperatore di chiusura corrisponde ad un gruppo di algoritmi che, dato in input il supporto di un insieme ordinato ed eventualmente indicazioni circa la relazione, restituisce gli elementi chiusi. Per arrivare alla risposta, seguendo la denizione, un approccio al problema di identicare un sottinsieme come chiuso o non-chiuso consiste nel costruirne linsieme polare e successivamente linsieme chiusura, tipicamente passando per la costruzione di tali insiemi per ogni suo singolo elemento, e vericare se il risultato ` ancora il e sottinsieme di partenza. Essendo che linsieme delle parti di un insieme ha cardinalit` esponenziale, collezionare i sottinsiemi chiusi ` un problema intrattabile a e per grandi istanze, ma la procedura che d` la risposta per un singolo sottinsieme a si mantiene di per s quadratica sia in tempo sia in spazio. e Lambiente in cui ` stato sviluppato il codice ` una piattaforma di calcolo sime e bolico, e la scelta si motiva fondamentalmente con la presenza di una robusta ed estesa libreria di codice e la praticit` nella rappresentazione delle strutture. a Ulteriori sviluppi al lavoro possono essere tra gli altri linvestigazione di altre sottostrutture della griglia di Petri, lo studio di nuove griglie formalmente derivabili da questa, lo sviluppo di algoritmi per risolvere al calcolatore problemi ani come lidenticazione degli insiemi causalmente chiusi di una rete di occorrenze o lanalisi di sue propriet` formali come la densit`. a a Nel capitolo 1 sono introdotte le denizioni teoriche necessarie alla comprensione del lavoro, ossia insiemi parzialmente ordinati, reti di Petri, reti di Petri di occorrenze ed operatori di chiusura anzitutto, cos` come altre, tagli e linee, N e K densit` (entrambe riferite agli insiemi parzialmente ordinati), reticoli. a Il capitolo 2 ` sicuramente il capitolo principale, e nelle sue sezioni trova posto e la discussione delloperatore di chiusura applicato ad una particolare struttura, la griglia di Petri, che viene anche illustrata formalmente ed inquadrata in una sua interpretazione sica, cos` come una giusticazione del perch si ` scelto e e di studiare gli insiemi chiusi; in questo studio lidea ` quella di vericare se e sottostrutture caratteristiche della griglia siano o meno chiuse, ed i risultati a 2

riguardo sono illustrati singolarmente e riassunti. Nel capitolo 3 segue la descrizione di un approccio computazionale alla risoluzione del problema di determinazione dei chiusi in una struttura rappresentante un insieme parzialmente ordinato: sono introdotti gli algoritmi progettati, accompagnati da una breve analisi di complessit`, e si presenta lambiente di calcolo a simbolico in cui essi sono stati sviluppati. Inne nel capitolo conclusivo sono proposte possibili linee di sviluppo del problema trattato, che possono principalmente scaturire dal concentrarsi su altre sottostrutture o dallesaminare strutture alternative derivabili dalla griglia.

Capitolo 1

Denizioni preliminari
In questa sezione raccogliamo le denizioni principali delle strutture formali dinteresse, con contenuti sia dallalgebra sia dalla teoria della concorrenza, presentando anche esempi nei vari casi.

1.1

Insiemi parzialmente ordinati

Dato un insieme P ed una relazione su di esso, deniamo la struttura di insieme parzialmente ordinato (poset, partially ordered set), indicandola con (P, ), mediante i seguenti assiomi [?]:
x x x P (x y y x) x = y x, y P (x y y z) x z x, y, z P

Notiamo, come al solito, che il simbolo usato ` generico e non vuole indicare e la nota relazione minore-uguale, che pure ` il classico esempio di relazione rie essiva, antisimmetrica e transitiva. Un esempio di insieme parzialmente ordinato ` (N + , |), con N + i naturali e positivi, dove | ` la nota relazione divide: e

10

Figura 1.1: Il diagramma di Hasse del poset ({1, ..., 10} N, |)

Nel caso in cui valga: (x y y x) x, y P allora diciamo che (P, ) ` un ordine totale (toset). e Ancora sui numeri naturali, la struttura (N, ) con la nota relazione minoreuguale, ` un insieme totalmente ordinato. e Se la coppia (P, ) non ` un insieme totalmente ma parzialmente ordinato, e vale: x, y P : x||y dove: x || y ((x y)) (y x)) Unaltra denizione di insieme parzialmente ordinato, non equivalente alla data, prende la relazione irriessiva e transitiva; in questo caso (P, <) ` un insieme e parzialmente ordinato con ordine stretto:
x P : x < x (x < y y < z) x < z x, y, z P

essa ha a modello la relazione minore, e sono analogamente denibili i concetti di relazione dincomparabilit` || e di insieme totalmente ordinato. a Esempio noto si ha come sopra, prendendo per` la relazione minore. o Deniamo ora due insiemi in funzione di un generico x P con (P, R) insieme ordinato: Dx = {y P | (x R y) (y R x)} (cono) Cx = {y P | x || y} (anticono) Le due relazioni su cui questi due insiemi sussistono le chiamiamo di dipendenza lineare (li ) e concorrenza (co) rispettivamente, e chiamiamo un insieme di questa forma, indipendentemente dalla relazione sussistente, polare di P . La prima ` riessiva se lordine non ` stretto, perch R ` in tal caso riessiva, e e e e irriessiva altrimenti; il duale vale per la seconda (se si assume che ogni elemento ` dipendente da se stesso allora ogni elemento non pu` essere concorrente e o rispetto a se stesso e viceversa). Entrambe sono simmetriche ed e necessariamente transitive. Se prendiamo il poset di sopra (N + , |) ad esempio, per lelemento bottom 1 vale D1 = N + , mentre per il secondo elemento 2 vale sicuramente C C2 con C = {3, 5, 7}. Gracamente, queste costruzioni sono rappresentate mediante un particolare graco chiamato diagramma di Hasse; esso pu` essere denito formalmente, a o partire dallinsieme di copertura del poset in esame (vedi ??).

1.2

Tagli e linee

Sia (P, R), con R relazione simmetrica, un poset; una cricca Q P ` sottinsiee me che forma una catena rispetto alla relazione R, ossia vale: x, y Q x R y Q ` una cricca massimale se ` una cricca e vale pure la seguente: e e p P Q q Q : (p R y) Deniamo ora gli insiemi dei tagli e delle linee del poset (denotati da Cuts(P ) e Lines(P ) rispettivamente): essi sono gli insiemi di tutte le possibili cricche massimali costruite su co e su li rispettivamente.

Figura 1.2: Il sottinsieme Q = {1, 3, 5} ` una linea: infatti 1 li 3 li 5, (2 li 3), e (4 li 3), (6 li 3) e (7 li 5)

Figura 1.3: Il sottinsieme Q = {2, 3} ` un taglio; infatti 2 co 3, (1 co 2) e (4 e co 1)

1.3

N e K densit` a

N-densit` e K-densit` sono due propriet` formali che un insieme parzialmente a a a ordinato pu` esibire; la seconda ` una generalizzazione della prima e seppur esse o e non siano centrali nel lavoro, sono presentate perch interessanti nella prospete tiva sica della struttura della griglia di Petri, introdotta in ??. Un poset (P, R) ` N-denso se vale la seguente: e x, y, v, w P ((y R v) (y R x) (w R v) (y co w co x co v)) z P : (y R z R v) (w co z co x) Per (P, R) K-denso invece: C Cuts(P ), L Lines(P )|C L| = 1 La K-densit` raorza la densit` denita dalla N-densit`, che ` per cos` dire a a a e locale, e si basa sullinterpretare i tagli come stati globali del sistema modellato mediante ordine parziale, le linee come sottoprocessi sequenziali di questo. In un poset K-denso ogni linea attraversa ogni taglio in uno ed un solo punto e per la K-densit` ogni occorrenza di un sottoprocesso devessere in un qualche a stato. La K-densit` ha uninterpretazione sica quando costruiamo la griglia di Petri, a ed al proposito si rimanda a ??.

1.4

Reticoli

Un reticolo (lattice in inglese) R pu` essere denito, come struttura autonoma, o mediante una tripla (L, , ), dove L ` un insieme e , : L2 L due mappe, e normalmente chiamate join e meet rispettivamente; seppur ci sia analogia tra tali operazioni ed i connettivi logici or ed and (vedi sotto) tali funzioni non vanno confuse con questi ultimi. Tali applicazioni devono godere di varie propriet`: associativit`, commutativit`, a a a idempotenza, assorbimento. Un insieme parzialmente ordinato (P, R) ` un ree ticolo (P, , ) se per ogni coppia di x, y P , esistono gli estremi superiore ed inferiore x y, x y rispettivamente, entrambi in P . Per esempio linsieme parzialmente ordinato (P(A), ) con A generico forma un reticolo; infatti: X, Y P(A), sup{X, Y } = X Y , inf {X, Y } = X Y , e si pu` facilmente vericare che tali operazioni join e meet rispettano i quattro o assiomi. Un reticolo si dice completo se esiste un join ed un meet per ogni elemento.

a,b,c

b,c

a,c

a,b

Figura 1.4: Il diagramma di Hasse del reticolo (A = {a, b, c}, )

Per rappresentare gracamente i reticoli classicamente si adopera il diagramma di Hasse, come per i parzialmente ordinati (anche in virt` del fatto che i primi u possono essere visti come caso particolare dei secondi).

1.5

Operatori di chiusura su insiemi parzialmente ordinati

` E ben denito, come ci si aspetta per ogni costruzione algebrica, il concetto di isomorsmo tra insiemi ordinati. Un isomorsmo ` denito come una coppia di e mappe (, 1 ) che preservano la struttura dellelemento su cui operano (omomorsmi); nel nostro caso, parlando di insiemi ordinati, lordine ` preservato, e e diremo che due insiemi ordinati P e Q sono -isomor se vale la seguente: : P Q | x RP y (x) RQ (y)

dove RP ed RQ sono le relazioni su cui P e Q sono ordinati rispettivamente, e il duale per linversa 1 . Se per esempio (P, RP ) e (Q, RQ ) modellano due sistemi le cui componenti possono essere sia dipedenti sia concorrenti tra loro, un sistema distribuito generico, la possibilit` di costruire una mappa come quella illustrata suggerisce che essi a fanno la stessa cosa: per esempio sia una stampante sia un editor di testo devono essere attivati (accensione-esecuzione) e solo dopo questo passo iniziale possono essere utili (ricezione le di stampa-ricezione input tastiera) ma una volta attivi possono, indipendentemente da quel che lutente chiede, mandare messaggi (es. carta terminata, spazio su disco esaurito). La possibilit` di passare da unistanza ad unaltra ` un concetto denito anche a e per strutture pi` particolari come le reti di Petri e permette lo studio di prou priet` anche complesse dei sistemi modellati. a Tornando nel dettaglio per`, ci interessa investigare una particolare classe di o mappe: dallinsieme delle parti di un insieme, dove si ha una relazione arbitraria R , in s (endomorsmi), C : P(P ) P(P ), gli operatori di chiusura e (closure operators). Essi sono denibili, per quanto ci riguarda, mediante i seguenti assiomi (Q, Q P ):
Q C(Q) Q Q C(Q) C(Q ) C(C(Q)) = C(Q)

Si hanno allora le tre propriet` di estensivit`, incremento ed idempotenza coa a muni ad un qualsiasi operatore di chiusura. Le relazioni R cui vogliamo riferirci sono due relazioni li e co (controparti sullinsieme potenza P(P ) di quelle che abbiamo dato in ?? su P ), caratterizzate, posto C = (.) = ((.) ) , dal seguente insieme: R R R (Q) = {p P | q Q : (p, q) R} R dove R : P P ` una relazione simmetrica (li o co); allora C ` un operatore e e di chiusura esattamente come appena denito e segue tra laltro che () = . R Per i nostri scopi quindi, un elemento Q P(P ) ` un elemento chiuso secondo e loperatore di chiusura se (Q) = Q, ossia se lelemento coincide con la propria R chiusura. Lesame della propriet` di chiusura di sottostrutture signicative di una para ticolare rete di Petri ` argomento principale del lavoro, e la formalizzazione di e un operatore C siatto, come algoritmo, per la risoluzione di questo problema in ambito simbolico, ` anchessa presentata. e

1.6

Reti di Petri

Una rete di Petri (Petri net) ` un modello formale di un sistema distribuito. e Tali strutture si contraddistinguono per versatilit`, nella loro forma elementare a sono uno strumento immediato in cui ` facile la simulazione dellesecuzione del e sistema, e robustezza, essendo ben denite a livello matematico e rappresentabili tra laltro sottoforma di gra; per questo si prestano ad esempio ad uno 10

studio ecace delle propriet` del sistema. a Per questa sezione, riferimenti sono [?] e [?]. Prendono il nome dal loro inventore, C.A. Petri. Deniamo una rete come una tripla N = (B, E, F ) con B E = , dove B ed E sono insiemi niti e sono chiamati rispettivamente stati (oppure posti, posizioni) ed eventi (oppure transizioni, azioni) mentre F (B E) (E B) ` e una relazione detta relazione di usso. La struttura ` tale per cui valgono e
e E b, c B : (b, t), (t, c) F e E b, c B((b, t), (t, c) F ) b = c

Gli eventi sono azioni che possono essere eseguite o meno in funzione degli stati loro adiacenti, che in un modello base (rete sicura o binaria, ve ne sono infatti molteplici in letteratura), assumiamo poter essere solo negli stati vero o falso. Gli stati adiacenti connessi ad un evento mediante la relazione di usso con un arco entrante al primo, nella formalizzazione della rete come grafo, sono detti precondizioni ed hanno duale nelle postcondizioni ; nel modello sicuro le prime devono essere vere e le seconde false anch` levento ad esse collegato possa e avvenire. Una congurazione della rete ` un assegnamento di verit` a ciascuno stato quine a di, a partire dal quale la rete pu` essere fatta evolvere. o Levoluzione consiste nel cosiddetto token game:
un evento pu` accadere (ring) se e solo se tutte le sue precondizioni sono o vere e tutte le sue postcondizioni sono false il vericarsi di un evento ha come conseguenza linversione dei valori di verit` degli stati nel suo vicinato: le precondizioni diventano false, le a postcondizioni vere ad ogni iterazione si vericano tutti gli eventi abilitati, in parallelo

Esso pu` essere formalizzato mediante funzioni caratteristiche per ogni evento, o le quali modicano la congurazione corrente se essa permette la loro esecuzione. Come esempio di rete, proponiamo una rete elementare atta alla modellazione del paradigma produttore-consumatore. Nella sua forma essenziale si hanno due processi, uno detto produttore e laltro consumatore appunto, ognuno formato da due sottoprocessi, uno deputato alla produzione, o consumazione, di un gettone ed un altro al deposito, o ritiro, di questo, in un apposito buer. Modellando con una rete di Petri, entrambi i processi sono caratterizzati da due condizioni ed unazione ciascuno, ed il buer ` unulteriore condizione. e

11

Figura 1.5: Il sistema produttore-consumatore modellato come Rete di Petri semplice, in una possibile congurazione, quella dove entrambi gli agenti sono pronti ad espletare la propria funzione

1.6.1

Reti di occorrenze

Una particolare rete ` la rete di occorrenze (ingl. occurrence net-process net): e essa ha la peculiarit` di essere aciclica e di poter essere vista come processo, a registrazione di una particolare esecuzione, anche innita se essa ` tale, di un e sistema modellato come rete di Petri in termini di stati ed eventi. Una generica rete di Petri ` una rete di Petri doccorrenze se valgono le seguenti: e
b B |b | 1 | b| 1 x, y B E : (x, y) F + (y, x) F + /

dove b e b sono gli insiemi degli eventi con archi rispettivamente uscenti ed entranti da una posizione b B e F + ` la relazione di chiusura transitiva di F . e Una rete con queste propriet`, dove ogni posto ha grado al massimo due ed a aciclica, pu` essere vista direttamente come un insieme parzialmente ordinato o in dierenti modi, per esempio (B E, F + ) con F + chiusura transitiva e riessiva della relazione di usso . Le dinamiche di un sistema distribuito possono essere molteplici ed il fatto che ciascuna di queste sia descrivibile mediante una precisa rete di occorrenze implica che ogni rete di Petri abbia associata una famiglia di reti di occorrenze.

12

Come esempio di rete di occorrenza diverso dalla grid che introdurremo ecco quella associata ad una particolare run del sistema produttore-consumatore presentato. Lesecuzione rappresentata ` ci` che segue dal gioco delle marche come prima e o spiegato, con la condizione iniziale della precedente gura, eseguendo ad ogni passo tutti gli eventi attivati parallelamente.

Figura 1.6: Possibile rete di occorrenze per la rete produttore-consumatore.

13

14

Capitolo 2

Operatori di chiusura su reti di occorrenze: un esempio


In questa sezione vogliamo prendere in considerazione loperatore di chiusura denito in ?? costruito sulla relazione co e li in tutti e quattro i possibili casi. Sono presentate la griglia spazio-tempo di Petri e le sottostrutture di questa su cui ci si ` concentrati; inoltre anche ` la costruzione della rete ` discussa. e e e Attenzione ` riservata alle motivazioni che possono portare ad indagare proprio e la griglia ed a volerne individuare proprio gli elementi chiusi.

2.1

Applicabilit` e risultati generali a

Essendo una rete di occorrenze interpretabile come un insieme parzialmente ordinato ??, lapplicazione di unoperatore di chiusura ` sicuramente ben denita. e Segue che lo studio della chiusura su di una particolare struttura innita come quella sotto presentata, la griglia spaziotempo di Petri, pu` essere visto come o applicazione sia su di una particolare rete di occorrenze sia su di un poset; in questo senso lavori principali risultano [?] e [?]. In [?] si mostra che la griglia non ha la propriet` di essere K-densa ma non a N-densa, cos` come lessere chiuso di una particolare sottostruttura, due unit` a di rete connesse mediante uno stato; sono inoltre messe in luce particolari sottostrutture della rete come la frontiera di un sottinsieme ed elementi adiacenti. In [?] sono invece presentati molti esempi di chiusi sia sulla griglia classica sia su quella di stati locali, per co cos` come per li, cos` come lintroduzione del concetto di convessit` spaziale. a Per introduzione a quel di cui ci occupiamo nel proseguo, vale la pena portare degli esempi tratti da entrambi questi lavori. Operativamente, quel che ` necessario fare `, una volta ben individuato il sottine e sieme su cui agire, agire gradualmente provando a visualizzarne prima il polare poi la chiusura: se il risultato ` il sottinsieme di partenza, allora questo ` un e e elemento chiuso.

15

Quel che formalmente bisogna vericare, ` che ogni elemento dellinsieme polae re sia in relazione (li o co riessive od antiriessive nel nostro caso) con ogni elemento del sottinsieme di partenza, e lo stesso per il secondo passo, ogni elemento della chiusura devessere in relazione con ogni elemento del polare. Questo approccio ` certamente laborioso ed ` adatto solamente al calcolatore; e e carta e penna risulta pi` comodo isolare direttamente coni ed anticoni (vedi u ??). Mostriamo ora una sottostruttura formata da due unit`: il polare e la chiusura a coincidono, per la relazione di concorrenza co irriessiva (in questo caso il polare ` talvolta chiamato ortocomplemento). e

Figura 2.1: Studio di co irriessiva su di una particolare sottostruttura formata da due unit`: ortocomplemento e chiusura coicidono a

Ecco un esempio di insieme chiuso per li riessiva.

16

Figura 2.2: Una sottostruttura chiusa per li riessiva

Seguono ora dei risultati generali di interesse nellambito (vedi ?? per le denizioni richiamate). Se prendiamo li riessiva, ogni linea ` un chiuso, infatti il e polare ` la linea stessa; lo stesso vale un taglio rispetto a co ma irriessiva. Si e visualizzi ora il cono di un elemento della griglia, sia esso posto o transizione: esso ` un chiuso per li; dualmente lo ` per co. e e

2.2

La griglia di Petri

La struttura cui ci riferiamo col nome di griglia spaziotempo di Petri fu introdotta nel 1979 da C.A. Petri in [?], allinterno di una riessione pi` ampia circa u le relazioni esistenti, e le analogie, tra la teoria delle reti di Petri ed aree come la topologia, la logica e la sica tra le altre. Esaminiamone la struttura e discutiamone limportanza come discretizzazione dello spaziotempo di E. Einstein e H. Minkowski.

2.2.1

Struttura

La griglia ` formalmente una rete di occorrenze e quindi rispetta le denizioni e date in ??. La rete ` strutturata nella giustapposizione di ununica struttura elementare, e anchessa a sua volta una rete di occorrenze; questa struttura ` composta da un e solo evento, cui vicinato ` formato da due precondizioni e due postcondizioni e 17

(bilanciamento rispetto alle condizioni). La rete pu`, ssata la struttura base, essere costruita induttivamente; nellunit`, o a la prima precondizione ` anche la seconda postcondizione di unaltra unit` elee a mentare adiacente, la seconda precondizione ` anche la prima postcondizione di e unaltra unit` adiacente ancora, inoltre la prima postcondizione ` anche seconda a e precondizione di una terza unit` adiacente cos` come la seconda precondzione a ` prima precondizione di una quarta unit` pure adiacente. Essendo che queste e a quattro unit` adiacenti hanno la struttura sopra denita, si pu` ricorrere in a o modo del tutto identico a quanto appena scritto e costruire la rete, innita.

Figura 2.3: Lunit` di rete: un evento bilanciato a due precondizioni e due a postcondizioni

18

Figura 2.4: La rete pu` essere costruita induttivamente o

2.2.2

Interpretazione da un punto di vista sico

In sica, un modello spaziotempo ` un qualsiasi modello matematico che come bini in un unico continuo lo spazio ed il tempo. Esso ` centrale nella sica moderna, giacch ` diretta conseguenza della nota e e e teoria della relativit` di A. Einstein, in versione ristretta/speciale, dove ` posta a e equivalenza tra spazio e tempo. Lo spaziotempo einsteiniano ` sostanzialmente e uno spazio cartesiano reale a quattro dimensioni, le tre spaziali pi` il tempo, u ed ` di H. Minkowski la proposta di legare in modo pi` profondo la dimensione e u spaziale a quella temporale servendosi di uno spazio non-euclideo, anche se si ` e poi preferito abbandonare questo approccio, che richiede una componente immaginaria, servendosi solamente di una metrica non-euclidea. Data linnaturalezza, a livello di rappresentazione, di uno spazio quadridimensionale, il nostro discorso pu` continuare su di uno spazio tridimensionale sao cricando la terza componente spaziale, la profondit`: le osservazioni possono a essere generalizzate, in particolare con questa riduzione assumiamo che una particella (es. fotone), nel tempo, possa muoversi solo sul piano. o Un vettore nello spazio ` quindi di forma v = (x, y, t) e pu` essere adoperato per e 19

descrivere la posizione (x, y) di una particella al tempo t; una pratica accortezza per il sistema di riferimento ` ssare le unit` dimensionali dimodoch` la velocit` e a e a della luce c corrisponda ad 1. Per una singola particella, si pu` formalizzare il suo moto pensando ad una funo zione del tempo t che per ogni istante ne ritorni la posizione (x, y) nel piano; i punti cos` generati costituiscono la linea duniverso di una particella e lintuibile analogia con il concetto di linea in un poset presentato in ?? seguir` tra poco. a Durante il loro moto descritto dalle proprie linee, le particelle hanno interazioni luna con laltra ed in particolare chiamiamo eventi i punti dello spazio denito. Se ci concentriamo su di un particolare punto-evento ed assumiamo che le particelle osservate siano fotoni, posto un sistema opportuno che implichi la velocit` a di queste particelle unitaria come detto, essendo che la luce viaggia in linea retta ed in ogni direzione, in corrispondenza di questo si individuano coni cui superci sono inclinate di 45 rispetto al piano bidimensionale di un preciso istante in cui si posiziona levento: uno consistente nelle possibili linee di universo future del fotone, un altro in quelle passate.

Figura 2.5: Lo spazio in esame prende il nome di spazio di Minkowski

In questo spazio sono individuabili, oltre a quello evidenziato in gura che ` di e equazione z = k, inniti altri piani verticali (famiglie x = a ed y = b); ognuna di queste sezioni rappresenta un particolare esame dello spazio stesso permettendo 20

lo studio di una serie di posizioni allineate al variare del tempo. Ora, discretizziamo lo spazio e focalizziamoci su uno di questi piani verticali: esso ` costituito da una griglia di eventi, ed ` denibile una relazione tra essi, e e indotta dal fatto che un evento risieda o meno allinterno di uno dei due coni di un altro evento, tradotta, essendo che ora stiamo trattando solo una sezione dei coni, dallessere o meno allinterno di due triangoli. Ora in questa struttura discreta vogliamo anche tenere in conto una qualche congurazione sica, pi` semplicemente uno stato, delle particelle in movimenu to, mentre passano di evento in evento, ossia tra uninterazione ed unaltra. La minima interazione cui si pu` assistere ` quella tra due sole particelle, ed anche o e interazioni complesse seguono da interazioni semplici che intercorrono tra due soli elementi: da questa assunzione segue la semplicazione per cui ci preme quindi conoscere, per due particelle che entrano in rapporto, di ciascuna la sua congurazione prima e dopo questo, entrambe ben denite assumendo un principio di conservazione per esse. In pratica allora, serve sostituire un certo numero di eventi con degli stati, con lobiettivo che ogni evento porti con s quattro stati, e due che testimonino la congurazione delle due particelle prima dellinterazione e due dopo questo. A questo punto la nostra costruzione si presenta come una griglia formata da due tipi di nodi, eventi e stati; sui primi abbiamo denito una relazione dordine a partire dalla possibilit` di due eventi di inuenzarsi a temporalmente, e gracamente la connessione non pu` che passare anche dagli o stati: essi infatti sono legati agli eventi, rappresentando lo stato delle particelle in interazione negli eventi stessi. Ovviamente, la visione globale del sistema ` ottenibile esaminando tutti i piani e verticali paralleli. Pur avendo ora presentato, seppur abbastanza informalmente, la struttura della griglia, non l abbiamo ancora vista sotto la prospettiva n` di rete di occorrenze e (??) n` di rete di Petri ??. e Per la struttura di rete di Petri, il lavoro da farsi ` sostanzialmente semantico: e interpretando i sottinsiemi di eventi e stati proprio come i due insiemi che uniti danno gli elementi di una rete di Petri, la relazione di usso consiste nella relazione dordine introdotta. Per arrivare alla denizione di rete di occorrenze invece, osservando la denizione bisogna garantire che il grafo associato sia aciclico e gli stati a grado massimo due. Laciclicit` ` data dal fatto che la relazione di inuenza con cui ordiniamo ae la griglia non ` simmetrica: principio del modello ristretto ` che un evento pu` e e o subire inuenza solo da altri eventi nel passato ed determinare inuenza a sua volta per altri solo nel futuro, e non vale il viceversa (fatto intuitivo pi` che u tecnico). Per il grado invece, osserviamo che per costruzione gli stati catturano congurazioni di particelle quandesse siano tra due soli interazioni-eventi, e quindi il loro grado sar` esattamente due. a Abbiamo quindi ottenuto una struttura formale propria della teoria della concorrenza per descrivere in termini discreti il percorso di particelle, che abbiamo assunto essere luce, o meglio fotoni, partendo da un ambito teorico totalmente diverso. In questa griglia spaziotempo, il concetto di cono denito in ?? ` del tutto anae logo a quello sico sopra introdotto a partire dalle linee duniverso, ed una linea duniverso ha unesatta corrispondenza in una linea come inteso dalla denizio21

ne ?? che abbia la forma di una retta a pendenza qualsiasi, se la particella non ` deviata nel suo percorso, altrimenti di una generica linea che tiene conto delle e interazioni di questa con altre. La griglia ottenuta non conta per` la propriet` di K-densit`, come illustrato o a a da un esempio in gura; riprendendo da quanto detto in ?? ci` signica che, o considerando il percorso-vita di una singola particella come sottoprocesso del processo globale del sistema di particelle, percorso che si registra nella rete, ` e impossibile che un osservatore possa conoscere compiutamente, in un preciso istante, lo stato, cio` la congurazione, globale, poich` si hanno sottoprocessi e e cui stato non ` univocamente denito. e Notiamo che questo fatto discende dal formalismo del modello e di una sua propriet` grazie allanalogia percorso particella-sottoprocesso, senza necessit` a a di alcun concetto esterno proveniente dalla sica.

Figura 2.6: La griglia spaziotempo non ` K-densa e

La relazione di dipendenza e la sua conseguente duale di concorrenza che insistono sulla relazione base di inuenza dovrebbero essere irriessiva e riessiva rispettivamente: un evento pu` inuenzare solo gli eventi futuri a se stesso escluo so; nonostante ci` nei casi studiati tutte e quattro le possibilit` sono esplorate. o a 22

Con le opportune generalizzazioni ed accortezze (aggiunta dimensione, sistema riferimento ecc.), ` allora sostanzialmente gi` aperta la possibilt` di interpretae a a zione di quel che resta sotto il dominio dellosservatore in termini di formalismo concorrente, ed ha quindi senso leggere risultati trovati in termini non solo squisitamente teorici ma pure di interesse applicativo. Riferimento principe per questa parte ` [?]. e

2.2.3

Sottostrutture in esame

Seguono ora le sottostrutture esaminate; gli elementi presi sono solo ed esclusivamente stati.
singoletto: un singolo stato generico rappresenta una particolare condizione atomica del sistema, o da un punto di vista sico, linformazione minima circa una particella/segnale tra uninterazione e la successiva con altre segmento orizzontale innito: questo segmento ` interpretabile come la e congurazione di un insieme arbitrario innito di particelle, allineate nello spazio in un preciso istante segmento diagonale nito: ssato uno stato di partenza, siano in esame questo, la seconda postcondizione dellevento di cui ` postcondizione, la e seconda postcondizione dellevento di cui questultimo secondo stato aggiunto ` precondizione e cos` via, no ad un ultimo stato; sicamente pu` e o rappresentare un segnale che attraversi lo spazio senza deviare a causa di ostacoli prima precondizione e prima postcondizione di ununit`: la coppia ` una a e delle possibili quattro coppie in linea in ununit`, le quali rappresentano a un elemento in studio prima e dopo uninterazione con altri coppia di precondizioni (o postcondizioni): posti indipendenti simboleggianti due congurazioni che stanno per inuenzarsi vicendevolmente mediante un determinato evento (oppure si sono appena toccate)

Data la regolarit` insita nella struttura, per costruzione un generico stato ` equia e valente ad un qualsiasi altro, e lo stesso vale per le transizioni. Ci` ` garantito oe a partire dai seguenti fatti:
per gli eventi il fatto ` davvero lampante, essendocene solo uno nellunit` e a base per posizioni in unit` dierenti ma omologhe, nella griglia, che ` ina e nita, basta spostare il focus da ununit` allaltra, per ottenere piena a corrispondenza un posto che ` precondizione in ununit` ` postcondizione nelladiacente e ae e viceversa

Daltra parte, uno stato non ` equivalente ad un evento e viceversa: questo ` e e ovvio per com` fatta ununit`; in particolare, scambiando posti e transizioni e a

23

si ottiene ancora una rete di occorrenze ma particolare, essendo che presenta sostanzialmente dei conitti, e pu` quindi essere intesa come particolare rete di o Petri (detta branching process net, unevoluzione del modello delle reti di occorrenze che permette diramazioni, per modellare situazioni di conitto). Sebbene possa essere possibile riferirsi senza distinzione a stati e transizioni nella rete, chiamandoli semplicemente elementi, ed in eetti ci` ha senso formao lizzando la rete come poset (vedi ??), ` possibile derivare formalmente nuove reti e dalla griglia, per esempio eliminando le transizioni e collegando opportunamente gli stati (griglia di stati locali, vedi cap. ??).

2.3

I sottinsiemi chiusi

Lo studio degli operatori di chiusura su reti di occorrenze e la suddivisione tra sottinsiemi chiusi e non-chiusi pu` risultare signicativa sia da un punto di vio sta esclusivamente concettuale-algebrico, sia dalla prospettiva della teoria della concorrenza ed inne seguendo una chiave di lettura sica. Per il primo punto si hanno vari casi, e per citarne qualcuno si ha che sottinsiemi chiusi di un poset formano un reticolo completo rispetto allinclusione; se poi la relazione base ` anche irriessiva, si ha un reticolo detto ortocomplementato e ([?]).

24

Figura 2.7: Un insieme parzialmente ordinato ed il reticolo completo dei chiusi su li riessiva

Riguardo al secondo aspetto, come prima cosa introduciamo il concetto di insieme causalmente chiuso allinterno di una rete di occorrenze (causally closed subset, riferimento e ancora [?]). Per una rete di occorrenze N = (B, E, F ), un elemento C B E lo ` se: e
e E, e C e C e E, e C e C e E, e C e e C c, c C, clic [c, c ] C

dove [c, c] = {p B E |c p c } e la relazione di chiusura transitiva e riessiva (??). Gli insiemi chiusi deniti in ?? sono anche insiemi causalmente chiusi, ma il viceversa vale solo se il poset in esame ` K-denso ([?]). e Si suggerisce ora linterpretazione per processi di questo tipo di insiemi. Avendo in mente il token game denito in ??, diciamo che esso ` certamente e applicabile anche ad una rete di occorrenze, poich` essa ` pur sempre una rete e e 25

di Petri, basta ssare un assegnamento, vedere quali eventi possono scattare ed aggiornare la congurazione, senza nessuna dierenza; solitamente per` essendo o le reti di occorrenze considerate come viste di un processo, il gioco su queste non ` svolto. e Viene naturale, dato uno stato globale, evolvere la rete esaminando quali eventi siano abilitati e possano quindi scoccare, e difatti la denizione del gioco data formalizza questo tipo di evoluzione, che manda la congurazione di una rete al tempo t nella successiva del tempo t + 1. D altro canto, nulla vieta di fare il contrario, ossia di chiedersi quali eventi scoccati abbiano determinato la congurazione corrente e quale sia stata perci` la congurazione allistante o precedente t 1, evoluta nella corrente in funzione dello scoccare di tali eventi; senza entrare in dettaglio questoperazione pu` essere utile quando si voglia fare o ipotesi circa il passato del sistema concorrente avendo in mano solo il suo stato presente. Mostriamo ora come costruire induttivamente un insieme causalmente chiuso:
allinterno della rete si isola un taglio formato da soli stati e si pone ognuno di questi vero si esegue la regola di scatto sia in avanti sia indietro, aggiungendo allinsieme gli eventi risultanti si esegue nuovamente la regola di scatto, aggiungendo cos` nuovi stati ed eventi si itera ntantoch` nuovi elementi possano essere aggiunti e

Il fatto che la costruzione termini quando nessun nuovo elemento pu` essere o aggiunto ` motivazione del nome stesso, insiemi causalmente chiusi, e ne suge gerisce linterpretazione come sottoprocessi nonsequenziali, causalmente chiusi giacch sono costruiti in modo univoco a partire da un taglio di posti. e Ulteriori approfondimenti in [?]. Per linterpretazione sica, si pensi in prima cosa alla rete come lormai consueto modello del moto di particelle in una porzione dello spazio bidimensionale, nei modi illustrati in ??. Tutti gli stati associati ad una particella si trovano allineati, ed in generale il percorso di una prendendo una delle innite linee possibili, e poniamo che la mappa che a questo proposito mandi stati locali in particelle sia ignota. Se ora si prende un sottinsieme chiuso di posti, supponendo di poter osservare le rispettive particelle associate, portando la costruzione su tale sottinsieme si arriva ad una sottorete associata al medesimo insieme di particelle in qualsiasi mappa compatibile con losservazione ([?]).

2.4

Relazioni

Le singole relazioni in gioco sono le seguenti:


li riessiva li antiriessiva

26

co riessiva co antiriessiva

Si cerca di argomentare, pur se senza adoperare formalismi, le asserzioni sulle chiusure, ed osserviamo che talvolta gli argomenti adoperati si ripetono.

2.4.1

li riessiva

Singoletto Lo stato singoletto, per li riessiva, non ` un chiuso; costruendone e il polare, si trova che ` formato dallelemento stesso cos` come dai coni dei due e eventi cui questo ` condizione. e Se ora per la chiusura si costruisce il polare di ogni elemento, ci si accorge che, oltre ovviamente a trovare lelemento iniziale per simmetria, si trovano sempre i due eventi, che rappresentano in qualche modo il link dello stato al proprio futuro ed al proprio passato. Un qualsiasi altro elemento generico del cono ` da scartare, ` contemporaneo e e allevento/transizione che gli ` aanco; per lanticono invece se prendiamo uno e stato od evento su di un orizzontale che non sia quella dello stato di partenza, esso sar` in contemporaneit`, e quindi indipendenza, con parte del polare; se a a invece prendiamo uno stato in contemporaneit` a quello di partenza, esso ` in a e co con uno (se ` uno dei due stati immediatamente vicini) od entrambi gli eventi e ai vertici dei sottoconi.

Figura 2.8: li riessiva su singoletto: la chiusura ` costituita dallo stesso e dai e due eventi cui ` associato, suoi link (rosa); si evidenzia anche il cono (verde) e

27

Segmento orizzontale innito Se consideriamo un segmento orizzontale, il suo polare sar` linsieme vuoto, non ` proprio possibile trovare uno o pi` a e u elementi in linea con lintero segmento. Ne segue quindi che la chiusura non pu` essere il segmento stesso essendo che il polare dellinsieme vuoto ` linsieme o e vuoto stesso. Segmento obliquo nito Gli stati diagonali non sono chiusi, cerchiamo di vedere brevemente perch. e Se consideriamo gli stati della diagonale, essi sono in li lun con laltro e con se stessi (riessivit`), ed agevolmente il cono ` completabile come in gura. a e Dovendo costruire la chisura, essa avr` gli elementi di partenza (simmetria), a pi` tutti gli eventi in linea con la diagonale a partire da quello che si trova u prima del primo elmento di questa no a quello che si trova dopo lultimo. Un qualsiasi altro elemento del cono ` da scartare (` indipendente da almeno e e un altro elemento dello stesso); anche nellanticono nulla si pu` prendere, un o qualsiasi elemento ` in co con lelemento o gli elementi della sua stessa orizzontale e facenti parte del cono.

Figura 2.9: li riessiva su diagonale: la chiusura ` costituita dalla diagonale e e dai suoi eventi (rosa)

Precondizione 1 (2) e postcondizione 1 (2) in ununit` Costruendo il a cono li, si arriva a determinare la chiusura come la coppia di partenza ed il loro evento condiviso, con un argomentazione analoga a quella che viene sotto presentata per questa stessa sottostruttura ma sotto li irriessiva (??).

28

Precondizioni (postcondizioni) in ununit` Si prendano ora due precona dizioni (postcondizioni) di un evento. Ragionando sulla gura presentata, semplice ` la costruzione del polare. La e chiusura contiene i due elementi di partenza ed i due eventi vertici dei due coni (per i quali, intuitivamente, ogni elemento dei coni rispettivamente deve passare per arrivare alla coppia). Un qualsiasi altro elemento dei coni non ` nel chiusura perch fuori dal cono e e dello stato/evento che gli ` aanco (in contemporaneit`). e a Per ogni elemento esterno invece, ` sempre possibile trovare un elemento dei coe ni che non gli sia allineato eccezion fatta che per i due eventi nel vicinato della coppia e gli stati seconda e prima postcondizione a questi, come evidenziato in gura; notiamo che i due eventi vicinato sono gli unici esterni ad essere in linea con entrambi gli eventi vertice dei coni. Non siamo quindi in presenza di un chiuso.

Figura 2.10: Coppia orizzontale per li riessiva: studiando la coppia concorrente evidenziata (nero) si ottiene un chiusura contenente questi e gli altri quattro elementi evidenziati (rosa)

2.4.2

li antiriessiva

Singoletto Prendiamo ancora uno stato singoletto; sono facilmente costruibili i due coni contenenti elementi in linea con esso, e per lantiriessivit` esso non a ` in nessuno dei due. e Ripetendo la costruzione per ogni elemento trovato, si otterr` analogamente a tutta una serie di coppie di coni, sovrapposte solo parzialmente alla coppia originale cos` come tra loro. 29

Per lantiriessivit`, qualsiasi elemento su cui facciamo questa seconda costrua zione non pu` essere comune in tutti i coni. o Inoltre, nessun elemento fuori dagli anticoni pu` essere nel chiusura: largomeno to ` lo stesso trovato per il singoletto su li riessiva in ??. e Quindi in simmetria lo stato di partenza ` un chiuso. e Segmento orizzontale innito Ora riconsideriamo con li antiriessiva un ` segmento orizzontale. E davvero evidente il suo non essere un chiuso: applicando ad esso loperatore si trova linsieme vuoto, proprio come per li riessiva. Segmento obliquo nito Costruiamo anzitutto il polare come in gura; da esso sono esclusi per antiriessivit` gli stati della diagonale stessa. a Linsieme chiusura ha certamente come sottinsieme gli stati diagonali (simmetria). Per lirriessivit` per`, non pu` contenere un qualsiasi elemento nel polaa o o re; un elemento dellantipolare (complemento del polare, il resto della rete), se consideriamo un segmento allaltezza di uno dei due coni a piramide, ` in co con e gli elementi contemporanei ad esso allinterno di questi, mentre se consideriamo lo spazio di elementi tra i due vertici, gli eventi non sono in linea con almeno un evento che pure ` parte del polare (precisamente quello in contemporanea ad e esso stesso), mentre un qualsiasi posto, o ` in co con un evento della diagonale e ancora, oppure con un vertice delle piramidi. Conclusione ` allora che ci troviamo difronte ad un chiuso. e

Figura 2.11: Segmento obliquo per li antiriessiva: nella gura sono evidenziate (verdi) le componenti del polare; ci troviamo di fronte ad un chiuso

30

Precondizione 1 (2) e postcondizione 1 (2) in ununit` Prendiamo ora a la prima precondizione e la prima postcondizione di una transizione qualsiasi. Costruendo i due coni li che uniti danno il polare della coppia, essi escludono i due elementi per lantiriessivit` ma hanno in comune levento associato a a questi stessi. Per la simmetria, nellinsieme degli elementi in linea antiriessiva con uno qualsiasi di quelli trovati nel cono, si hanno i due elementi di partenza; ma per lantiriessivit`, un generico elemento di quelli trovati con la prima applicazioa ne ` da scartarsi, giacch non occorre nella coppia di coni costruita partendo da e e esso stesso. Per escludere i restanti (cio` gli elementi in anticono) si pu` adoperare largoe o mento classico: in ogni orizzontale si trovano elementi non allineati con il cono. Si deduce quindi che siamo in presenza di un chiuso. Precondizioni (postcondizioni) in ununit` Per una coppia di stati oriza zontale, costruiti i due coni, ricordiamo che un qualsiasi elemento di questi ` da e scartarsi poich` non in linea con se stesso (irriessivit`). e a Costituiscono la chiusura i due elementi di partenza pi` tutti e soli gli elementi u esterni in linea con entrambi i coni, e non si ha quindi un chiuso.

Figura 2.12: Coppia orizzontale su li irriessiva: evidenziati i coni e gli elementi che formano la chiusura assieme ai due di partenza (rosa)

2.4.3

co riessiva

Singoletto Il cono ` presto costruito come in gura ora il prossimo passo ` e e arrivare alla chiusura. 31

Per la simmetria, possiamo gi` aggiungere lo stato da cui siamo partiti, e perch a e esso sia un chiuso devessere che nessun altro elemento si pu` aggiungere. o Ora se aggiungiamo un elemento non presente nellinsieme polare co appena costruito, esso ` certamente in linea con uno degli elementi aggiunti, tra cui e sicuramente quello di partenza, e quindi ` da scartare. Daltro canto, aggiune gendo un qualsiasi elemento gi` nellinsieme polare co, risulter` che esso sar` a a a in li con un sottinsieme degli elementi di questo stesso insieme, il che fa s` che debba essere altrettanto scartato. Resta allora solamente lo stato di partenza, chiuso rispetto alloperatore.

Figura 2.13: Studio di co riessiva su di uno stato singoletto: ` evidenziato lo e stato in esame, lanticono (rosso) due elementi di questo e del cono (arancio e verde chiaro rispettivamente)

Segmento orizzontale innito Fissiamo ora la nostra la nostra attenzione su di un segmento orizzontale di stati, un istante. Calcolando la co del segmento, un qualsiasi elemento ` in relazione con se stesso e per la riessivit`, e con qualsiasi altro del segmento stesso, cio` con la sua a e contemporaneit`. a Continuando nellesame, sia nel passato sia nel futuro, ci accorgiamo che non possiamo aggiungere n` altri stati n` altri eventi: infatti uno qualsiasi di essi e e sar` in li con due del segmento, pur essendo in co con gli inniti restanti. a Completata ora la costruzione del primo insieme, il polare, applichiamo una seconda volta per determinare se eettivamente il segmento ` orizzontale ` un e e chiuso: eettivamente s` poich` banalmente ci ritroviamo nella stessa condizione , e del punto precedente. 32

Figura 2.14: Segmento orizzontale: ` un chiuso secondo co riessiva e

Segmento obliquo nito Prendiamo ora una diagonale di stati e visualizziamone ora i due anti-coni, come in gura: gli elementi allinterno di essi sono chiaramente non in linea con la diagonale. Vale la pena di osservare, anche se ` chiaro, che niente altro ` in concorrenza e e con la diagonale; la diagonale stessa per esempio non lo ` perch un qualsiasi e e suo elemento ` in co con se stesso ma in linea con tutti i restanti diagonali. e Bisogna quindi ora vedere quali siano gli elementi in co ad entrambi questi anticoni. Da un qualsiasi elemento della diagonale, non v` cammino verso qualsiasi altro e in uno dei due coni, e viceversa: aggiungiamo allora la diagonale tutta allinsieme. Ma essa non ` un chiuso: difatti la stessa indicazione di raggiungibilit` ora data e a vale anche per gli stati che non sono della diagonale ma sono precondizioni o postcondizioni di eventi tra due stati qualsiasi della diagonale.

33

Figura 2.15: Segmento obliquo per co riessiva: in rosso gli anticoni della diagonale.

Precondizione 1 (2) e postcondizione 1 (2) in ununit` Se in una sina gola unit` scegliamo invece una precondizione ed una postcondizione in linea e a di un medesimo lato, possiamo costruire il polare come in gura. Per la costruzione dellinsieme chiusura, esso avr` per simmetria sicuramente la a coppia iniziale, cos` come il resto dellunit` di cui fanno parte (in rosa nellillu a strazione), chiaramente in concorrenza con entrambi i sottinsiemi dellinsieme precedente. Daltra parte per`, nientaltro pu` essere aggiunto: si vede chiaramente infatti o o che aggiungendo un qualsiasi altro elemento, esso risulta in linea con parte del polare. Non si ottiene quindi un chiuso ma si ` riportati allunit` di partenza. e a

34

Figura 2.16: Si evidenzia lanticono (rosso) della coppia di partenza (stati in nero); la chiusura ` costituita da questa e dal resto dellunit` (rosa) e a

Precondizioni (postcondizioni) in ununit` Si prendano ora due stati in a contemporaneit`, ma facenti parte della stessa unit`. a a Lanticono co ` unico, e per la riessivit` ne fa parte la coppia in studio; lelee a mento ` poi un chiuso, dato che nessun elemento dellanticono pu` dirsi slegato e o da qualsiasi altro nello stesso, cos` come daltra parte qualsiasi altro nei coni (che sono in linea con la coppia che ` gi` nelil polare di se stessa come appena e a notato).

35

Figura 2.17: La coppia di partenza ` chiusa secondo la denizione data su co e riessiva

2.4.4

co irriessiva

Inne per questo caso, ci limitiamo a rimandare direttamente ai risultati della tabella in ??: infatti gli argomenti sono identici a quelli gi` presentati nei casi a precedenti.

2.5

Prospetto riassuntivo dei risultati ottenuti

Ecco un semplice prospetto indicante i casi discussi; per un sottinsieme, sotto ogni tipo di relazione, ` indicato se lelemento ` un chiuso o meno. e e Sottostruttura Singoletto Segmento orizzontale innito Segmento obliquo nito Precondizione 1 (2) e postcondizione 1 (2) in ununit` a Precondizioni (postcondizioni) in ununit` a li ri. no no no no no li antiri. s` no s` s` no co ri. s` s` no no s` co antiri. s` no no no no

36

Capitolo 3

Algoritmi proposti e strumenti software di supporto


Discutiamo ora del disegno di alcuni algoritmi cui scopo ` riprodurre un opee ratore di chiusura; essi possono essere quindi utilizzati per investigare computazionalmente la propriet` vista. Ne presentiamo anche una breve analisi di a complessit`. a Illustriamo anche il linguaggio programmativo scelto e lambiente che lo supporta, non trascurando una giusticazione della scelta fatta.

3.1
3.1.1

Approccio computazionale
Rappresentare un poset

` E necessario studiare come rappresentare linsieme ordinato dinput, che struttura dati adoperare. Consideriamo ora la rappresentazione di (P, R), un generico ordine parziale, con P insieme nito. Preliminarmente, deniamo linsieme di copertura P P P nel seguente modo: P = {(p, q) | ((p q) (p r q)) (p = r)} La relazione su cui sussiste tale insieme, la relazione di copertura , permette infatti una schematizzazione formale semplice ma realmente informativa dellinsieme ordinato. Essa non fornisce tutte le coppie di elementi che sono in relazione, ma linsieme di coppie che sono, potremmo dire, in relazione diretta ed esplicita, senza passare per la transitivit`; quando a partire da questo insieme a si risponde circa loccorrere della relazione tra due elementi generici si sfrutta la chiusura transitiva. In letteratura non si ha riferimento ad una struttura dati precisa per la rappresentazione di insiemi parzialmente ordinati generici, si ha qualche esempio in pi` per quanto concerne particolari strutture ordinate come i reticoli e gli u

37

alberi, ma questo perch in realt` il problema non si pone. e a Il diagramma di Hasse ` lapproccio principe per la rappresentazione graca di e un insieme ordinato (P, R), e consiste nella sua riduzione transitiva come ci si pu` aspettare; il risultato nale ` un grafo diretto ed aciclico G = (V, E) dove: a e
linsieme dei vertici coincide con linsieme supporto: V = P linsieme degli archi rispecchia lordine denito: (u, v) E (u, v) P

Dalla descrizione segue tra laltro che:


laciclicit` ` dovuta al fatto che sono assenti archi a cappio indipendenteae mente dal fatto che lordine sia riessivo od irriessivo, cos` come allessere la relazione antisimmetrica un cammino k =< vi1 , ..., vjn > implica, grazie alla transitivit`, vi1 vjn a

Il grafo cos` costruito ` inoltre minimale nel senso che ` il grafo, funzione del e e linsieme ordinato, che rende conto dellordine stesso nei modi descritti a minor numero possibile di archi. Nulla da dire circa la rappresentazione di reticoli, che per gli scopi del lavoro sono visti come particolari insiemi ordinati.

3.1.2

Algoritmi

Gli operatori, come gi` anticipato, sono algoritmi, che manipolano gli insiemi a parzialmente ordinati strutturati, per quanto appena osservato, come gra. ` E di seguito presentata la formulazione degli algoritmi e come essi concorrono a determinare loperatore di chiusura. Per primo passo ci interessa un algoritmo che, dato un sottinsieme Q P , restituisca linsieme Cq , q Q illustrato in ??, cos` come Dq , gli insiemi che abbiamo chiamato polari di Q. Il calcolo di Cq ` il primo passo computazionale per il calcolo dei chiusi rispetto e alloperatore di chiusura (??); in prima istanza quindi, ` necessario: e
per ogni elemento richiesto dellinsieme resituire il corrispondente insieme li, o co, singolarmente restituire linsieme comune a tutti gli elementi richiesti

Le operazioni algoritmiche necessarie possono essere svolte in molti modi diversi, e la possibilit` anche di spaziare tra diversi algoritmi per la risoluzione di un a medesimo problema ` determinata dal fatto che si lavora su gra, una struttura e algebrica ma anche dati che gode di molta importanza. Lalgoritmo proposto assume, come anticipato, di disporre di sottoalgoritmi per risolvere problemi classici su grafo, e seppur, superuo dirlo quasi, ` implemene tabile arbitrariamente, il suo disegno, molto semplice, si adatta perfettamente ad un ambiente di calcolo simbolico. Il codice Algoritmo 1 risolve il problema del primo punto. Ritorna, dato in input il grafo G = (V, E), concettualmente di Hasse ma sostanzialmente un semplice grafo diretto aciclico, ed un sottinsieme dei suoi vertici 38

Q, per ciascuno degli elementi di Q tutti e soli gli elementi di V in relazione di indipendenza-concorrenza (linearit`) con esso, ossia non raggiungibili (raggiuna gibili) da questo e viceversa. Per comodit`, lalgoritmo ha a parametro anche lindicazione circa la riessivit` a a della relazione. Algoritmo 1 Parametri sono il grafo con un sottinsieme dei suoi vertici, lindicazione circa la riessivit` o meno della relazione base con cui ` ordinato a e linsieme. Lalgoritmo ritorna, per ogni elemento del sottinsieme, la lista degli elementi in relazione li con esso. 1: procedure PrimoAlgoritmo(G, Q, ref l) 2: v Length[V [G]] 3: q Length[Q] 4: create array of lists A[1...q] 5: if re=True then 6: for i = 1 to q do 7: for j = 1 to v do 8: d1 compute distance between G[V[j]] and Q[i] in G 9: d2 compute distance between Q[i] and G[V[j]] in G 10: if Q[i] = G[V [j]] and (d1 = or d2 = ) then 11: add V[j] to A[i] 12: end if 13: end for 14: end for 15: else 16: for i = 1 to q do 17: for j = 1 to v do 18: d1 compute distance between G[V[j]] and Q[i] in G 19: d2 compute distance between Q[i] and G[V[j]] in G 20: if d1 = or d2 = then 21: add V[j] to A[i] 22: end if 23: end for 24: end for 25: end if 26: return A 27: end procedure Le cose sono molto semplici: nel grafo diretto aciclico che rappresenta linsieme ordinato in esame, due vertici qualsiasi sono in relazione di dipendenza se e solo se non c` cammino che li colleghi, vicendevolmente. Essendo che il e grafo non ` pesato, il peso di un cammino ` semplicemente il numero di vertici e e toccati, tipicamente escludendo il nodo di partenza ma contando quello di arrivo per avere il vicinato legato da cammini singoli archi a distanza unitaria. Se tale peso ` innito, allora un nodo non ` raggiungibile partendo da un altro. e e Se si sta investigando un certo elemento del sottinsieme, gli elementi ad esso in dipendenza sono aggiunti alla lista di questultimo nella struttura predisposta, che ` inne ritornata. e

39

Osserviamo che costruito un algoritmo per risolvere su li, la modica da farsi ` e banale, per un dato q Q in esame, per calcolare il suo insieme co; altrimenti si pu` utilizzare lo stesso algoritmo dal fatto che linsieme co sar` il complemeno a to, rispetto allinsieme tutto P , dellinsieme li trovato. Per sola completezza, ` e presentato anche questa scelta nel seguente Algoritmo 2. Algoritmo 2 Parametri sono il grafo con un sottinsieme dei suoi vertici, lindicazione circa la riessivit` o meno della relazione base con cui ` ordinato a e linsieme. Lalgoritmo ritorna, per ogni elemento del sottinsieme, la lista degli elementi in relazione co con esso. 1: procedure PrimoAlgoritmoBis(G, Q, ref l) 2: A P rimoAlgoritmo(G, Q, ref l) 3: return complement set of A with respect to V[G] 4: end procedure Il prossimo passo da fare ` passare a lavorare in modo esclusivo sui sottinsiee mi del supporto, e costruire una mappa C come denita nellassiomatizzazione di operatori di chiusura in ??. Per prima cosa ` suciente semplicemente costruire linsieme intersezione della e famiglia di insiemi ritornata da PrimoAlgoritmo, il che ` triviale. e Chiamiamo questo algoritmo PrimoAlgoritmoIntersect (avr` anchesso un duale a PrimoAlgoritmoBisIntersect per lo studio di co, omesso); esso ` Algoritmo 3 e Algoritmo 3 Parametri sono il grafo con un sottinsieme dei suoi vertici, lindicazione circa la riessivit` o meno della relazione base con cui ` ordinato a e linsieme. Lalgoritmo ritorna i nodi concorrenti comuni allinsieme Q dato. 1: procedure PrimoAlgoritmoIntersect(G, Q, ref l) 2: A PrimoAlgoritmo(G,Q,re) 3: B intersection set of the sets in A 4: return B 5: end procedure Ora, dato un sottinsieme Q P per (P, R) ordine, applicare C(Q), ossia due volte PrimoAlgoritmoIntersect, restituisce un elemento dellinsieme delle parti, e per C(Q) = Q, Q per denizione ` elemento chiuso. e Trovare tutti i chiusi di un certo insieme ` ovviamente un problema di come plessit` temporale esponenziale, dato che la cardinalit` dellinsieme delle parti a a ` 2n . e

3.1.3

Complessit` dellalgoritmo principale a

Vale la pena di analizzare, seppur brevemente ed informalmente, la complessit` a temporale e spaziale dellalgoritmo 1. Tempo:

40

il doppio ciclo for alla linea 6 viene eseguito esattamente qv volte, dove v = |V | e q = |Q| per un grafo di input G = (V, E) ed un sottinsieme di vertici Q il tempo necessario a conoscere la distanza tra due nodi ` da porre costante e se una matrice delle distanze (o strutture equivalenti) sono gi` memoriza zate; il calcolo per averla richiede tempo O(v + |E|) se si usa BFS ad esempio il doppio ciclo for alla linea 16 ` alternativo allaltro e se ne considera e quindi uno solo

Il caso peggiore ` perci` rappresentato da q = v, cio` Q = V , quadratico, e e o e loverhead per il calcolo delle distanze sarebbe massimo se |E| = v(v 1)/2, ossia un grafo completo, ma questo non ` proprio il caso perch si trattano e e diagrammi di Hasse, che tipicamente hanno un numero di archi ridotto: uno dei fattori determinanti in questo senso ` lantisimmetria cos` come lassenza di e cappi indipendentemente dalla riessivit`. a Spazio:
larray di liste creato alla linea 4 ` di lunghezza q; nel caso peggiore ogni e elemento indagato ` in relazione con ogni altro elemento del supporto e (compreso se stesso se lopzione ` la riessivit`), determinando liste tutte e a di lunghezza v e risultando in una struttura quadratica per q = v il grafo con le distanze tra i suoi vertici pu` essere memorizzato in una o matrice, quadratica in v; dato per` che i diagrammi di Hasse sono talo volta matrici sparse potrebbe, se strettamente necessario, essere indicato lutilizzo di apposite strutture dati (es. dizionario di chiavi, lista di liste o coodinate ecc)

Si conclude allora che lalgoritmo presentato ` di natura quadratica. e

3.2

Strumenti software di supporto

Nellultima decade, il calcolo simbolico ha guadagnato grande rilevanza in molti campi, sia teorici, come la manipolazione simbolica di formule in un contesto di automated theorem proving, sia strettamente applicativi, ad esempio per la differenziazione e lintegrazione, distinguendosi anche per le possibilit` in termini a di software dedicato, anche specico, presenti. Unitamente alla possibilit` di calcolare la risposta secondo tali scenari, sorge la a necessit`, spesse volte, di visualizzarla gracamente, terminata la computazioa ne, se possibile avendo il massimo controllo circa la forma di questo output. Un testo introduttivo riguardo sia il primo sia il secondo aspetto ` [?]. e Un moderno computer algebra system (CAS) ` una piattaforma software generale purpose (nonostante il nome) in grado di eettuare calcolo simbolico e possibilmente rappresentare gracamente i risultati ottenuti. Esistono varie alternative a riguardo, le pi` famose sono certamente Wolfram u Mathematica, Matlab e Maple, presenti per molti sistemi operativi e con lopportunit` di licenze studente agevolate. a 41

Proprio lutilizzo della prima ` stato centrale per quanto riguarda la parte per e cos` dire pratica del lavoro illustrata, ma anche per la gestione di molta della graca inserita nel documento per esempio. La scelta di un CAS durante lo stage per lo sviluppo del software ` motivata, e tra le altre, dalle seguenti:
possibilit` di sfruttare unampia libreria ready-to-use: un alto numero a di algoritmi centrali nel dominio di lavoro (es. algoritmi su gra) viene oerto, ` quindi possibile concentrarsi esclusivamente sul codice da scrivere e eettivamente zero per il problema ambiente di lavoro immediato da utilizzare: il codice pu` essere comoo damente scritto allinterno di una nestra di lavoro, interpretato e subito eseguito senza lutilizzo di programmi esterni, mediante una GUI funzionale opportunit` di richiamare codice Mathematica da programmi esterni in a esecuzione e viceversa: lambiente non sore di balcanizzazione ed ` e sempre possibile, in caso non si voglia portare codice esistente per la piattaforma in altri linguaggi, richiamare dinamicamente i contenuti

Si incontrano molti testi dedicati allo sviluppo su Wolfram Mathematica; un testo adoperabile come quick reference ma sucientemente ricco per avere una panoramica delle funzionalit` ` [?]. ae

42

Capitolo 4

Conclusioni
Questo lavoro ` consistito in una parte di studio teorico cos` come nello sviluppo e applicativo di algoritmi. Dopo avere introdotto e denito un operatore di chiusura per insiemi parzialmente ordinati, grazie al fatto che una rete di occorrenze ` formalizzabile anche e nei termini di queste strutture, si ` presentata l analisi delloperatore su di una e particolare rete, la griglia spaziotempo di Petri. Tale analisi ` stata posta nella seguente forma: individuare particolari sottoe strutture di stati allinterno della rete, ed argomentare il loro essere o meno elementi chiusi. Inoltre, sono stati indicati dei motivi circa linteresse che si pu` avere sia nellino dividuare particolari elementi rispetto alloperatore su di una struttura, come appunto gli elementi chiusi, sia nel prendere in esame proprio la griglia di Petri in quanto modello di un sistema sico relativistico. Gli algoritmi sviluppati hanno come obiettivo quello della costruzione esplicita delloperatore descritto: essi possono essere utilizzati per individuare automaticamente i sottinsiemi chiusi di un insieme parzialmente ordinato nito. Accompagnano gli algoritmi una breve analisi di complessit` degli stessi, cos` a come qualche fatto sulla convenienza implementativa di un ambiente di calcolo simbolico come quello adottato, nella fattispecie una piattaforma di tipo computer algebra system come Wolfram Mathematica.1 Molteplici possono essere gli ulteriori approfondimenti e sviluppi, i quali possono nascere sia dallabbracciare nellanalisi nuove sottostrutture, sia dalladottare come struttura di studio reti derivate dalla rete spaziotempo, sia inne sviluppando nuovi algoritmi e strutture dati per i problemi incontrati. Anzitutto vale la pena di notare che il lavoro svolto ` partito dallanalisi di e sottostrutture di stati della rete, non di eventi: se pure nella costruzione degli insiemi polare e chiusura di un dato sottinsieme si includono anche eventi, la sottostruttura di partenza da denire come elemento chiuso o non-chiuso ` stata e sempre un insieme di soli stati. Quindi si potrebbe partire col ripetere le stesse
1 Il

software sviluppato ` depositato presso il laboratorio MCD-MC3. e

43

costruzioni sulla stessa struttura, ma dualmente (considerare un singolo evento, un segmento innito di eventi orizzontali ecc). Ci si aspetta che nel generico caso le cose vadano in modo abbastanza analogo, ma non si pu` costruire nessuo na equivalenza a priori dato che, come illustrato, non si possono far coincidere stati ed eventi. Citando altre sottostrutture, sia di stati sia di eventi, da considerare, tra le svariate possibilit` che sembrano interessanti si hanno non un segmento diagonale a nito ma innito, dei segmenti zig-zag (formati intuitivamente concatenando segmenti diagonali opposti), coppie o pi` generalmente n-uple di elementi arbiu trariamente distanti nello spazio della struttura. Volendo invece costruire una nuova struttura a partire dalla griglia, una formalmente derivabile ` quella che chiamiamo griglia di stati locali : questa griglia e pu` benissimo essere costruita ancora induttivamente; cambia ovviamente luo nit` base, costituita eliminando levento e collegando in usso direttamente gli a stati, in modo opportuno, ossia in modo che sia preservato lordine e la struttura ordinata data dal sottinsieme degli stati della griglia originaria sia isomorfa alla nuova struttura.

Figura 4.1: Lunit` della griglia di stati locali a

Daltro canto ` ragionevole lo sviluppo di ulteriori algoritmi per insiemi parziale mente ordinati, ed in tal senso oltre alla risoluzione di problemi classici nella teoria degli ordini ([?]), altri computazionalmente interessanti incontrati nel lavoro possono essere trovare le linee ed i tagli di una rete di occorrenze cos` come il vericarne la N o K densit`, oppure costruire un insieme causalmente chiuso, a operazione per la quale un approccio iterativo ` gi` denito nella teoria ([?]). e a A causa del fatto che, a priori, queste computazioni richiedono di esaminare lo spazio esponenziale di tutti i possibili sottinsiemi, un approccio ingenuo devessere necessariamente sostituito da altri a livello algoritmico (es. programmazione dinamica) oppure partendo da risultati teorici (che per prima cosa permettano di ridurre lo spazio). Inne, la griglia di Petri ` innita, e quindi unidea potrebbe anche essere progete tare una struttura dati innita per rappresentarla alne daprire una possibilit` a di studio eettivamente realizzabile al calcolatore.

44

Bibliograa
[1] B.A. Davey H.A. Priestley. Introduction to Lattices and Order. Cambridge University Press, second edition, 2002. [2] J. L. Peterson. Petri nets. ACM Comput. Surv., 9(3), 1977. [3] W. Reisig G. Rozenberg. Lectures on petri nets I: Basic models. In Petri Nets, volume 1491 of Lecture Notes in Computer Science. Springer, 1998. [4] L. Bernardinello L. Pomello S. Rombol`. Closure operators and lattia ces derived from concurrency in posets and occurrence nets. Fundamenta Informaticae, 2009. [5] L. Bernardinello C. Ferigato L. Pomello S. Rombol`. Closure operators a associated to partially ordered sets. In Workshop on Non-Classical Models for Automata and Applications - NCMA 2009. Austrian Computer Society, 2009. [6] C. A. Petri. Nets, time and space. Theor. Comput. Sci., 153(1&2), 1996. [7] L. Lamport. The mutual exclusion problem: part I - a theory of interprocess communication. J. ACM, 33(2):313326, 1986. [8] G. Birkho. Lattice Theory. American Mathematical Society, third edition, 1979. [9] E. L. Fiume. An introduction to scientic, symbolic and graphic computation. A K Peters, Ltd., rst edition, 1995. [10] S. Mangano. Mathematica Cookbook. OReilly, rst edition, 2010.

45