17 votos

Lenguajes más allá de los enumerables

A idioma es un conjunto de cadenas de longitud finita de un alfabeto finito $\Sigma$ . No es una pérdida de generalidad (para mis propósitos) tomar $\Sigma=\{0,1\}$ por lo que un lenguaje es un conjunto de cadenas de bits.

Las lenguas se suelen clasificar en una jerarquía, con el

  • enumerable $\equiv$ enumerable recursivamente $\equiv$ Turing-reconocible

el conjunto más externo, más allá de la decidibilidad:


     
      (Figura de Sipser .)

Mi pregunta es sobre la terminología que extiende esta jerarquía. Los no enumerables están claramente fuera de los enumerables ( $\equiv$ Turing-reconocible). Pero algunos idiomas $L$ son enumerables pero su complemento $\overline{L}$ no es enumerable (como el lenguaje de todas las máquinas de Turing que se detienen en una entrada dada), mientras que otros lenguajes $L$ no son enumerables, y su complemento $\overline{L}$ tampoco es enumerable (como los pares de máquinas de Turing "equivalentes").

Q1 . ¿Existen nombres estándar para los idiomas que se salen del el diagrama anterior?

El conjunto de todas las lenguas es incontable, por lo que hay mucho espacio para ampliar el diagrama. Pero no he visto una expansión clara y "estándar".

Busco una progresión cada vez más lejana hacia lo incontable para ayudar a los alumnos (¡y a mí!) a ver la inmensidad. Busco el equivalente de esta jerarquía icónica de la teoría de la complejidad:


     
      (Imagen de TIC Séneca .)


Q2 . ¿Existe un diagrama equivalente en la teoría del lenguaje?

25voto

marcospereira Puntos 3144

Sí, para empezar está el jerarquía aritmética , donde enumerable = $\Sigma^0_1$ y continúa $\Pi^0_1$ , $\Delta^0_2$ , $\Sigma^0_2$ etc.

Véase también el Menagerie de comptabilité .

enter image description here

11voto

thedeeno Puntos 12553

En mi respuesta a una pregunta sobre los grados de irracionalidad En su día, publiqué el siguiente resumen de los grados de complejidad, que al final creo que llega al ámbito de las jerarquías superiores de la inmensidad a las que pareces aspirar.

Respuesta a ¿Hay números más irracionales que otros?

Las demás respuestas y comentarios son fascinantes, en particular sobre la medida de la irracionalidad, pero permítanme dar un poco más de información en la línea de de la respuesta de Mark Sapir mencionando que hay varias jerarquías de complejidad muy grandes e intensamente estudiadas para números reales. Después de las nociones familiares iniciales vienen varias otras...

  • racional

  • algebraico

  • computable

Los reales computables son aquellos para los que podemos calcular aproximaciones racionales con cualquier precisión deseada, mediante máquinas de Turing de Turing. (Un concepto utilizado en computable análisis .) Los subconjuntos computables de $\mathbb{N}$ son aquellos para los que podemos calcular sí/no respuestas para la adhesión en un tiempo tiempo finito. Por ejemplo, todos los números que menciona en la pregunta, como $\pi$ y $e$ son computables.

  • enumerable computacionalmente

Los subconjuntos c.e. de $\mathbb{N}$ son aquellos para los que existe existe un procedimiento de enumeración computable. De forma equivalente, se puede puede calcular el respuestas para la adhesión en un tiempo tiempo finito. El concepto de computabilidad relativa (de oráculo) conduce a la jerarquía de Turing grados , que mide la complejidad computable comparativa de un real.

  • aritmética

Un verdadero $x$ es aritmética si sus dígitos pueden ser definidos por una definición que implique sólo la cuantificación sobre los números naturales y operaciones primitivas. Equivalentemente, los subconjuntos aritméticos de $\mathbb{N}$ surgen de los subconjuntos computables de $\mathbb{N}^k$ por proyección y complemento. El aritmética jerarquía se divide naturalmente en niveles, como $\Sigma^0_n$ y $\Pi^0_n$ correspondiente a la complejidad lógica de estos definiciones, y estos niveles son refinados por los grados de Turing grados. Por ejemplo, el conjunto de programas de la máquina de Turing $p$ que computan las funciones totales forman un completo $\Pi^0_2$ conjunto. La noción relativizada conduce a los grados aritméticos.

  • hiperaritmética

Un verdadero es hiperaritmética si se puede definir mediante dos definiciones equivalentes, una con un solo cuantificador universal cuantificador universal sobre los reales y otra con un solo cuantificador cuantificador existencial sobre los reales, y por lo demás cualquier nivel de cuantificadores aritméticos. Esto es lo mismo que $\Delta^1_1$ . El hiperaritmética jerarquía se estratifica en una jerarquía de longitud $\omega_1^{CK}$ , a versión ligera de la jerarquía de Borel, en la que se utilizan uniones y complementos contables uniformemente computables. La noción relativizada de noción relativizada conduce a los grados hiperaritméticos, un análogo hiperaritmético de los grados de Turing.

  • proyectiva

Un verdadero es proyectiva si se puede definir mediante una descripción que cuantifica sólo sobre el conjunto de los números reales números reales, más la cuantificación de los números naturales y las operaciones primitivas. La página web proyectiva jerarquía se estratifica considerando la complejidad lógica de estas definiciones, con niveles $\Sigma^1_n$ y $\Pi^1_n$ . Por ejemplo, los conjuntos analíticos de cara a la luz son $\Sigma^1_1$ y co-analítica es $\Pi^1_1$ siendo la hiperaritmética $\Delta^1_1=\Sigma^1_1\cap\Pi^1_1$ .

  • construible

Un verdadero es construible si existe en la universo construible $L$ . El concepto de constructibilidad relativa da lugar a los grados de constructibilidad, por los que $x\sim y\leftrightarrow L[x]=L[y]$ formando una rica jerarquía.

  • ordinal definible

Un real (o conjunto) es ordinal definible si existe una definición de la misma en el lenguaje de la teoría de conjuntos utilizando parámetros ordinales. Por ejemplo, el real cuyo $n^{th}$ dígito binario es $1$ por si acaso $2^{\aleph_n}=\aleph_{n+1}$ es definible ordinalmente. La clase HOD de todos los conjuntos definibles hereditariamente ordinales satisface ZFC, pero puede ser estrictamente menor que el universo de todos los conjuntos.

  • genérico

Un verdadero es genérico en $L$ (o algún otro universo fijo $V$ ) si existe en una extensión forzada de $L$ (o $V$ ) por forzamiento del conjunto. Por supuesto, es relativamente consistente con ZFC que todo real es genérico sobre $L$ ya que esto es cierto en $L$ pero bajo algunos axiomas cardinales grandes, hay son reales, como $0^\sharp$ que no puede ser añadido por forzando sobre $L$ .

Los niveles superiores de estas últimas jerarquías están estratificadas por la enorme variedad de modelos de la teoría de conjuntos que surgen de los grandes cardinales, diversas construcciones de modelos internos, extensiones forzadas, etc., de modo que la jerarquía pierde su naturaleza lineal, convirtiéndose en una densa jungla de varios conceptos de la teoría de conjuntos que interactúan.

5voto

xilun Puntos 261

Hay muchas clases de lenguajes de este tipo, dependiendo del enfoque que se quiera utilizar. Permítanme centrarme en una sola clase: el hiperaritmética (¿hiperaritmética?), y tratar de explicar por qué es una clase muy natural, mencionando varias definiciones equivalentes de la misma:

  • " Computabilidad en un funcional de tipo 2 ": un conjunto hiperaritmético de números enteros es aquel que puede ser calculado por una máquina "hiperaritmética", donde una máquina "hiperaritmética" es aquella que puede hacer todo lo que puede hacer una máquina de Turing, pero con la capacidad adicional de decidir si una función $f\colon \mathbb{N} \to \mathbb{N}$ toma un valor no nulo, donde la función $f$ es mismo calculado por una máquina hiperaritmética. (En otras palabras, dada una máquina hiperaritmética que calcula $f$ , de tal manera que $f(n)$ se define para cada $n\in\mathbb{N}$ una máquina hiperaritmética puede calcular cada $f(n)$ de una vez y decidir si hay una tal que $f(n)\neq 0$ en cuyo caso, por supuesto, también puede encontrar trivialmente la correspondiente $n$ ; si no todos los $f(n)$ se define porque la máquina que los computa no se detiene, entonces la llamada global tampoco se detendrá). Esta definición es recursiva, por supuesto, y no la he formalizado completamente, pero sigue teniendo sentido como la más pequeña que satisface las condiciones. En la literatura clásica de la computabilidad, esta descripción se llama "computabilidad [à la Kleene] en el tipo 2 funcional $\mathbf{E}$ ", pero aparentemente nunca se describe en términos de "máquinas" como he intentado esbozar.

  • En la práctica, una máquina hiperaritmética es aquella que puede calcular no sólo con números enteros, sino también con números reales exactos (es decir, secuencias de enteros), no todo números reales sino, precisamente, los que son hiperaritméticos. Creo que esto hace que la definición sea bastante natural.

  • Otra forma de reformular la misma definición es que una máquina hiperaritmética es aquella que puede calcular infinitas conjunciones/disyunciones (lógicas y/o), siempre que los términos de la conjunción/disyunción se calculen a su vez hipoaritméticamente. Esto es sólo una reformulación de lo anterior, pero proporciona un vínculo con ciertos tipos de lógica infinita.

  • " Metarecursion "un conjunto de números enteros es hiperaritmético cuando puede ser calculado por una máquina parecida a una máquina de registros, excepto que los registros pueden contener valores ordinales, los ordinales van hasta el ordinal de Church-Kleene (= ordinal más pequeño no recursivo) $\omega_1^{\mathrm{CK}}$ y se permite a la máquina hacer un "bucle" hasta ese valor (he intentado resumir la idea de estos cálculos ordinales aquí en cuya terminología estaría hablando de $(\omega_1^{\mathrm{CK}},\omega_1^{\mathrm{CK}})$ -máquinas). Estas máquinas pueden calcular mucho más que conjuntos de enteros, pero los conjuntos de enteros que pueden calcular son precisamente los hiperaritméticos.

  • _El nivel $\Delta^1_1$ de la jerarquía analítica_ es de nuevo la clase de los conjuntos hiperaritméticos: esencialmente aquellos conjuntos de enteros que pueden definirse utilizando un cuantificador de segundo orden, tanto de forma existencial como universal. Se trata de un análogo (el llamado análogo "de cara a la luz") de una de las definiciones de conjuntos de Borel en la teoría descriptiva de conjuntos.

  • Iteración del salto de Turing : a $0$ -máquina es sólo una máquina de Turing; una $0'$ -es aquella que tiene acceso a un oráculo que puede decirle si un $0$ -la máquina se detiene; a $0''$ -es aquella que tiene acceso a un oráculo que puede decirle si un $0'$ -la máquina se detiene; a $0^{(n)}$ -máquina es lo que se imagina; una $0^{(\omega)}$ -máquina (o máquina aritmética) es aquella que tiene acceso a un oráculo que puede decirle, dado $n$ Si un $0^{(n)}$ -se detiene; es posible (aunque no completamente trivial) iterar esto sobre los ordinales recursivos, y los conjuntos hiperaritméticos son precisamente aquellos que son reconocidos por un $0^{(\alpha)}$ -máquina para algún ordinal recursivo  $\alpha$ .

  • Los conjuntos de enteros pertenecientes al nivel $L\{\omega_1^{\mathrm{CK}}}$ de Gödel universo construible donde cada nivel se define esencialmente añadiendo cada subconjunto del nivel anterior que puede definirse en él mediante una fórmula de primer orden. Además, este nivel $L\{\omega_1^{\mathrm{CK}}}$ es la primera que satisface una cantidad considerable de la teoría de conjuntos, a saber Kripke-Platek .

Dado que todas estas definiciones conspiran para dar la misma clase de conjuntos hiperaritméticos, creo que es justo decir que es una clase natural. Hay muchas clases tanto por encima como por debajo, pero creo que ésta merece ser más conocida.

(Además, en cuanto a la complejidad: también hay muchas clases entre $\mathsf{EXPTIME}$ y $\mathsf{REC}$ : hay $\mathsf{ELEMENTARY}$ y $\mathsf{PR}$ pero también muchas clases que se pueden definir entre la clase $\mathsf{PR}$ de conjuntos/funciones recursivas primitivas y que $\mathsf{REC}$ de conjuntos/funciones recursivas, y que intentan salvar la brecha entre complejidad y computabilidad. Estas jerarquías "subrecursivas" también merecen ser más conocidas).

4voto

Khaled Musaied Puntos 798

Bjørn mencionó las jerarquías aritméticas y analíticas y Joel dio algunas de las grandes clasificaciones más allá de eso, pero también hay una teoría de las gradaciones más finas ( Grados Turing ). El ascenso de niveles en las jerarquías aritméticas y analíticas se realiza mediante la iteración del Salto de Turing hasta una profundidad transfinita una vez superada la jerarquía aritmética.

La jerarquía polinómica en la teoría de la complejidad es análoga a la jerarquía aritmética en la lógica.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X