¿CUÁNTOS NÚMEROS REALES HAY?
Hagamos una pequeña pausa para apreciar el alcance de la generalización que se ha conseguido al pasar de los números racionales a los números reales.
A primera vista se podría pensar que el número de enteros es mayor que el número de números naturales: todo número natural es un entero mientras que algunos enteros (a saber, los negativos) no son números naturales; y, análogamente, se podría pensar que el número de fracciones es mayor que el de enteros. Sin embargo, esto no es así. Según la potente y bella teoría de los números infinitos o transfinitos propuesta a finales del siglo XIX por el muy original matemático ruso-germano Georg Cantor, el número total de fracciones, el número total de enteros y el número total de números naturales son todos ellos el mismo número transfinito, denotado por ℵ0 («aleph subcero»). (Curiosamente una idea de este tipo había sido parcialmente anticipada unos 250 años antes, a comienzos del siglo XVII, por el gran físico y astrónomo italiano Galileo Galilei. Recordaremos algunos otros logros de Galileo en el capítulo V). Se puede ver que el número de enteros es el mismo que el de naturales si establecemos una «correspondencia uno-a-uno» de la siguiente forma:
números enteros | números naturales | |
0 | ↔ | 0 |
−1 | ↔ | 1 |
1 | ↔ | 2 |
−2 | ↔ | 3 |
2 | ↔ | 4 |
−3 | ↔ | 5 |
3 | ↔ | 6 |
−4 | ↔ | 7 |
4 | ↔ | 8 |
· | ↔ | · |
· | ↔ | · |
· | ↔ | · |
−n | ↔ | 2n−1 |
n | ↔ | 2n |
· | ↔ | · |
· | ↔ | · |
· | ↔ | · |
Nótese que cada entero (en la columna izquierda) y cada número natural (en la columna derecha) aparecen una y sólo una vez en la lista. La existencia de una correspondencia uno-a-uno como ésta es lo que establece, en la teoría de Cantor, que el número de objetos en la columna izquierda es el mismo que el número de objetos en la columna derecha. Por consiguiente, el número de enteros es el mismo que el de números naturales. En este caso el número es infinito, pero no importa. (La única peculiaridad que ocurre con los números infinitos es que podemos olvidar algunos de los miembros de una lista ¡y todavía encontrar una correspondencia uno-a-uno entre las dos listas!) De manera análoga, aunque algo más complicada, podemos establecer una correspondencia uno-a-uno entre las fracciones y los enteros. (Para ello podemos adoptar una de las formas de representar pares de números naturales, numerador y denominador, como números naturales simples; véase capítulo II. Los conjuntos que pueden ser puestos en correspondencia uno-a-uno con los números naturales se llaman numerables, de modo que los conjuntos infinitos numerables tienen ℵ0 elementos. Hemos visto así que los enteros son numerables y también lo son todas las fracciones.
¿Existen conjuntos que sean no numerables? Aunque hemos ampliado el sistema, pasando primero de los números naturales a los enteros, y luego a los números racionales, no hemos incrementado realmente el número de objetos con los que trabajamos. Hemos visto que el número de objetos es numerable en cada caso. Quizá el lector sacó de esto la impresión de que todos los conjuntos infinitos son numerables. No es así; la situación es muy diferente al pasar a los números reales. Uno de los logros notables de Cantor fue demostrar que realmente hay más números reales que racionales. El argumento que utilizó Cantor fue el del «corte diagonal» a que nos referimos en el capítulo II y que Turing adaptó en su argumento para demostrar que el problema de la detención de las máquinas de Turing es insoluble. El argumento de Cantor, como el posterior de Turing, procede por reductio ad absurdum. Supongamos que el resultado que estamos tratando de establecer es falso, es decir, que el conjunto de todos los números reales es numerable. Entonces, los números reales comprendidos entre 0 y 1 son ciertamente numerables, y tendremos alguna lista que proporciona una correspondencia uno-a-uno que empareja todos estos números con los números naturales, tal como:
números naturales | números reales | |
0 | ↔ | 0.10357627183… |
1 | ↔ | 0,14329806115… |
2 | ↔ | 0,02166095213… |
3 | ↔ | 0,43005357779… |
4 | ↔ | 0,92550489101… |
5 | ↔ | 0,59210343297… |
6 | ↔ | 0,63667910457… |
7 | ↔ | 0,87050074193… |
8 | ↔ | 0,04311737804… |
9 | ↔ | 0,78635081150… |
10 | ↔ | 0,40916738891… |
He marcado en negrita los dígitos de la diagonal. Para este listado particular, estos dígitos son
1, 4, 1, 0, 0, 3, 1, 4, 8, 5, 1, …
y el procedimiento del corte diagonal consiste en construir un número real (entre 0 y 1) cuya expansión decimal (tras el punto decimal) difiere de estos dígitos en cada uno de los lugares correspondientes. Para poner un ejemplo concreto, digamos que el dígito será 1 donde quiera que el dígito de la diagonal es diferente de 1, y será 2 donde quiera que el dígito de la diagonal es 1. Por lo tanto, en este caso tenemos el número real
0,21211121112…
Este número real no puede figurar en nuestro listado puesto que difiere del primer número en la primera cifra decimal, del segundo número en la segunda cifra, del tercer número en la tercera cifra, etc. Existe una contradicción, ya que se suponía que nuestra lista contiene todos los números reales entre 0 y 1. Esta contradicción establece lo que estamos tratando de probar, a saber: que no existe correspondencia uno-a-uno entre los números reales y los números naturales y, en consecuencia, que el número de números reales es realmente mayor que el número de números racionales y no es numerable.
El número de números reales es el número transfinito llamado ℂ. (ℂ significa en este caso el continuo, otro nombre para el sistema de los números reales). Podríamos preguntar por qué este número no es llamado ℵ1, por ejemplo. En realidad, el símbolo ℵ1 representa el siguiente número transfinito mayor que ℵ0, y el decidir si efectivamente ℂ = ℵ1 constituye un famoso problema no resuelto, la llamada hipótesis del continuo.
Puede señalarse que, por el contrario, los números computables son numerables. Para numerarlos basta con hacer una lista, en orden numérico, de las máquinas de Turing que generan números reales (es decir, que producen los sucesivos dígitos de los números reales). Nos gustaría tachar de la lista cualquier máquina de Turing que genere un número real que ya haya aparecido antes en la lista. Puesto que las máquinas de Turing son numerables debe darse ciertamente el caso de que los números reales computables son numerables. ¿Por qué no podemos utilizar el corte diagonal en esta lista y producir un nuevo número computable que no esté en la lista? La respuesta está en el hecho de que, en general, no podemos decidir computablemente si una máquina de Turing estará o no realmente en la lista. Eso supondría, en efecto, que fuéramos capaces de resolver el problema de la detención. Algunas máquinas de Turing pueden empezar a producir los dígitos de un número real, y luego quedarse en suspenso y no producir ningún otro dígito (debido a que «no se paran»). No hay medio computable de decidir qué máquinas de Turing se bloquearan de esta forma. Éste es básicamente el problema de la detención. Por lo tanto, aunque nuestro procedimiento del corte diagonal producirá algún número real, ese número no será un número computable. En realidad, podríamos haber utilizado este argumento para demostrar la existencia de números no computables. El argumento de Turing para demostrar la existencia de clases de problemas que no pueden resolverse algorítmicamente, como fue expuesto en el último capítulo, sigue precisamente esta línea de razonamiento. Veremos después otras aplicaciones del corte diagonal.