Page 73 - 06 Turing
P. 73

SECUENCIAS DE NÚMEROS ALEATORIOS
            Un ordenador es una máquina de Turing universal y esto significa que a partir
            de un cierto estado del ordenador y de unos ciertos datos de entrada realiza-
            rá  una serie de tareas u operaciones que conducirán a un resultado comple-
            tamente previsible. Por ejemplo, si en  una hoja de cálculo diseñada para cal-
            cular un presupuesto introducimos unos determinados datos numéricos, o
            input, el resultado, u output, será siempre el  mismo. Uno de los retos científi-
            cos más interesantes desde la  época de John von Neumann, uno de los pri-
            meros investigadores que planteó esta cuestión en simulaciones para el dise-
            ño de las primeras bombas atómicas, fue el diseño de algoritmos capaces de
            generar una secuencia de números que se asemejase a la  secuencia que ob-
            tendríamos si tales números hubieran sido obtenidos con un bombo de lote-
            ría. Puesto que los números procedentes de un bombo son números aleatorios,
            los obtenidos con ordenador recibieron el  nombre de pseudoaleatorios; un
            programa de ordenador capaz de producir esta clase de números se denomi-
            na generador de números aleatorios. Los números pseudoaleatorios están
            siempre comprendidos en el  intervalo [O, l]. Por ejemplo, la siguiente secuen-
            cia  de doce números 0.092833, 0.472751,  0.542341, 0.022788, 0.069853,
            0.317325, 0.808213, 0 .225401, 0.633599, 0 .133044, 0.530186, 0.477541 ha sido
            obtenida con el  siguiente programa en  BASIC-256:

                                     n=O
                                     do
                                       u=rand
                                       print  u
                                       n=n+l
                                     until  n=l2

            Pongamos otro ejemplo: ¿cómo simularíamos un dado con el  programa an-
            terior? Sencillamente sustituiremos u=rand  por u=int (rand*6) +l. Los nú-
            meros obtenidos con un programa deben cumplir algunas propiedades, en
            particular, estar comprendidos entre O y 1,  ser independientes unos de otros,
            esto es,  si  obtenemos un cierto número, por ejemplo 0 .808213, dicho valor
            no debería influir  en el  siguiente número que se  genere de la  secuencia,
            0 .225401, y además debe cumplirse que todos los números tengan la  misma
            probabilidad de ser obtenidos. Un aspecto curioso es  que los números a
            titulo individual  no son aleatorios, pero si la  secuencia de la  que forman
            parte, cuyas propiedades estadísticas son similares a las  que tiene una se-
            cuencia de números obtenidos con un sistema mecánico de lotería. No obs-
            tante,  ya  existe la  posibilidad de obtener a  través de Internet auténticos
            números aleatorios en el  ordenador a partir de fenómenos físicos, en lugar
            de un algoritmo como el que se utiliza en  la  función  rand de BASIC-256.








                                MÁQUINAS CONTRA  CÓDIGOS. TURING CRIPTÓGRAFO   73
   68   69   70   71   72   73   74   75   76   77   78