LAS
COMPUTADORAS NO SE EQUIVOCAN NUNCA
¿Quién no ha oído esta frase
al ir a reclamar algún error bancario? Sin darnos cuenta, sumergidos en el
mundo electrónico, hemos situado la infalibilidad de las computadoras a niveles
sobrehumanos, y la mera duda sobre ella provoca una indulgente sonrisa, cuando
no irritación en aquéllos a quienes se reclama por un posible error
informático.
¿Es eso cierto? De ninguna
manera. Voy a comentar dos niveles en los que abundan estos errores,
ilustrándolos con ejemplos.
1.
Nivel humano. Puedo garantizar que al menos quienes manejan los ordenadores sí se
equivocan, curiosamente siempre a su favor. Cuando llegó el momento de la
conversión de los saldos bancarios de pesetas a euros, algunos bancos
efectuaban el cálculo no de la forma preceptuada, sino “olvidando” la consabida
regla de que el tercer dígito, expresivo de las milésimas, debe ser redondeado
hacia arriba si es 5 ó más y hacia abajo en caso contrario.
Pocos meses
antes de procederse al cambio, una carta al director se quejaba en su periódico
de que su banco había pasado su depósito de 30.000 Pta a euros, anotando en su
saldo 60,10 €. Pero esa cantidad, nuevamente “reconvertida” a Pta, sólo eran
29.999 Pta. Consecuencia: el banco había ganado una Pta con el cambio.
Vayamos por partes. Es
inevitable, con los redondeos, que se produzcan algunas inexactitudes, que
podrán originar diferencias al reconvertir. Si esa lectora, en lugar de tener
30.000 Pta en su saldo, hubiera tenido 45.000, el saldo en euros equivalente
sería 270,46, que reconvertido a Pta equivaldría a 45.001 Pta. Puede fácilmente
demostrarse que la operación, correctamente efectuada, ofrece esas diferencias
en más o en menos de 1 Pta estadísticamente tantas veces a favor como en
contra.
Pero algunas entidades, muy
cucamente, calculaban la equivalencia de otra forma: redondeando siempre por
abajo. En este caso, la hipotética reconversión a Pta daría como mucho el saldo
original, pero a menudo 1 y hasta 2 Pta menos.
Vamos a efectuar el cálculo
con algún detalle para el intervalo comprendido entre 10.000 y 10.010 Pta. En
la siguiente tabla, llamaremos Importe (1) al efectuado correctamente, e
Importe (2) al que resulta de redondear siempre por debajo al pasar a euros.
Puede verse fácilmente que
las diferencias reconvertidas, en el primer caso, se compensan (en un 60 % de
casos el importe reconvertido es el mismo, en un 20 % es 1 Pta menos, y en un
20 % es 1 Pta más). Pero el segundo es ya otro cantar: si para ser consecuentes
se redondea nuevamente a la baja al reconvertir a Pta el banco nunca “devuelve” la cifra original; en
un 60 % de los casos devuelve 1 Pta menos, y en un 40 %, 2 Pta menos.
En definitiva, que en cada
operación el banco ganará (poco legítimamente) en promedio 0,50 Pta. Desde
luego ésta es una cifra ridícula, pero, ¿cuántas reconversiones habrá efectuado
un banco de sus clientes? Tantas como tenga, y esta cifra pueden ser millones.
No puedo evitar pensar que el truco puede haber surgido de algún empleado
espabilado que, mediante un programilla informático, canalizara las diferencias
hacia su cuenta corriente.
|
IMPORTE Pta |
IMPORTE E (7
decimales) |
IMPORTE E (1) |
IMPORTE E (2) |
RECON-VERTIDO A Pta
(1) |
Dif. (1) |
RECON-VERTIDO A Pta
(2) |
Dif. (2) |
|
10000 |
60.1012104 |
60.10 |
60.10 |
10000 |
0 |
10000 |
0 |
|
10001 |
60.1072206 |
60.11 |
60.10 |
10001 |
0 |
10000 |
-1 |
|
10002 |
60.1132307 |
60.11 |
60.11 |
10001 |
-1 |
10001 |
-1 |
|
10003 |
60.1192408 |
60.12 |
60.11 |
10003 |
0 |
10001 |
-2 |
|
10004 |
60.1252509 |
60.13 |
60.12 |
10005 |
1 |
10003 |
-1 |
|
10005 |
60.1312610 |
60.13 |
60.13 |
10005 |
0 |
10005 |
0 |
|
10006 |
60.1372712 |
60.14 |
60.13 |
10006 |
0 |
10005 |
-1 |
|
10007 |
60.1432813 |
60.14 |
60.14 |
10006 |
-1 |
10006 |
-1 |
|
10008 |
60.1492914 |
60.15 |
60.14 |
10008 |
0 |
10006 |
-2 |
|
10009 |
60.1553015 |
60.16 |
60.15 |
10010 |
1 |
10008 |
-1 |
2.
Nivel informático. Muchos asentirán con lo anterior, pero se negarán
a aceptar que las computadoras puedan equivocarse. ¿No? Pues sí. Y, por las
pruebas hasta el momento, parece que tanto más cuanto más modernas (y por tanto
rápidas) sean. Es bien sabido que el procesador Pentium reemplazó desde 1994 prácticamente a todos los anteriores
(486 y similares). Pues resulta que el matemático estadounidense Thomas Nicely
efectuaba con su ordenador Pentium
una investigación sobre los números primos gemelos (es decir, los que difieren
sólo en dos unidades, como 41 y 43, 10007 y 10009, etc., intentando comprobar
la conjetura que el matemático noruego Viggo Brun había emitido en 1919 de que
la suma de los inversos de este tipo de números converge hacia un valor
determinado. Ni que decir tiene que este proceso requiere efectuar millones de
divisiones, y examinando los resultados globales, Nicely comprobó que su
ordenador arrojaba resultados diferentes según el método de cálculo utilizado.
La reacción inmediata fue pensar en un error humano en los redondeos o en
aproximaciones inadecuadas, pero, tras efectuar el cálculo de variadas formas,
no le quedó más remedio que concluir que la diferencia no procedía del proceso
matemático seguido, sino de la forma de
calcular el ordenador. Por ejemplo, descubrió que éste daba la respuesta
incorrecta para el inverso de los números 824.633.702.441 y 824.633.702.443.
Nicely repitió el cálculo con los mismos programas pero con un procesador 486
de la generación precedente, y el error desapareció.
Y ahora viene lo bueno:
Nicely informó de su descubrimiento a la compañía Intel, primer fabricante mundial de microprocesadores electrónicos,
que había comercializado el Pentium.
Pero al parecer ésta no continuó con la investigación. En realidad, la empresa
ya había descubierto este defecto unos meses atrás, al comercializar los
primeros Pentium, pero decidió
continuar con la producción porque consideró que este problema no afectaría a
los usuarios “normales”. Pero esto era un error: más clientes de los que
preveía la empresa, desde investigadores
científicos hasta empleados del sector bancario, observaron anomalías en sus
resultados por culpa de este defecto episódico. Parece ser que, en promedio, un
microprocesador efectuaba un error más o menos por cada mil millones de
divisiones. ¿Es poco? Recordemos lo dicho antes sobre los clientes de un banco,
y concluiremos que bastantes operaciones se hacen mal diariamente. ¿Cuál es la
defensa ante esos errores? Casi ninguna.
Josep
M. Albaigès
Salou,
agosto 2002