Problemas Decid í veis

16
Problemas Decid Problemas Decid í í veis veis Envolvendo Aut Envolvendo Aut ô ô matos e matos e Linguagens Livres do Linguagens Livres do Contexto Contexto

description

Problemas Decid í veis. Envolvendo Aut ô matos e Linguagens Livres do Contexto. Problemas Cl á ssicos. Problema da Aceitação A DFA. q a. A. Se A aceita w. w. q r. Se A não aceita w. 0. 1. 1. 0. String w. C ó digo do aut ô mato A. A DFA é dec í divel. M= No input fa ç a - PowerPoint PPT Presentation

Transcript of Problemas Decid í veis

Page 1: Problemas Decid í veis

Problemas DecidProblemas Decidííveisveis Envolvendo AutEnvolvendo Autôômatos e matos e

Linguagens Livres do Linguagens Livres do Contexto Contexto

Page 2: Problemas Decid í veis

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

Page 3: Problemas Decid í veis

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

Page 4: Problemas Decid í veis

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

Page 5: Problemas Decid í veis

Problema Emptyness EProblema Emptyness EDFADFA

A

Código do autômato A

qa

qr

Se L(A) é vazia

Se L(A) não é vazia

Page 6: Problemas Decid í veis

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..

Page 7: Problemas Decid í veis

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)

Page 8: Problemas Decid í veis

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

Page 9: Problemas Decid í veis

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

Page 10: Problemas Decid í veis

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..

Page 11: Problemas Decid í veis

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

Page 12: Problemas Decid í veis

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..

Page 13: Problemas Decid í veis

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’)

Page 14: Problemas Decid í veis

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 !

Page 15: Problemas Decid í veis

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

Page 16: Problemas Decid í veis

Turing-reconhecíveis

Turing-decidíveis

EDFA ADFA

EQDFA

EQGLC

EGLCAGLC

EQTM

ETM

ATMEQGLC

ETM

EQTM

ATM