SlideShare una empresa de Scribd logo
3.1 Máquina de Turing3.1 Máquina de Turing
Adolfo Guzmán ArenasAdolfo Guzmán Arenas
a.guzman@acm.orga.guzman@acm.org
Máquina de TuringMáquina de Turing
Es un modelo mucho más cercano a unaEs un modelo mucho más cercano a una
computadora de propósito general.computadora de propósito general.
– Puede hacer cualquier cosa que unaPuede hacer cualquier cosa que una
computadora pueda hacer.computadora pueda hacer.
– Aún así, ciertas cosas no las puede hacerAún así, ciertas cosas no las puede hacer
Ciertos problemas no los puede resolver.Ciertos problemas no los puede resolver.
En un sentido real, tales problemas están más alláEn un sentido real, tales problemas están más allá
de los límites teóricos de la computación.de los límites teóricos de la computación.
Su control es un autómata finito.Su control es un autómata finito.
Usa una cinta semi-infinita.Usa una cinta semi-infinita.
– Inicialmente, contiene solo la cadena de entradaInicialmente, contiene solo la cadena de entrada
y blancos (y blancos (þþ) en los demás espacios.) en los demás espacios.
– Puede guardar información en la cinta,Puede guardar información en la cinta,
escribiendo en ella.escribiendo en ella. Un caracter a la vezUn caracter a la vez..
Mueve la cabeza (Mueve la cabeza (un caracter a la vezun caracter a la vez) a la) a la
izquierda y derecha para leer y escribir.izquierda y derecha para leer y escribir.
– Cuando decide emitir un resultado, emiteCuando decide emitir un resultado, emite aceptaacepta
oo rechazarechaza entrando al estado aceptador o alentrando al estado aceptador o al
rechazador.rechazador.
Al entrar a uno de esos, se para (termina el cómputo).Al entrar a uno de esos, se para (termina el cómputo).
Si no entra a uno de estos dos estados, continúaSi no entra a uno de estos dos estados, continúa
calculando para siempre.calculando para siempre.
a b ab a þ þ þ þ þ þ …
Máquina de Turing
R
cadena de entrada
Diferencias entre una máquina deDiferencias entre una máquina de
Turing y un autómata finitoTuring y un autómata finito
La máquina de Turing puede leer y escribir en laLa máquina de Turing puede leer y escribir en la
cinta.cinta.
– La entrada está al principio de la cinta.La entrada está al principio de la cinta.
Puede mover su cabeza a izquierda y derecha.Puede mover su cabeza a izquierda y derecha.
La cinta es infinita.La cinta es infinita.
Los estadosLos estados rechazarechaza yy aceptaacepta tienen efectotienen efecto
inmediatamente.inmediatamente.
– La máquina se para. Termina. Ya no hace másLa máquina se para. Termina. Ya no hace más
cálculos.cálculos.
Ejemplo. Máquina de Turing que reconoce elEjemplo. Máquina de Turing que reconoce el
lenguaje B = {lenguaje B = {ww##ww || ww ∈∈ {0,1}* }{0,1}* }
– B no es libre de contexto (B no es libre de contexto (ya lo demostréya lo demostré).).
Va a aceptar su entradaVa a aceptar su entrada ww sisi ww ∈∈ B.B.
– La va a rechazar en otro caso.La va a rechazar en otro caso.
Póngase usted en el lugar de la máquina.Póngase usted en el lugar de la máquina.
– Está parado frente a una cinta con miles y miles deEstá parado frente a una cinta con miles y miles de
caracteres.caracteres.
– La va a aceptar si está formada de dos cadenasLa va a aceptar si está formada de dos cadenas
idénticas separadas por un #.idénticas separadas por un #.
– La cinta es demasiado larga para memorizarla toda.La cinta es demasiado larga para memorizarla toda.
– Pero usted puede ir y venir varias veces, y ponerPero usted puede ir y venir varias veces, y poner
marcas en ella.marcas en ella.
La estrategia es ir y venir de uno a otro lado del
# y marcar los lugares que se correspondan.
y ver si son iguales.
Así voy a diseñar la máquina.Así voy a diseñar la máquina.
– Va a hacer varios pasos sobre la cinta.Va a hacer varios pasos sobre la cinta.
– En cada paso se fija si un caracter antes del #En cada paso se fija si un caracter antes del #
y uno después son iguales. Los tacha.y uno después son iguales. Los tacha.
Si descubre una desigualdad, rechaza.Si descubre una desigualdad, rechaza.
– Si todos están tachados (excepto #), acepta.Si todos están tachados (excepto #), acepta.
M = “Para la entradaM = “Para la entrada w,w,
1.1. Ve y ven sobre la cinta, a ambos lados del #, aVe y ven sobre la cinta, a ambos lados del #, a
posiciones correspondientes, para ver si contienenposiciones correspondientes, para ver si contienen
el mismo símbolo.el mismo símbolo.
1.1. Si no es el mismo símbolo, o si no hay #, rechaza.Si no es el mismo símbolo, o si no hay #, rechaza.
2.2. Tacha los dos símbolos verificados para saber enTacha los dos símbolos verificados para saber en
qué símbolo va.qué símbolo va.
2.2. Cuando ya haya tachado todos los símbolos a laCuando ya haya tachado todos los símbolos a la
izquierda del #, verifica que no sobren símbolos (sinizquierda del #, verifica que no sobren símbolos (sin
marcar) a su derecha. Si alguno sobra,marcar) a su derecha. Si alguno sobra, rechaza.rechaza. EnEn
otro caso,otro caso, acepta.”acepta.”
Esta descripción esboza cómo trabaja M, pero esEsta descripción esboza cómo trabaja M, pero es
informal.informal.
Se puede dar una descripción formal para M, como loSe puede dar una descripción formal para M, como lo
hice para los autómatas finitos y de pila.hice para los autómatas finitos y de pila.
Casi nunca lo hago porque resultan muy extensas.Casi nunca lo hago porque resultan muy extensas.
Vistas de la cinta durante la computación de M.
Descripción formal de una máquinaDescripción formal de una máquina
de Turingde Turing
El corazón de ella esEl corazón de ella es δδ, la función de, la función de
transición.transición.
– Nos dice cómo opera, cómo da cada pasoNos dice cómo opera, cómo da cada paso
δδ : Q: Q ×× ΓΓ  QQ ×× ΓΓ ×× {L, R}.{L, R}.
Si la máquina está en el estado q y la cabezaSi la máquina está en el estado q y la cabeza
está sobre el símbolo a,está sobre el símbolo a,
δδ(q, a) = (r, b, R),(q, a) = (r, b, R),
la máquina lee el símbolo a, escribe el símbolola máquina lee el símbolo a, escribe el símbolo
b y mueve su cabeza a la derecha (R).b y mueve su cabeza a la derecha (R).
Primero lee, antes de escribir sobre lo leído.
Una máquina de Turing es una 7-tuplaUna máquina de Turing es una 7-tupla
(Q,(Q, ΣΣ,, ΓΓ,, δδ, q, q00, q, qacceptaccept, q, qrejectreject)) dondedonde
Q es el conjunto de estados;Q es el conjunto de estados;
ΣΣ es el alfabeto de entrada, no contienees el alfabeto de entrada, no contiene þ;
Γ es el alfabeto de la cinta,es el alfabeto de la cinta, þ ∈∈ ΓΓ yy ΣΣ ⊂⊂ ΓΓ;;
δ : Q: Q ×× ΓΓ  QQ ×× ΓΓ ×× {L, R}{L, R} es la función dees la función de
transición;transición;
qq00 ∈∈ Q es el estado inicial;Q es el estado inicial;
qqacceptaccept ∈∈ Q es el estado aceptor;Q es el estado aceptor;
qqrejectreject ∈∈ Q es el estado rechazador, conQ es el estado rechazador, con
qqrejectreject ≠≠qqacceptaccept..
Cómo computaCómo computa
La entrada es w = wLa entrada es w = w00ww11ww22…w…wnn ∈∈ ΣΣ** en losen los
cuadros más izquierdos.cuadros más izquierdos.
– El resto lleno deEl resto lleno de Þ.Þ.
el primerel primer Þ indica el fin de la w.Þ indica el fin de la w.
– La cabeza en la primer posición (La cabeza en la primer posición (izquierdaizquierda).).
Al correr, obedece aAl correr, obedece a δδ..
– Si acaso trata de ir a la izquierda del primerSi acaso trata de ir a la izquierda del primer
cuadro de la cinta, se queda ahí (cuadro de la cinta, se queda ahí (aunqueaunque δδ diga Ldiga L).).
– El cómputo continúa hasta que llegue a qEl cómputo continúa hasta que llegue a qacceptaccept óó
qqrejectreject. Se para inmediatamente.. Se para inmediatamente.
No tiene que procesar toda la entrada.
Si no llega a qaccept ó a qreject,
sigue procesando para siempre.
Configuración de una máquina de TConfiguración de una máquina de T
Conforme avanza la computación, ocurrenConforme avanza la computación, ocurren
cambios encambios en
– Estado.Estado.
– Contenido de la cinta.Contenido de la cinta.
– Posición de la cabeza.Posición de la cabeza.
– Se representan medianteSe representan mediante configuraciones.configuraciones.
Nos dicen cómo está la máquina en este momento.Nos dicen cómo está la máquina en este momento.
Son “fotografías” de la máquina en ese momento.
Configuración de una máquina de TConfiguración de una máquina de T
Conforme avanza la computación, ocurrenConforme avanza la computación, ocurren
cambios encambios en
– Estado.Estado.
– Contenido de la cinta.Contenido de la cinta.
– Posición de la cabeza.Posición de la cabeza.
a b ab a þ þ þ þ þ þ
q7
La configuración en este momento esLa configuración en este momento es a b qa b q77 b a a.b a a.
Cadena a la izq de la
cabeza.
Estado actual
Cadena bajo la cabeza
y a su derecha.
De una configuración a otraDe una configuración a otra
SiSi δδ(q(q77, b) = (q, b) = (q99, c, R), c, R)
y la máquina está en la configuracióny la máquina está en la configuración
a b qa b q77 b a ab a a
q7
a b ab a þ þ þ þ þ þ
bc,R q9
De una configuración a otraDe una configuración a otra
SiSi δδ(q(q77, b) = (q, b) = (q99, c, R), c, R)
y la máquina está en la configuracióny la máquina está en la configuración
a b qa b q77 b a ab a a
Entonces su próxima configuración esEntonces su próxima configuración es
a b c qa b c q99 a a.a a.
a b ac a þ þ þ þ þ þ
a b ab a þ þ þ þ þ þ
Se dice que la configuraciónSe dice que la configuración
CC11 = a b q= a b q77 b a ab a a produceproduce la configuraciónla configuración
CC22 = a b c q= a b c q99 a aa a
Si la máquina puede ir legalmente de CSi la máquina puede ir legalmente de C11 a Ca C22 enen
un solo paso.un solo paso.
q7
bc,R q9
Definición. Supongo que a, b, cDefinición. Supongo que a, b, c ∈∈ ΓΓ;;
u, vu, v ∈∈ ΓΓ*; q*; qii, q, qjj ∈∈ Q.Q.
SeanSean ua qua qii bvbv yy uquqjj acvacv dosdos
configuraciones.configuraciones.
Digo que la configuración ua qDigo que la configuración ua qii bvbv
produceproduce u qu qjj acvacv
si se tienesi se tiene δδ(q(qii, b) = (q, b) = (qjj, c, L), c, L)
u a b v þ þþ
u a c v þ þþ
qi
qj
u y v son cadenas.
Definición. Supongo que a, b, cDefinición. Supongo que a, b, c ∈∈ ΓΓ;;
u, vu, v ∈∈ ΓΓ*; q*; qii, q, qjj ∈∈ Q.Q.
SeanSean u qu qii abvabv yy uc quc qjjbvbv dos configuraciones.dos configuraciones.
La configuración u qLa configuración u qii abvabv produceproduce uc quc qjjbvbv
si se tienesi se tiene δδ(q(qii, a) = (q, a) = (qjj, c, R), c, R)
u a b v þ þþ
u c b v þ þþ
qi
qj
La configuración qLa configuración qii bvbv
produce qproduce qjj cvcv
si se tienesi se tiene δδ(q(qii, b) = (q, b) = (qjj, c, L), c, L)
Caso especial: cabeza en la posición inicial de la cadena.
b v þ þþ
qi
c v þ þþ
qj
La configuración qLa configuración qii bvbv
produce qproduce qjj cvcv
si se tienesi se tiene δδ(q(qii, b) = (q, b) = (qjj, c, L), c, L)
La configuración ua qLa configuración ua qii es equivalente aes equivalente a
ua qua qii ÞÞ
y no se requiere caso especial.y no se requiere caso especial.
Cabeza en posición más
derecha de la cadena
La configuración inicial es qLa configuración inicial es q00w.w.
La configuración final es u qLa configuración final es u qacceptaccept vv
óó u qu qrejectreject vv
Configuración aceptora
Configuración rechazadora
La máquina de Turing aceptaLa máquina de Turing acepta ww
Se dice que una máquina de TuringSe dice que una máquina de Turing
aceptaacepta una cadenauna cadena ww si existe unasi existe una
secuencia de configuraciones Csecuencia de configuraciones C11, C, C22,…C,…Ckk
tales quetales que
CC11 es la configuración inicial;es la configuración inicial;
Cada CCada Cii produce Cproduce Ci+1i+1, y, y
CCkk es una configuración aceptora.es una configuración aceptora.
Cuando llega a configuración aceptora (o
rechazadora) ya no procesa más. Se para.
Fin de la computación.
La máquina de Turing aceptaLa máquina de Turing acepta ww
Se dice que una máquina de TuringSe dice que una máquina de Turing
aceptaacepta una cadenauna cadena ww si existe unasi existe una
secuencia de configuraciones Csecuencia de configuraciones C11, C, C22,…C,…Ckk
tales quetales que
CC11 es la configuración inicial;es la configuración inicial;
Cada CCada Cii produce Cproduce Ci+1i+1, y, y
CCkk es una configuración aceptora.es una configuración aceptora.
Entonces, la máquina no acepta w si Ck es una
configuración rechazadora ó si nunca se para.
O sea, si no hay configuracion aceptora.
El lenguaje de MEl lenguaje de M
El conjunto de cadenas que M acepta esEl conjunto de cadenas que M acepta es
elel lenguaje delenguaje de MM
O el lenguajeO el lenguaje reconocido por Mreconocido por M..
Se escribe L(M).Se escribe L(M).
Lenguaje Turing-reconocibleLenguaje Turing-reconocible
Un lenguaje esUn lenguaje es reconociblereconocible oo Turing-Turing-
reconociblereconocible si alguna máquina de Turing losi alguna máquina de Turing lo
reconoce.reconoce.
También: recursivamente enumerable.
También: semidecidible.
Cuando una máquina de Turing procesaCuando una máquina de Turing procesa
una cadena, puede pasar:una cadena, puede pasar:
– La acepta.La acepta.
– La rechaza.La rechaza.
– Nunca termina.Nunca termina.
Sigue calculando indefinidamente.Sigue calculando indefinidamente.
– Se mete en un ciclo.Se mete en un ciclo.
– O exhibe otro comportamiento complejo (ejemplo: seO exhibe otro comportamiento complejo (ejemplo: se
pone a calcular cadenas cada vez más largas).pone a calcular cadenas cada vez más largas).
En este caso, no acepta la cadena.En este caso, no acepta la cadena.
A veces es difícil distinguir si una máquinaA veces es difícil distinguir si una máquina
no va a terminarno va a terminar
– O simplemente está tomando su tiempo.O simplemente está tomando su tiempo.
Es preferible tratar con máquinas queEs preferible tratar con máquinas que
siempre terminan.siempre terminan.
– Nunca se meten en un ciclo.Nunca se meten en un ciclo.
Ni se ponen a hacer cálculos interminables.Ni se ponen a hacer cálculos interminables.
– A veces aceptan su entrada.A veces aceptan su entrada.
– En las otras veces, la rechazan.En las otras veces, la rechazan.
SiempreSiempre decidendeciden (aceptar o rechazar).(aceptar o rechazar).
– Nunca “se quedan pensando” (calculando)Nunca “se quedan pensando” (calculando)
para siempre.para siempre.
Son losSon los decididores.decididores.
– Un decididor que también reconoce ciertoUn decididor que también reconoce cierto
lenguaje se dice quelenguaje se dice que decidedecide ese lenguaje.ese lenguaje.
Lenguajes decidiblesLenguajes decidibles
Un lenguaje es Turing-decidible oUn lenguaje es Turing-decidible o
simplementesimplemente decidibledecidible si alguna máquinasi alguna máquina
de Turing lo decide.de Turing lo decide.
Todo lenguaje decidible es tambiénTodo lenguaje decidible es también
reconocible.reconocible.
– Algunos lenguajes son reconocibles pero noAlgunos lenguajes son reconocibles pero no
decidibles.decidibles.
También: lenguaje recursivo.
Ejemplo de máquina de Turing.Ejemplo de máquina de Turing.
MM22 decide A = {0decide A = {022nn
| n| n ≥≥ 0}0}
La longitud de una cadena en A es una potenciaLa longitud de una cadena en A es una potencia
de dos.de dos.
¿Cómo me doy cuenta si tengo una cadena cuya¿Cómo me doy cuenta si tengo una cadena cuya
longitud es potencia de dos?longitud es potencia de dos?
24 ÷ 2 = 12 par
12 ÷ 2 = 6 par
6 ÷ 2 = 3 impar
Rechaza: no es potencia de 2.
32 ÷ 2 = 16 par
16 ÷ 2 = 8 par
8 ÷ 2 = 4 par
4 ÷ 2 = 2 par
2 ÷ 2 = 1
Acepta: cuando el único cociente impar sea 1.
Ejemplo de máquina de Turing.Ejemplo de máquina de Turing.
MM22 decide A = {0decide A = {022nn
| n| n ≥≥ 0}0}
La longitud de una cadena en A es una potenciaLa longitud de una cadena en A es una potencia
de dos.de dos.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
x 0 x 0x 0 x 0 x 0 x 0 x 0x 0 x 0 x 0 x 0 x 0 xx 0 x 0 x 00
x X x 0 x X x 0 x X x 0 x X xx X x 0 x X x 0 x X x 0 x X x 00
x X xx X x ΘΘ x X xx X x 0 x X x0 x X x ΘΘ x X x 0x X x 0
x X xx X x ΘΘ xx XX xx ØØ xx X xX x ΘΘ x X x 0x X x 0
0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0
x 0 x 0x 0 x 0 x 0 x 0x 0 x 0 x 0 xx 0 x 00
x X x 0x X x 0 xx XX x 0 x X xx 0 x X x 00
Divido entre 2
tachando un 0 sí
y otro no.
par
par
par
par
Uno. Acepta.
par
par
Impar no uno. Rechaza.
Ejemplo de máquina de Turing.Ejemplo de máquina de Turing.
MM22 decide A = {0decide A = {022nn
| n| n ≥≥ 0}0}
La longitud de una cadena en A es una potenciaLa longitud de una cadena en A es una potencia
de dos.de dos.
MM22 = “Para la entrada= “Para la entrada w,w,
1.1. Barre la cinta de izq a der, y cruza un 0Barre la cinta de izq a der, y cruza un 0
sí y otro nosí y otro no
1.1. Fíjate si el número de 0s sobrevivientes esFíjate si el número de 0s sobrevivientes es
par o impar.par o impar.
2.2. Si en (1) había un solo 0,Si en (1) había un solo 0, acepta.acepta.
3.3. Si en (1) había más de un 0 y un númeroSi en (1) había más de un 0 y un número
impar de ellos,impar de ellos, rechaza.rechaza.
4.4. Ve a (1).”Ve a (1).”
Cada iteración de (1)
corta los 0s a la mitad.
Si los 0s que quedan
son impares, w no es
potencia de 2.
Si queda un solo 0,
w es potencia de 2.
MM22 = (Q,= (Q, ΣΣ,, ΓΓ,, δδ, q, q11, q, qacceptaccept, q, qrejectreject))
Q = {qQ = {q11, q, q22, q, q33, q, q44, q, q55, q, qacceptaccept, q, qrejectreject))
ΣΣ = {0}= {0}
ΓΓ = {0, x,= {0, x, ÞÞ}}
δδ se describe con un diagrama de estados.se describe con un diagrama de estados.
Tacha el primer 0 con un ÞÞ y no
con una x, para poder hallar el
extremo izquierdo de la cinta.
Tacha el primer 0
Brinca los taches
Luego, tacha un 0 no y otro si
Brinca los taches
No. par de
0s vistos
Un 0 visto
No. par de
0s vistos
No. impar
de 0s vistos
Si ya hay ÞÞ (llegaste al fin
de la entrada), ve a la izq
brincando ceros y taches.
Con el primer 0
(un ÞÞ) ve a der
Si hay ÞÞ (llegas
al fin de la
entrada), acepta
Cinta vacía o no
contiene 0s, rechaza
No. impar de 0s vistos y llegas al fin de cinta, rechaza
Un 0 visto
Ejemplo. MEjemplo. M11 = {Q,= {Q, ΣΣ,, ΓΓ,, δδ, q, q11, q, qacceptaccept, q, qrejectreject} es} es
una máquina de Turing que acepta eluna máquina de Turing que acepta el
lenguaje B = {w#w | wlenguaje B = {w#w | w ∈∈ {0,1}*}{0,1}*}
Q = {qQ = {q11, q, q22, … q, … q88, q, qacceptaccept, q, qrejectreject}.}.
ΣΣ = {0, 1, #} y= {0, 1, #} y ΓΓ = {0, 1, #,= {0, 1, #, þþ, x}., x}.
δδ viene dada por el siguiente diagrama.viene dada por el siguiente diagrama.
#  R
þ  R
x  R
Hay un # con puros
tachados, aceptaqaccept
x R Brinca los tachados…
… hasta que llegues
al #, pásalo.
Brinca los tachados…
#  R
þ  R
1 x,R
x  R
qaccept
0,1  R
x R
#  R
Tacha el primer simbolo
que no sea x. Es un 1.
Ignora los
demás símbolos
hasta llegar al #
x  R
Brinca los tachados
moviéndote a la der.
1 x,L
Si ves un 1, táchalo
y empieza a moverte
a la izquierda.
El primer 1 que
taché por no estar
tachado, a la izq del
#, coincide con el
primer 1 que taché,
a la derecha del #
Si ves un 0 ó un þþ, rechaza
0, þþ  R
Ya no fueron iguales
qreject
#  R
þ  R
1 x,R
x  R
qaccept
0,1  R
x R
#  R
x  R
1 x,R
qreject
0,1,x  L
Sigue moviéndote a
la izquierda hasta
que encuentres el #
0, þþ  R
#  R
þ  R
1 x,R
x  R
qaccept
0,1  R
x R
#  R
x  R
1 x,L
qreject
0,1,x  L
Cuando encuentres el #, sigue
moviéndote a la izquierda pero
ya no ignores x
# L
0,1 L
0, þþ  R
#  R
þ  R
1 x,R
x  R
qaccept
0,1  R
x R
#  R
x  R
1 x,L
qreject
0,1,x  L
Cuando encuentres la
primer x, ya no
necesitas ir más a la izq
de la cinta. Puedes ir a
la derecha a buscar el
primer símbolo no
tachado
# L
0,1 L
x R
0, þþ  R
Cosa parecida
va a suceder si
el primer
símbolo no
tachado es 0.
#  R
þ  R
1 x,R
x  R
qaccept
#  R
x  R
1 x,L
qreject
0,1,x  L
# L0,1 L
x R
0, þþ  R
0 x,R
0,1  R
0,1  R
#  R
x  R
0 x,L
1, þþ  R
Ejemplo.Ejemplo. Aritmética. Construya una máquinaAritmética. Construya una máquina
de Turing que decida el lenguajede Turing que decida el lenguaje
A = {aA = {aii
bbjj
cckk
| i| i ×× j = k y i,j,kj = k y i,j,k≥≥1}1}
El número deEl número de aa’s multiplicado por el número de’s multiplicado por el número de bb’s’s
debe ser igual al número dedebe ser igual al número de cc’s.’s.
MM33 = “para la entrada= “para la entrada w,w,
1.1. Verifica queVerifica que ww tenga purastenga puras aa’s seguidas de’s seguidas de
puraspuras bb’s seguidas de puras’s seguidas de puras cc’s.’s. RechazaRechaza si no.si no.
2.2. Regresa la cabeza a su posición inicial.Regresa la cabeza a su posición inicial.
3.3. Cruza unaCruza una aa y barre hasta encontrary barre hasta encontrar bb’s.’s.
1.1. Zigzagueando entre lasZigzagueando entre las bb’s y las’s y las cc’s, cruza una’s, cruza una bb yy
unauna cc, hasta que todas las, hasta que todas las bb’s estén cruzadas. Si’s estén cruzadas. Si
todas lastodas las cc’s están cruzadas y sobran’s están cruzadas y sobran bb’s,’s, rechazarechaza..
¿Y cómo sabe que ya llegó a la posición inicial?
MM33 = “para la entrada= “para la entrada w,w,
1.1. Verifica queVerifica que ww tenga purastenga puras aa’s seguidas de’s seguidas de
puraspuras bb’s seguidas de puras’s seguidas de puras cc’s. Rechaza si no.’s. Rechaza si no.
2.2. Regresa la cabeza a su posición inicial.Regresa la cabeza a su posición inicial.
3.3. Cruza unaCruza una aa y barre hasta encontrary barre hasta encontrar bb’s.’s.
1.1. Zigzagueando entre lasZigzagueando entre las bb’s y las’s y las cc’s, cruza una’s, cruza una bb yy
unauna cc, hasta que todas las, hasta que todas las bb’s estén cruzadas. Si’s estén cruzadas. Si
todas lastodas las cc’s están cruzadas y sobran’s están cruzadas y sobran bb’s, rechaza.’s, rechaza.
4.4. Restablece lasRestablece las bb’s y repite (3) si hay otra’s y repite (3) si hay otra aa sinsin
cruzar. Si todas lascruzar. Si todas las aa’s se han cruzado,’s se han cruzado,
determina si también todas lasdetermina si también todas las cc’s se han’s se han
cruzado. Si así es,cruzado. Si así es, acepta.acepta. Si no,Si no, rechaza.”rechaza.”
Ejemplo. Todas las cadenas diferentes.Ejemplo. Todas las cadenas diferentes.
E = {#xE = {#x11#x#x22#x#x33#...#x#...#xnn | cada x| cada xii ∈∈ {0, 1}* y{0, 1}* y
xxii ≠≠ xxjj para cada ipara cada i ≠≠ j, para n>=0}j, para n>=0}
La máquina que decide E esLa máquina que decide E es
MM44 = “Para la entrada= “Para la entrada w,w,
1. Coloca una marca encima del símbolo más1. Coloca una marca encima del símbolo más
izquierdo de la cinta. Si era unizquierdo de la cinta. Si era un þþ,, acepta.acepta. Si eraSi era
un #, sigue con el siguiente paso. Si no,un #, sigue con el siguiente paso. Si no, rechaza.rechaza.
2. Barre a la derecha hasta el próximo # y ponle2. Barre a la derecha hasta el próximo # y ponle
una segunda marca. Si no encuentro # antes deuna segunda marca. Si no encuentro # antes de
unun þþ, solo x, solo x11 estaba presente.estaba presente. Acepta.Acepta.
3. Zigzagueando, compara las dos cadenas a la3. Zigzagueando, compara las dos cadenas a la
derecha de los # marcados. Si son iguales,derecha de los # marcados. Si son iguales,
rechaza.rechaza.
Cada cadena no vacía comienza con #.
1. Coloca una marca encima del símbolo más1. Coloca una marca encima del símbolo más
izquierdo de la cinta. Si era unizquierdo de la cinta. Si era un þþ,, acepta.acepta. Si eraSi era
un #, sigue con el siguiente paso. Si no,un #, sigue con el siguiente paso. Si no, rechaza.rechaza.
2. Barre a la derecha hasta el próximo # y ponle2. Barre a la derecha hasta el próximo # y ponle
una segunda marca. Si no encuentro # antes deuna segunda marca. Si no encuentro # antes de
unun þþ, solo x, solo x11 estaba presente.estaba presente. Acepta.Acepta.
3. Zigzagueando, compara las dos cadenas a la3. Zigzagueando, compara las dos cadenas a la
derecha de los # marcados. Si son iguales,derecha de los # marcados. Si son iguales,
rechaza.rechaza.
4. Mueve la marca más a la derecha al siguiente # a4. Mueve la marca más a la derecha al siguiente # a
su derecha.su derecha. Si no hay # antes deSi no hay # antes de þþ, mueve la marca, mueve la marca
más izquierda al próximo # a su derecha, y el # más a lamás izquierda al próximo # a su derecha, y el # más a la
derecha al siguiente # a su derecha. Esta vez, si no hay #derecha al siguiente # a su derecha. Esta vez, si no hay #
disponible para la segunda marca, todas las cadenas sedisponible para la segunda marca, todas las cadenas se
han comparado, entonceshan comparado, entonces acepta.acepta.””
Aquí muestro la técnica de marcar un símbolo.
Todos los lenguajes que he visto en los
ejemplos son decidibles. Por consiguiente,
son reconocibles (ó Turing-reconocibles).
Hallar (y demostrar) un lenguaje que es
reconocible pero no decidible es más difícil.
Lo veré en el Capítulo 4.

Más contenido relacionado

La actualidad más candente

Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
yelizabeth_20
 
Ejercicio de máquina de turing
Ejercicio de máquina de turingEjercicio de máquina de turing
Ejercicio de máquina de turing
Jonathan Bastidas
 
Analisis lexico automatas i
Analisis lexico automatas iAnalisis lexico automatas i
Analisis lexico automatas i
rubiyanetvalenciavelazquez
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencialeidy2220
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Maquina de Turing
Maquina de TuringMaquina de Turing
Maquina de Turing
Fernando Manuel Perez Ramos
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes Formales
Moises Benzan
 
Maquinas de turing
Maquinas de turingMaquinas de turing
Maquinas de turingJesus David
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
Oscar Mora
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regularesKenia Adams
 
Aplicaciones de los lenguajes y autómatas
Aplicaciones de los lenguajes y autómatas Aplicaciones de los lenguajes y autómatas
Aplicaciones de los lenguajes y autómatas
Claudio Eduardo Manzanero Yermo
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y Aplicaciones
Rosviannis Barreiro
 
Gramáticas formales
Gramáticas formales Gramáticas formales
Gramáticas formales
Astrid Rodriguez
 

La actualidad más candente (20)

Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Ejercicio de máquina de turing
Ejercicio de máquina de turingEjercicio de máquina de turing
Ejercicio de máquina de turing
 
Analisis lexico automatas i
Analisis lexico automatas iAnalisis lexico automatas i
Analisis lexico automatas i
 
Expresiones regulares y gramaticas
Expresiones regulares y gramaticasExpresiones regulares y gramaticas
Expresiones regulares y gramaticas
 
Metodo quicksort
Metodo quicksortMetodo quicksort
Metodo quicksort
 
Jerarquia de chomsky
Jerarquia de chomskyJerarquia de chomsky
Jerarquia de chomsky
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Maquina de Turing
Maquina de TuringMaquina de Turing
Maquina de Turing
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes Formales
 
Maquinas de turing
Maquinas de turingMaquinas de turing
Maquinas de turing
 
Heap sort
Heap sortHeap sort
Heap sort
 
Ordenamiento burbuja
Ordenamiento burbujaOrdenamiento burbuja
Ordenamiento burbuja
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
Aplicaciones de los lenguajes y autómatas
Aplicaciones de los lenguajes y autómatas Aplicaciones de los lenguajes y autómatas
Aplicaciones de los lenguajes y autómatas
 
Máquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y AplicacionesMáquinas de Turing - Tipos y Aplicaciones
Máquinas de Turing - Tipos y Aplicaciones
 
1 ejercicio mt.
1 ejercicio mt.1 ejercicio mt.
1 ejercicio mt.
 
Gramáticas formales
Gramáticas formales Gramáticas formales
Gramáticas formales
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 

Similar a 3.1 maquina de turing.ppt

Gramáticas y Modelos Matemáticos - Clase 5 continuación
Gramáticas y Modelos Matemáticos - Clase 5 continuaciónGramáticas y Modelos Matemáticos - Clase 5 continuación
Gramáticas y Modelos Matemáticos - Clase 5 continuación
UTN-FRT Tucumán Argentina
 
Clasificación de las máquinas de turing
Clasificación de las máquinas de turingClasificación de las máquinas de turing
Clasificación de las máquinas de turing
Jonathan Bastidas
 
Mod auto 4
Mod auto 4Mod auto 4
Mod auto 4
edeciofreitez
 
Maquina de turing - Enzo y Bolivar - Teoria de Automatas
Maquina de turing - Enzo y Bolivar - Teoria de AutomatasMaquina de turing - Enzo y Bolivar - Teoria de Automatas
Maquina de turing - Enzo y Bolivar - Teoria de Automatas
Enzo Casamassima
 
Taller nro 24
Taller nro 24Taller nro 24
Taller nro 24
DIEGOANDRESSANITUGUM
 
Algoritmos
AlgoritmosAlgoritmos
AlgoritmosCarlos
 
Maquina de Turing
Maquina de TuringMaquina de Turing
Maquina de Turing
Tomas Paul Santana Warner
 
Máquinas que comen máquinas
Máquinas que comen máquinasMáquinas que comen máquinas
Máquinas que comen máquinas
Ivan Vladimir Meza-Ruiz
 
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de TuringPortafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
Humano Terricola
 
Modu saya 4
Modu saya 4Modu saya 4
Modu saya 4
edeciofreitez
 
Máquinas que comen máquinas
Máquinas que comen máquinasMáquinas que comen máquinas
Máquinas que comen máquinas
Ivan Vladimir Meza-Ruiz
 
Mathlab tutorial
Mathlab tutorialMathlab tutorial
Mathlab tutorial
rommel_xavier
 
Máquina de turing
Máquina de turingMáquina de turing
Máquina de turing
Yamilee Valerio
 
Maquina de turing
Maquina de turingMaquina de turing
Maquina de turing
Lalo Palacio
 
Máquina de turing
Máquina de turingMáquina de turing
Máquina de turingIvan
 
Reny galaviz web quest
Reny galaviz web questReny galaviz web quest
Reny galaviz web quest
Reny-Galaviz
 
Reny Galaviz Web Quest
Reny Galaviz Web QuestReny Galaviz Web Quest
Reny Galaviz Web Quest
Reny-Galaviz
 

Similar a 3.1 maquina de turing.ppt (20)

Gramáticas y Modelos Matemáticos - Clase 5 continuación
Gramáticas y Modelos Matemáticos - Clase 5 continuaciónGramáticas y Modelos Matemáticos - Clase 5 continuación
Gramáticas y Modelos Matemáticos - Clase 5 continuación
 
Clasificación de las máquinas de turing
Clasificación de las máquinas de turingClasificación de las máquinas de turing
Clasificación de las máquinas de turing
 
Mod auto 4
Mod auto 4Mod auto 4
Mod auto 4
 
Maquina de turing - Enzo y Bolivar - Teoria de Automatas
Maquina de turing - Enzo y Bolivar - Teoria de AutomatasMaquina de turing - Enzo y Bolivar - Teoria de Automatas
Maquina de turing - Enzo y Bolivar - Teoria de Automatas
 
Taller nro 24
Taller nro 24Taller nro 24
Taller nro 24
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Maquina de Turing
Maquina de TuringMaquina de Turing
Maquina de Turing
 
Máquinas que comen máquinas
Máquinas que comen máquinasMáquinas que comen máquinas
Máquinas que comen máquinas
 
Mod auto 4
Mod auto 4Mod auto 4
Mod auto 4
 
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de TuringPortafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
Portafolio Unidad 4 [Lenguajes y autómatas] - Máquinas de Turing
 
Modu saya 4
Modu saya 4Modu saya 4
Modu saya 4
 
Máquinas que comen máquinas
Máquinas que comen máquinasMáquinas que comen máquinas
Máquinas que comen máquinas
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmos
 
Mathlab tutorial
Mathlab tutorialMathlab tutorial
Mathlab tutorial
 
Graficas con Matlab
Graficas con Matlab Graficas con Matlab
Graficas con Matlab
 
Máquina de turing
Máquina de turingMáquina de turing
Máquina de turing
 
Maquina de turing
Maquina de turingMaquina de turing
Maquina de turing
 
Máquina de turing
Máquina de turingMáquina de turing
Máquina de turing
 
Reny galaviz web quest
Reny galaviz web questReny galaviz web quest
Reny galaviz web quest
 
Reny Galaviz Web Quest
Reny Galaviz Web QuestReny Galaviz Web Quest
Reny Galaviz Web Quest
 

Último

Homodinos y Heterodinos concepto y tipos y informacion general
Homodinos y Heterodinos concepto y tipos y informacion generalHomodinos y Heterodinos concepto y tipos y informacion general
Homodinos y Heterodinos concepto y tipos y informacion general
202001530
 
PRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdf
PRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdfPRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdf
PRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdf
IngridEdithPradoFlor
 
son mas ejercicios_de_estequiometria.docx
son mas ejercicios_de_estequiometria.docxson mas ejercicios_de_estequiometria.docx
son mas ejercicios_de_estequiometria.docx
Alondracarrasco8
 
Modonesi, M. - El Principio Antagonista [2016].pdf
Modonesi, M. - El Principio Antagonista [2016].pdfModonesi, M. - El Principio Antagonista [2016].pdf
Modonesi, M. - El Principio Antagonista [2016].pdf
frank0071
 
VIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROS
VIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROSVIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROS
VIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROS
alexacruz1502
 
Fisiopatología lesiones más frecuente en la columna vertebral.pdf
Fisiopatología lesiones más frecuente en la columna vertebral.pdfFisiopatología lesiones más frecuente en la columna vertebral.pdf
Fisiopatología lesiones más frecuente en la columna vertebral.pdf
KarlaRamos209860
 
Estructura de los compuestos orgánicos. UNAJ
Estructura de los compuestos orgánicos. UNAJEstructura de los compuestos orgánicos. UNAJ
Estructura de los compuestos orgánicos. UNAJ
GuillermoTabeni
 
Sistema Hemolinfopoyetico, síntomas y signos
Sistema Hemolinfopoyetico, síntomas y signosSistema Hemolinfopoyetico, síntomas y signos
Sistema Hemolinfopoyetico, síntomas y signos
mairamarquina
 
Semiología de Peritonitis - Univ. Wiener
Semiología de Peritonitis - Univ. WienerSemiología de Peritonitis - Univ. Wiener
Semiología de Peritonitis - Univ. Wiener
LuzArianaUlloa
 
Hablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdf
Hablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdfHablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdf
Hablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdf
OmarArgaaraz
 
CEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCION
CEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCIONCEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCION
CEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCION
do4alexwell
 
5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf
5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf
5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf
EdsonCienfuegos
 
5 RECETA MEDICA. TIPOS DE RECETAS FARMACIA
5  RECETA MEDICA. TIPOS DE RECETAS FARMACIA5  RECETA MEDICA. TIPOS DE RECETAS FARMACIA
5 RECETA MEDICA. TIPOS DE RECETAS FARMACIA
solizines27
 
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxEstudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
JoseAlbertoArmenta
 
3TERCER TRIMESTRE DE LENGUA Y LITERATURA
3TERCER TRIMESTRE DE LENGUA Y LITERATURA3TERCER TRIMESTRE DE LENGUA Y LITERATURA
3TERCER TRIMESTRE DE LENGUA Y LITERATURA
YULI557869
 
CANCER DE PROSTATA lllllllllllllllll.pptx
CANCER DE PROSTATA lllllllllllllllll.pptxCANCER DE PROSTATA lllllllllllllllll.pptx
CANCER DE PROSTATA lllllllllllllllll.pptx
PerlaOvando
 
10 razones para estudiar filosofia1.pptx
10 razones para estudiar filosofia1.pptx10 razones para estudiar filosofia1.pptx
10 razones para estudiar filosofia1.pptx
2024311042
 
La oratoria forense utilizando cada una de las tres reglas especiales y donde...
La oratoria forense utilizando cada una de las tres reglas especiales y donde...La oratoria forense utilizando cada una de las tres reglas especiales y donde...
La oratoria forense utilizando cada una de las tres reglas especiales y donde...
FreddyTuston1
 
Cap 35 Resistencia del Organismo a la Infeccion II INMUNIDAD.pptx
Cap 35 Resistencia  del Organismo a la Infeccion II INMUNIDAD.pptxCap 35 Resistencia  del Organismo a la Infeccion II INMUNIDAD.pptx
Cap 35 Resistencia del Organismo a la Infeccion II INMUNIDAD.pptx
MailyAses
 
Pelvis y periné anatomía clínica básica
Pelvis y periné anatomía clínica básicaPelvis y periné anatomía clínica básica
Pelvis y periné anatomía clínica básica
manuelminion05
 

Último (20)

Homodinos y Heterodinos concepto y tipos y informacion general
Homodinos y Heterodinos concepto y tipos y informacion generalHomodinos y Heterodinos concepto y tipos y informacion general
Homodinos y Heterodinos concepto y tipos y informacion general
 
PRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdf
PRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdfPRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdf
PRESENTACIÓN PENSAMIENTO CRÍTICO CAMPO FORMATIVO.pdf
 
son mas ejercicios_de_estequiometria.docx
son mas ejercicios_de_estequiometria.docxson mas ejercicios_de_estequiometria.docx
son mas ejercicios_de_estequiometria.docx
 
Modonesi, M. - El Principio Antagonista [2016].pdf
Modonesi, M. - El Principio Antagonista [2016].pdfModonesi, M. - El Principio Antagonista [2016].pdf
Modonesi, M. - El Principio Antagonista [2016].pdf
 
VIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROS
VIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROSVIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROS
VIRUS COXSACKIE, CASOS CLÍNICOS, ANÁLISIS, MORFOLOGÍA ENTRE OTROS
 
Fisiopatología lesiones más frecuente en la columna vertebral.pdf
Fisiopatología lesiones más frecuente en la columna vertebral.pdfFisiopatología lesiones más frecuente en la columna vertebral.pdf
Fisiopatología lesiones más frecuente en la columna vertebral.pdf
 
Estructura de los compuestos orgánicos. UNAJ
Estructura de los compuestos orgánicos. UNAJEstructura de los compuestos orgánicos. UNAJ
Estructura de los compuestos orgánicos. UNAJ
 
Sistema Hemolinfopoyetico, síntomas y signos
Sistema Hemolinfopoyetico, síntomas y signosSistema Hemolinfopoyetico, síntomas y signos
Sistema Hemolinfopoyetico, síntomas y signos
 
Semiología de Peritonitis - Univ. Wiener
Semiología de Peritonitis - Univ. WienerSemiología de Peritonitis - Univ. Wiener
Semiología de Peritonitis - Univ. Wiener
 
Hablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdf
Hablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdfHablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdf
Hablame-de-tus-fuentes-luisa-garcia-tellez-libro.pdf
 
CEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCION
CEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCIONCEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCION
CEFALEAS CLASIFICACIÓN, TRATAMIENTO Y PREVENCION
 
5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf
5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf
5+La+alimentación+de+la+trucha+arcoíris+_versión+final+(1).pdf
 
5 RECETA MEDICA. TIPOS DE RECETAS FARMACIA
5  RECETA MEDICA. TIPOS DE RECETAS FARMACIA5  RECETA MEDICA. TIPOS DE RECETAS FARMACIA
5 RECETA MEDICA. TIPOS DE RECETAS FARMACIA
 
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptxEstudio de la respiración celular en diferentes tipos de tejidos .pptx
Estudio de la respiración celular en diferentes tipos de tejidos .pptx
 
3TERCER TRIMESTRE DE LENGUA Y LITERATURA
3TERCER TRIMESTRE DE LENGUA Y LITERATURA3TERCER TRIMESTRE DE LENGUA Y LITERATURA
3TERCER TRIMESTRE DE LENGUA Y LITERATURA
 
CANCER DE PROSTATA lllllllllllllllll.pptx
CANCER DE PROSTATA lllllllllllllllll.pptxCANCER DE PROSTATA lllllllllllllllll.pptx
CANCER DE PROSTATA lllllllllllllllll.pptx
 
10 razones para estudiar filosofia1.pptx
10 razones para estudiar filosofia1.pptx10 razones para estudiar filosofia1.pptx
10 razones para estudiar filosofia1.pptx
 
La oratoria forense utilizando cada una de las tres reglas especiales y donde...
La oratoria forense utilizando cada una de las tres reglas especiales y donde...La oratoria forense utilizando cada una de las tres reglas especiales y donde...
La oratoria forense utilizando cada una de las tres reglas especiales y donde...
 
Cap 35 Resistencia del Organismo a la Infeccion II INMUNIDAD.pptx
Cap 35 Resistencia  del Organismo a la Infeccion II INMUNIDAD.pptxCap 35 Resistencia  del Organismo a la Infeccion II INMUNIDAD.pptx
Cap 35 Resistencia del Organismo a la Infeccion II INMUNIDAD.pptx
 
Pelvis y periné anatomía clínica básica
Pelvis y periné anatomía clínica básicaPelvis y periné anatomía clínica básica
Pelvis y periné anatomía clínica básica
 

3.1 maquina de turing.ppt

  • 1. 3.1 Máquina de Turing3.1 Máquina de Turing Adolfo Guzmán ArenasAdolfo Guzmán Arenas a.guzman@acm.orga.guzman@acm.org
  • 2. Máquina de TuringMáquina de Turing Es un modelo mucho más cercano a unaEs un modelo mucho más cercano a una computadora de propósito general.computadora de propósito general. – Puede hacer cualquier cosa que unaPuede hacer cualquier cosa que una computadora pueda hacer.computadora pueda hacer. – Aún así, ciertas cosas no las puede hacerAún así, ciertas cosas no las puede hacer Ciertos problemas no los puede resolver.Ciertos problemas no los puede resolver. En un sentido real, tales problemas están más alláEn un sentido real, tales problemas están más allá de los límites teóricos de la computación.de los límites teóricos de la computación.
  • 3. Su control es un autómata finito.Su control es un autómata finito. Usa una cinta semi-infinita.Usa una cinta semi-infinita. – Inicialmente, contiene solo la cadena de entradaInicialmente, contiene solo la cadena de entrada y blancos (y blancos (þþ) en los demás espacios.) en los demás espacios. – Puede guardar información en la cinta,Puede guardar información en la cinta, escribiendo en ella.escribiendo en ella. Un caracter a la vezUn caracter a la vez.. Mueve la cabeza (Mueve la cabeza (un caracter a la vezun caracter a la vez) a la) a la izquierda y derecha para leer y escribir.izquierda y derecha para leer y escribir. – Cuando decide emitir un resultado, emiteCuando decide emitir un resultado, emite aceptaacepta oo rechazarechaza entrando al estado aceptador o alentrando al estado aceptador o al rechazador.rechazador. Al entrar a uno de esos, se para (termina el cómputo).Al entrar a uno de esos, se para (termina el cómputo). Si no entra a uno de estos dos estados, continúaSi no entra a uno de estos dos estados, continúa calculando para siempre.calculando para siempre.
  • 4. a b ab a þ þ þ þ þ þ … Máquina de Turing R cadena de entrada
  • 5. Diferencias entre una máquina deDiferencias entre una máquina de Turing y un autómata finitoTuring y un autómata finito La máquina de Turing puede leer y escribir en laLa máquina de Turing puede leer y escribir en la cinta.cinta. – La entrada está al principio de la cinta.La entrada está al principio de la cinta. Puede mover su cabeza a izquierda y derecha.Puede mover su cabeza a izquierda y derecha. La cinta es infinita.La cinta es infinita. Los estadosLos estados rechazarechaza yy aceptaacepta tienen efectotienen efecto inmediatamente.inmediatamente. – La máquina se para. Termina. Ya no hace másLa máquina se para. Termina. Ya no hace más cálculos.cálculos.
  • 6. Ejemplo. Máquina de Turing que reconoce elEjemplo. Máquina de Turing que reconoce el lenguaje B = {lenguaje B = {ww##ww || ww ∈∈ {0,1}* }{0,1}* } – B no es libre de contexto (B no es libre de contexto (ya lo demostréya lo demostré).). Va a aceptar su entradaVa a aceptar su entrada ww sisi ww ∈∈ B.B. – La va a rechazar en otro caso.La va a rechazar en otro caso. Póngase usted en el lugar de la máquina.Póngase usted en el lugar de la máquina. – Está parado frente a una cinta con miles y miles deEstá parado frente a una cinta con miles y miles de caracteres.caracteres. – La va a aceptar si está formada de dos cadenasLa va a aceptar si está formada de dos cadenas idénticas separadas por un #.idénticas separadas por un #. – La cinta es demasiado larga para memorizarla toda.La cinta es demasiado larga para memorizarla toda. – Pero usted puede ir y venir varias veces, y ponerPero usted puede ir y venir varias veces, y poner marcas en ella.marcas en ella. La estrategia es ir y venir de uno a otro lado del # y marcar los lugares que se correspondan. y ver si son iguales.
  • 7. Así voy a diseñar la máquina.Así voy a diseñar la máquina. – Va a hacer varios pasos sobre la cinta.Va a hacer varios pasos sobre la cinta. – En cada paso se fija si un caracter antes del #En cada paso se fija si un caracter antes del # y uno después son iguales. Los tacha.y uno después son iguales. Los tacha. Si descubre una desigualdad, rechaza.Si descubre una desigualdad, rechaza. – Si todos están tachados (excepto #), acepta.Si todos están tachados (excepto #), acepta.
  • 8. M = “Para la entradaM = “Para la entrada w,w, 1.1. Ve y ven sobre la cinta, a ambos lados del #, aVe y ven sobre la cinta, a ambos lados del #, a posiciones correspondientes, para ver si contienenposiciones correspondientes, para ver si contienen el mismo símbolo.el mismo símbolo. 1.1. Si no es el mismo símbolo, o si no hay #, rechaza.Si no es el mismo símbolo, o si no hay #, rechaza. 2.2. Tacha los dos símbolos verificados para saber enTacha los dos símbolos verificados para saber en qué símbolo va.qué símbolo va. 2.2. Cuando ya haya tachado todos los símbolos a laCuando ya haya tachado todos los símbolos a la izquierda del #, verifica que no sobren símbolos (sinizquierda del #, verifica que no sobren símbolos (sin marcar) a su derecha. Si alguno sobra,marcar) a su derecha. Si alguno sobra, rechaza.rechaza. EnEn otro caso,otro caso, acepta.”acepta.” Esta descripción esboza cómo trabaja M, pero esEsta descripción esboza cómo trabaja M, pero es informal.informal. Se puede dar una descripción formal para M, como loSe puede dar una descripción formal para M, como lo hice para los autómatas finitos y de pila.hice para los autómatas finitos y de pila. Casi nunca lo hago porque resultan muy extensas.Casi nunca lo hago porque resultan muy extensas.
  • 9. Vistas de la cinta durante la computación de M.
  • 10. Descripción formal de una máquinaDescripción formal de una máquina de Turingde Turing El corazón de ella esEl corazón de ella es δδ, la función de, la función de transición.transición. – Nos dice cómo opera, cómo da cada pasoNos dice cómo opera, cómo da cada paso δδ : Q: Q ×× ΓΓ  QQ ×× ΓΓ ×× {L, R}.{L, R}. Si la máquina está en el estado q y la cabezaSi la máquina está en el estado q y la cabeza está sobre el símbolo a,está sobre el símbolo a, δδ(q, a) = (r, b, R),(q, a) = (r, b, R), la máquina lee el símbolo a, escribe el símbolola máquina lee el símbolo a, escribe el símbolo b y mueve su cabeza a la derecha (R).b y mueve su cabeza a la derecha (R). Primero lee, antes de escribir sobre lo leído.
  • 11. Una máquina de Turing es una 7-tuplaUna máquina de Turing es una 7-tupla (Q,(Q, ΣΣ,, ΓΓ,, δδ, q, q00, q, qacceptaccept, q, qrejectreject)) dondedonde Q es el conjunto de estados;Q es el conjunto de estados; ΣΣ es el alfabeto de entrada, no contienees el alfabeto de entrada, no contiene þ; Γ es el alfabeto de la cinta,es el alfabeto de la cinta, þ ∈∈ ΓΓ yy ΣΣ ⊂⊂ ΓΓ;; δ : Q: Q ×× ΓΓ  QQ ×× ΓΓ ×× {L, R}{L, R} es la función dees la función de transición;transición; qq00 ∈∈ Q es el estado inicial;Q es el estado inicial; qqacceptaccept ∈∈ Q es el estado aceptor;Q es el estado aceptor; qqrejectreject ∈∈ Q es el estado rechazador, conQ es el estado rechazador, con qqrejectreject ≠≠qqacceptaccept..
  • 12. Cómo computaCómo computa La entrada es w = wLa entrada es w = w00ww11ww22…w…wnn ∈∈ ΣΣ** en losen los cuadros más izquierdos.cuadros más izquierdos. – El resto lleno deEl resto lleno de Þ.Þ. el primerel primer Þ indica el fin de la w.Þ indica el fin de la w. – La cabeza en la primer posición (La cabeza en la primer posición (izquierdaizquierda).). Al correr, obedece aAl correr, obedece a δδ.. – Si acaso trata de ir a la izquierda del primerSi acaso trata de ir a la izquierda del primer cuadro de la cinta, se queda ahí (cuadro de la cinta, se queda ahí (aunqueaunque δδ diga Ldiga L).). – El cómputo continúa hasta que llegue a qEl cómputo continúa hasta que llegue a qacceptaccept óó qqrejectreject. Se para inmediatamente.. Se para inmediatamente. No tiene que procesar toda la entrada. Si no llega a qaccept ó a qreject, sigue procesando para siempre.
  • 13. Configuración de una máquina de TConfiguración de una máquina de T Conforme avanza la computación, ocurrenConforme avanza la computación, ocurren cambios encambios en – Estado.Estado. – Contenido de la cinta.Contenido de la cinta. – Posición de la cabeza.Posición de la cabeza. – Se representan medianteSe representan mediante configuraciones.configuraciones. Nos dicen cómo está la máquina en este momento.Nos dicen cómo está la máquina en este momento. Son “fotografías” de la máquina en ese momento.
  • 14. Configuración de una máquina de TConfiguración de una máquina de T Conforme avanza la computación, ocurrenConforme avanza la computación, ocurren cambios encambios en – Estado.Estado. – Contenido de la cinta.Contenido de la cinta. – Posición de la cabeza.Posición de la cabeza. a b ab a þ þ þ þ þ þ q7 La configuración en este momento esLa configuración en este momento es a b qa b q77 b a a.b a a. Cadena a la izq de la cabeza. Estado actual Cadena bajo la cabeza y a su derecha.
  • 15. De una configuración a otraDe una configuración a otra SiSi δδ(q(q77, b) = (q, b) = (q99, c, R), c, R) y la máquina está en la configuracióny la máquina está en la configuración a b qa b q77 b a ab a a q7 a b ab a þ þ þ þ þ þ bc,R q9
  • 16. De una configuración a otraDe una configuración a otra SiSi δδ(q(q77, b) = (q, b) = (q99, c, R), c, R) y la máquina está en la configuracióny la máquina está en la configuración a b qa b q77 b a ab a a Entonces su próxima configuración esEntonces su próxima configuración es a b c qa b c q99 a a.a a. a b ac a þ þ þ þ þ þ a b ab a þ þ þ þ þ þ Se dice que la configuraciónSe dice que la configuración CC11 = a b q= a b q77 b a ab a a produceproduce la configuraciónla configuración CC22 = a b c q= a b c q99 a aa a Si la máquina puede ir legalmente de CSi la máquina puede ir legalmente de C11 a Ca C22 enen un solo paso.un solo paso. q7 bc,R q9
  • 17. Definición. Supongo que a, b, cDefinición. Supongo que a, b, c ∈∈ ΓΓ;; u, vu, v ∈∈ ΓΓ*; q*; qii, q, qjj ∈∈ Q.Q. SeanSean ua qua qii bvbv yy uquqjj acvacv dosdos configuraciones.configuraciones. Digo que la configuración ua qDigo que la configuración ua qii bvbv produceproduce u qu qjj acvacv si se tienesi se tiene δδ(q(qii, b) = (q, b) = (qjj, c, L), c, L) u a b v þ þþ u a c v þ þþ qi qj u y v son cadenas.
  • 18. Definición. Supongo que a, b, cDefinición. Supongo que a, b, c ∈∈ ΓΓ;; u, vu, v ∈∈ ΓΓ*; q*; qii, q, qjj ∈∈ Q.Q. SeanSean u qu qii abvabv yy uc quc qjjbvbv dos configuraciones.dos configuraciones. La configuración u qLa configuración u qii abvabv produceproduce uc quc qjjbvbv si se tienesi se tiene δδ(q(qii, a) = (q, a) = (qjj, c, R), c, R) u a b v þ þþ u c b v þ þþ qi qj
  • 19. La configuración qLa configuración qii bvbv produce qproduce qjj cvcv si se tienesi se tiene δδ(q(qii, b) = (q, b) = (qjj, c, L), c, L) Caso especial: cabeza en la posición inicial de la cadena. b v þ þþ qi c v þ þþ qj
  • 20. La configuración qLa configuración qii bvbv produce qproduce qjj cvcv si se tienesi se tiene δδ(q(qii, b) = (q, b) = (qjj, c, L), c, L) La configuración ua qLa configuración ua qii es equivalente aes equivalente a ua qua qii ÞÞ y no se requiere caso especial.y no se requiere caso especial. Cabeza en posición más derecha de la cadena
  • 21. La configuración inicial es qLa configuración inicial es q00w.w. La configuración final es u qLa configuración final es u qacceptaccept vv óó u qu qrejectreject vv Configuración aceptora Configuración rechazadora
  • 22. La máquina de Turing aceptaLa máquina de Turing acepta ww Se dice que una máquina de TuringSe dice que una máquina de Turing aceptaacepta una cadenauna cadena ww si existe unasi existe una secuencia de configuraciones Csecuencia de configuraciones C11, C, C22,…C,…Ckk tales quetales que CC11 es la configuración inicial;es la configuración inicial; Cada CCada Cii produce Cproduce Ci+1i+1, y, y CCkk es una configuración aceptora.es una configuración aceptora. Cuando llega a configuración aceptora (o rechazadora) ya no procesa más. Se para. Fin de la computación.
  • 23. La máquina de Turing aceptaLa máquina de Turing acepta ww Se dice que una máquina de TuringSe dice que una máquina de Turing aceptaacepta una cadenauna cadena ww si existe unasi existe una secuencia de configuraciones Csecuencia de configuraciones C11, C, C22,…C,…Ckk tales quetales que CC11 es la configuración inicial;es la configuración inicial; Cada CCada Cii produce Cproduce Ci+1i+1, y, y CCkk es una configuración aceptora.es una configuración aceptora. Entonces, la máquina no acepta w si Ck es una configuración rechazadora ó si nunca se para. O sea, si no hay configuracion aceptora.
  • 24. El lenguaje de MEl lenguaje de M El conjunto de cadenas que M acepta esEl conjunto de cadenas que M acepta es elel lenguaje delenguaje de MM O el lenguajeO el lenguaje reconocido por Mreconocido por M.. Se escribe L(M).Se escribe L(M). Lenguaje Turing-reconocibleLenguaje Turing-reconocible Un lenguaje esUn lenguaje es reconociblereconocible oo Turing-Turing- reconociblereconocible si alguna máquina de Turing losi alguna máquina de Turing lo reconoce.reconoce. También: recursivamente enumerable. También: semidecidible.
  • 25. Cuando una máquina de Turing procesaCuando una máquina de Turing procesa una cadena, puede pasar:una cadena, puede pasar: – La acepta.La acepta. – La rechaza.La rechaza. – Nunca termina.Nunca termina. Sigue calculando indefinidamente.Sigue calculando indefinidamente. – Se mete en un ciclo.Se mete en un ciclo. – O exhibe otro comportamiento complejo (ejemplo: seO exhibe otro comportamiento complejo (ejemplo: se pone a calcular cadenas cada vez más largas).pone a calcular cadenas cada vez más largas). En este caso, no acepta la cadena.En este caso, no acepta la cadena. A veces es difícil distinguir si una máquinaA veces es difícil distinguir si una máquina no va a terminarno va a terminar – O simplemente está tomando su tiempo.O simplemente está tomando su tiempo.
  • 26. Es preferible tratar con máquinas queEs preferible tratar con máquinas que siempre terminan.siempre terminan. – Nunca se meten en un ciclo.Nunca se meten en un ciclo. Ni se ponen a hacer cálculos interminables.Ni se ponen a hacer cálculos interminables. – A veces aceptan su entrada.A veces aceptan su entrada. – En las otras veces, la rechazan.En las otras veces, la rechazan. SiempreSiempre decidendeciden (aceptar o rechazar).(aceptar o rechazar). – Nunca “se quedan pensando” (calculando)Nunca “se quedan pensando” (calculando) para siempre.para siempre. Son losSon los decididores.decididores. – Un decididor que también reconoce ciertoUn decididor que también reconoce cierto lenguaje se dice quelenguaje se dice que decidedecide ese lenguaje.ese lenguaje.
  • 27. Lenguajes decidiblesLenguajes decidibles Un lenguaje es Turing-decidible oUn lenguaje es Turing-decidible o simplementesimplemente decidibledecidible si alguna máquinasi alguna máquina de Turing lo decide.de Turing lo decide. Todo lenguaje decidible es tambiénTodo lenguaje decidible es también reconocible.reconocible. – Algunos lenguajes son reconocibles pero noAlgunos lenguajes son reconocibles pero no decidibles.decidibles. También: lenguaje recursivo.
  • 28. Ejemplo de máquina de Turing.Ejemplo de máquina de Turing. MM22 decide A = {0decide A = {022nn | n| n ≥≥ 0}0} La longitud de una cadena en A es una potenciaLa longitud de una cadena en A es una potencia de dos.de dos. ¿Cómo me doy cuenta si tengo una cadena cuya¿Cómo me doy cuenta si tengo una cadena cuya longitud es potencia de dos?longitud es potencia de dos? 24 ÷ 2 = 12 par 12 ÷ 2 = 6 par 6 ÷ 2 = 3 impar Rechaza: no es potencia de 2. 32 ÷ 2 = 16 par 16 ÷ 2 = 8 par 8 ÷ 2 = 4 par 4 ÷ 2 = 2 par 2 ÷ 2 = 1 Acepta: cuando el único cociente impar sea 1.
  • 29. Ejemplo de máquina de Turing.Ejemplo de máquina de Turing. MM22 decide A = {0decide A = {022nn | n| n ≥≥ 0}0} La longitud de una cadena en A es una potenciaLa longitud de una cadena en A es una potencia de dos.de dos. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x 0 x 0x 0 x 0 x 0 x 0 x 0x 0 x 0 x 0 x 0 x 0 xx 0 x 0 x 00 x X x 0 x X x 0 x X x 0 x X xx X x 0 x X x 0 x X x 0 x X x 00 x X xx X x ΘΘ x X xx X x 0 x X x0 x X x ΘΘ x X x 0x X x 0 x X xx X x ΘΘ xx XX xx ØØ xx X xX x ΘΘ x X x 0x X x 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 x 0 x 0x 0 x 0 x 0 x 0x 0 x 0 x 0 xx 0 x 00 x X x 0x X x 0 xx XX x 0 x X xx 0 x X x 00 Divido entre 2 tachando un 0 sí y otro no. par par par par Uno. Acepta. par par Impar no uno. Rechaza.
  • 30. Ejemplo de máquina de Turing.Ejemplo de máquina de Turing. MM22 decide A = {0decide A = {022nn | n| n ≥≥ 0}0} La longitud de una cadena en A es una potenciaLa longitud de una cadena en A es una potencia de dos.de dos. MM22 = “Para la entrada= “Para la entrada w,w, 1.1. Barre la cinta de izq a der, y cruza un 0Barre la cinta de izq a der, y cruza un 0 sí y otro nosí y otro no 1.1. Fíjate si el número de 0s sobrevivientes esFíjate si el número de 0s sobrevivientes es par o impar.par o impar. 2.2. Si en (1) había un solo 0,Si en (1) había un solo 0, acepta.acepta. 3.3. Si en (1) había más de un 0 y un númeroSi en (1) había más de un 0 y un número impar de ellos,impar de ellos, rechaza.rechaza. 4.4. Ve a (1).”Ve a (1).” Cada iteración de (1) corta los 0s a la mitad. Si los 0s que quedan son impares, w no es potencia de 2. Si queda un solo 0, w es potencia de 2.
  • 31. MM22 = (Q,= (Q, ΣΣ,, ΓΓ,, δδ, q, q11, q, qacceptaccept, q, qrejectreject)) Q = {qQ = {q11, q, q22, q, q33, q, q44, q, q55, q, qacceptaccept, q, qrejectreject)) ΣΣ = {0}= {0} ΓΓ = {0, x,= {0, x, ÞÞ}} δδ se describe con un diagrama de estados.se describe con un diagrama de estados.
  • 32. Tacha el primer 0 con un ÞÞ y no con una x, para poder hallar el extremo izquierdo de la cinta. Tacha el primer 0 Brinca los taches Luego, tacha un 0 no y otro si Brinca los taches No. par de 0s vistos Un 0 visto
  • 33. No. par de 0s vistos No. impar de 0s vistos Si ya hay ÞÞ (llegaste al fin de la entrada), ve a la izq brincando ceros y taches. Con el primer 0 (un ÞÞ) ve a der Si hay ÞÞ (llegas al fin de la entrada), acepta Cinta vacía o no contiene 0s, rechaza No. impar de 0s vistos y llegas al fin de cinta, rechaza Un 0 visto
  • 34. Ejemplo. MEjemplo. M11 = {Q,= {Q, ΣΣ,, ΓΓ,, δδ, q, q11, q, qacceptaccept, q, qrejectreject} es} es una máquina de Turing que acepta eluna máquina de Turing que acepta el lenguaje B = {w#w | wlenguaje B = {w#w | w ∈∈ {0,1}*}{0,1}*} Q = {qQ = {q11, q, q22, … q, … q88, q, qacceptaccept, q, qrejectreject}.}. ΣΣ = {0, 1, #} y= {0, 1, #} y ΓΓ = {0, 1, #,= {0, 1, #, þþ, x}., x}. δδ viene dada por el siguiente diagrama.viene dada por el siguiente diagrama.
  • 35. #  R þ  R x  R Hay un # con puros tachados, aceptaqaccept x R Brinca los tachados… … hasta que llegues al #, pásalo. Brinca los tachados…
  • 36. #  R þ  R 1 x,R x  R qaccept 0,1  R x R #  R Tacha el primer simbolo que no sea x. Es un 1. Ignora los demás símbolos hasta llegar al # x  R Brinca los tachados moviéndote a la der. 1 x,L Si ves un 1, táchalo y empieza a moverte a la izquierda. El primer 1 que taché por no estar tachado, a la izq del #, coincide con el primer 1 que taché, a la derecha del # Si ves un 0 ó un þþ, rechaza 0, þþ  R Ya no fueron iguales qreject
  • 37. #  R þ  R 1 x,R x  R qaccept 0,1  R x R #  R x  R 1 x,R qreject 0,1,x  L Sigue moviéndote a la izquierda hasta que encuentres el # 0, þþ  R
  • 38. #  R þ  R 1 x,R x  R qaccept 0,1  R x R #  R x  R 1 x,L qreject 0,1,x  L Cuando encuentres el #, sigue moviéndote a la izquierda pero ya no ignores x # L 0,1 L 0, þþ  R
  • 39. #  R þ  R 1 x,R x  R qaccept 0,1  R x R #  R x  R 1 x,L qreject 0,1,x  L Cuando encuentres la primer x, ya no necesitas ir más a la izq de la cinta. Puedes ir a la derecha a buscar el primer símbolo no tachado # L 0,1 L x R 0, þþ  R Cosa parecida va a suceder si el primer símbolo no tachado es 0.
  • 40. #  R þ  R 1 x,R x  R qaccept #  R x  R 1 x,L qreject 0,1,x  L # L0,1 L x R 0, þþ  R 0 x,R 0,1  R 0,1  R #  R x  R 0 x,L 1, þþ  R
  • 41. Ejemplo.Ejemplo. Aritmética. Construya una máquinaAritmética. Construya una máquina de Turing que decida el lenguajede Turing que decida el lenguaje A = {aA = {aii bbjj cckk | i| i ×× j = k y i,j,kj = k y i,j,k≥≥1}1} El número deEl número de aa’s multiplicado por el número de’s multiplicado por el número de bb’s’s debe ser igual al número dedebe ser igual al número de cc’s.’s. MM33 = “para la entrada= “para la entrada w,w, 1.1. Verifica queVerifica que ww tenga purastenga puras aa’s seguidas de’s seguidas de puraspuras bb’s seguidas de puras’s seguidas de puras cc’s.’s. RechazaRechaza si no.si no. 2.2. Regresa la cabeza a su posición inicial.Regresa la cabeza a su posición inicial. 3.3. Cruza unaCruza una aa y barre hasta encontrary barre hasta encontrar bb’s.’s. 1.1. Zigzagueando entre lasZigzagueando entre las bb’s y las’s y las cc’s, cruza una’s, cruza una bb yy unauna cc, hasta que todas las, hasta que todas las bb’s estén cruzadas. Si’s estén cruzadas. Si todas lastodas las cc’s están cruzadas y sobran’s están cruzadas y sobran bb’s,’s, rechazarechaza.. ¿Y cómo sabe que ya llegó a la posición inicial?
  • 42. MM33 = “para la entrada= “para la entrada w,w, 1.1. Verifica queVerifica que ww tenga purastenga puras aa’s seguidas de’s seguidas de puraspuras bb’s seguidas de puras’s seguidas de puras cc’s. Rechaza si no.’s. Rechaza si no. 2.2. Regresa la cabeza a su posición inicial.Regresa la cabeza a su posición inicial. 3.3. Cruza unaCruza una aa y barre hasta encontrary barre hasta encontrar bb’s.’s. 1.1. Zigzagueando entre lasZigzagueando entre las bb’s y las’s y las cc’s, cruza una’s, cruza una bb yy unauna cc, hasta que todas las, hasta que todas las bb’s estén cruzadas. Si’s estén cruzadas. Si todas lastodas las cc’s están cruzadas y sobran’s están cruzadas y sobran bb’s, rechaza.’s, rechaza. 4.4. Restablece lasRestablece las bb’s y repite (3) si hay otra’s y repite (3) si hay otra aa sinsin cruzar. Si todas lascruzar. Si todas las aa’s se han cruzado,’s se han cruzado, determina si también todas lasdetermina si también todas las cc’s se han’s se han cruzado. Si así es,cruzado. Si así es, acepta.acepta. Si no,Si no, rechaza.”rechaza.”
  • 43. Ejemplo. Todas las cadenas diferentes.Ejemplo. Todas las cadenas diferentes. E = {#xE = {#x11#x#x22#x#x33#...#x#...#xnn | cada x| cada xii ∈∈ {0, 1}* y{0, 1}* y xxii ≠≠ xxjj para cada ipara cada i ≠≠ j, para n>=0}j, para n>=0} La máquina que decide E esLa máquina que decide E es MM44 = “Para la entrada= “Para la entrada w,w, 1. Coloca una marca encima del símbolo más1. Coloca una marca encima del símbolo más izquierdo de la cinta. Si era unizquierdo de la cinta. Si era un þþ,, acepta.acepta. Si eraSi era un #, sigue con el siguiente paso. Si no,un #, sigue con el siguiente paso. Si no, rechaza.rechaza. 2. Barre a la derecha hasta el próximo # y ponle2. Barre a la derecha hasta el próximo # y ponle una segunda marca. Si no encuentro # antes deuna segunda marca. Si no encuentro # antes de unun þþ, solo x, solo x11 estaba presente.estaba presente. Acepta.Acepta. 3. Zigzagueando, compara las dos cadenas a la3. Zigzagueando, compara las dos cadenas a la derecha de los # marcados. Si son iguales,derecha de los # marcados. Si son iguales, rechaza.rechaza. Cada cadena no vacía comienza con #.
  • 44. 1. Coloca una marca encima del símbolo más1. Coloca una marca encima del símbolo más izquierdo de la cinta. Si era unizquierdo de la cinta. Si era un þþ,, acepta.acepta. Si eraSi era un #, sigue con el siguiente paso. Si no,un #, sigue con el siguiente paso. Si no, rechaza.rechaza. 2. Barre a la derecha hasta el próximo # y ponle2. Barre a la derecha hasta el próximo # y ponle una segunda marca. Si no encuentro # antes deuna segunda marca. Si no encuentro # antes de unun þþ, solo x, solo x11 estaba presente.estaba presente. Acepta.Acepta. 3. Zigzagueando, compara las dos cadenas a la3. Zigzagueando, compara las dos cadenas a la derecha de los # marcados. Si son iguales,derecha de los # marcados. Si son iguales, rechaza.rechaza. 4. Mueve la marca más a la derecha al siguiente # a4. Mueve la marca más a la derecha al siguiente # a su derecha.su derecha. Si no hay # antes deSi no hay # antes de þþ, mueve la marca, mueve la marca más izquierda al próximo # a su derecha, y el # más a lamás izquierda al próximo # a su derecha, y el # más a la derecha al siguiente # a su derecha. Esta vez, si no hay #derecha al siguiente # a su derecha. Esta vez, si no hay # disponible para la segunda marca, todas las cadenas sedisponible para la segunda marca, todas las cadenas se han comparado, entonceshan comparado, entonces acepta.acepta.”” Aquí muestro la técnica de marcar un símbolo. Todos los lenguajes que he visto en los ejemplos son decidibles. Por consiguiente, son reconocibles (ó Turing-reconocibles). Hallar (y demostrar) un lenguaje que es reconocible pero no decidible es más difícil. Lo veré en el Capítulo 4.