1 / 31

Ling. Formais e Autômatos Autômatos finitos

Ling. Formais e Autômatos Autômatos finitos. Na aula de hoje. Autômatos finitos. Introdução. AF Determinístico. AF Não-determinístico. Equivalência entre AFD e AFN. 1. Introdução. Um Autômato Finito é um sistema de estados finitos, o qual constitui um modelo computacional seqüencial

amiel
Download Presentation

Ling. Formais e Autômatos Autômatos finitos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ling. Formais e AutômatosAutômatos finitos

  2. Na aula de hoje... Autômatos finitos Introdução AF Determinístico AF Não-determinístico Equivalência entre AFD e AFN

  3. 1. Introdução • Um Autômato Finito é um sistema de estados finitos, o qual constitui um modelo computacional seqüencial • Modelo matemático de um sistema, com entradas e saídas discretas estado estímulo externo

  4. Exemplo • Travessia do rio • Um grupo formado por um homem, um lobo, uma cabra e um repolho, posicionados do lado esquerdo da margem de um rio. O problema consiste em transportá-los para a margem direita. • existe um barco com capacidade para transportar somente o homem e um dos outros três elementos do grupo • o lobo e a cabra não podem ficar sozinhos no mesmo lado • a cabra e o repolho também não podem ficar sozinhos

  5. Exemplo H L C R

  6. Exemplo HC H HLCR/ ─ LR/HC HLR/C H HC HL HR HL HR R/HLC L/HCR HÁ INFINITAS SOLUÇÕES PARA O PROBLEMA! HC HC HC HC HCR/L HLC/R H: homem L: lobo C: cabra R: repolho HL HR HL HR C/HLR HC H HC/LR ─/HLCR HC H

  7. Autômato Finito Determinístico • Definição • O autômato finito determinístico é aquele que se encontra em um único estado depois de ler uma seqüência qualquer de entradas • O termo “determinístico” se refere ao fato de que, para cada entrada, existe um e somente um estado ao qual o autômato pode transitar a partir de seu estado atual q0 a b q1 q2

  8. Autômato Finito Determinístico • Definição • Um autômato finito determinístico consiste em: • Um conjunto finito de estados: Q • Um conjunto finito de símbolos de entrada: Σ • Uma função de transição que toma como argumentos um estado e um símbolo de entrada, e retorna um estado: δ • Um estado inicial (que está em Q) • Um conjunto de estados finais F (F é um subconjunto de Q)

  9. Autômato Finito Determinístico • Notação: A = (Q, Σ, δ, q0, F)

  10. Exemplo 1 L = { w | w é uma seqüência de 0’s e 1’s, com número par de 0’s e de 1’s } Como seria o AFD que aceita essa linguagem?

  11. Exemplo 1 L = { w | w é uma seqüência de 0’s e 1’s, com número par de 0’s e de 1’s } 1 P0P1 P0I1 1 0 0 0 0 1 I0P1 I0I1 1

  12. Exemplo 2 L = { w | w é um número binário múltiplo de 3 } Como seria o AFD que aceita essa linguagem?

  13. Exemplo 2 L = { w | w é um número binário múltiplo de 3 } 0 1 Resto 0 Resto 1 Resto 2 1 0 1 0 Esse AFD aceita cadeia vazia - ε

  14. Exemplo 2 L = { w | w é um número binário múltiplo de 3 } Início 1 0 1 0 Resto 0 Resto 1 Resto 2 1 0 1 0 Esse AFD não aceita cadeia vazia - ε

  15. Linguagem de um AFD A linguagem de um AFD A = (Q, Σ, δ, q0, F) é denotada por L(A) e definida por: L(A) = { w | δ(q0, w) está em F } ^

  16. Autômato Finito Não-determinístico • Definição • O autômato finito não-determinístico pode estar em vários estados ao mesmo tempo • Capacidade de “adivinhar” algo sobre sua entrada • O AFN aceita as mesmas linguagens aceitas por um AFD • São mais sucintos e mais fáceis de projetar q0 a a q1 q2

  17. Autômato Finito Não-determinístico • Definição • Um autômato finito não-determinístico consiste em: • Um conjunto finito de estados: Q • Um conjunto finito de símbolos de entrada: Σ • Uma função de transição que toma como argumentos um estado e um símbolo de entrada, e retorna um subconjunto de Q: δ • Um estado inicial (que está em Q) • Um conjunto de estados finais F (F é um subconjunto de Q)

  18. Autômato Finito Não-determinístico • Notação: A = (Q, Σ, δ, q0, F)

  19. Exemplo L = { w | w aceita todas as strings que terminam em 01 } Como seria o AFN que aceita essa linguagem?

  20. Exemplo L = { w | w aceita todas as strings que terminam em 01 } q0 q1 q2 0 1 0, 1 O fato de outras escolhas usando os símbolos de entrada de w levarem a um estado de não-aceitação ou não levarem a nenhum estado em absoluto (a seqüência de estados “morre”), não impede w de ser aceito pelo AFN como um todo,

  21. Exemplo L = { w | w aceita todas as strings que terminam em 01 } q0 q0 q0 q0 q0 q0 q1 q1 q1 q2 q2 0 0 1 0 1 q2 é um estado de aceitação, então 00101 é aceito! paralisado paralisado

  22. Linguagem de um AFN A linguagem de um AFN A = (Q, Σ, δ, q0, F) é denotada por L(A) e definida por: L(A) = { w | δ(q0, w) ∩ F ≠ Ø } ^

  23. Equivalência entre AFD e AFN • Introdução • Toda linguagem que pode ser descrita por um AFN também pode ser descrita por um AFD • Na prática, um AFD tem quase tantos estados quanto os que o AFN tem, embora com freqüência tenha mais transições • No pior caso, o menor AFD pode ter 2n estados, enquanto o menor AFN para a mesma linguagem tem apenas n estados

  24. Exemplo L = { w | w aceita todas as strings que terminam em 01 } q0 q1 q2 0 1 0, 1 0 1 {q0} {q0,q1} {q0} {q1} ─ {q2} {q2} ─ ─ *

  25. Exemplo L = { w | w aceita todas as strings que terminam em 01 } q0 q1 q2 0 1 0, 1 Como o conjunto de estados é {q0, q1, q2}, a construção de subconjuntos produz um AFD com 23 = 8 estados

  26. Exemplo q0 q1 q2 0 1 0, 1 0 1 {q0} {q0,q1} {q0} {q1} ─ {q2} {q2} ─ ─ {q0,q1} {q0,q1} {q0,q2} {q0,q2} {q0,q1} {q0} {q1,q2} ─ {q2} {q0,q1,q2} {q0,q1} {q0,q2} O oitavo estado, que não aparece na lista, seria o estado Ø * * * *

  27. Exemplo 1 q0 q1 q2 1 1 0 1 0 q0q1q2 q0q1 q0q2 q1q2 1 0 1 0

  28. Exemplo 1 q0 q1 q2 1 1 0 1 0 q0q1q2 q0q1 q0q2 q1q2 1 0 1 0 De todos os estados listados, só podemos acessar os estados {q0}, {q0q1} e {q0q2}. Os estados inacessíveis não precisam constar. Portanto...

  29. Exemplo 0 1 q0 q0q1 q0q2 0 1 0 1

  30. Na próxima aula... AF com ε-transições Expressões regulares Introdução Operadores

  31. Sérgio Donizetti Zorzo zorzo@dc.ufscar.br Paulo R. M. Cereda paulo_cereda@dc.ufscar.br Universidade Federal de São Carlos

More Related