A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Ling. Formais e Autômatos Autômatos finitos. Na aula de hoje... Introdução AF Determinístico AF Não-determinístico Equivalência entre AFD e AFN Autômatos."— Transcrição da apresentação:

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

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

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 HLCR/ LR/HCHLR/C R/HLCL/HCR HCR/LHLC/R C/HLR HC/LR /HLCR HC H H HR HC HL H H HC HL HC HR H: homem L: lobo C: cabra R: repolho HÁ INFINITAS SOLUÇÕES PARA O PROBLEMA!

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 q0q0 q2q2 q1q1 ab

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, Σ, δ, q 0, F)

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

11 Exemplo 1 L = { w | w é uma seqüência de 0s e 1s, com número par de 0s e de 1s } P0P1P0P1 P0I1P0I1 I0P1I0P1 I0I1I0I

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 } Resto 0 Resto 1 Resto Esse AFD aceita cadeia vazia - ε

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

15 Linguagem de um AFD A linguagem de um AFD A = (Q, Σ, δ, q0, F) é denotada por L(A) e definida por: L(A) = { w | δ(q 0, 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 q0q0 q2q2 q1q1 aa

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, Σ, δ, q 0, 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 } q0q0 q1q1 q2q2 0 0, 1 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 } q 0 q 0 q 0 q 1 q 1 q 1 q 2 q paralisado q 2 é um estado de aceitação, então é aceito!

22 Linguagem de um AFN A linguagem de um AFN A = (Q, Σ, δ, q0, F) é denotada por L(A) e definida por: L(A) = { w | δ(q 0, 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 2 n 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 } q0q0 q1q1 q2q2 0 0, {q 0 } {q 0,q 1 } {q 0 } {q 1 } {q 2 } {q 2 } *

25 Exemplo L = { w | w aceita todas as strings que terminam em 01 } q0q0 q1q1 q2q2 0 0, 1 1 Como o conjunto de estados é {q 0, q 1, q 2 }, a construção de subconjuntos produz um AFD com 2 3 = 8 estados

26 Exemplo q0q0 q1q1 q2q2 0 0, {q 0 } {q 0,q 1 } {q 0 } {q 1 } {q 2 } {q 2 } {q 0,q 1 }{q 0,q 1 }{q 0,q 2 } {q 0,q 2 }{q0,q1}{q 0 } {q 1,q 2 } {q 2 } {q 0,q 1,q 2 }{q 0,q 1 }{q 0,q 2 } * * * * O oitavo estado, que não aparece na lista, seria o estado Ø

27 Exemplo q0q0 q1q1 q2q2 q0q1q0q1 q0q2q0q2 q1q2q1q2 q0q1q2q0q1q

28 q0q0 q1q1 q2q2 q0q1q0q1 q0q2q0q2 q1q2q1q2 q0q1q2q0q1q De todos os estados listados, só podemos acessar os estados {q 0 }, {q 0 q 1 } e {q 0 q 2 }. Os estados inacessíveis não precisam constar. Portanto...

29 Exemplo q0q0 q0q1q0q1 q0q2q0q

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

31 Universidade Federal de São Carlos Sérgio Donizetti Zorzo Paulo R. M. Cereda


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

Apresentações semelhantes


Anúncios Google