Aula 04 - Autômatos Finitos Determinísticos.pdf

Embed Size (px)

Citation preview

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    1/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    Aula 04Máquinas de Estado Finito(Autômatos Finitos Determinísticos)

    Fontes principais:- Newton Vieira. Introdução aos Fundamentos da Computação – Linguagens eMáquinas. Pioneira Thomson Learning, 2006;- Thomas A. Sudkamp. Languages and Machines. 3rd edition. Pearson, 2006

    Prof. André Alves Nogueira, MSc.

    2015 1

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    2/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    2

    Exemplo de Sistema de Estados Finitos

    • Um homem, um leão, um coelho e um repolho devematravessar um rio usando uma canoa

    • Restrições:• o homem deve transportar no máximo um dos três de

    cada vez de uma margem à outra;• o leão não pode ficar na mesma margem que o coelho

    sem a presença do homem;•

    o coelho não pode ficar com o repolho sem a presençado homem

    • É possível executar a travessia de modo que o coelho nem orepolho sejam comidos?

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    3/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    3

    Exemplo de Sistema de Estados Finitos

    • Representação do exemplo como um diagrama de estados:• um grafo dirigido que modela o espaço de estados (vértices) e

    transições (arestas), com estados inicial e final destacados

    estados:• cada estado representa o conjunto dos que estão na margemesquerda (o complemento do conjunto está na margem direita)

    • supõe-se que no início todos estão na margem esquerda• h representa “homem”, l representa “leão”, etc.

    • transições:• se existe uma aresta com rótulo “a” do estado para o estado 2,

    diz-se que há uma transição de  para 2 sob “a”• s representa o homem atravessa sozinho; l representa o homem

    atravessa levando o leão; c, levando o coelho; etc.

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    4/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    4

    Exemplo de Sistema de Estados Finitos

    • Representação do exemplo como um diagrama de estados:

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    5/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    5

    Exemplo de Sistema de Estados Finitos

    • Uma sequência de movimentações de uma margem à outrapode ser representada por uma palavra sobre {s, l, c, r}*

    • Um problema modelado desta maneira pode ser visto como:• encontrar uma palavra que represente uma sequência de

    transições que leve de um estado inicial a um estadofinal

    no exemplo:• estado inicial: {h, l, c, r }; estado final: {}• infinitas soluções sendo duas de tamanho mínimo:

    cslcrsc e csrclsc

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    6/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    6

    Exemplo de Sistema de Estados Finitos

    • Dada uma palavra w de {s, l, c, r}*, w é uma solução se seu“caminho correspondente” partindo do estado inicial chegaao estado final, i.e.:

    • w pode ser processada da esquerda para a direita,símbolo a símbolo até o último

    • se o estado alcançado pertence ao conjunto de estados

    finais, diz-se que w é reconhecida ou aceita• senão, diz-se que w não é reconhecida ou é rejeitada

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    7/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    7

    Atividade Extra – Valendo 1 ponto

    • Tem três jesuítas e três canibais estão do lado esquerdo do rioe precisam atravessar de barco para o outro lado.

    • Restrições:• O barco só pode levar duas pessoas;• Os jesuítas não podem ficar em menor número em

    nenhuma das margens, porque os canibais devoram osjesuítas;

    • É necessário que haja mais jesuítas ou um numero igual.

    1- Como eles irão atravessar??????? Faça um esquema mostrandoas duas margens.

    2- Faça o diagrama de estados representando apenas o lado

    esquerdo da margem.

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    8/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    8

    Atividade Extra

    • Representação do exemplo 2 como um diagrama de estados:

    JJJCCCB

    JJJC

    JJCC

    X

    D

    X

    D

    JJJCCB

    C

    C

    JJJ

    JJ

    X

    X JJJCB

    C

    C

    JC

    Y

    Y

    JJCCB

    D D

    CC

    Y

    Y

    CCCB

    C

    CC X

    XCCB

    C

    C

    { } X

    X

    C – 1 canibalJ – 1 jesuítaD – 1 canibal e 1 jesuítaX – 2 canibaisY – 2 jesuítas

    JCB JJ

    D

    D

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    9/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    9

    Autômatos Finitos• O diagrama de estados representa uma máquina de estados

     finitos do tipo reconhecedora de linguagens, ou um autômato finito

    • duas saídas possíveis: aceitação ou rejeição da entrada

    • Seja w = xy . No reconhecimento de w , tendo x processada, énecessária para continuação do processo apenas umaconfiguração instantânea composta de:

    • o estado atual e y 

    • O estado atual é a única “memória” do sistema: condensa oprocessamento já ocorrido do prefixo da palavra ejuntamente com y (ainda não processada) determina ocomportamento subsequente da máquina

    • ex.: mecanismo de controle de um elevador

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    10/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    10

    Autômatos Finitos e Linguagens• O conjunto de todas as soluções (de um problema sobre um

    sistema de estados finitos) é o conjunto das palavrascorrespondentes aos caminhos do estado inicial ao final,onde:

    cada palavra é formada concatenando-se os rótulos dasarestas percorridas

    • Assim, um autômato finito define uma linguagem:• o conjunto de todas as palavras que rotulam os caminhos

    do estado inicial ao estado final, i.e., as palavrasreconhecidas pelo autômato

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    11/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    11

    Características do exemplos• Características comuns a autômatos finitos

    • o número de estados é finito

    • Características comuns a autômatos finitos determinísticos•

    Para cada par (estado, símbolo) existe no máximo umatransição, i.e.:

    • se existe uma transição do estado para 2 soba, então não existe outra transição de para

    qualquer outro estado sob a; ou ainda

    • dada uma palavra w , existe um único estado quepode ser atingido a partir de qualquer estado,processando-se w 

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    12/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    12

    Características do exemplos• Características específicas do exemplo:

    • a toda transição de um estado para um estado 2corresponde uma transição inversa sob o mesmo símbolo

    • existe um único estado final

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    13/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    13

    Autômatos Finitos Determinísticos• Um Autômato Finito Determinístico (AFD) é uma estrutura

    matemática constituída de 3 tipos de entidades:• um conjunto de estados• um conjunto de transições•

    um alfabeto

    • Def.: um AFD é uma quíntupla (E , Σ, δ, i, F ), onde:• E é um conjunto finito de um ou mais estados• Σ é um alfabeto• δ: E x Σ → E é a função de transição, uma função total• i ∈ E é o estado inicial• F ⊆ E é o conjunto de estados finais

    Á

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    14/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    14

    AFD – Função de transição• Função de transição δ : E x Σ → E

    • δ é uma função total, logo há exatamente um estadopara cada par (e, a), e ∈ E , a ∈ Σ:

    • determinismo de um AFD

    Á

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    15/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    15

    AFD – Função “Resulta em”• Em qualquer ponto do processamento de uma palavra, seu

    reconhecimento só depende da configuração instantânea[,w ], onde é o estado corrente e w ∈  Σ* é o sufixo aindanão processado da palavra:

    • [, aw ] ⊢ [, w ] denota que a configuração [, w ] éalcançada a partir de [, aw ] através de uma transiçãodo autômato

    • Def.: A função de ⊢ E x Σ+ para E x Σ*, que leva de umaconfiguração instantânea, a outra, é definida como:

    • [, aw ] ⊢ [δ(, a), w ]• para a ∈  Σ e w ∈  Σ*, onde δ é a função de transição do

    autômato

    Á

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    16/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    16

    AFDs - Exemplo• Assim, formalmente, o autômato do exemplo da travessia dorio é a quíntupla: (E , {s,l,c,r}, δ, {h, l, c, r }, {{}}), onde:

    • E = {{h, l, c, r }, {l, r }, {h, l, r }, {l}, {r }, {h, l, c}, {h, c, r },{c}, {h, c}, {}, t}

    • δ é dada pela tabela de transição:

    Á

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    17/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    17

    Á

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    18/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    18

    AFDs - Exemplo

    δ   0 1

    0 0 1

    1 2 3

    2 4 5

    3 0 1

    4 2 3

    5 4 5

    Ex. 3: Seja o autômato ({0, 1, 2, 3, 4, 5}, {0, 1}, δ, 0, {0}), quedetermina se um número binário é divisível por 6, sendo δ dadapor:

    Construa o diagrama de estados correspondente

    C RO RS ÁR O D S O S P R OR DO S ADO DO A A O AS

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    19/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    19

    AFDs - Exemplo

    δ   0 1

    0 0 1

    1 2 3

    2 4 5

    3 0 1

    4 2 3

    5 4 5

    Ex. 3: Resolução:

    0

    1 2

    3   4

    5

    10

    0

    1

    1

    0

    0

    1

    0

    1 0

    1

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    20/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    20

    Diagrama de Estados Simplificado• Para um diagrama de estados simplificado, assume-se quecaso alguma transição de algum estado e sob algum símbolo a

    não esteja no diagrama, então existe um estado de erroimplícito e' tal que:

    • existe uma transição de e para e' sob a• e' não é estado final• existe um transição de e' para e' sob cada símbolo do

    alfabeto

    • OBS.: se e' é alcançado após o processamento de um prefixode uma palavra, então para qualquer sufixo a ser processadoa palavra não será reconhecida

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    21/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    21

    Função de Transição Estendida

    Def. 2: Seja um AFD M = (E , Σ, δ, i, F ). A função de transiçãoestendida para M, é uma função de E x Σ* para E , definidarecursivamente como:

    (a) (e, λ ) = e;(b) (e, ay ) = ((e, a), y ), para todo a ∈ Σ e y ∈ Σ*

    Ex.: Processamento da palavra 1010 pelo autômato do ex. 3:(0,1010) = ((0,1),010) por (b)

    = (1,010) pois (0,1) = 1

    = ((1,0),10) por (b)

    = (2,10) pois (1,0) = 2= ((2,1),0) por (b)

    = (5,0) pois (2,1) = 5

    = ((5,0),  λ ) por (b)

    = (4,  λ ) pois (5,0) = 4= 4 por (a)

    δ   0 1

    0 0 1

    1 2 3

    2 4 5

    3 0 1

    4 2 3

    5 4 5

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    22/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    22

    Atividade 41. Construa um autômato que aceita números binários divisíveis pordois.2. Construa um autômato que aceita strings de tamanho par sobreo alfabeto {a, b}.

    3. Construa um autômato que aceita strings que iniciam com “0”

    (zero) sobre o alfabeto {0, 1}.4. Construa um autômato que aceita strings que terminam com “1”(um) sobre o alfabeto {0, 1}.

    5. Construa um autômato que aceita números binários divisíveis portrês.

    6. Construa um autômato que aceita números binários divisíveis porquatro.

    7. Construa um autômato que aceita números binários divisíveis porcinco.

    0 - 01 - 12 - 103 - 114 - 100

    5 - 1016 - 1107 - 1118 - 10009 - 100110 - 101011 - 1011

    12 - 110013 - 110114 - 111015 - 111116 - 1000017 - 1000118 - 10010

    19 - 1001120 – 1010021 – 1010122 – 1011023 – 1011124 - 11000

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    23/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    23

    8. Construa um AFD que aceita a linguagem L sobre o alfabeto {0,1} cujosstrings possuem tamanho múltiplo de 3 ou terminam com 1.

    9. Construa um AFD que aceita a linguagem L sobre o alfabeto {0,1} cujosstrings começam com 0 e terminam com 10 ou com 11

    10. Construa um autômato que aceita a linguagem expressa por 03120| n ϵ

    IN.11. O conjunto dos strings sobre {a, b, c} na qual todos os a’s precedem osb’s, que por sua vez precedem os c’s. É possível que não haja a’s, b’s ou c’s.

    12. O conjunto dos strings sobre {a, b, c} com comprimento maior que três.

    13. (0+1)*(00+11)(0+1)*14. (0+1)*01(11)*

    15. Construa um autômato que aceite strings sobre {0,1} em que a quantidadede “a” é par e a quantidade de “b” é ímpar.

    Atividade 4

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

  • 8/18/2019 Aula 04 - Autômatos Finitos Determinísticos.pdf

    24/24

    CENTRO UNIVERSITÁRIO DE ENSINO SUPERIOR DO ESTADO DO AMAZONAS

    24

    Linguagem Reconhecida por um AFD

    Def.: A linguagem reconhecida (aceita) por um AFD M = (E , Σ, δi, F ) é o conjunto L(M) = {w ∈ Σ* | (i, w ) ∈ F }

    Exercício: Considere os seguintes diagramas de estado querepresentam autômatos finitos. Descreva os autômatosformalmente e diga que linguagens eles reconhecem