USO DI CONCETTI PROBABILISTICI NEL PROGETTO E NELL ANALISI DI ALGORITMI

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme G Pareschi Principio di induzione Il Principio di Induzione (che dovreste anche avere incontrato nel Corso di Analisi I) consente di dimostrare Proposizioni il cui enunciato è in funzione di un numero

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

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

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

1 Serie di Taylor di una funzione

1 Serie di Taylor di una funzione Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita

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

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

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

Dettagli

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

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

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

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

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

Per il suo compleanno, il goloso Re di un lontano regno riceve in regalo da un altro sovrano un grande canestro contenente 4367 caramelle di tanti

Per il suo compleanno, il goloso Re di un lontano regno riceve in regalo da un altro sovrano un grande canestro contenente 4367 caramelle di tanti Per il suo compleanno, il goloso Re di un lontano regno riceve in regalo da un altro sovrano un grande canestro contenente 4367 caramelle di tanti colori, tra cui 382 rosse. Qualche tempo dopo il donatore

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

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

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

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

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

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

Metodi Numerici per Equazioni Ellittiche

Metodi Numerici per Equazioni Ellittiche Metodi Numerici per Equazioni Ellittiche Vediamo ora di descrivere una tecnica per la risoluzione numerica della più semplice equazione ellittica lineare, l Equazione di Laplace: u xx + u yy = 0, (x, y)

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

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

2 Progetto e realizzazione di funzioni ricorsive

2 Progetto e realizzazione di funzioni ricorsive 2 Progetto e realizzazione di funzioni ricorsive Il procedimento costruttivo dato dal teorema di ricorsione suggerisce due fatti importanti. Una buona definizione ricorsiva deve essere tale da garantire

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

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

IL PROBLEMA DELLO SHORTEST SPANNING TREE

IL PROBLEMA DELLO SHORTEST SPANNING TREE IL PROBLEMA DELLO SHORTEST SPANNING TREE n. 1 - Formulazione del problema Consideriamo il seguente problema: Abbiamo un certo numero di città a cui deve essere fornito un servizio, quale può essere l energia

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

IGiochidiArchimede-SoluzioniBiennio 22 novembre 2006

IGiochidiArchimede-SoluzioniBiennio 22 novembre 2006 PROGETTO OLIMPII I MTEMTI U.M.I. UNIONE MTEMTI ITLIN SUOL NORMLE SUPERIORE IGiochidirchimede-Soluzioniiennio novembre 006 Griglia delle risposte corrette Problema Risposta corretta E 4 5 6 7 8 9 E 0 Problema

Dettagli

Capitolo 4 Probabilità

Capitolo 4 Probabilità Levine, Krehbiel, Berenson Statistica II ed. 2006 Apogeo Capitolo 4 Probabilità Insegnamento: Statistica Corso di Laurea Triennale in Economia Facoltà di Economia, Università di Ferrara Docenti: Dott.

Dettagli

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano Capitolo 4: Ottimizzazione non lineare non vincolata parte II E. Amaldi DEIB, Politecnico di Milano 4.3 Algoritmi iterativi e convergenza Programma non lineare (PNL): min f(x) s.v. g i (x) 0 1 i m x S

Dettagli

Scelte in condizione di incertezza

Scelte in condizione di incertezza Scelte in condizione di incertezza Tutti i problemi di decisione che abbiamo considerato finora erano caratterizzati dal fatto che ogni possibile scelta dei decisori portava a un esito certo. In questo

Dettagli

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

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

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26 Indice L attività di recupero 6 Funzioni Teoria in sintesi 0 Obiettivo Ricerca del dominio e del codominio di funzioni note Obiettivo Ricerca del dominio di funzioni algebriche; scrittura del dominio Obiettivo

Dettagli

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0. EQUAZIONI E DISEQUAZIONI Le uguaglianze fra espressioni numeriche si chiamano equazioni. Cercare le soluzioni dell equazione vuol dire cercare quelle combinazioni delle lettere che vi compaiono che la

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 2 per la Scuola secondaria di secondo grado UNITÀ CAMPIONE Edizioni del Quadrifoglio à t i n U 1 Sistemi di primo grado

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

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano Breve introduzione storica Nel 1854, il prof. Boole pubblica un trattato ormai famosissimo: Le leggi del pensiero. Obiettivo finale del trattato è di far nascere la matematica dell intelletto umano, un

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

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013

I.I.S. Primo Levi Badia Polesine A.S. 2012-2013 LGEBR DI BOOLE I.I.S. Primo Levi Badia Polesine.S. 2012-2013 Nel secolo scorso il matematico e filosofo irlandese Gorge Boole (1815-1864), allo scopo di procurarsi un simbolismo che gli consentisse di

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

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

Condizionamento del problema

Condizionamento del problema Condizionamento del problema x 1 + 2x 2 = 3.499x 1 + 1.001x 2 = 1.5 La soluzione esatta è x = (1, 1) T. Perturbando la matrice dei coefficienti o il termine noto: x 1 + 2x 2 = 3.5x 1 + 1.002x 2 = 1.5 x

Dettagli

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, >

Sistemi Operativi mod. B. Sistemi Operativi mod. B A B C A B C P 1 2 0 0 P 1 1 2 2 3 3 2 P 2 3 0 2 P 2 6 0 0 P 3 2 1 1 P 3 0 1 1 < P 1, > Algoritmo del banchiere Permette di gestire istanze multiple di una risorsa (a differenza dell algoritmo con grafo di allocazione risorse). Ciascun processo deve dichiarare a priori il massimo impiego

Dettagli

Analisi dei Dati 12/13 Esercizi proposti 3 soluzioni

Analisi dei Dati 12/13 Esercizi proposti 3 soluzioni Analisi dei Dati 1/13 Esercizi proposti 3 soluzioni 0.1 Un urna contiene 6 palline rosse e 8 palline nere. Si estraggono simultaneamente due palline. Qual è la probabilità di estrarle entrambe rosse? (6

Dettagli

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento:

+ P a n n=1 + X. a n = a m 3. n=1. m=4. Per poter dare un significato alla somma (formale) di infiniti termini, ricorriamo al seguente procedimento: Capitolo 3 Serie 3. Definizione Sia { } una successione di numeri reali. Ci proponiamo di dare significato, quando possibile, alla somma a + a 2 +... + +... di tutti i termini della successione. 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

Premesse alla statistica

Premesse alla statistica Premesse alla statistica Versione 22.10.08 Premesse alla statistica 1 Insiemi e successioni I dati di origine sperimentale si presentano spesso non come singoli valori, ma come insiemi di valori. Richiamiamo

Dettagli

8 Elementi di Statistica

8 Elementi di Statistica 8 Elementi di Statistica La conoscenza di alcuni elementi di statistica e di analisi degli errori è importante quando si vogliano realizzare delle osservazioni sperimentali significative, ed anche per

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

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

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

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri. A partire da questa lezione, ci occuperemo di come si riescono a codificare con sequenze binarie, quindi con sequenze di 0 e 1,

Dettagli

Verifica della correttezza formale del numero di partita IVA

Verifica della correttezza formale del numero di partita IVA Verifica della correttezza formale del numero di partita IVA A tutti i soggetti che intraprendono un attività rilevante ai fini Iva (impresa, arte, professione), al momento della presentazione della dichiarazione

Dettagli

Elementi di topologia della retta

Elementi di topologia della retta Elementi di topologia della retta nome insieme definizione l insieme è un concetto primitivo che si accetta come intuitivamente noto secondo George Cantor, il padre della teoria degli insiemi: Per insieme

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

Rette e curve, piani e superfici

Rette e curve, piani e superfici Rette e curve piani e superfici ) dicembre 2 Scopo di questo articolo è solo quello di proporre uno schema riepilogativo che metta in luce le caratteristiche essenziali delle equazioni di rette e curve

Dettagli

Test d ipotesi. Statistica e biometria. D. Bertacchi. Test d ipotesi

Test d ipotesi. Statistica e biometria. D. Bertacchi. Test d ipotesi In molte situazioni una raccolta di dati (=esiti di esperimenti aleatori) viene fatta per prendere delle decisioni sulla base di quei dati. Ad esempio sperimentazioni su un nuovo farmaco per decidere se

Dettagli

E naturale chiedersi alcune cose sulla media campionaria x n

E naturale chiedersi alcune cose sulla media campionaria x n Supponiamo che un fabbricante stia introducendo un nuovo tipo di batteria per un automobile elettrica. La durata osservata x i delle i-esima batteria è la realizzazione (valore assunto) di una variabile

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli