El granizo de Collatz

Pues sigo escribiendo curiosidades matemáticas de esas que destrozan cerebros, computadoras y demás y nos devuelven al punto de partida.

Hoy vamos a ver a Collatz, otro matemático famoso por enunciar una conjetura sobre los números naturales. La conjetura es la siguiente:

Si elegimos un número natural n y lo tratamos de la siguiente forma:

  • Si es par, lo dividimos entre 2. Es decir, hacemos (n/2)
  • Si es impar, lo multiplicamos por tres y le sumamos 1. Al resultado de esto (que es par), lo dividimos entre 2. Es decir, hacemos (3*n + 1)/2

Esto nos da un nuevo número. La conjetura dice que si volvemos a tratar este nuevo número y a todos los que salgan de manera sucesiva al aplicarles la función definida anteriormente, siempre llegamos a 1 en una cantidad finita de pasos.

En la red hay blogs que se dedican a tratar el asunto con mayor o menor profundidad. Pongo un par de enlaces para el que le interese, uno con un enfoque más matemático y otro con un enfoque más general:

Matemático

General

En el enfoque matemático nos habla de 197 intentos de resolución por parte de aficionados a las cosas de los números (sean matemáticos de formación o no), mientras que el más generalista nos muestra números grandes, dibujos, diagramas y se sugieren teorías conspirativas respecto al problema (para mi que el “señor anónimo” que escribió el texto, se frustró tratando de llegar a la resolución de la conjetura y al final lo que hizo fue redactar un artículo en el periódico con un resumen de algunas de las ideas de los autores que han tratado la conjetura).

Me quedo con la parte de las supercomputadoras…

El diseñador de uno de los algoritmos creados para tratar de resolverlo, para tratar de explicar el comportamiento del mismo recurre a una analogía: por muy grande que sea el número que elijamos, al final se llega a una especie de “lluvia de granizo” en donde los números que parece que iban a seguir subiendo por la rama de los impares, al final llegan a un techo y se precipitan como el granizo por la rama de los pares.

He de decir que en mi patética existencia, antes de encararme con una navaja de Albacete a posibles simpatizantes del ISIS o del DAESH afincados en el País de Gales, a las fuerzas de seguridad de la reina Elizabeth II y otros grupos de “enernúmeros”, me acerqué a esta conjetura para ver que podía sacar en claro. Ahora veo que seguir una estrategia de resolución directa, de fuerza bruta (probando todos los números que se me ocurran), me llevaría a tener que adquirir una supercomputadora o particionar el problema de tal forma que, como se hizo con los números de Mersenne, un grupo de voluntarios ejecuten en sus ordenadores una aplicación que nos ayude a ver que pasa.

¿Y que pasa con la lluvia de granizo? A mi corto entender: para tratar un número, cualquier programa de ordenador creado en un lenguaje de alto nivel (java, ruby, python, etc.) tiene que “traducir” previamente dicho número a código máquina, esto es, a ceros y unos (o pulsos eléctricos). Los tipos básicos definibles por estos lenguajes suelen tener un tope para ser representados del tipo 2^n (2 por las posibilidades que puede tener un bit, 0 o 1, y n por la longitud del número en binario, e.d., si reservamos un espacio en memoria de 10 posiciones para representar un número natural, podremos llegar como mucho al 2^10 = 1024).

Deduzco (o infiero o como usted quiera llamarlo) que el programador que trató el problema para ejecutarlo en la supercomputadora, tuvo que utilizar un tipo definido por él mismo para tratar el problema, así como las operaciones aritméticas básicas que emulen a las de los números naturales humanos en los computadores. Si no lo hizo así, pudo llegar a un “pequeño” problemilla: si el número elegido sigue la cadena de los impares, puede llegará un punto al ejecutar el programa en el que el número que intente representar en máquina sobrepase los espacios reservados para representar los números llevándonos de la cifra p a la 10000…000 = un 1 y j ceros. ¿Y que pasa con este número formado por j ceros? Pues que es la potencia j-ésima de 2, que es par y por tanto divisible por 2 n veces… De ahí que al llegar a ese número, de repente empiece a caer un número que se presumía de infinito a 1 en j pasos.

Porque, ¿cómo es el infinito? Eso lo dejo para otro post… si me dejan.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s