lunes, 1 de junio de 2009

Error de neurona flotante

Hoy, un docente explicaba en un curso de posgrado que al almacenar variables estadísticas en formato de coma flotante puede generarse un error de precisión en el cálculo.


Horas más tarde, me encuentro con esta noticia (via Reddit). Resulta que en Cape Cod, Massachussets, hubo una votación sobre una norma relativa al uso de ciertas propiedades inmuebles, de la cual participaron 206 personas. De dicha votación resultaron 136 votos positivos y 70 negativos. Para su aprobación se requería una mayoría de dos tercios. Cualquier persona que fue al colegio, buscaría una calculadora, multiplicaría 206 por 2/3, lo cual entregaría un resultado de 137 y 1/3 y concluiría que no se alcanzó la mayoría necesaria... ¡pero no! A alguien se le ocurrió multiplicar 206 por 0,66, lo cual da 135,96 y reclamar entonces que se alcanzaron los dos tercios de los votos. A todo esto, una "fuente anónima" reveló que multiplicando 206 por 0,6666 (que, según dicen, está más cerca de dos tercios que 0,66), hacen falta 137 votos para alcanzar la aprobación. Finalmente, el town clerk que por lo que entendí no tiene mucho más trabajo que dedicarse a registrar los resultados de las elecciones alega haber consultado el tema con varios colegas, sin haber alcanzado una conclusión.

Increíble que en el estado donde se encuentran Harvard y el MIT pase algo así. De lo más insólito que recuerdo haber leído. Paenza, andá consiguiendo un traductor.

Yapa: los números en coma flotante son esos que suelen entregar las calculadoras científicas que tienen un número multiplicado por 10, elevado a una potencia, x ej. 2,123E08. Las computadoras almacenan así los números con muchos decimales, sólo que la base de la potencia suele ser 2 en lugar de 10. Acá se trata de explicar por qué eso trae errores. Básicamente es imposible almacenar con exactitud la mayoría de los números reales de esa forma aunque el error es mínimo y aparece luego de varios decimales.

1 comentario:

Anónimo dijo...

Foqui, no entendi nada.
Tengo que dar matematica de 3ro, y me pones estos calculos matematicos.
Yo tardaria años en descubrir el acertijo de la caja que hizo que Lisa no durmiese.

Un abrazo.

Pela!