stringtranslate.com

grado de turing

En informática y lógica matemática el grado de Turing (llamado así en honor a Alan Turing ) o grado de insolubilidad de un conjunto de números naturales mide el nivel de insolubilidad algorítmica del conjunto.

Descripción general

El concepto de grado de Turing es fundamental en la teoría de la computabilidad , donde los conjuntos de números naturales suelen considerarse problemas de decisión . El grado de Turing de un conjunto es una medida de cuán difícil es resolver el problema de decisión asociado con el conjunto, es decir, determinar si un número arbitrario está en el conjunto dado.

Dos conjuntos son equivalentes a Turing si tienen el mismo nivel de insolubilidad; cada grado de Turing es una colección de conjuntos equivalentes de Turing, de modo que dos conjuntos están en diferentes grados de Turing exactamente cuando no son equivalentes de Turing. Además, los grados de Turing están parcialmente ordenados , de modo que si el grado de Turing de un conjunto X es menor que el grado de Turing de un conjunto Y , entonces cualquier procedimiento (posiblemente no computable) que decida correctamente si los números están en Y puede convertirse efectivamente a un procedimiento que decide correctamente si los números están en X. Es en este sentido que el grado de Turing de un conjunto corresponde a su nivel de insolubilidad algorítmica.

Los grados de Turing fueron introducidos por Post (1944) y Kleene y Post (1954) establecieron muchos resultados fundamentales. Los grados de Turing han sido un área de intensa investigación desde entonces. Muchas pruebas en el área utilizan una técnica de prueba conocida como método de prioridad .

equivalencia de turing

Durante el resto de este artículo, la palabra conjunto se referirá a un conjunto de números naturales. Se dice que un conjunto X es reducible de Turing a un conjunto Y si hay una máquina oráculo de Turing que decide la membresía en X cuando se le da un oráculo para la membresía en Y. La notación XT Y indica que X es reducible por Turing a Y.

Dos conjuntos X e Y se definen como equivalentes de Turing si X es Turing reducible a Y e Y es Turing reducible a X. La notación XT Y indica que X e Y son equivalentes de Turing. La relación ≡ T puede verse como una relación de equivalencia , lo que significa que para todos los conjuntos X , Y y Z :

Un grado de Turing es una clase de equivalencia de la relación ≡ T. La notación [ X ] denota la clase de equivalencia que contiene un conjunto X . Se denota toda la colección de grados de Turing .

Los grados de Turing tienen un orden parcial ≤ definido de modo que [ X ] ≤ [ Y ] si y sólo si XT Y . Existe un grado de Turing único que contiene todos los conjuntos computables, y este grado es menor que cualquier otro grado. Se denota 0 (cero) porque es el elemento menor del poset . (Es común utilizar la notación en negrita para los grados de Turing, a fin de distinguirlos de los conjuntos. Cuando no puede haber confusión, como con [ X ], la negrita no es necesaria.)

Para cualquier conjunto X e Y , X se une a Y, escrito XY , se define como la unión de los conjuntos {2 n  : nX } y {2 m +1: mY }. El grado de Turing de X Y es el límite superior mínimo de los grados de X e Y. Por lo tanto, es una semired de unión . El límite superior mínimo de grados a y b se denota ab . Se sabe que no es una red , ya que hay pares de grados sin límite inferior máximo.

Para cualquier conjunto X, la notación X ′ denota el conjunto de índices de máquinas Oracle que se detienen (cuando se les da su índice como entrada) cuando usan X como oráculo. El conjunto X ′ se llama salto de Turing de X. El salto de Turing de un grado [ X ] se define como el grado [ X ′]; esta es una definición válida porque X ′ ≡ T Y ′ siempre que XT Y . Un ejemplo clave es 0 ′, el grado del problema de detención .

Propiedades básicas de los grados de Turing

Estructura de los grados de Turing

Se han realizado muchas investigaciones sobre la estructura de los grados de Turing. La siguiente encuesta enumera sólo algunos de los muchos resultados conocidos. Una conclusión general que se puede extraer de la investigación es que la estructura de los grados de Turing es extremadamente complicada.

Propiedades del pedido

Propiedades que involucran el salto.

Propiedades lógicas

Grados de Turing recursivamente enumerables

Una red finita que no se puede incrustar en los grados re.

Un grado se llama recursivamente enumerable (re) o computablemente enumerable (ce) si contiene un conjunto recursivamente enumerable . Cada grado re está por debajo de 0′ , pero no todos los grados por debajo de 0′ son re. Sin embargo, un conjunto es reducible muchos uno a 0′ si y sólo si es re. [3]

Además, existe el lema límite de Shoenfield, un conjunto A satisface si y sólo si hay una "aproximación recursiva" a su función característica: una función g tal que para s suficientemente grande , . [4]

Un conjunto A se llama n -r e. si existe una familia de funciones tal que: [4]

Propiedades de n -re grados: [4]

El problema de Post y el método de prioridad.

Emil Post estudió los grados de Turing y preguntó si existe algún grado estrictamente entre 0 y 0′ . El problema de construir tal grado (o demostrar que no existe ninguno) pasó a conocerse como el problema de Post . Este problema fue resuelto de forma independiente por Friedberg y Muchnik en la década de 1950, quienes demostraron que estos grados intermedios existen ( teorema de Friedberg-Muchnik ). Cada una de sus pruebas desarrolló el mismo nuevo método para construir re grados, que llegó a conocerse como el método de prioridad . El método de prioridad es ahora la técnica principal para establecer resultados sobre reinicios.

La idea del método de prioridad para construir un conjunto de reinicio X es enumerar una secuencia contable de requisitos que X debe satisfacer. Por ejemplo, para construir un reinicio X entre 0 y 0′ es suficiente satisfacer los requisitos A e y B e para cada número natural e , donde A e requiere que la máquina oráculo con índice e no calcule 0′ a partir de X y B e requiere que la máquina de Turing con índice e (y sin oráculo) no calcule X . Estos requisitos se colocan en un orden de prioridad , que es una biyección explícita de los requisitos y los números naturales. La prueba procede de forma inductiva con una etapa para cada número natural; Estas etapas pueden considerarse como pasos de tiempo durante los cuales se enumera el conjunto X. En cada etapa, se pueden poner números en X o impedir para siempre (si no se daña) que entren en X en un intento de satisfacer los requisitos (es decir, obligarlos a mantenerse una vez que se haya enumerado todo X ). A veces, un número se puede enumerar en X para satisfacer un requisito, pero hacerlo provocaría que un requisito previamente satisfecho quede insatisfecho (es decir, resulte perjudicado ). El orden de prioridad de los requisitos se utiliza para determinar qué requisito satisfacer en este caso. La idea informal es que si un requisito se daña, eventualmente dejará de dañarse después de que todos los requisitos de mayor prioridad hayan dejado de dañarse, aunque no todos los argumentos de prioridad tienen esta propiedad. Se debe argumentar que el conjunto global X es re y satisface todos los requisitos. Los argumentos de prioridad se pueden utilizar para probar muchos hechos sobre los reinicios; Los requisitos utilizados y la manera en que se satisfacen deben elegirse cuidadosamente para producir el resultado requerido.

Por ejemplo, un re) bajo X simple (y por lo tanto no computable) (bajo significa X ′=0′) se puede construir en infinitas etapas de la siguiente manera. Al comienzo de la etapa n , sea T n la cinta de salida (binaria), identificada con el conjunto de índices de celda donde hemos colocado 1 hasta ahora (por lo que X =∪ n T n ; T 0 =∅); y sea P n ( m ) la prioridad para no generar 1 en la ubicación m ; P 0 ( m )=∞. En la etapa n , si es posible (de lo contrario no haga nada en la etapa), elija el mínimo i < n tal que ∀ m P n ( m )≠ i y la máquina de Turing i se detenga en < n pasos en alguna entrada ST n con ∀ metroS \ T norte P norte ( metro )≥ yo . Elija cualquier S (finito) , establezca T n +1 = S , y para cada celda m visitada por la máquina i en S , establezca P n +1 ( m ) = min( i , P n ( m )), y establezca todas las prioridades > i a ∞, y luego establezca una celda de prioridad ∞ (cualquiera servirá) que no esté en S con prioridad i . Esencialmente, hacemos que la máquina i se detenga si podemos hacerlo sin alterar las prioridades < i , y luego establecemos prioridades para evitar que las máquinas > i interrumpan la parada; todas las prioridades son finalmente constantes.

Para ver que X es bajo, la máquina i se detiene en X si se detiene en < n pasos en algún T n tal que las máquinas < i que se detienen en X lo hacen < n - i pasos (por recursividad, esto es uniformemente computable desde 0′ ). X no es computable ya que de lo contrario una máquina de Turing podría detenerse en Y si Y \ X no está vacío, lo que contradice la construcción ya que X excluye algunas celdas i de prioridad para i arbitrariamente grande ; y X es simple porque para cada i el número de celdas de prioridad i es finito.

Ver también

Referencias

Monografías (nivel pregrado)

Monografías y artículos de encuestas (nivel de posgrado)

Trabajos de investigación

Notas

  1. ^ DeAntonio 2010, pag. 9.
  2. ^ Chong y Yu 2007, pág. 1224.
  3. ^ Odifreddi 1989, pag. 252, 258.
  4. ^ abc Epstein, Haas y Kramer 1981.