Envolvendo Autômatos e Linguagens Livres do Contexto Problemas Decidíveis Envolvendo Autômatos e Linguagens Livres do Contexto
Problemas Clássicos Autômato Gramática Aceitação (A) Decídivel Emptyness (E) Equivalência (EQ) Indecídivel
Problema da Aceitação ADFA qa A Se A aceita w w qr Se A não aceita w 1 1 String w Código do autômato A
ADFA é decídivel M= No input <A,w> faça Executa A no string w Se A atinge um estado final, M pára em qa. Se A pára num estado não-final, M pára em qr
Problema Emptyness EDFA qa A Se L(A) é vazia qr Se L(A) não é vazia Código do autômato A
EDFA é decidivel M = No input <A> faça 1. Marc := {q0} 2. Enquanto houver mudanças em Marc faça - Insere em Marc todos os estados q tais que δ(q’,a) = q para algum q’ em Marc. 3. Testa se Marc contém algum estado final 4. Se contém, pára em qr 5. Se não contém, pára em qa.
Problema da Equivalência EQDFA qa Se L(A) = L(B) A B qr Se L(A) L(B) Código do autômato A Código do autômato B
EQDFA é decídivel M = No input <A,B> faça Construa autômato A’ complementar de A Construa autômato B’ complementar de B Construa autômato C = A intersecção B’ Construa autômato D = B intersecção A’ Construa autômato E = união de C e D Execute a máquina M’ que decide o problema EDFA em E Se M’ pára em qa, M pára em qa Se M’ pára em qr, M pára em qr
Problema da Aceitação AGLC qa G Se G gera w w qr Se G não gera w 1 1 String w Código de Gramática livre do contexto G
AGLC é decídivel M = No input <G,w> faça 1. Encontre G’ = Forma Normal de Chomsky de G N := |w| Crie todas as derivações de comprimento 2N - 1 começando em S, pela gramática G’. Se w é derivada numa destas derivações pára em qa Se w não é derivada em nenhuma destas derivações pára em qr.
Problema Emptyness EGLC qa G Se L(G) é vazia qr Se L(G) não é vazia Código de Gramática livre do contexto G
EGLC é decídivel M = No input <G = (V,T,P,S) > faca 1. Marc := T 2. Enquanto houver mudanças em Marc faça Insere em Marc todas as variáveis A tais que existe regra A B1…Bn com Bi em Marc para todo i = 1,…,n 3. Testa se Marc contém a variável S 4. Se contém, pára em qr. 5. Se não contém, pára em qa.
Problema da Equivalencia EQGLC qa G Se L(G) = L(G’) G’ qr Se L(G) L(G’) Código da Gramática G Código da Gramática G’
Problema da Equivalência EQGLC Problema indecídivel Não existe algoritmo que resolve este problema !
Problemas Clássicos Autômato Gramática Máquina de Turing Aceitação (A) Decídivel Indecídivel Emptyness (E) Equivalência (EQ)
EQTM EDFA ADFA ETM EQDFA EGLC ETM AGLC EQTM ATM ATM EQGLC EQGLC Turing-decidíveis EQTM EDFA ADFA ETM EQDFA EGLC ETM AGLC EQTM ATM ATM EQGLC EQGLC Turing-reconhecíveis