domingo, 8 de julio de 2007

Las máquinas de Turing y el infinito

Existen conjuntos de números que nunca podrán ser generados por una máquina de Turing. Por ejemplo, los subconjuntos de N. El conjunto Partes de N es no numerable mientras que el conjunto de funciones computables por máquina de Turing es, a lo sumo, numerable.

Existen funciones que nunca podremos calcular, por muy avanzados que sean los computadores que usemos.

Las funciones que pueden imaginarse son funciones de N a N. Ahora bien, imaginemos todas las funciones de N a {0,1}. Es evidente que son menos que las funciones de N a N.

Para cada subconjunto X de N hay una función característica:

f(n)=1 si n pertenece a X
f(n)=0 si n no pertenece a X.

Pero los subconjuntos de N forman un conjunto no numerable. Y el conjunto de las funciones computables por máquina de Turing es, a lo sumo numerable. Por tanto, existen funciones que no pueden ser computables.

Por último, existen números reales que nunca podremos generar mediante máquinas de Turing. Veamos, un número real como Pi es computable si existe una máquina de Turing tal que cuando el input es 0 genera la parte entera del número, cuando el input es 1 genera la primera cifra decimal del número, cuando el input es 2 genera la segunda cifra decimal del número, etc. Bien, pues como el número de máquinas de Turing es, a lo sumo, numerable, existen infinitos reales que no son computables.

Todas estas pruebas se basan en la teoría de los números transfinitos de Cantor. Uno de los problemas de la teoría de los números transfinitos es que no es falsable. Por ejemplo, nunca vamos a conseguir un número infinito numerable de máquinas de Turing. Por lo que nunca vamos a comprobar si las pruebas que usan números transfinitos son reales o son una fantasmagoría.