Combust í veis alternativos e alternativas aos combust í veis
Problemas Decid í veis
description
Transcript of Problemas Decid í veis
Problemas DecidProblemas Decidííveisveis Envolvendo AutEnvolvendo Autôômatos e matos e
Linguagens Livres do Linguagens Livres do Contexto Contexto
Problemas ClProblemas CláássicosssicosAutAutôômatomato GramGramááticatica
AceitaAceitaçãção (A)o (A) DecDecíídiveldivel DecDecíídiveldivel
Emptyness Emptyness (E)(E)
DecDecíídiveldivel DecDecíídiveldivel
EquivalEquivalêência ncia (EQ)(EQ)
DecDecíídiveldivel IndecIndecíídiveldivel
Problema da Aceitação AProblema da Aceitação ADFADFA
Aw
0 1 1 0
Código do autômato A
String w
qa
qr
Se A aceita w
Se A não aceita w
AADFA DFA é decé decíídiveldivel • M= No input <A,w> faM= No input <A,w> faççaa
1.1. Executa A no string wExecuta A no string w2.2. Se A atinge um estado final, M pára Se A atinge um estado final, M pára
em qem qaa..3.3. Se A pára num estado nSe A pára num estado nãão-final, M o-final, M
pára em qpára em qrr
Problema Emptyness EProblema Emptyness EDFADFA
A
Código do autômato A
qa
qr
Se L(A) é vazia
Se L(A) não é vazia
EEDFA DFA é decidivelé decidivel M = No input <A> faça M = No input <A> faça 1. Marc := {q1. Marc := {q00}}2. Enquanto houver mudanças em Marc 2. Enquanto houver mudanças em Marc
façafaça - Insere em Marc todos os estados q tais - Insere em Marc todos os estados q tais
que que δδ(q’,a) = q para algum q’ em Marc.(q’,a) = q para algum q’ em Marc.3. Testa se Marc contém algum estado final3. Testa se Marc contém algum estado final4. Se contém, pára em q4. Se contém, pára em qrr
5. Se não contém, pára em q5. Se não contém, pára em qaa..
Problema da Equivalência Problema da Equivalência EQEQDFADFA
AB
Código do autômato A
qa
qr
Se L(A) = L(B)
Se L(A)
Código do autômato B
L(B)
EQEQDFA DFA é decé decíídiveldivel• M = No input <A,B> faM = No input <A,B> faççaa• Construa autConstrua autôômato A’ complementar de Amato A’ complementar de A• Construa autConstrua autôômato B’ complementar de Bmato B’ complementar de B• Construa autConstrua autôômato C = A intersecção B’mato C = A intersecção B’• Construa autConstrua autôômato D = B intersecção A’mato D = B intersecção A’• Construa autConstrua autôômato E = unimato E = uniãão de C e Do de C e D• Execute a máquina M’ que decide o problema Execute a máquina M’ que decide o problema
EEDFADFA em E em E• Se M’ pára em qSe M’ pára em qaa, M pára em q, M pára em qaa• Se M’ pára em qSe M’ pára em qrr, M pára em q, M pára em qrr
Problema da Aceitação AProblema da Aceitação AGLCGLC
Gw
0 1 1 0
Código de Gramática livre do contexto G
String w
qa
qr
Se G gera w
Se G não gera w
AAGLC GLC é decé decíídiveldivel M = No input <G,w> faM = No input <G,w> faççaa1. Encontre G’ = Forma Normal de Chomsky de 1. Encontre G’ = Forma Normal de Chomsky de
GG1.1. N := |w|N := |w|2.2. Crie todas as derivações de comprimento 2N Crie todas as derivações de comprimento 2N
- 1 começando em S, pela gram- 1 começando em S, pela gramáática G’.tica G’.3.3. Se w é derivada numa destas derivações pára Se w é derivada numa destas derivações pára
em qem qaa4.4. Se w nSe w nãão é derivada em nenhuma destas o é derivada em nenhuma destas
derivações pára em qderivações pára em qrr..
Problema Emptyness EProblema Emptyness EGLCGLC
G
Código de Gramática livre do contexto G
qa
qr
Se L(G) é vazia
Se L(G) não é vazia
EEGLC GLC é decé decíídiveldivel M = No input <G = (V,T,P,S) > facaM = No input <G = (V,T,P,S) > faca1. Marc := T 1. Marc := T 2. Enquanto houver mudanças em Marc faça2. Enquanto houver mudanças em Marc faça Insere em Marc todas as variInsere em Marc todas as variááveis A tais veis A tais
que existe regra A que existe regra A B1…Bn com Bi em B1…Bn com Bi em Marc para todo i = 1,…,n Marc para todo i = 1,…,n
3. Testa se Marc cont3. Testa se Marc contéém a varim a variáável Svel S4. Se cont4. Se contéém, pára em qm, pára em qrr..5. Se n5. Se nãão conto contéém, pára em qm, pára em qaa..
Problema da Equivalencia Problema da Equivalencia EQEQGLCGLC
GG’
Código da Gramática G
qa
qr
Se L(G) = L(G’)
Se L(G)
Código da Gramática G’
L(G’)
Problema da EquivalProblema da Equivalêência ncia EQEQGLCGLC
• Problema indecProblema indecíídiveldivel
• NNãão existe algoritmo que resolve o existe algoritmo que resolve este problema !este problema !
Problemas ClProblemas Cláássicos ssicos AutAutôômatomato GramGramááticatica MMááquina quina
de Turingde TuringAceitaAceitaçãção o (A)(A)
DecDecíídiveldivel DecDecíídiveldivel IndecIndecíídivedivell
EmptynesEmptyness (E)s (E)
DecDecíídiveldivel DecDecíídiveldivel IndecIndecíídivedivell
EquivalEquivalêêncncia (EQ)ia (EQ)
DecDecíídiveldivel IndecIndecíídivedivell
IndecIndecíídivedivell
Turing-reconhecíveis
Turing-decidíveis
EDFA ADFA
EQDFA
EQGLC
EGLCAGLC
EQTM
ETM
ATMEQGLC
ETM
EQTM
ATM