PDF de programación - Podemos fiarnos de los cálculos efectuados con ordenador?

Imágen de pdf Podemos fiarnos de los cálculos efectuados con ordenador?

Podemos fiarnos de los cálculos efectuados con ordenador?gráfica de visualizaciones

Publicado el 7 de Mayo del 2018
371 visualizaciones desde el 7 de Mayo del 2018
650,4 KB
27 paginas
Creado hace 17a (29/01/2007)
¿PODEMOS FIARNOS DE LOS C ÁLCULOS EFECTUADOS

CON ORDENADOR?

ÓSCAR CIAURRI Y JUAN LUIS VARONA

Resumen. En este artículo analizamos la fiabilidad de los cálculos he-
chos con ordenador. Es bien conocido que, si hemos usado algoritmos
numéricos y aritmética de coma flotante, los resultados pueden estar
afectados por diversos problemas de estabilidad y pérdida de precisión.
Pero, ¿qué ocurre con los cálculos simbólicos efectuados por medio de
los potentes programas de álgebra computacional de los que ahora dis-
ponemos? Por medio de numerosos ejemplos, y particularizando en el
programa Mathematica, vemos que abundan los fallos, así como los com-
portamientos distintos de lo razonablemente esperado. Estos problemas
son difíciles de detectar, y sólo los conocimientos matemáticos del usua-
rio pueden ayudar a paliar sus efectos.

A todos nos han puesto alguna vez excusas del tipo ((no ha podido ser por
culpa del ordenador)). Así que, antes de comenzar, aclaremos que no vamos
aquí a caer en ello. Los pobres ordenadores no tienen la culpa de nada; son
las personas que han escrito los programas quienes consiguen que funcionen
de una manera u otra. Algunas veces, a nuestra entera satisfacción; otras,
no tanto.

Pero el caso es que ahí tenemos a nuestro ordenador y a sus programas,
que son los que interactúan con nosotros. Generalmente, el programador
es, para el usuario, totalmente desconocido. Como si no existiera. No pode-
mos plantearle ninguna aclaración. Tenemos que confiar (o no) en lo que el
ordenador nos dice.

Y la realidad es que los ordenadores se introducen cada vez más en nues-
tras vidas. Comprobar que el software funciona como estaba previsto que lo
hiciera es una tarea ardua, y su verificación formal es prácticamente impo-
sible. Los programas que no incorporan ningún bug 1 son muy raros. Fallos
tontos pueden dar lugar a catástrofes. Muy conocido es el mal funcionamien-
to de ciertos misiles defensivos Patriot durante la Guerra del Golfo por no

ESTE ARTÍCULO HA SIDO PUBLICADO EN: La Gaceta de la Real Sociedad Ma-
temática Española, vol. 9 (2006), n.o 2, 483–514. Y REPRODUCIDO EN: Boletín de la
Sociedad Española de Matemática Aplicada, n.o 37 (2006), 93–121. La reproducción se
efectuó por petición de los editores del Boletín, y con el permiso de los de La Gaceta.

2000 Mathematics Subject Classification. Primary 68-01; Secondary 65–01.
La investigación de los autores está subvencionada, en parte, por el proyecto BFM2003-

06335-C03-03 de la DGI.

1Se acostumbra a denominar bugs (en inglés, ‘bichos’) a los errores en los programas.
La historia cuenta que, en los primeros tiempos de la informática, cierto fallo de fun-
cionamiento en un ordenador se debía a que en sus circuitos se había introducido un
insecto. Este hecho popularizó la palabra. En la entrada ‘Computer bug’ de Wikipedia
(http://en.wikipedia.org/wiki/Computer_bug) se pueden encontrar más detalles sobre
la etimología del término (¡incluso una foto del insecto!), junto con información adicional
y otras anécdotas.

1

2

Ó. CIAURRI Y J. L. VARONA

usar números de suficiente precisión; esto supuso, el 25 de febrero de 1991,
la muerte de 28 soldados norteamericanos en Arabia Saudí. O la explosión,
el 4 de junio de 1996, del primer cohete Ariane 5 que se lanzaba; el cohe-
te pertenecía a la Agencia Espacial Europea, y en su desarrollo se habían
empleado 10 años y 7 · 109 dólares. El problema fue similar: una confusión
entre números enteros y reales en el programa informático que controlaba el
lanzamiento.2 En [11] podemos encontrar muchos otros ejemplos, así como
un análisis de las medidas que se intentan tomar para evitar todo tipo de
fallos informáticos (lamentablemente, muchas veces las medidas sólo fueron
propuestas, pero no llevadas a la práctica). También son muy interesantes
las reflexiones de [9]; pese al tiempo transcurrido y a la rápida evolución de
la informática, no han perdido nada de actualidad.

No sólo el software nos puede dar quebraderos de cabeza. También pue-
den fallar los circuitos electrónicos, el denominado hardware. El ejemplo más
conocido es el del error en los primeros microprocesadores Pentium, que di-
vidían mal determinadas combinaciones de números. No todo el mundo sabe
que fue un matemático —Thomas R. Nicely— quien descubrió el fallo. En
1994, con ayuda de varios ordenadores, Nicely estaba intentando estimar
la suma de los inversos de los números primos gemelos,3 pero le aparecían
resultados inconsistentes. Tras arduos esfuerzos, logró darse cuenta de que
el microprocesador no dividía bien (véase [10]). Como consecuencia, el 20
de diciembre de 1994, Intel, la multinacional fabricante del Pentium, ofre-
ció reemplazar, gratis, todos los chips defectuosos.

En lo que a nosotros —matemáticos— concierne, los ordenadores ya
desempeñan un papel fundamental para ayudarnos a realizar cálculos, tanto
numéricos como simbólicos. Tal es así que, entre otros colectivos, hay gente
tentada a opinar que aprender matemáticas es cada vez menos importante,
pues los ordenadores hacen ((todo)) lo necesario. La vieja polémica de las
calculadoras se ha hecho mayor. De hecho, habitualmente, los ordenadores
operan o representan gráficas mejor que cualquier matemático experto; y
en las tareas repetitivas no se aburren. Pero no hay que alarmarse; nuestra
profesión no va a desaparecer. Es realmente difícil que alguien logre indicar-
le al ordenador que le resuelva algún problema si ni siquiera sabe plantear
lo que quiere, ni darle las instrucciones oportunas. Por el contrario, si sabe
hacerlo, es que sabe matemáticas; en ese caso, hará muy bien en servirse del
ordenador para que le ayude.

Aún así, todavía debemos estar preocupados. Los programas de cálculo
actuales son impresionantes. Sus posibilidades son grandiosas, y el tiempo

2No siempre se puede achacar a la informática el fracaso de las misiones espaciales:
el 23 de septiembre 1999, la sonda Mars Climate Orbiter se estrelló contra Marte. La
explicación que dio la NASA es que una empresa involucrada en la construcción de la sonda
había suministrado los datos requeridos en unidades británicas (millas, libras. . . ), no en
unidades del sistema internacional (kilómetros, kilogramos. . . ) como la NASA esperaba.
Contrariamente a nuestra opinión, hay quienes también echan la culpa a la informática
de esto, y lo ponen como ejemplo de bug desastroso; pero, ¿qué podía hacer el programa
que controlaba el descenso de la sonda —por muy bien hecho que estuviera— si los datos
que tenía que usar estaban equivocados de antemano?

3No se sabe si hay o no infinitos de ellos, pero sí que la suma de sus inversos es finita

(por el contrario, la serie de los inversos de los números primos es divergente).

¿PODEMOS FIARNOS DE LOS C ÁLCULOS CON ORDENADOR?

3

que nos ahorran podemos emplearlo —con gran satisfacción— en realizar
las múltiples e imprescindibles tareas burocráticas a las que nuestra profe-
sión nos obliga, y en rellenar el currículum en diecisiete formatos diferentes.
Aunque hay un pero: ¿hasta qué punto podemos fiarnos de las respuestas
que nos da un ordenador? Lamentablemente, nuestra experiencia nos hace
ser algo pesimistas.

¿O quizás tenemos que mostrarnos contentos? En realidad, lo que observa-
mos es que debemos ser muy precavidos con las respuestas de un ordenador.
Ante un problema numérico, hay que tener mucho cuidado con aceptar lo
que un programa informático afirma sin pensar qué puede estar haciendo por
dentro: quizás ha podido emplear un algoritmo que no es estable, por ejem-
plo. Pero no sólo las respuestas numéricas son propensas a errores; también
los hemos observado en las simbólicas. En general, de estas últimas suele
ser más difícil darse cuenta, por inesperadas. Hace falta saber bastantes ma-
temáticas, conocer el funcionamiento interno de los ordenadores, el tipo de
algoritmos que suelen usar para responder a lo que le hayamos planteado,
dónde un programador puede estar pasando algo por alto, si la respues-
ta es o no razonable. . . También son necesarias ciertas dosis de intuición.
Todo esto sólo se consigue con conocimientos matemáticos y experiencia.
Definitivamente, las máquinas no nos suplantan.

Pero —hablando más en serio— no deja de ser desalentador; por muy
expertos y cuidadosos que seamos, a veces es muy difícil detectar errores
imprevisibles. Los fallos de hardware parecen menos peligrosos; hay mu-
cho menos hardware diferente que software, luego el control de calidad es
mucho mayor (además, los errores serios son fácilmente detectables pues el
ordenador falla estrepitosamente). Por si queda alguno, hay una solución re-
lativamente sencilla: podemos ejecutar el mismo programa en un ordenador
con una circuitería distinta.4

Otro tipo de problemas que muchos considerarán de ciencia ficción es la
interacción de los rayos cósmicos. Al colisionar con los chips de memoria
del ordenador, pueden alterar un bit, que quizás tenga influencia en lo que
el ordenador está haciendo.5 Esto es muy improbable, pero casi seguro que
un proyecto que involucre varios años de uso de CPU se habrá topado con
ello. Normalmente, esto no afecta a nuestro quehacer diario pero, si fuese
necesario, repitiendo cálculos se solventa el problema.

Los fallos más dañinos son los de software. Si un paquete destinado a una
determinada tarea la hace mal por estar mal diseñado, la hará igual de mal
en todo tipo de ordenadores (y esto, si es que existen versiones para más
de una plataforma informática, claro). Chequear lo que estamos obteniendo
por medio de otro paquete distinto no es fácil, y requiere mucho esfuerzo;
en particular, habrá que aprender otra sintaxis para lograr plantear nuestro
problema en el ordenador.

4En particular, esto —y muchos otros argumentos similares— es una razón de peso en

contra de los monopolios informáticos.

5Todav
  • Links de descarga
http://lwp-l.com/pdf10905

Comentarios de: Podemos fiarnos de los cálculos efectuados con ordenador? (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad