martedì 6 marzo 2012

Se l'arrotondamento non quadra

Mr. Palomar ha l'abitudine di registrare le sue spese quotidiane su un quaderno a quadretti, suddividendole per settimana e per categoria di spesa.
Un pomeriggio Mr. Wilson va a trovare l'amico e nota il quaderno sul tavolo della cucina.
- Non ti facevo così preciso e minuzioso!
- E' una vecchia abitudine. Non so se serva veramente riempire queste pagine di conti, ma mi dà l'impressione di tenere le mie finanze sotto controllo.
- Vedo che registri tutto, fino all'ultimo centesimo.
- Già. Un giorno ho provato a registrare le spese arrotondandole all'euro, ma mi sono imbattuto in un problema che non sono riuscito a risolvere.
- Posso intuire. Ma sentiamo, che tipo di problema hai avuto?
- Guarda questa tabella. Sono le spese del mese di gennaio, suddivise in 5 categorie e riportate con precisione al centesimo.



- Bene, fin qui mi sembra tutto a posto, o sbaglio?
- Non sbagli. Ma guarda cosa succede in questa tabella. L'ho ricavata dalla precedente arrotondando ogni importo parziale all'euro, e calcolando i totali a partire da questi nuovi importi arrotondati.


Mr. Wilson osserva la tabella.
- Come prevedevo. Alcuni totali sono diversi da prima, e soprattutto sono diversi dal risultato che si sarebbe ottenuto arrotondando anche i totali con lo stesso criterio degli importi parziali.
- Esatto, è proprio questo il problema. I totali incriminati sono quelli che ho segnato in rosso. Ad esempio il totale delle spese della seconda settimana è diventata di 228 euro, mentre arrotondando il totale reale 227,1 si sarebbe dovuto ottenere 227.
- E' ovvio che questo accada: ad esempio se in una riga o in una colonna c'è una maggioranza di importi sopra la soglia del mezzo euro, o viceversa sotto quella soglia.
- Proprio così. E guarda il totale complessivo. E' sballato di quasi 2 euro e mezzo.
- Hai provato a vedere cosa succede se oltre agli importi parziali si arrotondano anche i totali?
- Sì, ho provato. Ed è venuta fuori questa tabella.


- E cos'hai notato?
- Apparentemente sembra risolvere il problema: peccato che stavolta i totali non siano sempre ottenuti come somma degli importi parziali. Ad esempio 90 + 87 + 7 + 44 non fa 227, ma 228.
- Risolvere il problema che hai osservato non è cosa facile. Anzi, è in generale impossibile se ci vincola ad arrotondare gli importi nel modo tradizionale.
- Cosa intendi per "tradizionale"?
- Intendo dire che di solito una somma viene arrotondata per eccesso se eguaglia o supera la soglia dei 50 centesimi, e per difetto se rimane sotto quel limite.
- Certo, mi sembra una scelta ragionevole.
- Ma così facendo ti imbatti sicuramente nel problema che hai notato, e non c'è rimedio.
- Cos'altro posso fare?
- Se accetti che un importo venga arrotondato per eccesso o per difetto indipendentemente dal livello dei centesimi di euro, allora il problema può essere risolto.
- E come?
- Utilizzando particolari algoritmi euristici studiati appositamente per escogitare una combinazione ottimale di arrotondamenti sulle diverse celle della tabella, con l'obiettivo di mantenere corrette le somme sulle righe e sulle colonne. Il problema è noto in letteratura come "problema dell'arrotondamento controllato" (in inglese "controlled rounding problem" o CRP).
- Interessante. Ma mi vuoi dire che altre persone oltre a me si sono imbattute nel problema di arrotondare somme di denaro?
- Sì, certo. Ma la cosa non riguarda soltanto valori economici. Il problema nasce storicamente negli istituti di statistica, soprattutto per esigenze legati alla privacy.
- Privacy?
- Gli istituti di statistica devono elaborare e pubblicare grandi tabelle di dati relativi alle caratteristiche della popolazione. Spesso, però, per evitare che certe informazioni possano violare la privacy delle persone rivelando dati riconducibili a singoli individui, è necessario "perturbare" certi dati arrotondandoli rispetto ad una certa base di riferimento. Così facendo, tuttavia, si va incontro alle difficoltà che hai visto anche tu.
- E quindi gli statistici hanno chiesto aiuto ai matematici.
- Sì, ma soprattutto agli informatici, perché le tecniche di risoluzione del CRP sono raffinati metodi euristici nei quali i ricercatori di informatica hanno dato il meglio di sè.
- Meno male. Mi sa però che continuerò a registrare le mie spese al centesimo.
- Forse ti conviene.  D'altra parte, così gli arrotondamenti quadrano sempre!

1 commento:

  1. Il problema di arrotondare importi di euro (alle unità, alle migliaia, ai milioni) mi è dolorosamente famigliare. Soprattutto quando i subtotali devono poi essere ripartiti in una molteplicità di categorie diverse, e poi riconciliati. Molto interessante scoprire che esiste una soluzione, anche se probabilmente fuori luogo in un bilancio di azienda...

    Che noiosa fine per il quaderno a quadretti di Mr. P :-)

    ps. typo: "90 + 87 + 7 + 44 non fa 277, ma 278".

    RispondiElimina