Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de...
Transcript of Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de...
![Page 1: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/1.jpg)
1
Máquinas
de Turing, programas y tesis
de Turing-Church
Elvira Mayordomo, Universidad de ZaragozaIlustraciones: Petros
Drineas, Rensselaer Polyt. Inst.
![Page 2: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/2.jpg)
2
Máquinas de Turing
![Page 3: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/3.jpg)
3
La jerarquía
de lenguajes
*aLenguajes
regulares
Lengs. indeps. del contextonnba Rww
nnn cba ww?
**ba
?
![Page 4: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/4.jpg)
4
*aLenguajes
regulares
Lengs. indeps. del contextonnba Rww
nnn cba ww
**ba
Lenguajes
aceptados
porMáquinas
de Turing
![Page 5: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/5.jpg)
5
Una
máquina
de Turing
$
Unidad de
control
Entrada
Cinta
cabeza
de lectura
$ a c
d eglectura-escritura
d
![Page 6: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/6.jpg)
6
La cinta
de memoria
......
cabeza
de lectura-escritura
Sin límite
derecho
–
longitud
infinita
La cabeza
se mueve
a la Derecha
o a la Izquierda
o No se mueve
$
![Page 7: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/7.jpg)
7
La cabeza
en cada
paso
de ejecución:
1.
Lee un símbolo2.
Escribe
un símbolo
3.
Se mueve
a Dcha
o Izda
o No se mueve
......
cabeza
de lectura-escritura
$
![Page 8: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/8.jpg)
8
Ejemplo:Tiempo
0
1.
Lee2.
Escribe
ak
3.
Se mueve
a la Izda
......a a cb$
Tiempo
1......a b k c$
![Page 9: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/9.jpg)
9
1.
Lee2.
Escribe
bf
3.
Se mueve
a la Dcha
Tiempo
1......a b k c$
Tiempo
2......a f k c$
![Page 10: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/10.jpg)
10
La cadena
de entrada
Símbolo
“blanco”
La cabeza
empieza
en la posición
más
a laizda
de la cadena
de entrada
......$
cabeza
lectora
a b ca
Cadena
de entradaSímb.inicio
![Page 11: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/11.jpg)
11
Estados
y transiciones
1q 2qIbNca ,,,
Lee(entrada
y memoria)
No mover entrada Mov. a Izda
memoria
1q 2qDbDca ,,,
Escribeen memoria
Mov. a Dchamemoria
Mov. Dcha entrada
![Page 12: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/12.jpg)
12
Ejemplo:
1q 2qDbNad ,,,
Tiempo
1
......$ a b ca
1q estado
actual
......$ d d d
![Page 13: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/13.jpg)
131q 2q
DbNad ,,,
Tiempo
1
......$ a b ca
1q
......$ d d d
Tiempo
2
......$ a b cb
......$ d d d
2q
![Page 14: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/14.jpg)
141q 2q
IbDad ,,,
Tiempo
1
......$ a b ca
1q
......$ d d d
Tiempo
2
......$ a b cb
......$ d d d
Ejemplo:
2q
![Page 15: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/15.jpg)
151q 2q
DgDd ,,,
Tiempo
1
......$ a b ca
1q
......$ d d d
Tiempo
2
......$ ga b cb
......$ d d d
2q
Ejemplo:
![Page 16: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/16.jpg)
16
Definición formal de máquinas deTuring
![Page 17: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/17.jpg)
17
Función
de transición
1q 2qDbDad ,,,
),,,(),,( 21 DbDqadq
![Page 18: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/18.jpg)
18
1q 2qIdNcb ,,,
),,,(),,( 21 IdNqcbq
Función
de transición
![Page 19: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/19.jpg)
19
Máquina
de Turing:
),,,,,( 0 FqQM
Estados
Alfabetoentrada
Función
detransición
Estadoinicial
Alfabetocinta
Estadosfinales
![Page 20: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/20.jpg)
20
Parar
La máquina
para si
no hay transiciónposible
desde
la configuración
actual
![Page 21: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/21.jpg)
21
Ejemplo:
1q
2qDbDad ,,,
3qIdIba ,,,
No hay transición
posible
¡PARA!!!
......$ a b ca
1q
......$ d d d
![Page 22: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/22.jpg)
22
Aceptar
Aceptar
Entrada Si la máquina
paraen un estado
final
Rechazar
Entrada
Si la máquina
paraen un estado
no final
oSi la máquina
no para
nunca
![Page 23: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/23.jpg)
23
El lenguaje
aceptado
Para una
máquina
de Turing M
final estadoun en para máquina la entrada, laen con , estado el desde:
)( 0
wqw
ML
![Page 24: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/24.jpg)
24
Un ejemplo
de máquina
de Turing
Una
máquina
de Turing que
acepta: *a
0q
NDa ,,,
NI ,,, 1q
![Page 25: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/25.jpg)
25
Tiempo
0
0q
$ aa a
0q 1q
NDa ,,,
NI ,,,
![Page 26: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/26.jpg)
26
Tiempo
1
0q
0q 1q
NDa ,,,
NI ,,,
$ aa a
![Page 27: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/27.jpg)
27
Tiempo
2
0q
0q 1q
NDa ,,,
NI ,,,
$ aa a
![Page 28: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/28.jpg)
28
Tiempo
3
0q
0q 1q
NDa ,,,
NI ,,,
$ aa a
![Page 29: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/29.jpg)
29
Tiempo
4
1q
0q 1q
Para y aceptaNDa ,,,
NI ,,,
$ aa a
![Page 30: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/30.jpg)
30
Ejemplo
de rechazo
0q 1q
Tiempo
0
0q
NDa ,,,
NI ,,,
$ ba a
![Page 31: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/31.jpg)
31
0q 1q
Tiempo
1
0q
No hay transición
posiblePara y rechazaNDa ,,,
NI ,,,
$ ba a
![Page 32: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/32.jpg)
32
Ejemplo
con bucle
infinito
0q
NDa ,,,
1q
NIb ,,,
Una
máquina
de Turing para
el lenguaje *a
NI ,,,
![Page 33: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/33.jpg)
33
Tiempo
0
0q
$ ba a
0q 1qNI ,,,
NIb ,,, NDa ,,,
![Page 34: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/34.jpg)
34
Tiempo
1
0q
0q 1q
NIb ,,, NDa ,,,
NI ,,,
$ ba a
![Page 35: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/35.jpg)
35
Tiempo
2
0q
0q 1q
NDa ,,, NIb ,,,
NI ,,,
$ ba a
![Page 36: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/36.jpg)
36
Tiempo
2
0q
Tiempo
3
0q
Tiempo
4
0q
Tiempo
5
0q
Bucleinfinito
$ ba a
$ ba a
$ ba a
$ ba a
![Page 37: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/37.jpg)
37
Por
el bucle
infinito:
•No se puede
alcanzar
el estado
final
•La máquina
nunca
para
•No se acepta
la entrada
![Page 38: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/38.jpg)
38
Máquinas
que
paran
siempre
Una
máquina
de Turing M para
siempre si
para
cualquier
cadena
w, M con
entrada
w para
![Page 39: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/39.jpg)
39
Lenguajes
decidibles
Un lenguaje
L es
decidible
si
es
el aceptado por
una
máquina
de Turing M que
para
siempre
Lw M para
en un estado
final
Lw M para
en un estado
no final
![Page 40: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/40.jpg)
40
Lenguajes
semidecidibles
Para una
máquina
de Turing M
final estadoun en para máquina la entrada, laen con , estado el desde:
)( 0
wqw
ML
Un lenguaje
es
semidecidible
si
es
aceptadopor
una
máquina
de Turing
![Page 41: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/41.jpg)
41
Variaciones
de máquinas
de Turing
• Más
de una
cinta
de memoria• Memoria
ilimitada
también
por
la izda
• Entrada
en la cinta
de memoria• Varias
cintas
de memoria
• Memoria
en varias
dimensiones• Máquina
no determinista
¡¡Todas
equivalentes!!
![Page 42: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/42.jpg)
42
Programas
![Page 43: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/43.jpg)
43
Programas
…Consideramos
programas
sintácticamente
correctos:Tipos de datos predefinidos
booleano, carácter, natural, entero, real, cadena
Instrucciones condicionalessi <condición> entonces<secuencia de acciones>
sino<secuencia de acciones>
fsiInstrucciones iterativas
mientrasQue <condición> hacer<secuencia de acciones>
fmq
![Page 44: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/44.jpg)
44
Programas
…Procedimientos y funcionesprocedimiento <nombre>(ent <parámetros_1>:<tipo_1>;
sal <parámetros_2>:<tipo_2>;e/s <parámetros_3>:<tipo_3> ... )
…función <nombre>(<parám_1>:<tipo_1>; <parám_2>:<tipo_2> ...) devuelve <tipo_fun><declaraciones locales de constantes, tipos, variables, proced., funciones...>principio<secuencia de acciones>
devuelve <valor_de_tipo_fun> {tras devolver el valor la función termina}fin…
Y el resto
de la sintaxis
habitual
![Page 45: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/45.jpg)
45
Programas
ideales
…
El único
añadido
es
que
la memoria es ilimitada, es decirNo hay nunca errores por “overflow”
(de una variable o de un puntero)
De esta forma un programa real es un programa ideal, y un programa ideal se puede implementar en un computador real si tiene suficiente memoria
![Page 46: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/46.jpg)
46
Codificación
procedimiento ejemplo (ent w:cadena; sal z:cadena)
Cualquier
dato
elemental (booleano, carácter, natural, entero, etc.) puede codificarse como una cadena, y varias cadenas en una sola (por ej.
con un
símbolo extra #)
Luego cualquier programa es equivalente a:
![Page 47: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/47.jpg)
47
Nos
interesan
especialmente
tipo tpresultado = (acepta,rechaza)
procedimiento ejemplo (ent w:cadena; sal z:tpresultado)
![Page 48: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/48.jpg)
48
Parar
Un programa
con una
entrada
para si
termina
su
ejecución
![Page 49: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/49.jpg)
49
Aceptar
Aceptar
Entrada Si el programa
paray devuelve
acepta
Rechazar
Entrada
Si el programa
paray no devuelve
acepta
oSi el programa
no para
nunca
![Page 50: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/50.jpg)
50
El lenguaje
aceptado
Para un programa p
devuelvey para
entradacon programa el:)(
acepta
wpwpL
![Page 51: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/51.jpg)
51
Ejemplo
de programa
que
no para
![Page 52: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/52.jpg)
52
Programas
que
paran
siempre
Una
programa
p para
siempre
si
para cualquier
cadena
w, p con entrada
w
para
![Page 53: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/53.jpg)
53
Tesis de Turing-Church
![Page 54: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/54.jpg)
54
Teorema
Las máquinas
de Turing y los programas
son equivalentes
![Page 55: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/55.jpg)
55
Son equivalentes
quiere
decir
Para cualquier
máquina
M existe
un programa
p tal
que:
y viceversa
• L(M)=L(p)• M y p paran
con las
mismas
entradas
para
cualquier
programa
p existe
una
máquina
M tal
que
L(M)=L(p)
y M y p paran
con las
mismas
entradas
![Page 56: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/56.jpg)
56
Demostración
1) Para cualquier
máquina
M existe
un programa
p tal
que
L(M)=L(p)
y M y p paran
con las
mismas
entradas
Escribir
un programa
que
simule
una máquina
de Turing …
(sencillo)
![Page 57: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/57.jpg)
57
Demostración
1) Para cualquier
programa
p existe
una
máquina
M tal
que
L(M)=L(p)
y M y p paran
con las
mismas
entradas
Escribir
una
máquina
de Turing que
simule una programa … (complicado)
Primero
hacer
una
máquina
que
simule
cada tipo
de instrucción
(condicional, bucle)
Luego
combinarlas
![Page 58: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/58.jpg)
58
Lenguajes
semidecidibles
Para un programa p
Un lenguaje
es
semidecidible
si
es
aceptadopor
un programa
devuelvey para
entradacon programa el:)(
acepta
wpwpL
![Page 59: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/59.jpg)
59
Lenguajes
decidibles
Un lenguaje
L es
decidible
si
es
el aceptado por
un programa
que
para
siempre
Lw p para
y devuelve
acepta
Lw p para
y no devuelve
acepta
![Page 60: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/60.jpg)
60
Tesis
de Turing-Church:
Cualquier
modelo
de cálculo
que
se puedaimplementar
físcamente
es
equivalente
a las
máquinas
de Turing
(1930)
![Page 61: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/61.jpg)
61
Tesis
de Turing-Church:
Se cumple
para
los modelos
conocidos:•Programas
(imperativos)
•Programas
lógicos•Programas
funcionales
•Máquinas
paralelas•….
Tesis
= conjetura. No hay demostración
![Page 62: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/62.jpg)
62
Cuando
decimos:Existe
un algoritmo
que
hace
x
Los programas
son máquinas
de Turing
Es lo mismo
que:Existe
una
máquina
de Turing
que
hace
x
![Page 63: Máquinas de Turing, programas y tesis de Turing …webdiis.unizar.es/~elvira/L12_Tesis de Turing-Church.pdf · de Turing . 41 Variaciones de máquinas de Turing • Más de una cinta](https://reader031.fdocuments.in/reader031/viewer/2022020104/5ba4b31b09d3f247428b486a/html5/thumbnails/63.jpg)
63
*aLenguajes
regulares
Lengs. indeps. del contextonnba Rww
nnn cba ww
**ba
Lenguajes
semidecidibles(aceptados
por
programas)