sábado, 31 de mayo de 2014

El problema del Castor Laborioso

El problema de castor laborioso

Todos conocemos la constancia que los castores son capaces de mantener a la hora de elaborar sus famosas presas para así poder detener el flujo de la corriente y crear un estanque de aguas tranquilas donde poder construir sus madrigueras.
 

Esta idea de la consistencia del castor tuvo que ser la que llevo al matemático de origen húngaro Tibor Radó (1895-1965) a bautizar como el juego del castor laborioso o afanoso a cierto problema que planteo para una máquina de Turing.
Planteamiento del problema

Fue en mayo de 1962 cuando definió que un “castor laborioso” es una máquina de Turing que cumple dos condiciones:
  1.   Al poner al castor en funcionamiento sobre una cinta totalmente ocupada por ceros, esta termina deteniéndose.
  2. El número de unos que imprime no es inferior al que pueda imprimir cualquier máquina de Turing de igual número de estados que llegue a detenerse. Este número de unos se denomina como Σ(N).

La definición original del Castor Laborioso es una máquina de Turing en formato de quíntupla con N+1 estados (N estados y el estado final de parada). El alfabeto de la cinta tiene dos símbolos Γ Є{ blanco, 1 } y el alfabeto de entrada solo uno Π = { 1 }. La productividad de una MT se representa como el numero de 1’s  que tiene el resultado, a partir de una cinta en blanco, cuando esta se detiene. Las MT que no se detienen se les consideran con productividad de cero. Σ(N) se define como la máxima productividad que se puede obtener a partir de una máquina de Turing de N estados


¿Para qué se usa un castor laborioso?

 En 1936 Turing definió las máquina de Turing como un modelo universal de cómputo en el que todas las funciones calculables imaginables pueden ser calculadas por un ellas. Entonces, ¿cómo encontramos una función que no sea calculable? Aquí es donde entra el castor laborioso ya que Tibor demostró que si f:Nà N es una función computable existe Σ(n)>f(n) para toda n suficientemente grande, y por lo tanto Σ no es una función computable.


Soluciones

El problema que nos encontramos al estudiar el castor laborioso es que este crece más deprisa que cualquier función computable, es decir que no es computable. Por ejemplo se conocen los valores para Σ(1)=1, Σ(2)=4, Σ(3)=6, Σ(4)=13. Pero a medida que el número de estados aumenta el problema se va volviendo más complicado.

Castor Laborioso para 1 estado.

Castor Laborioso para 2 estados.

Castor Laborioso para 3 estados.

Castor Laborioso para 4 estados.

Las técnicas usadas actualmente para N>4 solo llevan a cabo una búsqueda parcial en el espacio de soluciones, buscando MT que establezcan un límite inferior mejor para el valor de Σ(N). Por ejemplo Marxen estableció Σ(5)>=4098. Otros estudios han conseguido establecer estos límites inferiores para un Σ(7)>=102 mediante algoritmos genéticos y escalada de la colina.
 

Como podemos observar se trata de un problema no computable para N altos el cual sigue sin resolución tras 52 años de su planteamiento y por lo que parece ser seguirá así tras varios años más.

Martín Cambronero Honrubia

Bibliografía




No hay comentarios:

Publicar un comentario