PROBABILITÁ e VARIABILI ALEATORIE Prof. Enrico Terrone A. S: 2008/09 Assiomi La definizione classica di probabilità gode di tre proprietà fondamentali che si chiamano “assiomi della probabilità”: 1) p(E)>=0 per ogni evento E 2) p(S) = 1 per l’evento certo S (spazio dei campioni) nota: se ne ricava che: p(⌐E) = 1 – p(E) 3) p(A u B) = p(A) + p(B) se p(A ∩ B) = ø Teoremi Questi invece sono alcuni dei principali teoremi che si ricavano dagli assiomi: 1) p(A u B) = p(A) + p(B) - p(A ∩ B) 2) p(A ∩ B) = p(A | B) * p(B) = p(B | A) * p(A) nota: p(A | B) si legge “probabilità di A dato B” ed è la probabilità che accada A nel caso in cui accade B. Se p(A | B) = p(A) i due eventi A e B si dicono indipendenti e le relazioni (2) e (1) diventano: 3) p(A ∩ B) = p(A) * p(B) 4) p(A u B) = p(A) + p(B) - p(A)*p(B) Variabili aleatorie Si definisce variabile aleatoria il risultato di un fenomeno casuale. Es. il lancio di un dado, la temperatura di domani, il numero di promossi a fine anno La variabile aleatoria può essere un numero intero o un numero reale. Noi inizieremo a occuparti delle variabili aleatorie intere e solo in seguito vedremo quelle reali. Si intende “variabile” in senso matematico prima che informatico: è il valore su cui si applica una funzione. Le due funzioni che si applicano alle variabili aleatorie sono la funzione densità e la funzione di distribuzione. La funzione densità La funzione densità di probabilità (o funzione massiva) associa a ogni possibile valore della variabile aleatoria la sua probabilità; si rappresenta sul piano cartesiano mettendo la variabile casuale in ascissa e la probabilità in ordinata. f(x) = p(x) Es. Disegnare la funzione densità nei seguenti casi: 1) Lancio di due dadi con somma 2) Lancio di due dadi con prodotto 3) Estrazione di un studente in una classe da 10 con un libro da 20 pagine. La funzione di distribuzione La funzione di distribuzione associa a ogni possibile valore della variabile aleatoria la probabilità che esca un numero minore o uguale di quel valore. F(x) = p(x’ | x’ <=x) [probabilità che si verifichi una x’ che è minore o uguale alla x data] Es. Disegnare la funzione distribuzione nei seguenti casi: 1) Lancio di due dadi con somma 2) Lancio di due dadi con prodotto 3) Estrazione di un studente in una classe da 10 con un libro da 20 pagine. Valor medio e varianza Mentre le funzioni densità e distribuzione descrivono esaustivamente il comportamento di una variabile aleatoria, il valor medio e la varianza forniscono una descrizione più sintetica che però in molti casi risulta utilissima. Il valor medio è definito come somma di tutti i valori della variabile aleatoria, ciascuno moltiplicato per la sua densità di probabilità: µ = E[x] = Σ x*f(x) Si può dimostrare che il valor medio così definito corrisponde alla definizione corrente di media fra n numeri (la somma diviso la quantità). [cfr. libro] Valor medio e varianza La varianza è definita come somma dei quadrati delle distanze dalla media dei valori della variabile aleatoria, ciascuno moltiplicato per la sua densità di probabilità: σ² = E[(x- µ)²] = Σ (x-µ)² *p(x) La varianza serve a descrivere quanto significativa è la media: se la varianza è piccola vuol dire che i valori sono tutti concentrati intorno alla media, invece se la varianza è grande vuol dire che i valori si allontanano molto dalla media. Si definisce deviazione standard e si indica con σ la radice quadrata della varianza. Richiamo: i vettori Un vettore è un insieme di variabili tutte delle stesso tipo che occupano uno spazio contiguo di memoria e che hanno un nome composto da una prima parte comune e da una seconda parte (indice) specifica. Es. int v[4]; 39 v[0] 195 v[1] 0 v[2] 74 v[3] I vettori I vettori offrono due grandi vantaggi: 1) Possibilità di creare tante variabili quante se ne vogliono con un’unica riga di programma; 2) Possibilità di ripetere la stessa operazione su tutti gli elementi del vettore usando un ciclo for. Es. (stampa degli elementi di un vettore) int v[30]; […] for (i=0; i<30; i++) { cout << v[i] << “ “; } Vettori e sottoprogrammi Il passaggio dei vettori a un sottoprogramma avviene sempre come passaggio per riferimento. Nell’intestazione del sottoprogramma occorre mettere un puntatore al vettore nella forma <tipo> *pv oppure nella forma <tipo> pv[ ]. Nel programma chiamante basta invece scrivere soltanto il nome del vettore. Trattandosi di un passaggio per riferimento, le modifiche effettuate sul vettore nel sottoprogramma rimangono memorizzate nel vettore originario. Vettori e sottoprogrammi Esempio void aumenta (int pv[ ], int x, int n) { int i; for (i=0; i<n; i++) pv[i] = pv[i] + x; } int main () { int v[30]; […] aumenta(v, 5, 30); […] } Esercizi 1) Scrivere e usare un sottoprogramma che dato un libro di n pagine, una classe di k studenti e uno studente x, calcoli la probabilità classica che venga estratto x aprendo a caso una pagina del libro e sommando le cifre del numero di pagina. 2) In riferimento al problema del punto (1), considerando come variabile aleatoria lo studente estratto, rappresentare le funzioni densità e distribuzione, e calcolare la media e la varianza (svolgere ciascun punto con un apposito sottoprogramma che prende come parametro un vettore dove l’indice rappresenta lo studente e il valore della sua probabilità; es. v[5] = 0,3 significa che lo studente n°5 ha probabilità 0,3). 3) Rappresentare le funzioni densità e distribuzione del punto (2) con un grafico di asterischi.