Esercizi riguardanti la teoria di aritmetica floating-point

Messaggioda Pasquale 90 » 02/06/2020, 11:50

Buongiorno,

ho avrei qualche domanda di teoria riguardante l'aritmetica floating point, in effetti ho il pdf proposto dalla professoressa.
Vi volevo chiedere se posso pubblicarlo, cossiché dopo averlo commentato ne facciamo un confronto.


Ciao
Pasquale 90
Junior Member
Junior Member
 
Messaggio: 171 di 216
Iscritto il: 14/11/2019, 11:24
Località: Salerno

Re: Esercizi riguardanti la teoria di aritmetica floating-point

Messaggioda apatriarca » 04/06/2020, 11:50

Quali sono i tuoi dubbi sull'aritmetica floating-point? Puoi inserire il link se vuoi o riportare la parte del documento che non ti è chiara.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5432 di 5457
Iscritto il: 08/12/2008, 20:37
Località: Londra

Re: Esercizi riguardanti la teoria di aritmetica floating-point

Messaggioda Pasquale 90 » 06/06/2020, 09:06

Immagine

Buongiorno si dovrebbe vedere la foto.
Rispondo alle prim sei domande presenti nella foto, ovviamente se le risposte sono incomplete aggiungete pure :-D :-D .

Per il seguito considero l'insieme dei numeri macchina $F(N,t,U,L)$ dove $N$ base, $t$ cifre a disposizione per la mantissa, $U,L$ range per l'esponente del numero macchina, inoltre con $a=p*N^q$ intendo un numero già in forma normalizzata ed con $a'=p'N^q$ numero macchina relativo ad $a.$


1. Nella somma con uno, la precisione di macchina viene sentita poco ma viene sentita, invece il più piccolo numero rappresentabile no.

2. E' il massimo errore relativo che si commette nel rappresentare un numero reale $x$ nel sistema floatig-point, ossia sia $a'$ una approsimazione di $a$ con la tecnica di arrotondamento, risulta $|a-a'|/|a| le 1/2*N^(1-t)="eps"$

3. Quì si dovrebbero fare dei conti:
Sia $a in R\:\ a=pN^q$ e $a'=p'N^q$,
Osserviamo che $p,p'$ risultano $|p-p'|le 1/2*N^(-t)$, inoltre
$|a'|=|p'|*N^q geN^(-1)N^qgeN^(-1) leftrightarrow 1/(|a'|) le 1/N^(-1)$
Infine
$(|a-a'|)/(|a|) le1/2(N^(-t))/N^(-1)=1/2N^(1-t)="eps"$

4. Siano $a'=p'N^q$ numero macchina, se $q>L$ allora si ha overflow.
Per un esempio, consideriamo l'insieme dei numeri macchina $F(10,4,-99,+99)$
$a=9.3122*10^99$ risulta $a'=0.9312*10^100$, in tal caso $a'$ ci da il fenomeno di overflow.

5. E' simile alla precedente.

6. Sia $a=p*N^q in R$ l'arrotondamento avviene quando $a$ è rappresentabile, ma non esattamente in $F$ in particolare quado $U le q le L$.
Quindi per poter rappresentare si hanno a disposizione due tecniche: troncamento, arrotondamento.
Parlo dell'arrotondamento poiché è il maggiormente usato.

Considero esplicitamente $a'=0.p_1p_2p_3...p_tp_(t+1)...N^q$
la tecnica dell'arrotondamento consiste nel sommare la quantità $1/2*N$ alla $(t+1)$ esima cifra della sua mantissa e poi troncare la mantissa ottenuta alla t-esima cifra, un esempio
$F(10,4,-99,+99)$
$a=1,23767*10^8 \to\a'=0.123767*10^9$ mediante la tecnica dell'arrotondamento, otteniamo
$a'=0.1238*10^9$

Giusto per non creare confusione, controlliamo prima queste risposte poi rispondo alle rimanenti domande.
Pasquale 90
Junior Member
Junior Member
 
Messaggio: 173 di 216
Iscritto il: 14/11/2019, 11:24
Località: Salerno

Re: Esercizi riguardanti la teoria di aritmetica floating-point

Messaggioda apatriarca » 06/06/2020, 11:58

1. Personalmente non ho idea di cosa dovrebbe significare la risposta alla domanda 1.
2. La risposta 2 mi sembra corretta.
3. L'errore relativo è sempre lo stesso.. per cui suppongo non fosse necessario alcun calcolo.
4. Ok
5. Ok
6. Le tecniche possibili sono più di due. In ogni caso c'è anche da parlare di cosa fare nel caso intermedio nell'arrotondamento. Quando insomma il valore è esattamente tra i due valori rappresentabili.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5433 di 5457
Iscritto il: 08/12/2008, 20:37
Località: Londra

Re: Esercizi riguardanti la teoria di aritmetica floating-point

Messaggioda Pasquale 90 » 06/06/2020, 13:45

apatriarca ha scritto:1. Personalmente non ho idea di cosa dovrebbe significare la risposta alla domanda 1


Nel senso che non hai la minima idea dell'eventuale risposta alla 1 domanda, oppure ho la risposta che ho dato è priva di senso.
apatriarca ha scritto:2. La risposta 2 mi sembra corretta.

Come avresti risposto ?
apatriarca ha scritto:6. Le tecniche possibili sono più di due. In ogni caso c'è anche da parlare di cosa fare nel caso intermedio nell'arrotondamento. Quando insomma il valore è esattamente tra i due valori rappresentabili.

Si mi sono espresso male io, volevo intendere che io ne conosco due, ovvero conosco la tecnica del troncamento e la tecnica dell'arrotondamento.

Comunque, osserviamo che le mantisse $p'$ dei numeri macchina $N^(-1)le|p'|<1$, non hanno più di $t$ cifre, e la distanza tra due numeri macchina $p'_1, p'_2$ è $N^(-t)$, quindi è possibile supporre che un numero reale con mantissa $p$, tale mantissa sia compresa tra due mantisse macchine.

Con la tecnica di arrotondamento, tutte le mantisse comprese nell'intervallo $(p'_1,p'_1+1/2N^(-t))$ vengono sostituite con $p'_1$ invece tutte le mantisse comprese nell'intervallo $[p'_1+1/2N^(-t),p'_2)$ vengono sostituite con $p'_2$.
Pasquale 90
Junior Member
Junior Member
 
Messaggio: 174 di 216
Iscritto il: 14/11/2019, 11:24
Località: Salerno

Re: Esercizi riguardanti la teoria di aritmetica floating-point

Messaggioda apatriarca » 06/06/2020, 19:40

Per quanto riguarda la tua prima risposta, non credo risponda alla domanda. Una qualsiasi risposta dovrebbe chiarire che cosa siano le due grandezze di cui ti chiede il confronto.

Il valore \(p'_1 + N^{-t}/2\) non appartiene ad alcuno dei due insiemi numerici per cui è necessario scegliere una regola per decidere se il valore restituito dall'approssimazione è \(p'_1\) p \(p'_2\). In questa pagina di wikipedia sono descritte un po' di regole diverse: https://en.wikipedia.org/wiki/Rounding

EDIT: Avevo letto male gli insiemi e non avevo notato che consideravi il valore intermedio appartenente al secondo insieme. Tuttavia il primo insieme è sbagliato perché dovrebbe essere chiuso a sinistra. La tua scelta è comunque totalmente arbitraria e in effetti non è quella comunemente usata in pratica.
apatriarca
Moderatore
Moderatore
 
Messaggio: 5434 di 5457
Iscritto il: 08/12/2008, 20:37
Località: Londra

Re: Esercizi riguardanti la teoria di aritmetica floating-point

Messaggioda Pasquale 90 » 06/06/2020, 21:20

Per quanto riguarda il punto 1. l'ho riletta, non sono stato molto chiaro..stress esami :D comunque volevo dire:

$"eps" in F$ è il più piccolo numero in valore assoluto diverso da zero che sommato con uno, dà un risultato diverso da uno, invece, il più piccolo numero rappresantibile è il più piccolo numero in valore assoluto diverso da zero dell'insieme dei numeri macchina $F$.

apatriarca ha scritto:EDIT: Avevo letto male gli insiemi e non avevo notato che consideravi il valore intermedio appartenente al secondo insieme. Tuttavia il primo insieme è sbagliato perché dovrebbe essere chiuso a sinistra. La tua scelta è comunque totalmente arbitraria e in effetti non è quella comunemente usata in pratica.

Si hai ragione l'insieme deve essere chiuso a sinitra, invece per la scelta, l'ha decisa la prof.
Pasquale 90
Junior Member
Junior Member
 
Messaggio: 177 di 216
Iscritto il: 14/11/2019, 11:24
Località: Salerno


Torna a Analisi Numerica e Ricerca Operativa

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti