stringtranslate.com

Grado de Turing

En informática y lógica matemática, el grado de Turing (llamado así por Alan Turing ) o grado de irresolubilidad de un conjunto de números naturales mide el nivel de irresolubilidad 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 lo difícil que 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 de 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 en un procedimiento que decida 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 muchos resultados fundamentales fueron establecidos por Kleene y Post (1954). Los grados de Turing han sido un área de intensa investigación desde entonces. Muchas demostraciones en el área hacen uso de una técnica de demostración conocida como el método de prioridad .

Equivalencia de Turing

En 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 mediante el método de Turing a un conjunto Y si existe una máquina de Turing oráculo que decide la pertenencia a X cuando se le da un oráculo para la pertenencia a Y. La notación XT Y indica que X es reducible mediante el método de Turing a Y.

Dos conjuntos X e Y se definen como equivalentes de Turing si X es reducible a Y mediante el método de Turing e Y es reducible a X mediante el método de Turing . La notación XT Y indica que X e Y son equivalentes de Turing. La relación ≡ T puede considerarse 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 . La colección completa de grados de Turing se denota .

Los grados de Turing tienen un orden parcial ≤ definido de modo que [ X ] ≤ [ Y ] si y solo si XT Y . Existe un único grado de Turing 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 conjunto parcial . (Es común usar la notación en negrita para los grados de Turing, con el fin de distinguirlos de los conjuntos. Cuando no puede producirse ninguna confusión, como con [ X ], la negrita no es necesaria).

Para cualesquiera conjuntos X e Y , X join 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 XY es el límite superior mínimo de los grados de X e Y . Por lo tanto, es un semirretículo de unión . El límite superior mínimo de los grados a y b se denota ab . Se sabe que no es un retículo , 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 oráculo que se detienen (cuando se les da su índice como entrada) al usar 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. El siguiente estudio enumera solo algunos de los numerosos 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 enumerables recursivamente

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

Un grado se denomina recursivamente enumerable (re) o computablemente enumerable (ce) si contiene un conjunto recursivamente enumerable . Todo grado re está por debajo de 0′ , pero no todo grado por debajo de 0′ es re. Sin embargo, un conjunto es reducible a 0′ mediante muchos-uno si y solo si es re. [3]

Además, existe el lema del límite de Shoenfield, que establece que un conjunto A satisface si y solo si existe 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 tales que: [4]

Propiedades de los grados n -re: [4]

El problema de Post y el método de prioridad

Emil Post estudió los grados de Turing de re y se preguntó si existe algún grado de re estrictamente entre 0 y 0′ . El problema de construir dicho grado (o demostrar que no existe) se conoció como el problema de Post . Este problema fue resuelto independientemente por Friedberg y Muchnik en la década de 1950, quienes demostraron que estos grados intermedios de re existen ( teorema de Friedberg-Muchnik ). Sus demostraciones desarrollaron el mismo nuevo método para construir grados de re, 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 conjuntos de re.

La idea del método de prioridad para construir un re-set X es listar una secuencia contable de requisitos que X debe satisfacer. Por ejemplo, para construir un re-set 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 inductivamente 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 colocar números en X o se puede evitar para siempre (si no se daña) que entren en X en un intento de satisfacer los requisitos (es decir, forzarlos a que se mantengan una vez que se haya enumerado todo X ). A veces, se puede enumerar un número en X para satisfacer un requisito, pero al hacerlo se provocaría que un requisito previamente satisfecho se volviera insatisfecho (es decir, se lesionara ). 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 lesiona, eventualmente dejará de lesionarse después de que todos los requisitos de mayor prioridad hayan dejado de lesionarse, aunque no todos los argumentos de prioridad tienen esta propiedad. Se debe argumentar que el conjunto general X es re y satisface todos los requisitos. Los argumentos de prioridad se pueden utilizar para probar muchos hechos sobre los conjuntos re; los requisitos utilizados y la manera en que se satisfacen deben elegirse cuidadosamente para producir el resultado requerido.

Por ejemplo, una simple (y por lo tanto no computable re) baja X (baja 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 colocamos 1 hasta ahora (por lo que X =∪ n T n ; T 0 =∅); y sea P n ( m ) la prioridad para no emitir 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 menor 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 ∀ mS \ T n P n ( m )≥ i . Elija cualquiera de estos (finitos) S , 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 a la 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 detención; todas las prioridades son eventualmente constantes.

Para ver que X es bajo, la máquina i se detiene en X si y solo si se detiene en < n pasos en algún T n tal que las máquinas < i que se detienen en X lo hacen en < n - i pasos (por recursión, 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 solo si Y \ X no está vacío, lo que contradice la construcción ya que X excluye algunas celdas de prioridad i para i arbitrariamente grande ; y X es simple porque para cada i el número de celdas de prioridad i es finito.

Véase también

Referencias

Monografías (nivel de pregrado)

Monografías y artículos de investigación (nivel de posgrado)

Documentos de investigación

Notas

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