Buscar

Decidibilidade-Parte2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Decibilidade
Linguagem Turing-Reconhecível
Uma linguagem é Turing-reconhecível (ou L.R.E) sse existe MT 
que a reconhece.
Linguagem Turing-Decidível (ou Decidível)
Uma linguagem é Turing-decidível (ou L.Rec.) sse existe MT que 
a decide (pára sempre).
Descrição de MT
• Formal: contém detalhes do autômato (estados, alfabeto, fç. de 
transição, etc.)
• Informal: “pseudocódigo” descrevendo seu funcionamento
Decibilidade
Exemplo 
Seja MT M que decide A = { 02n | n ≥ 0} 
Descrição Informal de MT M
M = “Sobre a entrada w:
1. Faça uma varredura da esquerda para a direita na fita, marcando um 0 
não e outro, sim.
2. Se no passo 1, a fita continha um único 0, ACEITE.
3. Se no passo 1, a fita continha mais que um único 0 e o número de 0s era 
ímpar, REJEITE.
4. Retorne a cabeça para a extremidade esquerda da fita. 
5. Vá para o passo 1.”
Decibilidade
Exemplo 
Seja MT M que decide A = { 02n | n ≥ 0} 
Descrição Formal de MT M
q1 q2
q5
q3
qa
q4qr
0 / □, D 0 / x, D
□ / □, D
□ / □, D
x / x, D
x / x, D □ / □, D
0 / 0, E
□ / □, E
x / x, D
x / x, D
0 / x, D0 / 0, D
□ / □, D
x / x, E
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈 B, w 〉 | B é AFD que aceita a entrada w }
Discussão: AAFD = ?
Seja AFD B1 = ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1})
Se w1 = abaaba⇒ 〈 B1, w1 〉 ∈ AAFD
〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), abaaba 〉 ∈ AAFD
Se w2 = abaab⇒ 〈 B1, w2 〉 ∉ AAFD
〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), abaab 〉 ∉ AAFD
e1 e2
b b
a
a
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈 B, w 〉 | B é AFD que aceita a entrada w }
Discussão: (cont.)
AAFD = { 〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), λ 〉,
〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), aa 〉, 
〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), aaaa 〉, . . . ,
〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), b 〉,
〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), bb 〉, . . . ,
〈 ({e1,e2}, {a,b}, {[e1,a,e2], [e1,b,e1], [e2,a,e1], [e2,b,e2]}, e1, {e1}), abaaba 〉, . . . ,
. . . ,
〈 ({e1}, {a,b}, {[e1,a,e1], [e1,b,e1]}, e1, {e1}), babaaba 〉, . . . }
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Discussão: (cont.) 
Se considerarmos o alfabeto {0, 1}, então:
- Para cada estado e cada símbolo, seja R〈e1〉 = 1, R〈e1〉 = 12, R〈a〉 = 1, R〈b〉 = 12
- Para cada transição, seja R〈t〉 = R〈δ(e, s) = e´〉 = R〈e〉0R〈s〉R〈e´〉, s ∈ Σ, e, e´ ∈ Q
- Para conjunto estados finais, seja R〈F〉 = R〈f1〉0R〈f2〉0 ... 0R〈f|F|〉, fi ∈ F
- Seja R〈AFD B〉 = 1|Q|01|ΣΣΣΣ|00R〈t1〉00R〈t2〉00 ... 00R〈t|δδδδ|〉00R〈qi〉00R〈F〉
Logo R〈B1〉 = 120120010101200101201001201010012012012001001
- Seja w1 = abaaba⇒ R〈w1〉 = R〈a〉0R〈b〉0R〈a〉0R〈a〉0R〈b〉0R〈a〉 = 1012010101201
Então 〈B1,w1〉 = R〈B1〉000R〈w1〉 ∈ AAFD, ou ainda, 
120120010101200101201001201010012012012001001000 1012010101201 ∈ AAFD
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈 B, w 〉 | B é AFD que aceita a entrada w }
Discussão: (cont.)
AAFD = {120120010101200101201001201010012012012001001000,
120120010101200101201001201010012012012001001000101, 
1201200101012001012010012010100120120120010010001010101, . . . ,
12012001010120010120100120101001201201200100100012,
12012001010120010120100120101001201201200100100012012, . . . ,
120120010101200101201001201010012012012001001000 1012010101201, . . . ,
. . . ,
10120010101001012010010010001201012010101201, . . . }
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈 B, w 〉 | B é AFD que aceita a entrada w }
Ideia da Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈 B, w 〉 | B é AFD que aceita a entrada w }
Ideia da Prova:
MT M〈 B, w 〉
SIM ⇔⇔⇔⇔ w ∈∈∈∈ L(B)
NÃO ⇔⇔⇔⇔ w ∉∉∉∉ L(B)
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈 B, w 〉 | B é AFD que aceita a entrada w }
Ideia da Prova:
MT M〈 B, w 〉
SIM ⇔⇔⇔⇔ w ∈∈∈∈ L(B)
NÃO ⇔⇔⇔⇔ w ∉∉∉∉ L(B)
Similar a MT 
Universal
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈 B, w 〉 | B é AFD que aceita a entrada w }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFDs): 
AAFD = { 〈B, w 〉 | B é AFD que aceita a entrada w }
Prova: Seja MT M que decide AAFD
M = “Sobre a entrada 〈B, w 〉 em que B é AFD e w uma cadeia qualquer:
1. Simule B sobre a entrada w.
2. Se a simulação de B termina em um estado de aceitação, ACEITE; 
caso contrário, REJEITE.”
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFNs): 
AAFN = { 〈 B, w 〉 | B é AFN que aceita a entrada w }
Ideia da Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFNs): 
AAFN = { 〈 B, w 〉 | B é AFN que aceita a entrada w }
Ideia da Prova:
MT N〈 B, w 〉
SIM ⇔⇔⇔⇔ w ∈∈∈∈ L(B)
NÃO ⇔⇔⇔⇔ w ∉∉∉∉ L(B)
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFNs): 
AAFN = { 〈 B, w 〉 | B é AFN que aceita a entrada w }
Ideia da Prova:
MT N〈 B, w 〉
SIM ⇔⇔⇔⇔ w ∈∈∈∈ L(B)
NÃO ⇔⇔⇔⇔ w ∉∉∉∉ L(B)
?
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFNs): 
AAFN = { 〈 B, w 〉 | B é AFN que aceita a entrada w }
Ideia da Prova:
MT N
SIM ⇔⇔⇔⇔ w ∈∈∈∈ L(B)
〈 B, w 〉
NÃO ⇔⇔⇔⇔ w ∉∉∉∉ L(B)
MT
Redutora
MT M〈 C, w 〉
SIM ⇔⇔⇔⇔ w ∈∈∈∈ L(C)
NÃO ⇔⇔⇔⇔ w ∉∉∉∉ L(C)
AAFD
AAFN
AFN→→→→ AFD
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFNs): 
AAFN = { 〈B, w 〉 | B é AFN que aceita a entrada w }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para AFNs): 
AAFN = { 〈B, w 〉 | B é AFN que aceita a entrada w }
Prova: Seja MT N que decide AAFN
N = “Sobre a entrada 〈 B, w 〉 em que B é AFN e w uma cadeia qualquer:
1. Converta AFN B para um AFD C equivalente.
2. Execute MT M que decide AAFD sobre a entrada 〈C, w 〉.
3. Se M aceitar, ACEITE; caso contrário, REJEITE.”
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para Expressões Regulares): 
AEXR = { 〈 R, w 〉 | R é Expr. Regular que gera a sentença w }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Aceitação (para Expressões Regulares): 
AEXR = { 〈 R, w 〉 | R é Expr. Regular que gera a sentença w }
Prova: Seja MT P que decide AEXR
P = “Sobre a entrada 〈 R, w 〉 em que R é expr. regular e w uma cadeia qualquer:
1. Converta Expr. regular R para um AFN A equivalente.
2. Execute MT N que decide AAFN sobre a entrada 〈 A, w 〉.
3. Se N aceitar, ACEITE; caso contrário, REJEITE.”
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Vacuidade: 
VAFD = { 〈 A 〉 | A é AFD e L(A) = ∅ }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Vacuidade: 
VAFD = { 〈 A 〉 | A é AFD e L(A) = ∅ }
Prova: Seja MT T que decide VAFD
T = “Sobre a entrada 〈 A 〉 em que A é AFD:
1. Marque o estado inicial de A.
2. Repita até que nenhum estado novo venha a ser marcado:
a. Marque qualquer estado que tenha uma transição chegando nela a 
partir de um estado que já está marcado.3. Se nenhum estado de aceitação estiver marcado, ACEITE; caso 
contrário, REJEITE.”
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Equivalência: 
EQAFD = { 〈 A, B 〉 | A e B são AFDs e L(A) = L(B) }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Regulares
Problema da Equivalência: 
EQAFD = { 〈 A, B 〉 | A e B são AFDs e L(A) = L(B) }
Prova: Seja MT F que decide EQAFD
F = “Sobre a entrada 〈 A, B 〉 em que A e B são AFDs:
1. Construa AFD C tal que L(C) = (L(A) ∩ L(B)) ∪ (L(A) ∩ L(B)).
2. Execute MT T que decide VAFD sobre a entrada 〈C 〉.
3. Se T aceitar, ACEITE; caso contrário, REJEITE.”
Decibilidade
Problemas Decidíveis sobre Linguagens Livres de Contexto
Problema da Aceitação (para GLCs): 
AGLC = { 〈G, w 〉 | G é GLC que gera a sentença w }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Livres de Contexto
Problema da Aceitação (para GLCs): 
AGLC = { 〈G, w 〉 | G é GLC que gera a sentença w }
Prova: Seja MT S que decide AGLC
S = “Sobre a entrada 〈G, w 〉 em que G é GLC e w uma sentença qualquer:
1. Converta a GLC G para um gramática equivalente na forma normal de 
Chomsky (FNC).
2. Liste todas as derivações com 2n - 1 passos, em que n é o tamanho da 
entrada w, exceto se n = 0, caso em que se deve listar todas as 
derivações com 01 (um) passo.
3. Se alguma das derivações gerar w, ACEITE; caso contrário, REJEITE.”
Decibilidade
Problemas Decidíveis sobre Linguagens Livres de Contexto
Problema da Vacuidade: 
VGLC = { 〈G 〉 | G é GLC e L(G) = ∅ }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Livres de Contexto
Problema da Vacuidade: 
VGLC = { 〈G 〉 | G é GLC e L(G) = ∅ }
Prova: Seja MT R que decide VGLC
R = “Sobre a entrada 〈G 〉 em que G é GLC:
1. Marque todos os símbolos terminais em G.
2. Repita até que nenhuma variável nova venha a ser marcada:
a. Marque qualquer variável A para qual G possua uma regra A →
U1U2...Uk e que cada símbolo U1, U2, ..., Uk já tenha sido marcado.
3. Se a variável de partida não está marcada, ACEITE; caso contrário, 
REJEITE.”
Decibilidade
Problemas Decidíveis sobre Linguagens Livres de Contexto
Problema da Equivalência: 
EQGLC = { 〈G, H 〉 | G e H são GLCs e L(G) = L(H) }
Prova:
Decibilidade
Problemas Decidíveis sobre Linguagens Livres de Contexto
Problema da Equivalência: 
EQGLC = { 〈G, H 〉 | G e H são GLCs e L(G) = L(H) }
Prova: ???
Não é possível construir AP K tal que L(K) = (L(G) ∩ L(H)) ∪ (L(G) ∩ L(H)).
Por quê ???
Na verdade, EQGLC é indecidível !!!
Indecibilidade
Problemas Indecidíveis
Problema da Aceitação para MTs: (vulgarmente chamado Problema da Parada)
AMT = { 〈M, w 〉 | M é MT e M aceita a entrada w }
Obs: AMT é indecidível, mas AMT é Turing-reconhecível. 
U = “Sobre a entrada 〈M, w 〉 em que M é MT e w uma cadeia qualquer:
1. Simule M sobre a entrada w.
2. Se M em algum momento entra em um estado de aceitação, ACEITE; 
se M em algum momento entra em um estado de rejeição, REJEITE.”
Uma linguagem é decidível sse ela for Turing - reconhecível e co-Turing-
reconhecível (se ela for complemento de ling. Turing-reconhecível).
⇒ AMT não é Turing-reconhecível (senão AMT seria decidível).
Redutibilidade
Redução de Problema de Decisão para Outro
Se PD P é redutível a um PD Q decidível então P é decidível
Se PD P indecidível é redutível a um PD Q então Q é indecidível
SIM
NÃO
MT 
para PD 
Q
YRedução 
R
X
MT para PD P
Indecibilidade
Problemas Indecidíveis
Problema da “Parada” : 
PARAMT = { 〈M, w 〉 | M é MT e M pára sobre a entrada w }
Prova:
Indecibilidade
Problemas Indecidíveis
Problema da “Parada” : 
PARAMT = { 〈M, w 〉 | M é MT e M pára sobre a entrada w }
Prova: Suponha que exista MT R que decide PARAMT, logo poderíamos 
construir MT S que decide AMT da seguinte forma:
S = “Sobre a entrada 〈M, w 〉 em que M é MT e w uma cadeia qualquer :
1. Execute MT R sobre a entrada 〈M, w 〉.
2. Se R rejeita, REJEITE.
3. Se R aceita, simule MT M sobre a entrada w até que ela pare.
4. Se M aceitou, ACEITE; caso contrário, REJEITE.”
Logo, se MT R que decide PARAMT, então MT S que decide AMT. Como AMT é
indecidível, isto é um absurdo e PARAMT também deve ser indecidível.
Indecibilidade
Problemas Indecidíveis
Problema da Vacuidade: 
VMT = { 〈M 〉 | M é MT e L(M) = ∅ }
Prova:
Indecibilidade
Problemas Indecidíveis
Problema da Vacuidade: 
VMT = { 〈M 〉 | M é MT e L(M) = ∅ }
Prova: Suponha que exista MT R que decide VMT, logo poderíamos construir 
MT S que decide AMT da seguinte forma:
S = “Sobre a entrada 〈M, w 〉 em que M é MT e w uma cadeia qualquer :
1. Construa a seguinte MT M1:
M1 = “Sobre a entrada x:
a. Se x ≠ w, REJEITE.
b. Se x = w, execute M sobre a entrada w e aceite se M aceita w.”
2. Execute MT R sobre a entrada 〈 M1 〉.
3. Se R aceita, REJEITE; se R rejeita, ACEITE.”
Logo, se MT R que decide VMT, então MT S que decide AMT. Como AMT é
indecidível, isto é um absurdo e VMT também deve ser indecidível.
Indecibilidade
Problemas Indecidíveis
Problema da Regularidade: 
REGULARMT = { 〈M 〉 | M é MT e L(M) é um linguagem regular }
Prova:
Indecibilidade
Problemas Indecidíveis
Problema da Regularidade: 
REGULARMT = { 〈M 〉 | M é MT e L(M) é um linguagem regular }
Prova: Suponha que exista MT R que decide REGULARMT, logo poderíamos 
construir MT S que decide AMT da seguinte forma:
S = “Sobre a entrada 〈M, w 〉 em que M é MT e w uma cadeia qualquer :
1. Construa a seguinte MT M2:
M2 = “Sobre a entrada x:
a. Se x tem a forma 0n1n, ACEITE.
b. Se x não tem essa forma, execute M sobre a entrada w e aceite 
se M aceita w.”
2. Execute MT R sobre a entrada 〈 M2 〉.
3. Se R aceita, ACEITE; se R rejeita, REJEITE.”
Logo, se MT R que decide REGULARMT, então MT S que decide AMT. Como 
AMT é indecidível, isto é um absurdo e REGULARMT deve ser indecidível.
Indecibilidade
Problemas Indecidíveis
Problema da Equivalência: 
EQMT = { 〈 M1, M2 〉 | M1 e M2 são MTs e L(M1) = L(M2) }
Prova:
Indecibilidade
Problemas Indecidíveis
Problema da Equivalência: 
EQMT = { 〈 M1, M2 〉 | M1 e M2 são MTs e L(M1) = L(M2) }
Prova: Suponha que exista MT R que decide EQMT, logo poderíamos construir 
MT S que decide VMT da seguinte forma:
S = “Sobre a entrada 〈M 〉 em que M é MT :
1. Execute MT R sobre a entrada 〈M, M1 〉 em que M1 é um MT que 
rejeita todas as entradas.
2. Se R aceita, ACEITE; se R rejeita, REJEITE.”
Logo, se MT R que decide EQMT, então MT S que decide VMT. Como VMT é
indecidível, isto é um absurdo e EQMT também deve ser indecidível.
Indecibilidade
Propriedade Trivial 
Uma propriedade P de LREs é trivial se for satisfeita por toda LRE 
ou por nenhuma.
Exemplos de propriedades não triviais – considerando que M é uma MT qualquer
• Determinar se λ ∈ L(M) − Problema da Fita em Branco
• Determinar se L(M) contém alguma palavra (L(M) ≠ ∅)
• Determinar se L(M) contém todas as palavras em Σ* (L(M) = Σ*)
• Determinar se L(M) é finita
• Determinar se L(M) é regular
• Determinar se L(M) contém palavra iniciada com 0
Teorema de Rice
Se P é uma propriedade não trivial de LREs, então o problema 
Lr = { 〈M 〉 | L(M) satisfaz P} é indecidível (Lr não é recursiva).
Reduções via Histórias de Computação
História de Computação de Aceitação 
Uma história de computação de aceitação para MT M sobre uma entrada 
w é uma seqüência de configurações C1, C2, ..., CA, em que C1 é a 
configuração inicial, CA é uma configuração de aceitação, e cada Ci
segue legitimamente Ci-1 conforme a função de transição de M.
História de Computação de Rejeição 
Uma história de computação de rejeição para MT M sobre uma entrada w 
é uma seqüência de configurações C1, C2, ..., CR, em que C1 é a 
configuração inicial, CR é uma configuração de rejeição, ecada Ci
segue legitimamente Ci-1 conforme a função de transição de M.
⇒Histórias de computação são seqüências finitas
⇒Se M não pára sobre w então não existe história de comp. de M sobre w
⇒Máq. determinísticas têm no máximo uma história de comp. sobre uma dada 
entrada, enquanto que máq. não-determinísticas podem ter muitas histórias
Decibilidade × Indecibilidade − ALLs
ALLs são bastante poderosos, apesar de sua restrição de memória.
Os decisores de AAFD, AGLC, VAFD, VGLC são na verdade ALLs.
Obs.: Toda LLC pode ser decidida por um ALL !
Não é fácil obter ling. decidível que não pode ser decidida 
por um ALL !
Lema: Seja M um ALL com q estados e g símbolos no alfabeto de 
fita. Existem exatamente qngn configurações distintas de M para 
uma fita de tamanho n. (Por quê ?)
Decibilidade − ALLs
Problema Decidível sobre Linguagem Sensível ao Contexto
Problema da Aceitação (para ALLs): 
AALL = { 〈 B, w 〉 | B é ALL que aceita a entrada w }
Prova:
Decibilidade − ALLs
Problema Decidível sobre Linguagem Sensível ao Contexto
Problema da Aceitação (para ALLs): 
AALL = { 〈 B, w 〉 | B é ALL que aceita a entrada w }
Prova: Seja MT M que decide AALL
M = “Sobre a entrada 〈 B, w 〉 em que M é ALL e w uma cadeia qualquer:
1. Simule B sobre a entrada w por qngn passos ou até que ela pare.
2. Se B não parou em qngn passos, REJEITE.
3. Se B parou em estado de aceitação, ACEITE; caso contrário, 
REJEITE.”
Indecibilidade − ALLs
Problema Indecidível sobre Linguagem Sensível ao Contexto
Problema da Vacuidade (para ALLs): 
VALL = { 〈 B 〉 | B é ALL e L(B) = ∅ }
Ideia da Prova:
• Para uma MT M e uma entrada w, podemos determinar se M aceita w 
construindo um certo ALL B e testando se L(B) é vazia.
• A linguagem que B reconhece compreende todas as histórias de computação 
de aceitação para M sobre w.
• Se M aceita w, então essa linguagem contém uma cadeia e, portanto, não é
vazia; caso contrário, essa linguagem é vazia (pois M não aceita w).
• Logo se pudermos determinar se a linguagem de B é vazia, então podemos 
determinar se M aceita w.
PERGUNTA: Como construir o ALL B a partir de M e w ?
Indecibilidade − ALLs
PERGUNTA: Como construir o ALL B a partir de M e w ?
Resposta:
• Suponha que uma história de computação de aceitação seja representada por 
uma única cadeia em que as configurações são separadas por #.
• O ALL B funciona da seguinte forma. Primeiro, B quebra sua entrada x nas
cadeias C1, C2, ..., CA usando os delimitadores #.
• Em seguida, B determina/verifica se Ci satisfaz as 3 condições de uma 
história de computação de aceitação (COMO !?):
1. C1 é a configuração inicial de M sobre w; 
2. Cada Ci+1 segue legitimamente de Ci; e
3. CA é uma configuração de aceitação para M.
# # # # . . . # #
C1 C2 C3 CA
Indecibilidade − ALLs
Problema Indecidível sobre Linguagem Sensível ao Contexto
Problema da Vacuidade (para ALLs): 
VALL = { 〈 B 〉 | B é ALL e L(B) = ∅ }
Prova:
Indecibilidade − ALLs
Problema Indecidível sobre Linguagem Sensível ao Contexto
Problema da Vacuidade (para ALLs): 
VALL = { 〈 B 〉 | B é ALL e L(B) = ∅ }
Prova: Suponha que exista MT R que decide VALL, logo poderíamos construir 
MT S que decide AMT da seguinte forma:
S = “Sobre a entrada 〈M, w 〉 em que M é MT e w uma sentença qualquer:
1. Construir o ALL B que aceita uma história de computação de aceitação 
para M sobre w.
2. Execute MT R sobre a entrada 〈 B 〉.
3. Se R rejeita, ACEITE; se R aceita, REJEITE.”
Logo, se MT R que decide VAll, então MT S que decide AMT. Como AMT é
indecidível, isto é um absurdo e VALL também deve ser indecidível.
Indecibilidade
Problema Indecidível sobre Linguagem Livre de Contexto
Problema da Totalidade (para GLCs): 
TODASGLC = { 〈G 〉 | G é GLC e L(G) = Σ* }
Ideia da Prova: (Similar a prova para VALL)
• Para uma MT M e uma entrada w, podemos determinar se M aceita w 
construindo uma certa GLC G que gera todas as cadeias sse M não aceita w.
• Se M aceita w, então G não gera uma cadeia específica (a história de comp. 
de aceitação para M sobre w). Ou ainda, G é projetada para gerar todas as 
cadeias que não são histórias de computação de aceitação para M sobre w.
• G gera todas as cadeias que:
1. não começam com C1; 
2. não terminam com uma configuração de aceitação; ou
3. em que algum Ci+1 não se original legitimamente de Ci.
Indecibilidade
Problema Indecidível sobre Linguagem Livre de Contexto
Problema da Totalidade: TODASGLC = { 〈G 〉 | G é GLC e L(G) = Σ* }
Ideia da Prova: (continuação)
• Se M não aceita w, nenhuma história de comp. de aceitação existe, portanto, 
todas as cadeias falham de uma maneira ou outra. Conseqüentemente, G iria 
gerar todas as cadeias, como desejado.
• Construção de G a partir de um APN D, que verificará não-deterministica-
mente cada uma das três condições.
• As duas primeiras condições são facilmente verificáveis.
• Para verificar a terceira condição o APN D deverá empilha Ci para testar Ci+1, 
para isto, ser possível as configurações em posições pares serão escritas em 
ordem reversa, isto é :
# # # # # . . . # #
C1 C2R C3 CAC4R
→→ ← ←
Indecibilidade
Problema da Correspondência de Post (PCP)
• Dada uma coleção de dominós em que cada um contém duas cadeias 
• O PCP consiste em determinar se uma dada coleção de dominós possui um 
emparelhamento (lista de dominós em que a cadeia formada pelos símbolos da parte 
superior dos dominós é igual a cadeia formada pelos símbolos da parte inferior –
repetições são permitidas).
• Exemplo :
• Nem toda coleção possui um emparelhamento:
b
ca
a
ab
ca
a
abc
c
b
ca
a
ab
ca
a
abc
c
a
ab
acc
ba
ca
a
abc
c
Indecibilidade – PCP (Formalizando)
Sistema de Correspondência de Post (SCP)
Um SCP é um par (Σ, P), em que Σ é um alfabeto e P uma sequência finita de 
pares (x, y) tal que x, y ∈ Σ+. 
Emparelhamento (ou Solução) de um SCP
Seja um SCP S = (Σ, [(x1, y1), (x2, y2), . . ., (xn, yn)]), então um emparelhamento 
(ou solução) para S é uma sequência i1, i2, . . ., ik tal que 
xi1 xi2 . . . xik= yi1 yi2 . . . yik , 
em que 1 ≤ ij≤ n para 1 ≤ j ≤ k.
Exemplo: Seja o SCP S = ({0, 1}, [(10, 0), (0, 010), (01, 11)]). Esse SCP possui 
03 pares: (x1 = 10, y1 = 0), (x2 = 0, y2 = 010), (x3 = 01, y3 = 11). Uma solução 
seria a sequência 2131, pois x2 x1 x3 x1 = y2 y1 y3 y1, ou 0 10 01 10 = 010 0 11 0. 
Para maior clareza é conveniente se representar cada par (xi, yi) na forma .xi
yi
Indecibilidade – PCP (Formalizando)
Problema da Correspondência de Post (PCP)
O PCP consiste em determinar se uma dada coleção de dominós P possui ou não 
um emparelhamento
Formalizando através de uma linguagem:
PCP = { 〈 P〉 | P é um SCP e possui um emparelhamento }
OBS: PCP é indecidível.
t1
b1
t2
b2
tn
bn
• • •P = , , ,
R〈〈〈〈 P’ 〉〉〉〉Redução 
R’
R〈〈〈〈M, w 〉〉〉〉 Redução 
R’’
R〈〈〈〈 P 〉〉〉〉
AMT PCPM PCP
Indecibilidade – PCP (Formalizando)
Problema da Correspondência de Post Modificado (PCPM)
O PCPM consiste em determinar se uma dada coleção de dominós P’ possui ou 
não um emparelhamento que começa com o primeiro dominó .
Formalizando através de uma linguagem:
PCPM = { 〈 P’〉 | P’ é um SCP e possui um emparelhamento que começa com o 
primeiro dominó }
Ideia da Prova:
• Suponha que MT R decide o PCP e construa MT S que decide AMT (o que é
absurdo), isto é, S constrói uma instância do PCP P que tem um solução sse
M aceita w.
• Primeiramente, MT S constrói uma instância P’ do PCPM (em 07 passos).
• Em seguida, MT S converte P’ em uma instância P do PCP.
t1
b1
Indecibilidade – PCP (Formalizando)
Conversão:AMT→ PCPM
Passo 1:
• Inserir em P’ como primeiro dominó .
Passo 2:
• Para todo a, b ∈ Γ e todo q, r ∈ Q em que q ≠ qrejeita, se δ(q, a) = [r, b , D], 
inserir em P’. 
Passo 3:
• Para todo a, b, c ∈ Γ e todo q, r ∈ Q em que q ≠ qrejeita, se δ(q, a) = [r, b , E], 
inserir em P’. 
t1
b1
# 
# q0w1w2 . . . wn #
q a
b r
c q a
r c b
Indecibilidade – PCP (Formalizando)
Conversão: AMT→ PCPM (cont.)
Passo 4:
• Para todo a ∈ Γ, inserir em P’. 
Passo 5:
• Inserir e em P’.
Passo 6:
• Para todo a ∈ Γ, inserir e em P’. 
Passo 7:
• Inserir em P’. 
a qaceita
qaceita
#
#
#
���� #
qaceita a
qaceita
qaceita # #
#
a
a
Indecibilidade – PCP (Formalizando)
Exemplo de Conversão: AMT→ PCPM
• Seja Γ = { 0, 1, 2, �}, w = 0100 e que o estado inicial de M seja q0.
• Suponha que a MT M ao ler 0 no estado q0 vai para o estado q7 escrevendo 2 
na fita e movendo para direita, isto é, δ(q0, 0) = [ q7, 2, D]
• O passo 1 coloca o seguinte dominó em P’ :
• O passo 2 coloca o seguinte dominó em P’ :
• O passo 4 coloca os seguintes dominós em P’ : , , e 
q0 0
2 q7 
t1
b1
# 
# q0 0 1 0 0 #
=
0
0
1
1
2
2
����
����
Indecibilidade – PCP (Formalizando)
Exemplo de Conversão: AMT→ PCPM (cont.)
• Dessa forma o emparelhamento começaria com:
#
# q0 0 1 0 0 #
• Isso juntamente com os passos 2, 4 e 5 nos permitiria estendê-lo para:
# q0 0 1 0 0 #
# q0 0 1 0 0 # 2 q7 1 0 0 #
• Suponha que a MT M ao ler 1 no estado q7 vai para o estado q5 escrevendo 0 
na fita e movendo para direita, isto é, δ(q7, 1) = [q5, 0, D] e que ao ler 0 no 
estado q5 vai para o estado q9 escrevendo 2 na fita e movendo para esquerda, 
isto é, δ(q5, 0) = [q9, 2, E]. 
Indecibilidade – PCP (Formalizando)
Exemplo de Conversão: AMT→ PCPM (cont.)
• Dessa forma, o emparelhamento anterior se estenderia para:
# 2 q7 1 0 0 # 
# 2 q7 1 0 0 # 2 0 q5 0 0 #
• Como, δ(q5, 0) = [q9, 2, E], então teríamos: , , e 
• Então, o emparelhamento se estenderia ainda mais para:
# 2 0 q5 0 0 # 
# 2 0 q5 0 0 # 2 q9 0 2 0 #
• • •
• • •
0 q5 0
q9 0 2
1 q5 0
q9 1 2
2 q5 0
q9 2 2
���� q5 0
q9 ���� 2
Indecibilidade – PCP (Formalizando)
Exemplo de Conversão: AMT→ PCPM (cont.)
• Dessa forma emparelhamento corresponde a simulação de M sobre w, até qaceita :
#
# 2 1 qACEITA 0 2 #
• Usam-se os dominós do passo 6 para eliminar símbolos adjacentes a qaceita
• Dessa forma o emparelhamento se estenderia ainda mais para:
# 2 1 qACEITA 0 2 # #
# 2 1 qACEITA 0 2 # 2 1 qACEITA 2 # # qACEITA #
• • •
• • • • • •
Indecibilidade – PCP (Formalizando)
Exemplo de Conversão: AMT→ PCPM (cont.)
• Finalmente, usa-se o dominó do passo 7 para encerra o emparelhamento:
# qACEITA # #
# qACEITA # #
• P’ é uma instância do PCPM na qual o emparelhamento corresponde a uma 
simulação de M sobre w.
• Se considerarmos P’ uma instância de PCP (ao invés de PCPM) ele tem 
sempre um emparelhamento independentemente de se M pára sobre w ou não.
• Deve converter P’ em um instância P do PCP que ainda corresponda a uma 
simulação de M sobre w.
• • •
Indecibilidade – PCP (Formalizando)
Conversão: PCPM → PCP
Se a instância do PCPM P’ for:
Fazemos com que a instância correspondente do PCP P seja:
em que para uma cadeia qualquer u = u1u2 . . . uk (de tamanho k), temos que:
�u = *u1 * u2 * . . . * uk , isto é, adiciona-se * antes de cada símbolo de u
u� = u1 * u2 * . . . * uk * , isto é, adiciona-se * depois de cada símbolo de u
�u� = *u1 * u2 * . . . * uk * , isto é, adiciona-se * antes e depois de cada símbolo
t1
b1
t2
b2
tn
bn
• • •P’ = , , ,
����t1
b1����
����t2
b2����
����tn
bn����
• • •P = , , ,
����t1
����b1����
,
* ♦
♦
,

Outros materiais