LENGUAJES RECURSIVAMENTE ENUMERABLES
MÁQUINAS DE TURING. DECIDIBILIDAD
OTROS MODELOS COMPUTACIONALES
Francisco Hernández Quiroz Departamento de Matemáticas
Facultad de Ciencias, UNAM E-mail: [email protected] Página Web: www.matematicas.unam.mx/fhq
Facultad de Ciencias
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 1 / 69
Entscheidungsproblem I
Las máquinas de Turing se inventaron para contestar una pregunta abierta en lógica matemática:
Seanα1,. . .,αnfórmulas del cálculo de predicados a las que
llamaremosaxiomas.
Seaθotra fórmula a la que llamaremoscandidato a teorema.
Queremos un método para poder contestar la pregunta ¿α1,. . .,αn|=θ?
(Que se lee “¿θes una consecuencia lógica deα1,. . .,αn?”)
Éste es elproblema clásico de la decisiónoEntscheidungsproblem.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 2 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Procedimiento efectivo
El método que buscamos deberá tener las siguientes características:
1 Deberá expresarse en términos tan formales como las instancias del
problema.
2 Deberá ser “mecánico”: su aplicación se basará en reglas que se
siguen sin necesidad de interpretación o de “inspiración”.
3 El método deberá especificarse de manera finita.
4 Los recursos utilizados deben ser finitos tanto espacial como
temporalmente y, de preferencia, deben poder acotarse con anticipación.
Church y Turing demostraron que no existe un método para resolver el
Entscheidungsproblemque cumpla con lo anterior.
De paso, inventaron dos de los modelos más populares de computación.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Máquinas de Turing (
TM)
Unamáquina de Turinges un mecanismo muy simple que consiste en una cinta de lectura y escritura, una cabeza de lectura y escritura que recorre esta cinta (y que puede estar en diferentes estados) y una función que regula los movimientos de la cinta.
a a b b c c · · ·
↑ q
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Definición formal
Una máquina de Turing está formada por los siguientes elementos:
un conjunto de estadosQ;
un alfabeto de entradaΣ;
un alfabeto de cinta, conΣ⊆Γ;
una función de transiciónδ :Q×Γ→Q×Γ× {→,←}
los estados inicial, de aceptación y de rechazos,t,r ∈Q,
respectivamente;
el símbolo de espacio en blanco ∈Γ−Σ;
el símbolo de inicio de la cinta ∈Γ.
Es imposible moverse a la izquierda del símbolo de inicio. Los estados de aceptación y rechazo no se pueden abandonar.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 5 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Aceptación y rechazo I
Una configuración es una terna(q, α ∞,n),
dondeq∈Q,α∈Γyn∈N. La configuración inicial es
(s, α ∞, 0) α∈Σ∗. Definiremos una relación entre configuraciones. Sean
α[n]
eln-ésimo símbolo de la cadenaαy
α[n/x]
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 6 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Aceptación y rechazo II
la cadena resultante de sustituir ese símbolo porx.
Entonces:
(q,α,n) ⇒(r,β,m) sii δ(q,α[n])=(r,b,→),β=α[n/b],m =n+ 1
o bien δ(q,α[n])=(r,b,←),β=α[n/b],m =n−1
⇒∗es la cerradura transitiva y reflexiva de esta relación.
Una máquina de TuringM se detienecon una entradaα∈Σ∗sii
(s, α ∞, 0)⇒∗ (q, β ∞,n) conq=to bienq=r.
El lenguaje aceptado porMes
L(M)={α∈Σ∗ |(s, α ∞, 0)⇒∗ (t, β ∞,n)}.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Ejemplos
Una máquina que acepta{anbncn}, conQ={s,q1,. . .,q10,t,r},
Σ={a,b,c},Γ={a,b,c, , , }yδdefinida por la tabla
a b c s (s, ,→) (s,a,→) (q1,b,→) (q2,c,→) (q3, ,←) q1 (r,−,−) (q1,b,→) (q2,c,→) (q3, ←) q2 (r,−,−) (r,−,−) (q2,c,→) (q3, ,←) q3 (t,−,−) (r,−,−) (r,−,−) (q4, ,←) (q3, ,←) q4 (r,−,−) (r,−,−) (q5, ,←) (q4,c,←) (q4, ,←) q5 (r,−,−) (q6, ,←) (q5,b,←) (q5, ,←) q6 (q7, ,→) (q6,a,←) (q6, ,←) q7 (q8, ,→) (r,−,−) (r,−,−) (q7, ,→) (t,−,−) q8 (q8,a,→) (q9, ,→) (r,−,−) (q8, ,→) (r,−,−) q9 (q9,b,→) (q10, →) (q9, ,→) (r,−,−) q10 (q10,c,→) (q10, ,→) (q3, ,←)
Variantes de máquinas de Turing
Existen variantes de lasTMque no añaden poder computacional (aunque sí
ventajas prácticas):
Máquinas con varias cintas (se presentará el caso particular de dos cintas).
Máquinas con cintas infinitas en ambos sentidos. Máquinas no deterministas.
El último caso tiene interés especial en la teoría de la complejidad. Todas estas variantes pueden reducirse al modelo original.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 9 / 69
Varias cintas I
Una máquina de Turing con dos cintas tiene una función de transición
δ :Q×Γ2×Q→Q×Γ2× {→,←}2 a a b b c c · · · ↑ q ↓ a b c a b c · · ·
Esta máquina se puede simular con una máquina de una sola cinta con alfabeto
Γ1={ } ∪Σ∪(Γ∪ {aˆ|a∈Γ})2. La cinta de esta máquina se ve así
a aˆ b b c c · · ·
a b c a bˆ c · · ·
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 10 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Varias cintas II
La nueva máquina utiliza con símbolos del tipo ˆapara indicar la posición en
cada una de las cintas de la máquina original y simula de esta forma una transición original con una serie de transiciones en la nueva máquina.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Cinta infinita en ambos sentidos
Una máquina con cinta infinita en ambos sentidos se puede simular por medio de una máquina con dos cintas:
Se elige un punto arbitrario en la cinta original. Se divide la cinta original a partir de este punto.
Se copia la información de la cinta original a las dos cintas nuevas, invirtiendo el orden de una de ellas para simular la parte infinita hacia la izquierda.
. . . a a a a b b b b c c c c . . . ↑
b b a a a a . . . b b c c c c . . .
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
TM
no deterministas I
Una máquina de Turing no determinista (NTM) es similar a unaTM, excepto
por
δ :Q×Γ→P(Q×Γ× {→,←}).
La aceptación se produce sii existe una secuencia de elecciones que lleve al estado de aceptación.
Para reducir unaNTMa unTMse utilizará una máquina con tres cintas:
la primera cinta tendrá la entrada original;
la segunda contendrá secuencias de los dígitos 1,. . .,r, separadas por
el símbolo#ordenadas por longitud y lexicográficamente:
1 # 2 # ··· # r # 11 # 12 # ··· # rr # 111 # 112 # ···
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 13 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
TM
no deterministas II
en la tercera cinta se copiará la entrada original y se “procesará” de acuerdo con las instrucciones de la máquina original, elegidas de acuerdo con las secuencias de la cinta 2:
donderes el número máximo de opciones que contiene la funciónδoriginal.
Esta máquina aceptará la entrada sii en alguna de las simulaciones de la máquina original acepta.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 14 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Definición y ejemplos Variantes Recursivo vs. recursivamente enumerable
Lenguajes recursivos y recursivamente enumerables
SeaM ∈TM. Dada una cadenaα∈Σ∗, tenemos tres posibilidades:1 M aceptaα, es decir,hs, α ω, 0i ⇒∗
M ht, β ω,ni;
2 M rechazaα, es decir,hs, α ω, 0i ⇒∗
M hr, β ω,ni;
3 M no hace ninguna de las dos cosas anteriores pues entra en unciclo
infinito.
Diremos queMestotalsi para todaα∈Σ∗,M acepta o rechazaα.
Definiremos ahora dos tipos de lenguajes. SeaL⊆Σ∗.
Lesrecursivo(rec) sii existe unaM ∈TMtotaltal queL=L(M);
Lesrecursivamente enumerable(r.e.) sii existe unaM ∈TMtal que
L=L(M);
Como se verá más adelante, algunos lenguajes que son r.e.noson rec.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Propiedades decidibles, indecidibles y semidecidibles
SeaPuna propiedad de cadenas enΣ∗, i.e.,P(α)=V siiPes verdadera
deα. Por ejemplo, la propiedad
Primo(α)=V sii |α|=nynes primo.
Una propiedadPes
decidible sii {α|P(α)=V}es recursivo
indecidible sii {α|P(α)=V}no es recursivo
Indecidibilidad
De acuerdo con la definición,todas las propiedades decidibles son semidecidibles.
Sin embargo, algunas propiedades semidecidibles son indecidibles. Peor todavía, existen también propiedades indecidibles que no son siquiera semidecidibles.
Para demostrar lo anterior, construiremos máquinas de Turing que se basan en la idea de universalidad.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 17 / 69
Codificación de máquinas de Turing I
El primer paso es representar de manera adecuada una máquina de Turing adecuada. Un esquema posible es el siguiente. Sea
M =hQ,Σ,Γ,δ,s,t,r, , iuna TM con |Q| = i |Σ| = j |Γ| = k s elm-ésimo estado t eln-ésimo estado r elp-ésimo estado elq-ésimo carácter deΣ elr-ésimo carácter deΣ
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 18 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM TM universal Problema de la detención Reducción≤m Teorema de Rice
Codificación de máquinas de Turing II
Entonces la cadena binaria siguiente codifica esta información 0i10j10k10m10n10p10q10r1
Y una transición en deltaδ(su,av) =(sw,ax,→)está representada por la
cadena
0u10v10w10x101
Mientras que la transiciónδ(su,av)=(sw,ax,←)queda codificada en la
cadena
0u10v10w10x111.
Finalmente una cadena enΓde la forma
an1an2· · ·anz
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM TM universal Problema de la detención Reducción≤m Teorema de Rice
Codificación de máquinas de Turing III
queda codificada por la cadena
0n110n21· · ·0nz1
En adelante, designaremos conhMiyhαilas codificaciones de la TMMy la
cadenaα, respectivamente.
Si las queremos combinar en una cadena usaremos el símbolo # para separarlas:
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM TM universal Problema de la detención Reducción≤m Teorema de Rice
Máquina de Turing universal
Dada esta codificación, se puede crear un máquina de Turing que, para
todasM ∈TM yα∈ΣM,simulela ejecución de las instrucciones de
M con la entradaαa partir de la cadena
hMi#hαi.
Llamaremosmáquina de Turing universal(o para abreviar TMU) a esta
máquina y, con algunas leves modificaciones propias de cada caso, la usaremos como base para construir TM especiales.
Por ejemplo, podemos modificar la TMU de tal forma que al terminar de
simularMconαacepte la cadenahMi#hαisiiMaceptóα.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 21 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Problema de la detención
HPCon las codificaciones anteriores podemos definir dos conjuntos:
HP = {hMi#hαi |Mse detiene con la entradaα}
MP = {hMi#hαi |α∈L(M)}.
El primer conjunto debe su nombre a que describe lo que se conoce
como elproblema de la detención(halting problem); y el segundo, el
problema de la pertenencia(membership problem).
Si HP fuera rec, la pregunta de si una TM dada se detiene con una entrada particular sería decidible. Algo análogo se puede plantear para MP.
En cambio, es muy fácil ver que ambos son r.e., pues una leve adaptación de la TMU nos lleva a tener TM que aceptan HP y MP (véase la lámina anterior).
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 22 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
HP no tiene solución total I
HP no es rec, i.e. la pregunta de si una TM se detiene con una entrada no es decidible. Si aceptamos la tesis de Church-Turing, esto equivale a
decir que no existe unprocedimiento efectivopara responder siempre
esta pregunta.
Antes de demostrar lo anterior, véase cómo la codificación de las TM nos permite ordenarlas lexicográficamente.
Se puede hacer lo mismo con las cadenas y, gracias a esto, construir una tabla como la siguiente:
TM/cad. 0 1 . . . α . . .
M s s n . . . n . . .
M0 s s s . . . n . . .
. . . .
Mβ n n s . . . n . . .
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
HP no tiene solución total II
donde tenemos s en la entrada(Mβ,α)si la TM codificada por la
cadenaβse detiene con la entradaα; y n, en caso contrario.
Por reducción al absurdo, supongamos que existe una TM totalHtal
que
L(H)=HP ={hMi#hαi |Mse detiene conα}
Hnos permitiría construir la tabla anterior sin error, pues
hMi#hαi ∈L(H)
siiMse detiene con la entradaα.
Considérese a hora la siguiente TM,H: para toda entradahMi#hαi,H
la acepta siHla rechaza, y entra en un ciclo trivial en caso contrario.
Obsérvese cómoHes muy fácil de construir, suponiendo que
HP no tiene solución total III
Por otro lado, la lista de TM codificada es exhaustiva (pero veremos que
Hno está ahí).
Nos podemos preguntar ahora si
hHi#hHi ∈HP,
lo que equivale a decir queHse detiene cuando recibe como entrada la
cadena que la codifica.
Pero en ese caso, por la definición deH, esta TM debe entrar en un
loop trivial cuando tiene como entrada su propia descripción, lo cual contradice nuestra hipótesis.
Si por el contrario suponemos que
hHi#hHi 6∈HP, llegamos a una contradicción análoga.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 25 / 69
HP no tiene solución total IV
En conclusión, la suposición de queHexiste nos lleva una
contradicción.
La demostración anterior se basa en el método de diagonalización de
Cantor, puesHes la negación de la diagonal de la tabla anterior, lo que
la hace diferir de todas los renglones de la lista.
Esto contradice el supuesto de que la lista es exhaustiva.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 26 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Problemas indecidibles o que no son semidecidibles
El problema de la detención no es el único indecidible; el problema de la pertenencia tampoco es decidible.
Sin embargo, ambos problemas son semidecidibles, i.e., HP y MP son r.e.
Para demostrarlo, se necesitan adaptaciones muy simples de la TMU.
DadasM ∈TM yα∈Σ∗:
se simulaMconαy se aceptahMi#hαisiMaceptaα(el lenguaje aceptado es MP);
se simulaMconα, pero se aceptahMi#hαisiMtermina, ya sea con aceptación o rechazo (el lenguaje aceptado es HP).
Otros problemas no son siquiera semidecidibles, e.g. determinar si una
TMnose detiene con una entrada:
∼HP ={hMi#hαi |Mno se detiene conα}.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Complementos de lenguajes I
El caso de∼HP se puede demostrar por medio de un teorema muy general.
Definición
Sea L⊆Σ∗. Designaremos su complemento con∼L. Si∼L es rec (r.e.), entonces diremos que L es co-rec. (co-r.e.).
Teorema
(a) Si tanto L como∼L son r.e., entonces ambos son rec. (b) Si L es rec, entonces es co-rec.
Dem. (a) SiLy∼Lson r.e., existenM,M ∈TMtales que
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Complementos de lenguajes II
La TMU se puede adaptar muy para obtenerN ∈TMtal que
L(N)=LyNes total.
Nfunciona así:
Ntiene dos cintas y∀α∈Σ∗
NsimulaMen la primera cinta
NsimulaMen la segunda cinta
las simulaciones se realizan alternando pasos (para evitar la posibilidad
de queNentre en un ciclo infinito siMoM lo hacen)
siMaceptaα,Nacepta
siMaceptaα,Nrechaza.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 29 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Complementos de lenguajes III
Dado queα∈L=L(M)o bienα∈L=L(M),Nsiempre se detiene y, por
tanto,Les recursivo.
Se puede construir unaTMtotal para∼Lde manera análoga.
Para (b) la hipótesis implica la existencia de unaTMtotal que aceptaL.
Basta modificar estaTMinvirtiendo los estados de aceptación y rechazo
para obtener otraTMtotal que acepta∼L.
Corolario
Corolario.∼HP no es r.e.
Dem. HP es r.e, y (a) implicaría que si∼HP también fuera r.e., ambos serían
rec y ya se demostró que HP no es rec.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 30 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Funciones computables
Hasta ahora hemos visto las TM como mecanismos para decidir problemas (i.e., responder preguntas con sí o no).
Pero también podríamos verlas como formas de calcular funciones.
SeaM ∈TM, conΣyΓcomo alfabetos de entrada y de la cinta,
respectivamente. Entonces, podemos definir una función
fM :Σ∗ →Γ∗como
{(α,β)| hsM,α, 0i ⇒∗M ht,β,ni}.
Obsérvese quefM no tiene por qué ser total.
Por otro lado, diremos que la funciónσ :Σ∗ →∆∗es:
(a) Turing-computablesii existe unaM∈TMtal queσ=fM; (b) computablesii existe unaM∈TM totaltal queσ=fM.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Reducción
≤
mI
Definición
Sean A⊆Σ∗y B⊆∆∗. Una reducción (no inyectiva) de A a B es una función computableσ:Σ∗ →∆∗tal que para todaα∈Σ∗
α∈A sii σ(α)∈B.
En general, escribiremos A≤m B sii existe una reducción de A a B.
El siguiente teorema será de gran utilidad en adelante: Teorema
Sean A,B ∈Σ∗y A≤m B. Entonces:
(a) Si B es r.e (rec), entonces A también es r.e (rec). (b) Si A no es r.e. (rec), entonces B tampoco es r.e. (rec).
Reducción
≤
mII
Dem. Por hipótesis, existeσcomputable tal que para todaα∈Σ∗
α∈A sii σ(α)∈B.
En el caso (a) existe unaM ∈TM(total) tal queL(M)=B. Entonces,
podemos construir unaN∈TM(total) tal queL(N)=A.
Nprocede así:
para todaα,Ncalculaσ(α);
simulaM conσ(α);
acepta siMaceptaσ(α).
Entonces
NaceptaαsiiMaceptaσ(α)siiσ(α)∈Bsiiα∈A.
En cuanto a (b), es fácil ver que la reducciónσnos permitiría decidir la
pertenencia aApor medio de la pertenencia aBsiBfuera r.e. (rec).
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 33 / 69
Ejemplos
Sea FIN ={hMi |L(M)es finito} Entonces HP≤m MP ∼HP≤m FIN.El primer ejemplo se resuelve con unaK ∈TMtotal que, a partir de una
cadenahMi#hαi, genera otraM0 ∈TMque, para toda entradaβ, simula
Mconαy, si esta se detiene, aceptaβ.
M0acepta todas las cadenas siiM se detiene conα.
K computa laσdeseada y la pregunta ¿hMi#hαi ∈HP? se convierte en la
pregunta ¿hM0i#hγi ∈MP?, para cualquierγarbitraria.
El segundo caso se puede demostrar con una construcción similar.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 34 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Propiedades no triviales de lenguajes r.e.
SeaΣun alfabeto y consideremos ahora sólo los subconjuntos deΣ∗que
sean lenguajes r.e.
Nos interesan propiedades de lenguajes r.e. como las siguientes: ser regular;
ser unCFL;
ser infinito; incluir a.
SeaPuna propiedad yLun lenguaje. SiPes cierta deLescribiremos
P(L)=V. En caso contrario,P(L)=F.
Una propiedad que es cierta de algunos lenguajes r.e. pero no de otros esno
trivial. Todos los ejemplos anteriores son no triviales.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Propiedades decidibles
Hay que observar que hablamos de propiedades de lenguajes y no de
cadenas. Sin embargo, los conceptos dedecidibilidad, semidecibilidad e
indecibilidadse pueden extender a estas propiedades.
SeaPuna propiedad y seaLun r.e. EntoncesPesdecidiblesii
∃M,N∈TM.L(N)=L∧Mes total ∧(hNi ∈L(M)⇔P(L)=V).
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Teorema de Rice I
SeaPuna propiedad no trivial de lenguajes r.e. EntoncesPes indecidible.
Demostración. ReduciremosHPal lenguaje
{hMi |P(L(M))=V}.
Supongamos queP(∅)=F. ComoPno es trivial, existeAr.e. tal que
P(A)=V.
SeaMA∈TMtal queL(MA)=A.
Dada unaN∈ TMy unaα∈Σ∗N, construimos unaK =σ(hNi#hαi)tal
que para todaβ ∈Σ∗K
1 preserva una copia deβen una cinta separada;
2 escribeαen su cinta;
3 simulaNconα;
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 37 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Teorema de Rice II
4 siNse detiene conα, simulaM
Aconβy acepta siMAacepta.
SihNi#hαi 6∈HP,L(K)=∅. En caso contrario,L(K)=L(MA)=A. Es
decir,
hNi#hαi ∈HP ⇒ L(K) =A ⇒ P(L(K))=P(A)=V hNi#hαi 6∈HP ⇒ L(K) =∅ ⇒ P(L(K))=P(∅)=F
es decir,
HP≤m{hMi |P(L(M))=V}.
ComoHPno es rec,{hMi |P(L(M))=V}tampoco lo es yPes indecidible.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 38 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Segundo teorema de Rice I
SeaPuna propiedad de lenguajes r.e. Diremos quePes monótona si∀A,B
r.e.
A⊆B∧P(A)=V ⇒P(B)=V.
Por ejemplo, la propiedad de contener aes monótona, lo mismo que la
propiedad de ser infinito, pero las propiedades de ser finito o regular no son monótonas.
Segundo teorema de Rice. SeaPuna propiedad de lenguajes r.e. no
monótona. EntoncesPno es siquiera semidecidible.
Demostración. Por reducción de∼HPal conjunto
{hMi |P(L(M))=V}.
Para esto,∀M ∈TM,∀α∈Σ∗Mconstruimos unaK ∈TMtal que
hMi#hαi ∈∼HP sii hKi ∈ {hMi |P(L(M))=V}.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM universal Problema de la detención Reducción≤m Teorema de Rice
Segundo teorema de Rice II
ComoPno es monótona, existenA,Br.e. tales que
A⊆B P(A)=V P(B)=F.
SeanMA,MB ∈TMtales que
L(MA)=A L(MB)=B.
K contará con tres cintas y∀βprocederá de la siguiente forma
1 escribeβen las cintas 1 y 2;
2 escribeαen la cinta 3;
3 simulaM
Aen la cinta 1,MBen la cinta 2 yM en la cinta 3;
4 aceptaβsi ocurre cualquiera de los siguientes casos:
1 MAaceptaβo bien
Segundo teorema de Rice III
Entonces
hMi#hαi ∈HP ⇒ L(K)=L(MB) ⇒ P(L(K))=P(L(MB))=F hMi#hαi ∈∼HP ⇒ L(K)=L(MA) ⇒ P(L(K))=P(L(MA))=V
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 41 / 69
Incomputabilidad y sus grados
Hasta ahora parece que los conjuntos incomputables se reducen a dos tipos: los que no son recursivos y los que ni siquiera son
recursivamente enumerables.
En realidad, el panorama puede ser más complejo: los conjuntos no r.e. son clasificables en función de su grado de incomputabilidad.
El método básico es determinar qué problema necesitamos resolver para que un conjunto se vuelva rec o r.e.
Las soluciones a problemas de decisión se pueden clasificar por medio deoráculos.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 42 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM TM con oráculo Jerarquía aritmética
Máquinas de Turing con oráculo
Un oráculo es una cinta adicional donde se codifica lafunción
característicade un conjunto.
Supongamos que ordenamos las cadenas en un alfabetoΣy que la
funciónν :Σ∗b→Nnos dice la posición que le corresponde a una
cadena en el orden lexicográfico.
SeaA⊆Σ∗. El oráculo de A, denotado porOAes una cinta infinita
que en cada celda guarda 0 o 1 de acuerdo con la regla
α∈A sii OA[n]= 1.
Una máquina de Turing con oráculo (TMO) es una TM que durante un momento de su ejecución puede entrar en un estado tal que puede consultar el valor de una celda de un oráculo.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM TM con oráculo Jerarquía aritmética
Reductibilidad-Turing
SeanA,B⊆Σ∗.Aesrecursivamente enumerable en Bsii existe una
M ∈TMOcon oráculoOBtal que
A=L(M).
SiMes total, entoncesAesrecursiva en BoTuring-reductible a B. En
símbolos
A≤T B.
Ejemplos: MP≤T HP y HP≤T MP.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM con oráculo Jerarquía aritmética
Jerarquía aritmética
La relación≤T nos permite clasificar lenguajes no r.e.:
Σ01 = {lenguajes r.e.}
∆01 = {lenguajes rec}
Σ0n+1 = {lenguajes r.e. en algúnL∈Σ0n}
∆0n+1 = {lenguajes rec en algúnL∈Σ0n}
Π0n = {complementos de lenguajes enΣ0n}
Alternativamente, un lenguajeLes r.e. sii existe una propiedadR decidible
de pares de cadenas tal queL={α| ∃β.R(α,β)}. Por ejemplo
HP = {hMi#hαi | ∃x.M se detiene conαenxpasos} MP = {hMi#hαi | ∃x.M aceptaαenxpasos}
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 45 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM con oráculo Jerarquía aritmética
Versión lógica de la jerarquía aritmética
Las observaciones anteriores se pueden generalizar por medio del siguiente teorema:
1 Un lenguajeLestá enΣ0
nsii una propiedadR(n+ 1)-aria decidible tal
L={α| ∃β1∀β2. . . .R(α,β1,. . .,βn)}
2 Un lenguajeLestá enΠ0
nsii una propiedadR(n+ 1)-aria decidible tal
L={α| ∀β1∃β2. . . .R(α,β1,. . .,βn)}
3 ∆0
n=Σ0n∩Π0n.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 46 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
TM con oráculo Jerarquía aritmética
Completitud
Definición. SeaCun nivel de la jerarquía aritmética y seaLun lenguaje.
Diremos queLes
C-difícil sii para todoA∈C,A≤m L.
C-completo siiLesC-difícil yL∈C.
Por ejemplo, HP y MP sonΣ0n-completos.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Definiciones de computabilidad
Turing propuso sus máquinas como una definición formal de la noción intuitiva de “calculabilidad efectiva”.
Él mismo aplicó su definición a dos problemas: la determinación de qué es un número computable y la demostración de irresolubilidad del
Entscheidungsproblem.
Otros matemáticos contemporáneos propusieron otras formas de definir la calculabilidad efectiva: el cálculo lambda, las gramáticas formales, etc.
Es posible demostrar que, una vez que se acepta una noción de equivalencia adecuada, todos estas definiciones son equivalentes, en el sentido de que nos permiten calcular la misma clase de funciones.
Tesis de Church-Turing
La equivalencia entre modelos de computación llevó a plantear la siguiente afirmación:
Toda función es calculable efectivamente si y sólo si es calculable por una máquina de Turing.
Esta afirmación es conocida como la tesis de Church-Turing, pues se deriva del trabajo de ambos
Dado que afirma que una noción intuitiva (calculabilidad efectiva) es capturada por una noción formal, no se puede decir propiamente que está “demostrada”.
Pero es una hipótesis de trabajo conveniente y los resultados de computabilidad vistos en la sección anterior pueden formularse de manera más general si se acepta la validez de la tesis.
También es posible reformularla de manera que no se vea como una afirmación dogmática, sino como un conjunto de axiomas de los cuales se pueden derivar los mismos resultados
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 49 / 69
Computabilidad-Turing
Para poder comparar los modelos que estudiaremos adoptaremos una convención similar a la que vimos antes.
SeaM ∈TM, conΣyΓcomo alfabetos de entrada y de la cinta,
respectivamente. Entonces, podemos definir una función
fM :Σ∗ →Γ∗como
{(α,β)| hsM,α, 0i ⇒∗M ht,β,ni}.
Obsérvese quefM no tiene por qué ser total.
Por otro lado, diremos que la funciónσ :Σ∗ →∆∗es:
(a) Turing-computablesii existe unaM∈TMtal queσ=fM; (b) computablesii existe unaM∈TM totaltal queσ=fM.
Esta convención se puede modificar para que se refiera a números naturales y no a cadenas. Por ejemplo, podemos pensar en que la
cadenaαse refiere al número natural que corresponde al lugar que
ocupaαen el orden lexicográfico.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 50 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Fun. recursivas CálculoΛ Programas M. de registros
Funciones recursivas
µ
Las funciones recursivas-µson otro modelo de computabilidad. La
terminología adoptada presupone latesis de Church-Turing.
Estas funciones son el mínimo conjunto cerrado bajo las operaciones de composición, recursión primitiva, minimización acotada y que contiene a las siguientes funciones básicas (donde ¯x =x1,. . .,xn):
Cero. La constantec:N0→N, conc= 0 es computable.
Sucesor. La funcións:N→N, cons(x)=x+ 1, es computable.
Proyecciones. Las funcionesπkn:Nn→Nyπkn(x1,. . .,xn)=xk, con
1≤k ≤n, son computables.
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Fun. recursivas CálculoΛ Programas M. de registros
Funciones nuevas I
Las operaciones para crear nuevas funciones son:
Composición. Si las funciones
f :Nk →N
y
g1,. . .,gk :Nn→N
son computables entonces también lo es la función
f ◦(g1,. . .,gk):Nn→N,
definida por
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Fun. recursivas CálculoΛ Programas M. de registros
Funciones nuevas II
Recursión primitiva. Si
h1,. . .,hk :Nn→N
y
g1,. . .,gk :Nn+k+1→N
son computables, entonces también lo son las funciones
f1,. . .,fk :Nn+1 →N, definidas a continuación
fi(0, ¯x) = hi(x¯)
fi(s(n), ¯x) = gi(n, ¯x,f1(n, ¯x),. . .,fk(n, ¯x)).
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 53 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Fun. recursivas CálculoΛ Programas M. de registros
Funciones nuevas III
Minimización no acotada. Sea
g:Nn+1 →N
una función computable. Entonces, también es computable la función
f :Nn→N, definida por
f(x¯) = mdondemes el mínimo valor tal que:
g(x,m)= 0 y∀n≤m.g(x,n)está definida
= indefinida, en caso de que no exista talm
El valor def(x¯)se denota con la expresión
µy.g(y, ¯x)= 0.
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 54 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM Fun. recursivas CálculoΛ Programas M. de registros
Ejemplos
La función + suele definirse por medio de las siguientes ecuaciones
0 +x = x
s(y)+x = s(y+x)
En la notación de las funcionesµtendríamos:
h = π11 g = s◦π33 f(0,x) = π11(x)
f(s(y),x) = s(π33(y,x,f(y,x)))
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Cálculo lambda I
Las funciones recursivas también son expresables en el cálculoλ.
El conjunto de términos del cálculoλse denotará porΛ.
La sintaxis del cálculo lambda es al siguiente
Λ→V |(λx.Λ)|(ΛΛ)
dondeV denota una variable:w,x,y,z,w1,. . .
La regla básica es la reducciónβ
Funciones recursivas en el cálculo lambda I
SeanMyN∈Λ. Entonces: V ≡def λxy.x F ≡def λxy.y [M,N] ≡def λz.zMN ¯0 ≡def λx.x n+ 1 ≡def [F, ¯n] S ≡def λx.[F,x] P ≡def λx.xF C ≡def λx. ¯0 Cero ≡def λx.xV πin ≡def λx1,. . .,xn.xi Y ≡def λf .(λx.f(xx))(λx.f(xx))Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 57 / 69
Funciones recursivas en el cálculo lambda II
Obviamente, ¯0 yn+ 1 definen los números naturales.SyPson las
funciones predecesor y sucesor.V yF son los valores de verdad,Ceroes
una función que nos daV si su argumento es ¯0 yF en caso contrario.πines,
por supuesto, la proyeccióni-ésima connargumentos. El términoY será útil
más adelante para definir la recursión.
Supongamos queh:N→Nyg1,. . .,gn:N→Nson funciones
definidas por los términosHyG1, . . .Gn∈Λ, respectivamente, la
composicióne(x)=h(g1(x),. . .,gn(x))se define con el términoE
E ≡def λx.H(G1x). . .(Gnx).
Supongamos queh:N→Nyg:N×N→Nson funciones computables
definidas por los términosH,G∈Λ. La función recursivae:N→N
definida a partir dehygse define por medio del términoλ:
E ≡def Yλf.λx.(Cero x)(Hx)(G(P x)(f(P x)))
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 58 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Funciones recursivas en el cálculo lambda III
Seag:N×N→Nuna función computable definida por el términoG∈Λ.
La funcióne:N→Ndefinida por minimización a partir deges el término
E ≡def λxµ[λy.Cero(Gxy)]
Supongamos que ahora queremos definir la función suma del ejemplo
anterior en términos deΛ. Entonces:
H ≡def λx1.x1
G ≡def λz,x1,x2.S((λx1,x2,x3.x3)zx1x2)
SUMA ≡def Yλf.λx,y.(Cero x)(Hy)(G(P x)y(f(P x)y))
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Lenguaje de programación
IMPSe trata de unCFL. Empezaremos con las expresiones aritméticas:
A→n|X |(A+A)|(A−A)|(A×A)
donden∈ZyX ∈Loc.
Tenemos ahora las expresiones booleanasEB:
B→V |F |(A=A)|(A≤A)| ¬B|(B∧B) |(B∨B)
dondeA∈EA. Finalmente, los comandos del lenguaje se definen así:
C::= skip|X :=A|(C; C)|(ifBthenCelseC)|(whileBdoC).
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Funciones recursivas y programas while I
Las funcionesµtambién son definibles por medio de programas deIMP. Sea
f :Nn→N
una función recursiva. El objeto es definir un programaPcon al menos las
localidades
X0,. . .,Xn
tal que
[[P]]σ(X0)=f(σ(X1),. . .,σ(Xn)).
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 61 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Funciones recursivas y programas while II
Lo haremos por inducción en la funciones recursivas.
P0 ≡def X0:= 0
PS ≡def X0:=X1+ 1;
Pπn
i ≡def X0:=Xi;
SeanPf yPg1,. . .,Pgk los programas correspondientes a las funciones
f :Nk →Nyg1, . . . ,gk :Nn→N. Entonces, el programa correspondiente
ah=f◦(g1,. . .,gk)es
Ph ≡def Pg1; Y1:=X0; . . .Pgk; Yk :=X0;
X1:=Y1; . . .Xk :=Yk; Pf
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 62 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Funciones recursivas y programas while III
Veamos ahora un caso restringido para la recursión primitiva. Supongamos que tenemos las funciones
h:N→N
y
g:N3→N
y a partir de ellas definimos la funciónf :N2→N:
f(0,x1) = h(x1)
f(s(n),x1) = g(n,x1,f(n,x1))
Queremos un programaPf tal que
[[Pf]]σ(X0)=f(σ(Z),σ(X1)).
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Funciones recursivas y programas while IV
Por hipótesis inductiva, suponemos la existencia de dos programas
[[Ph]]σ(X0) = h(σ(X1))
[[Pg]]σ(X0) = g(σ(Z),σ(X1),σ(X2))
EntoncesPfes el programa
W :=Z; Y1:=X1; %Guardamos los argumentos originales def
Y0:= 0; %Usaremos aY0como contador
Ph; %Ejecutamos el programa del caso base
whileY0<W do Z :=Y0; X1:=Y1; X2:=X0; Pg Y0:=Y0+ 1
Funciones recursivas y programas while V
Por ejemplo, si tenemos la función recursivasuma(0,x1) = x1
suma(s(n),x1) = s(suma(n,x1))
aquí la función baseh:N→Nse define como la proyecciónπ11(x1)=x1y
la funcióng:N3→ Ness◦π33(n,x1,x2)=s(x2). Los programasPhyPg tales que [[Ph]]σ(X0) = π11(σ(X1)) [[Pg]]σ(X0) = s◦π33(σ(Z),σ(X1),σ(X2)) son: Ph = X0:=X1 Pg = X0:=X2+ 1
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 65 / 69
Funciones recursivas y programas while VI
y entonces, el programaPsumatal que
[[Psuma]]σ(X0)= suma(σ(Z),σ(X1)) queda así: W :=Z; Y1:=X1; Y0:= 0; Ph; whileY0<W do Z :=Y0; X1:=Y1; X2:=X0; Pg; Y0:=Y0+ 1
Francisco Hernández Quiroz Teoría de la Computación Máq. de Turing y Mod. de Comp. 66 / 69
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Máquinas de registros I
Las máquinas de registros ilimitados (URM) son una abstracción del procesador central de una computadora.
La memoria es como la del lenguaje IMP, pero las localidades se llaman registros:
Reg ={R1,R2. . .}
Los programas para URM se basan en unas cuantas instrucciones:
Nombre Sintaxis Significado
Cero Z(n) Rn:= 0
Sucesor S(n) Rn:=Rn+ 1
Transferencia T(n,m) Rn:=Rm
Salto J(n,m,k) siRn=Rmentonces ve a la
instrucciónk-ésima; si no,
continúa con la siguiente
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Los registros guardan números naturales y los estados posibles son
Σ={σ: Reg→N}
Este programa calcula la suma de los números enR1yR2. La tabla presenta
el estado de la memoria después de cada instrucción:
1 J(2, 3, 5) 2 S(1) 3 S(3) 4 J(1, 1, 1) 5 R1 R2 R3 1.1 1 2 0 2.1 2 2 0 3.1 2 2 1 4.1 2 2 1 1.2 2 2 1 2.2 3 2 1 3.2 3 2 2 4.2 3 2 2 1.3 3 2 2 5.1 3 2 2
Máquinas de Turing Indecidibilidad Incomputabilidad T. de Church-Turing Modelos equivalentes a TM
Fun. recursivas CálculoΛ Programas M. de registros
Funciones recursivas y URM
Las funciones recursivasµpueden calcularse por medio de URM de una
manera muy similar a los programas en IMP:
Las funciones cero, sucesor y proyecciones tienen una implementación muy simple.
Para la composición de funciones hay que adoptar convenciones para guardar resultados parciales de funciones y presentar parámetros de manera similar a como se hizo con los programas IMP.
Además, hay que reenumerar las direcciones referidas en la operación de salto, para evitar interferir en el código de otros programas.
Finalmente, la recursión y la minimalización se manejan como se hizo con los ciclos while en IMP.