Problemas sobre clasificación de lenguajes

Anuncio
Problemas sobre clasificación de
lenguajes
Elvira Mayordomo, Gregorio de Miguel,
Universidad de Zaragoza
1
Lenguajes semidecidibles
Lenguajes decidibles
EXP
P
L. indeps. del contexto
Lenguajes regulares
2
Para cada uno de los siguientes
lenguajes …
•
•
•
•
•
•
¿Es regular?
¿Es independiente de contexto?
¿Está en P?
¿Está en EXP?
¿Es decidible?
¿Es semidecidible?
3
1- { w : w{0,1}* y w contiene un número
impar de 0s}
2- {an bm cn dm: n,mN}
3- {an bn cm dm: n,mN}
4- { p#w : p es un programa que con entrada
w para en tiempo mútiplo de 5}
4
1- { w : w{0,1}* y w contiene un número
impar de 0s}
intuiciones ????
5
1- { w : w{0,1}* y w contiene un número
impar de 0s}
Es regular porque existe un autómata que lo
acepta
1
1
q0
0
q1
0
6
1- { w : w{0,1}* y w contiene un número
impar de 0s}
Es regular porque existe un autómata que lo
acepta o porque corresponde a la e.r.
1*(01*01*)*01*
Así que es independiente de contexto, está
en P, en EXP, es decidible y semidecidible.
7
2- {an bm cn dm: n,mN}
????
8
2- {an bm cn dm: n,mN}
Es decidible porque existe un programa (o
una máquina de Turing) que para siempre y
lo acepta
9
Procedimiento este(ent w:cadena; sal z:tpresultado)
Variable res:tpresultado
Principio
na:=0;
MientrasQue w[na+1]=“a”
na:=na+1
Fmq
ini:=na; nb:=0;
MientrasQue w[ini+nb+1]=“b”
nb:=nb+1
Fmq
ini:=na+nb; nc:=0;
MientrasQue w[ini+nc+1]=“c”
nc:=nc+1
Fmq
ini:=na+nb+nc; nd:=0;
MientrasQue w[ini+nd+1]=“d”
nd:=nd+1
Fmq
Si (na+nb+nc+nd=|w|) AND (na=nc) AND (nb=nd) then z:= accepta
else z:= rechaza
Fin
10
2- {an bm cn dm: n,mN}
Además el programa anterior sólo tarda
tiempo O(|w|) (lineal)
Luego está en P
2- {an bm cn dm: n,mN}
Está en P, en EXP, es decidible y
semidecidible
¿Es independiente de contexto?
No, por el lema de bombeo para
independientes de contexto
12
2- {an bm cn dm: n,mN}
¿Es independiente de contexto?
No, por el lema de bombeo para
independientes de contexto
por ejemplo w= am! bm cm! dm = uvxyz con
|vxy|<=m, |vy|>=1 hace que uv2xy2z L
(complicadillo, hay que mirar caso por caso
todos los posibles v,y)
13
2- {an bm cn dm: n,mN}
Está en P, en EXP, es decidible y
semidecidible
No es independiente de contexto
Luego tampoco es regular
14
3- {an bn cm dm: n,mN}
???
15
3- {an bn cm dm: n,mN}
Es independiente de contexto porque lo
genera la gramática
SXY
XaXb | 
YcYd | 
O porque lo acepta un AdP …
16
3- {an bn cm dm: n,mN}
No es regular por el lema de bombeo para
regulares
por ejemplo w= am bm cm dm = xyz con
|xy|<=m, |y|>=1 hace que xy2z L
(demasiadas a’s)
17
3- {an bn cm dm: n,mN}
No es regular
Es independiente de contexto, está en P, está
en EXP, es decidible, es semidecidible
18
4- { p#w : p es un programa que con entrada
w para en tiempo mútiplo de 5}
¿Qué quiere decir?
????
19
Recordad …
Procedimiento Simula (ent p:cadena; ent
w:cadena; ent T:natural; sal
ha_parado:booleano;
sal resultado:tpresultado)
{Simula T pasos de la ejecución de p con
entrada w}
{ha_parado=True cuando ha parado en
tiempo<=T}
{resultado=acepta si ha parado y devuelve
acepta}
20
A es semidecidible
A= { (p , w) : p es un programa que para con entrada
w en tiempo mútiplo de 5}
Procedimiento aceptaA(ent p:cadena; ent w:cadena;
sal z:tpresultado)
Variable res:tpresultado
Principio
T:=0; ha_parado:=false
MientrasQue NOT ha_parado
T:=T+1
simula(p,w,T,ha_parado,res)
Fmq
Si ha_parado AND ((T MOD 5)=0) entonces z:=acepta
Fin
21
4- { p#w : p es un programa que para con
entrada w en tiempo mútiplo de 5}
Es semidecidible
No es decidible (demostración complicada con
diagonalización, no se pide)
Así que no está en EXP, ni en P, ni es
independiente de contexto ni regular
22
Descargar