Lenguajes decidibles y...
Transcript of Lenguajes decidibles y...
![Page 1: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/1.jpg)
1
Lenguajes decidibles y semidecidibles
Elvira Mayordomo, Universidad de Zaragoza
![Page 2: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/2.jpg)
2
Hoy
1. Lenguaje semidecidible y lenguaje decidible (repaso)
2. Todo decidible es semidecidible
3. Ejemplos de decidibles
4. Más ejemplos de semidecidibles: el problema de parada
5. Los decidibles son cerrados por complemento
6. Primer ejemplo de no decidible
7. Ejemplos de no decidibles
![Page 3: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/3.jpg)
3
Recordad: Programas …
•Consideramos programas sintácticamente
correctos …
•El único añadido es que la memoria es ilimitada (es decir no hay nunca errores por “overflow”)
Luego si probamos que algo no se puede
resolver con ningún programa es un resultado
muy general …
![Page 4: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/4.jpg)
4
Nos interesan especialmente
tipo tpresultado = (acepta,rechaza)
procedimiento ejemplo (ent w:cadena; sal z:tpresultado)
![Page 5: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/5.jpg)
5
Aceptar
Aceptar Entrada Si el programa para
y devuelve acepta
Rechazar Entrada
Si el programa para
y no devuelve acepta
o
Si el programa no para
nunca
![Page 6: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/6.jpg)
6
El lenguaje aceptado
Para un programa p
devuelvey para
entradacon programa el:)(
=acepta
wpwpL
Definición:
Un lenguaje es semidecidible si es el aceptado por un programa
![Page 7: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/7.jpg)
7
Programas que paran siempre
Una programa p para siempre si para cualquier cadena w, p con entrada w para
•Estos son los programas realmente útiles
![Page 8: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/8.jpg)
8
Lenguajes decidibles
Definición:
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 9: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/9.jpg)
9
Lenguajes decidibles
Un lenguaje L es decidible si es el aceptado por un programa que para siempre
En otras palabras:
Un lenguaje L es decidible si existe un algoritmo que resuelve completamente el problema de pertenencia a L
![Page 10: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/10.jpg)
10
*aLenguajes regulares
Lengs. indeps. del contextonnba Rww
nnn cba ww
**ba
Lenguajes semidecidibles
(aceptados por programas)
![Page 11: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/11.jpg)
11
Hoy
1. Lenguaje semidecidible y lenguaje decidible (repaso)
2. Todo decidible es semidecidible
3. Ejemplos de decidibles
4. Más ejemplos de semidecidibles: el problema de parada
5. Los decidibles son cerrados por complemento
6. Primer ejemplo de no decidible
7. Ejemplos de no decidibles
![Page 12: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/12.jpg)
12
Resultado elemental
Teorema
Si A es un lenguaje decidible entonces es semidecidible
Demostración. Mirar las definiciones:
• Semidecidible: existe un programa que acepta A
• Decidible: existe un programa que acepta A y para siempre
![Page 13: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/13.jpg)
Dicho de otra forma
Teorema
Si A no es semidecidible entonces A no es decidible
13
![Page 14: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/14.jpg)
14
*aLenguajes regulares
Lengs. indeps. del contextonnba Rww
nnn cba ww
**ba
Lenguajes semidecidibles
Lenguajes decidibles
![Page 15: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/15.jpg)
15
??
¿Hay lenguajes semidecidibles pero no decidibles?
Veremos que sí utilizando la famosa técnica de diagonalización
![Page 16: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/16.jpg)
16
Hoy
1. Lenguaje semidecidible y lenguaje decidible (repaso)
2. Todo decidible es semidecidible
3. Ejemplos de decidibles
4. Más ejemplos de semidecidibles: el problema de parada
5. Los decidibles son cerrados por complemento
6. Primer ejemplo de no decidible
7. Ejemplos de no decidibles
![Page 17: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/17.jpg)
17
Ejemplos de decidibles
Cualquier lenguaje para el que sepamos hacer un algoritmo que pare siempre y resuelva el problema de pertenencia:
•
•
• Todos los regulares y todos los incontextuales
}*},{|{ bawww ∈
}|{ Nncba nnn ∈
![Page 18: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/18.jpg)
18
Ejemplos de decidibles
A= { (M, N) | M y N son AFDs que aceptan el mismo lenguaje}
Un algoritmo que acepta A y para siempre:
Entrada N, M
N’= minimizar(N)
M’= minimizar(M)
Comparar (N’, M’) si N’≅M’
entonces acepta
sino rechaza
![Page 19: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/19.jpg)
19
Ejemplos de decidibles
• A= { (M, N) | M y N son AFDs que aceptan el mismo lenguaje}
• B= { (M, N) | M y N son AFnDs que aceptan el mismo lenguaje}
• C= {(e,f) | e y f son dos expresiones regs.
que representan el mismo leng.}
![Page 20: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/20.jpg)
20
Hoy
1. Lenguaje semidecidible y lenguaje decidible (repaso)
2. Todo decidible es semidecidible
3. Ejemplos de decidibles
4. Más ejemplos de semidecidibles: el problema de parada
5. Los decidibles son cerrados por complemento
6. Primer ejemplo de no decidible
7. Ejemplos de no decidibles
![Page 21: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/21.jpg)
21
Ejemplos de lenguajes semidecidibles
• Todos los lenguajes decidibles que hemos visto
(todos los decidibles son semidecidibles)
• El que vamos a ver a contiuación …
![Page 22: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/22.jpg)
22
El problema de parada
![Page 23: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/23.jpg)
23
El problema de parada
Dado un programa p y una cadena w
¿p con entrada w para?
![Page 24: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/24.jpg)
24
El problema de parada
H= { (p , w) : p es un programa que para con entrada w}
Cada programa es una cadena, y codificamos(p,w) como p#w
H es el lenguaje que representa el problemade parada
![Page 25: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/25.jpg)
¿Qué sabemos sobre H?
Hoy vamos a ver que
• H es semidecidible: existe un programa que acepta H
• H no es decidible: NO existe un programa que acepta H y para siempre
• Es decir, no existe un programa que resuelva el problema de parada, aunque síun programa que acepta H (aunque en caso de rechazo se suele colgar)
25
![Page 26: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/26.jpg)
Para ver que H es semidecidible
H= { (p , w) : p es un programa que para con entrada w}
•Necesitamos un programa que simule la ejecución de otro programa
•Empezamos con un caso más fácil, un programa que simule una máquina de Turing
26
![Page 27: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/27.jpg)
27
Simulando máquinas de Turing
Podemos simular una máquina M con entradaw durante T pasos
Procedimiento SimulaMT (ent M:cadena; entw:cadena; ent T:natural; sal ha_parado:booleano;
sal resultado:tpresultado)
{Simula T pasos de la ejecución de M con entrada w}
{ha_parado=True cuando ha parado en tiempo<=T}
{resultado=acepta si ha parado en estado final}
![Page 28: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/28.jpg)
28
Simulando máquinas de Turing
Procedimiento SimulaMT (ent M:cadena; entw:cadena; ent T:natural; sal ha_parado:booleano; sal resultado:tpresultado)
Variables ...{Simula T pasos de la ejecución de M con entrada w}principioha_parado:= Falsetiempo:=0entrada:= concatena(“$”,w) {seguido de blancos}memoria:= … {$ seguido de blancos}cabeza_ent:=2; cabeza_mem:=2q:=q0; a:=w(1); b:=blanco
![Page 29: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/29.jpg)
29
Simulando máquinas de TuringMientrasQue (Not ha_parado) AND (tiempo<T)
hacerSi “hay una transición” desde (q,a,b)
“seguirla” { aplicar transición actualizando q,a,by cabezas }
tiempo:=tiempo+1sino ha_parado:= TrueFsi
FmqSi esFinal(q) entonces resultado:= aceptasino resultado:=rechaza; Fsi
fin
![Page 30: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/30.jpg)
30
Simulando programas
Podemos simular un programa p con entrada w durante T pasos (como hacen los intérpretes o los debuggers)
Procedimiento Simula (ent p:cadena; ent w:cadena; ent T:natural; sal ha_parado:booleano; sal resultado:cadena)
{Simula T pasos de la ejecución de p con entrada w}{ha_parado=True cuando ha parado en tiempo<=T} {resultado= resultado de p con entrada w si ha
parado}
![Page 31: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/31.jpg)
31
Teorema
H es semidecidible
H= { (p , w) : p es un programa que para con entrada w}
![Page 32: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/32.jpg)
32
H es semidecidibleH= { (p , w) : p es un programa que para con entrada
w}
Procedimiento aceptaH(ent p:cadena; ent w:cadena; sal z:tpresultado)
Variable res:tpresultadoPrincipio
T:=1; ha_parado:=falseMientrasQue NOT ha_parado
simula(p,w,T,ha_parado,res)T:=T+1
FmqSi ha_parado entonces z:=acepta
Fin
![Page 33: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/33.jpg)
33
H es semidecidible
Si (p,w)∈H el programa aceptaH acepta (p,w)
Si (p,w)∉H el programa aceptaH con entrada(p,w) se cuelga !!!
![Page 34: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/34.jpg)
34
Hoy
1. Lenguaje semidecidible y lenguaje decidible(repaso)
2. Todo decidible es semidecidible
3. Ejemplos de decidibles
4. Más ejemplos de semidecidibles: el problema de parada
5. Los decidibles son cerrados por complemento
6. Primer ejemplo de no decidible
7. Ejemplos de no decidibles
![Page 35: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/35.jpg)
35
Los decidibles son cerrados por complemento
• Sea A decidible: hay un algoritmo que aceptaA y para siempre
• Un algoritmo para A es como el algoritmo paraA pero cambiando “devuelve acepta” por“devuelve rechaza” y viceversa
![Page 36: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/36.jpg)
36
Los decidibles son cerrados por complemento
• Si A es decidible entonces A es decidible
• Si A no es decidible entonces A no esdecidible
![Page 37: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/37.jpg)
37
Importante:
• Los semidecidibles NO son cerrados porcomplemento
• Por ejemplo, H no es semidecidible
![Page 38: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/38.jpg)
38
Hoy
1. Lenguaje semidecidible y lenguaje decidible(repaso)
2. Todo decidible es semidecidible
3. Ejemplos de decidibles
4. Más ejemplos de semidecidibles: el problema de parada
5. Los decidibles son cerrados por complemento
6. Primer ejemplo de no decidible
7. Ejemplos de no decidibles
![Page 39: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/39.jpg)
39
No decidibles …
Para cualquier aplicación práctica sólo nosinteresan los programas que paran siempre
Resolver un problema es encontrar un programa que lo resuelva y pare siempre
�Los decidibles son los que podemos resolver
¿Hay no decidibles interesantes?
No decidible = Indecidible
![Page 40: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/40.jpg)
40
Primer ejemplo de indecidible
Vamos a utilizar diagonalización para vernuestro primer ejemplo de indecidible o no decidible
No decidible = Indecidible
![Page 41: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/41.jpg)
41
Diagonalización
![Page 42: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/42.jpg)
42
Diagonalizar una tabla
b1 b2 b3 b4 b5 b6 b7 b8
R1 0 1 1 0 0 1 0 1
R2 1 1 1 0 0 1 0 0
R3 0 0 0 1 1 1 0 1
R4 0 1 0 1 0 1 0 1
R5 1 1 1 0 1 1 0 0
R6 1 0 1 0 1 1 0 1
R7 1 0 0 1 1 1 0 1
R8 0 0 1 1 1 1 0 1
¿Cómo encontrar una fila distinta a todas?
![Page 43: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/43.jpg)
43
Diagonalizar una tabla
b1 b2 b3 b4 b5 b6 b7 b8
R1 0 1 1 0 0 1 0 1
R2 1 1 1 0 0 1 0 0
R3 0 0 0 1 1 1 0 1
R4 0 1 0 1 0 1 0 1
R5 1 1 1 0 1 1 0 0
R6 1 0 1 0 1 1 0 1
R7 1 0 0 1 1 1 0 1
R8 0 0 1 1 1 1 0 1
1 0 1 0 0 0 1 0
![Page 44: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/44.jpg)
44
Un enunciado curioso …
• Cada programa p lo codificamos como unacadena
• Luego si un programa p tiene como entradauna cadena, podemos considerar comoentrada de p el propio p
• No es tan raro, podemos escribir un compilador de Java en Java
• Y el compilador se puede compilar a símismo
![Page 45: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/45.jpg)
45
Un lenguaje no decidible …
A= { p : p es un programa que acepta la entrada p}
![Page 46: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/46.jpg)
46
Teorema: A no es decidible
Demostración:
Sea la siguiente tabla (infinita): para cadaprograma p hay una fila, y para cadaprograma p hay una columna
El la posición p,q escribimos 1 si el programap acepta q y escribimos 0 si no
![Page 47: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/47.jpg)
47
Demostración
p1 p2 p3 p4 p5 p6 p7 p8
p1 0 1 1 0 0 1 0 1
p2 1 1 1 0 0 1 0 0
p3 0 0 0 1 1 1 0 1
p4 0 1 0 1 0 1 0 1
p5 1 1 1 0 1 1 0 0
p6 1 0 1 0 1 1 0 1
p7 1 0 0 1 1 1 0 1
p8 0 0 1 1 1 1 0 1
Si L es semidecidible … una de las filas es L
![Page 48: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/48.jpg)
48
Demostración
p1 p2 p3 p4 p5 p6 p7 p8
p1 0 1 1 0 0 1 0 1
p2 1 1 1 0 0 1 0 0
p3 0 0 0 1 1 1 0 1
p4 0 1 0 1 0 1 0 1
p5 1 1 1 0 1 1 0 0
p6 1 0 1 0 1 1 0 1
p7 1 0 0 1 1 1 0 1
p8 0 0 1 1 1 1 0 1
¿Qué es la diagonal?
![Page 49: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/49.jpg)
49
Demostración
En la diagonal hay 1 si p acepta p y 0 si no
Esto es 1 si p∈A y 0 si p∉A
¿Qué pasa si diagonalizamos?
![Page 50: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/50.jpg)
50
Demostración
En la diagonal hay 1 si p acepta p y 0 si no
Esto es 1 si p∈A y 0 si p∉A
¿Qué pasa si diagonalizamos?
• Obtenemos una fila que no está en la tabla
• Obtenemos el complementario de la diagonal (1 si p∈A y 0 si p∉A)
![Page 51: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/51.jpg)
51
Demostración
Si hay un programa Q que acepte A, tenemos
que la fila de Q en la tabla tiene
1 si p∈A y 0 si p∉A
Pero eso es imposible porque hemos visto que una fila así no está en la tabla (es el complementario de la diagonal)
Luego no hay un programa que acepte A
![Page 52: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/52.jpg)
52
Demostración
Luego no hay un programa que acepte A
Luego A no es semidecidible
(decidible �semidecidible)
Por tanto A no es decidible
(decidible cerrado por complemento)
Por tanto A no es decidible
Fin de la demostración
![Page 53: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/53.jpg)
53
Hoy
1. Lenguaje semidecidible y lenguaje decidible (repaso)
2. Todo decidible es semidecidible
3. Ejemplos de decidibles
4. Más ejemplos de semidecidibles: el problema de parada
5. Los decidibles son cerrados por complemento
6. Primer ejemplo de no decidible
7. Ejemplos de no decidibles
![Page 54: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/54.jpg)
54
El problema de parada
H= { (p , w) : p es un programa que para con entrada w}
• H no es decidible (por diagonalización)
• Luego H es semidecidible pero no es decidible
![Page 55: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/55.jpg)
55
El problema diagonal de parada
K= { p : p es un programa que para con entrada p}
• K no es decidible
![Page 56: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/56.jpg)
56
Indecidibles famosos
no decidibles
![Page 57: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/57.jpg)
57
Recordad
Resolver un problema es encontrar un programa que lo resuelva y pare siempre
Un indecidible es un problema que no podemos resolver con ningún algoritmo
![Page 58: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/58.jpg)
58
Indecidible ya visto
El problema de parada
Dado un programa p y una cadena w
¿p con entrada w para?
![Page 59: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/59.jpg)
59
Casi visto
El problema de pertenencia
Dado un programa p y una cadena w
¿p acepta w?
![Page 60: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/60.jpg)
60
Otro problema indecidible
El problema de parada para MT
Dada una máquina de Turing M y una cadena w
¿La máquina M con entrada w para?
![Page 61: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/61.jpg)
61
Otro problema indecidible
La detección de virus
Dado un programa p
¿Es p un virus?
Un virus es un programa que puede infectar otros programas
modificándolos incluyendo
una copia (que puede estar modificada) de sí mismo
![Page 62: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/62.jpg)
62
Unos cuantos más
• Dados dos programas, ¿calculan lo mismo?
• Dado un programa p, ¿p para con alguna entrada?
![Page 63: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/63.jpg)
63
Algunos problemas indecidibles sobre
gramáticas:
• Dadas gramáticas independientes de
contexo, ¿ ?)()( 21 GLGL =21,GG
![Page 64: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/64.jpg)
64
Algunos problemas indecidibles sobre
gramáticas:
• Dada una gramática independiente de
contexo G, ¿es G ambigua?
• Dadas gramáticas independientes de
contexo, ¿ ?∅=∩ )()( 21 GLGL21,GG
![Page 65: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/65.jpg)
65
Y otro: Wang tiles
Dado un conjunto finito de baldosas, con un color en cada lado
Ejemplo:
¿puede embaldosarse con ellos el plano, de forma que los lados contiguos tengan el mismo color?
(se pueden hacer tantas copias como se quiera, no se pueden girar ni invertir)
![Page 66: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/66.jpg)
66
Wang tiles
Ejemplos fáciles: periódicos
Datos:
Embaldosadoampliable:
![Page 67: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/67.jpg)
67
Wang tiles
Ejemplos fáciles:
Datos:
Respuesta: No se puede embaldosar el plano
![Page 68: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/68.jpg)
68
Wang tiles
Ejemplos difíciles: aperiódicos
Datos:
Respuesta: Se puede embaldosar el plano de forma no periódica (Ejercicio: intentarlo)
Muy aplicados para construir imágenes y texturas
![Page 69: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/69.jpg)
69
Wang tiles
El problema es indecidible: no hay un algoritmo que lo resuelva
Al principio Wang presentó un algoritmo que lo resuelve pero suponiendo que todos los embaldosados son periódicos (falso)
![Page 70: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/70.jpg)
70
Y otro más
El problema de correspondencia de Post
Dadas dos listas de palabras x1, x2, …, xk
y1, y2, …, yk
¿existen a1, a2, …, an para los cuales
xa1xa2…xan = ya1ya2…yan ?
![Page 71: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/71.jpg)
71
El problema de Post
Ejemplo: u1=aba u2= bbb u3=aab u4=bb,
v1=a v2=aaa v3=abab v4=babba
aba
a
bbb
aaa
aab
abab
bb
babba
aba
a
aba
a
bb
babba
aab
abab
Datos:
![Page 72: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/72.jpg)
72
El problema de Post
Ejemplo:
abb
a
bb
aaa
abb
abab
Datos:
Respuesta: No
![Page 73: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/73.jpg)
73
El problema de Post
Ejemplo:
I
PPI
IPP
I
IS
I
M
M
Datos:
S
SS
M
M
IS
I
S
SS
IS
I
IPP
I
I
PPI
S
SS
![Page 74: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/74.jpg)
74
Uno de matemáticas
El décimo problema de Hilbert
Dada una ecuación con coeficientes enteros, ¿existe una solución entera?
Ejemplos: x2+y2=13
2x-11=0
![Page 75: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/75.jpg)
75
*aLenguajes regulares
Lengs. indeps. del contextonnba Rww
nnn cba ww
**ba
Lenguajes semidecidibles
Lenguajes decidiblesH
H
![Page 76: Lenguajes decidibles y semidecidibleswebdiis.unizar.es/.../TC/wp/wp-content/uploads/2012/09/121205DecidiblesySemidecidibles.pdf2 Hoy 1.Lenguaje semidecidible y lenguaje decidible (repaso)](https://reader030.fdocuments.ec/reader030/viewer/2022040221/5e3596062c16040ff51ccf1a/html5/thumbnails/76.jpg)
76
Referencias (para este tema y el anterior)
• Sipser, capítulos 3 y 4
• Kelley, capítulos 4, 5 y 6