USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI"

Transcript

1 USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI - Analisi probabilistica di algoritmi deterministici: si assume una distribuzione di probabilità delle istanze e si calcola il tempo di esecuzione atteso. In casi di distribuzioni semplici (es. nel sorting si assume che ogni permutazione sia equiprobabile) si può calcolare il tempo medio di esecuzione. - Progetto di algoritmi probabilistici: si assume che un algoritmo in alcuni casi getti una moneta (utilizzi un generatore di bit casuali) e si valuta quale è il risultato atteso e quale è il tempo di esecuzione atteso. 1

2 ALGORITMI PROBABILISTICI Utili in molte circostanze per ottenere soluzioni efficienti e semplici di problemi a vario livello di complessità. Possono commettere errori Lo studio della loro complessità richiede l introduzione di classi di complessità probabilistiche. 2

3 L utilizzazione della randomizzazione fa parte delle tecniche fondamentali di progetto di algoritmi già note. ESEMPI Hashing: nelle strutture dati (tabelle o alberi) per la gestione di dizionari, funzioni di randomizzazione delle chiavi (funzioni hash) consentono di distribuire in maniera uniforme le stringhe appartenenti ad un determinato insieme (identificatori contenuti in un programma, chiavi di un database ecc.) e quindi ottenere con buona probabilità tempi di accesso molto rapidi. naturalmente può accadere che due chiavi diverse abbiano lo stesso valoredella funzione hash dando luogo a conflitti che si risolvono con vari metodi. 3

4 Quicksort: dato un vettore di n interi, l algoritmo di ordinamento quicksort ha un costo worst case O(n 2 ) ma, nella sua versione probabilistica, in cui la scelta del perno è casuale, ha un costo atteso O(n log n) (algoritmo Random Quicksort). 4

5 L algoritmo è del tipo divide et impera. Gli algoritmi di questo tipo hanno un comportamento efficiente se riescono a scomporre la soluzione del problema dato in due o più sottoproblemi bilanciati, cioè di taglia sostanzialmente simile. Nella sua versione deterministica il quicksort non effettua una suddivisione bilanciata (o meglio può effettuarla solo scegliendo come perno il mediano, ma questo passo è abbastanza costoso). Nella versione randomizzata il fatto di scegliere il perno in modo casuale consente invece di avere con buona probabilità una suddivisione bilanciata e di ottenere così un costo di esecuzione atteso molto migliore. Il bilanciamento dei sottoproblemi ci da la relazione di ricorrenza T(n) = 2 T(n/2) + cn che ha come soluzione T(n) = n log n. 5

6 Per ottenere una soluzione del tipo n log n non è necessario decomporre esattamente in due parti uguali il problema ma anche un rapporto 1/4 3/4 tra i due sottoproblemi è accettabile. In questo caso la probabilità di estrarre un perno valido è molto più alta perché ci sono n/2 elementi che sono compresi tra l elemento di posizione n/4 e quello di posizione 3n/4. La relazione di ricorrenza diventa: T(n) = cn + T(n/4) + T(3n/4) Si verifica immediatamente che T(n) = O(n log n) soddisfa la relazione. Una dimostrazione più formale si ottiene calcolando esattamente quale è il numero atteso di confronti che vengono effettuati dall algoritmo Random Quicksort. 6

7 Si noti che già questi due primi esempi mostrano che gli algoritmi randomizzati possono avere due comportamenti molto diversi: - nel caso dell hashing abbiamo che una possibilità di errore (unilaterale) se il valore della funzione hash di due chiavi è diversa le chiavi sono sicuramente diverse ma se il valore è uguale le chiavi possono essere uguali o diverse (algoritmo sempre veloce e con buona probabilità corretto, ma a volte scorretto ALGORITMI MONTECARLO ); - nel caso del random quicksort la randomizzazione incide solo sul costo dell algoritmo ma la soluzione è comunque sempre corretta (algoritmo sempre corretto e con buona probabilità veloce, ma a volte lento ALGORITMI LAS VEGAS ). 7

8 PARADIGMI - Randomizzazione dell input. Per evitare le istanze più sfavorevoli un algoritmo probabilistico può rimescolare l input in modo casuale e poi risolvere il problema con un procedimento più semplice. In molti problemi le istanze sfavorevoli sono molto rare e un riordinamento casuale può raramente creare una istanza difficile. - Abbondanza di testimoni. In molti problemi, una proprietà dell input (grafo, stringa, numero intero) è attestata da testimoni. Spesso cercarli deterministicamente può costare molto tempo ma se ce ne sono molti può essere facile trovarli in modo probabilistico. - Campionamento casuale. Se scelto correttamente un campione casuale può essere rappresentativo di una intera popolazione (sondaggi). 8

9 - Riduzione dello spazio delle istanze. In molti problemi abbiamo a che fare con un piccolo insieme di dati appartenenti a un grande universo. In questi casi possiamo usare la randomizzazione per mappare i dati su un piccolo universo. Esempi: - Hashing: citato precedentemente - Fingerprinting: date due stringhe x, y di n bit (es.: n=2 20 ) per decidere se x=y in modo deterministico dobbiamo controllare carattere per carattere mentre in modo probabilistico possiamo confrontare sottostringhe molto più corte. 9

10 Al fine di illustrare alcuni algoritmi probabilistici introduciamo l istruzione random (n, m) che restituisce come valore un numero intero a caso tra n ed m, con probabilità uniforme 1/(m-n+1). Nota bene. Il fatto che l istruzione random fornisca un numero a caso tra n ed m con probabilità uniforme è una assunzione teorica che ci consente di analizzare il comportamento di un algoritmo probabilistico. In pratica l istruzione farà ricorso a un generatore di numeri pseudocasuali. Anche una moneta avrà sempre una leggera polarizzazione che non garantisce che la probabilità di avere testa o croce sia esattamente 1/2. La possibilità di disporre in pratica di sorgenti realmente casuali è uno dei problemi fondamentali della teoria degli algoritmi probabilistici. 10

11 TEST DI PRIMALITA Il piccolo teorema di Fermat afferma che per ogni primo p ed ogni a [2,, p-1]: a p-1 mod p = 1. In particolare tale risultato vale per a = 2. Ciò consente di definire il seguente algoritmo per il test di primalità ALGORITMO PSEUDOPRIMI Se 2 n-1 mod n 1 allora restituisci n è composto altrimenti restituisci n è primo Questo algoritmo presenta una certa probabilità di errore perché esistono numeri composti n che soddisfano l equazione 2 n-1 mod n = 1 e quindi possono essere dichiarati erroneamente primi. 11

12 Esistono anche numeri composti n (numeri di Carmichael) tali che l equazione a n-1 mod n = 1 è soddisfatta per ogni a [2,, n-1]. E necessario un test più raffinato. 12

13 TEST DI COMPOSTEZZA DI RABIN E MILLER Un intero a [2,, n-1] è un testimone della compostezza di n se: 1) a n-1 mod n 1, oppure se: 2) esiste un intero t 1 tale che n-1 = m 2 t (la rappresentazione binaria di n-1 è uguale alla rappresentazione binaria del numero dispari m seguito da t zeri) e il MCD tra a m 1 ed n appartiene a [2,, n-1]. 13

14 Se a testimonia che n è composto, n è effettivamente composto. Infatti se vale la 1, n non soddisfa il teorema di Fermat e se vale la 2, n deve ammettere un divisore proprio. NOTA BENE. Utilizzando risultati della teoria dei numeri si può dimostrare che se n è composto esistono in [2,, n-1] almeno 3(n-1)/4 numeri interi che testimoniano la sua compostezza. 14

15 ALGORITMO RANDOM TEST DI COMPOSTEZZA input: n a random (2, n-1) se a testimonia la compostezza di n allora accetta, altrimenti rifiuta L algoritmo ha un costo di esecuzione polinomiale perché la verifica che a testimonia la compostezza può essere fatta in tempo polinomiale. Poiché, come si è detto, se n è composto esistono 3(n 1)/4 testimoni tra 2 ed n-1, abbiamo che la probabilità che se n è composto non venga estratto un numero che non è un testimone di compostezza è al più 1/4. Quindi se n composto l algoritmo accetta con probabilità 3/4 se n primo l algoritmo rifiuta 15

16 Per migliorare l affidabilità dell algoritmo possiamo ripeterne l applicazione estraendo ogni volta in modo indipendente dalle estrazioni precedenti un valore a. In tal modo, in k passi la probabilità di errore si riduce ad 1/4 k e diventa rapidamente inferire alla possibilità che si verifichi un errore a livello hardware. Si noti che l algoritmo può commettere errori da un solo lato, infatti se n è primo viene sicuramente rifiutato (rifiutato con probabilità 1) se n è composto viene accettato con probabilità 3/4 e rifiutato con probabilità 1/4. 16

17 Un algoritmo probabilistico che può errare nell accettazione e/o nel rifiuto viene detto un algoritmo di tipo Monte Carlo. In generale un algoritmo probabilistico può commettere errori - unilaterali - bilaterali. Un algoritmo di tipo Las Vegas è invece un algoritmo probabilistico che, se risponde, dà risposte corrette ma a volte potrebbe non rispondere (o potrebbe rispondere ma solo dopo un numero sufficiente di iterazioni e quindi impiegando un tempo eccessivamente lungo). 17

18 Si noti che gli algoritmi probabilistici trovano le loro più valide applicazioni nella risoluzione di problemi di costo polinomiale o di problemi che sono in NP-P ma non NP-completi. Infatti si può dimostrare che se per un problema NP-completo potessimo trovare un algoritmo polinomiale la cui probabilità di errore possa essere resa arbitrariamente piccola, allora esisterebbero algoritmi di tale tipo per qualunque problema in NP, un fatto che si ritiene inverosimile. 18

19 PRODOTTO DI MATRICI (Algoritmo di Freivald) Il problema consiste nel determinare, date tre matrici, A, B, C se A B = C. Nessun algoritmo è in grado di risolvere questo problema in modo deterministico in un tempo inferiore a O(n 2.4 ), il miglior tempo noto per il prodotto di matrici. Il seguente algoritmo risolve il problema in tempo O(n 2 ) con un errore 1/2. ALGORITMO RANDOM PRODOTTO DI MATRICI input: A, B, C per i che va da 1 a n ripeti x[i] random (0, 1) se A(Bx) = Cx allora accetta, altrimenti rifiuta. 19

20 DIMOSTRAZIONE Chiaramente se l algoritmo rifiuta esso si comporta correttamente mentre quando accetta potrebbe errare, infatti potrebbe accettare anche se A B C. Però possiamo dimostrare che ciò accade al più per metà dei 2 n vettori x in (0,1) n, cioè almeno 2 n-1 vettori testimoniano correttamente che A B C (in altre parole A (B x)) C x). Poiché se A B C la matrice D = A B C non è nulla, è sufficiente mostrare che per 2 n-1 vettori x il prodotto Dx = δ = (δ1, δ2,... δn) non è nullo. Supponiamo che la riga di in D non sia nulla e che di s1, di sk siano i suoi elementi non nulli (k 1). 20

21 Dobbiamo dimostrare che δi = Σ j di j x j = Σ h di sh x sh 0 per almeno 2 n-1 vettori x. Infatti se fosse δi = 0 avremmo x s1 = - 1/ di s1 Σ di sh x sh per 2 h n e quindi il valore x s1 sarebbe fissato univocamente e resterebbero liberi solo (al più) i restanti n-1 elementi. In altre parole, se x annulla una riga non nulla di D, almeno una delle sue componenti resta fissata e quindi non ci possono essere più di 2 n-1 vettori che annullano una riga non nulla. QED 21

22 TEST DI NULLITA DI UN POLINOMIO Il problema consiste nel decidere se un polinomio Q nelle variabili x 1,..., x n, fornito in una forma algebrica generale, è identicamente nullo. NOTA BENE. Se il polinomio venisse fornito come somma di monomi la verifica sarebbe banale ma se viene fornito con una espressione algebrica generale gli algoritmi di semplificazione necessari per metterlo sotto forma di somma di monomi sarebbero di costo troppo elevato. 22

23 Supponiamo che g(q) sia il grado del polinomio (o un upper bound di esso). Si può dimostrare che se Q NON è identicamente nullo, allora, per ogni costante c > 1, e per ogni insieme I di interi con I cg(q), il numero di elementi y=(y 1,..., y n ) I n per cui Q(y 1,..., y n ) = 0 è al più I n /c. A partire da questo risultato è possibile definire il seguente algoritmo probabilistico in cui si assume I = {1,2,..., 2g(Q)}. ALGORITMO RANDOM TEST POLINOMIO NULLO input: Q per i che va da 1 a n ripeti y[i] random (1, 2g(Q)) se Q(y[1],..., y[n]) 0 allora rifiuta, altrimenti accetta. 23

24 DIMOSTRAZIONE Avendo assunto c=2 abbiamo che al più 1/2 dei vettori y=(y 1,..., y n ) generati a caso potrà dare Q(y) = 0. Quindi - se Q è nullo viene sicuramente accettato - se Q non è nullo abbiamo una probabilità 1/2 che sia rifiutato e una probabilità 1/2 che sia accettato. Anche in questo caso abbiamo un errore unilaterale. QED Un risultato strettamente legato al precedente consente di realizzare un algoritmo probabilistico per determinare se due polinomi sono distinti. Sia dato un campo F di cardinalità q. Due diversi polinomi Q 1 e Q 2 con k variabili e di grado massimo g possono concordare al più su gq k-1 elementi di F k. 24

25 CLASSI DI COMPLESSITA PROBABILISTICHE Per formalizzare le computazioni probabilistiche e studiare le relative classi di complessità dobbiamo innanzitutto introdurre le macchine di Turing probabilistiche. Per far ciò partiamo da macchine di Turing non deterministiche per le quali facciamo le seguenti assunzioni semplificatrici. - Il grado di non determinismo è 2. - Ogni passo è non deterministico. - Ogni computazione si svolge in tempo polinomiale. - Tutte le computazioni hanno la stessa durata. 25

26 Se ora interpretiamo i rami di una computazione non deterministica come risultati di una sequenza di t scelte casuali indipendenti tra due alternative (scelte ogni volta con probabilità 1/2) abbiamo che ogni computazione ha la probabilità 1/2 t di realizzarsi. Assumendo che ogni computazione abbia tre possibili esiti: 1, 0,?, abbiamo che il risultato di una computazione M(x) con input x è una variabile casuale e quindi siamo interessati a valutare Prob {M(x) = z} dove z (1,0,?). Definiamo: α(m, x): Prob {M(x) = 1} β(m, x): Prob {M(x) = 0} 26

27 MACCHINE DI TURING PP (PROBABILISTIC POLYNOMIAL-TIME) CLASSE PP Una macchina di Turing probabilistica M è di tipo PP se: - M ha due stati finali, uno di accettazione ed uno di rifiuto, - M accetta x se α(m, x) > 1/2 (x L M accetta con Prob>1/2) - M rifiuta x se β(m, x) 1/2 (x L M accetta con Prob 1/2) ESEMPIO Supponiamo di voler decidere se, data una formula Booleana w, w è soddisfatta da più della metà delle assegnazioni di valori di verità. Chiaramente tale problema ammette una macchina di tipo PP che lo risolve; il problema è dunque nella classe PP. 27

28 NOTA BENE Le macchine PP possono commettere errore bilaterale. La classe PP non è molto utilizzata perché per ridurre significativamente la probabilità di errore può essere necessario un numero esponenziale di iterazioni (si pensi ad esempio al caso in cui l errore è 1/2-1/2 p(n) ). 28

29 MACCHINE DI TURING BPP (BOUNDED PP) CLASSE BPP Una macchina di Turing probabilistica M è di tipo BPP se esiste una costante ε (0, 1/2) (estremi esclusi) tale che: - M ha due stati finali, uno di accettazione ed uno di rifiuto, - M accetta x se α(m, x) >1/2+ε (x L M accetta con Prob>1/2+ε) - M rifiuta x se β(m, x) >1/2+ε (x L M rifiuta con Prob>1/2+ε) - per ogni x o α(m, x) >1/2+ε o β(m, x) >1/2+ε. Nel caso delle macchine BPP un numero polinomiale di iterazioni consente di rendere l errore piccolo a piacere. Ciò è possibile qualunque sia la costante ε, purché diversa da 0. Anche le macchine BPP commettono errore bilaterale. 29

30 TEOREMA Sia M una macchina di tipo BPP e sia q un polinomio. Allora esiste una macchina di Turing probabilistica M tale che, per ogni x, con x =n, x L M accetta con Prob α(m, x) >1 1/2 q(n) x L M rifiuta con Prob β(m, x) >1 1/2 q(n) Alla luce del precedente teorema una definizione equivalente della classe BPP è la seguente: x L M accetta con Prob>3/4 x L M accetta con Prob<1/4 NOTA BENE Le macchine BPP possono commettere errore bilaterale. 30

31 MACCHINE DI TURING RP (RANDOM P) CLASSE RP Una macchina di Turing probabilistica M è di tipo RP se: - M ha due stati finali, uno di accettazione ed uno di rifiuto, - M accetta x se α(m, x) >1/2 (x L M accetta con Prob>1/2) - M rifiuta x se β(m, x) =1 (x L M rifiuta con Prob=1) - per ogni x o α(m, x) >1/2 o β(m, x) =1. Le macchine di tipo RP commettono errore unilaterale. Anche nelle macchine di tipo RP l errore può essere reso piccolo a piacere. ESEMPI L insieme dei numeri composti appartiene a RP. I problemi dell uguaglianza di matrici (AB=C) e del polinomio nullo appartengono a co-rp 31

32 NOTA BENE Nella definizione dell accettazione di una macchina RP non abbiamo richiesto (come nel caso BPP) che fosse α(m, x) >1/2 + ε. Ciò è dovuto al fatto che si può dimostrare che RP BPP. 32

33 MACCHINE DI TURING ZPP (ZERO ERROR) CLASSE ZPP Una macchina di Turing probabilistica M è di tipo ZPP se: - M ha tre stati finali, uno di accettazione, uno di rifiuto, ed uno di incertezza - M accetta x se α(m, x) >1/2 e β(m, x) =0 - M rifiuta x se β(m, x) > 1/2 e α(m, x) = 0 - per ogni x o α(m, x) >1/2 e β(m, x) =0 o β(m, x) >1/2 e α(m, x) =0. Le macchine di tipo ZPP corrispondono agli algoritmi di tipo Las Vegas: una macchina di tipo ZPP non commette errori. Un algoritmo di tipo Las Vegas per il problema della primalità si può trovare nel testo di Bovet e Crescenzi, Teoria della complessità computazionale. 33

34 CLASSI DI COMPLESSITA PROBABILISTICHE TEOREMA Le classi PP, BPP, ZPP sono chiuse rispetto al complemento. DIMOSTRAZIONE Le definizioni delle classi presentano simmetria rispetto ad accettazione e rifiuto. QED TEOREMA Le classi BPP, RP e ZPP sono chiuse rispetto ad unione ed intersezione. DIMOSTRAZIONE Dimostriamo che BPP è chiuso rispetto all unione (analogo per RP e ZPP). 34

35 Siano L1 ed L2 due linguaggi in BPP. In base alle proprietà viste per le macchine di tipo BPP possiamo asserire che esistono due macchine M1ed M2 tali che, per i=1,2, x Li implica che α(mi, x) > 1 ε x Li implica che β(mi, x) > 1 ε ove ε (0, 1/2). Consideriamo dunque una macchina M di tipo BPP che simula una dopo l altra M1 ed M2 e accetta se e solo se una delle due macchine ha accettato. Se x L1 L2 allora α(m, x) > 1 ε, se x L1 L2 allora β(m, x) > (1 ε) 2. 35

36 Se garantiamo che ε sia tale che (1 ε) 2 >1/2 (ad esempio ε=1/4) e definiamo ε = 1 (1 ε) 2 abbiamo che se x L1 L2 allora α(m, x) > 1 ε > (1 ε) 2 = 1 ε se x L1 L2 allora β(m, x) > 1 ε Quindi M accetta L1 L2 e quindi L1 L2 BPP. QED 36

37 Tra le classi probabilistiche valgono le seguenti relazioni di inclusione. TEOREMA P ZPP DIMOSTRAZIONE Se L è in P allora poniamo tutte le computazioni della macchina probabilistica uguali alla computazione deterministica che decide L ed otteniamo che se x L allora α(m, x) =1 se x L allora β(m, x) =1. QED 37

38 TEOREMA ZPP = RP co-rp DIMOSTRAZIONE Mostriamo innanzitutto che ZPP RP e che ZPP co-rp, e quindi ZPP RP co-rp. Per mostrare che ZPP RP è sufficiente trasformare una macchina di tipo ZPP in una macchina di tipo RP e a tal fine possiamo trasformare una computazione che termina in uno stato di incertezza in una computazione rifiutante. Per mostrare che ZPP co-rp è sufficiente ricordare che ZPP è chiuso rispetto alla complementazione. Per mostrare che RP co-rp ZPP consideriamo un linguaggio L in RP co-rp. Allora esistono due macchine di tipo RP M1 ed M2 che accettano rispettivamente L ed il suo complemento. 38

39 Possiamo scrivere per il linguaggio L il seguente algoritmo di tipo ZPP. input: x simula M1(x) se M1 accetta allora accetta simula M2(x) se M2 accetta allora rifiuta altrimenti termina nello stato di incertezza. Poiché M1 ed M2 sono macchine di tipo RP allora è facile verificare che se x L allora α(m, x) > 1/2 e β(m, x) = 0 se x L allora α(m, x) = 0 e β(m, x) > 1/2. QED 39

40 TEOREMA RP NP; co-rp co-np DIMOSTRAZIONE Consideriamo la macchina di Turing di tipo RP come una macchina non deterministica. Se L RP allora abbiamo che: - se x L allora α(m, x) > 1/2 e quindi esiste almeno una computazione accettante - se x L allora β(m, x) = 1 e quindi tutte le computazioni rifiutano. QED 40

41 TEOREMA RP co-rp BPP DIMOSTRAZIONE Dimostriamo che RP BPP. Poiché BPP è chiuso rispetto alla complementazione, vale anche co-rp BPP e quindi vale l enunciato del teorema. Sia M una macchina di tipo RP; se M accetta x allora β(m, x) < 1/2. Definiamo una macchina BPP M che simula due volte M e accetta x se almeno una delle due computazioni della M accetta. Quindi se M accetta α(m, x) > 1-1/4; assumendo ε = 1/4 abbiamo α(m, x) > 1/2 + ε. Se M rifiuta β(m, x) = 1 > 1/2 + ε. QED 41

42 TEOREMA NP co-np PP DIMOSTRAZIONE Dimostriamo che NP PP. Poiché PP è chiuso rispetto alla complementazione è chiaro che abbiamo anche co-np PP. Sia data una macchina non deterministica M che accetta un linguaggio L NP Realizziamo una semplice macchina probabilistica M che opera nel seguente modo: su input x al primo passo si dirama in due sottoalberi. Quello di sinistra corrisponde alla computazione non deterministica della macchina M (di profondità p(n)) e quello di destra è un albero completo di computazioni deterministiche di profondità p(n) che accettano sempre. Se x L allora almeno la metà più uno delle computazioni accetta e quindi x viene accettata con probabilità α(m,x)>1/2. 42

43 Altrimenti esattamente la metà delle computazioni accettano e quindi la stringa viene rifiutata con probabilità β(m,x)=1/2. QED TEOREMA BPP PP Questo risultato deriva banalmente dalla definizione dei due tipi di macchina. 43

44 TEOREMA PP PSPACE DIMOSTRAZIONE Se un linguaggio L è deciso da una macchina probabilistica di tipo PP in tempo p(n) possiamo mostrare che L può essere deciso dal seguente algoritmo deterministico che usa spazio polinomiale: For i= 1 to 2 p(n) do if l iesima computazione deterministica accetta then cont = cont + 1 end if cont > 2 (p(n) 1) then accetta else rifiuta 44

45 Problemi aperti: - RP = co-rp? (conseguenza: RP NP co-np) - BPP NP? 45

Note su quicksort per ASD 2010-11 (DRAFT)

Note 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

Dettagli

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica Crittografia Corso di Laurea Specialistica in Informatica Primalità e Fattorizzazione Alberto Leporati Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano Bicocca

Dettagli

Introduzione ai problemi NP-completi

Introduzione ai problemi NP-completi Corso di Algoritmi e Strutture Dati Introduzione ai problemi NP-completi Nuova versione del capitolo 13 delle dispense (basata sui modelli non deterministici) Anno accademico 2007/2008 Corso di laurea

Dettagli

Dimensione di uno Spazio vettoriale

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

Dettagli

Introduzione alla tecnica di Programmazione Dinamica

Introduzione alla tecnica di Programmazione Dinamica Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/37 Sommario della lezione Introduzione alla tecnica di Programmazione Dinamica Esempio di applicazione n. 1:

Dettagli

Matematica generale CTF

Matematica 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

Dettagli

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI 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....................................

Dettagli

Problemi computazionali

Problemi computazionali Problemi computazionali Intrattabilità e classi computazionali Decidibilità e Trattabilità Problemi decidibili possono richiedere tempi di risoluzione elevati: Torri di Hanoi Decidibilità e Trattabilità

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6 EQUAZIONI DIFFERENZIALI.. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x log t (d) x = e t x log x (e) y = y 5y+6 (f) y = ty +t t +y (g) y = y (h) xy = y (i) y y y = 0 (j) x = x (k)

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi 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

Dettagli

4.1 Modelli di calcolo analisi asintotica e ricorrenze

4.1 Modelli di calcolo analisi asintotica e ricorrenze 4 Esercizi Prima Parte 4.1 Modelli di calcolo analisi asintotica e ricorrenze Esercizio 4 1 Rispondere alle seguenti domande: 1. Come misuriamo l efficienza di un algoritmo?. Quali sono gli algoritmi più

Dettagli

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 Risoluzione Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005 1 Risoluzione Introdurremo ora un metodo per capire se un insieme di formule è soddisfacibile o meno. Lo vedremo prima per insiemi

Dettagli

VERIFICA DELLE IPOTESI

VERIFICA DELLE IPOTESI VERIFICA DELLE IPOTESI Introduzione Livelli di significatività Verifica di ipotesi sulla media di una popolazione normale Verifica di ipotesi sulla varianza di una popolazione normale Verifica di ipotesi

Dettagli

Esercizi Capitolo 2 - Analisi di Algoritmi

Esercizi Capitolo 2 - Analisi di Algoritmi Esercizi Capitolo - Analisi di Algoritmi Alberto Montresor 19 Agosto, 014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare

Dettagli

Sommario della lezione

Sommario della lezione Universitá degli Studi di Salerno Corso di Algoritmi Prof. Ugo Vaccaro Anno Acc. 2014/15 p. 1/36 Sommario della lezione Ulteriori esempi di applicazione della Programmazione Dinamica Esempio di applicazione

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

I sistemi di numerazione

I 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

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2003 Sessione straordinaria

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2003 Sessione straordinaria ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 3 Sessione straordinaria Il candidato risolva uno dei due problemi e 5 dei quesiti in cui si articola il questionario. PROBLEMA È assegnata

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

La Macchina RAM Shepherdson e Sturgis (1963)

La Macchina RAM Shepherdson e Sturgis (1963) La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni

Dettagli

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete. Le equazioni Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete. Definizione e caratteristiche Chiamiamo equazione l uguaglianza tra due espressioni algebriche,

Dettagli

5. La teoria astratta della misura.

5. 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

Dettagli

Prob(CCCCCCCCCC) = 1 2 10

Prob(CCCCCCCCCC) = 1 2 10 12. Contenuto di Informazione Algoritmico (AIC) - 17/05/12 Vogliamo adesso introdurre una nozione di contenuto di informazione di una stringa infinita, prodotta da una sorgente di informazione, che non

Dettagli

Capitolo 7: Teoria generale della calcolabilitá

Capitolo 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

Dettagli

0. Piano cartesiano 1

0. Piano cartesiano 1 0. Piano cartesiano Per piano cartesiano si intende un piano dotato di due assi (che per ragioni pratiche possiamo scegliere ortogonali). Il punto in comune ai due assi è detto origine, e funziona da origine

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

Teoria della probabilità Assiomi e teoremi

Teoria della probabilità Assiomi e teoremi Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Teoria della probabilità Assiomi e teoremi A.A. 2008-09 Alberto Perotti DELEN-DAUIN Esperimento casuale Esperimento

Dettagli

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Dettagli

PRIMAVERA IN BICOCCA

PRIMAVERA IN BICOCCA PRIMAVERA IN BICOCCA 1. Numeri primi e fattorizzazione Una delle applicazioni più rilevanti della Teoria dei Numeri si ha nel campo della crittografia. In queste note vogliamo delineare, in particolare,

Dettagli

Complessità computazionale

Complessità computazionale 1 Introduzione alla complessità computazionale Un problema spesso può essere risolto utilizzando algoritmi diversi Come scegliere il migliore? La bontà o efficienza di un algoritmo si misura in base alla

Dettagli

Matlab per applicazioni statistiche

Matlab per applicazioni statistiche Matlab per applicazioni statistiche Marco J. Lombardi 19 aprile 2005 1 Introduzione Il sistema Matlab è ormai uno standard per quanto riguarda le applicazioni ingegneristiche e scientifiche, ma non ha

Dettagli

Statistica 1. Esercitazioni. Dott. Luigi Augugliaro 1. Università di Palermo

Statistica 1. Esercitazioni. Dott. Luigi Augugliaro 1. Università di Palermo Statistica 1 Esercitazioni Dott. 1 1 Dipartimento di Scienze Statistiche e Matematiche S. Vianelli, Università di Palermo ricevimento: lunedì ore 15-17 mercoledì ore 15-17 e-mail: luigi.augugliaro@unipa.it

Dettagli

11) convenzioni sulla rappresentazione grafica delle soluzioni

11) convenzioni sulla rappresentazione grafica delle soluzioni 2 PARAGRAFI TRATTATI 1)La funzione esponenziale 2) grafici della funzione esponenziale 3) proprietá delle potenze 4) i logaritmi 5) grafici della funzione logaritmica 6) principali proprietá dei logaritmi

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Massimi e minimi vincolati di funzioni in due variabili

Massimi e minimi vincolati di funzioni in due variabili Massimi e minimi vincolati di funzioni in due variabili I risultati principali della teoria dell ottimizzazione, il Teorema di Fermat in due variabili e il Test dell hessiana, si applicano esclusivamente

Dettagli

Esercitazioni in Maple

Esercitazioni in Maple Esercitazioni in Maple 6 giugno 2007 Capitolo 1 Prima esercitazione 1.1 Anelli di polinomi Per cominciare bisogna dichiarare un anello di polinomi. Possiamo lavorare con un qualsiasi anello di tipo dove

Dettagli

Un po di teoria dei numeri

Un po di teoria dei numeri Un po di teoria dei numeri Applicazione alla crittografia RSA Christian Ferrari Liceo di Locarno Matematica Sommario 1 L aritmetica modulare di Z n Le congruenze L anello Z n Le potenze in Z n e algoritmo

Dettagli

Linguaggi formali e compilazione

Linguaggi formali e compilazione Linguaggi formali e compilazione Corso di Laurea in Informatica A.A. 2015/2016 Linguaggi formali e compilazione Elementi generali Un parser generico di tipo procede operando una sequenza di riduzioni a

Dettagli

Algebra Booleana ed Espressioni Booleane

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

Dettagli

Minimizzazione di Reti Logiche Combinatorie Multi-livello

Minimizzazione di Reti Logiche Combinatorie Multi-livello Minimizzazione di Reti Logiche Combinatorie Multi-livello Maurizio Palesi Maurizio Palesi 1 Introduzione Obiettivo della sintesi logica: ottimizzazione delle cifre di merito area e prestazioni Prestazioni:

Dettagli

Corso di Informatica

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

Dettagli

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

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

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione 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

Dettagli

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Le parole dell informatica: modello di calcolo, complessità e trattabilità Le parole dell informatica: modello di calcolo, complessità e trattabilità Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

b i 1,1,1 1,1,1 0,1,2 0,3,4

b i 1,1,1 1,1,1 0,1,2 0,3,4 V o Appello // RICERCA OPERATIVA - Corso A (a.a. 9/) Nome Cognome: Corso di Laurea: L C6 LS LM Matricola: ) Si consideri il problema di flusso di costo minimo in figura. Si verifichi se il flusso ammissibile

Dettagli

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

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

Dettagli

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee

Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Algoritmo euclideo, massimo comun divisore ed equazioni diofantee Se a e b sono numeri interi, si dice che a divide b, in simboli: a b, se e solo se esiste c Z tale che b = ac. Si può subito notare che:

Dettagli

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati

Strumenti della Teoria dei Giochi per l Informatica A.A. 2009/10. Lecture 22: 1 Giugno 2010. Meccanismi Randomizzati Strumenti della Teoria dei Giochi per l Informatica AA 2009/10 Lecture 22: 1 Giugno 2010 Meccanismi Randomizzati Docente Vincenzo Auletta Note redatte da: Davide Armidoro Abstract In questa lezione descriveremo

Dettagli

09 - Funzioni reali di due variabili reali

09 - Funzioni reali di due variabili reali Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 09 - Funzioni reali di due variabili reali Anno Accademico 2013/2014

Dettagli

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

4 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

Dettagli

Le derivate versione 4

Le derivate versione 4 Le derivate versione 4 Roberto Boggiani 2 luglio 2003 Riciami di geometria analitica Dalla geometria analitica sulla retta sappiamo ce dati due punti del piano A(x, y ) e B(x 2, y 2 ) con x x 2 la retta

Dettagli

La macchina universale

La macchina universale La macchina universale Una immediata conseguenza della dimostrazione è la seguente Corollario il linguaggio L H = {M (w) M rappresenta una macchina di Turing che si ferma con input w} sull alfabeto {0,1}*

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,

Dettagli

x u v(p(x, fx) q(u, v)), e poi

x 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

Dettagli

Insiemi con un operazione

Insiemi con un operazione Capitolo 3 Insiemi con un operazione 3.1 Gruppoidi, semigruppi, monoidi Definizione 309 Un operazione binaria su un insieme G è una funzione: f : G G G Quindi, un operazione binaria f su un insieme G è

Dettagli

Corso di Analisi Numerica

Corso di Analisi Numerica Corso di Laurea in Ingegneria Informatica Corso di Analisi Numerica 8 - METODI ITERATIVI PER I SISTEMI LINEARI Lucio Demeio Dipartimento di Scienze Matematiche 1 Norme e distanze 2 3 4 Norme e distanze

Dettagli

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI

DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI DIARIO DEL CORSO DI ALGEBRA A.A. 2012/13 DOCENTE: ANDREA CARANTI Lezione 1. lunedí 17 settembre 2011 (1 ora) Presentazione del corso. Esercizio: cosa succede a moltiplicare per 2, 3, 4,... il numero 052631578947368421,

Dettagli

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

Dettagli

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere; Algoritmi 3 3.5 Capacità di calcolo Il matematico inglese Alan Turing (1912-1954) descrisse nel 1936 un tipo di automi, oggi detti macchine di Turing, e fornì una della prime definizioni rigorose di esecuzione

Dettagli

Algoritmi, dati e programmi

Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite

Dettagli

Esercizi su lineare indipendenza e generatori

Esercizi 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

Dettagli

Statistica 1. Esercitazioni. Dott. Luigi Augugliaro 1. Università di Palermo

Statistica 1. Esercitazioni. Dott. Luigi Augugliaro 1. Università di Palermo Statistica 1 Esercitazioni Dott. 1 1 Dipartimento di Scienze Statistiche e Matematiche S. Vianelli, Università di Palermo ricevimento: lunedì ore 15-17 mercoledì ore 15-17 e-mail: luigi.augugliaro@unipa.it

Dettagli

Complessità computazionale degli algoritmi

Complessità computazionale degli algoritmi Complessità computazionale degli algoritmi Lezione n. 3.bis I precursori dei calcolatore Calcolatore di Rodi o di Andikithira 65 a.c. Blaise Pascale pascalina XVII secolo Gottfried Leibniz Joseph Jacquard

Dettagli

Elementi di Statistica descrittiva Parte I

Elementi di Statistica descrittiva Parte I Elementi di Statistica descrittiva Parte I Che cos è la statistica Metodo di studio di caratteri variabili, rilevabili su collettività. La statistica si occupa di caratteri (ossia aspetti osservabili)

Dettagli

Aritmetica: operazioni ed espressioni

Aritmetica: operazioni ed espressioni / A SCUOLA DI MATEMATICA Lezioni di matematica a cura di Eugenio Amitrano Argomento n. : operazioni ed espressioni Ricostruzione di un abaco dell epoca romana - Museo RGZ di Magonza (Germania) Libero da

Dettagli

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Serie numeriche. 1 Definizioni e proprietà elementari

Serie numeriche. 1 Definizioni e proprietà elementari Serie numeriche Definizioni e proprietà elementari Sia { } una successione, definita per ogni numero naturale n n. Per ogni n n, consideriamo la somma s n degli elementi della successione di posto d s

Dettagli

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1.

EQUAZIONI DIFFERENZIALI Esercizi svolti. y = xy. y(2) = 1. EQUAZIONI DIFFERENZIALI Esercizi svolti 1. Determinare la soluzione dell equazione differenziale (x 2 + 1)y + y 2 =. y + x tan y = 2. Risolvere il problema di Cauchy y() = 1 2 π. 3. Risolvere il problema

Dettagli

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA Francesco Bottacin Padova, 24 febbraio 2012 Capitolo 1 Algebra Lineare 1.1 Spazi e sottospazi vettoriali Esercizio 1.1. Sia U il sottospazio di R 4 generato dai

Dettagli

Breve introduzione al Calcolo Evoluzionistico

Breve introduzione al Calcolo Evoluzionistico Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma cagnoni@ce.unipr.it 1 Introduzione Il mondo fisico ed i fenomeni naturali

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

Capitolo 20: Scelta Intertemporale

Capitolo 20: Scelta Intertemporale Capitolo 20: Scelta Intertemporale 20.1: Introduzione Gli elementi di teoria economica trattati finora possono essere applicati a vari contesti. Tra questi, due rivestono particolare importanza: la scelta

Dettagli

Introduzione alla scienza della comunicazione (E. T. Jaynes)

Introduzione alla scienza della comunicazione (E. T. Jaynes) Introduzione alla scienza della comunicazione (E T Jaynes) S Bonaccorsi Department of Mathematics University of Trento Corso di Mathematical model for the Physical, Natural and Social Sciences Outline

Dettagli

STATISTICA INFERENZIALE

STATISTICA INFERENZIALE STATISTICA INFERENZIALE Premessa importante: si ipotizza che il comportamento della popolazione rispetto ad una variabile casuale X viene descritto attraverso una funzione parametrica di probabilità p

Dettagli

Esercizi Capitolo 5 - Alberi

Esercizi Capitolo 5 - Alberi Esercizi Capitolo 5 - Alberi 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

Dettagli

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k Capitolo 4 Serie numeriche 4. Serie convergenti, divergenti, indeterminate Data una successione di numeri reali si chiama serie ad essa relativa il simbolo u +... + u +... u, u 2,..., u,..., (4.) oppure

Dettagli

Esercizi di Ricerca Operativa I

Esercizi di Ricerca Operativa I Esercizi di Ricerca Operativa I Dario Bauso, Raffaele Pesenti May 10, 2006 Domande Programmazione lineare intera 1. Gli algoritmi per la programmazione lineare continua possono essere usati per la soluzione

Dettagli

NUMERI E SUCCESSIONI

NUMERI E SUCCESSIONI NUMERI E SUCCESSIONI Giovanni Maria Troianiello 1 Notazioni insiemistiche. Numeri naturali, interi, razionali Notazioni insiemistiche Si sa cosa s intende quando si parla di insieme (o famiglia, o classe)

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dott.ssa M.C. De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Sistemi di Numerazione Sistema decimale La

Dettagli

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci

Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello. V. M. Abrusci Dispense del corso di Logica a.a. 2015/16: Problemi di primo livello V. M. Abrusci 12 ottobre 2015 0.1 Problemi logici basilari sulle classi Le classi sono uno dei temi della logica. Esponiamo in questa

Dettagli

Esercizi di Calcolo delle Probabilita (I)

Esercizi di Calcolo delle Probabilita (I) Esercizi di Calcolo delle Probabilita (I) 1. Si supponga di avere un urna con 15 palline di cui 5 rosse, 8 bianche e 2 nere. Immaginando di estrarre due palline con reimmissione, si dica con quale probabilità:

Dettagli

La programmazione con vincoli in breve. La programmazione con vincoli in breve

La programmazione con vincoli in breve. La programmazione con vincoli in breve Obbiettivi Introdurre la nozione di equivalenza di CSP. Dare una introduzione intuitiva dei metodi generali per la programmazione con vincoli. Introdurre il framework di base per la programmazione con

Dettagli

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1 LEZIONE 14 141 Dimensione di uno spazio vettoriale Abbiamo visto come l esistenza di una base in uno spazio vettoriale V su k = R, C, permetta di sostituire a V, che può essere complicato da trattare,

Dettagli

Studio di funzioni ( )

Studio di funzioni ( ) Studio di funzioni Effettuare uno studio qualitativo e tracciare un grafico approssimativo delle seguenti funzioni. Si studi in particolare anche la concavità delle funzioni e si indichino esplicitamente

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

Parte 6. Applicazioni lineari

Parte 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

Dettagli

SOMMARIO. 13.1 I radicali pag. 3. 13.2 I radicali aritmetici pag. 5. 13.3 Moltiplicazione e divisione fra radicali aritmetici pag.

SOMMARIO. 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

Dettagli

Esercizi di Macroeconomia per il corso di Economia Politica

Esercizi di Macroeconomia per il corso di Economia Politica Esercizi di Macroeconomia per il corso di Economia Politica (Gli esercizi sono suddivisi in base ai capitoli del testo di De Vincenti) CAPITOLO 3. IL MERCATO DEI BENI NEL MODELLO REDDITO-SPESA Esercizio.

Dettagli

UNIVERSITÀ DEGLI STUDI DI TERAMO

UNIVERSITÀ DEGLI STUDI DI TERAMO UNIVERSITÀ DEGLI STUDI DI TERAMO CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA (Classe 7) Corso di Matematica per l Economia (Prof. F. Eugeni) TEST DI INGRESSO Teramo, ottobre 00 SEZIONE

Dettagli

Fondamenti dei linguaggi di programmazione

Fondamenti 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

Dettagli

Interpretazione astratta

Interpretazione 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

Dettagli