Semantica Assiomatica
|
|
- Ornella Castellano
- 8 anni fa
- Visualizzazioni
Transcript
1 Semantica Assiomatica Anche nella semantica assiomatica, così come in quella operazionale, il significato associato ad un comando C viene definito specificando la transizione tra stati (a partire, cioè, da uno stato iniziale per arrivare a uno finale) generata da C. Ciò che contraddistingue, quindi, una particolare definizione semantica rispetto ad un altra è il formalismo scelto per definire un generico stato del sistema. Nell approccio assiomatico, lo stato è definito da un predicato logico che stabilisce l insieme degli enunciati che sono veri all interno del sistema in un determinato momento. Dati due predicati Q, R e un comando C, definiamo tripla di Hoare per il comando C con precondizione Q e postcondizione R, il predicato {Q} C {R} che risulta vero se e solo se l esecuzione del comando C a partire da uno stato in cui è vero il predicato Q produce uno stato in cui risulta vero il predicato R. Scrivere un programma in un qualsiasi linguaggio si riconduce al seguente schema di attività: dato un insieme di informazioni iniziali (input), determinare una sequenza di comandi che, una volta eseguiti, producano un risultato che soddisfi certe proprietà (output). Usando le triple di Hoare, dati due predicati Q e R, vogliamo determinare C tale che {Q} C {R} risulti vero a partire da ogni stato in cui Q è vera. Come determinare C? Un approccio più semplice dal quale partire è quello di risolvere il problema della verifica di un programma, ovvero dati Q, R e C, stabilire se {Q} C {R} risulta vero a partire da ogni stato in cui Q è vera. Questo problema si può ridurre ad un altro, più semplice, che consiste nel calcolare, a partire da C e R, un predicato W tale che {Q} C {R} sia vera se e solo se Q implica W. Il predicato W si chiama precondizione più debole (weakest precondition) di C rispetto a R e si indica con wp[c]r. La precondizione più debole risulta quindi così definita. Definizione. Per ogni predicato R e comando C, la precondizione più debole di C rispetto a R è il predicato wp[c]r tale che, per ogni predicato Q, vale che {Q} C {R} Q wp[c]r. Dalla definizione di precondizione più debole segue direttamente che, se si esegue C in uno stato in cui è vera wp[c]r, si arriva in uno stato in cui è vera la postcondizione R, come dimostrato nella seguente proposizione.
2 Proposizione1. Per ogni predicato R e comando C, vale {wp[c]r} C {R}. Dimostrazione. {wp[c]r} C {R} wp[c]r wp[c]r true. La precondizione più debole è dunque un predicato tale che, partendo da uno stato che lo soddisfa, l esecuzione di C porta in uno stato in cui R è soddisfatta. In particolare, possono esistere infiniti stati che verificano questa proprietà. La precondizione più debole identifica l insieme più ampio di stati a partire dai quali l esecuzione di C porta in uno stato che soddisfa R. Chiariamo questo concetto con un piccolo esempio. Consideriamo le due triple di Hoare: {c = 1 ٨ b = 4} a = c {a + b = 5} {c = 2 ٨ b = 3} a = c {a + b = 5} Come vedremo in seguito, si ha che wp[a = c](a + b = 5) c + b = 5. Abbiamo che c = 1 ٨ b = 4 c + b = 5, c = 2 ٨ b = 3 c + b = 5. Si può apprezzare come la condizione espressa dal predicato c + b = 5 catturi l insieme di tutti i possibili stati di partenza per i quali, dopo aver assegnato il valore c alla variabile a, si ottiene che a + b = 5. Diamo ora un insieme di postulati riguardanti le precondizioni più deboli e che assumiamo implicitamente veri. Postulato 1 (Congiuntività). Per ogni coppia di predicati Q, R e per ogni comando C si ha wp[c](q ٨ R) wp[c]q ٨ wp[c]r. Postulato 2 (Disgiuntività). Per ogni coppia di predicati Q, R e per ogni comando C si ha wp[c](q ٧ R) wp[c]q ٧ wp[c]r. Postulato 3 (Nessun Miracolo). Per ogni comando C si ha wp[c]false false. Siano S(C,Q) e S(C,R) l insieme degli stati a partire dai quali, dopo aver eseguito C, si raggiunge uno stato che soddisfa rispettivamente Q e R. Intuitivamente, il postulato 1 dice che l insieme degli stati dai quali, dopo aver eseguito C, si può raggiungere uno stato che soddisfi contemporaneamente Q e R equivale all intersezione di S(C,Q) e S(C,R); mentre il postulato 2 dice che l insieme degli stati dai quali, dopo aver eseguito C, si può raggiungere uno stato che soddisfi almeno uno tra Q e R equivale all unione tra S(C,Q) e S(C,R). Infine, il postulato 3 dice che, siccome nessuno stato può soddisfare il falso, l insieme più ampi degli stati che soddisfano il falso deve essere vuoto.
3 Le precondizioni più deboli verificano, tra le altre, le seguenti proprietà fondamentali. Proprietà 1 (Monotonicità). Per ogni coppia di predicati Q, R e per ogni comando C si ha (Q R) (wp[c]q wp[c]r). Dimostrazione. wp[c]q [sfruttando (Q R) Q Q ٨ R] wp[c](q ٨ R) [sfruttando Congiuntività] wp[c]q ٨ wp[c]r [sfruttando P ٨ Q Q] wp[c]r. Proprietà 2 (Regola della Postcondizione). Per ogni tripla di predicati Q, R, A e per ogni comando C si ha {Q} C {A} ٨ (A R) {Q} C {R}. Dimostrazione. {Q} C {A} [per definizione di wp] Q wp[c]a [sfruttando A R e Monotonicità] Q wp[c]a wp[c]r [sfruttando la transitività di ] Q wp[c]r {Q} C {R}. Proprietà 3 (Regola della Precondizione). Per ogni tripla di predicati Q, R, A e per ogni comando C si ha {A} C {R} ٨ (Q A) {Q} C {R}. Dimostrazione. {A} C {R} [per definizione di wp] A wp[c]r [sfruttando Q A] Q A wp[c]r [sfruttando la transitività di ] Q wp[c]r {Q} C {R}. Semantica dei Comandi Specifichiamo ora le precondizioni più deboli associate ai comandi del nostro mini linguaggio di riferimento. 1. wp[skip]r R 2. wp[c 1 ;c 2 ]R wp[c 1 ](wp[c 2 ]R) Vediamo come il comando skip si comporti da operatore unitario nell ambito della sequenza di comandi. wp[c;skip]r [wp della sequenza di comandi] wp[c](wp[skip]r) [wp di skip] wp[c]r [wp di skip] wp[skip](wp[c]r) [wp della sequenza di comandi] wp[skip;c]r.
4 Data un espressione a AExp BExp, introduciamo un predicato Def[a] che risulta vero se e solo se l espressione a è ben definita. In particolare, ricordando la natura del nostro linguaggio di riferimento, ci preoccuperemo di verificare che l operazione di differenza tra due termini sia sempre tale che il minuendo sia maggiore uguale del sottraendo. 3. wp[x = a]r R a X ٨ Def[a] 4. wp[if b then c 1 else c 2 ]R Def[b] ٨ ((b ٨ wp[c 1 ]R ) ٧ ( b ٨ wp[c 2 ]R)) Vediamo un esempio di applicazione della precondizione più debole relativa al commando condizionale. wp[if X 1 X 2 then X 3 = X 1 else X 3 = X 2 ](X 3 = max{x 1 ;X 2 }) Def[X 1 X 2 ] ٨ ((X 1 X 2 ٨ wp[x 3 = X 1 ] (X 3 = max{x 1 ;X 2 })) ٧ (X 1 < X 2 ٨ wp[x 3 = X 2 ] (X 3 = max{x 1 ;X 2 }))) (X 1 X 2 ٨ wp[x 3 = X 1 ] (X 3 = max{x 1 ;X 2 })) ٧ (X 1 < X 2 ٨ wp[x 3 = X 2 ] (X 3 = max{x 1 ;X 2 })) (X 1 X 2 ٨ X 1 = max{x 1 ;X 2 }) ٧ (X 1 < X 2 ٨ X 2 = max{x 1 ;X 2 }) X 1 X 2 ٧ X 1 < X 2 True. Quindi, tutti i possibili stati iniziali soddisfano la postcondizione, indipendentemente dai valori di X 1 e X 2. Per quanto riguarda il ciclo while, il generico predicato che definisce la sua wp è così complesso da renderlo preticamente inutilizzabile in pratica. Saremo costretti, quindi, ad utilizzare il risultato di un teorema la cui applicazione, però, richiede l invenzione, da parte del programmatore, di una formula (detta invariante) che risulti sempre vera durante l intera esecuzione del while. Questa situazione riflette esattamente il fatto che la creazione di cicli risulta l attività più complessa nell ambito della programmazione imperativa. Sia t una funzione a valori interi e INV un predicato, enunciamo il seguente teorema. Teorema di iterazione finita. {INV ٨ E} C {INV ٨ Def[E]} (invarianza) ٨ {INV ٨ E ٨ t = T} C {t < T} (progresso) ٨ INV ٨ E t > 0 (terminazione) {INV ٨ Def[E]} while E do C {INV ٨ E}.
5 Il teorema afferma che nelle tre ipotesi di invarianza, progresso e terminazione, allora INV ٨ Def[E] e INV ٨ E possono essere assunte come precondizione e postcondizione del while. Per poter risolvere il problema di costruire un while che soddisfi la tripla {P} while E do C {R}, bisogna quindi trovare INV e t che verifichino le ipotesi del teorema, con INV tale che P INV ٨ Def[E] e INV ٨ E R. Questo per le regole della precondizione e della postcondizione. Vediamo ora un esempio. Voglio scrivere un programma che dati due numeri interi non negativi A e B li sommi e memorizzi il risultato in una variabile di nome z. Risolviamo il problema attraverso il seguente programma P: z = A; u = B; while (u!= 0) do {z = z + 1; u = u - 1;} Verifichiamo la correttezza formale del nostro programma provando che la tripla di Hoare {A 0 ٨ B 0} P {z = A + B} è vera. Per prima cosa dobbiamo risolvere il problema del ciclo while. Definiamo come funzione t il valore della variabile u e come invariante INV il predicato z + u = A + B ٨ u 0. Mostriamo che soddisfano le condizioni di invarianza, progresso e terminazione. Per la condizione di invarianza abbiamo: wp[z = z + 1; u = u 1](z + u = A + B ٨ u 0) wp[z = z + 1]((z + u = A + B ٨ u 0) u-1 u ٨ Def[u - 1]) wp[z = z + 1](z + u = A + B + 1 ٨ u 1) (z + u = A + B + 1 ٨ u 1) z+1 z ٨ Def[z+1] z + u = A + B ٨ u 1 INV ٨ u 0 INV ٨ E Per la condizione di progresso abbiamo: wp[z = z + 1; u = u 1](u < T) wp[z = z + 1]((u < T + 1) u-1 u ٨ Def[u - 1]) wp[z = z + 1+](u < T + 1 ٨ u 1) u < T + 1 ٨ u 1 INV ٨ E ٨ t = T
6 La condizione di terminazione, infine, è banalmente implicata da E. Dato, inoltre, che INV ٨ E implica z = A + B, per la regola della postcondizione possiamo concludere che la tripla di Hoare {z + u = A + B ٨ u 0} while (u!= 0) do {z = z + 1; u = u - 1;} {z = A + B} è vera. Procedendo con il calcolo abbiamo che wp[z = A; u = B](z + u = A + B ٨ u 0) wp[z = A](z + u = A + B ٨ u 0) B u ٨ Def[B] wp[z = A](z = A ٨ B 0) (z = A ٨ B 0) A z ٨ Def[A] A 0 ٨ B 0 che equivale all input del programma P. Abbiamo quindi dimostrato che P è corretto.
Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.
Semantica dei programmi La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma. Semantica operazionale: associa ad ogni programma la sequenza delle sue
DettagliProof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme
G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero
Dettaglirisulta (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
DettagliFondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)
Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni
DettagliNote su quicksort per ASD 2010-11 (DRAFT)
Note su quicksort per ASD 010-11 (DRAFT) Nicola Rebagliati 7 dicembre 010 1 Quicksort L algoritmo di quicksort è uno degli algoritmi più veloci in pratica per il riordinamento basato su confronti. L idea
Dettagli4 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
DettagliCapitolo 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
DettagliLezione 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
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliMetodi 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
DettagliCorso 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
DettagliIl principio di induzione e i numeri naturali.
Il principio di induzione e i numeri naturali. Il principio di induzione è un potente strumento di dimostrazione, al quale si ricorre ogni volta che si debba dimostrare una proprietà in un numero infinito
DettagliLE 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
DettagliIntroduzione ai Metodi Formali
Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di
Dettaglif(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
DettagliSono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza
Il problema di flusso di costo minimo (MCF) Dati : grafo orientato G = ( N, A ) i N, deficit del nodo i : b i (i, j) A u ij, capacità superiore (max quantità di flusso che può transitare) c ij, costo di
DettagliElementi di semantica denotazionale ed operazionale
Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato
DettagliINTRODUZIONE 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.
Dettagli1 Applicazioni Lineari tra Spazi Vettoriali
1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!
Dettagli(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
Dettagli1. 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,
DettagliLezioni 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ò
DettagliCorrettezza. 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
DettagliLa selezione binaria
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per
DettagliIniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:
Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione
Dettagliregola(1,[e,f],b) regola(2,[m,f],e) regola(3,[m],f) regola(4,[b,f],g) regola(5,[b,g],c) regola(6,[g,q],a)
ESERCIZIO1 PREMESSA Per risolvere problemi spesso esistono delle regole che, dai dati del problema, permettono di calcolare o dedurre la soluzione. Questa situazione si può descrivere col termine regola(,
DettagliLinguaggi. 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
DettagliIntroduzione Ordini parziali e Reticoli Punti fissi
Introduzione Ordini parziali e Reticoli Punti fissi By Giulia Costantini (819048) & Giuseppe Maggiore (819050) Table of Contents ORDINE PARZIALE... 3 Insieme parzialmente ordinato... 3 Diagramma di Hasse...
Dettagli1. 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
Dettagli4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI
119 4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI Indice degli Argomenti: TEMA N. 1 : INSIEMI NUMERICI E CALCOLO
DettagliDimensione 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
DettagliDI 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
DettagliEsercizi Capitolo 6 - Alberi binari di ricerca
Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile
DettagliFunzioni. Il concetto di funzione nasce da quello di corrispondenza fra grandezze. Tale corrispondenza può essere data in svariati modi:
Funzioni Il concetto di funzione nasce da quello di corrispondenza fra grandezze. Tale corrispondenza può essere data in svariati modi: da un rilevamento empirico da una formula (legge) ESEMPI: 1. la temperatura
DettagliProdotto 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
DettagliElementi di semantica operazionale
Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione
DettagliAlgebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )
Algebra di Boole L algebra di Boole prende il nome da George Boole, matematico inglese (1815-1864), che pubblicò un libro nel 1854, nel quale vennero formulati i principi dell'algebra oggi conosciuta sotto
DettagliAlgebra 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
DettagliAlgoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.
Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito
DettagliSiamo 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
DettagliProf. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:
LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto
DettagliPer 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
Dettagli1 Giochi a due, con informazione perfetta e somma zero
1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una
Dettagli1 Serie di Taylor di una funzione
Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita
DettagliInterpretazione astratta
Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica
DettagliMatematica generale CTF
Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione
DettagliLezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:
Lezione 1 Gli Insiemi La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme: degli iscritti ad un corso di laurea delle stelle in cielo dei punti di un piano
DettagliArduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
DettagliRealizzazione di Politiche di Gestione delle Risorse: i Semafori Privati
Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliPunti Fissi. Mappe tra insiemi parz. ordinati. Siano (P, P ) e (Q, Q ) due insiemi parzialmente ordinati. Una funzione ϕ da P a Q si dice:
Punti Fissi Mappe tra insiemi parz. ordinati Siano (P, P ) e (Q, Q ) due insiemi parzialmente ordinati. Una funzione ϕ da P a Q si dice: monotona (preserva l ordine) se p 1 P p 2 ϕ(p 1 ) Q ϕ(p 2 ) embedding
DettagliDall 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
DettagliArtifact Centric Business Processes (I)
Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di
DettagliTeoria 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
DettagliCenni su algoritmi, diagrammi di flusso, strutture di controllo
Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari
DettagliFasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)
Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE
DettagliFUNZIONI ELEMENTARI - ESERCIZI SVOLTI
FUNZIONI ELEMENTARI - ESERCIZI SVOLTI 1) Determinare il dominio delle seguenti funzioni di variabile reale: (a) f(x) = x 4 (c) f(x) = 4 x x + (b) f(x) = log( x + x) (d) f(x) = 1 4 x 5 x + 6 ) Data la funzione
DettagliSommario. 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
DettagliFunzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente
Funzioni In matematica, una funzione f da X in Y consiste in: 1. un insieme X detto dominio di f 2. un insieme Y detto codominio di f 3. una legge che ad ogni elemento x in X associa uno ed un solo elemento
DettagliAPPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI
APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................
DettagliAlcune 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
Dettagli10. 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
DettagliEsercizi su lineare indipendenza e generatori
Esercizi su lineare indipendenza e generatori Per tutto il seguito, se non specificato esplicitamente K indicherà un campo e V uno spazio vettoriale su K Cose da ricordare Definizione Dei vettori v,,v
DettagliRicerca Operativa Esercizi sul metodo del simplesso. Luigi De Giovanni, Laura Brentegani
Ricerca Operativa Esercizi sul metodo del simplesso Luigi De Giovanni, Laura Brentegani 1 1) Risolvere il seguente problema di programmazione lineare. ma + + 3 s.t. 2 + + 2 + 2 + 3 5 2 + 2 + 6,, 0 Soluzione.
DettagliEsempi 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
DettagliSOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.
SOMMARIO CAPITOLO : I RADICALI. I radicali pag.. I radicali aritmetici pag.. Moltiplicazione e divisione fra radicali aritmetici pag.. Potenza di un radicale aritmetico pag.. Trasporto di un fattore esterno
DettagliEquazioni alle differenze finite (cenni).
AL 011. Equazioni alle differenze finite (cenni). Sia a n } n IN una successione di numeri reali. (Qui usiamo la convenzione IN = 0, 1,,...}). Diremo che è una successione ricorsiva o definita per ricorrenza
DettagliPermutazione degli elementi di una lista
Permutazione degli elementi di una lista Luca Padovani padovani@sti.uniurb.it Sommario Prendiamo spunto da un esercizio non banale per fare alcune riflessioni su un approccio strutturato alla risoluzione
DettagliFondamenti dei linguaggi di programmazione
Fondamenti dei linguaggi di programmazione Aniello Murano Università degli Studi di Napoli Federico II 1 Riassunto delle lezioni precedenti Prima Lezione: Introduzione e motivazioni del corso; Sintassi
DettagliAlgoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione
Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione Esercizi II parte Esercizio 1 Discutere la correttezza di ciascuna delle seguenti affermazioni. Dimostrare formalmente la validità
DettagliTutorato di Probabilità e Statistica
Università Ca Foscari di Venezia Dipartimento di informatica 20 aprile 2006 Variabili aleatorie... Example Giochiamo alla roulette per tre volte 1 milione sull uscita del numero 29. Qual è la probabilità
DettagliPROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO
PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO 1. Load Balancing Un istanza del problema del load balancing consiste di una sequenza p 1,..., p n di interi positivi (pesi dei job) e un
DettagliMetodi e Modelli Matematici di Probabilità per la Gestione
Metodi e Modelli Matematici di Probabilità per la Gestione Prova scritta del 30/1/06 Esercizio 1 Una banca ha N correntisti. Indichiamo con N n il numero di correntisti esistenti il giorno n-esimo. Descriviamo
DettagliSchemi 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
DettagliLA MOLTIPLICAZIONE IN CLASSE SECONDA
LA MOLTIPLICAZIONE IN CLASSE SECONDA Rossana Nencini, 2013 Le fasi del lavoro: 1. Proponiamo ai bambini una situazione reale di moltiplicazione: portiamo a scuola una scatola di biscotti (. ) e diamo la
DettagliOttimizazione 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
DettagliCapitolo 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:
DettagliAPPLICAZIONI LINEARI
APPLICAZIONI LINEARI 1. Esercizi Esercizio 1. Date le seguenti applicazioni lineari (1) f : R 2 R 3 definita da f(x, y) = (x 2y, x + y, x + y); (2) g : R 3 R 2 definita da g(x, y, z) = (x + y, x y); (3)
DettagliLaboratorio di Informatica
Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di
DettagliMATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.
MATEMATICA. Sistemi lineari in due equazioni due incognite. Date due equazioni lineari nelle due incognite x, y come ad esempio { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un
DettagliDocumentazione esterna al software matematico sviluppato con MatLab
Documentazione esterna al software matematico sviluppato con MatLab Algoritmi Metodo di Gauss-Seidel con sovrarilassamento Metodo delle Secanti Metodo di Newton Studente Amelio Francesco 556/00699 Anno
DettagliDAL DIAGRAMMA AL CODICE
DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza
DettagliPROVA INTRACORSO TRACCIA A Pagina 1 di 6
PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento
Dettagli5. La teoria astratta della misura.
5. La teoria astratta della misura. 5.1. σ-algebre. 5.1.1. σ-algebre e loro proprietà. Sia Ω un insieme non vuoto. Indichiamo con P(Ω la famiglia di tutti i sottoinsiemi di Ω. Inoltre, per ogni insieme
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia
Dettagli2. 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
DettagliAlgoritmi e Strutture Dati
Elementi di Programmazione Dinamica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Il problema La CMC produce automobili in uno stabilimento
DettagliVerifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio
Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere
DettagliRaccolta degli Scritti d Esame di ANALISI MATEMATICA U.D. 1 assegnati nei Corsi di Laurea di Fisica, Fisica Applicata, Matematica
DIPARTIMENTO DI MATEMATICA Università degli Studi di Trento Via Sommarive - Povo (TRENTO) Raccolta degli Scritti d Esame di ANALISI MATEMATICA U.D. 1 assegnati nei Corsi di Laurea di Fisica, Fisica Applicata,
DettagliMATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c
Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005. Lezione 11
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 11 In questa lezione vedremo alcune applicazioni della tecnica greedy al progetto di algoritmi on-line. Vediamo
DettagliAlgebra 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
Dettagli19. Inclusioni tra spazi L p.
19. Inclusioni tra spazi L p. Nel n. 15.1 abbiamo provato (Teorema 15.1.1) che, se la misura µ è finita, allora tra i corispondenti spazi L p (µ) si hanno le seguenti inclusioni: ( ) p, r ]0, + [ : p
DettagliCorrispondenze 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
Dettaglix 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.
Problema. Sia W il sottospazio dello spazio vettoriale R 4 dato da tutte le soluzioni dell equazione x + x 2 + x = 0. (a. Sia U R 4 il sottospazio dato da tutte le soluzioni dell equazione Si determini
DettagliAnno 1. Definizione di Logica e operazioni logiche
Anno 1 Definizione di Logica e operazioni logiche 1 Introduzione In questa lezione ci occuperemo di descrivere la definizione di logica matematica e di operazioni logiche. Che cos è la logica matematica?
DettagliCalcolatori: 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
DettagliAlgebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono
Dettagli