Páginas

miércoles, abril 04, 2012

Números aleatorios ¿para que sirven?

Si entendemos a la informática como el tratamiento automatizado de información (diferenciándolo de la ofimática) y entendiendo que viene de parte de une ciencia exacta o técnica parecería raro tener la necesidad de utilizar números aleatorios, sin embargo existen varas razones por las cuales un programa de computadora deberá utilizar números aleatorios o lo que mas propiamente dicho pseudo-aleatorios.

Se dicen que los números son pseudo-aleatorios por el hecho de que no son realmente aleatorios dado que están generados mediante un algoritmo que genera estos números (random number generation) a partir de una semilla, que normalmente para esta función se utiliza el reloj de la computadora aunque también pueden ser el movimiento del mouse (como hace el programa WASTE) o la diferencia de tiempo de tecleo.

Ahora la gran pregunta es ¿qué necesidad de utilizar estos números?, y las respuestas son varias, acá algunos ejemplos:
  • Videojuegos: Por supuesto uno de los que más utilizan los números aleatorios, sería muy aburrido jugar siempre y que tire las mismas cartas o que los malos siempre aparezcan de la misma forma, le sacaría el factor sorpresa.
  • Programas P2P: Si estos programas también utilizan la aleatoriedad principalmente cuando se debe descargar una parte de un archivo y los usuarios que no lo tienen completado tienen bajadas las mismas partes, entonces para resolver que parte bajar se deja al azar.
  • Criptografía: Como se comento anteriormente el programa WASTE, también los números aleatorios son utilizados en el cifrado, principalmente para generar claves en criptografía asimétrica. En este caso hay que destacar la importancia en una correcta generación de estos números dado que si los números son predecibles el cifrado termina siendo vulnerable. La aleatoriedad en criptografía es tan importantes que hay organizaciones como el NIST que se dedica a generar baterías de tests estadísticos para comprobar la real aleatoriedad de un conjunto de datos.
Y hay muchos ejemplos más, pero esto tiene el único fin de demostrar que no siempre se necesita ser exactos y hay necesidades de la aleatoriedad en distintos programas.

No hay comentarios:

Publicar un comentario

Compartí tu comentario, es una forma de agradecer para que se sigan publicando más entradas. Se admiten mensajes anónimos.