Clases_18_19
-
Upload
martin-cruz-valenzuela -
Category
Documents
-
view
215 -
download
0
description
Transcript of Clases_18_19
-
Clases 18 y 19: Mquina de Turing
1M. en C. Edgardo Adrin Franco Martnez http://computacion.cs.cinvestav.mx/~efranco
@efranco_escom
-
Contenido Mquinas de Turing
Definicin formal de la mquina de Turing
Funcionamiento de la mquina de Turing
Ejemplo 01
Representacin grfica
Descripciones instantneas
Movimiento
Cierre transitivo de (serie de movimientos) Ejemplo 02
Lenguaje reconocido por una MT
Definicin
Convenciones
Ejemplo 03
Funcin computada por una MT
Convenciones
Ejemplo 04
Compiladores (Lenguajes y gramticas - Edgardo A. Franco)
2
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
-
3T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Dispositivo capaz de adoptar un estado
determinado (de Q) y que est conectado a una
cabeza lectura/escritura que puede leer y escribir
smbolos en una cinta infinita.
-
4T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Una mquina de Turing se puede definir
formalmente como una sptupla:
M= (,,,Q,q0,f,F)
: Es el alfabeto de smbolos de la cinta.
: Es el alfabeto de smbolos de entrada, .
: Es el smbolo blanco que no pertenece a , .
Q: Es un conjunto finito de estados.
q0: Es el estado inicial, y cumple q0 Q.
f: Es una funcin de transicin parcial, de la forma:
f: Q Q{L,R}
F: Es el conjunto de estados finales, F Q.
-
5T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
En cada accin o movimiento:
La mquina lee el smbolo de la cinta en la posicin
donde se encuentra la cabeza de lectura/escritura.
En funcin del smbolo ledo y del estado actual la
mquina:
a. Pasa a un nuevo estado (de forma determinista).
b. Imprime un smbolo en la cinta en la misma posicin
donde acaba de leer el smbolo actual.
c. Mueve la cabeza de lectura/escritura una posicin a la
izquierda (L), o a la derecha (R).
-
6T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Inicialmente, la cinta (infinita a ambos lados)
contiene un nmero finito de smbolos de ,
precedidos y seguidos por un nmero infinito de
blancos. La cinta se comporta como un dispositivo
de entrada/salida.
-
7T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
M= ({a,b,},{a,b},,{q0,q1},q0,f,{q1})
f(q0,a)=(q0,a,R)
f(q0,b)=(q1,,L)
a a b
q0
a a
q1 para en
-
8T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
pasa todos los as que haya y cuando encuentra una b
lo cambia por y para en el estado q1
a a
q0
a a
q0 para en
-
9T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Cada nodo corresponde a un estado de la MT.
Cada transicin f(qi,a)=(qj,b,X) con qi,qjQ, a,b y
X{L,R} corresponde a un arco del nodo qi al nodo
qj marcado con la etiqueta (a,b,X).
El estado inicial se marca con y los estado finales
con *.
-
10
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Contiene el contenido de la cinta (slo escribiremos
los blancos cuando sea necesario).
Se incluye el estado de la mquina en la posicin
delante del smbolo donde se encuentra la cabeza
lectora/escritora.
q0aaaab
aaaabq1
-
11
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
q0aaab aq0aab posible si y slo si f(q0,a)=(q0,a,R) q0aaab q0baab posible si y slo si f(q0,a)=(q0,b,L) aaaq0b aaaq1 posible si y slo si f(q0,b)=(q1,,R)
-
12
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
q0aaab * aaaq1 si existe q0aaab ... aaaq1
Una MT comienza en un estado inicial con alguna
informacin en la cinta, x1qix2 ,realiza una serie de
movimientos y posiblemente:
1. Entre en un bucle infinito (no pare nunca):
x1qix2*
2. Llegue a una configuracin en la que no es posible
ningn movimiento:
x1qix2 * y1qjay2 (para algn qj y a, tal que f(qj,a) noesta definido)
-
13
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Si, adems, qjF, decimos que la mquina para en un
estado final. (por convencin no definimos
transiciones f(qj,a) para ningn estado final qj)
-
14
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
M= ({a,b,},{a,b},,{q0,q1,q2},q0,f,{q2})
f(q0,a)=(q1,a,R) f(q1,b)=(q0,b,L) f(q1,)=(q0,,L)
f(q0,b)=(q2,b,R) f(q1,a)=(q0,a,L)
diferentes casos:
1. q0 para en q0
2. q0bx1x2...xn bq2x1x2...xn para en q23. q0ax1x2...xn aq1x1x2...xn q0ax1x2...xn ... (bucle infinito)
-
15
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
El contenido de la cinta al iniciar una mquina puede
interpretarse como una palabra de un determinado
lenguaje.
Sea M= (,,,Q,q0,f,F) una MT. El lenguaje
aceptado por M es:
L(M) = {x | q0x * y1qiay2, con qiF, x*,y1,y2*, a y f(qi,a) no esta definido}
-
16
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Inicialmente la cinta contiene una palabra x y la
cabeza de lectura/escritura se encuentra en la
posicin del primer smbolo de x en el estado q0:
q0x.
La mquina acepta x si se para en un estado final.
El contenido de la cinta al parar es irrelevante.
Se rechaza x si la mquina no se para nunca o se
para en un estado que no es final.
Si la palabra es , la configuracin inicial es q0.
-
17
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
-
18
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Las MTs pueden transformar entradas en salidas:
La entrada son todos los smbolos no blancos en la
cinta en el momento inicial.
El contenido de la cinta (los smbolos no blancos) al
final de la computacin (cuando la mquina se para
en un estado final) se considera como salida.
En otras palabras, se puede considerar una MT como
la implementacin de una funcin f: y=f(x) si para la
configuracin inicial q0x la mquina M para en una
configuracin qfy, donde qf es un estado final de M:
q0xM*qfy
-
19
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
Codificacin de los nmeros naturales en el sistema
unario:
Se representa cada x por una palabra w(x){1}+
tal que |w(x)|-1=x
(01; 111; 2111; 31111 ...)
(se pueden usar otros tipos de codificaciones)
Al inicio y al final de la ejecucin la cabeza se
encuentra sobre el primer 1 a la izquierda.
No hay transiciones definidas para estados finales.
-
20
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
z
M= ({1,},{1},,{q0,q1,q2,q3,q4,q5},q0,f,{q5})
f(q0,1)=(q0,1,R) f(q2,1)=(q3,,L)
f(q0,)=(q1,1,R) f(q3,1)=(q4,,L)
f(q1,1)=(q1,1,R) f(q4,1)=(q4,1,L)
f(q1,)=(q2,,L) f(q4,)=(q5,,R)
-
21
T
e
o
r
a
c
o
m
p
u
t
a
c
i
o
n
a
l
C
l
a
s
e
s
1
8
y
1
9
:
M
q
u
i
n
a
d
e
T
u
r
i
n
g
P
r
o
f
.
E
d
g
a
r
d
o
A
d
r
i
n
F
r
a
n
c
o
M
a
r
t
n
e
zq011111 1q01111 11q0111111q011 1111q111 11111q11111111q1 11111q21 1111q31111q41 11q411 1q4111q41111 q41111 q51111
q011111*q51111
calcula la suma de dos enteros positivos x+y,
donde x e y se representan mediante notacin
unaria:1n corresponde al nmero n-1 . Es decir, x=0
se representa con 1, x=1 se representa con 11.