Upload
trinhdien
View
215
Download
0
Embed Size (px)
Citation preview
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
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?
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.
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
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
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
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
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).
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
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)
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
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
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?
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)*?
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)
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.
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ê?).
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.