gramáticas y modelos matemáticos - clase 5 continuación

8
Castor Afanoso/Problema Castor Afanoso De Epistemowikia < Castor Afanoso El Problema del Castor Afanoso Introducción Uno de los resultados más importantes de la informática teórica consiste en la demostración de la existencia de funciones no computables. Este hecho es fácilmente demostrable si mostramos que hay funciones no Turing computables: hay más funciones que máquinas de Turing para computarlas. En 1962, Tibor Rado propuso una función basada en lo que hoy se conoce como “El Problema del Castor Afanoso. Éste puede describirse como sigue: supongamos una máquina de Turing dotada con una cinta de doble recorrido infinito (hacia izquierda y derecha) y un alfabeto de la cinta = { blanco, 1 }. La cuestión que Rado se planteaba era la siguiente: ¿Cuál es el número máximo de 1’s que pueden ser escritos por una máquina de Turing de N estados (donde N no incluye el estado final) que termina en parada, y que comienza con una cinta inicialmente en blanco? Este número, que varía en función del número de estados de la máquina, se denota (N). Una máquina que produce (N) celdas no en blanco se denomina Castor Afanoso. El problema que nos encontramos al estudiar (N) es que crece más deprisa que cualquier función computable, es decir, (N) es no computable. Algunos de los valores de (N) y sus correspondientes máquinas de Turing son conocidos hoy en día, para valores pequeños de N. Por ejemplo, se sabe que (1)=1, (2)=4, (3)=6, (4)=13. A medida que el número de estados aumenta, el problema se va volviendo más complicado, y, para N 5, sólo tenemos un conjunto de candidatos que establecen límites inferiores a los valores de (N). Esto se debe en parte al hecho de que no hay ni una teoría general ni una particular sobre la estructura que debe tener un Castor Afanoso. La única forma disponible para encontrar tales máquinas es hacer una búsqueda exhaustiva para cada máquina de Turing de N estados. Las técnicas usadas actualmente sólo llevan a cabo una búsqueda parcial en el espacio de soluciones, buscando máquinas de Turing que establezcan un límite inferior mejor para el valor de (N). Algunos de los mejores candidatos fueron obtenidos por Marxen (quién, por ejemplo, estableció que (5)4098). Su aproximación comprende la enumeración y simulación de (casi) todas las máquinas de Turing de N estados, usando diversas técnicas para reducir el número de máquinas evaluadas, acelerar la simulación y determinar la no terminación de éstas. En estudios realizados por Pereira, Machado, Costa y Cardoso, sobre máquinas de Turing de 7 estados, utilizando algoritmos genéticos y evolutivos, se encontraron castores afanosos con (7) 102, dándose estos Tabla de contenidos 1 El Problema del Castor Afanoso 1.1 Introducción 1.2 Definición Formal del Problema. 1.3 Variantes del Problema del Castor Afanoso 1.3.1 Tipo de parada. 1.3.2 Tipo de restricción de salida. 1.4 No computabilidad de y S. 1.5 Castores afanosos. 1.6 Licencia Página 1 de 8 Castor Afanoso/Problema Castor Afanoso - Epistemowikia 11/08/2009 file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Upload: jorge-buabud

Post on 11-Mar-2016

215 views

Category:

Documents


1 download

DESCRIPTION

Ejemplo Resolubilidad y Complejidad Computacional: El problema del Castor Afanoso.

TRANSCRIPT

Page 1: Gramáticas y Modelos Matemáticos - Clase 5 continuación

Castor Afanoso/Problema Castor Afanoso De Epistemowikia

< Castor Afanoso

El Problema del Castor Afanoso

Introducción

Uno de los resultados más importantes de la informática teórica consiste en la demostración de la existencia de funciones no computables. Este hecho es fácilmente demostrable si mostramos que hay funciones no Turing computables: hay más funciones que máquinas de Turing para computarlas.

En 1962, Tibor Rado propuso una función basada en lo que hoy se conoce como “El Problema del Castor Afanoso‿. Éste puede describirse como sigue: supongamos una máquina de Turing dotada con una cinta de doble recorrido infinito (hacia izquierda y derecha) y un alfabeto de la cinta = { blanco, 1 }. La cuestión que Rado se planteaba era la siguiente: ¿Cuál es el número máximo de 1’s que pueden ser escritos por una máquina de Turing de N estados (donde N no incluye el estado final) que termina en parada, y que comienza con una cinta inicialmente en blanco? Este número, que varía en función del número de estados de la máquina, se denota ∑ (N). Una máquina que produce ∑ (N) celdas no en blanco se denomina Castor Afanoso.

El problema que nos encontramos al estudiar ∑ (N) es que crece más deprisa que cualquier función computable, es decir, ∑ (N) es no computable. Algunos de los valores de ∑ (N) y sus correspondientes máquinas de Turing son conocidos hoy en día, para valores pequeños de N. Por ejemplo, se sabe que ∑(1)=1, ∑ (2)=4, ∑ (3)=6,∑ (4)=13. A medida que el número de estados aumenta, el problema se va volviendo más complicado, y, para N ≥ 5, sólo tenemos un conjunto de candidatos que establecen límites inferiores a los valores de ∑ (N). Esto se debe en parte al hecho de que no hay ni una teoría general ni una particular sobre la estructura que debe tener un Castor Afanoso. La única forma disponible para encontrar tales máquinas es hacer una búsqueda exhaustiva para cada máquina de Turing de N estados. Las técnicas usadas actualmente sólo llevan a cabo una búsqueda parcial en el espacio de soluciones, buscando máquinas de Turing que establezcan un límite inferior mejor para el valor de ∑ (N). Algunos de los mejores candidatos fueron obtenidos por Marxen (quién, por ejemplo, estableció que ∑ (5)≥ 4098). Su aproximación comprende la enumeración y simulación de (casi) todas las máquinas de Turing de N estados, usando diversas técnicas para reducir el número de máquinas evaluadas, acelerar la simulación y determinar la no terminación de éstas.

En estudios realizados por Pereira, Machado, Costa y Cardoso, sobre máquinas de Turing de 7 estados, utilizando algoritmos genéticos y evolutivos, se encontraron castores afanosos con ∑ (7) ≥ 102, dándose estos

Tabla de contenidos

� 1 El Problema del Castor Afanoso � 1.1 Introducción � 1.2 Definición Formal del Problema. � 1.3 Variantes del Problema del Castor Afanoso

� 1.3.1 Tipo de parada. � 1.3.2 Tipo de restricción de salida.

� 1.4 No computabilidad de ∑ y S. � 1.5 Castores afanosos. � 1.6 Licencia

Página 1 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Page 2: Gramáticas y Modelos Matemáticos - Clase 5 continuación

resultados tras una búsqueda que no les llevó más de un día con un Pentium II a 300 MHz, y habiendo evaluado tan sólo el 8,5 x 10-11 % del espacio de búsqueda, que era (4(N+1))2N. Otros intentos, también centrados en algoritmos genéticos, dieron como resultado en el trabajo de Terry Jones, que atacar el problema afrontándolo a partir de máquinas de Turing en forma de quíntupla, con técnicas inspiradas en el algoritmo de “Escalada de Colina‿ proporcionaba mejores resultados que las búsquedas típicas basadas en máquinas de Turing en forma de tetratupla.

En el planteamiento original, el problema se definía para máquinas de Turing en forma de quíntupla. Con esta definición, las máquinas, dado un estado actual y un símbolo que está siendo buscado en la cinta, escriben un símbolo sobre él, pasa a un nuevo estado y mueve el cabezal de l/e hacia la izquierda o hacia la derecha. Una de las principales variantes consiste en considerar máquinas de Turing en forma de tetratupla. La principal diferencia con respecto a las otras es que, durante la transición a un nuevo estado, una máquina de Turing o escribe un nuevo símbolo en la cinta o mueve la cabeza de l/e, pero la ejecución de ambas acciones simultaneamente está prohibida.

Definición Formal del Problema.

Un máquina de Turing determinística puede ser representada por una sextupla (Q, Π, Γ, δ, s, f), donde: Q es un conjunto finito de estados, Π es un alfabeto de símbolos de entrada, Γ es un alfabeto de símbolos de la cinta, δ es la función de transición, s ∈ Q es el estado inicial y f ∈ Q es el estado final. La función de transición puede asumir diversas formas; la más usual es la que se expone a continación:

δ: Q x Γ -> Q x Γ x { L, R }

donde L denota un movimiento del cabezal de l/e hacia la izquierda y R denota un movimiento del cabezal de l/e hacia la derecha. Las máquinas con una función de transición de esta manera se denominan máquinas de Turing en formato de quíntupla. Una variación común consiste en considerar la función de transición de la siguiente manera: δ: Q x Γ -> Q x {Γ U { L, R }}

A las máquinas de este tipo se las denomina máquinas de Turing en formato de tetratupla. Al llevar a cabo una transición, un máquina de Turing en formato de quíntupla escribirá un símbolo en la cinta, moverá el cabezal de l/e hacia la izquierda o hacia la derecha y entrará en un nuevo estado. Sin embargo, una máquina de Turing en formato de tetratupla escribe un nuevo símbolo en la cinta o mueve su cabezal de l/e, antes de entrar en un nuevo estado.

La definición original del Castor Afanoso considera una máquina de Turing en formato de quíntupla con N+1 estados (N estados más un estado final de parada). El alfabeto de la cinta tiene dos símbolos, Γ ∈ { blanco, 1 }, y el alfabeto de entrada tiene sólo uno, Π = { 1 }. La productividad de una máquina de Turing se define como el número de 1’s que presenta el resultado, a partir de una cinta en blanco, cuando la máquina de Turing se para. Las máquinas que no se paran tienen una 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. Esta máquina de Turing se denomina Castor Afanoso.

En la variante de la tetratupla, la productividad se define normalmente como la longitud de la secuencia de 1’s producida por una máquina de Turing a partir de una cinta en blanco, que para cuando encuentra el 1 más a la izquierda en la secuencia y el resto de la cinta está en blanco. Las máquinas que no paran, o que paran en una configuración distinta, es decir, en otro 1 que no sea el que se encuentra más a la izquierda, tienen una productividad de 0. De esta manera, la máquina debe parar al leer un 1, este 1 debe ser el que se encuentre más a la izquierda en una cadena de 1’s y, con la excepción de esta cadena, el resto de la cinta debe permanecer en

Página 2 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Page 3: Gramáticas y Modelos Matemáticos - Clase 5 continuación

blanco. En nuestra visión nos centraremos en la variante de la tetratupla.

Como ejemplo a lo expuesto, podeis ver una Máquina de Turing de 7 estados y 4 tuplas con su correspondiente tabla de transición, en la Figura 1 del documento Understanding the role of evolution in the evolution of Busy Beavers: a comparison between the Baldwin Effect and a Lamarckian Strategy.

Variantes del Problema del Castor Afanoso

Hay un gran número de variantes del problema del Castor Afanoso. En concreto, teniendo en cuenta solo las basadas en el alfabeto binario, hay ocho formulaciones diferentes del problema, creadas a partir de combinaciones de tres variables:

- Tipo de transición (que ya hemos comentado anteriormente): formulación cuádruple o quíntuple.

- Tipo de parada.

- Tipo de restricción de salida.

Tipo de parada.

Existen dos tipos de máquinas: Parada Explícita y Parada Implícita.

Parada Explícita: En la formulación teórica de las máquinas de Turing (tanto cuádruples como quíntuples), las transiciones a los estados finales son transiciones normales, es decir:

Dado el estado actual y el símbolo actual,

- Formulación Cuádruple: 1 transición � 1 escritura o 1 desplazamiento (pero no ambos).

- Formulación Quíntuple: 1 transicion � 1 escritura y 1 desplazamiento

Parada Implícita : 1 transición a 1 estado de parada � ni una escritura ni un desplazamiento.

Es importante resaltar que en este caso 1 máquina de Turing (N) tiene N + 1 estado de parada, que no se cuenta como estado de la máquina.

Tipo de restricción de salida.

Esta variable solo se da en aquellas máquinas que paran. - En la formulación estándar (cuádruple) una máquina debe estar parada con su cabeza de l/e sobre el 1 situado más a la izquierda de una serie de 1’s, y no debe haber más 1’s en la cinta a parte de los de dicha secuencia. - En la formulación no estándar o no restringida cualquier máquina que pare es un candidato para el concurso del Castor Afanoso.

No computabilidad de ∑ y S.

Página 3 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Page 4: Gramáticas y Modelos Matemáticos - Clase 5 continuación

Teorema 1. La función no es computable por una máquina de Turing.

Demostración. La idea es demostrar que si f(n) es cualquier función computable, entonces existe un n0 tal que

para . Nuestro modelo de función computable es que una máquina de Turing

calculando f(n) comienza con una cinta con un bloque de n 1’s inmediatamente a la derecha del espacio en blanco inicial, y se detiene después de un número finito de movimientos con un bloque de f(n) unos

consecutivos en la cinta. Sea f una función arbitraria y computable, definimos

Ya que f es computable, F también lo es. De hecho, hay una máquina de Turing MF que cuando empieza con una cinta con x unos, escribe un bloque de F(x) unos a su derecha, separados por al menos un espacio en blanco. Suponemos que MF tiene n estados.

Considerando una máquina de Turing M, la cual en su entrada A, primero escribe x unos en una cinta inicialmente en blanco, y entonces se detiene con su cabeza leyendo su 1 más a la derecha. Esto se puede hacer con x estados. Después, esta máquina de Turing imita a MF, escribiendo F(x) unos a la derecha del bloque inicial de x unos, separados por al menos un espacio en blanco. Finalmente, esta máquina de Turing escribe F(F(x)) unos a la derecha de este último bloque de F(x) unos, separados por al menos un espacio en blanco. Esta máquina tiene x + 2n estados.

Ahora, cualquier castor afanoso de estados, dejará al menos tantos unos como M hace con una entrada de un

bloque de x unos. Entonces, hasta aquí tenemos .

Pero en esta definición, y existe una constante c1 tal que x2 > x + 2n para todo . Por

consiguiente para . Ahora, de esta definición tenemos que F(x) > F(y) si x > y, así que tenemos que F(F(x)) > F(x + 2n) para . Por consiguiente

para

. Por consiguiente es finalmente mayor que f. Ya que f es arbitraria, es no computable.

Corolario 2. La función S(n) también es no computable.

Demostración. Existe una máquina de Turing M con n estados que escribe unos en su cinta antes de

detenerse. Así que la máquina de Turing tiene que realizar al menos movimientos. Hasta aquí

. Ya que es eventualmente mayor que cualquier función computable como pueda

ser S(n). Así que S también es no computable.

Castores afanosos.

Castor afanoso de 1 estado y 2 símbolos.

Autor: Tibor Rado.

∑(1) = 1

Página 4 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Page 5: Gramáticas y Modelos Matemáticos - Clase 5 continuación

S(1) = 1

Tabla 1. Tabla de transición de estados para el castor afanoso de 1 estado y 2 símbolos.

Castor afanoso de 2 estados y 2 símbolos.

Autor: Tibor Rado.

∑(2) = 4

S(2) = 6

Tabla 2. Tabla de transición de estados para el castor afanoso de 2 estados y 2 símbolos.

Castor afanoso de 3 estados y 2 símbolos.

Autor: Tibor Rado.

∑(3) = 6

S(3) = 14

Página 5 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Page 6: Gramáticas y Modelos Matemáticos - Clase 5 continuación

Tabla 3. Tabla de transición de estados para el castor afanoso de 3 estados y 2 símbolos.

Castor afanoso de 4 estados y 2 símbolos.

Autor: A. Brady.

∑(4) = 13

S(4) = 107

Tabla 4. Tabla de transición de estados para el castor afanoso de 4 estados y 2 símbolos.

Castor afanoso de 5 estados y 2 símbolos.

Autor: Marxen y Buntrok

∑(5) = >= 4098

Página 6 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Page 7: Gramáticas y Modelos Matemáticos - Clase 5 continuación

S(5) = >= 47.176.870

Tabla 5. Tabla de transición de estados para el castor afanoso de 5 estados y 2 símbolos.

Castor afanoso de 6 estados y 2 símbolos.

Autor: Marxen y Buntrok

∑(6) = > 1,29 • 10865

S(5) = > 3 • 101730

Tabla 6. Tabla de transición de estados para el castor afanoso de 6 estados y 2 símbolos.

Página 7 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...

Page 8: Gramáticas y Modelos Matemáticos - Clase 5 continuación

Volver a Castor Afanoso

Licencia

Obtenido de "http://campusvirtual.unex.es/cala/epistemowikia/index.php?title=Castor_Afanoso/Problema_Castor_Afanoso"

Categorías: Matemáticas | Ciencias Puras | Lemma Commonpediae | Ingeniería Informática

� Esta página fue modificada por última vez en 15:50, 26 abr 2007 por M.Peinado. Basado en el trabajo de: Manuel ÿngel Muñoz Santos, Usuario(s) de Epistemowikia Anto y otros.

Eres libre de:

� Copiar, distribuir y comunicar públicamente la obra

Bajo las condiciones siguientes:

� Reconocer los créditos de la obra de la manera especificada por el autor o el licenciador. � No puede utilizar esta obra para fines comerciales.

� Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta.

� Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.

� Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor

Una explicación sencilla y en español de la licencia para usuarios no iniciados en derecho está disponible aquí, y su texto legal, aquí.

Página 8 de 8Castor Afanoso/Problema Castor Afanoso - Epistemowikia

11/08/2009file://C:\Users\Jorge\Documents\Mis Actividades\UTN\Sintaxis y Semántica del Lenguaj...