Usato principalmente in matematica e informatica, il termine algoritmo è una procedura "per passi" in grado di risolvere problemi di calcolo. Il concetto di algoritmo è sicuramente più rilevante in ambito informatico che matematico.
Scrivendo un algoritmo in un "linguaggio macchia, è possibile farlo eseguire ad un computer, e quindi risolvere il problema in un numero finito di "step".
LA "CATASTROPHIC CANCELLATION"
Con il termine catastrophic cancellation, spesso, ci si riferisce alla "perdita di significatività" (loss of significance). Questo inconveniente avviene, durante il calcolo con algoritmi, quando vengono utilizzati numeri in virgola mobile (floating-point), ovvero quando un'operazioni incrementa l'errore relativo più di quanto aumenta l'errore assoluto.
In poche parole, si può definire la catastrophic cancellation come una grave perdita di precisione quando "numeri piccoli" sono calcolati da "numeri grandi".
Vediamo un esempio di loss of significance:
consuderiamo il numero decimale:
a) 0.1234567891234567890
Una rappresentazione floating-point di questo numero, considerando solo i primi dieci decimali, è la seguente:
b) 0.1234567891
Come si può vedere, la differenza tra i due numeri a) e b) è minima. Ma ora, eseguendo la sottrazione tra i due numeri, otteniamo:
0.1234567891234567890 - 0.1234567890 = 0.000000000123456789
Per cui, considerando solo i primi dieci decimali, il risultato calcolato è:
0.0000000001
e da come si può notare, si è ottenuta una perdita di significatività.
fonti:
Wikipedia.
fonti:
Wikipedia.
Nessun commento:
Posta un commento