Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf ·...

18
Profa. Clarisse S. de Souza Profa. Clarisse S. de Souza 1 1 Informática PUC-Rio INF1626 Linguagens Formais e Autômatos em 2010 INF1626 Linguagens Formais e Autômatos em 2010 - - 2 2 Revisão para a P1 Revisão para a P1 Pontos Selecionados da Matéria

Transcript of Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf ·...

Page 1: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 11

InformáticaPUC-RioINF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Revisão para a P1Revisão para a P1

Pontos Selecionados da Matéria

Page 2: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 22

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

MinimizaMinimizaçção de Autômatosão de Autômatos

• O que é um Autômato Mínimo?

• Dado um autômato qualquer, como saber se ele é um Autômato Mínimo? E se não for, como minimizá-lo?

– Quais as condições em que um autômato pode ser minimizado?– Qual o procedimento de minimização?

Page 3: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 33

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Dica de Algoritmo de MinimizaDica de Algoritmo de Minimizaçção 1ão 1

• Pré-condições1. O autômato é finito e determinístico.

2. Não há nele estados inalcançáveis.

3. Para todo símbolo do alfabeto da linguagem que ele define, háao menos uma transição prevista.

Page 4: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 44

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Dica de Algoritmo de MinimizaDica de Algoritmo de Minimizaçção 2ão 2• Algoritmo

1. Dados os n estados do AFD, constrói-se uma tabela n x n.

2. Retiram-se todas as células redundantes, considerando que os cruzamentos de estados (qn,qm) e (qm,qn) são iguais.

3. Retiram-se da tabela todas as células correspondentes a cruzamentos (qn,qn).

A tabela resultante é similar àtabela mostrada ao lado.

Continua.qnqn-1…q1q0

qn

qn-1

q1

q0

Page 5: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 55

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Dica de Algoritmo de MinimizaDica de Algoritmo de Minimizaçção 3ão 3• Algoritmo (continuação)

4. Marcam-se com um ‘X’ as células correspondentes aos pares de estados obviamente distintos (i.e. finais e não finais).

A tabela resultante é similar àtabela mostrada ao lado.

Continua.

qnqn-1…q1q0

XXqn

Xqn-1

q1

q0

Page 6: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 66

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Dica de Algoritmo de MinimizaDica de Algoritmo de Minimizaçção 4ão 4• Algoritmo (continuação)

5. Examinar todas as células não-marcadas da tabela, dado o respectivo par de estados {q,q’}, para cada símbolo α do alfabeto (ou vocabulário) da linguagem, seja p o estado para onde vai o autômato se estiver em q e receber a entrada α(i.e. δ(q, α)=p) e p’ o estado para onde vai o autômato se estiver em q’e receber a entrada α (i.e. δ(q’, α)=p’).

Veja o que isto quer dizer na tabela ao lado, onde se examina UMA das várias células não marcadas.

Continua. qnqn-1…q1q0

X

…q01,q1

Xqn

X

…qn-1,qn-2

qn-1

q1

q0

Seja o V={a,b}o vocabulário dalinguagem.

Examinar:(q1,a) = pa(q0,a) = pa’(q1,b) = pb(q0,b) = pb’

Veja como examinar no slide a seguir.

células já examinadas; dependências marcadas

Page 7: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 77

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Dica de Algoritmo de MinimizaDica de Algoritmo de Minimizaçção 5ão 5• Algoritmo (continuação)

i. se há um caso de p=p’ na célula, q e q’ são equivalentes para α e não devem ser marcados (impeçam marcação posterior!)

ii. se p≠p’ para α e o par de estados {p,p’} não está marcado, então {q,q’} vai depender do resultado de {p,p’}– guarde esta informação em uma lista;

iii. se p≠p’ para α e o par de estados {p,p’} está marcado, então:{q,q’} não são equivalentes e devem ser

marcados e

todos os estados dependentes de {q,q’} devem ser marcados (transitividade da dependência).

qnqn-1…q1q0

X…q0,q1

Xqn

X

…qn-1,qn-2

qn-1

q1

q0

(q1,a) = q0(q0,a) = qnExaminar (q0,qn)Examinar (q0,qn)

(q1,b) = qn-1(q0,b) = q0Examinar (q0,qn-1)

MARCARMARCAR o estadocorrente e todos osmarcados como dede--pendentes delependentes dele.

X

exemplo do caso iii

X

Page 8: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 88

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Dica de Algoritmo de MinimizaDica de Algoritmo de Minimizaçção 6ão 6• Algoritmo (FINALIZAÇÃO)

6. Os estados dos pares não marcados são equivalentes e podem ser unificados:

i. Identificar equivalências por transitividade (i.e. se (qn,qm) são equivalentes e (qm,qo) são equivalentes, então (qn,qo) são equivalentes)

ii. Pares de estados não-finais equivalentes podem ser unificados como um único estado não-final.

iii. Pares de estados finais equivalentes podem ser unificados como um único estado final.

iv. Se um dos estados equivalentes unificados é inicial, então o estado unificado é inicial.

v. Se um estado é inútil ele é excluído.Define-se como estado inútil aquele que não é

final e a partir dele não se atinge um estado final, consideradas quaisquer transições sobre o alfabeto da linguagem em questão.

qnqn-1…q1q0

X……q0,q1

Xqn

XX…qn-1

XX…

q1

q0

X

Células com Estados Equivalentes

X

q0 e qn-1 serão unificados

qn será unificado com algumoutro estado (não definidona tabela).

Page 9: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 99

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Resumindo (Slide de Krishnaprasad Thirunarayan)Resumindo (Slide de Krishnaprasad Thirunarayan)

Online em:www.cs.wright.edu/~tkprasad/courses/cs466/L13DFAMin.ppt

Page 10: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1010

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

ExercExercíício de Minimizacio de Minimizaççãoão

• Minimize o seguinte autômato: (Fonte Tutorial JFLAP)

Page 11: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1111

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Autômatos DeterminAutômatos Determiníísticos e Nãosticos e Não--DeterminDeterminíísticossticos

• Definições• Reconhecimento de cada caso• Redução do AFN para AFD

Page 12: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1212

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

ExercExercíício: Reduza o AFN a AFDcio: Reduza o AFN a AFD

• Fonte: Tutorial JFLAP

Page 13: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1313

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Expressões RegularesExpressões Regulares

• NotaçãoA notação adotada para a expressão regular é:– a + b para denotar a OU b– a * para denotar a repetição de 0..N instâncias de a– (a + b)*para denotar a repetição de 0..N instâncias de a ou b

Que expressão regulardenota a mesma linguagemque o autômato ao lado?

Page 14: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1414

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Expressões RegularesExpressões Regulares

• NotaçãoA notação adotada para a expressão regular é:– a + b para denotar a OU b– a * para denotar a repetição de 0..N instâncias de a– (a + b)*para denotar a repetição de 0..N instâncias de a ou b

Que autômato denota a mesma linguagem que a expressão:

((a + b*) (c a*) d)*?

Page 15: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1515

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Conversões Autômato Conversões Autômato →→ GramGramááticasticas

• De Autômato para Gramáticas no padrão α→β

Qual o TIPO da gramática proposta?

Tipo 3 (Regular)Tipo 2 (Livre de Contexto)Tipo 1 (Sensível a Contexto)Tipo 0 (Irrestrita)

Page 16: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1616

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

Conversões Autômato Conversões Autômato →→ GramGramááticasticas

• De Autômato para EBNF

Comente as diferenças entre aGramática no formato α→β e no formato EBNF.

Page 17: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1717

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

RestriRestriçções sobre as gramões sobre as gramááticasticas• As linguagens regulares, ou de TIPO 3, são aquelas em que toda produção tem a

forma A → b C ou A → b, onde:– A, C ∈ N, ou seja |A| = 1 e |C| = 1– b ∈T ou b é vazio ( também expresso por b = λ ).

• As linguagens livres de contexto, ou de TIPO 2, são aquelas em que toda produção tem a forma A → w, onde:

– A ∈ N, ou seja: |A| = 1– w ∈ ( T ∪ N )* , ou seja | w | ≠ 1

• As linguagens sensíveis a contexto, ou de TIPO 1, são aquelas em que toda produção tem a forma xαy → xβy, onde:

– | xαy | ≤ | xβy |, ou seja β≠λ– O único apagamento permitido numa gramática sensível a contexto é através de uma

regra S → λ se S não aparecer do lado DIREITO de nenhuma produção da gramática.• As linguagens irrestritas, ou de TIPO 0, como sugere o nome, não têm nenhuma

restrição.

é umtipo de

é umtipo de

é umtipo de

Linguagens descritas por uma Gramática de tipo Npodem também ser descritas por uma Gramática detipo N+1 (mas não o contrário – por quê?).

Page 18: Revisão para a P1 - Departamento de Informática – PUC-Rioinf1626/Exerc/Revisao-Prova1.pdf · Revisão para a P1 Pontos Selecionados da Matéria. Informática PUC-Rio Profa. Clarisse

InformáticaPUC-Rio

Profa. Clarisse S. de SouzaProfa. Clarisse S. de Souza 1818

INF1626 Linguagens Formais e Autômatos em 2010INF1626 Linguagens Formais e Autômatos em 2010--22

ExemploExemplo• Seja a Gramática que descreve sentenças do tipo aba, abba, ab…ba

também definida por a(bb*)a:S -> a XX -> b YY -> b YY -> a ZZ -> lambda

Ela pode também ser descrita como:

S -> X YX -> a ZZ -> b | b ZY -> a

Ou como:aSa -> aXaX -> b | b X

Cada formato tem vantagens ou

desvantagens, seja para o ser humano, seja para o processador automático.