Zardoz escribió:Se puede llegara conclusiones más interesantes, como poder encontrar la nueva película de Star Wars que hará la Disney, antes de su estreno !
O cosas más inquietantes aún, como una foto en formato JPG de tu tataranieto, al que probablemente nunca llegarás a conocer...
Pero encontrar algo remotamente parecido.... mmmmm.... fíjate en estos números:
Supongamos que queremos bsucar una secuencia concreta que ocupa 512 bytes (mucho menos que una foto, o que una peli), y que estamos tratando con una expansión de PI expresada en hexadecimal. Eso significa que si la encontramos, esa secuencia estará codificada en 1024 caracteres hexadecimales.
Es decir, que en la infinita ristra de cifras hexadecimales de PI, hay que encontrar una secuencia concreta de 1024 dígitos hexadecimales.
Para poder hacer esto, necesitamos acceder a una subexpansión de PI que contemple todas las posibles combinaciones de 1024 dígitos hexadecimales. Es decir, una subexpansión de PI que contenga 1024 dígitos por cada posible combinación que se pueda crear. De esa forma, para buscar la posición del dato pasamos de buscar en una expansión infinita, a una acotada: una subexpansión con un tamaño conocido y acotado.
¿Cuánto ocupará esa subexpansión? Pues resulta que para eso hay que saber cuántas combinaciones se pueden realizar con 1024 dígitos, cada uno de ellos puede tomar valores entre 0 y F (16 valores o estados diferentes). Eso se calcula como 16 elevado a 1024, que da 1,044389e+1233 (aprox.). Este valor no es el número de dígitos de PI a mirar, sino el número de secuencias de 1024 dígitos hexadecimales que cubren todas las posibles combinaciones de valores de un bloque de 1024 dígitos hexadecimales. Nuestra misión es escanear cada una se esas secuencias y compararla con la nuestra original. Si encontramos una coincidencia perfecta, anotamos la posición dentro de la expansión hexadecimal de PI donde se ha encontrado y listo.
De media, la secuencia buscada se encontrará cuando se haya escaneado la mitad de esta subexpansión, esto es, se encontrará al cabo de escanear unas 5,222e+1232 secuencias.
¿Y cuánto se tarda? Supongamos que tenemos un hardware muy optimizado que es capaz de comparar en un solo ciclo de reloj una secuencia de 1024 dígitos hexadecimales (esto son 4096 bits) con la secuencia actual que se está generando con un generador de dígitos de PI. Supongamos también (y esto es ya más suponer) que nuestro generador de decimales de PI es capaz de generar una nueva secuencia de 1024 dígitos hexadecimales de PI también en un solo ciclo de reloj. De esta forma, haciendo un poco de pipeline, se puede ir comparando una secuencia mientras se está generando la siguiente.
Y ahora, pongamos que nuestro ASIC o nuestro sistema hardware se ejecuta a 100GHz (velocidad hasta ahora no conseguida por ningún procesador ni chisme digital ni comercial ni experimental) y pongamos además que todos los habitantes del planeta (7000 millones de personas) tienen un chisme de estos y te está ayudando a averiguar dónde puñetas está tu secuencia.
El tiempo que se tardaría sería: 7,45992e+1211 segundos . Esto es, 1,689661e+1194 veces la edad actual del universo. Un número absurdamente grande.
Supongamos que