Hay muchos (y quiero decir muchos) idiomas contables que son decidibles por Turing. ¿Puede cualquier lenguaje incontable ser Turing decidible?
formal-languages
turing-machines
regular-languages
church-turing-thesis
Jyotirmoy Pramanik
fuente
fuente
Respuestas:
Cada idioma sobre un alfabeto finito (o incluso contable) es contable. Suponiendo que el alfabeto de su máquina Turing es finito, cualquier idioma que pueda aceptar es contable.
fuente
Podemos tener innumerables idiomas solo si permitimos palabras de longitud infinita, véase, por ejemplo , el lenguaje Omega-regular . Estos idiomas se llamanω -lenguajes. Otro ejemplo será el lenguaje del subconjunto de reales que contiene, por ejemplo, expansiones decimales de todos los números reales.
Hay algunos modelos en los que las máquinas de Turing se modifican para aceptar idiomas . Algunos de estos modelos utilizan la condición de Buchi para su aceptación. Como no puede ver la totalidad de la entrada en tiempo finito, decimos que la entrada se acepta si la máquina de Turing ingresa en el estado de aceptación infinitas veces. Si podemos probar esto analizando la entrada (no ejecutándola), decimos que la entrada es aceptada.ω
fuente
La computabilidad clásica analiza funciones sobre cadenas finitas de un alfabeto finito. Como resultado, todos los idiomas, ya sean decidibles o indecidibles, son contables.
Para considerar innumerables idiomas , tenemos que mirar cadenas infinitas en lugar de cadenas finitas. (AFAIK, tener un alfabeto infinito no es muy interesante y no corresponde a un modelo realista de computación en sí mismo).
Existen modelos de computación en los que podemos manejar cadenas infinitas que nos permiten representar objetos de innumerables dominios como números reales. Estos a menudo se representan como cálculos de tipo superior. Un modelo que usa máquinas Turing es el modelo TTE. En este modelo, la entrada puede ser cadenas infinitas y las máquinas pueden acceder a cualquier elemento de la cadena que desee. La máquina no necesita terminar, sin embargo, existen condiciones para asegurarse de que la salida de la máquina converja.
Supongamos que la entrada de nuestra máquina es de , es decir, cadenas infinitas del alfabeto Σ , por ejemplo, Σ = { 0 , 1 } . Entonces hay Σ N = 2 N cadenas. Por lo tanto hay 2 2Σω Σ Σ={0,1} ΣN=2N idiomas posibles. El número de máquinas TTE Turing todavía es contable. Entonces, la mayoría de estos idiomas son indecidibles.22N
Pero hay algo aún más interesante aquí: si desea que la máquina se detenga siempre, podrá leer solo una parte inicial finita de la entrada. Como resultado tenemos lo siguiente: Sea una máquina TTE que siempre se detiene (en tiempo finito). Luego hay un lenguaje sin prefijo L ∈ Σ ∗ y una máquina de Turing N tal que para cualquier x ∈ Σ ω , M acepta x iff N acepta la parte inicial de xM L∈Σ∗ N x∈Σω M x N x que está en L .
Para decirlo en términos simples, el cálculo de las máquinas Turing Turing que siempre se detienen se determina mediante el cálculo de una máquina Turing en cadenas finitas.
Permítanme dar un ejemplo de lenguajes decidibles e indecidibles de cadenas infinitas:
Para cualquier el lenguaje de cadenas infinitas cuya posición k es 0 es decidible. Lo mismo con la posición de k ésima 1. La intersección de dos idiomas decidibles es decidible, por ejemplo, cadenas cuya tercera posición es 0 y 6.k∈N k k 3 6 ª posición es 1.
La unión de cualquiera de los dos idiomas decidibles es decidible. Ej. Cadenas que comienzan con o0 .10
Sea una lista computablemente enumerable de lenguajes decidibles. Entonces L = ∪ i L i es semi-decidible, es decir, hay máquina que se detiene y acepta cada vez que una cuerdas en L y no acepta cuando las cuerdas no es en L . Si no está en L, la máquina podría no detenerse. Se puede obtener cualquier idioma semidecidible mediante la unión de una lista enumerable de idioma del formulario que figura en el punto 1 anterior.Li L=∪iLi L L L
Un idioma es decidible si tanto el idioma como su complemento son semi-decidibles.
fuente