Logica Modale, Temporale e Model Checking

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Logica Modale, Temporale e Model Checking"

Transcript

1 Logica Modale, Temorale e Model Checking Giorgio Delzanno DISI Università di Genova 12 luglio 2010 Indice 1 Introduzione 3 2 Parte I: Logica Modale Struttura della logica modale Logica K (Saul Krike 60 s) Sistema Deduttivo er la Logica K Altre logiche Sistema Deduttivo S Semantica Model-Theory Modelli di Krike er S Semantica generalizzata Relazione con Logica Classica 11 5 Quantificazione: Fixed vs World-Relative Domain 11 6 Logica Multi-modale 12 7 Esemi di Logiche Modali e loro Alicazioni Logica Deontica Knowledge and Beliefs Logica Dinamica Logica Temorale Logica Saziale Esercizi Soundness della Necessitation Rule Deduzione in Logica Modale Modelli di Krike Logica degli Alberi Logica Temorale

2 9 Inciso su Logica Costruttiva Preliminari: Calcoli a Sequenti Logica Intuizionista Altre Logiche Substrutturali Esercizi Parte II: Procedure di Decisione er Logiche Modali Linear Temoral Logic (LTL) Semantica Model Theoretic Esemi Formule LTL interessanti Assiomi er LTL Model Checking, Soddisfacibilità e Validità LTL Model Checking Algoritmo di LTL Model Checking Esemio di costruzione di un Tableau Modiche alle Regole del Tableau er gestire F Esemio Linear Time vs Branching Time Comutation Tree Logic: CTL Semantica Model Theoretic Model Checking CTL CTL e Comutazioni di Punto Fisso Esemio Symbolic Model Checking Raresentazione di Funzioni Booleane Raresentazione di Modelli di Krike Constraint-based Model Checking Parte IV: Planning as Symbolic Model Checking Dominio di Planning non deterministico Planning Problem, Weak and Strong Solutions Algoritmi er Estrarre Piani Symbolic Model Checking e Planning Introduzione La logica classica è un linguaggio formale nato er descrivere la matematica. La logica è anche alla base di concetti fondamentali dell informatica quali la nozione di circuito e schemi di oerazioni su informazioni digitali (and, or, ecc.) e la nozione di roblema di decisione alla base della teoria della comlessità. Negli ultimi decenni la logica classica ha trovato anche numerose altre alicazioni all informatica, ed intelligenza artificiale in articolare, quali raresentazione della conoscenza, sistemi eserti, ragionamento automatico, secifica di sistemi, rogrammazione, e molti altri.

3 Sintassi Un linguaggio del rim ordine è costituito dai seguenti ingredienti. Termini (costanti, simboli di funzioni, alicazioni) Formule atomiche (t 1,..., t n ) dove è un simbolo di redicato e t i è un termine Connettivi:,, (imlicazione), Quantificazione:, Le formule roosizionali sono del tio: ( q) r dove, q, r simboli roosizionali (i.e. interretabili come vero o f also) Al rim ordine si aggiunge la quantificazione su variabili di tio base: x. y. ((x, y) q(x)) r(y) Al second ordine la quantificazione varia su simboli di redicato, e.g.,. x. y. ((x, y) q(x)) r(y) Più in generale all ordine sueriore si uò quantificare su variabili con tio funzionale arbitrario, e.g.,. q. x. y. ((q, y) q(x)) r(y) Semantica della Logica classica La semantica della logica classica è basata sulla nozione di interretazione dei termini e delle formule. Un interretazione è costituita da Una struttura algebrica er interretare le costanti e simboli di funzione Una collezione di relazioni er interretare i simboli di redicati Le tabelle di verità er i connettivi Le regole di istanziazione er i quantificatori I concetti fondamentali della semantica sono: a nozione di soddisfacibilità (verità risetto ad un modello), validità (verità risetto a tutti i modelli) e conseguenza logica (i modelli di una formula sono modelli anche della formula che ne segue logicamente). La semantica della logica classica è basata su una visione statica della realtà. Ad esemio, data una formula F e fissato il dominio di interretazione: (in questo momento) F è vera o falsa Ragionamento Automatico Una teoria (insieme di formule) uò essere visto come un modello formale di una certa realtà di interesse. Un sistema deduttivo raresenta un tentativo er rendere semi-automatico (in alcuni casi comletamente automatico) il ragionamento sulla teoria. Una rova costruita attraverso le regole del sistema deduttivo diventa quindi un ossibile testimone della verità o falsità di un asserzione (formula). Ad esemio, le tabelle di verità in combinazione con una adeguata strategia di valutazione ossono essere viste come un ossibile algoritmo er testare la validità di una formula roosizionale. Ad es. se raresenta un asso di semlificazione allora true (false (true false)) true (false false) true true true. Adeguatezza della logica del rim ordine Nonstante l imortanza della logica classica, siamo sicuri che un formalismo quale la logica del rim ordine sia veramente la logica giusta er esrimere concetti fodamentali dell informatica? Più recisamente si riescono a modellare (con quale comlessità?) e a ragionare su asetti quali gestione delle risorse (temo e sazio), cambiamento di stato e comutazione, arallelismo/sequenzialità, sicurezza, concetti di base di rogrammazione (terminazione, assegnamento, iterazione), concetti avanzati di rogrammazione (oggetti, ereditarietà). Ad esemio suoniamo di voler modellare formalmente la seguente asserzione Prima o oi gli imiegati di livello 1 asseranno al livello 2

4 Per formalizzare tale concetto dobbiamo considerare i seguenti asetti: nozione di stato, temo, e cambiamento di stato. Lo stato otrebbe essere modellato tramite una formula atomica imiego(x, y, t) dove x = nome, y = livello, t = temo. Il temo otrebbe essere modellato tramite costanti: 98, 99,...e redicati: t > 98, t > t, t = t. Il cambiamento di stato sarà raresentato tramite asserzioni su tali formule: imiegato(a, 1, 98), imiegato(b, 2, 99),.... Sulla base di questo linguaggio dovremmo oi considerare assunzioni quali: Il temo scorre: t. t.t > t In ogni instante il livello di un imiegato è unico: x. ( s. s. t.imiegato(x, s, t) imiegato(x, s, t) s s ) La nostra asserzione sarà dunque l insieme delle assuzioni in congiunzione con la formula t. x.imiegato(x, 1, t) t > t.imiegato(x, 2, t ) Quindi la formalizzazione anche di un concetto aarentemente semlice otrebbe comortare numerosi assaggi eraltro difficili da automatizzare. Logiche non-standard Le logiche non-standard sono state introdotte er ovviare a limiti della logica classica o iù semlicemente er facilitarne l uso. In entrambi i casi lo scoo è di definire linguaggi logici er ottenere, in articolari domini, una descrizione iù ricca e flessibile (o semlicemente di natura differente) risetto alla logica classica. Nelle estensioni della logica classica quali Logica modale, dinamica, temorale, ecc. si estendono il linguaggio e la semantica, ad es., con nuovi connettivi e assunzioni riguardo la loro semantica (ad es. tramite nuovi assiomi). Le logiche alternative alla logica classica quali la logica intuizionista, multi-valore, lineare, ecc., si ongono invece in contraosizione alla logica classica falsificando teoremi della logica classica, ad es. la legge del terzo escluso A A non vale iù in logica intuizionista. Le logiche non-standard hanno una lunga tradizione in informatica. Ecco alcuni esemi significativi: logica modale er rovare rorietà di rogrammi [23], logica temorale er secifica e verifica di sistemi concorrenti [34], logica intuizionista er secifica, costruzione e verifica di rogrammi [33]; logica temorale er verifica automatica di sistemi hardware [15, 16]; logica lineare e nozione di risorsa [20] logica modale er sistemi mobili [8] Le logiche non-standard sono state alicate anche a svariati asetti dell intelligenza artificiale. Alcuni esemi sono: logica modale er raresentare azioni e credenze [38], logica temorale er modellare eventi, iani [3, 35], temoral logic rogramming [19, 18], logica modale er agenti [22], intuitionistic logic rogramming [37], logica temorale er agenti [17, 45]. 2 Parte I: Logica Modale Vogliamo distinguere tra formule che devono essere semre vere e formule la cui verità diende dal contesto nel quale si valutano. In altre arole vogliamo qualificare la verità di una formula e modellare asserzioni quali è necessario (vero in ogni contesto) che; è ossibile che; è obbligatorio; è ermesso; è roibito; sara semre vero che; otrà essere vero che. Il contesto di interretazione di una formula modale diende dall interretazione intuitiva della nostra logica: istante di temo, mondo in cui ci si trova, stato di un rogramma durante l esecuzione, ecc. Ad esemio: Il mio nome è Giorgio Delzanno! vera in qualunque contesto. Il rogramma leggo(x); y := 0; non assegna mai 1 a y! vera er ogni ossibile esecuzione. Possiedo una Ferrari! vera solo se cambio lavoro. Il rogramma leggo(x); y := x; assegna 1 a y! diende dall ambiente esterno.

5 2.1 Struttura della logica modale L idea generale è di arricchire la logica classica con nuovi oeratori cosiddetti modali er qualificare la verità di una formula: Lϕ = ϕ è necessariamente vera; Oϕ = ϕ è obbligatorio; Gϕ = ϕ sarà semre vera; ecc. La semantica intuitiva degli oeratori viene data tramite nuovi assiomi e un sistema deduttivo (i.e. una logica modale) In molti casi è difficile trovare una controarte model theoretic che estenda in modo naturale la semantica della logica classica. Storicamente la logica modale è nata er modellare le asserzioni: Lϕ = ϕ è necessario Mϕ = ϕ è ossibile Il linguaggio della logica classica viene arricchito con i due oeratori L e M. Otteniamo formule come: M(a b); (La) (Mb); x.m(x); Ma M(b c). Il significato di L e M viene modellato tramite assiomi: infinite discussioni su quali assiomi modellano in modo soddisfacente la nozione di necessità ed eventualità. 2.2 Logica K (Saul Krike 60 s) Possiamo definire M in funzione di L: Def M. LA M A Inoltre sembra ragionevole che: se A è necessariamente vera e da A segue B in ogni circostanza, allora B è necessariamente vera Assioma K. L(A B) (LA LB). Infine, sembra ragionevole che se F è un teorema della nostra logica allora anche LF è un teorema. Necessitation Rule. Se F, allora LF 2.3 Sistema Deduttivo er la Logica K Il sistema K è formato dagli assiomi: Def M, K, e PL(= A, se A è una tautologia risetto ai connettivi classici); e dalle regole: Necessitation Rule e Modus Ponens (Se A B e A, allora B). K modella veramenta la nozione di necessità? Ad esemio, ossiamo dedurre che se A è necessaria allora A è vera? (Di nuovo sembra un assuzione ragionevole.) Tuttavia, LA A non è un teorema di K. La logica K è troo debole er questa nozione di necessità. 2.4 Altre logiche Aggiungiamo altri assiomi. Se A è necessaria, allora è vera Assioma T. LA A Se A è ossibile, allora è ossibile in ogni circostanza. Assioma 5. MA LMA Otteniamo una classe di logiche denominate T, S5, ecc. La tabella in Fig. 1 mostra le logiche ottenute aggiungendo la lista di assiomi indicata nel nome alla logica K.

6 (disegno di J. W. Garson, Coyright 2000,2001) Logic Axioms K K M chiamata anche T K + M D K + D B K + M + B S4 K + M + 4 S5 K + M + 5 Figura 1: Diagramma dell logiche modali iù comuni. 2.5 Sistema Deduttivo S5 Gli assiomi del sistema deduttivo di S5 sono: Def M. LA M A; T. LA A; K. L(A B) (LA LB); 5. MA LMA; PL. A, se A è una tautologia in logica classica Le regole inferenziali di S5 sono: Necessitation Rule: Se A, allora LA; Modus Ponens: Se A B e A, allora B. Il sistema deduttivo S5 è sound e comleto risetto ai modelli di Krike che vedremo nella rossima sezione. Examle 1 (Esemio di Deduzione in S5) A MA: se A è vero ora, allora A è ossibile Prova utilizzando sistema S5: L A A T A L A A MA 3 Semantica Model-Theory Equivalenza logica Alicando Def M : MA L A Per caire meglio il significato degli oeratori modali occorrerebbe avere una semantica stile tabelle di verità er i connettivi classici. Tuttavia le modalità introducono una comonente dinamica nella nostra logica: vero in ogni ossibile contesto, esiste un contesto in cui è vero, ecc. Saul Krike ha roosto una semantica in cui il dominio di interretazione delle formule è strutturato: una formula va interretata a seconda del unto di vista dal quale guardiamo l universo (costituito da un insieme di ossibili mondi). Per ottenere comletezza: varie semantiche a seconda del sistema considerato.

7 3.1 Modelli di Krike er S5 Interretiamo le formule su un insieme di mondi ossibili: un osservatore esterno valuta la verità delle formule modali. Definition 1 Un frame è una tula M = W, D, F dove W è l insieme dei mondi D è l insieme degli individui F è la funzione di interretazione di funzioni (uguale in tutti i mondi) e redicati (varia a seconda del mondo considerato) Ad es. W = {w 1, w2}, F(w 1, ) = true, F(w 2, ) = false, F(w 1, (a)) = false,... Soddisfacibilità in un frame Dato frame M e un mondo w: M, w = se è vero in w (F(w, ) = true) M, w = A B se M, w = A oure M, w = B M, w = A se M, w = A... M, w = LA se w W, M, w = A M, w = MA se w W t.c. M, w = A Una formula è valida se è vera er ogni frame M e mondo w. Il Sistema S5 è sound e comleto risetto a questa nozione di validità! Consideriamo alcuni esemi di modelli er formule di S5. Examle 2 Fig. 2 mostra un esemio di modello di Krike. In questo modello la formula M risulta vera mentre la formula L risulta falsa. =falso w w2 w1 =vero w4 w3 =falso =falso =falso M=vero L=falso Figura 2: Esemio di Modello. Vediamo ora dei controesemi a formule non valide in S5. Examle 3 (Formule Non Valide in S5) La formula A LA non è valida in S5: infatti, in generale, se A vale ora non è detto che A sia necessariamente vero. Un ossibile controesemio è illustrato in Fig. 3. Notate la differenza tra questa formula e la Necessitation Rule: = A imlica = LA. Altri esemi di formule non valide e relativi controesemi sono illustrati in Fig. 4 e Fig. 5.

8 =vero w L=falso w1 =falso Figura 3: Controesemio er A LA w =vero q=falso v q=vero L()=falso L(q)=falso L( v q)=vero w1 =falso q=vero v q=vero Figura 4: Controesemio er L(A B) LA LB 3.2 Semantica generalizzata La semantica (e quindi la logica) di S5 non cattura nozioni quali temo o sequenza di esecuzione: occorre una semantica iù generale. I Modelli di Krike generalizzati hanno le seguenti caratteristiche: insieme di mondi ossibili collegati tra loro attraverso una relazione di accessibilità. Una funzione di interretazione che diende dal mondo in cui ci si trova. Una semantica er le modalità L e M che diende dal unto di vista a artire da un determinato mondo. Ad es. la relazione di accessibilità dei modelli di S5 è semlicemente una relazione di equivalenza tra i mondi. Formalmente i modelli di Krike generalizzati sono definiti come segue. Definition 2 (Modal Frame) Un modal frame è una ennula M = W, D, F, R dove W è l insieme dei mondi D è l insieme degli individui R è la relazione (binaria) di accessibilità: W 2 {0, 1} F è la funzione di interretazione di termini (fissata er tutti i mondi) e redicati (una famiglia di interretazioni F w con w W) La relazione di soddisfacibilità è definita come segue. Dato un frame M e un mondo w: M, w = se è vero in w (F(w, ) = true) M, w = A B se M, w = A oure M, w = B M, w = A se M, w = A (simil. er gli altri connettivi booleani) M, w = LA se w W t.c. wrw, M, w = A M, w = MA se w W t.c. wrw e M, w = A

9 w =vero q=falso M->q=vero M=vero Mq=falso w1 =falso q=falso Figura 5: Controesemio er M(A B) (MA MB) Una formula è valida in una classe C di frames se è valida er ogni M C. Notate che sulla base delle recedenti definizioni vale che LA M A. Examle 4 In Fig. 6 mostriamo un esemio di Modal Frame in cui la relazione R è è antisimmetrica, ma non è transitiva (wrw 1 e w 1 Rw 2 ma non è vero che wrw 3 ) nè tanto meno riflessiva. L=falso M=vero M=falso w =falso R R w2 w1 =vero R R w4 w3 R =falso w5 =vero =falso =falso Figura 6: Esemio di Modal Frame Assiomi, relazione di accessibilità e classi di frames Esiste una corrisondenza tra assiomi in logica modale, formule del rimo ordine su R (rorietà della relazione di accessibili) e classi di frames: Lϕ Mϕ u.wru = Seriale Lϕ ϕ wrw = Riflessivo Lϕ LLϕ wrv vru WRu = Transitivo ϕ LMϕ wrv vrw = Simmetrico LLϕ Lϕ wrv u(wru urv) = Denso Utilizzando la definizione di soddisfacibilità, dimostriamo, ad esemio, che la validità dell assioma Lϕ Mϕ forza R ad essere seriale, cioè w. u.wru. Suoniamo che Lϕ Mϕ sia valido allora M. w. M, w = Lϕ M, w = Mϕ sse M. w. ( u W.wRu M, u = ϕ) ( u

10 W.wRu M, u = ϕ) sse M. w. ( u W.wRu M, u = ϕ) ( u W.wRu M, u = ϕ) sse M. w. u W.wRu (M, u = ϕ M, u = ϕ) sse w. u W.wRu. Per dimostrare la relazione tra assiomi e rorietà di R ossiamo anche usare un ragionamento er contraosizione: quale classe di modelli falsifica l assioma in considerazione? Consideriamo l assioma Lϕ Mϕ. Per falsificarlo occore un modello M, un mondo w ed una formula f tale che M, w = Lf (f è necessariamente vera in w) e M, w = Mf (f non è ossibile in w) Cioè dobbiamo soddisfare le due formule: M, w = Lf u W. wru M, u = f M, w = Mf u W. wru M, u = f ossiamo rendere un modello con R vuota risetto al mondo w. Per oter includere l assioma nella nostra logica modale dobbiamo escludere modelli di questo tio. Il teorema di Scott-Lemmon fornisce un interessante caratterizzazione degli assiomi in termini di rorietà di R e viceversa. Theorem 1 (Scott-Lemmon) Lo schema di assioma corrisonde alla seguente rorietà di R dove R k = R... R } {{ } k } M. {{..M }} L...L {{ } ϕ L...L } {{ } M }. {{..M } ϕ h i j k wr h v wr j u x.(vr i x ur k x) e la comosizione di relazioni è definita come segue: w(r R )v sse esiste u t.c. wru e ur v Ad es. con h = 0, i = 1, j = 0, k = 1 otteniamo Lϕ Mϕ e wr 0 v wr 0 u x.(vr 1 x ur 1 x) cioè u.(wru) Restringendo il tio di relazione di accessibilità otteniamo quindi diverse logiche modali: R riflessiva: logica T; R riflessiva+transitiva: logica S4; (Assioma 4: LA LLA); R equivalenza: logica S5. e così via. 4 Relazione con Logica Classica Dalla definizione della semantica di Krike è chiaro che è ossibile codificare una logica modale in logica classica. Ad esemio ossiamo codificare la relazione di soddisfacibilità attraverso un redicto true definito come segue. Interretazione dei redicati nei mondi = un insieme di formule true(, w), redicato, w mondo Relazione di accessibilità = relazione r(w, w )

11 Soddisfacibilità formule modali: true(lf, W) sse W.r(W, W ) true(f, W ) true(mf, W) sse W.r(W, W ) true(f, W ) Codificando gli assiomi tramite una teoria del I ordine (che stabilisce le rorietà della relazione r) otteniamo che una formula modale è valida sse la sua traduzione è valida in logica del I ordine. Notate che le equivalenze logiche di deducono anche tramite la traduzione in logica del I ordine. Se ad esemio assumiamo che true( F, W )) true(f, W ) allora si ha che true(l F, W) W.r(W, W ) true( F, W ) W. (r(w, W ) true( F, W )) W.r(W, W ) true( F, W ) true(mf, W). Per questa ragione gli oeratori modali hanno rorietà simili alle rorietà di formule quantificate universalmente (L) ed esistenzialmente (M). Ad es. LF LG L(F G), mentre L(F G) LF LG. 5 Quantificazione: Fixed vs World-Relative Domain Aggiugiamo i quantificatori alla nostra logica modale: Cosa vogliono dire x.(x), x.l(x)...? Vi sono diverse scuole di ensiero. Ad esemio: (1) dominio di quantificazione fissato er tutti i mondi (come avevamo secificato nella def. di frame) (2) domino di quantificazione diendente dal mondo in cui ci si trova Ogni scelta ha vantaggi e svantaggi: (1) semlifica la semantica; (2) è iù flessibile Vediamo alcuni roblemi relativi a queste due scelte. Fixed Domain Suoniamo che il dominio di quantificazione sia unico er tutti gli oggetti. Consideriamo l asserzone esiste un uomo che ha firmato la Dichiarazione di Indiendenza, cioè x.m an(x) Sign(x) Siccome il dominio contiene gli individui di tutti i mondi ossibili la formula è vera. Se intendiamo invece esiste al giorno d oggi allora la nostra formalizzazione non è corretta. Per ottenere tale concetto una soluzione otrebbe essere quella di introdurre un altro oeratore E=esiste attualmente e scrivere: x.ex Man(x) Sign(x) Esistono sistemi deduttivi che gestiscono con la quantificazione e l oeratore E. World-relative Domain Suoniamo che il dominio di quantificazione dienda dal mondo (D(w)). Allora la formula x.(x = t) (er un qualche termine t) è valida in logica classica. Attraverso la Necessitation Rule otteniamo che L x.(x = t) è valida. Suoniamo che t indentifichi Abramo Lincoln. Da questa assunzione segue che stiamo asserendo che in ogni ossibile mondo esiste Abramo Lincoln (L x.x = lincoln è valida). Per ovviare a questo tio di roblemi Krike ha roosto una soluzione drastica: togliere i termini!

12 Nel seguito restringeremo la nostra attenzione al caso roosizionale e quindi non incontreremo iù questo tio di roblematiche. Rieilogando abbiamo visto quali sono le idee generali della logica modale: introdurre una nozione di verità diendente dal contesto (dinamica) la cui semantica viene formalizzata tramite modelli di Krike. Un Modello di Krike non è altro che un grafo. Possiamo raffinare ulteriormente la semantica? Ad esemio: sarebbe interessante oter modellare il unto di vista di osservatori diversi o l effetto di azioni di tio diverso Nella rossima sezione vedremo che esistono estensioni in tale direzione. 6 Logica Multi-modale La logica modale ermette di esrimere la dinamica nella conoscenza. Suoniamo erò di voler modellare la conoscenza dinamica di un insieme di agenti. Possiamo raffinare ulteriormente la logica modale introducendo famiglie di oeratori modali etichettati: L a,m a con a Agents. L insieme delle etichette Agents uò essere visto come l insieme dei nomi degli agenti. L a F uò essere interretata in vari modi: l agente a conosce F; l agente a crede F; F è vera doo aver eseguito l azione a;... La semantica degli oeratori modali uò essere data raffinando la relazione di accessibilità che diventa una relazione ternaria R : Label W 2 {0, 1}. Ogni sottorelazione R a uò avere caratteristiche seciali! Ad es. R a riflessiva, R b rifl+transitiva, ecc. Esemio La Fig. 7 mostra un ossibile modello multi-modale, cioè un grafo con archi etichettati. Prima di concludere questa breve introduzione agli asetti fondamentali di logica modale, nella M(a) =falso M(b) =vero =falso w a b w2 w1 =vero a b w4 w3 =falso =falso =falso Figura 7: Esemio di modello multi-modale rossima sezione vedremo una anoramica di logiche modali di varia natura cercando di evidenziare il loro camo di alicazione.

13 7 Esemi di Logiche Modali e loro Alicazioni 7.1 Logica Deontica La logica deontica raresenta un classico esemio di logica er modellare stati mentali dell essere umano, ed ha origini di carattere rettamente filosofico. La deontologia è in fatti la scienza che studia la nozione di obbligazione. Tra le alicazioni della deontologia troviamo lo studio della teoria del diritto dove un sistema giuridico, o normativo, è visto come un insieme di norme con relazioni di tio deduttivo. Storicamente in questo ambito si introducono tre oeratori: OF= F è obbligatorio PF= F è ermesso FF= F è roibito Alcuni degli assiomi utilizzati er modellare il significato di tali oeratori sono: PF O F: F è ermesso sse non è vero che è obbligatorio F! FF O F: F è roibito sse è obbligatorio F! OF F F: F è obbligatorio imlica F è roibito! Per arofondimenti su logica deontica vedere ad esemio [4]. 7.2 Knowledge and Beliefs La logica multimodale trova interessanti alicazioni er la modellazione di sistemi multi-agenti. Suoniamo di voler modellare credenze e conoscenza si un insieme di agenti Agents = {a, b,...} Cerchiamo di dare un interretazione intuitiva agli assiomi della logica modale er caire cosa ci serve! Utilizzeremo gli oeratori K a = a knows that (es. K john fatherof(john, bill)) B a = a believes that (es. B john fatherof(jack, bill)) Gli assiomi er modellare le rorietà della conoscenza ossono essere scelti tra formule quali: K a (F G) (K a F K a G): se a conosce F e sa che da F segue G, allora conosce anche G K a F F: Ciò che è conosciuto da a è vero (un agente non uò conoscere qualcosa che è falso) K a F K a K a F: se F è noto ad a, a sa di conoscere F (introsezione ositiva) K a F K a K a F: se F non è noto ad a, a sa di non conoscere F (introsezione negativa) K a F K b F: b sa tutto quello che sa a Alcuni esemi di assiomi er modellare le rorietà delle credenze sono B a (false): a non crede alle contraddizioni

14 Non è ragionevole considerare B a F F : Non è detto che ciò che è creduto da a sia vero! B a F B a B a F: se a crede F, a crede di credere F (introsezione ositiva) B a F K a B a F: se a crede F, a sa di credere F B a B b F B a F: se a crede che b crede F, allora a crede F Doo aver assiomatizzato gli oeratori si ragiona su conoscenza modellata tramite essi tramite sistemi deduttivi secializzati. Esistono strategie di risoluzione er logiche multi-modali simile a quelle er logica del rim ordine. Tra le ossibili alicazioni troviamo Ragionamento non-monotono (frame axiom) Secifica di sistemi ad agenti Verifica di rorietà di rotocolli di sicurezza (dove si modella la conoscenza incomleta) Logica Dinamica La logca dinamica è una logica modale iù viciona ad asetti che ci interessano da vicino, cioè asetti comutazionali di sistemi informativi. In articolare la logica dinamica è stata introdotto er ragionare sul comortamento di rogrammi sequenziali. Più recisamente l idea è di costruire un modello di Krike in cui: i mondi sono tutti i ossibili stati del rogramma la relazione di accessibilità = relazione di transizione indotta dalla semantica delle istruzioni (R={ R G : G istruzione }, R G =relazione di transizione da stati in stati associata a G) Consideriamo ora uno statement S di un linguaggio imerativo. Introduciamo due oeratori modali L S e M S er ragionare sul comortamento durante l esecuzione di S. La formula M S A sarà vera nello stato s se esiste uno stato s raggiungibile da s attraverso l esecuzione (terminante) di S. Sulla base di questa idea è ossibile esrimere varie rorità di un rogramma attraverso oortune formule modali. Ad esemio, M = A L G B: correttezza arziale del rogramma G risetto ad A e B M = M G A: esistenza di un cammino che termina con uno stato che soddisfa A er il rogramma G M = B M G A: esistenza di un cammino che termina con uno stato che soddisfa A er il rogramma G sotto l iotesi B Vediamo un esemio concreto. Examle 5 Consideriamo un rogramma con la sola istruzione S definita come x := x + 1. La semantica associata a tale istruzione induce la seguente relazioni tra stati del rogramma: R S = { x, x x = x + 1} R S è la nostra elazione di accessibilità sull insieme dei mondi (assegnamenti di valori alla variabile x) La formula x = 0 L S x = 1 esrime il fatto che se il rogramma termina (la relazione di accessibilità è arziale) allora a artire dallo stato con x = 0 giungerò semre allo stato x = 1.

15 7.4 Logica Temorale L obbiettivo (ambizioso) della logica temorale è formalizzare il concetto di temo. La logica temorale trova numerose aliocazioni sia in logica filosofica che in intelligenza artificiale (linguaggio naturale, raresentazione di informazione temorale) e in informatica (database temorali, verifica di hardware e sistemi reattivi). Data la difficoltà del roblema esistono numerose variazioni sulla logica temorale: logica temorale come logica modale (temo imlicito nella semantica) logica temorale come logica dei redicati (temo eslicito) La semantica diende dal flusso del temo (finito, infinito, denso, continuo, branching, linear,...), e dall unità di temo (unti, intervalli, eventi,... ) Logica Temoral come Modal-logic: Tense Logic La Tense Logic (tense=temo nel senso grammaticale ) venne introdotto da Prior er modellare assato e futuro tramite i seguenti oeratori modali Pϕ: in qualche instante nel assato ϕ Fϕ: in qualche instante nel futuro ϕ Hϕ: ϕ è semre stata vera Gϕ: ϕ sarà semre vera P e F sono chiamati weak tense oerators; H e G sono chiamati strong tense oerators. Alcuni esemi di Assiomi della Tense Logic sono: Quello che varrà semre, rima o oi sarà vero! Gϕ Fϕ Se rima o oi ϕ, allora accadrà che rimo o oi ϕ Fϕ FFϕ Se è vero, allora è semre stato er essere vero... ϕ HFϕ Se è vero, allora in futuro sarà stato vero... ϕ GPϕ Come in logica modale, la quantificazione al I ordine in Tense Logic introduce iù otere esressivo ma anche svariati roblemi sia concettuali che ratici. Ad es. roviamo a modellare il concetto un filosofo sarà re!. Ci sono varie ossibilità: x.(p hilosoher(x) FKing(x)) x.f(p hilosoher(x) King(x)) F x.(p hilosoher(x) FKing(x)) F x.(p hilosoher(x) King(x)) Nelle ultime due formule occorre un dominio di interretazione diendente dal temo (ad es. t. x.(x) (skolem) (f(t))!)

16 Semantica della Tense Logic Come in logica modale introduciamo la nozione di temoral frame M definito sulla struttura T, < (flow of time) dove: T= eventi, < ordinamento degli eventi M, t = Pϕ sse t t < t such that M, t = ϕ M, t = Fϕ sse t t < t such that M, t = ϕ M, t = Hϕ sse t t < t imlica M, t = ϕ M, t = Gϕ sse t t < t imlica M, t = ϕ Inoltre introduciamo le seguenti rorietà Pϕ H ϕ e Fϕ G ϕ. Assiomi e nozione di temo Come in logica modale esiste una corrisondenza tra assiomi in logica temorale, formule del rimo ordine su < (rorietà dell ordinamento) e classi di frames: Hϕ Pϕ t. t.(t < t) = unbounded in the ast Gϕ Fϕ t. t.(t < t ) = unbounded in the future Fϕ FFϕ t, t.(t < t t.(t < t < t )) = dense ordering FPϕ Pϕ ϕ Fϕ t, t, t.((t < t t < t ) (t < t t = t t < t)) = linear in the ast PFϕ Pϕ ϕ Fϕ t, t, t.((t < t t < t ) (t < t t = t t < t)) = linear in the future Esemi di Logiche Temorali Vediamo alcuni esemi di logiche temorali. Suoniamo di voler formalizzare l analisi grammaticale di frasi coniugate al temo futuro: il treno artirà domani, il treno arte domani,... Potremmo ensare che le differenze semantiche diendono da ossibili futuri diversi (nel unto t ho un futuro T t ecc) Scegliamo quindi future branching time: Linear Past Branching Future t s Il temo discreto uò essere utilizzato anche er descrivere eventi su base giornaliera. In questo caso il temo è modellato attraverso gli interi (ordine totale). L unità di temo è quindi un intero e gli atomi hanno valori di verità ad ogni unto. yesterday today tomorrow lezione(giorgio) lezione(?)

17 1 2 3 q=vero q=falso Invece di unti ossiamo ensare di utilizzare come unità di temo un intervallo chiuso [m, n], m n. In questo caso gli atomi sono veri/falsi risetto ad un certo intervallo. In seguito studieremo con maggiore attenzione due articolari tii di logica temorale utilizzata er studiare asetti conmutazionali, CTL e LTL. Vediamo rima altri esemi di logiche modali. 7.5 Logica Saziale La logica saziale ermette di descrivere insiemi di oggetti geometrici e relazioni toologiche. Tra le sue ossibili alicazioni troviamo image rocessing visual databases, robotics, e reti e codice mobile. Esemio di Logica Saziale: Comass relation Consideriamo il iano dei reali R R come una maa infinita. Definiamo la seguente comass relation: x, y R E x, y iff x < x, y = y x, y ad Est di x, y x, y R N x, y iff x = x, y < y x, y a Nord di x, y... La maa infinita si uò vedere come un modello di Krike R R, R E, R W, R N, R S. e ragionare attraverso connettivi multimodali quali L E,L W,L W,... e assiomi quali L E L N L N L E Esemio di Logica Saziale: RCC La comass relation ci ermette di ragionare su unti ma non su regioni. Per ovviare a questa limtazione sono state rooste logiche er raresentare regioni. Tra queste troviamo il Region Connection Calculus (RCC). RCC è una logica del I ordine con un solo redicato C(X, Y) = region X is connected to region Y dal quale si ricavano le relazioni toologiche rinciali. RCC è molto esressivo (rovaibilità è indecidibile). Tuttavia esistono restrizioni interessanti che sono trattatibili. Alcuni frammenti del Region Connection Calculus ossono essere raresentati in articolari logiche modali. A artire dalla realziione C si ossono derivare relazioni toologiche quali: X, Y disconnected CD(X, Y ) C(X, Y ) X art of Y P(X, Y ) Z.(C(Z, X) C(Z, Y )) X equal to Y EQ(X, Y ) P(X, Y ) P(Y, X) X overlas Y O(X, Y ) Z.(P(Z, X) P(Z, Y )) X artially overlas Y PO(X, Y ) O(X, Y ) P(X, Y ) P(Y, X))...

18 8 Esercizi 8.1 Soundness della Necessitation Rule In logica modale la necessitation rule (NR) è definita come segue: se F allora LF Dimostrare che NR è sound risetto alla semantica generalizzata Soluzione Soundness di A B = se A è valida allora B è valida Suoniamo che A sia valida. Allora er ogni modello M = W, D, R, L e mondo w W M, w = A. Suoniamo ora che LA non sia valida. Allora esiste un modello M ed un mondo w tale che M, w = LA non vale, cioè v W tale che wrv e M, v = A e ciò contraddice l iotesi che A è valida (cioè vera in ogni modello e ogni stato) 8.2 Deduzione in Logica Modale Consideriamo il seguente sistema deduttivo: Assiomi: Def M. LA M A T. LA A K. L(A B) (LA LB) 5. MA LMA PL. A, se A è una tautologia in logica classica NR: Necessitation Rule: Se A, allora LA MP: Modus Ponens: Se A B e A, allora B. Provare che LMA LLMA Verificare tramita la semantica di S5 (in cui R è una relazione d equivalenza) che tale formula è valida Soluzione: MA LMA 5 L(MA LMA) NR L(MA LMA) (LMA LLMA) K LMA LLMA MP

19 Soluzione In S5 i modelli sono tule M = W, D, L (R è una relazione di equivalenza) ϕ = LMA LLMA è valida se er ogni M e w M, w = ϕ Suoniamo che M, w = LMA Quindi er ogni v W M, v = MA, i.e., esiste u W.M, u = A Quindi v 1. v 2. w. M, w = A cioè LLMA è vera in M, w 8.3 Modelli di Krike Costruire dei modelli di Krike che falsificano le seguenti formule MLA LMA L(A MB) MA MMA MLA=true MLA -> LMA = false ~P P ~P Modello che falsifica MLA LMA L( -> M)=false P=true MP=false ~P P ~P Modello che falsifica L(A MB) M=true MM=false M=false ~P P ~P Modello che falsifica MA MMA

20 8.4 Logica degli Alberi Suoniamo di voler definire una logica modale er ragionare su strutture ad albero. Suoniamo quindi che i nostri modelli siano alberi binari etichettati con due colori bianco e nero Suoniamo di voler esrimere rorietà quali Esiste un cammino con soli nodi bianchi L albero ha una frontiera con soli nodi neri L albero ha solo nodi neri Esiste un sottoalbero con nodi solo neri Se c e un nodo bianco allora tutti i suoi successori sono neri A artire da tali modelli di Krike introdurre i connettivi er oter definire tali rorietà, definire la loro semantica, e infine esrimere le rorietà nella logica risultante 8.5 Logica Temorale Considerate un modello di Krike in cui gli stati sono i numeri interi e la relazione di accessibilità è la relazione successore Definiamo i connettivi G ed F come segue Gϕ è vera se ϕ vale in tutti gli stati raggiungibili dallo stato corrente Fϕ è vera se esiste uno stato raggiungibile dallo stato corrente in cui ϕ è vera Mostrare un modello con le caratteristiche viste sore che soddisfa GFϕ ma non FGϕ Intuitivamente quali concetti raresentano FGϕ e GFϕ Esemio di modelli GFϕ vale se in ogni stato esiste uno stato successore che soddisfa ϕ in altre arole ϕ deve valere infitamente sesso FGϕ vale se esiste uno stato successore a artire dal quale ϕ vale semre coè ϕ è ersistente Il modello in cui L(i) = sse i è disari, cioè soddisfa GF ma non FG. Infatti non esiste uno stato k a artire dal quale vale semre, mentre vale infinitamente sesso nel modello (ogni sue stati)

21 9 Inciso su Logica Costruttiva Per i costruttivisti la logica classica non è adeguata er modellare asetti comutazionali. La logica classica infatti è instrinsicamente non costruttiva, i.e., non fornisce delle rove er la validità di una formula. Esemio classico: A A è semre vero indiendentemente dalla struttura di A. E se A fosse una comutazione che non termina? Logiche costruttive si resentano quindi come ossibili alternative alla logica classica. In questa sezione vedremo alcune asetti intuitivi legati a due classi di logiche costruttive: la logica intuizionista, e le logiche sub-strutturali. Vedremo questi argomenti seguendo un aroccio guidato dalla sintassi (roof theory). 9.1 Preliminari: Calcoli a Sequenti I calcoli a sequenti sono una classe articolare di sistemi deduttivi er logica classica definiti come segue. Siano (antecedente) e Γ (conseguente) due liste di formule, un sequente è una coia Γ. Intuitivamente, il sequente raresenta la formula B 1,...,B n C 1,...,C m (B 1 B n ) (C 1 C m ). I sistemi inferenziali er i sequenti resentano regoale come quelle mostrate qui di seguito A, Γ B, Γ A B, Γ Γ A, Γ A B, Γ B, Γ A B, Γ A, Γ B, Γ A, Γ B, Γ, A B Γ, A B Γ A B, A, Γ B, Γ A B, A, Γ Γ A, B, Γ Γ A, Γ, A B Γ A, Γ, A Gli assiomi hanno la seguente forma: A, Γ A, false, Γ Γ true, Tutte le regole recendenti vengono chiamate regole logiche. Oltre ad esse occorre introdurre delle regole er maniolare sintatticamente i sequenti durante la costruzione di una derivazione. Queste regole vengono dette strutturali e hanno la seguente forma: Γ A, A, A, A, Γ Γ Γ Γ A, A, Γ Γ A, A, Γ Γ, B, A, Γ, A, B,

22 Nota: con le regole strutturali Γ e vengono considerati insiemi di formule Una rova è un albero costruito tramite le regole di inferenza le cui foglie sono tutti assiomi e la cui radice è il sequente iniziale (da dimostrare). Ad esemio, suoniamo di voler dimostrare che A A, la legge del terzo escluso (law of excluded middle) è un teorema della logica classica. Possiamo costruire la seguente derivazione: A A assioma A A A R A, A A R A A, A A R A A contrazione Notate che nella rova di A A dobbiamo necessariamente utilizzare la regola di contrazione a destra 9.2 Logica Intuizionista La logica intuizionista raresenta un alternativa alla logica classica, dove, ad esemio, la legge del terzo escluso (LEM) A A non vale iù. Nel 1908 Brouwer osservò che LEM seur ragionevole er modellare rorietà er collezioni finite non è semre ragionevole quando esteso a rorietà er collezioni infinite. Ad esemio, se x, y variano sugli interi naturali 0, 1, 2,... e B(x) =esiste y > x tale che sia y che y + 2 sono numeri rimi, allora: non abbiamo ancora un metodo generale (algoritmo) che dato un x arbitrario decide se B(x) è vero o falso! Quindi x.(b(x) B(x)), allo stato attuale della nostra conoscenza, non uò essere vera! Inoltre se A abbrevia l asserzione x.b(x), nuovamente non ossiamo dire nulla su (A A) erchè A e A non sono ancora state rovate. La logica classica non è costruttiva! Non restituisce testimoni er la verità di una formula In logica intuizionista, la formula (A B) va letta come: saiamo costuire una rova er A oure una rova er B. Una rova er A è il testimone che A è vera. Per ottenere un sistema deduttivo con tali caratteristiche si considerano restrizioni sintattiche e logiche substrutturali Sistema di Prova in Logica Intuizionista Si considerano sequenti in cui il conseguente contiene al iù una formula! Γ A dove Γ è un insieme di formule ed A è una formula. In altre arole si vieta l alicazione delle regole strutturali a destra in un sequente. Per rovare A B devo costruire una rova er A o una rova er B. Quindi la regola inferenziale di introduzione di a destra diventa Γ A Γ B Γ A B R Γ A B R

23 Secondo Miller et al. la logica intuizionista uò essere utilizzata er interretazioni comutazionali della rovabilità. Ad esemio, il rovare il sequente P aend(l, L, M) in logica intuizionista uò essere interretato come: rovare il goal aend(l, L, M) in un rogramma logico P Vietare l uso delle regole strutturali corrisonde all idea di considerare in un sequente Γ A la formula A come un task non si uò dulicare arbitrariamente (come in logica classica) abbiamo bisogno di un testimone er la terminazione delle sue attività Logica intuizionista e rogrammazione logica Considerate il goal aend(l, L, M). In logica classica è equivalente alla formula aend(l, L, M) aend(l, L, M) Tuttavia, comutazionalmente, aend(l, L, M) ha un effetto ben diverso dal goal aend(l, L, M) aend(l, L, M) Pensate infatti al ruolo della disgiunzione (scritta ;) nel meccanismo di backtracking del Prolog: nel goal A; B se A fallisce si esegue B. Nel nostro caso rischiamo di eseguire due volte la stessa comutazione. Per evitare questo tio di roblemi, si otrebbe scegliere la logica intuizionista come fondamento logico della rogrammazione logica. Arofondimenti: Provabilità Uniforme in Logica Intuizionista, Clausole Ereditarie di Harro, e lavori di Dale Miller su λprolog. 9.3 Altre Logiche Substrutturali La logica intuizionista vieta l alicazione delle regole strutturali a destra nei sequenti Più in generale si arla di logiche substrutturali quando si ammettono solo alcune delle regole strutturali Le logiche strutturali sono interessanti erchè introducono altri asetti interessanti er la modellazione di sistemi informativi tramite teorie logiche Esemi: Relevant Logic, Affine Logic, Logica Lineare Logica Lineare e Risorse Consideriamo la regola modus onens A A B B MP notiamo che A vale ancora doo l alicazione della regola! Nel mondo reale le risorse vengono consumate con l uso! A = Ho 0.26Euro A B = Se ho 0.26Euro, comro un caffè B = Comro un caffè (ma ho consumato 0.26Euro!!) Per introdurre una nozione di risorsa ancora iù forte che in logica intuizionista, in logica lineare si vieta l uso delle regole strutturali di contrazione e weakening sia a destra che a sinistra! Di conseguenza durante la costruzione di una rova ogni formula si uò utilizzare al iù una volta! Per non limitare troo la otenza esressiva della logica si utilizzano dei connettivi seciali (chiamati esonenziali) er re-introdurre asetti di logica classica: le formule con l esonenziale si comnortano che formule della logica classica, le formule senza esonenziali sono invece delle risorse! MP

24 Sistema di Prova in Logica Lineare I connettivi sono suddivisi in due categorie: addittivi: e.g., & (congiunzione), (disgiunzione), ecc.; moltilicativi: e.g., (congiunzione),. (disgiunzione), (imlicazione) etc. Si considerano sequenti sia con comonenti classiche (formule!f) che lineari!γ, Ω dove Γ = {F 1, F 2,...} è un insieme di formule,!γ =!F 1,!F 2,... Esemi di Regole in Logica Lineare Un sequente ha comonenti classiche (formule!f) e lineari!γ, Ω A, B,!Γ, Ω A. B, dove!{f 1, F 2,...} =!F 1,!F 2,.... R!Γ, Ω A,!Γ, Ω B,!Γ, Ω A&B, & R Interretazione Comutazionale di Logica Lineare Secondo Andreoli, Miller et al. la logica lineare uò essere utilizzata er interretazioni comutazionali con asetti di concorrenza e gestione dello stato Ad esemio, rovare il sequente!p, R G 1. G 2, in logica lineare uò essere interretato come: rovare in concorrenza i goal G 1 e G 2 in un ambiente, usando il rogramma P come definizione dei rocessi (utilizzabili iù volte), e le formule in R come risorse (utilizzabili una sola volta) Arofondimenti: Provabilità Logica Lineare (Focusing Proofs), Logica Lineare e Calcoli di Processi, Programmazione Logica Lineare. 9.4 Esercizi Chiamiamo una formula multiheaded se ha le seguente forma G (A 1... A k ) dove A i è una formula atomica, e G (goal) è costruita tramite formule atomiche, e Considerate ora sequenti del tio Γ dove Γ è un insieme di formule multiheaded e è un multinsieme di goal (cioè q, q è diverso da q) Logiche substrutturali Considerate ora il seguente sistema di rova Γ A,B, Γ A, Γ B, Γ A B, Γ G, Υ Γ A B, Γ, Γ, G (A 1... A n) A 1,..., A n,υ Υ un multins. di formule atomiche

25 Provate che la regola di weakening a destra (vedi sotto) è ammissibile nel sistema di rova recedente Γ Γ A, La logica modale è stata sviluata er studiare vari modelli di verità (necessariamente e ossibilmente vero). La logica temorale è un articolare tio di logica modale nella quale la verità di un asserzione uò variare nel temo. Gli oeratori modali che tiicamente troviamo in logica temorale sono Prima o oi Φ: in qualche istante nel futuro Φ è vera Per semre Φ: Φ sarà vera in ogni ossibile istante futuro Tra le ossibile alicazione troviamo la raresentazione della dinamica nella conoscenza. Ad eesmio er modellare le rorietà interessanti er un semaforo: una volta diventato rosso, non uò tornare immediatamente verde rima o oi sarà di nuovo verde una volta rosso, diventa verde doo essere rimasto giallo er un certo eriodo (tra il rosso e il verde) Inoltre la logica temorale è articolarmente adatta er secificare rorietà del comortamento di sistemi che si evolvono nel temo. Ad esemio, modelli di rogrammi software ma anche rotocolli di comunicazione e sistemi hardware. Più in generale si arla di sistemi reattivi cioè sistemi che interagiscono continuamente con un ambiente (ad esemio un server di un rotocollo). Ad esemio, in un rotocollo di comunicazione tra un agente S ed un agente R otrebbe essere fondamentale garantire rorietà quali: Se il rocesso S invia un messaggio, allora non invierà altri messaggi rima di ricevere un acknowledgement I due agenti non saranno mai contemoraneamente in uno stato di attesa di un messaggio (i.e. ossibile deadlock) Questo tio di rorietà non sono facilmente modellabili tramite linguaggi di secifica basati su re e ost condizioni, solitamente utilizzate er secificare rorietà della relazione inut-outut di un rogramma sequenziale Esistono vari tii di logiche temorali Linear Temoral Logic (LTL) dove il futuro è formato da un insieme di ossibili cammini: le rorietà sono definite sui singoli ercorsi Comutation Tree Logic (CTL) dove il futuro ha forma ad albero: le rorietà sono definite sia in amiezza che sui singoli cammini LTL e CTL non sono ugualmente esressive, cioè esistono formule di una logica non esrimibili nell altra (e.g. esiste una formula F in CTL tale che non esiste una formula G in LTL soddisfacibile sugli stessi modelli e stati iniziali su cui F è soddisfacibile, e viceversa). LTL e CTL sono sussunte dalla logica temorale chiamata CTL. Fissata una struttura di Krike M (ad esemio il modello del comortamento di un sistema

26 reattivo), uno stato iniziale s 0, e data una rorietà secificata in logica temorale ϕ (che ogni ossibile esecuzione del rotocollo dovrebbe verificare) si vuole decidere se M, s 0 = ϕ (cioè se ϕ è vera in M e s 0 ) Questo roblema viene chiamato model checking. Esistono algoritmi che ermettono di decidere tale roblema sia er CTL che er LTL roosizionale. Come vedremo in seguito tali algoritmi si basano sulla teoria e sugli algoritmi sviluata er i grafi. Esistono vari arocci Metodi basati su tableux: si colora il modello di Krike con le sotto-formule vere in ogni nodo tramite delle regole guidate dalla sintassi della formula Metodi basati su comutazioni annidate di unto fisso: si sezza il roblema in blocchi annidati e si risolve tramite calcoli di unto fisso Metodi basati su teoria degli automi: si sfrutta un interessante collegamento tra logica temorale e rorietà dei linguaggi regolari (automi su stringhe finite ed infinite) Nel seguito vedremo solo alcuni di questi (tableaux e fixoint-based). I tool esistenti utilizzano strutture date efficienti er raresentare sia il modello di Krike che i risultati intermedi calcolati dalle rocedure di decisione. Ad esemio, la tecnica chiamata Symbolic Model Checking sfrutta gli Alberi Binari di Decisione (Binary Decision Diagrams, BDDs) er raresentare in modo comatto lo sazio degli stati di un sistema finito (BDD=formula Booleana roosizionale). Alcuni esemi di sistemi basati sulle tecniche di model checking: SMV: htt://www-cad.eecs.berkeley.edu/ kenmcmil/smv/ NuSMV: htt://nusmv.irst.itc.it/ FormalCheck: htt:// XMC (logic rogramming-based): htt://xsb.sourceforge.net/ UPPAAL (real-time systems): htt:// Iniziamo a vedere iù in dettaglio le caratteristiche fondamentali di LTL e CTL. 10 Linear Temoral Logic (LTL) La logica LTL è costituita dalle seguenti formule. Proosizioni Atomiche: simboli di redicato, q, r,... Connettivi classici: ψ ϕ ψ ϕ ψ ϕ ψ Connettivi temorali: X, F, G, U Xϕ = nell istante successivo/next ϕ Fϕ = rimo o oi (in the future/eventually) ϕ Gϕ = semre (globally/always) ϕ ϕuψ = ϕ fino a che (until) ψ

27 Una formula senza connettivo temorale al to-level si riferisce all istante corrente L insieme di connettivi,, X, and U insieme alle formule atomiche è sufficiente er definire le formule LTL Infatti Fϕ true U ϕ Gϕ = F ϕ Examle 6 Vediamo come si ossono utilizzare formule LTL er raresentare le rorietà del nostro semaforo. una volta diventato rosso, non uò tornare immediatamente verde G(red Xgreen) rima o oi sarà di nuovo verde F green una volta rosso, diventa verde doo essere rimasto giallo er un certo eriodo (tra il rosso e il verde) G(red ((red U yellow) U green)) 10.1 Semantica Model Theoretic Un modello LTL è una trila M = S, R, L dove S è un insieme numerabile non vuoto di stati R : S S assegna ad ogni stato s un unico successore R(s) L : S 2 AP assegna ad ogni stato s S le formule atomiche roosizionali che sono vere in s R ermette di creare sequenze infinite di stati (non necessariamente diversi tra loro) s R(s) R(R(s))... (si otrebbe definire un modello direttamente su sequenze infinite) Fissato M = S, R, L, la relazione M, s = ϕ (M soddisfa ϕ in s) è definita come s = se L(s) s = φ se s = φ s = ϕ ψ se s = ϕ or s = ψ... s = Xϕ se R(s) = ϕ s = ϕ 1 U ϕ 2 se j 0. R j (s) = ϕ 2, ( 0 k < j. R k (s) = ϕ 1 ) da cui segue che s = Fϕ se j.r j (s) = ϕ s = Gϕ se j.r j (s) = ϕ dove R j (s) = R(... R(s)...). } {{ } j

28 10.2 Esemi Se ϕuψ vale in s allora anche Fψ vale in s, cioè quando si asserisce che ϕ vale fino a che ψ diventa vera, imlicitamente si asserische che rima o oi ψ sarà vera. Esiste un altra tio di oeratore until chiamato weak until che vale anche se ϕ rimane vera er semre: ϕ W ψ Gϕ (ϕ U ψ) Sia M il seguente modello (s s significa che s = R(s)) s 0 s q 1 s q 2,q s 3 s 4 s 4 s 4... cioè L(s 0 ) =, L(s 1 ) = {q}, L(s 2 ) = {q}, L(s 3 ) = {, q}, L(s 4 ) = allora X vale in s 2 ; F vale Q Q P,Q S0 S1 S2 S3 S4 in s 0, s 1, s 2, s 3 ; G non vale in nessun stato; q U vale in s 1, s 2, s 3. Sia M il seguente modello (s s significa che s = R(s)),q,t s 0,q,r s 1,s s 2,r s 3 (back to) s 1 allora Ft vale solo in s 0 ; G vale in ogni stato; G Fs vale in ogni stato; X(r (q U s)) vale in P,Q,T P,Q,R P,S P,R S0 S1 S2 S3 s 0, s 1, s Formule LTL interessanti ϕ Fψ: se inizialmente vale ϕ, allora rima o oi vale ψ G Fϕ: ϕ vale infinitely often F Gϕ: ϕ vale eventually ermanently G(ϕ Xϕ): se ϕ vale in qualche stato, vale anche nello stato successivo (in LTL equivale a G(ϕ Gϕ): una volta stabilito ϕ, ϕ varrà er semre) Notate che GFϕ Fϕ e FGϕ Gϕ Assiomi er LTL Dualità Gϕ F ϕ Fϕ G ϕ Xϕ X ϕ Esansione ϕ U ψ ψ [ϕ X(ϕ U ψ)] Fϕ ϕ X Fϕ Gϕ ϕ X Gϕ

29 Idemotenza G Gϕ Gϕ ϕ U (ϕuψ) ϕ U ψ F Fϕ Fϕ (ϕ U ψ)uψ ϕ U ψ Assorbimento F G Fϕ G Fϕ G F Gϕ F Gϕ Commutazione X(ϕ U ψ) (Xϕ) U (X ψ) 10.5 Model Checking, Soddisfacibilità e Validità Il model checking roblem è definito come segue: Dato un modello LTL M, uno stato s 0 e una formula LTL ϕ M, s 0 = ϕ? Il satisfiability roblem è definito invece come: Data una formula LTL ϕ, esiste un modello LTL M, ed uno stato s 0 tale che M, s 0 = ϕ? Infine il validity roblem è definito come segue Data una formula LTL ϕ, vale M, s 0 = ϕ er ogni modello LTL M ed ogni stato s 0? Imortante: tutti e tre i roblemi sono decidibili (in articolare l ultimo sfrutta la rorietà dei modelli finiti di LTL) 10.6 LTL Model Checking Dati M, s, ϕ, vogliamo decidere se M, s = ϕ. L algoritmo che risolve il roblema è dovuto a Lichtenstein-Pnueli ed è basato sulla costruzione di un tableau, cioè un grafo costruito a artire dalla formula dal quale si uò estrarre un modello er la formula solo se la formula è soddisfacibile. L algoritmo che decide se ϕ segue da M comone il tableau e la struttura M (rodotto). in modo da verificare se esiste un cammino in M che è anche un cammino nel tableau. Chiusura di una formula LTL Abbiamo visto che ossiamo restringere la nostra attenzione a formule solo con X e U. Sia M un modello LTL e ϕ una formula LTL, definiamo la chiusura CL(ϕ) di ϕ come il iù iccolo insieme di formule che contiene ϕ e tale che le formule generiche ϕ 1, ϕ 2 soddisfano le seguenti condizioni: ϕ 1 CL(ϕ) sse ϕ 1 CL(ϕ) se ϕ 1 ϕ 2 CL(ϕ) allora ϕ 1, ϕ 2 CL(ϕ) se Xϕ 1 CL(ϕ) allora ϕ 1 CL(ϕ) se Xϕ 1 CL(ϕ) then X ϕ 1 CL(ϕ) se ϕ 1 U ϕ 2 CL(ϕ) allora ϕ 1, ϕ 2,X(ϕ 1 U ϕ 2 ) CL(ϕ) La dimensione di CL(ϕ) è lineare in ϕ Definizione dei vertici del tableau (atomi) Sia M = S, R, L, con L : S 2 AP (AP=formule atomiche). Un atomo è una tula s A, K A tale che s A S e K A CL(ϕ) AP è un insieme consistente (anche risetto ad L(s A )) massimale di formule, cioè: er ogni AP, K A sse L(s A ) er ogni ϕ 1 CL(ϕ), ϕ 1 K A sse ϕ 1 K A se ϕ 1 ϕ 2 CL(ϕ) allora ϕ 1 ϕ 2 K A sse ϕ 1 K A oure ϕ 2 K A se Xϕ 1 CL(ϕ) allora Xϕ 1 K A sse X ϕ 1 K A se ϕ 1 U ϕ 2 CL(ϕ) allora ϕ 1 U ϕ 2 K A sse: ϕ 2 K A, oure (ϕ 1 K A e X(ϕ 1 U ϕ 2 ) K A )

30 Costruzione del Tableau Un tableau è una sorta di modello sintattico er una formula ϕ combinato con tutti i ossibili cammini di una struttura M = S, R, L. Formalmente, un tableau è un grafo in cui gli atomi s A, K A sono i vertici ed esiste un arco da s A, K A a s B, K B sse s B = R(s A ) er ogni formula Xϕ 1 CL(ϕ), Xϕ 1 K A sse ϕ 1 K B. Prorietà del Tableau Sia G il tableau associato a M e ϕ una formula LTL, M, s = ϕ sse esiste un atomo A = s, K in G tale che ϕ K ed esiste un cammino in G da A ad una comonente fortementa connessa non elementare self-fulfilling C di G. Una comonente fortemente connessa C è self-fulfilling sse er ogni atomo B in C e er ogni formula ϕ 1 U ϕ 2 B esiste un atomo B in C tale che ϕ 2 K B. Una comonente connessa è non elementare se: ha iù di un nodo o ha un solo nodo con un self-loo Algoritmo di LTL Model Checking Si basa sulla rorietà aena vista. Prima costruiamo il tableau la cui dimensione è in O(( S + R ) 2 ϕ ) cioè otenzialmente esonenziale nella formula ϕ. Poi cerchiamo le comonenti fortemente connesse self-fulfilling nel tableau. Per calcolare le comonenti fortemente connesse si uò utilizzare l algoritmo di Tarjan basato su visite DFS (comlessità lineare nella dimensione del grafo). Infine, cerchiamo un cammino dallo stato inziale s 0 ad una delle comonenti connesse non elementari self-fulfilling ad esemio con una visita DFS (comlessità lineare nella dimensione del grafo). La comlessità è quindi O(( S + R ) 2 ϕ ) 10.8 Esemio di costruzione di un Tableau Consideriamo la seguente formula: ed il seguente modello LTL ϕ yellow U red yellow ~red ~yellow red 1 2 Alichiamo l algoritmo di LTL model checking basato sui tableaux er calcolare gli stati di M sui quali vale ϕ. Chiusura di ϕ La chiusura Cl(ϕ) di ϕ contiene le seguenti formule: yellow red yellow red yellow U red (yellow U red) X (yellow U red) X (yellow U red) X (yellow U red) X (yellow U red) A questo unto dobbiamo costruire il tableau ottenuto considerando insiemi massimali di formule in Cl(ϕ) consistenti con la etichettatura del modello M.

31 Tableau Chiamiamo f la formula (yellow U red). Gli insiemi di formule massimali consistenti con le etichette dello stato 1 sono: K a = {yellow, red, f, X f, X f} K b = {yellow, red, f, X f, X f} Gli insiemi di formule massimali consistenti con le etichette dello stato 2 sono: Il tableau e costruito come segue: K c = { yellow, red, f, X f, X f} K d = { yellow, red, f, X f, X f} Ka Kc Self fulfilling Kb Kd Poiche dall atomo 1, K a esiste un cammino ad una comonente self-fulfilling e f K a, segue che f è soddisfatta in 1. La stessa cosa vale er 2. Quindi M, 1 = f e M, 2 = f Modiche alle Regole del Tableau er gestire F Abbiamo visto che F ϕ true U ϕ. Sulla base di questa idea notiamo che er gestire direttamente formule del tio F ϕ nel tableau dobbiamo aggioungere le seguenti regole. Chiusura Se F ϕ Cl(ψ) sse ϕ Cl(ψ) e X F ϕ Cl(ψ) Insiemi Massimali Consistenti Dato un atomo A, se F ϕ Cl(ψ) allora, F ϕ K A sse (ϕ K A oure X F ϕ K A ) Cammini di Accettazione Dobbiamo aggiungere alla nozione di SCC self-fulfilling la condizione sulla soddisfacibilità di formule del tio F ϕ: cioè er ogni formula F ϕ K A dove A è un atomo della comonente fortemente connessa deve esistere un atomo B nella stessa comonente tale che ϕ B Esemio Consideriamo la seguente formula: ed il recedente modello LTL yellow ~red ϕ = F yellow ~yellow red 1 2 Alichiamo l algoritmo di LTL model checking basato sui tableaux er calcolare gli stati di M sui quali vale ϕ.

32 Chiusura di ϕ La chiusura Cl(ϕ) di ϕ contiene le seguenti formule: yellow yellow F yellow F yellow X F yellow X F yellow X F yellow X F yellow A questo unto dobbiamo costruire il tableau ottenuto considerando insiemi massimali di formule in Cl(ϕ) consistenti con la etichettatura del modello M. Tableau Chiamiamo f la formula F yellow. Gli insiemi di formule massimali consistenti con le etichette dello stato 1 sono: K a = {yellow, red, f, X f, X f} K b = {yellow, red, f, X f, X f} Gli insiemi di formule massimali consistenti con le etichette dello stato 2 sono: Il tableau e costruito come segue: K c = { yellow, red, f, X f, X f} K d = { yellow, red, f, X f, X f} Non e Self-fulfilling SCC (non c e un cammino da f a yellow) Ka Kc f vale! Kb Kd Self-fulfilling SCC ~f vale! Poiche dall atomo 1, K b esiste un cammino ad una comonente self-fulfilling e f K b, segue che f è soddisfatta in 1; er la stessa ragione f è soddisfatta in 2. Quindi M, 1 = f e M, 2 = f. Notiamo che f K a ma non esiste un cammino ad una SCC self-fulling ( 2, K c non è selfulfilling erchè F yellow K c ma yellow K c. 11 Linear Time vs Branching Time In LTL la nozione qualitativa del temo è lineare: in ogni istante esiste un unico ossibile successore (attraverso la funzione di accessibilità R di un modello LTL) e quindi un solo ossibile futuro. Intuitivamente, una sequenza di stati s R(s) R(R(s))... raresenta una comutazione; gli oeratori temorali descrivono l ordine degli eventi (descritti tramite formule atomiche) lungo

33 un singolo cammino. Esiste un altra scuola di ensiero in cui la nozione di temo non è lineare bensì ha una struttura ad albero, i.e., R(s) è un insieme di ossibili stati successori, da cui la Comutation Tree Logic (CTL) LTL e CTL non sono comarabili, alcune rorietà che si ossono esrimere in LTL non si ossono esrimere in CTL e vice versa Le technique di deduzione automatica utilizzate er le due logiche hanno natura diversa (vedremo in seguito la tecnica chiamata symbolic model checking er CTL). 12 Comutation Tree Logic: CTL Le formule CTL sono definite come segue Proosizioni Atomiche: simboli di redicato, q, r,... Connettivi classici: ψ ϕ ψ ϕ ψ ϕ ψ Due tii di connettivi (da usarsi in combinazione) Connettivi sui cammini: E, A Connettivi temorali: X, F, G, U Le formule temorali CTL hanno forma O cammino O temo ϕ Una formula senza connettivo temorale al to-level si riferisce all istante corrente A (er tutti (all) i cammini) e E (er qualche (exists) cammino) vanno usati in combinazione con X (next) e U (until). EXϕ = er qualche cammino nello stato successivo (exists next) ϕ EFϕ = er qualche cammino rimo o oi (exists in the future) ϕ AXϕ = er tutti i cammini nello stato successivo (always next) ϕ AFϕ = er tutti i cammini rimo o oi (always in the future) ϕ EX AX EF otentially AF inevitable EGϕ = er qualche cammino semre (exists globally) ϕ AGϕ = er tutti i cammini semre (always globally) ϕ E(ϕUψ) = er qualche cammino ϕ fino a che (exists until) ψ A(ϕUψ) = er tutti i cammini ϕ fino a che (always until) ψ

34 EG otentially always AG invariantly q q q q E(q U ) A(q U ) L insieme di connettivi,, EX, E, A and U insieme alle formule atomiche è sufficiente er definire le formule CTL. Infatti EFϕ E(true U ϕ) otentially AFϕ = A(true U ϕ) inevitable EGϕ AF ϕ otentially always AGϕ EF ϕ invariantly AXϕ = EX ϕ for all aths next Durante l esecuzione di un sistema concorrente si uò giungere ad uno stato in cui vale Start ma non Ready EF(Start Ready) In ogni esecuzione ogni richiesta viene infine soddisfatta AG(Req AF Ack) Un certo rocesso viene abilitato infinitamente sesso in ogni esecuzione AG(AF Enabled) Da ogni stato è ossibile tornare allo stato Restart AG(EF Restart) Qualsiasi cosa succeda, il sistema alla fine sarà in deadlock ermanente AG(EF Restart) Qualsiasi cosa succeda, il sistema alla fine sarà in deadlock ermanente 12.1 Semantica Model Theoretic AF(AG Deadlock) Un modello CTL è una trila M = S, R, L (modal frame alla Krike) dove S è un insieme numerabile non vuoto di stati

35 R S S è una relazione totale che mette in relazione uno stato s con l insieme dei suoi successori L : S 2 AP assegna ad ogni stato s S le formule atomiche roosizionali che sono vere in s R è totale cioè er ogni s S esiste almeno un s t.c. s, s R. R ermette di costruire branching future. Un cammino σ è una sequenza infinita di stati s 0 s 1...s i... tale che s k, s k+1 R er ogni k 0. σ[i] identifica l i-esimo stato della sequenza σ L insieme dei cammini che artono da s in M è definito come P M (s) = {σ σ è un cammino e σ[0] = s} er ogni modello CTL M esiste un albero infinito di comutazioni (Comutation Tree) dove ogni nodo è etichettato con uno stato s S e tale che s, s è un arco dell albero sse s, s R. a b Krike Model cammino b c c a b b c c Comutation Tree (unfolding) a b c c Soddisfacibilità in CTL Fissato M = S, R, L, la relazione M, s = ϕ (M soddisfa ϕ in s) è definita come s = sse L(s) s = φ sse s = φ s = ϕ ψ sse s = ϕ or s = ψ s = EXϕ sse σ P M (s) t.c. σ[1] = ϕ s = E(ϕ U ψ) sse σ P M (s) t.c. j 0. σ[j] = ψ ( 0 k < j. σ[k] = ϕ) s = A(ϕ U ψ) sse σ P M (s) t.c. j 0. σ[j] = ψ ( 0 k < j. σ[k] = ϕ)

36 dove P M (s) è l insieme dei cammini infiniti di M che arte dallo stato s. Dalle definizioni recedenti ricaviamo la semantica dei connettivi derivati EF, EG, ecc. s = EFϕ se σ P M ( j 0.σ[j] = ϕ) s = EGϕ se σ P M ( j 0.σ[j] = ϕ) s = AFϕ se σ P M ( j 0.σ[j] = ϕ) s = AGϕ se σ P M ( j 0.σ[j] = ϕ) LTL vs CTL Consideriamo due linguaggi logici L e L con la stessa nozione di modello e stato. Allora L e L sono ugualmente esressive se er tutti i modelli M e stati s valgono le due seguenti condizioni ϕ L. ψ L. (M, s = ϕ sse M, s = ψ) ϕ L. ψ L. (M, s = ϕ sse M, s = ψ) Se vale solo la rima arte della congiunzione ma non la seconda allora L è strettamente meno esressiva di L. LTL e CTL non sono comarabili risetto alla recedente relazione. Per interretare una formula LTL su una struttura CTL si suone che la formula sia imlicitamente quantificata universalmente su tutti i cammini, cioè la formula LTL ϕ viene interretata in CTL come A(ϕ). Utilizzando questa comune nozione di modello, si uò dimostrare che non esistono formule CTL equivalenti alla formula LTL A(FG) Vice versa, non esistono formule LTL equivalenti alla formula CTL AG EF LTL CTL: Intuizione Fig. 8 illustra l intuizione sul tio di modelli che si ossono utilizzare er mostrare che LTL non è meno esressiva di CTL. Il modello in questione ha un cammino infinito lungo il quale è semre vero. Poichè le formule LTL vengono analizzate cammino er cammino la formula A(FG) è vera in tale modello. Una ossibile formulazione di tale rorietà in CTL otrebbe essere AF(AG). Tuttavia tale formula non è vera nel modello visto sora. Infatti la formula tiene in considerazione le scelte in ogni nodo del modello, e nel rimo nodo del grafo una delle due strade ossibili orta semre ad una violazione della rorietà. La dimostrazione che LTL CTL è chiaramente iù comlessa. Bisogna infatti dimostrare che non esiste una formula CTL equivalente alla formula LTL in questione. CTL LTL: Intuizione Fig. 9 illustra l intuizione sul tio di modelli che si ossono utilizzare er mostrare che CTL non è meno esressiva di LTL. Il modello in questione ha un cammino infinito lungo il quale è semre falso. Tuttavia in ogni nodo di tale cammino esiste una strada che nel quale diventa stabilmente vera. Quindi la formula CTL AG(EF) è vera in tale modello. Una ossibile formulazione di tale rorietà in LTL otrebbe essere A(GF). Poichè le formule LTL vengono analizzate cammino er cammino tale formula è falsa nello stesso modello. Il roblema è duale al caso della Fig. 8: la formula LTL non tiene conto delle scelte non deterministiche in un modello branching. Di nuovo, la dimostrazione che CTL CTL è chiaramente iù comlessa. Bisogna infatti dimostrare che non esiste una formula CTL equivalente alla formula LTL in questione.

37 Modello di Krike AF(AG ) = false ~ Comuation Tree A(FG ) = true AF(AG ) = false ~ ~ ~ ~ Figura 8: Intuizione su LTL CTL. La Logica CTL Estiste una logica temorale iù esressiva sia di CTL che di LTL chiamata CTL. In CTL si ossono annidare connettivi booleane e temorali rima di alicare i quantificatori sui cammini A e E. Ad esemio in CTL si ossono scrivere rorietà quali E(GF) (esiste un cammino lungo il quale vale infinitamente sesso) che non sono esrimibili nè in LTL nè in CTL 13 Model Checking CTL Il roblema di model checking er CTL è definito come segue: Dato un modello di Krike finito M, uno stato s ed una formula CTL ϕ, vogliamo decidere se M, s = ϕ. Il roblema è decidibile ed esistono vari metodi er risolverlo. Vedremo due ossibili arocci: Algoritmo eslicito basato sull enumerazione degli stati del modello Algoritmo simbolico basato su una raresentazione simbolica dello sazio degli stati 13.1 CTL e Comutazioni di Punto Fisso Per oter caire gli algoritmi di model checking er CTL occorre innanzitutto vedere la relazione tra formule CTL ed esressioni di unto fisso definite su oeratori di transformazione di insiemi di stati L idea è quella di associare ad una formula CTL la sua denotazione cioè l insieme di stati che la soddisfano e oi vedere gli oeratori temorali come transformazioni definite su insiemi di stati Sia D D una relazione d ordine arziale, cioè riflessiva, anti-simmetrica, e transitiva. Dato A D: a D è un uer bound er A se er ogni b A vale b a; a è il least uer bound er

38 Modello di Krike GF =false ~ ~ Comuation Tree A(GF ) = false AG(EF ) = true ~ ~ ~ Figura 9: Intuizione su CTL LTL. A se a è un uer bound, e a b er ogni altro uer bound b di A. Dato A D: a D è un lower bound er A se er ogni b A vale a b; a è il greatest uer bound er A se a è un lower bound, e b a er ogni altro lower bound b di A. Reticoli comleti Un reticolo D, è un ordine arziale in cui er ogni sottoinsieme A D esistono il least uer bound e il greatest lower bound er A. In articolare un reticolo ha quindi un elemento minimo (bottom) ed un elemento massimo (to). Examle 7 l insieme delle arti su un insieme D ordinato risetto all inclusione di insiemi è un lattice comleto: bottom=, to=d, greatest lower bound=, least uer bound=. Funzioni monotone e unti fissi Un funzione F definita su un reticolo D, è monotona sse er ogni a, b D se a b allora F(a) F(b). Un unto fisso er F è un elemento a D tale che F(a) = a. Teorema di Knaster-Tarski Ogni funzione monotona F : D D su un reticolo comleto D,,, ammette un lattice comleto di unti fissi, e quindi in articolare ha un minimo e massimo unto fisso (risetto all ordinamento ). Consideriamo ora un dominio D finito. Il minimo unto fisso (least fixoint, lf) uò essere calcolato come least uer bound ( ) della sequenza (totalmente ordinata) F( ) F(F( ))... Cioè lf(f) = k 0 F k ( )

39 Il massimo unto fisso (greatest fixoint, gf) uò essere calcolato come greatest lower bound ( ) della sequenza decrescente F( ) F(F( ))... Cioè gf(f) = k 0 F k ( ) Per domini non finiti queste caratterizzazioni otrebbero non valere (in articolar modo er il gf). Lattice delle formule CTL Dato un modello M = S, R, L e una formula ϕ definiamo [ϕ] = {s M, s = ϕ} Ordiniamo le formule risetto alle denotazioni come segue: ϕ ψ sse [ϕ] [ψ] L insieme delle formule CTL ordinato con è un reticolo comleto Bottom [false] = To [true] = S Uer bound =, infatti, [ϕ ψ] = [ϕ] [ψ] Lower bound =, infatti, [ϕ ψ] = [ϕ] [ψ] Formule come trasformazioni di insiemi di stati Per caire come si ossono interretare i connettivi CTL come trasformazioni sulle denotazioni delle formule è imortante notare che valgono i seguenti assiomi di esansione (come in LTL) EGϕ ϕ EX(EGϕ) AGϕ ϕ AX(AGϕ) EFϕ ϕ EX(EFϕ) AFϕ ϕ AX(AFϕ) E(ϕ U ψ) ψ (ϕ (EX(E[ϕ U ψ])) A(ϕ U ψ) ψ (ϕ (AX(A[ϕ U ψ])) L assioma di esansione E(ϕ U ψ) ψ (ϕ (EX(E[ϕ U ψ])) suggerisce di considerare l esressione E(ϕ U ψ) come unto fisso della funzione G da formule CTL in formule CTL definita come segue G(Z) = ψ (ϕ EXZ) oure della funzione F da insiemi di stati in insiemi di stati definita come segue dove R(s) = {s S s, s R}. Nota: Z è un unto fisso di G se G(Z) = Z. g(z) = [ψ] ([ϕ] {s S s R(s) Z})

40 Formule come unti fissi In effetti le denotazioni delle formule CTL ossono essere viste come segue [EGϕ] è il massimo unto fisso (greatest fixoint) della funzione F(Z) = [ϕ] {s S s R(s) Z} [AGϕ] è il massimo unto fisso (greatest fixoint) della funzione F(Z) = [ϕ] {s S s R(s) Z} [EFϕ] è il minimo unto fisso (least fixoint) della funzione F(Z) = [ϕ] {s S s R(s) Z} [AFϕ] è il minimo unto fisso (greatest fixoint) della funzione F(Z) = [ϕ] {s S s R(s) Z} Algoritmo di CTL Model Checking Eslicito Dato un modello di Krike finito M,uno stato s ed una formula CTL ϕ, vogliamo decidere se M, s = ϕ. L algoritmo (eslicito) che risolve il roblema è dovuto a Emerson-Clarke ed è basato sulla seguente idea: si etichetta ogni stato s in M con l insieme di sottoformule di ϕ che sono valide in s. L etichettatura è costruita iterativamente a artire dalle sottoformule di dimensione minima (i simboli roosizionali) e oi rocedendo er induzione strutturale Sottoformule di una formula CTL Abbiamo visto che ossiamo restringere la nostra attenzione a formule solo con EX, A, E e U. L insieme Sub(ϕ) delle sottoformule di ϕ è definito come segue Sub() = {}, AP (formula atomica) Sub( ϕ) = Sub(ϕ) { ϕ} Sub(ϕ ψ) = Sub(ϕ) Sub(ψ) {ϕ ψ} Sub(EXϕ) = Sub(ϕ) {EXϕ} Sub(E(ϕ U ψ)) = Sub(ϕ) Sub(ψ) {E(ϕUψ)} Sub(A(ϕ U ψ)) = Sub(ϕ) Sub(ψ) {A(ϕUψ)} Algoritmo Sia M = S, R, L ed AP l insieme delle sue formule atomiche, l algoritmo di model checking si basa sulla funzione Sat che data una formula CTL ϕ restituisce l insieme degli stati dove la formula vale function Sat(ϕ : CTL formula) : set of states begin if ϕ = true then return S if ϕ = false then return if ϕ AP then return { s ϕ L(s)} if ϕ = ψ then return S \ Sat(ψ) if ϕ = ϕ 1 ϕ 2 then return Sat(ϕ 1 ) Sat(ϕ 2 ) if ϕ = EXϕ 1 then return { s S s, s R s Sat(ϕ 1 )} if ϕ = E(ϕ 1 U ϕ 2 ) then return Sat EU (ϕ 1, ϕ 2 ) if ϕ = A(ϕ 1 U ϕ 2 ) then return Sat AU (ϕ 1, ϕ 2 ) end.

41 La funzione Sat EU è definita come minimo unto fisso function Sat EU (ϕ 1, ϕ 2 : CTL formula) : set of states var Q, Q : set of states begin Q := Sat(ϕ 2 ) Q := while Q Q do Q := Q; Q := Q {s s Sat(ϕ 1 ) and s R(s) Q }; endw; returnq; end. La funzione Sat AU è definita come minimo unto fisso function Sat AU (ϕ 1, ϕ 2 : CTL formula) : set of states var Q, Q : set of states begin Q := Sat(ϕ 2 ) Q := while Q Q do Q := Q; Q := Q {s s Sat(ϕ 1 ) and s R(s).s Q }; endw; returnq; end Esemio Consideriamo il seguente algoritmo di mutua esclusione. reeat think : turn 1 := turn 2 + 1; wait : when [ turn 1 < turn 2 or turn 2 = 0 do critical section; use : turn 1 := 0 forever In modo astratto ossiamo modellare l insieme degli stati di dei due rocessi tramite i flag booleani think i =il rocesso i è nella fase think, wait i =il rocesso i è nella fase wait, use i =il rocesso i è nella fase use er i : 1, 2. Allora otteniamo il seguente modello di Krike che modella le esecuzioni astratte del rotocollo.

42 wait 1 think 2 1 think 1 think think 1 wait wait 1 wait 2 6 use 1 think 1 think 2 use 2 7 wait 1 8 use 2 use 1 wait 2 Tra le rorietà CTL interessanti che vogliamo studiare troviamo Mutua esclusione AG[ (use 1 use 2 )] Freedom from Starvation AG[wait i AFuse i ] er i : 1, 2. Proviamo a studiare tali rorietà utilizzando l algoritmo di model checking er CTL. Innanzitutto notiamo che AG[ (use 1 use 2 )] é equivalente alla formula EF(use 1 use 2 ). Per calcolare gli stati che soddisfano tale formula (cioé le sue denotazioni) occorre considerare le denotazioni delle sottoformule use 1, use 2 e oi della formula stessa. Allora abbiamo che: Inoltre E quindi [use 1 ] = {5, 8} [use 2 ] = {6, 7} [use 1 use 2 ] = A questo unto dobbiamo calcolare le denotazioni della formula rinciale, cioé il minimo unto fisso della trasformazione da insiemi di stati in insiemi di stati g(z) = [use 1 use 2 ] Pre EX (Z), dove Pre EX (S) denota tutti gli stati del modello M che in un asso raggiungono uno stato in S, cioé gli stati redecessori degli stati in S Il minimo unto fisso corrisonde al limite della catena (calcolato tramite l unione), g( ), g 2 ( ),... Quindi S 0 = S 1 = Pre EX ( ) =... S i = Notate infatti che l insieme degli stati redecessori dell insieme vuoto é ancora vuoto. E quindi il minimo unto fisso é vuoto cioé [EF(use 1 use 2 )] =. Infine [ EF(use 1 use 2 )] = {1, 2, 3, 4, 5, 6, 7, 8} cioé tutti gli stati soddisfano la formula in questione e quindi nel nostro modello vale la rorietá di mutua esclusione.

43 Freedom from Starvation AG[wait 1 AFuse 1 ] Notiamo che la formula recedente é equivalente alla formula cioè EF ( wait 1 (EG use 1 )) EF(wait 1 (EG use 1 )) Per calcolare gli stati che soddisfano tale formula (cioé le sue denotazioni) occorre considerare le denotazioni delle sottoformule wait 1, use 1, use 1, EG( use 1 ), wait 1 (EG use 1 ) e oi della formula stessa. Calcoliamo le denotazioni delle varie formule. Sottoformula EG use 1 Allora abbiamo che: [ use 1 ] = {1, 2, 3, 4, 6, 7} A questo unto dobbiamo calcolare le denotazioni della formula EG, cioé il massimo unto fisso della trasformazione da insiemi di stati in insiemi di stati f(z) = [ use 1 ] Pre EX (Z), dove Pre EX (Z) denota gli stati redecessori degli stati in Z. Formalmente Pre EX (Z) = {s s S s.t. s, s R, s Z} Sia S = {1, 2, 3, 4, 5, 6, 7, 8} (l insieme di tutti gli stati). Il massimo unto fisso corrisonde al limite (calcolato come intersezione (greatest lower bound (gf)) della catena S, g(s), g 2 (S),.... Quindi S 0 = S = {1, 2, 3, 4, 5, 6, 7, 8} S 1 = {1, 2, 3, 4, 6, 7} Pre EX (S) = {1, 2, 3, 4, 6, 7} S = {1, 2, 3, 4, 6, 7} S 2 = S 1 = S i = gf(f) Quindi il massimo unto fisso corrisonde all insieme di stati {1, 2, 3, 4, 6, 7}. Notate che EG use 1 viene soddisfatta se esistono cammini infiniti lungo i quali il rimo rocesso non entra mai nella regione critica. Il massimo unto fisso raresenta l insieme degli stati lungo tali cicli: I cicli semlici sono wait 1 think think 1 think 2 3 wait 1 use 2 Passiamo ora alle altre sottoformule. 4 think 1 wait 2 wait 1 wait think 1 use 2

44 Sottoformula wait 1 (EG use 1 ) Allora abbiamo che [wait 1 ] = {2, 4, 7} e quindi T = [wait 1 (EG use 1 )] = {2, 4, 7} Sottoformula EF(wait 1 (EG use 1 )) Ci rimane ora da calcolare il minimo unto fisso (lf) associato alla trasformazione h(z) = T Pre EX (Z). Allora abbiamo che: S 0 = S 1 = {2, 4, 7} Pre EX ( ) = {2, 4, 7} S 2 = {2, 4, 7} Pre EX ({2, 4, 7}) = {1, 2, 3, 4, 7} S 3 = {2, 4, 7} Pre EX ({1, 2, 3, 4, 7}) = {1, 2, 3, 4, 5, 6, 7, 8} = S S i = S = lf(h) Quindi questa sottoformula é vera in ogni stato, infatti da ogni stato ossiamo raggiungere uno stato in cui il rimo rocesso asetta di entrare nella regione critica e a artire dal quale non entrera mai nella regione critica. Formula AG[wait 1 AFuse 1 ] Negando la sottoformula recedente otteniamo la formula di artenza. L insieme delle sue denotazioni è vuoto e quindi la rorietá di starvation freedom non vale in nessun stato del nostro modello (neanche nello stato inziale). La cosa uò sembrare strana erchè l algoritmo di mutua-esclusione è corretto. In effetti ciò che manca nella secifica è l assunzione della fairness dell esecuzione del sistema: dobbiamo assumere che infinitamente sesso se un rocesso è nella regione critica allora la rilascia. Tale rorietà non si uó esrimere in CTL (si uò esrimere in LTL tramite GF). Esistono erò modelli CTL con fairness e algoritmi di model checking estesi a tali modelli (intutivamente occorre isolare le comonenti fortemente connesse che soddifano Altri esemi Consideriamo ora la formula AG[wait 1 EFuse 1 ] Notiamo che la formula recedente é equivalente alla formula cioè EF ( wait 1 EFuse 1 ) EF(wait 1 ( EFuse 1 )) Per calcolare gli stati che soddisfano tale formula (cioé le sue denotazioni) occorre considerare le denotazioni delle sottoformule wait 1, use 1, EFuse 1, wait 1 ( EFuse 1 ) e oi della formula stessa. Calcoliamo le denotazioni delle varie formule. Sottoformula EF use 1 Allora abbiamo che: [use 1 ] = {5, 8} A questo unto dobbiamo calcolare le denotazioni della formula EF, cioé il minimo unto fisso della trasformazione da insiemi di stati in insiemi di stati f(z) = [use 1 ] Pre EX (Z), dove Pre EX (Z)

45 denota gli stati redecessori degli stati in Z. Il minimo unto fisso corrisonde al limite (calcolato tramite l unione) della catena, g( ),.... Quindi S 0 = S = S 1 = {5, 8} Pre EX (S 0 ) = {5, 8} S 2 = {5, 8} Pre EX (S 1 ) = {2, 4, 5, 8} S 3 = {5, 8} Pre EX (S 2 ) = {1, 2, 3, 4, 5, 7, 8} S 4 = {5, 8} Pre EX (S 2 ) = {1, 2, 3, 4, 5, 6, 7, 8} = S = S i Quindi il minimo unto fisso coincide con tutti gli stati di M. Sottoformula (wait 1 ( EFuse 1 )) Calcolando il comlemento di [EFuse 1 ] ottieniamo quindi l insieme vuoto e quindi [(wait 1 ( EFuse 1 ))] =. Sottoformula EF(wait 1 ( EFuse 1 )) Dobbiamo calcolare un nuovo unto fisso (minimo) er la trasformazione l(z) = Pre EX (Z). Chiaramente in questo caso otteniamo lf(l) = e quindi [EF(wait 1 ( EFuse 1 ))] =. Concludiamo quindi che [AG[wait 1 EFuse 1 ]] = S cioè la formula vale in ogni stato del nostro modello M. Nota: notate la differenza tra EF e AF nelle sue formule! Risulta essenziale in questo esemio considerare il branching del modello! 14 Symbolic Model Checking L algoritmo di model checking er CTL è basato su comutazioni annidate di unto fisso. Ogni comutazione di unto fisso corrisonde ad una visita del grafo associato al modello di Krike e quindi la comlessità dell algoritmo è lineare in M ϕ dove M è la dimensione del modello (numero di archi e nodi) e ϕ è la dimensione della formula Il roblema è che in molti casi ratici il modello ha dimensioni enormi, infatti in genere il modello viene descritto in modo imlicito tramite linguaggi ad alto livello Ad esemio un sistema concorrente verrà descritto da un insieme di rocessi; il modello di Krike corrisonderà alla comosizione del comortamento di tali rocessi (interleaving delle loro esecuzioni) e otrebbe avere dimensione esonenziale nella secifica Anche se il modello viene descritto in modo imlicito, durante l esecuzione dell algoritmo di model checking si rischia di dover enumerare tutti gli stati del modello di Krike. Questo roblema viene chiamato eslosione degli stati e raresenta l ostacolo maggiore er la scalabilità delle tecniche di model checking. Per cercare di alleviare questo roblema si utilizzano strutture dati secializzate chiamate BDDs (Binary Decision Diagrams). Vediamo rima come si raresentano modelli di Krike e insiemi di stati in logica roosizionale (i BDD si usano er raresentare funzioni booleane) Raresentazione di Funzioni Booleane Tabelle di verità: raresentazione di funzioni booleane non comatta; oerazioni: difficili Formule: comatta; soddisfacibilità e validità: difficile; altre oerazioni: facili Formule in DNF: a volte comatta; soddisfacibilità e disgiunzione: facile; altre oerazioni: facile Formule in CNF: a volte comatta; validità e congiunzione: facile; altre oerazioni: difficili

46 14.2 Raresentazione di Modelli di Krike Sia M = S, R, L un modello di Krike tale che L(s) AP. Dobbiamo raresentare un grafo con un numero finito di stati etichettato con simboli resi da AP = { 1,..., n }. Assumiamo che ogni stato abbia etichette diverse allora ossiamo raresentare lo stato s tramite un vettore di valori booleani v 1,..., v n dove v i = true sse i L(s). In logica roosizionale ossiamo quindi raresentare ogni stato come una formula l 1... l n, dove l i = i se i L(s), e l i = i se i L(s). Transizioni Le transizioni si ossono raresentare introducendo i simboli 1,..., n che raresentano le ostcondizioni sugli stati raggiunti dalle transizioni (archi del modello). Quindi un arco da s a s si raresenta come la formula l 1... l n l 1... l n dove l i = i se i L(s), = i altrimenti l i = i se i L(s ), = i altrimenti. Quindi l insieme delle transizioni (archi) del modello si raresenta nel suo comlesso come una disgiunzione di congiunzioni k (l i1... l in l i1... l in) i=1 Insiemi di Stati Usando la stessa idea ossiamo raresentare un insieme finito di stati tramite una disgiunzione di formule booleane (la funzione caratteristica dell insieme). Un insieme s 1,..., s k si raresenta infatti come la disgiunzione k (l i1... l in ) i=1 dove l ij = ij se ij L(s i ) e l ij = ij se ij L(s i ). In altre arole ossiamo utilizzare disgiunzioni di congiunzioni (DNF) come raresentazione simbolica di modelli e insiemi di stati Oerazioni er l algoritmo di model checking Per imlementare l algoritmo di model checking occorre imlementare le oerazioni er la maniolazione di insiemi di stati: unione, intersezione, equivalenza, e l oeratore Pre EX che dato un insieme di stati restituisce l insieme dei suoi successori Unione=disgiunzione Intersezione=congiunzione Equivalenza=doia imlicazione Rimane da imlementare l oeratore Pre EX : useremo formule booleane quantificate. Formule booleane quantificate (QBF) Introduciamo una forma semlice di quantificazione su simboli roosizionali.f (F =true ) (F =false ) dove F =v raresenta la formula calcolata assegnando v (true o false) al simbolo.

47 Oeratore Pre EX Usando quest idea e dato un insieme di stati S raresentato da una formula k i=1 F i (definita su 1,..., n ) e data un modello M le cui transizioni sono raresentate tramite la formula n j=1 G j (definita su 1,..., n, 1,..., n ). Ridenominiamo la formula F i come F i sostituendo r con r er r : 1,...,n. Allora Pre EX (S) è raresentato dalla seguente formula n n. G j j=1 doo aver alicato la definizione di dobbiamo mettere la formula in norma normale (disgiunzione di congiunzioni) Examle 8 Sia AP = {idle, busy, wait, think, use}, consideriamo la transizione e l insieme allora Pre EX (G) è raresentato dalla formula k i=1 F i F = (idle busy wait think use) [( idle busy wait think use ) ( idle busy wait think use )] G = ( idle busy wait think use) ( idle busy wait think use) idle..... use. [F (( idle busy wait think use ) ( idle busy wait think use ))] Raresentazione basata su QBF e state exlosion La raresentazione basata su formule booleane non elimina il roblema dell eslosione degli stati. Se manteniamo le formule come disgiunzioni di congiunzioni rischiamo di rodurre formule di grandi dimensioni. Abbiamo bisogno di raresentare formule booleane nel modo iù comatto ossibile: utilizzeremo i BDDs. Binary Decision Diagrams Struttura dati er raresentare funzioni booleane cioè funzioni f, g,... da Bool n a Bool. Esemio di funzione booleana f(x, y) = (x y) ( y). Ricordiamo che determinare la soddisfacibilità di una formula è un roblema NP-comleto, mentre determinare la sua validità è un roblema co-np comleto. Quindi nel caso eggiore soddisfacibilità e validità hanno costo esonenziale. In molti casi ratici erò ossiamo fare meglio Binary Decision Trees Una formula booleana si uò raresentare tramite un albero binario di decisione. I nodi non terminali sono etichettati da roosizioni atomiche e hanno due archi (low e high) uscenti etichettati risettivamente true e f alse (valori ossibili della roosizione che etichetta il nodo). Le foglie sono etichettate con true o f alse. Il valore della funzione sui suoi inut si ottiene attraversando i nodi di decisione dell albero dalla radice fino alle foglie. Teorema di Esansione di Shannon Gli alberi binari di decisione si basano sul teorema di esansione di Shannon f(x 1,..., x i,...,x n ) = (x i f xi=true) ( x i f xi=false) dove f xi=v = f(x 1,..., x i 1, v, x i+1,..., x n ) è chiamato cofattore. La seguente figura illustra un esemio di albero di decisione.

48 a1 0 1 b b1 1 0 a2 a2 a2 a b2 b2 b2 b2 b2 b2 b2 b T F F T F F F F F F F F T F F T f(a1,a2,b1,b2) = (a1 <--> b1) and (a2 <--> b2) Binary Decision Diagrams (BDDs) Gli alberi binari di decisione hanno dimensione esonenziale nella dimensione della formula. Per comattare la raresentazione dobbiamo eliminare le ridondanze: Combiniamo tutti i sottoalberi isomorfi. Tutti i nodi con figli isomorfi vengono eliminati. Otteniamo così un D.A.G (grafo diretto aciclico). Rimane il roblema di trovare una raresentazione canonica Ordered Binary Decision Diagrams (OBDDs) Ordiniamo le variabili in modo che: In ogni cammino dalla radice alle foglie manteniamo lo stesso ordine, senza rietizioni Non tutte le variabili devono comarire lungo un cammino Non devono esserci sottoalberi isomorfi o vertici ridondanti nel diagramma Otteniamo una raresentazione canonica di una funzione booleana chiamata OBDD (Ordered BDD). I BDDs raresentano un euristica er raresentare in modo comatto funzioni booleane, l ordine delle variabili è fondamentale. Tuttavia esistono funzioni booleane con BDDs esonenziali (es. moltilicazione) er ogni ordine delle variabili Algoritmo er ottenere un OBDD Doo aver ordinato le variabili, er ottenere un OBBD basta alicare le seguenti regole fino a che è ossibile Per ogni etichetta (true, false), eliminare tutti i nodi terminali tranne uno Se due non terminali u e v hanno la stessa etichetta (variabile) e gli stessi figli, eliminare uno dei due e ridirezionare i suoi archi entranti all altro vertice Se un non terminale u ha due figli uguali, allora eliminare u e ridirezionare i nodi entranti all unico figlio Questo algoritmo si uò imlementare tramite una visita bottom u del grafo. Le seguenti figure illustrano i vari assi di riduzione.

49 a1 0 1 b b1 1 0 a2 a2 a2 a b2 b2 b2 b2 b2 b2 b2 b T F F T F F F F F F F F T F F T f(a1,a2,b1,b2) = (a1 <--> b1) and (a2 <--> b2) a1 0 1 b b1 1 0 a2 a2 a2 a b b2 b2 b2 b2 b2 b2 b T F

50 a1 0 1 b b1 1 a2 a2 a2 a b2 b T F a1 0 1 b b1 0 0 a2 1 b b2 0 T F Oerazioni su BDDs Due formule raresentate da OBDDs sono equivalenti sse gli OBDDs sono isomorfi. Inoltre ossiamo controllare se una funzione è soddisfacibile confrontando il suo OBDD con l OBDD er f alse. Le altre oerazioni booleane si ossono imlementare in modo efficiente usando l esansione di Shannon e la funzione ricorsiva Aly (docuta a Bryant) definita

51 come segue. Sia un oeratore booleano, f e f due funzioni booleane, v e v le radici dei loro OBDDs con etichette x e x, vogliamo calcolare lo OBDD er f f. Funzione Aly Se v e v sono terminali allora f f = value(v) value(v ) Se x = x allora usiamo la formula di Shannon er ridurre il roblema in sottoroblemi risolti ricorsivamente f f = ( x (f x=false f x=false )) (x (f x=true f x=true )) l OBDD risultante avrà un nuovo nodo etichettato con x e low e high che untano agli OBDD calcolati ricorsivamente Se x < x allora f x=true = f x=false = f oichè f non diende da x. Quindi f f = ( x (f x=false f )) (x (f x=true f )) e i sotto OBDDs sono calcolati ricorsivamente Si rocede in modo simile se x > x Ottimizzazioni er la Funzione Aly L algoritmo diventa olinomiale se si mantegono in una tabella di hashing tutti i sottoroblemi calcolati durante l esecuzione della funzione Aly (caching come in rogrammazione dinamica). Tali OBDDs si ossono utilizzare rima di invocare la funzione sui sottocasi. Il numero di sottoroblemi diende dal numero di nodi dell OBDD (ogni sotto grafo è determinato dalla sua radice). Usando caching la comlessità diventa lineare nel rodotto della dimensione degli OBDDs er f e f. Se si estende la tecnica in modo da gestire foreste di OBDDs (con le condizioni viste sore) molte oerazioni diventano costanti (ad es. equivalenza diventa costante: basta controllare se i due OBDDs untano allo stesso grafo della foresta). I acchetti er gestire OBDDs ossono gestire grafi con milioni di nodi (e quindi con un numero astronomico di stati). Rieilogo: Raresentazione di Funzioni Booleane Tabelle di verità: non comatta; oerzioni: difficili Formule: comatta; soddisfacibilità e validità: difficile; altre oerzioni: facili Formule in DNF: a volte comatta; soddisfacibilità e disgiunzione: facile; altre oerazioni: facile Formule in CNF: a volte comatta; validità e congiunzione: facile; altre oerazioni: difficili OBDDs: sesso comatta; soddisfacibilità e validità: facile; altre oerazioni: facili BDDs-based Model Checking Possiamo utilizzare i BDDs er raresentare sia i modelli di Krike che gli insiemi di stati calcolati durante il model checking. Abbiamo visto infatti che un modello si uò raresentare come una formula DNF e quindi tramite un OBDD (sulle variabili AP = 1,..., n e 1,..., n ). La stessa cosa er gli insiemi di stati. L oerazione delicata è ancora una volta Pre EX che abbiamo visto si uò raresentare tramite una formula QBF n.h. La formula H è raresentazbile tramite la congiunzione dell OBDD er il modello con l OBDD er l insieme di stati di artenza. La quantificazione esistenziale si risolve usando ancora una volta la formula di Shannon.

52 Symbolic Model Checking L algoritmo di Symbolic Model Checking utilizza gli OBBDs come raresentazione simbolica di transizioni e insiemi di stati. Ogni comutazione di unto fisso viene imlementata tramite le oerazioni sugli OBDDs. Quindi il symbolic model checking si uò vedere come un calcolo iterativo di trasformazione di grafi (OBDDs). Queste tecniche sono imlementate in tool come SMV e nusmv. 15 Constraint-based Model Checking Gli algoritmi di model checking e symbolic model checking er logica temorale si ossono imlementare in modo efficiente tramite strutture dati er raresentare funzioni booleane. Queste tecniche oerano su conoscenza raresentabile tramite modelli di Krike con un numero finito di stati. A causa di questa restrizione in molti casi ratici occorre alicare delle astrazioni er assare dal modello reale al modello formale che oi viene trattato automaticamente. Sembra naturale chiedersi se sia ossibile estendere tali tecniche a modelli iù esressivi Finite-state Model Checking Sia M un modello di Krike finito, ϕ una rorietà temorale ed s uno stato, il roblema di model checking: M, s = ϕ? Stato = assegnamento a variabili booleane Relazione di transizione = formula booleana Oeratore er calcolare redecessori Pre = Formula booleana quantificata Algoritmi di Model Checking: Comutazione di unto fisso utilizzando formule booleane come raresentazione simbolica di insiemi finiti di stati. Ad Esemio: Safety Proerties M = AG(Φ) Sia Φ un insieme di stati buoni, allora la rorietà vale se er ogni cammino τ = s 1 s 2... in M e tutti gli stati s i in τ, s i Φ Prorietà di Logica Temorale AG(Φ) EF( Φ) e EF(Ψ) = µx. Ψ P re(x) Dove Ψ = Φ è l insieme di stati cattivi! Verifica della rorietà = Raggiungibilità Sia s 0 lo stato iniziale in M, allora AG(Φ) vale sse s 0 EF( Φ) Punti fondamentali Terminazione Almeno in rinciio non è un roblema er sistemi finiti Eslosione degli stati La terminazione è un roblema in ratica! Solutioni/euristiche Symbolic Model checking [McM93] si basa su raresentazioni di funzioni booleane con Ordered Binary Decision Diagrams (OBDDs)

53 Infinite-state Model Checking Nuovo Problema Sia M una struttura infinita e ϕ una rorietà temorale: M = ϕ? Raresentazione simbolica Stato = assegnamento a variabili con tii eterogenei (integers, reals,... ) Relazione di transizione =? Relazione di Predecessori Pre =? Algoritmi di Model Checking (?) Comutazione di unto fisso basate su? come raresentazione simbolica di insiemi infiniti di stati Da formule booleane a constraints I constraints (vincoli) sono relazioni definite du dati eterogenei (ad es disequazioni lineari). Un constraint solver (risolutore di vincoli) offre oerazioni efficienti er maniolare simbolicamente tali relazioni. Possiamo usare i contraints er raresentare simbolicamente una relazione di transizione = digiunzione di constraints un insieme di stati = constraint la relazione dei redecessori = disgiunzione di constraints quantificati esistenzialmente Abbiamo gia visto degli esemi di constraints: formule roosizionali e BDDs (entrambi er raresentare insiemi finiti di stati). Per insiemi infiniti di stati: constraint aritmetici, uguaglianza su termini del rim ordine, esressioni regolari. Ad esemio: constraint aritmetici lineari x + 2y + z 1, x 3, y 6 Oerazioni: congiunzione, disgiunzione, quantificazione esistenziale. Soddisfacibilità = ad es. simlesso. Procedure di Verifica di Prorietà Temorale Per riformulare gli algoritmi basati su comutazioni di unto fisso usati er sistemi finiti tramite constraints occorrono i seguenti requisiti: La rorietà e gli stati iniziali si devono oter esrimere attraverso constraints I constraints devono essere effettivamente chiusi risetto alla disgiunzione L equivalenza di constraints deve essere decidibile Deve esistere un algoritmo er calcolare la relazione dei redecessori Safety Proerties Se ossiamo raresentare Pre(Φ) er una disgiunzione di constraint Φ, allora alicamdo l assioma di esansione er EF ottemiamo EF(Ψ) = Ψ Pre(Φ)... Pre k (Φ) Note: Invece di risolvere un solo constraint roblem, usiamo il constraint solver ad ogni asso di una comutazione di unto fisso er risolvere molti constraint roblems di dimensione relativamente iccola (er il calcolo di Pre ad ogni asso). In generale la terminazione delle rocedure di model checking basate su constraints non uò essere garantita a riori (semi-algoritmi).

54 Terminazione La teoria dei well quasi orderings (WQOs) uò essere usata er trovare frammenti decidibili Denotazione la denotazione [ϕ] di ϕ C è l insieme delle sue soluzioni solutions w.r.t. a fixed domain Ad esemio: [x 1, y 3] = { x : 1, y : 3, x : 2, y : 7, x : 3, y : 4,...} Entailment è un ordinamento tra constraints C tale che ϕ ψ imlies [ψ] [ϕ] Ad esemio: x 1, y 3 x 0, y 1 WQO C, è un Well Quasi Ordering sse er ogni sequenza infinita ϕ 1 ϕ 2... in C esistono due indici i < j tali che ϕ i ϕ j Alicazione ai Sistemi Sincroni Parametrici Protocolli er raresentare sistemi con collezioni di tanti rocessi identici (clienti) e un rocesso monitor Il rotocollo è definito tramite una collezione di macchine locali Ogni comonente individuale viene modellata come una macchina a stati finiti Le macchine interagiscono tramite scambio di messaggi Rendez-vous (il mittente e ricevente si sincronizzano su un messaggio) Broadcast (il mittente e tutti i riceventi si sincronizzano su un messaggio) La reazione ad un messaggio broadcast uò essere non deterministica Esemio: Load Balancing Monitor Vogliamo modellare un sistema con un monitor di load balancing Nella configurazione iniziale del sistema i rocessi sono nello stato req, mentre il monitor è in stato idle. Quando il monitor manda il messaggio swa out l esecuzione di tutti i rocessi viene sosesa Due tii di riorità sono assegnati ai rocessi sosesi Quando il monitor rilascia la CPU essa viena assegnata ai rocessi con riorità maggiore

55 Modello formale swa out, swa in swa in req i, release i req i req use idle swa in release i swa out swa in swa out swa in low high swa out busy swa out Process P i Monitor Possibile Astrazione Alichiamo la seguente astrazione Dato uno stato globale Monitor : Idle, Clients : Req, Low, Low, Use,... contiamo quanti rocessi ci sono in ogni stato locale Monitor : Idle, Clients : x Req = 1, x Low = 2, x Use = 1,... Protocollo Astratto = Estensioni di Reti di Petri Petri Transizioni Locazioni (stati del monitor), variabili intere (x s er ogni stato locale s); Nel nostro esemio Verifica Parametrica (1) x req 1, x idle 1 x req = x req 1, x use = x use + 1. (2) x use 1, x idle 1 x use = xuse 1, x req = xreq + 1. (3) x idle 1, x high x high, x low x low x idle = x idle 1, x busy = x busy + 1, x high + x low = x high + x low + x use, x use = Stati Iniziali raresentati come I = l M = Idle x Req 1 x Use = 0... Mutua esclusione AG(Un solo cliente ha accesso esclusivo)

56 Violazioni U = (x Use 1 x Use 1) (x Use 2) Verifica = Raggiungibilità Possiamo raggiungere uno stato in U da un istanza di I? Constraint-based Symbolic Model Checking Raresentazione Simbolica = Constraints su interi [x req 2] = { Idle, 2, 0,..., Busy, 3, 1,...,...} = { Idle, Req, Req, Busy, Req, Req, Req, Use,...} Entailment Test ϕ ψ if and only if [ψ] [ϕ] Symbolic Predecessor Oerator sym re(ϕ(x )) = i I x. ψ τ (x,x ) ϕ(x ) Backward Reachability Proc Symb-Reach(E : EFSM, Φ o, Φ f : sets of constraints) Per rendere le oerazioni efficienti Φ := Φ f Ψ := while Φ do Φ := Φ \ {ϕ} if there are no ψ Ψ s.t. ψ ϕ then Ψ := Ψ {ϕ} Φ := Φ sym re(e, ϕ) endwhile if sat(φ o Ψ) then return Φ f is reachable from Φ o; else return Φ f is not reachable from Φ o. Polyhedra Si ossono usare oliedri er raresentare insiemi di unti di interi Relaxation integer-reals Test di soddisfacibilià, entailment, ed eliminazione di variabili sono eseguiti sui reali invece che sugli interi

57 Backward Reachability sui Reali Prorietà Interessanti Proc Symb-Reach-over-R(E : EFSM, Φ o, Φ f : sets of constraints) Φ := Φ f Ψ := while Φ do Φ := Φ \ {ϕ} if there are no ψ Ψ s.t. ψ R ϕ then Ψ := Ψ {ϕ} Φ := Φ sym re R (E, ϕ) endwhile if sat R (Φ o Ψ) then return do not know ; else return Φ f is not reachable from Φ o. La rocedura di Backward reachability termina semre quando i constraint hanno la seguente forma: c i è un intero non negativo i : 1,...,n x 1 c 1,..., x n c n

58 16 Parte IV: Planning as Symbolic Model Checking Nella arte finale del corso abbiamo visto un introduzione a roblemi di lanning, un camo di ricerca classico in intelligenza artificiale. In questa sezione vedremo le connessioni tra lanning er domini non deterministici, logica CTL e model checking [11]. Planning in Domini Non-deterministici Dato un modello formale del comortamento di un agente (stati, azioni,... ) un roblema di lanning consiste nel derivare un iano (sequenza di azioni) che da uno stato iniziale orta ad un certo goal. In questo ambito uno degli argomenti di ricerca iù interessanti riguarda roblemi di lanning non deterministico, cioè dove il dominio di lanning (comortamento degli agenti) non è deterministico. Questa estensione one numerosi roblemi concettuali e ratici Un iano diende dal non determinismo del dominio e quindi uò avere iù di una sequenza di azioni e stati Vi sono diverse nozioni di soluzione er un roblema di lanning, ad esemio, un iano in cui esiste la ossibilità di raggiungere il goal, un iano che garantisce il raggiungimento dei goal nonostante il non determinismo nel dominio, ecc. Recentemente è stata stabilita una connessione tra lanning e symbolic model checking che ermette di gestire roblemi er domini non deterministici come roblemi di model checking er formule CTL. Questa estensione ermette di formulare in modo concettualmente ulito diversi variazioni di roblemi di lanning tramite oortune formule CTL. Ad esemio un goal quale AF g ermette di secificare condizioni che devono essere raggiunte da un iano indiendentemente dal non-determinismo nel modello (strong lan) al contrario un goal del tio EF g ermette di secificare condizioni che ossono essere raggiunte ma senza garanzie di successo (weak lan) La connessione tra roblemi di lanning e model checking ermette inoltre di formulare algoritmi efficienti er trattare domini di lanning di grandi dimensioni 16.1 Dominio di Planning non deterministico Un dominio di lanning non deterministico è una tula P, S, A, R dove P è un insieme di roosizioni S 2 P è un insieme di stati A è l insieme (finito) di azioni R S A S è la relazione di transizione Uno stato s è raresentato tramite la collezione di roosizioni vere in s La relazione di transizione descrive l effetto dell esecuzione di un azione. L insieme di azioni eseguibili in s S viene indicato Act(s) = {a : s.r(s, a, s )} L insieme di stati raggiungibili da s tramite l azione a viene indicato Exec(s, a) = {s : R(s, a, s )}.

59 1 DISCARD BREAK 2 bad DISCARD BREAK DISCARD 5 bad unbroken OPEN good 3 OPEN 4 unbroken BREAK 6 bad DISCARD DISCARD DISCARD 8 OPEN good unbroken 7 good #eggs=0 #eggs=1 #eggs=2 Figura 10: Dominio non deterministico: Prearazione di una Omelette Examle 9 La Fig. 10 illustra un esemio di dominio non deterministico. L esemio raresenta ossibili strategie er rearare una omelette. Per rearare una omelette con n uova utilizziamo una scodella nella quali dobbiamo riuscire a romere n uova, e tutte le uova devono essere buone. Bad indica che la scodella contiene almeno un uovo cattivo, good che tutte le uova sono buone, unbroken che c e un uovo non ancora rotto. Il flag #eggs=i denota il numero di uova nella scodella (buone o cattive). L oerazioni sono BREAK (tentativo di romere un uovo), OPEN (are un uovo unbroken), DISCARD (in ogni momento si uò buttare via il contenuto della scodella e riiniziare tutto da cao). Il non determinismo di azioni quali BREAK modella il fatto che non ossiamo saere se un uovo è buono o cattivo rima di arirlo o se riusciremo ad arirlo buttandolo nella scodella. Quando eseguito un iano deve essere in grado di monitorare l ambiente circostante e fare delle selte diendenti dallo stato corrente dei sensori. Questo tio di iani si ossono raresentare tramite una State-Action Table π definita come un insieme di coie { s, a s S, a Act(s)}. Una state-action table è non deterministica se er un qualche stato s esistono iù coie s, a. A artire da una state-action table π (un iano) er un dominio P, S, A, R ossiamo raresentare le ossibili esecuzioni del iano a artire dagli stati iniziali I S attraverso una sorta di modello di Krike in cui i nodi sono gli stati che si ossono raggiungere a artire da stati del iano, e gli archi raresentano una ossibile esecuzione di un azione. Formalmente la struttura di esecuzione di π a artire da I S è una coia K = Q, T dove Q S e T S S e se s I allora s Q se s Q e esiste una coia s, a π tale che R(s, a, s ) allora s Q e T(s, s )

60 s Q è uno stato terminale se non esiste s Q tale che T(s, s ) Un cammino di esecuzione in K è una sequenza (anche infinita) di stati s 0 s 1... tali che o s i è uno stato terminale oure T(s i, s i+1 ) K è aciclico se tutti i suoi cammini sono finiti Examle 10 La Fig. 11 mostra la struttura di esecuzione er il iano π = { 1, break, 3, break. 1 BREAK 2 bad good 3 BREAK 4 unbroken 6 bad 7 good 8 good unbroken #eggs=0 #eggs=1 #eggs=2 Figura 11: Struttura di esecuzione 16.2 Planning Problem, Weak and Strong Solutions Dato un dominio D = P, A, S, R, un roblema di lanning er D è una trila D, I, G dove I S (stati iniziali) e G S (stati obbiettivo). Una soluzione ad un roblema di lanning uò avere diverse caratteristiche. Sia π un iano (state-action table) deterministico con struttura di esecuzione K = Q, T Una weak solution è un iano π che uò raggiungere il goal ma non garantisce tale risultato, cioè er ogni stato in I esiste un cammino in cui lo stato terminale è in G Una strong solution è un iano π che garantisce il raggiungimento del goal (tutti i cammini di esecuzione di K terminano con un goal), cioè K è aciclico e tutti gli stati terminali di K sono in G Le strong cyclic solutions raresentano un ulteriore ossibile nozione di soluzione ad un roblema di lanning nella quale vengono resi in considerazione solo cicli buoni. Una strong cyclic solution formalizza l idea di iano basato su una strategia iterativa trial-and-error nella quale è ossibile rietere una sequenza di azioni fino a che ha successo (ad esemio ick u a block until succeed). In questo caso si considerano ammissibili sono i iani er i quali tutti i cammini di esecuzione hanno semre la ossibilità di terminare (vogliamo evitare sequenze infinite di insuccessi) e quando

61 terminano garantiscono il raggiungimento del goal Formalmente una strong cyclic solution π è tale che: tutti gli stati terminali della sua struttura di esecuzione K sono in G ed inoltre er ogni stato q in Q esiste uno stato terminale raggiungibile da q 16.3 Algoritmi er Estrarre Piani Per semlicità ci limiteremo al caso di weak e strong solutions che come accennato in recedenza ossono essere ottenuti attraverso goal formulati come le formule CTL EF g e AF g. Sulla base di questa idea non è difficile immaginare che gli algoritmi siano basati su comutazioni di minimo unto fisso effettuate tramite breadth first search a artire dalla condizione g (cioè come in model checking si utilizza ragionamento backwards). Algoritmi er Estrarre Weak Solutions L algoritmo costruisce incrementalmente una stateaction table SA tramite una visita BFS a artire dal goal. La funzione WeakPreImage viene utilizzata er calcolare gli stati redecessori degli stati della state-action table (State(SA)) corrente WeakPreImage(S) = { s, a Exec(s, a) S } Il risultato di W eakp reimage viene assato alla funzione P runestate che rimuove tutte le coie s, a er le quali si conosce già una soluzione er s PruneState(π, S) = { s, a π s S} L algoritmo termina con successo se l insieme di stati iniziali è contenuto negli stati della stateaction table uniti ai goal. Se si invece si raggiunge un unto fisso e la condizione recedente non è soddisfatta l algoritmo fallisce. Ricordate che le weak solution sono caratterizzabili come EF. function WeakPlan(I, G); begin var OldSA, SA : state action tables; OldSA := Fail; SA := ; while (OldSA SA I (G States(SA))) do PreImage := WeakPreImage(G States(SA)); NewSA := PruneState(PreImage, G States(SA)); OldSA := SA; SA := SA NewSA; endw; if (I G States(SA)) then returnsa; else return Fail; end Algoritmi er Estrarre Strong Solutions L algoritmo er estrarre una soluzione strong è identico a WeakPlan tranne che er il calcolo della reimage. La funzione WeakPreImage viene sostituita con la funzione StrongPreImage utilizzata er calcolare gli stati redecessori che garantiscono il raggiungimento degli stati della state-action table (State(SA)) corrente StrongPreImage(S) = { s, a Exec(s, a), Exec(s, a) S} Ricordate che le strong solutions sono ottenute tramite la formula AF.

62 function StrongPlan(I, G); begin var OldSA, SA : state action tables; OldSA := Fail; SA := ; while (OldSA SA I (G States(SA))) do PreImage := StrongPreImage(G States(SA)); NewSA := PruneState(PreImage, G States(SA)); OldSA := SA; SA := SA NewSA; endw; if (I G States(SA)) then returnsa; else return Fail; end Strong Cyclic Solutions Mentre weak e strong lans non restituiscono iano non iterativi una strong cyclic solution deve controllare i cicli e scartare quelli cattivi. Un ciclo è cattivo se una volta entrati non è iù ossibile raggiungere il goal. Intuitivamente l algoritmo si uò evincere dalla formulazione di una strong cyclic solutions in termini della seguente formula CTL A((EF g) W g) cioè in ogni cammino da tutti gli stati è semre ossibile raggiungere il goal g e se il cammino termina allora si raggiunge g Nota: A(g 1 Wg 2 ) significa che in ogni cammino o g 1 vale in tutti gli stati oure A(g 1 Ug 2 ) (W=weak until) Symbolic Model Checking e Planning Sulla base delle connessioni tra roblemi di lanning, roblemi di raggiungibilità e formule CTL, sembra naturale chiedersi se sia ossibile utilizzare algoritmi efficienti basati su OBDDs er calcolare soluzioni a roblemi di lanning di grandi dimensioni. Per fare ciò occorre codificare un roblema di lanning in modo simbolico esattamente come abbiamo fatto er roblemi di model checking er formule CTL e modelli di Krike. Raresentazione Simbolica di Domini di Planning Sia P, S, A, R un dominio di lanning con P = { 1,..., k }. Gli stati vengono codificati come fomule roosizionali (definite sulle variabili roosizionali x = x 1,..., x k ) l 1... l k dove l i è il letterale x i se i è vero in s e l i è il letterale x i se l i è falso in s. Le azioni vengono raresentate con formule roosizionali tramite un ulteriore insieme di variabili roosizionali α (numeriamo le azioni e oi le codifichiamo in binario) La relazione di tranzione R si ottiene introducendo l insieme di variabili roosizionali x = x 1,..., x n. Una trila s, a, s R si definisce tramite una formule del tio: F a = l 1... l k a 1... a n l 1... l k dove l 1... l k codifica s, a 1... a n codifica a e l 1... l k codifica s. Eventuali vincoli di mutua esclusione (er evitare conflitti o forzare la sequenzialità delle azioni) si esrimono come formule disgiuntive S a su α = α 1,...,α n La relazione R è quindi raresentata dalla disgiunzione R(x, α,x ) = a A F a S a

63 Una state-table action è una relazione tra stati e azioni ed è quindi facilmente descrivibile tramite formule booleane sulle variabili α e x. Chiamiamo SA(x, α) la formula associata alla state-action table SA. Le oerazioni si definiscono come segue l insieme di stati associati ad una state-action table è raresentato dalla formula α.sa(x, α). W eakp reimage(q) è raresentato dalla formula x.(r(x, α,x ) Q(x ) StrongPreImage(Q) è raresentato dalla formula x.(r(x, α,x ) Q(x )) x.r(x, α,x ) P runestate(sa, Q) è raresentate dalla formula SA(x, α) Q(x). Le oerazioni insiemistiche (unione, intersezione, test di contenimento, ecc) si definiscono tramite oeratori booleani in modo standard. Sulla base di tale encoding ossiamo formulare gli algoritmi di weak and strong lanning in domini non deterministici in modo simbolico. Utilizzando le tecniche di symbolic model checking basate su OBDDs (viste nel corso) ossiamo infine utilizzare strutture dati efficienti er raresentare domini e iani. La connessione tra model checking e lanning raresenta quindi un ulteriore camo alicativo er logica modale e er le corrisondenti rocedure di decisione. Riferimenti bibliografici [1] P. A. Abdulla, K. Cerāns, B. Jonsson and Y.-K. Tsay. General Decidability Theorems for Infinite-State Systems. In Proc. LICS 99, , [2] P. A. Abdulla and A. Nylén. Better is Better than Well: On Efficient Verification of Infinite- State Systems. In Proc. LICS 00, , [3] J. F. Allen. Towards a general theory of action and time. Artificial Intelligence, volume 23, ages , [4] L. Aqvist. Deontic Logic. In D. Gabbay and F. Guenthner, ed., Handbook of Philosohical Logic: Volume II Extensions of Classical Logic. Kluwer [5] R. Bull and K. Segerberg. Basic Modal Logic. In Gabbay, D., and Guenthner, F. (eds.) Handbook of Philosohical Logic, Dordrecht: D. Reidel (1984): 2.1. [6] T. Bultan, R. Gerber, and W. Pugh. Model-checking concurrent systems with unbounded integer variables: Symbolic reresentations, aroximations, and exerimental results. ACM TOPLAS, 21(4): , [7] M. Burrows, M. Abadi, R. M. Needham. A Logic of Authentication. TOCS 8(1): (1990). [8] L. Cardelli, A. D. Gordon. Anytime, Anywhere: Modal Logics for Mobile Ambients. In Proc. POPL 2000: , [9] R. Carna. Meaning and Necessity, Chicago: U. Chicago Press, [10] B. Chellas. Modal Logic: An Introduction. Cambridge, England: Cambridge University Press (1980). [11] A. Cimatti, M. Roveri, P. Traverso. Strong Planning in Non-Deterministic Domains Via Model Checking. AIPS 1998: 36-43, 1998.

64 [12] E. M. Clarke, E. A. Emerson, A. P. Sistla. Automatic Verification of Finite State Concurrent Systems Using Temoral Logic Secifications: A Practical Aroach. In Proc. POPL 1983: ag , [13] G. Delzanno. Automatic Verification of Parameterized Cache Coherence Protocols. In Proc. CAV 00, LNCS 1855, , [14] G. Delzanno, J. Esarza, and A. Podelski. Constraint-based Analysis of Broadcast Protocols. In Proc. CSL 9), LNCS 1683, , [15] E. A. Emerson, E. M. Clarke. Characterizing Correctness Proerties of Parallel Programs Using Fixoints. In Proc. ICALP 1980: ag , [16] E. Allen Emerson, Edmund M. Clarke: Using Branching Time Temoral Logic to Synthesize Synchronization Skeletons. Science of Comuter Programming 2(3): (1982). [17] M. Fisher and M. Wooldridge. Executable Temoral Logic for Distributed AI. In Proc. of the Twelfth International Worksho on Distributed Artificial Intelligence (IWDAI-93), [18] D. Gabbay Temoral Logic: Mathematical Foundations and Comutational Asects. New York: Oxford University Press (1994). [19] D. Gabbay Investigations in Modal and Tense Logics, Dordrecht: D. Reidel (1976). [20] Girard, J.-Y. (1987). Linear logic. Theoretical comuter science, 50:1, [21] N. Halbwachs, Y-E. Proy, and P. Roumanoff. Verification of Real-time Systems using Linear Relation Analysis. Formal Methods in System Design, 11(2): , [22] J. Y. Halern and Y. Moses. A Guide to the Modal Logics of Knowledge and Belief: Preliminary Draft. In Proc. IJCAI 1985: , [23] D. Harel. First Order Dynamic Logic. Lecture Notes in Comuter Science, vol 68, 1979 [24] T. A. Henzinger, P.-H. Ho, and H. Wong-Toi. HyTech: a Model Checker for Hybrid Systems. In Proc. CAV 97, LNCS 1254, , [25] R. Hilinen. Deontic Logic: Introductory and Systematic Readings. Dordrecht: D. Reidel (1971). [26] J. Hintikka Knowledge and Beliefs. Cornell University Press, [27] G. Hughes and M. Cresswell, M., A New Introduction to Modal Logic. London: Routledge (1996). [28] Y. Kesten, O. Maler, M. Marcus, A. Pnueli, E. Shahar. Symbolic Model Checking with Rich Assertional Languages. In Proc. CAV 97, , [29] S. Krike. Semantical Considerations on Modal Logic. Acta Philosohica Fennica, 16, (1963): [30] K. G. Larsen, P. Pettersson, and W. Yi. uaal in a Nutshell. International Journal on Software Tools for Technology Transfer, 1(1-2): , [31] E. Lemmon and D. Scott. An Introduction to Modal Logic, Oxford: Blackwell (1977). [32] O. Lichtenstein, A. Pnueli. Checking That Finite State Concurrent Programs Satisfy Their Linear Secification. In Proc. POPL 1985: ag , [33] P. Martin-Löf. An Intuitionsistic Theory of Tyes: Predicative art. Logic colloquium North Holland [34] Z. Manna and A. Pnueli. The Modal Logic of Programs. Proc. of Int l Colloquium on Automata, Languages and Programming. Lecture Notes in Comuter Science, vol 71, ag , [35] R. McDermott. A Temoral Logic for Reasoning about actions and lans. KCognitive Science 6, , 1982.

65 [36] K. L. McMillan. Symbolic Model Checking: An Aroach to the State Exlosion Problem. Kluwer Academic, [37] D. Miller. A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simle Unification. Journal of Logic and Comutation, Vol. 1, No. 4 (1991), [38] R. C. Moore. A Formal Theory of Knowledge and Action. Formal theories of the common sense world. Ablex Pub. Cor., [39] The Omega roject, htt:// [40] A. Podelski. Model Checking as Constraint Solving In Proc. SAS 2001, LNCS 1824, , [41] A. Pnueli. The temoral logic of rograms. In Proceedings of the 18th IEEE Symosium on Foundations of Comuter Science, ages [42] A. N. Prior. Past, Present and Future. Oxford: Clarendon Press, [43] J. F. van Benthem. The Logic of Time, Dordrecht: D. Reidel (1982). [44] J. F. van Benthem. Temoral Logic, in D. M. Gabbay, C. J. Hogger, and J. A. Robinson, Handbook of Logic in Artificial Intelligence and Logic Programming, Volume 4, Oxford: Clarendon Press, ages [45] M. Wooldridge. Temoral Belief Logics for Modelling Distributed AI Systems. In Foundations of DAI. Wiley Interscience, [46] J. J. Zeman Modal Logic. Oxford Pub., 1973.

Una proposizione è una affermazione di cui si possa stabilire con certezza il valore di verità

Una proposizione è una affermazione di cui si possa stabilire con certezza il valore di verità Logica 1. Le roosizioni 1.1 Cosa studia la logica? La logica studia le forme del ragionamento. Si occua cioè di stabilire delle regole che ermettano di assare da un'affermazione vera ad un'altra affermazione

Dettagli

CBM a.s. 2012/2013 PROBLEMA DELL UTILE DEL CONSUMATORE CON IL VINCOLO DEL BILANCIO

CBM a.s. 2012/2013 PROBLEMA DELL UTILE DEL CONSUMATORE CON IL VINCOLO DEL BILANCIO CM a.s. /3 PROLEMA DELL TILE DEL CONSMATORE CON IL VINCOLO DEL ILANCIO Il consumatore è colui che acquista beni er destinarli al rorio consumo. Linsieme dei beni che il consumatore acquista rende il nome

Dettagli

NUMERI RAZIONALI E REALI

NUMERI RAZIONALI E REALI NUMERI RAZIONALI E REALI CARLANGELO LIVERANI. Numeri Razionali Tutti sanno che i numeri razionali sono numeri del tio q con N e q N. Purtuttavia molte frazioni ossono corrisondere allo stesso numero, er

Dettagli

Calcolatori: Algebra Booleana e Reti Logiche

Calcolatori: Algebra Booleana e Reti Logiche Calcolatori: Algebra Booleana e Reti Logiche 1 Algebra Booleana e Variabili Logiche I fondamenti dell Algebra Booleana (o Algebra di Boole) furono delineati dal matematico George Boole, in un lavoro pubblicato

Dettagli

Alcune nozioni di base di Logica Matematica

Alcune nozioni di base di Logica Matematica Alcune nozioni di base di Logica Matematica Ad uso del corsi di Programmazione I e II Nicola Galesi Dipartimento di Informatica Sapienza Universitá Roma November 1, 2007 Questa é una breve raccolta di

Dettagli

Algebra di Boole ed Elementi di Logica

Algebra di Boole ed Elementi di Logica Algebra di Boole ed Elementi di Logica 53 Cenni all algebra di Boole L algebra di Boole (inventata da G. Boole, britannico, seconda metà 8), o algebra della logica, si basa su operazioni logiche Le operazioni

Dettagli

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <[email protected]> Universitá di Bologna

Linguaggi. Claudio Sacerdoti Coen 11/04/2011. 18: Semantica della logica del prim ordine. <sacerdot@cs.unibo.it> Universitá di Bologna Linguaggi 18: Semantica della logica del prim ordine Universitá di Bologna 11/04/2011 Outline Semantica della logica del prim ordine 1 Semantica della logica del prim ordine Semantica

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

2. Semantica proposizionale classica

2. Semantica proposizionale classica 20 1. LINGUAGGIO E SEMANTICA 2. Semantica proposizionale classica Ritorniamo un passo indietro all insieme dei connettivi proposizionali che abbiamo utilizzato nella definizione degli enunciati di L. L

Dettagli

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale

Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale Planning as Model Checking Presentazione della Tesina di Intelligenza Artificiale di Francesco Maria Milizia [email protected] Model Checking vuol dire cercare di stabilire se una formula è vera

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Lezioni di Matematica 1 - I modulo

Lezioni di Matematica 1 - I modulo Lezioni di Matematica 1 - I modulo Luciano Battaia 16 ottobre 2008 Luciano Battaia - http://www.batmath.it Matematica 1 - I modulo. Lezione del 16/10/2008 1 / 13 L introduzione dei numeri reali si può

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

1. PRIME PROPRIETÀ 2

1. PRIME PROPRIETÀ 2 RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,

Dettagli

(anno accademico 2008-09)

(anno accademico 2008-09) Calcolo relazionale Prof Alberto Belussi Prof. Alberto Belussi (anno accademico 2008-09) Calcolo relazionale E un linguaggio di interrogazione o e dichiarativo: at specifica le proprietà del risultato

Dettagli

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica 2010-11

Modelli dei Sistemi di Produzione Modelli e Algoritmi della Logistica 2010-11 Modelli dei Sistemi di Produzione Modelli e lgoritmi della Logistica 00- Scheduling: Macchina Singola CRLO MNNINO Saienza Università di Roma Diartimento di Informatica e Sistemistica Il roblema /-/ w C

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

Corrispondenze e funzioni

Corrispondenze e funzioni Corrispondenze e funzioni L attività fondamentale della mente umana consiste nello stabilire corrispondenze e relazioni tra oggetti; è anche per questo motivo che il concetto di corrispondenza è uno dei

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

LOGICA PER LA PROGRAMMAZIONE. Franco Turini [email protected]

LOGICA PER LA PROGRAMMAZIONE. Franco Turini turini@di.unipi.it LOGICA PER LA PROGRAMMAZIONE Franco Turini [email protected] IPSE DIXIT Si consideri la frase: in un dato campione di pazienti, chi ha fatto uso di droghe pesanti ha utilizzato anche droghe leggere. Quali

Dettagli

Rappresentazione della conoscenza. Lezione 11. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 11 0

Rappresentazione della conoscenza. Lezione 11. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 11 0 Rappresentazione della conoscenza Lezione 11 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 11 0 Sommario Pianificazione Deduttiva nel calcolo delle situazioni (Reiter 3.3) Teoria del calcolo

Dettagli

Prodotto libero di gruppi

Prodotto libero di gruppi Prodotto libero di gruppi 24 aprile 2014 Siano (A 1, +) e (A 2, +) gruppi abeliani. Sul prodotto cartesiano A 1 A 2 definiamo l operazione (x 1, y 1 ) + (x 2, y 2 ) := (x 1 + x 2, y 1 + y 2 ). Provvisto

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010

MATEMATICA DEL DISCRETO elementi di teoria dei grafi. anno acc. 2009/2010 elementi di teoria dei grafi anno acc. 2009/2010 Grafi semplici Un grafo semplice G è una coppia ordinata (V(G), L(G)), ove V(G) è un insieme finito e non vuoto di elementi detti vertici o nodi di G, mentre

Dettagli

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa. Algebra booleana Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati e occorre conoscere i concetti di base dell algebra delle proposizioni. L algebra

Dettagli

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. Albero semantico Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni. A differenza dell albero sintattico (che analizza la formula da un punto di vista puramente

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti

FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti FONDAMENTI DI INTELLIGENZA ARTIFICIALE 1 parte (6 CFU) 12 Luglio 2012 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (7 punti) Si formalizzi in logica dei predicati del primo ordine la seguente

Dettagli

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine Università di Bergamo Anno accademico 2006 2007 Ingegneria Informatica Foglio Algebra e Logica Matematica Calcolo delle proposizioni Logica del primo ordine Esercizio.. Costruire le tavole di verità per

Dettagli

Equilibrio bayesiano perfetto. Giochi di segnalazione

Equilibrio bayesiano perfetto. Giochi di segnalazione Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi

Dettagli

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

CONCETTO DI LIMITE DI UNA FUNZIONE REALE CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e

Dettagli

Dall italiano al linguaggio della logica proposizionale

Dall italiano al linguaggio della logica proposizionale Dall italiano al linguaggio della logica proposizionale Dall italiano al linguaggio della logica proposizionale Enunciati atomici e congiunzione In questa lezione e nelle successive, vedremo come fare

Dettagli

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE LE SUCCESSIONI 1. COS E UNA SUCCESSIONE La sequenza costituisce un esempio di SUCCESSIONE. Ecco un altro esempio di successione: Una successione è dunque una sequenza infinita di numeri reali (ma potrebbe

Dettagli

Ragionamento Automatico Model checking. Lezione 12 Ragionamento Automatico Carlucci Aiello, 2004/05Lezione 12 0. Sommario. Formulazione del problema

Ragionamento Automatico Model checking. Lezione 12 Ragionamento Automatico Carlucci Aiello, 2004/05Lezione 12 0. Sommario. Formulazione del problema Sommario Ragionamento Automatico Model checking Capitolo 3 paragrafo 6 del libro di M. Huth e M. Ryan: Logic in Computer Science: Modelling and reasoning about systems (Second Edition) Cambridge University

Dettagli

Ascrizioni di credenza

Ascrizioni di credenza Ascrizioni di credenza Ascrizioni di credenza Introduzione Sandro Zucchi 2014-15 Le ascrizioni di credenza sono asserzioni del tipo in (1): Da un punto di vista filosofico, i problemi che pongono asserzioni

Dettagli

Intelligenza Artificiale

Intelligenza Artificiale Intelligenza Artificiale Esercizi e Domande di Esame Tecniche di Ricerca e Pianificazione Esercizi Griglia Si consideri un ambiente costituito da una griglia n n in cui si muove un agente che può spostarsi

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Teoria degli insiemi

Teoria degli insiemi Teoria degli insiemi pag 1 Easy Matematica di dolfo Scimone Teoria degli insiemi Il concetto di insieme si assume come primitivo, cioè non riconducibile a concetti precedentemente definiti. Sinonimi di

Dettagli

Trigonometria (tratto dal sito Compito in classe di Matematica di Gilberto Mao)

Trigonometria (tratto dal sito Compito in classe di Matematica di Gilberto Mao) Trigonometria (tratto dal sito Comito in classe di Matematica di Gilberto Mao) Teoria in sintesi Radiante: angolo al centro di una circonferenza che sottende un arco di lunghezza rettificata uguale al

Dettagli

Capitolo 2. Operazione di limite

Capitolo 2. Operazione di limite Capitolo 2 Operazione di ite In questo capitolo vogliamo occuparci dell operazione di ite, strumento indispensabile per scoprire molte proprietà delle funzioni. D ora in avanti riguarderemo i domini A

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo

Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)

FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 13 Febbraio 2015 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (punti 6) Si esprimano in logica dei predicati del I ordine le seguenti frasi:

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1

Le funzioni continue. A. Pisani Liceo Classico Dante Alighieri A.S. 2002-03. A. Pisani, appunti di Matematica 1 Le funzioni continue A. Pisani Liceo Classico Dante Alighieri A.S. -3 A. Pisani, appunti di Matematica 1 Nota bene Questi appunti sono da intendere come guida allo studio e come riassunto di quanto illustrato

Dettagli

Reti sequenziali sincrone

Reti sequenziali sincrone Reti sequenziali sincrone Un approccio strutturato (7.1-7.3, 7.5-7.6) Modelli di reti sincrone Analisi di reti sincrone Descrizioni e sintesi di reti sequenziali sincrone Sintesi con flip-flop D, DE, T

Dettagli

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE

PROBABILITÀ - SCHEDA N. 2 LE VARIABILI ALEATORIE Matematica e statistica: dai dati ai modelli alle scelte www.dima.unige/pls_statistica Responsabili scientifici M.P. Rogantin e E. Sasso (Dipartimento di Matematica Università di Genova) PROBABILITÀ -

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X. Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

I NUMERI INDICI. Numeri indici indici (misurano il livello di variabilità, concentrazione, dipendenza o interdipendenza, ecc.)

I NUMERI INDICI. Numeri indici indici (misurano il livello di variabilità, concentrazione, dipendenza o interdipendenza, ecc.) NUMER NDC Numeri indici indici (misurano il livello di variabilità, concentrazione, diendenza o interdiendenza, ecc.) si utilizzano er confrontare grandezze nel temo e nello sazio e sono dati dal raorto

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti

Dettagli

RISOLUTORE AUTOMATICO PER SUDOKU

RISOLUTORE AUTOMATICO PER SUDOKU RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi. Iniziamo con definizione (capiremo fra poco la sua utilità): DEFINIZIONE DI VARIABILE ALEATORIA Una variabile aleatoria (in breve v.a.) X è funzione che ha come dominio Ω e come codominio R. In formule:

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

Dettagli

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti La manutenzione come elemento di garanzia della sicurezza di macchine e impianti Alessandro Mazzeranghi, Rossano Rossetti MECQ S.r.l. Quanto è importante la manutenzione negli ambienti di lavoro? E cosa

Dettagli

1. Limite finito di una funzione in un punto

1. Limite finito di una funzione in un punto . Limite finito di una funzione in un punto Consideriamo la funzione: f ( ) = il cui dominio risulta essere R {}, e quindi il valore di f ( ) non è calcolabile in =. Quest affermazione tuttavia non esaurisce

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana Schemi delle Lezioni di Matematica Generale Pierpaolo Montana Al-giabr wa al-mukabalah di Al Khuwarizmi scritto approssimativamente nel 820 D.C. Manuale arabo da cui deriviamo due nomi: Algebra Algoritmo

Dettagli

Predicati e Quantificatori

Predicati e Quantificatori Predicati e Quantificatori Limitazioni della logica proposizionale! Logica proposizionale: il mondo è descritto attraverso proposizioni elementari e loro combinazioni logiche! I singoli oggetti cui si

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Luigi Piroddi [email protected]

Luigi Piroddi piroddi@elet.polimi.it Automazione industriale dispense del corso 10. Reti di Petri: analisi strutturale Luigi Piroddi [email protected] Analisi strutturale Un alternativa all analisi esaustiva basata sul grafo di raggiungibilità,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

10. Insiemi non misurabili secondo Lebesgue.

10. Insiemi non misurabili secondo Lebesgue. 10. Insiemi non misurabili secondo Lebesgue. Lo scopo principale di questo capitolo è quello di far vedere che esistono sottoinsiemi di R h che non sono misurabili secondo Lebesgue. La costruzione di insiemi

Dettagli

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

Ottimizazione vincolata

Ottimizazione vincolata Ottimizazione vincolata Ricordiamo alcuni risultati provati nella scheda sulla Teoria di Dini per una funzione F : R N+M R M di classe C 1 con (x 0, y 0 ) F 1 (a), a = (a 1,, a M ), punto in cui vale l

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2) Algebra e Geometria Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2) Traccia delle lezioni che saranno svolte nell anno accademico 2012/13 I seguenti appunti

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

Ricorsione in SQL-99. Introduzione. Idea di base

Ricorsione in SQL-99. Introduzione. Idea di base Ricorsione in SQL-99 Introduzione In SQL2 non è possibile definire interrogazioni che facciano uso della ricorsione Esempio Voli(lineaAerea, da, a, parte, arriva) non è possibile esprimere l interrogazione

Dettagli

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e

Polli e conigli. problemi Piano cartesiano. Numeri e algoritmi Sistemi e loro. geometrica. Relazioni e funzioni Linguaggio naturale e Polli e conigli Livello scolare: primo biennio Abilità Interessate Calcolo di base - sistemi Risolvere per via grafica e algebrica problemi che si formalizzano con equazioni. Analizzare semplici testi

Dettagli

Sia data la rete di fig. 1 costituita da tre resistori,,, e da due generatori indipendenti ideali di corrente ed. Fig. 1

Sia data la rete di fig. 1 costituita da tre resistori,,, e da due generatori indipendenti ideali di corrente ed. Fig. 1 Analisi delle reti 1. Analisi nodale (metodo dei potenziali dei nodi) 1.1 Analisi nodale in assenza di generatori di tensione L'analisi nodale, detta altresì metodo dei potenziali ai nodi, è un procedimento

Dettagli

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme 1. L insieme R. Per lo svolgimento del corso risulta particolarmente utile considerare l insieme R = R {, + }, detto anche retta reale estesa, che si ottiene aggiungendo all insieme dei numeri reali R

Dettagli

Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in

Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in Intorni Fissato un punto sull' asse reale, si definisce intorno del punto, un intervallo aperto contenente e tutto contenuto in Solitamente si fa riferimento ad intorni simmetrici =, + + Definizione: dato

Dettagli