Cause di errore Esempio Analisi dell’errore Errore di rappresentazione dei dati Errore di rappresentazione dei risultati delle operazioni Errore totale Cause di errore nel calcolo di un’espressione razionale In generale, se è un’espressione o una funzione che associa dati e risultati di un problema risultati dati L’errore totale dipende Dalle caratteristiche della funzione , quindi da caratteristiche intrinseche problema Dall’algoritmo usato per il calcolo Errore inerente Errore di rappresentazione dei dati Errore di rappresentazione dei risultati delle operazioni Errore inerente Errore totale 1 Errore inerente e condizionamento Errore algoritmico Dati perturbati Operazioni esatte Risultati Dati Errore di rappresentazione dei dati Errore inerente Errore di rappresentazione dei risultati delle operazioni Errore algoritmico Errore totale Esempio Esempio 2 Errore inerente e condizionamento Errore relativo sui dati Errore relativo sui risultati Esempio Si consideri l’espressione vicino ad 1 si ha malcondizionamento, lontano da 1 buon condizionamento Se è grande rispetto a allora il problema si dice mal condizionato, cioè a piccole variazioni dei dati corrispondono grandi variazioni dei risultati. Il condizionamento è una caratteristica del problema ed esprime quanto esso sia sensibile ad una variazione dei dati Errore algoritmico e stabilità Esempio Dati esatti Operazioni con errori Dati Risultati 3 Esempio Errore algoritmico e stabilità Un algoritmo si dice stabile se non è troppo sensibile agli errori introdotti con le operazioni di macchina La stabilità è una proprietà dell’algoritmo, non del problema Errore totale Parametri per l’analisi degli errori Errori assoluti Dati perturbati Operazioni con errori Dati Risultati sui dati iniziali algoritmico totale Errori relativi sui dati iniziali algoritmico totale 4 Analisi del primo ordine Si sono trascurati i termini di secondo grado: Tecniche di analisi dell’errore L’errore algoritmico Non si è considerato il termine di secondo grado Analisi in avanti dell’errore algoritmico Somma di 3 numeri, algoritmo 1 Si basa sul teorema dell’errore Si calcola l’errore relativo del risultato finale rispetto agli errori relativi introdotti dalle singole operazioni dell’algoritmo; Ci limitiamo ad una analisi del primo ordine, pertanto vengono trascurati i termini di secondo grado Si trascurano i termini Fattori di amplificazione degli errori delle singole operazioni 5 Indice algoritmico Somma di 3 numeri, algoritmo 2 Si definisce come la somma dei valori assoluti dei fattori di amplificazione Il fattore di amplificazione dell’errore dell’ultima operazione è sempre 1, quindi l’indice algoritmico è un numero > 1 Confronto di algoritmi Somma di tre numeri: confronto degli algoritmi Dati due algoritmi per il calcolo di una stessa espressione, alg1 ed alg2, si dice che alg1 è più stabile di alg 2 se Questo confronto dipende dai dati Il secondo algoritmo è più stabile per i valori assunti dai dati 6 Differenza di quadrati (1) Confronto tra i due algoritmi Differenza di quadrati (2) Somma di n numeri Si vuole determinare per quali valori di a e di b l’algoritmo 2 è più stabile dell’algoritmo 1 Se alg2 è più stabile di alg1 7 Esempio, t=7, =10, arrotondamento Stabilità dell’algoritmo Risultato esatto Se gli xi sono di segno concorde, allora Conviene sommare i numeri dal più piccolo al più grande, per evitare errori di incolonnamento Somma in ordine inverso Algoritmo 1 Esercizio Risultato esatto Algoritmo 2 L’errore relativo è 10 volte più piccolo 8 Esercizio (segue) Valutazione di un polinomio Algoritmo 1 Per la proprietà dei valori assoluti segue che Tuttavia entrambi gli algoritmi possono diventare instabili per valori prossimi alle radici del polinomio (p(x)=0) Riscrittura del polinomio Complessità computazionale: 2n moltiplicazioni e n addizioni Comportamento instabile Algoritmo 2 (Schema di RuffiniHorner) Complessità computazionale: n moltiplicazioni, n addizioni 9 Funzioni non razionali Funzioni trigonometriche, logaritmi, esponenziali Vengono approssimate mediante una successione di operazioni algebriche elementari (serie di Taylor troncate) Esempio: soluzione di equazioni di secondo grado Analisi degli errori L’errore inerente Rappresentazione grafica del condizionamento Dato x, trovare y tale che Dati Problema ben condizionato Risultati Esprimiamo le soluzioni del problema in funzione del dato x Problema mal condizionato Risultati Dati A piccole variazioni dei dati (10-6) corrispondono grandi variazioni dei risultati (10-3) Questo è un esempio di problema mal condizionato 10 Indice di condizionamento Supponiamo che il risultato y che stiamo cercando sia legato tramite la funzione ai dati x; Se e appartengono all’insieme dei dati, allora possiamo scrivere Cerchiamo una stima della variazione che si produce sul risultato a partire da due dati diversi Dati Risultati Indice di condizionamento= fattore di amplificazione dell’errore sui dati Indice di condizionamento Esempio (...segue) Se I cond >> 1, il problema è mal condizionato, se è piccolo allora è ben condizonato Il problema è mal condizionato per valori vicini a 4 11 Esempio Si consideri l’espressione vicino ad 1 si ha malcondizionamento, lontano da 1 buon condizionamento Caso generale: dipendenza da n dati Osservazione Un problema può essere ben condizionato per un insieme di valori e mal condizionato per altri Errore relativo Se abbiamo n dati, abbiamo anche n errori Fattori di amplificazione degli errori sui singoli dati Stima dell’errore assoluto sui dati 12 Condizionamento delle operazioni elementari Operazioni elementari Somma di due numeri Prodotto di due numeri Moltiplicazione, divisione radice e potenza con || piccolo sono ben condizionate. Per la sottrazione x-y, con xy si ha il fenomeno di cancellazione Esempi malcondizionato per x vicino ad 1; Esempi malcondizionato per x vicino ad 1; malcondizionato per x grandi, ben condizionato per x<1 sempre ben condizionato 13 Esempio Esempio è mal condizionato se a2 e b2 sono circa uguali è ben condizionato se a,b,c sono di segno concorde 14