Interpretazione astratta
|
|
- Vittorio Costantini
- 8 anni fa
- Visualizzazioni
Transcript
1 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 astratta... 3 Correttezza... 3 Concretizzazione... 3 Estensione dell esempio di semantica (aggiungiamo TOP)... 3 Esempi... 4 Altra estensione dell esempio di semantica (aggiungiamo BOTTOM)... 5 Dominio astratto... 5 La funzione di astrazione... 5 Definizione generale di interpretazione astratta... 6 Operazioni astratte... 6 Astrazioni come chiusure... 6 Astrazione e concretizzazione... 7 Correttezza... 7 Prova di correttezza... 8 Definzione alternativa... 8 Estensione al nostro tiny language: input... 9 Teorema: la correttezza locale e sufficiente... 9 Estensione al nostro tiny language: comando condizionale Correttezza del comando condizionale Estensione al nostro tiny language: ricorsione Semantica delle funzioni ricorsive Semantica astratta... 12
2 Correttezza Esempio Riassunto e conclusioni Astrazione = selezionare una (delle varie) proprieta Interpretazione astratta Una tecnica utilizzata da quasi 30 anni per trattare in modo sistematico astrazioni e approssimazioni Nata per descrivere analisi statiche di programmi imperativi e provarne la correttezza Sviluppata soprattutto su linguaggi dichiarativi (logici e funzionali) Vista oggi come tecnica generale per ragionare su semantiche a diversi livelli di astrazione Applicata con successo a sistemi distribuiti per verifica di programmi (correttezza-sicurezza) Idea generale Il punto di partenza e la semantica concreta o Una funzione che assegna significati ai comandi di un programma in un dominio fissato di comunicazione Si determina un dominio astratto che modella alcune proprieta delle computazioni concrete tralasciando la rimanente informazione Si deriva una semantica astratta che permetta di eseguire il programma sul dominio astratto per calcolare la proprieta che il dominio astratto modella Applicando un algoritmo di punto fisso sara quindi possibile calcolare staticamente una approssimazione corretta della semantica concreta Esempio di semantica Consideriamo un linguaggio molto limitato che permette di operare su moltiplicazioni di interi o e = i e e Semantica concreta La semantica concreta di questo linguaggio si puo descrivere mediante una funzione μ definita come: o μ exp int μ i = i o μ e 1 e 2 = μ e 1 μ e 2
3 Semantica astratta Possiamo considerare una astrazione della semantica concreta (semantica astratta) che calcola solo il segno delle espressioni o σ exp +,,0 + if i > 0 o σ i = 0 if i = 0 if i < o σ e 1 e 2 = σ e 1 σ(e 2 ) o dove e l operazione astratta che calcola il segno del prodotto Correttezza Possiamo dimostrare che questa astrazione e corretta, ovvero che predice correttamente il segno delle operazioni La dimostrazione e per induzione strutturale sull espressione e e utilizza le proprieta della moltiplicazione tra interi (il prodotto di due positivi e positivo, etc.). μ e > 0 σ e = + μ e = 0 σ e = 0 μ e < 0 σ e = semantica concreta semantica astratta Concretizzazione Possiamo associare ad ogni valore astratto l insieme dei valori che esso rappresenta: γ +,0 p(z) γ + = i i > 0 γ 0 = 0 γ = i i < 0 La funzione di concretizzazione γ mappa un valore astratto in un insieme di valori concreti Indichiamo con D il dominio concreto e A il dominio astratto Data una espressione e, il suo valore calcolato rispetto alla semantica concreta μ, deve appartenere all insieme dei valori nella concretizzazione γ della semantica astratta σ: μ e γ σ e e la semantica e' corretta Cio significa che il valore concreto deve essere approssimato dal valore astratto Estensione dell esempio di semantica (aggiungiamo TOP) Aggiungiamo l operatore unario di cambiamento di segno e l operatore di somma:
4 μ e = μ e σ e = σ e dove l operatore di cambiamento di segno nel dominio astratto e cosi definito: Aggiungere l addizione e piu complesso in quanto il domino astratto non e chiuso rispetto a questa operazione μ e 1 + e 2 = μ e 1 + μ(e 2 ) σ e 1 + e 2 = σ e 1 + σ(e 2 ) Per poter definire l operatore di somma nel dominio astratto (+), dobbiamo estendere il dominio astratto con un nuovo valore tale che γ = {i i Z} Avendo aggiunto un elemento al dominio astratto, e necessario ridefinire le operazioni astratte viste precedentemente: Esempi μ = 0 σ = =
5 μ = 31 σ = = + + Altra estensione dell esempio di semantica (aggiungiamo BOTTOM) Se volessimo aggiungere la divisione intera con resto, incontreremmo problemi nel caso di divisione per 0 Se dividiamo gli interi di un qualche insieme non vuoto per 0 otteniamo l insieme vuoto, rappresentato con γ = Dovremmo anche estendere le altre operazioni (di nuovo) ma lo facciamo piu semplicemente elencando le aggiunte alle tabelle: o o o + x = x = = Dominio astratto Il dominio astratto e un reticolo completo L ordine parziale e coerente con la funzione di concretizzazione x y γ x γ(y) Piu siamo in giu nel reticolo, maggiore e la precisione Ogni sottoinsieme ha un lub e un glb (reticolo completo!) La funzione di astrazione Alla funzione di concretizzazione γ corrisponde una funzione di astrazione α La funzione α mappa insiemi di valori concreti nel piu piccolo valore astratto che li rappresenta tutti Rispetto al nostro tiny language: o α p Z A
6 o α 17,22,3,0 = ( +,0 ) = o α S = i S, i < 0 se ci sono negativi, + i S, i > 0 + se ci sono positivi, 0 i S, i = 0 0 se c'e' lo 0 Definizione generale di interpretazione astratta Una interpretazione astratta consiste in: 1. Un dominio astratto A e un dominio concreto D 2. I domini A, D devono essere reticoli completi, tali che l ordine riflette la precisione (piu piccolo = piu preciso) 3. Funzioni di concretizzazione γ e di astrazione α monotone, che formino una inserzione di Galois a. Es: se ho due valori astratti, il piu grande deve approssimare piu valori 4. Una funzione che astrae correttamente la semantica (definire una versione astratta di tutte le operazioni sul dominio concreto) Inserzione di Galois elemento concreto x p D a A elemento astratto la migliore approssimazione di x contiene x. x γ α x. a = α γ a non posso approssimare meglio di cosi Operazioni astratte Ipotizziamo di avere una funzione f: p(d) p(d) e di volere costruire la corrispondente funzione f # nel dominio astratto, f # A A. Vogliamo che f # sia il modo ottimale per rappresentare f nel dominio astratto, ossia f # = α f γ Se dimostriamo che la relazione e rispettata, o al piu f # sovra-astrae, allora possiamo non andare mai nei valori concreti (computazionalmente pesante) pur avendo le operazioni astratte desiderate. Astrazioni come chiusure Il dominio astratto puo essere ottenuto dividendo il dominio concreto in sottoinsiemi non disgiunti a i La funzione di astrazione cerca di mappare un sottoinsieme arbitrario del dominio nel piu piccolo a i che lo contiene.
7 Astrazione e concretizzazione Per la correttezza del nostro sistema di astrazione e concretizzazione deve essere vero il diagramma qui a destra Le due equazioni seguenti sono equivalenti valore concreto di una espressione: 3+2 2=7 μ e σ e analisi astratta di e (>0,<0,=0) insieme dei valori che l ' espressione ha secondo l ' analisi astratta σ (ad es: ' e positivo ) γ σ e α μ e astrazione ideale nel reticolo del dominio astratto del valore concreto della espressione e Correttezza Per la correttezza dell analisi sono sufficienti le seguenti condizioni o α, γ formano un inserzione di Galois (sia id = identita'): id = α γ ossia se concretizzo un valore astratto e poi lo astraggo nuovamente ottengo il valore astratto di partenza: α γ + α i i > 0 + id γ α ossia se astraggo un valore concreto e poi concretizzo questo valore astratto, ottengo tutti i valori originali, ma poiche α e una approssimazione, potrebbero comparire nuovi elementi spuri : γ α 1,2 γ + {1,2,3, } o α, γ sono monotone: c 1 c 2 α c 1 α c 2 ; a 1 a 2 γ a 1 γ a 2 o le operazioni astratte op sono corrette localmente op γ s 1,, γ(s n ) γ op s 1,, s n ossia se eseguo una operazione astratta sui valori astratti s 1,, s n allora la concretizzazione di questa operazione mi da un sovrainsieme degli elementi che avrei ottenuto eseguendo l operazione concreta su tutte le concretizzazioni dei valori astratti di partenza la condizione di correttezza locale garantisce che op sia un approssimazione corretta di op per ogni operazione concreta c e sempre una operazione astratta corretta, ossia quella che restitusce sempre l elemento massimo del dominio astratto
8 A op A γ α p D op p D Prova di correttezza Proviamo per induzione sulla struttura di e che μ e γ σ e μ i = i def.di μ i o Caso base: γ α i inserzione di Galois = γ σ i def.di σ perche' σ i = α i o Passo induttivo: μ e 1 op e 2 = μ e 1 op μ(e 2 ) def.di μ γ σ e 1 op γ σ e 2 per ip.induttiva γ σ e 1 op σ e 2 correttezza locale = γ σ e 1 op e 2 def.di σ Definzione alternativa Possiamo anche definire la correttezza usando l astrazione al posto della concretizzazione: μ e γ σ e α μ e σ e Ossia che le due affermazioni sono equivalenti: o μ e γ σ e che la concretizzazione dell interpretazione astratta e un sovrainsieme dell interpretazione concreta o α μ e σ e che le operazioni astratte σ sono una approssimazione per eccesso dell astrazione vera e propria del risultato concreto μ e γ σ e ipotesi μ e γ σ e α μ e α γ σ e monotonia α μ e σ e α γ = id α μ e σ e ipotesi γ α μ e γ σ e monotonia μ e γ σ e id γ α μ e γ σ e
9 Estensione al nostro tiny language: input Aggiungiamo input tramite la presenza di variabili libere nelle espressioni: e = i e e e x La firma della funzione semantica diventa μ: Exp Int Int (le espressioni hanno una sola variabile!) Un modo per scrivere questa funzione e pensarla come un insieme di funzioni Int Int indicizzate con espressioni μ i j = i μ x j = j μ e1 e 2 j = μ e1 j μ e2 j = La semantica astratta e data dalla funzione σ: Exp A A, in quanto alla variabile passiamo un valore astratto (es: σ x+3 ( )) Come per la semantica concreta possiamo indicizzare σ σ i j = i σ x j = j σ e1 e 2 j = σ e1 j σ e2 j = dove i = α i Dobbiamo generalizzare le condizioni di correttezza Le seguenti condizioni sono equivalenti: i. μ e i γ σ e α i μ e D γ σ e α α μ e A σ e α La correttezza locale la possiamo anche esprimere mediante la seguente regola: op γ σ e1 j,, γ σ en j γ op σ e1 j,, σ en j Teorema: la correttezza locale e sufficiente μ e j γ σ e j Per induzione sull espressione Casi base: μ i j = i o γ i = γ σ i j
10 μ x j = j o γ j = γ σ x j Passo induttivo: μ op e1,,e n j = op μ e1 j,, μ en j definizione di μ op γ σ e1 j,, γ σ en j ip.induttiva γ op σ e1 j,, σ en j correttezza locale = γ σ op e1,,e n j definizione di σ Estensione al nostro tiny language: comando condizionale e = if e = e ten e else e Semantica concreta μ if e1 =e 2 ten e 3 else e 4 i = μ e 3 i μ e4 i if μ e1 i = μ e2 i if μ e1 i μ e2 i Semantica astratta σ if e1 =e 2 ten e 3 else e 4 i = σ e3 i σ e4 (i) Si puo fare di meglio se abbiamo informazioni che ci permettono di verificare l uguaglianza tra e 1 ed e 2, ma cio e raro e in generale ci aspettiamo di percorrere contemporaneamente i due rami dell if perdendo inevitabilmente precisione Il motivo per cui imponiamo che il dominio sia un reticolo e perche cosi abbiamo la garanzia dell esistenza del lub ( ) σ if x=3 ten 7 else 8 + = σ 7 + σ 8 + = + Correttezza del comando condizionale Assumiamo che sia vera la condizione dell if, ovvero che si entri nel primo ramo (l altro caso e lasciato come esercizio per il docente...si dimostra analogamente) μ e3 i γ σ e3 i ip.induttiva γ σ e3 i γ σ e4 i γ σ e3 i σ e4 i monotonia di γ e = γ σ if e1 =e 2 ten e 3 else e 4 i per def. della sem.abstr.dell'if
11 Estensione al nostro tiny language: ricorsione Aggiungiamo funzioni ricorsive (in una sola variabile per semplicita ) che possono essere o Dichiarate o Chiamate program = def f x = e e = f(e) Semantica delle funzioni ricorsive La funzione semantica che abbiamo considerato finora e del tipo μ: Exp Int Int se c'e' divisione per 0 La generalizziamo per tenere conto delle chiamate di funzione μ : Exp e Int Int g Int j Int μ f e g j = g μ e g j μ x g j = j g j = μ e1 g j + μ e2 g j μ e1 +e 2 o Esempio in cui g: x x + 2 μ f x+1 g 4 = g μ x+1 g 4 = g μ x g 4 + μ 1 g 4 = g = g 5 = 7 Consideriamo una funzione def f = e Definiamo una catena ascendente f 0, f 1, in Int Int dove definiamo μ f = f i i f o = λx. f i+1 = μ e f i Esempio: Sia def f = if x = 0 ten 1 else f(x 1)
12 f 0 i = i f 1 i = μ if x=0 ten 1 else f x 1 f 0 i μ 1 f 0 i = 1 se i = 0 f 0 i = f 0 μ x 1 f 0 i altrimenti μ f x 1 = = f 0 μ x f 0 i f 0 μ 1 f 0 i = f 0 i f 0 1 = f 2 i = = μ if x=0 ten 1 else f x 1 f 1 i μ 1 f 1 i = 1 se i = 0 f 1 i = f 1 μ x 1 f 1 i altrimenti = μ f x 1 = f 1 μ 0 f 1 i = f 1 0 = 1 se x = 1, ossia [μ 0 f 1 i = 0] f 1 j = altrimenti, ossia j 0 Ricapitolando: μ f = i 0 f i Semantica astratta Dobbiamo estendere la definizione della semantica astratta σ Richiediamo che tutte le funzioni siano monotone σ : Exp A A versione astratta della f A valore astratto dell input A σ f e g (i) = g σ e g i σ x g (i) = i σ e1 +e 2 g (i) = σ e1 g i + σ e2 g (i) Consideriamo una funzione def f = e Definiamo una catena ascendente f 0, f 1, in A A dove definiamo σ f = f i i f 0 = λa. f i+1 = σ e f i Correttezza Elementi corrispondenti nelle due catene sono nella giusta relazione
13 i. f i j γ f i j f i (j) i 0 i 0 γ f i j le catene convergono f i (j) γ i 0 i 0 f i j monotonia di γ μ f j γ σ f j per definizione Esempio Consideriamo la funzione ricorsiva def f x = if x = 0 ten 1 else x f(x 1) Astrazione (lfp=minimo punto fisso): lfp σ if x = 0 ten 1 else x f x 1 Semplificando lfp λf. λx date f e x. + x f x + Osserviamo che in questo caso l astrazione non porta a nessuna informazione utile (a causa della presenza di ) Le catene ascendenti sono strettamente crescenti fino a che non convergono: f 0 < f 1 < f 2 < f 3 = f 4 = f 5 =...ma non e detto che considerando un singolo valore la catena ascendente concreta sia strettamente crescente: f 0 + < f 1 + = f 2 (+) < f 3 (+) = f 4 (+) = Riassunto e conclusioni Applicare le tecniche di Interpretazione Astratta significa o Definire semantica concreta e astratta del programma: domini e operazioni o Applicare un algoritmo di punto fisso Analisi statica = reticoli + funzioni monotone E una teoria unificante: le tecniche di dataflow e model checking si possono esprimere in termini di Interpretazione Astratta
Introduzione 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...
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
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
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
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
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....................................
DettagliCONCETTO 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
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
DettagliPolitecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).
Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria). Aprile 20 Indice Serie numeriche. Serie convergenti, divergenti, indeterminate.....................
DettagliLE 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
Dettagli3 GRAFICI DI FUNZIONI
3 GRAFICI DI FUNZIONI Particolari sottoinsiemi di R che noi studieremo sono i grafici di funzioni. Il grafico di una funzione f (se non è specificato il dominio di definizione) è dato da {(x, y) : x dom
DettagliRappresentazione dei numeri in un calcolatore
Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri
DettagliSemantica Assiomatica
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è,
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
DettagliESERCIZI SVOLTI. 1) Dimostrare che l insieme. non è ricorsivo. Soluzione: Definiamo l insieme
ESERCIZI SVOLTI 1) Dimostrare che l insieme Allora notiamo che π non è vuoto perché la funzione ovunque divergente appartiene all insieme avendo per dominio l insieme. Inoltre π non coincide con l insieme
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
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
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
DettagliProcesso di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico
Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare
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,
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
DettagliComparatori. Comparatori di uguaglianza
Comparatori Scopo di un circuito comparatore é il confronto tra due codifiche binarie. Il confronto può essere effettuato per verificare l'uguaglianza oppure una relazione d'ordine del tipo "maggiore",
DettagliProgrammazione logica
Programmazione logica l interpretazione astratta è molto popolare in programmazione logica Il modello computazionale si presta a varie ottimizzazioni, basate sui risultati dell analisi è relativamente
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
DettagliLezione 9: Cambio di base
Lezione 9: Cambio di base In questa lezione vogliamo affrontare uno degli argomenti piu ostici per lo studente e cioè il cambio di base all interno di uno spazio vettoriale, inoltre cercheremo di capire
DettagliInformatica. Rappresentazione dei numeri Numerazione binaria
Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione
Dettaglix u v(p(x, fx) q(u, v)), e poi
0.1. Skolemizzazione. Ogni enunciato F (o insieme di enunciati Γ) è equisoddisfacibile ad un enunciato universale (o insieme di enunciati universali) in un linguaggio estensione del linguaggio di F (di
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
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
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
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.
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile
Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione
DettagliI sistemi di numerazione
I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono
DettagliAnno 3. Funzioni: dominio, codominio e campo di esistenza
Anno 3 Funzioni: dominio, codominio e campo di esistenza 1 Introduzione In questa lezione parleremo delle funzioni. Ne daremo una definizione e impareremo a studiarne il dominio in relazione alle diverse
DettagliAppunti 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
DettagliProbabilità discreta
Probabilità discreta Daniele A. Gewurz 1 Che probabilità c è che succeda...? Una delle applicazioni della combinatoria è nel calcolo di probabilità discrete. Quando abbiamo a che fare con un fenomeno che
DettagliSistemi di Numerazione
Fondamenti di Informatica per Meccanici Energetici - Biomedici 1 Sistemi di Numerazione Sistemi di Numerazione I sistemi di numerazione sono abitualmente posizionali. Gli elementi costitutivi di un sistema
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
DettagliTest d ipotesi. Statistica e biometria. D. Bertacchi. Test d ipotesi
In molte situazioni una raccolta di dati (=esiti di esperimenti aleatori) viene fatta per prendere delle decisioni sulla base di quei dati. Ad esempio sperimentazioni su un nuovo farmaco per decidere se
DettagliCapitolo 7: Teoria generale della calcolabilitá
Capitolo 7: Teoria generale della calcolabilitá 1 Differenti nozioni di calcolabilitá (che seguono da differenti modelli di calcolo) portano a definire la stessa classe di funzioni. Le tecniche di simulazione
DettagliSemantica 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
DettagliAlessandro Pellegrini
Esercitazione sulle Rappresentazioni Numeriche Esistono 1 tipi di persone al mondo: quelli che conoscono il codice binario e quelli che non lo conoscono Alessandro Pellegrini Cosa studiare prima Conversione
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:
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
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ò
DettagliArchitettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri
Architettura degli Elaboratori I Esercitazione 1 - Rappresentazione dei numeri 1 Da base 2 a base 10 I seguenti esercizi richiedono di convertire in base 10 la medesima stringa binaria codificata rispettivamente
DettagliCRITERI DI CONVERGENZA PER LE SERIE. lim a n = 0. (1) s n+1 = s n + a n+1. (2) CRITERI PER LE SERIE A TERMINI NON NEGATIVI
Il criterio più semplice è il seguente. CRITERI DI CONVERGENZA PER LE SERIE Teorema(condizione necessaria per la convergenza). Sia a 0, a 1, a 2,... una successione di numeri reali. Se la serie a k è convergente,
DettagliMICROECONOMIA La teoria del consumo: Alcuni Arricchimenti. Enrico Saltari Università di Roma La Sapienza
MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti Enrico Saltari Università di Roma La Sapienza 1 Dotazioni iniziali Il consumatore dispone ora non di un dato reddito monetario ma di un ammontare
Dettagli( x) ( x) 0. Equazioni irrazionali
Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza
DettagliConvertitori 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
DettagliCAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI
CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI Abbiamo studiato successioni e serie numeriche, ora vogliamo studiare successioni e serie di funzioni. Dato un insieme A R, chiamiamo successione di funzioni
DettagliAlgebra 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
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
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
DettagliInterpretazione Astratta (cenni) Agostino Cortesi
Interpretazione Astratta (cenni) Agostino Cortesi Astrazione: selezionare una proprieta 2 Astrazione: selezionare una (delle) proprieta 3 Astrazione e correttezza 4 Astrarre un insiemi di punti nel piano
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
DettagliFunzioni. Funzioni /2
Funzioni Una funzione f è una corrispondenza tra due insiemi A e B che a ciascun elemento di A associa un unico elemento di B. Si scrive: f : A B l'insieme A si chiama il dominio della funzione f, l'insieme
DettagliLa distribuzione Normale. La distribuzione Normale
La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una
DettagliSoluzione 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
DettagliCosa dobbiamo già conoscere?
Cosa dobbiamo già conoscere? Insiemistica (operazioni, diagrammi...). Insiemi finiti/numerabili/non numerabili. Perché la probabilità? In molti esperimenti l esito non è noto a priori tuttavia si sa dire
DettagliESERCIZI APPLICAZIONI LINEARI
ESERCIZI APPLICAZIONI LINEARI PAOLO FACCIN 1. Esercizi sulle applicazioni lineari 1.1. Definizioni sulle applicazioni lineari. Siano V, e W spazi vettoriali, con rispettive basi B V := (v 1 v n) e B W
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
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
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
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
DettagliLezione 10: Il problema del consumatore: Preferenze e scelta ottimale
Corso di Scienza Economica (Economia Politica) prof. G. Di Bartolomeo Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale Facoltà di Scienze della Comunicazione Università di Teramo Scelta
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
DettagliEsercizi svolti. 1. Si consideri la funzione f(x) = 4 x 2. a) Verificare che la funzione F(x) = x 2 4 x2 + 2 arcsin x è una primitiva di
Esercizi svolti. Si consideri la funzione f() 4. a) Verificare che la funzione F() 4 + arcsin è una primitiva di f() sull intervallo (, ). b) Verificare che la funzione G() 4 + arcsin π è la primitiva
DettagliLA RETTA. Retta per l'origine, rette orizzontali e verticali
Retta per l'origine, rette orizzontali e verticali LA RETTA Abbiamo visto che l'equazione generica di una retta è del tipo Y = mx + q, dove m ne rappresenta la pendenza e q il punto in cui la retta incrocia
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
DettagliUna ricetta per il calcolo dell asintoto obliquo. Se f(x) è asintotica a mx+q allora abbiamo f(x) mx q = o(1), da cui (dividendo per x) + o(1), m =
Una ricetta per il calcolo dell asintoto obliquo Se f() è asintotica a m+q allora abbiamo f() m q = o(1), da cui (dividendo per ) m = f() q + 1 f() o(1) = + o(1), mentre q = f() m = o(1). Dunque si ha
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
DettagliEsercitazione Informatica I AA 2012-2013. Nicola Paoletti
Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.
DettagliParte 6. Applicazioni lineari
Parte 6 Applicazioni lineari A Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Applicazioni fra insiemi, 2 Applicazioni lineari tra spazi vettoriali, 2 3 Applicazioni lineari da R n a R
DettagliSISTEMI DI NUMERAZIONE E CODICI
SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema
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 "!$%!
DettagliLEZIONE 31. B i : R n R. R m,n, x = (x 1,..., x n ). Allora sappiamo che è definita. j=1. a i,j x j.
LEZIONE 31 31.1. Domini di funzioni di più variabili. Sia ora U R n e consideriamo una funzione f: U R m. Una tale funzione associa a x = (x 1,..., x n ) U un elemento f(x 1,..., x n ) R m : tale elemento
DettagliLA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1
LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD
DettagliRicapitoliamo. Ricapitoliamo
Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)
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
DettagliCONTINUITÀ E DERIVABILITÀ Esercizi risolti
CONTINUITÀ E DERIVABILITÀ Esercizi risolti. Determinare kπ/ [cos] al variare di k in Z. Ove tale ite non esista, discutere l esistenza dei iti laterali. Identificare i punti di discontinuità della funzione
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)
DettagliAPPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)
ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,
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
Dettagli~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE
STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.
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
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
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
DettagliMatematica 1 - Corso di Laurea in Ingegneria Meccanica
Matematica 1 - Corso di Laurea in Ingegneria Meccanica Esercitazione su massimi e minimi vincolati 9 dicembre 005 Esercizio 1. Considerare l insieme C = {(x,y) R : (x + y ) = x } e dire se è una curva
Dettagli+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice
Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica
DettagliFUNZIONE ESPONENZIALE E FUNZIONE LOGARITMICA
FUNZIONE ESPONENZIALE E FUNZIONE LOGARITMICA DEFINIZIONE: Dato un numero reale a che sia a > 0 e a si definisce funzione esponenziale f(x) = a x la relazione che ad ogni valore di x associa uno e un solo
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
Dettagli2. Limite infinito di una funzione in un punto
. Limite infinito di una funzione in un punto Consideriamo la funzione: fx ( ) = ( x ) definita in R {}, e quindi il valore di non è calcolabile in x=, che è comunque un punto di accumulazione per il dominio
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
DettagliCodifica binaria dei numeri relativi
Codifica binaria dei numeri relativi Introduzione All interno di un calcolatore, è possibile utilizzare solo 0 e 1 per codificare qualsiasi informazione. Nel caso dei numeri, non solo il modulo ma anche
DettagliRicorsione. Rosario Culmone. - p. 1/13
Ricorsione Rosario Culmone - p. 1/13 Induzione e Ricorsione Spesso utilizzeremo le definizioni induttive. Sono forme di definizione compatte che descrivono un numero infinito di elementi. I contesti di
DettagliPer studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R
Studio di funzione Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R : allo scopo di determinarne le caratteristiche principali.
DettagliDOMINI A FATTORIZZAZIONE UNICA
DOMINI A FATTORIZZAZIONE UNICA CORSO DI ALGEBRA, A.A. 2012-2013 Nel seguito D indicherà sempre un dominio d integrità cioè un anello commutativo con unità privo di divisori dello zero. Indicheremo con
DettagliRAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI
RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma
DettagliUNA 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