Edit distance. v intner RIMDMDMMI wri t ers

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Edit distance. v intner RIMDMDMMI wri t ers"

Transcript

1 L'allineamento

2 Edit distance Le operazioni permesse sono: I: insert (inserimento, inserzione) D: delete (cancellazione, delezione, rimozione) R: replacement (substition, sostituzione) M: match (corrispondenza, accoppiamento, uguaglianza) v intner RIMDMDMMI wri t ers

3 Edit transcript Definizione Una stringa su un alfabeto {I,D,R,M} che descrive una trasformazione da una stringa ad un'altra e' detta edit transcript (trascrizione) delle due stringhe. Date due stringhe A e B, sia T la trascrizione da A a B. Se in T sostituiamo le I con D e contemporaneamente le D con le I otteniamo una trascrizione T' da B ad A.

4 Esempio di commutatività v intner RIMDMDMMI wri t ers RDMIMIMMD v intner

5 Edit distance Definizione La edit distance fra due stringhe e' definita come il minimo numero di operazione di edit (inserzioni, delezioni e sostituzioni) necessarie a trasformare una stringa nell'altra. NOTA BENE: i match non sono contati! La edit distance e' conosciuta anche come Levenshtein distance

6 Edit distance problem L'edit distance problem e' computare la edit distance fra due stringhe date, in modo che l'edit transcript sia ottimale Traduzione: trovare il trascritto che minimizza la distanza. Molto spesso si usa come sinonimo problema dell'allineamento

7 Il problema dell'allineamento Definizione Un allineamento (globale) di due stringhe S1 e S2 è ottenuto inserendo spazi (o linee) all'interno o agli estremi di S1 e S2, così da poter posizione le due stringhe una di sopra all'altra in modo che ogni carattere o spazio delle due stringhe è allineato con un'unico carattere o un'unico spazio nell'altra stringa qac-dbd qawx-b-

8 Edit trascript vs Allineamento Descrivano una relazione fra due stringhe Matematicamente sono equivalenti (possono essere convertiti da uno all'altro) Un edit trascript descrive come trasformare una stringa in un'altra mentre l'allineamento mostra solo le relazioni

9 Edit trascript vs Allineamento Si può passa da un edit trascript ad un allineamento e viceversa Due caratteri contrapposti che non coincidono in un'allineamento corrispondono ad una sostituzione Uno spazio contenuto nella prima stringa da allineare coincide con un inserimento per la prima stringa Uno spazio contenuto nella seconda stringa da allineare coincide con una delezione per la prima stringa

10 Calcolo della Edit Distance Definizione Date due stringhe S1 e S2, definiamo D(i,j) come l'edit distance delle stringe S1[1..i] e S2[1..j] Se S1 =n e S2 =m, D(n,m) è il minimo numero di operazioni di edit per trasformare S1 in S2.

11 Funzione D D è definita come segue: D(i,0) = i 0 i n D(0,j) = j 0 j m per i e j maggiori contemporanemanete di 0: D(i,j) = min { D(i-1,j) + 1, D(i,j-1) + 1, D(i-1,j-1) + t(i,j) } t(i,j) = 0 se S1[i] = S2[j] t(i,j) = 1 se S1[i] S2[j]

12 Soluzione ricorsiva 1 function D(i, j) 2 if (i = 0) return j; 3 if (j = 0) return i; 4 if (S1[i] = S2[j]) then t := 0; else t := 1; 5 return min( D(i-1, j) + 1, 6 D(i, j-1) + 1, 7 D(i-1, j-1) + t ); 8 EditDistance = D(n, m);

13 Correttezza della funzione D Lemma Il valore di D(i,j) può essere D(i,j-1)+1, D(i- 1,j)+1 oppure D(i-1,j-1)+t(i,j). Non ci sono altre possibilità Lemma D(i,j) min{d(i-1,j)+1, D(i,j-1)+1, D(i-1,j-1)+t(i,j)} Teorema Quando i e j sono strettamente positivi D(i,j) = min{d(i-1,j)+1, D(i,j-1)+1, D(i-1,j-1)+t(i,j)}

14 Complessità Un simile programma è altamente inefficiente e richiede un numero esponenziale sulle lunghezze di S1 e S2 di chiamate alla funzione D gli stessi valori di D(i,j) vengono calcolati più volte E' una strategia top-down

15 Osservazioni Esistono solo (n+1)(m+1) possibili combinazioni per i e j, quindi esistono al massimo (n+1)(m+1) possibili chiamate ricorsive Possiamo salvare questi valori in un matrice Invece di partire dall'allineamento totale possiamo cominciare con i casi basi ed estendere le lunghezze delle stringhe SOLUZIONE: programmazione dinamica

16 Programmazione dinamica Consiste nel risolvere un'istanza di un problema usando le informazioni precalcolate su istanze più piccole. Prese due sequenze S1 e S2, invece di determinare la soluzione per le due stringhe nella loro interezza, costruiremo la soluzione determinando le similarità fra i possibili prefissi delle due sequenze E' una strategia bottom-up

17 Programmazione dinamica Dobbiamo definire: relazione di ricorrenza computazione tabulare traceback La relazione di ricorrenza è D

18 Computazione tabulare Memorizziamo tutti i valori calcolati da D(i,j) in una tabella (matrice di (n+1) righe per (m+1) colonne) Calcoliamo D(i,j) per valori piccoli di i e j la prima righa (i=0) e la prima colonna (j=0) saranno riempiti con i casi base della ricorsione Procediamo incrementando i e j incrementiamo i e poi calcoliamo D per tutti i possibili j, partendo da zero

19 Esempio w r i t e r s v i n t n e r

20 Algoritmo 1 function EditDistance(S1,S2) 2 n := S1 ; 3 m := S2 ; 4 for i := 0 to n do a[i,0] := i; 5 for j := 1 to m do a[0,j] := j; 6 for i := 1 to n do 7 for j := 1 to m do 8 if (S1[i] = S2[j]) then t := 0; else t := 1; 9 a[i,j] := min ( a[i-1,j]+1, a[i,j-1]+1, 10 a[i-1,j-1]+t ); 11 return a[n,m];

21 Tempo Teorema Utilizzando il metodo della programmazione dinamica possiamo completare una tabella per il calcolo dell'edit distance fra due stringhe di lunghezze n e m in tempo O(nm). Cioé l'edit distance D(n,m) fra due stringhe può essere calcolata in tempo O(nm). Osservazione: non è importante l'ordine con cui vengono calcolate le celle

22 Traceback Una volta calcolata la edit distance bisogna ricostruire gli edit trascript Bisogna cercare un cammino (minimo) che da (n,m) porti a (0,0) SOLUZIONE: utilizzare dei puntatori durante la costruzione della tabella

23 Puntatori Ogni volta che calcoliamo la cella (i,j) se D(i,j) = D(i,j-1)+1 allora inseriamo un puntatore da (i,j) a (i,j-1) se D(i,j) = D(i-1,j)+1 allora inseriamo un puntatore da (i,j) a (i-1,j) se D(i,j) = D(i-1,j-1)+t(i,j) allora inseriamo un puntatore da (i,j) a (i-1,j-1) le cella della prima riga e della prima colonna hanno un solo puntatore, le altre celle possono avere da uno a tre puntatori

24 Esempio w r i t e r s v 1 i 2 n 3 t 4 n 5 e 6 r

25 Interpretazione L'edit transcript si ricostruisce (al contrario) seguendo uno (o tutti) i cammini che da (n,m) portano a (0,0) un puntatore orizzontale (da (i,j) a (i,j-1)) è un inserimento (I) del carattere S2[j] in S1 un puntatore verticale (da (i,j) a (i-1,j)) è la cancellazione (D) del carattere S1[i] da S1 un puntatore diagolale (da (i,j) a (i-1,j-1)) può corrispondere a un match (M) se S1[i]=S2[j] oppure a una sostituzione (R) se S1[i] S2[j]

26 Algoritmo 1 function EditTranscript(i,j) 2 if (i = 0) and (j=0) then return ''; 3 if ( in a[i,j]) then 4 if S1[i] = S2[j] then T:='M' else T='R'; 5 return EditTranscript(i-1,j-1). 'T'; 6 if ( in a[i,j]) then 7 return EditTranscript(i,j-1). 'I'; 8 if ( in a[i,j]) then 9 return EditTranscript(i-1,j). 'D'; 10 transcript = EditTranscript(n,m);

27 Interpretazione alternativa Dal punto di vista dell'allineamento di S1 con S2: un puntatore orizzontale è uno spazio inserito in S1 un puntatore verticale è uno spazio inserito in S2 un puntatore diagonale può essere un match o un mismatch

28 Allineamenti ottimi Esistono 3 allineamenti ottimi (3 percorsi minimi) che portano da (7,7) a (0,0): vintner- v-intner- -vintner- RRRMDMMI RIMDMDMMI IRMDMDMMI writ-ers wri-t-ers wri-t-ers

29 Tempo e correttezza del traceback Teorema Dopo che la matrice della programmazione dinamica è stata completata con i puntatori, un edit trascript ottimale può essere calcolato in tempo O(n+m) Teorema Tutti i cammini da (n,m) a (0,0) che seguono i puntatori durante la computazione di D(i,j) forniscono un edit transcript minimo rispetto al numero di operazioni di edit. Viceversa, ogni edit transcript ottimale è specificato da un cammino da (n,m) a (0,0)

30 Operation weights Generalizziamo i costi di una operazione di edit una inserzione o una delezione avrà costo d una sostituzione avrà costo r un match avrà costo e Definizione Si chiama problema della edit distance con operazioni pesate il problema di determinare un edit trascript che trasforma una stringa S1 in una stringa S2 con peso minimo delle operazioni

31 Operation weights D è ri-definita come segue: D(i,0) = i*d 0 i n D(0,j) = j*d 0 j m per i e j maggiori contemporanemanete di 0: D(i,j) = min { D(i-1,j) + d, D(i,j-1) + d, D(i-1,j-1) + t(i,j) } t(i,j) = e se S1[i] = S2[j] t(i,j) = r se S1[i] S2[j] con d=1, r=0, r=1 otteniamo la funzione standard per l'edit distance

32 Esempio d=4 r=2 e=1 writ-ers vintner- Un'altro schema molto usato è: d=-2 r=-1 e=+1 ma in questo casi si cerca di massimizzare (score massimo)

33 Nota Bene Poiché lo scopo della funzione è quello di minimizzare il peso totale e poiché una sostituzione può essere vista come una delezione seguita da un inserimento, per permettere le sostituzioni il loro peso deve essere minore della somma di una cancellazione più un inserimento r < 2 * d

34 Esempio d=1 e=0 r=3 dna d-na RMM 3 DIMM 2 rna -rna

35 Algoritmo 1 function OperationWeightEditDistance(S1,S2) 2 n := S1 ; 3 m := S2 ; 4 for i := 0 to n do a[i,0] := i*d; 5 for j := 1 to m do a[0,j] := j*d; 6 for i := 1 to n do 7 for j := 1 to m do 8 if (S1[i] = S2[j]) then t := e; else t := r; 9 a[i,j] := min ( a[i-1,j]+d, a[i,j-1]+d, 10 a[i-1,j-1]+t ); 11 return a[n,m];

36 Alphabet-weight Edit Distance Un'altra generalizzazione è permettere di avere pesi diversi per una sostituzione a seconda di quale carattere viene rimosso e quale carattere viene aggiunto Ad esempio vorremmo che la sostituzione di una A con una T pesi di più rispetto alla G Similmente, per inserimenti e cancellazioni, vogliamo che a seconda del carattere inserito o cancellato il costo cambi NB: il peso è locale, non influenzato dalla posizione sulle stringhe

37 Quali sono i pesi migliori? In letteratura esistono diverse versioni per il DNA viene usata la matrice +5/-4 per gli aminoacidi viene usata la BLOSUM62 (sono le matrici usate da Dotter e BLAST) Sono proposti e verificati in modo sperimentale (utilizzandoli)

38 Come diventa D? (+5/-4) D è ri-definita come segue: D(i,0) = -4*i 0 i n D(0,j) = -4*j 0 j m per i e j maggiori contemporanemanete di 0: D(i,j) = max { D(i-1,j) - 4, D(i,j-1) - 4, D(i-1,j-1) + t(i,j) } t(i,j) = 5 se S1[i] = S2[j] t(i,j) = -4 se S1[i] S2[j] NB: in questo caso si vuole massimizzare

39 BLOSUM62 A R N D C Q E G H I L K M F P S T W Y V B Z X * A R N D C Q E G H I L K M F P S T W Y V B Z X * function t(i,j) C1 := S1[i]; C2 := S2[j]; COOR := [ 0, 20, 4, 3, 6,... ]; P1 := COOR[ord(C1)]; P2 := COOR[ord(C2)]; return BLOSUM32[P1, P2];

40 End-space free Un'altra variante assegna peso 0 agli spazi all'inizio e alla fine di un allineamento --cac-dbd ltcabbdb- solo spazi iniziali => la stringa e' suffisso dell'altra solo spazi finali => la stringa e' prefisso di un'altra spazi iniziali e finali => una stringa e' contenuta nell'altra

41 Gaps Definizione Un gap e' una sequenza massimale di spazi consecutivi di una singola stringa di un allineamento ccattcctaac--a-actccaactta cca-----cacccat-c------tta <gap> <gap>>

Distanza di Edit. Speaker: Antinisca Di Marco Data:

Distanza di Edit. Speaker: Antinisca Di Marco Data: Distanza di Edit Speaker: Antinisca Di Marco Data: 14-04-2016 Confronto di sequenze Il confronto tra sequenze in biologia computazionale è la base per: misurare la similarità tra le sequenze allineamento

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione

Dettagli

Algoritmi e strutture di dati 2

Algoritmi e strutture di dati 2 Paola Vocca Lezione 4: Programmazione dinamica 1 Caratteristiche Programmazione dinamica: paradigma basato sullo stesso principio utilizzato per il divide et impera o il problema viene decomposto in sotto-problemi

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

A W T V A S A V R T S I A Y T V A A A V R T S I A Y T V A A A V L T S I

A W T V A S A V R T S I A Y T V A A A V R T S I A Y T V A A A V L T S I COME CALCOLARE IL PUNTEIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi che, però, sono le due facce di una stessa medaglia al

Dettagli

Cammini minimi fra tutte le coppie

Cammini minimi fra tutte le coppie Capitolo 12 Cammini minimi fra tutte le coppie Consideriamo il problema dei cammini minimi fra tutte le coppie in un grafo G = (V, E, w) orientato, pesato, dove possono essere presenti archi (ma non cicli)

Dettagli

11.4 Chiusura transitiva

11.4 Chiusura transitiva 6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

PROGRAMMAZIONE DINAMICA. Prof. Reho Gabriella Olimpiadi di Informatica

PROGRAMMAZIONE DINAMICA. Prof. Reho Gabriella Olimpiadi di Informatica PROGRAMMAZIONE DINAMICA Quando si usa P.D.? La programmazione dinamica si usa nei casi in cui esista una definizione ricorsiva del problema, ma la trasformazione diretta di tale definizione in un algoritmo

Dettagli

ASD Laboratorio 08. Cristian Consonni/Alessio Guerrieri 02/12/2016. Cristian Consonni/Alessio Guerrieri ASD Laboratorio 08 02/12/ / 14

ASD Laboratorio 08. Cristian Consonni/Alessio Guerrieri 02/12/2016. Cristian Consonni/Alessio Guerrieri ASD Laboratorio 08 02/12/ / 14 ASD Laboratorio 08 Cristian Consonni/Alessio Guerrieri 02/12/2016 Cristian Consonni/Alessio Guerrieri ASD Laboratorio 08 02/12/2016 1 / 14 CALENDARIO (UPDATE) 25/11 Dinamica 1 02/12 Dinamica 2 09/12 No

Dettagli

COME CALCOLARE IL PUNTEGGIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi

COME CALCOLARE IL PUNTEGGIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi COME CALCOLARE IL PUNTEGGIO DI UN ALLINEAMENTO? Il problema del calcolo del punteggio di un allineamento può essere considerato in due modi diversi che, però, sono le due facce di una stessa medaglia al

Dettagli

Tempo e spazio di calcolo (continua)

Tempo e spazio di calcolo (continua) Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza

Dettagli

Alberi binari di ricerca

Alberi binari di ricerca Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 29/21 I. Castelli Programmazione dinamica, A.A. 29/21 1/35

Dettagli

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard

Introduzione al Metodo del Simplesso. 1 Soluzioni di base e problemi in forma standard Introduzione al Metodo del Simplesso Giacomo Zambelli 1 Soluzioni di base e problemi in forma standard Consideriamo il seguente problema di programmazione lineare (PL), relativo all esempio di produzione

Dettagli

Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen

Esercitazione. Ricorsione. May 31, Esercizi presi dal libro di Rosen Esercitazione Ricorsione May 31, 2016 Esercizi presi dal libro di Rosen Problema 2 a) sezione 5.3 Data la seguente funzione definita ricorsivamente come: f(n+1) = 2f(n) f(0) = 3 Determinare il valore di

Dettagli

Sommario della lezione

Sommario della lezione Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/27 Sommario della lezione Ancora altri esempi di applicazione della Programmazione Dinamica: Il Problema della

Dettagli

Esempio : i numeri di Fibonacci

Esempio : i numeri di Fibonacci Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci

Dettagli

Possibile applicazione

Possibile applicazione p. 1/4 Assegnamento Siano dati due insiemi A e B entrambi di cardinalità n. Ad ogni coppia (a i,b j ) A B è associato un valore d ij 0 che misura la "incompatibilità" tra a i e b j, anche interpretabile

Dettagli

Algoritmo basato su cancellazione di cicli

Algoritmo basato su cancellazione di cicli Algoritmo basato su cancellazione di cicli Dato un flusso ammissibile iniziale, si costruisce una sequenza di flussi ammissibili di costo decrescente. Ciascun flusso è ottenuto dal precedente flusso ammissibile

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Corso di Fondamenti di Informatica. La ricorsione

Corso di Fondamenti di Informatica. La ricorsione Corso di Fondamenti di Informatica La ricorsione La ricorsione Si dice che un oggetto (una struttura dati, una funzione matematica, un concetto ) è ricorsivo se è possibile darne una definizione in termini

Dettagli

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali Motivazione: Fattorizzazioni di matrici speciali Diminuire la complessità computazionale = evitare operazioni inutili = risparmiare tempo di calcolo Diminuire l occupazione di memoria Come si fa? Si tiene

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione informale di algoritmo Insieme di istruzioni, definite

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 3 novembre 2010 1 Trova la somma/1 Scrivere un algoritmo che dati in input un array A[1... n] di n interi

Dettagli

Problema del cammino minimo

Problema del cammino minimo Algoritmi e Strutture di Dati II Problema del cammino minimo Un viaggiatore vuole trovare la via più corta per andare da una città ad un altra. Possiamo rappresentare ogni città con un nodo e ogni collegamento

Dettagli

Anno 4 Matrice inversa

Anno 4 Matrice inversa Anno 4 Matrice inversa 1 Introduzione In questa lezione parleremo della matrice inversa di una matrice quadrata: definizione metodo per individuarla Al termine della lezione sarai in grado di: descrivere

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria. Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo

Dettagli

( ) TEORIA DELLE MATRICI. A. Scimone a.s pag 1

( ) TEORIA DELLE MATRICI. A. Scimone a.s pag 1 . Scimone a.s 1997 98 pag 1 TEORI DELLE MTRICI Dato un campo K, definiamo matrice ad elementi in K di tipo (m, n) un insieme di numeri ordinati secondo righe e colonne in una tabella rettangolare del tipo

Dettagli

1.5 DIVISIONE TRA DUE POLINOMI

1.5 DIVISIONE TRA DUE POLINOMI Matematica C Algebra. Le basi del calcolo letterale.5 Divisione tra due polinomi..5 DIVISIONE TRA DUE POLINOMI Introduzione Ricordiamo la divisione tra due numeri, per esempio 47:4. Si tratta di trovare

Dettagli

Matrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili

Matrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h

Dettagli

2.2 Alberi di supporto di costo ottimo

2.2 Alberi di supporto di costo ottimo . Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione

Dettagli

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore

Dettagli

Note per la Lezione 7 Ugo Vaccaro

Note per la Lezione 7 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 7 Ugo Vaccaro Sempre sulla tecnica Programmazione Dinamica Ricordiamo che lo sviluppo di algoritmi basati sulla Programmazione Dinamica

Dettagli

Alberi e alberi binari I Un albero è un caso particolare di grafo

Alberi e alberi binari I Un albero è un caso particolare di grafo Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra

Dettagli

Il problema dello zaino

Il problema dello zaino Il problema dello zaino (knapsack problem) Damiano Macedonio mace@unive.it Copyright 2010 2012 Moreno Marzolla, Università di Bologna (http://www.moreno.marzolla.name/teaching/asd2011b/) This work is licensed

Dettagli

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3

SISTEMI LINEARI. x y + 2t = 0 2x + y + z t = 0 x z t = 0 ; S 3 : ; S 5x 2y z = 1 4x 7y = 3 SISTEMI LINEARI. Esercizi Esercizio. Verificare se (,, ) è soluzione del sistema x y + z = x + y z = 3. Trovare poi tutte le soluzioni del sistema. Esercizio. Scrivere un sistema lineare di 3 equazioni

Dettagli

a + 2b + c 3d = 0, a + c d = 0 c d

a + 2b + c 3d = 0, a + c d = 0 c d SPAZI VETTORIALI 1. Esercizi Esercizio 1. Stabilire quali dei seguenti sottoinsiemi sono sottospazi: V 1 = {(x, y, z) R 3 /x = y = z} V = {(x, y, z) R 3 /x = 4} V 3 = {(x, y, z) R 3 /z = x } V 4 = {(x,

Dettagli

Prodotti scalari e matrici

Prodotti scalari e matrici Prodotti scalari e matrici 1 Forme bilineari e matrici In questa sezione vogliamo studiare la corrispondenza biunivoca che esiste tra l insieme delle forme bilineari su di un certo spazio vettoriale V

Dettagli

2.6 Calcolo degli equilibri di Nash

2.6 Calcolo degli equilibri di Nash 92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito

Dettagli

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale

Programmazione I Paolo Valente /2017. Lezione 6. Notazione posizionale Lezione 6 Notazione posizionale Ci sono solo 10 tipi di persone al mondo: quelle che conoscono la rappresentazione dei numeri in base 2, e quelle che non la conoscono... Programmazione I Paolo Valente

Dettagli

FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990) Algoritmi EURISTICI di allineamento

FASTA: Lipman & Pearson (1985) BLAST: Altshul (1990) Algoritmi EURISTICI di allineamento Algoritmi EURISTICI di allineamento Sono nati insieme alle banche dati, con lo scopo di permettere una ricerca per similarità rapida anche se meno accurata contro le migliaia di sequenze depositate. Attualmente

Dettagli

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI

ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 MACCHINE, ALGORITMI, PROGRAMMI ELEMENTI DI PROGRAMMAZIONE a.a. 22/3 MACCHINE, ALGORITMI, PROGRAMMI Andrea Prevete, UNINA2 23 UNA GERARCHIA DI MACCHINE macchine combinatorie macchine sequenziali (automi a stati finiti)... macchine di

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

La principale modalità di calcolo è l applicazione di funzioni

La principale modalità di calcolo è l applicazione di funzioni 1 La principale modalità di calcolo è l applicazione di funzioni Nei linguaggi funzionali puri non esistono strutture di controllo predefinite per la realizzazione di cicli quali for, while, repeat Un

Dettagli

Esercizi di Algoritmi e Strutture Dati

Esercizi di Algoritmi e Strutture Dati Esercizi di Algoritmi e Strutture Dati Moreno Marzolla http://www.moreno.marzolla.name/ Ultima Modifica: 7 ottobre 202 Copyright Portions of this work are Copyright 202, Moreno Marzolla. This work is licensed

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice. La loro individuazione

Dettagli

Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Operazioni sulle liste Definiamo una serie di procedure e funzioni per operare sulle liste. Usiamo liste di interi per semplicità, ma tutte le operazioni sono realizzabili in modo del tutto analogo su

Dettagli

Come si sceglie l algoritmo di allineamento? hanno pezzi di struttura simili? appartengono alla stessa famiglia? svolgono la stessa funzione?

Come si sceglie l algoritmo di allineamento? hanno pezzi di struttura simili? appartengono alla stessa famiglia? svolgono la stessa funzione? Come si sceglie l algoritmo di allineamento? Domande: le due proteine hanno domini simili? hanno pezzi di struttura simili? appartengono alla stessa famiglia? svolgono la stessa funzione? hanno un antenato

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Pivoting e stabilità Se la matrice A non appartiene a nessuna delle categorie precedenti può accadere che al k esimo passo risulti a (k) k,k = 0, e quindi il

Dettagli

Appunti su Indipendenza Lineare di Vettori

Appunti su Indipendenza Lineare di Vettori Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo

Dettagli

Introduzione al Calcolo Scientifico A.A Lab. 11

Introduzione al Calcolo Scientifico A.A Lab. 11 Introduzione al Calcolo Scientifico A.A. 2009-2010 - Lab. 11 Si consideri il problema dell allineamento di sequenze di proteine in biologia, legato per esempio all annotamento di genomi Si realizzi con

Dettagli

Sviluppi e derivate delle funzioni elementari

Sviluppi e derivate delle funzioni elementari Sviluppi e derivate delle funzioni elementari In queste pagine dimostriamo gli sviluppi del prim ordine e le formule di derivazioni delle principali funzioni elementari. Utilizzeremo le uguaglianze lim

Dettagli

Pumping lemma per i linguaggi Context-free

Pumping lemma per i linguaggi Context-free Pumping lemma per i linguaggi Context-free Sia L un linguaggio context-free. E possibile determinare una costante k, dipendente da L, tale che qualunque stringa z! L con z > k si può esprimere come z=

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati

Dettagli

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni Corso di Geometria 2- BIAR, BSIR Esercizi 2: soluzioni Esercizio Calcolare il determinante della matrice 2 3 : 3 2 a) con lo sviluppo lungo la prima riga, b) con lo sviluppo lungo la terza colonna, c)

Dettagli

Sistemi di numerazioni e metodi di trasformazione

Sistemi di numerazioni e metodi di trasformazione B Sistemi di numerazioni e metodi di trasformazione Nei calcolatori attuali vengono utilizzati quattro sistemi di numerazione: binario, in base otto, decimale ed esadecimale. Ognuno di essi ha pregi che

Dettagli

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP

Sommario. Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP Sommario Caratterizzazione alternativa di NP: il verificatore polinomiale esempi di problemi in NP I conjecture that there is no good algorithm for the traveling salesman problem. My reasons are the same

Dettagli

Tipi di linea. Tipi di Linea - R.Virili 1

Tipi di linea. Tipi di Linea - R.Virili 1 Tipi di linea Tipi di Linea - R.Virili 1 Tipi di linea standard AutoCAD offre 38 diversi tipi di linea che sono salvati nel file: ACADISO.LIN per le unità Metriche ACAD.LIN per le unità Inglesi Tipi di

Dettagli

I quadrati magici. Ivana Sacchi -

I quadrati magici. Ivana Sacchi - I quadrati magici Ivana Sacchi - ivana@ivana.it I numeri da 1 a 9 Un "quadrato magico" è una tabella suddivisa in celle nel quale la somma dei numeri contenuti in ciascuna riga (orizzontale), colonna (verticale)

Dettagli

Esercizi C su array e matrici

Esercizi C su array e matrici Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]

Dettagli

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 . Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,

Dettagli

Metodo di Gauss-Jordan 1

Metodo di Gauss-Jordan 1 Metodo di Gauss-Jordan 1 Nota Bene: Questo materiale non debe essere considerato come sostituto delle lezioni. Ārgomenti svolti: Riduzione per righe e matrici equivalenti per righe. Forma echelon e sistemi

Dettagli

Esercizi Capitolo 7 - Hash

Esercizi Capitolo 7 - Hash Esercizi Capitolo 7 - Hash Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare alle rispettive

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Dettagli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I) Luigi De Giovanni Giacomo Zambelli 1 Problemi di programmazione lineare Un problema

Dettagli

Esercitazione n o 3 per il corso di Ricerca Operativa

Esercitazione n o 3 per il corso di Ricerca Operativa Esercitazione n o 3 per il corso di Ricerca Operativa Ultimo aggiornamento October 17, 2011 Fornitura acqua Una città deve essere rifornita, ogni giorno, con 500 000 litri di acqua. Si richiede che l acqua

Dettagli

5. L elasticità dei costi totali rispetto alla quantità, in termini semplificati si scrive come = AC

5. L elasticità dei costi totali rispetto alla quantità, in termini semplificati si scrive come = AC Capitolo 8 Le curve di costo Soluzioni delle Domande di ripasso 1. La curva del costo totale di lungo periodo mostra il costo totale minimo per ogni livello di output, tenendo fissi i prezzi degli input.

Dettagli

Progettazione di Algoritmi: Approccio Top-Down e Bottom Up

Progettazione di Algoritmi: Approccio Top-Down e Bottom Up Progettazione di Algoritmi: Approccio Top-Down e Bottom Up Ci sono due approcci fondamentali per progettare algoritmi Servono ambedue ad aiutarci ad affrontare il problema Si chiamano "top-down" e "bottom-up"

Dettagli

1 Definizione di sistema lineare omogeneo.

1 Definizione di sistema lineare omogeneo. Geometria Lingotto. LeLing1: Sistemi lineari omogenei. Ārgomenti svolti: Definizione di sistema lineare omogeneo. La matrice associata. Concetto di soluzione. Sistemi equivalenti. Operazioni elementari

Dettagli

Geometria BIAR Esercizi 2

Geometria BIAR Esercizi 2 Geometria BIAR 0- Esercizi Esercizio. a Si consideri il generico vettore v b R c (a) Si trovi un vettore riga x (x, y, z) tale che x v a (b) Si trovi un vettore riga x (x, y, z) tale che x v kb (c) Si

Dettagli

L INTERFACCIA GRAFICA DI EXCEL

L INTERFACCIA GRAFICA DI EXCEL Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella

Dettagli

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 1 settembre 2014 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi e

Dettagli

1 Alcuni risultati sulle variabili Gaussiane multivariate

1 Alcuni risultati sulle variabili Gaussiane multivariate Il modello lineare-gaussiano e il filtro di Kalman Prof. P.Dai Pra 1 Alcuni risultati sulle variabili Gaussiane multivariate In questo paragrafo verranno enunciate e dimostrate alcune proprietà del valor

Dettagli

COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI

COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI COME CALCOLARE LA COMBINAZIONE DI MINIMO COSTO DEI FATTORI In questa Appendice, mostreremo come un impresa possa individuare la sua combinazione di minimo costo dei fattori produttivi attraverso il calcolo

Dettagli

Metodo di Quine- McCluskey

Metodo di Quine- McCluskey Metodo di Quine- McCluskey Maurizio Palesi Maurizio Palesi Definizioni Date due funzioni f(x,x 2,,x n ) e g(x,x 2,,x n ) si dice che f copre g (oppure g implica f) e si scrive f g se f(x,x 2,,x n )= quando

Dettagli

La riduzione a gradini e i sistemi lineari (senza il concetto di rango)

La riduzione a gradini e i sistemi lineari (senza il concetto di rango) CAPITOLO 4 La riduzione a gradini e i sistemi lineari (senza il concetto di rango) Esercizio 4.1. Risolvere il seguente sistema non omogeneo: 2x+4y +4z = 4 x z = 1 x+3y +4z = 3 Esercizio 4.2. Risolvere

Dettagli

Esercitazioni di Algebra e Geometria

Esercitazioni di Algebra e Geometria Esercitazioni di Algebra e Geometria Anno Accademico 2010 2011 Dott.ssa Elisa Pelizzari e-mail elisa.peli@libero.it Esercitazioni: lunedì 14.30 16.30 venerdì 14.30 16.30 Ricevimento studenti: venerdì 13.30

Dettagli

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R.

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R. 1 Introduzione alle matrici quadrate 2 2 a coefficienti in R Per introdurre il concetto di matrice, a 2 righe e 2 colonne, iniziamo col considerare griglie o tabelle di numeri Gli elementi della griglia,

Dettagli

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash

Sommario. Tabelle ad indirizzamento diretto e hash Funzioni Hash Funzioni Hash Sommario Tabelle ad indirizzamento diretto e hash Funzioni Hash Requisiti Metodo della divisione Metodo della moltiplicazione Funzione Hash Universale La ricerca Talvolta si richiede che

Dettagli

Geometria analitica del piano pag 32 Adolfo Scimone

Geometria analitica del piano pag 32 Adolfo Scimone Geometria analitica del piano pag 32 Adolfo Scimone CAMBIAMENTI DI SISTEMA DI RIFERIMENTO Consideriamo il piano cartesiano R 2 con un sistema di riferimento (O,U). Se introduciamo in R 2 un secondo sistema

Dettagli

Vettori e geometria analitica in R 3 1 / 25

Vettori e geometria analitica in R 3 1 / 25 Vettori e geometria analitica in R 3 1 / 25 Sistemi di riferimento in R 3 e vettori 2 / 25 In fisica, grandezze fondamentali come forze, velocità, campi elettrici e magnetici vengono convenientemente descritte

Dettagli

Tabelle. Verdi A. Bianchi B. Rossi C. 12/02 Trasferta a Milano. Corso in sede. Riunione Ispettori a Milano Riunione in sede.

Tabelle. Verdi A. Bianchi B. Rossi C. 12/02 Trasferta a Milano. Corso in sede. Riunione Ispettori a Milano Riunione in sede. 1 Tabelle Una tabella è una griglia composta da righe e colonne: l intersezione fra una riga e una colonna si chiama cella ed è un elemento di testo indipendente che può avere un proprio formato. Spesso,

Dettagli

4.3 Esempio metodo del simplesso

4.3 Esempio metodo del simplesso 4.3 Esempio metodo del simplesso (P ) min -5x 4x 2 3x 3 s.v. 2x + 3x 2 + x 3 5 4x + x 2 + 2x 3 3x + 4x 2 + 2x 3 8 x, x 2, x 3 Per mettere il problema in forma standard si introducono le variabili di scarto

Dettagli

Rappresentazione in complemento a 2: caratteristiche generali

Rappresentazione in complemento a 2: caratteristiche generali Rappresentazione in complemento a 2: caratteristiche generali La rappresentazione non è completamente posizionale, ma in parte sì. Guardando il bit più significativo (MSB) si capisce se il numero è positivo

Dettagli

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

LEZIONE 4. { x + y + z = 1 x y + 2z = 3 LEZIONE 4 4.. Operazioni elementari di riga. Abbiamo visto, nella precedente lezione, quanto sia semplice risolvere sistemi di equazioni lineari aventi matrice incompleta fortemente ridotta per righe.

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Codice Gray. (versione Marzo 2007)

Codice Gray. (versione Marzo 2007) Codice Gray (versione Marzo 27) Data una formula booleana con n variabili, per costruire una tavola di verità per questa formula è necessario generare tutte le combinazioni di valori per le n variabili.

Dettagli

Metodi per la risoluzione di sistemi lineari

Metodi per la risoluzione di sistemi lineari Metodi per la risoluzione di sistemi lineari Sistemi di equazioni lineari. Rango di matrici Come è noto (vedi [] sez.0.8), ad ogni matrice quadrata A è associato un numero reale det(a) detto determinante

Dettagli

Informatica Generale Homework di Recupero 2016

Informatica Generale Homework di Recupero 2016 Informatica Generale Homework di Recupero 016 docente: Ivano Salvo Sapienza Università di Roma Gruppo 1 Esercizio 1.1 Scrivere un programma C che presi in input due interi positivi a ed b (a, b > 0) calcola

Dettagli

Forme bilineari simmetriche

Forme bilineari simmetriche Forme bilineari simmetriche Qui il campo dei coefficienti è sempre R Definizione 1 Sia V uno spazio vettoriale Una forma bilineare su V è una funzione b: V V R tale che v 1, v 2, v 3 V b(v 1 + v 2, v 3

Dettagli

Minimo albero di copertura

Minimo albero di copertura apitolo 0 Minimo albero di copertura efinizione 0.. ato un grafo G = (V, E) non orientato e connesso, un albero di copertura di G è un sottoinsieme T E tale che il sottografo (V, T ) è un albero libero.

Dettagli

INTRODUZIONE ALLA TEORIA DEI GIOCHI

INTRODUZIONE ALLA TEORIA DEI GIOCHI Corso di Identificazione dei Modelli e Controllo Ottimo Prof. Franco Garofalo INTRODUZIONE ALLA TEORIA DEI GIOCHI A cura di Elena Napoletano elena.napoletano@unina.it Teoria dei Giochi Disciplina che studia

Dettagli

età (anni) manutenzione (keuro) ricavato (keuro)

età (anni) manutenzione (keuro) ricavato (keuro) .6 Cammini minimi. Determinare i cammini minimi dal nodo 0 a tutti gli altri nodi del seguente grafo, mediante l algoritmo di Dijkstra e, se applicabile, anche mediante quello di Programmazione Dinamica.

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015

Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015 1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)

Dettagli

Concetti fondamentali

Concetti fondamentali Concetti fondamentali elemento insieme sequenza tutto si riconduce a questi insieme: esempi {,3,5,7,9} insieme dei numeri dispari positivi minori di dieci {Antonio, Beatrice, Carlo, Daria} insieme dei

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli