29
  Autômatos  Autômatos Silas Fernandes [email protected]

Apresentação Autômatos

Embed Size (px)

Citation preview

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 1/29

 

 Autômatos AutômatosSilas [email protected]

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 2/29

 

Fundamentos em Linguagens eFundamentos em Linguagens e

Teoria da ComputaçãoTeoria da Computação

� Introdução e conceitos básicos

� Linguagens e Gramáticas� Autômatos

BibliografiaHopcroft, J.E.; Motwani, R.; Ullman, J.D. Introdução a Teoria de

Autômatos, Linguagens e Computação. Campus, c2003.

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 3/29

 

 Autômatos Autômatos� Um autômato é um modelo abstrato de umcomputador digital.

� É construído por:o Estados internos finitos (unidade de controle);o Arquivo de entrada;o Arquivo de saída;

input

output

 Unidade de controle

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 4/29

 

 Autômatos Autômatos� Input: armazena uma cadeia sobre um dadoalfabeto. O mecanismo de leitura lê a cadeia daesquerda para à direita, um símbolo por vez.

� Output: armazena uma cadeia sobre um alfabeto(que não é necessariamente igual ao alfabeto deinput), produzido pelo autômato.

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 5/29

 

 Autômatos Autômatos

�Unidade de controle: pode estar em qualquer um

dos estados internos do autômato, em um dadoinstante. A unidade de controle pode mudar deestado, dependendo das funções de transaçõesdefinidas.

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 6/29

 

� Um autômato pode ser representado por um grafo,onde os vértices são os estados e as arestasdefinem a função de transição, como ilustrado na

figura a seguir.

q0q0 q1

a

Estado anterior Símbolo lido: a Estado posterior  

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 7/29

� Estado inicial é representado por:

� O estado final é representado por:

q0

qf 

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 8/29

� Exemplo:

� q0 representa o estado inicial, q1 representa oestado final, q0 lê a e vai para q1, q1 lê b e vai para

q1 ou sai.

� L = {abn : n�0}

q0

aq1

b

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 9/29

ExercícioExercício1. Determine o autômato que reconheça o conjuntode identificadores que começam com uma letra,contendo até três dígitos, e pode ter qualquer 

número de letras.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 10/29

ExercícioExercício1. Determine o autômato que reconheça o conjuntode identificadores que começam com uma letra,contendo até três dígitos, e pode ter qualquer 

número de letras.

<letra>

<letra>

q1

<letra>

<digito>

<letra>

<digito>q2 q2

<letra>

<digito>q2

q0

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 11/29

 Autômatos Finitos (AF) Autômatos Finitos (AF)� Um AF é uma máquina, reconhecedora de palavras ou

cadeia de caracteres, que se desloca de estado paraestado em resposta as ´entradasµ externas.

� Ele é caracterizado por não ter armazenagemtemporária.

� Pode apenas tratar de situações na qual asinformações a serem armazenadas são estritamente

limitada.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 12/29

Máquinas de Estado

Máquinas de Estado

� Máquina de Estado é uma técnica usada naeletrônica digital para a construção de circuitos

digitais.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 13/29

Máquinas de Estado

Máquinas de Estado� As setas são as transições de estados, na qual são

acompanhadas de um rótulo que mostra o Evento/ Ação. Quando não há ação, está é omitida.

AbertoFechad

o

Botão pressionar / Abrir 

Botão pressionar / Fechar 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 14/29

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 15/29

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 16/29

 Autômatos Finitos (AF) Autômatos Finitos (AF)� Os AF constituem um modelo útil para muitoselementos importantes de hardware e software.Alguns exemplos:

1. Software para projetar e verificar o comportamento de circuitosdigitais.

2. O analisador léxico de um compilador, isto é, o componente docompilador que divide o texto de entrada em unidades lógicas,como identificadores, palavras-chave e pontuação.

3. Software para examinar grandes corpos de texto, comocoleções de páginas da Web, a fim de encontrar ocorrênciasde palavras, frases ou outros padrões.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 17/29

 Autômato Finito Determinístico Autômato Finito Determinístico

 Autômato Finito Não Autômato Finito Não--DeterminísticoDeterminístico

�Um AF subdivide em duas categorias:o Autômato Finito Determinístico (AFD);

o Autômato Finito Não-Determinístico (AFND)

�A principal diferença entre AFD e AFN é que oprimeiro implica se existe um e somente um estadoao qual o autômato pode transitar a partir do seu

estado atual.�Já os AFND podem estar em vários estados aomesmo tempo.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 18/29

Diferenças entre AFD e AFNDDiferenças entre AFD e AFND� AFD

� AFND

a q1

a,b

q0

b

aq1

a,b

q0

a,b

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 19/29

 Autômatos Finitos Autômatos Finitos

DeterminísticosDeterminísticos� Definição: Um autômato finito é definido pelaquíntupla M = (Q,, , q0, F)

� Onde:o Q: conjunto finito de estados;

o : conjunto finito de símbolos, denominado alfabeto deinput;

o : Q x Q Função de transição de estados

o q0: estado inicial;o F: conjunto de estados finais

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 20/29

� M = (Q,, , q0, F)

� M = ({A,B}, {0,1}, ,A, {B})

� (A,0)=A Se o autômato está no estado A e o 0 é lido, vai para o estado A.

� (A,1)=B Se o autômato está no estado A e o 1 é lido, vai para o estado B.

� (B,1)=B Se o autômato está no estado B e o 1 é lido, vai para o estado B.

� (B,0)=A Se o autômato está no estado B e o 0 é lido, vai para o estado A.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 21/29

Formas de representaçãoFormas de representação� Tabela transição

� Autômato

1

q1

1

q0

0

0

0 1

q0 q0 q1

q1 q0 q1

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 22/29

ExercíciosExercícios2. Determine o AFD para todas as cadeias terminadas por b. (

= {a,b})

3. Determine o AFD que possua números ímpares de 1. ( ={0,1})

4. Construa um AFD que reconhece o conjunto de todas ascadeias sobre = {a,b}, começando com o prefixo ab.

5. Construa um AFD que reconhece o conjunto de todas ascadeias sobre = {0,1}, contendo a subcadeia 001.

6. Encontre o autômato que aceita todas as cadeias em {0,1},exceto aquelas que contenham a subcadeia 001.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 23/29

 Autômatos Finitos Autômatos Finitos

NãoNão--Determinísticos (AFND)Determinísticos (AFND)� Definição: Definido pela quíntupla M = (Q,, , q0, F)

onde Q,, q0, F são idênticas aos dos AFD e a

função de transição é definida como:

: Q x (u {} ) 2Q

Onde 2Q representa o conjunto das partes dos estados.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 24/29

 Autômatos Finitos Autômatos Finitos

NãoNão--Determinísticos (AFND)Determinísticos (AFND)Exemplo:

Podemos observar algumas particularidades do autômato:

(q2,0)={ }(q1,)={q2}

(q0,1)={q0q1q2}

1 q3

0,1

q0

0,1

q11q2

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 25/29

Diferenças entre AFD e AFNDDiferenças entre AFD e AFNDRelembrando...�Um AFND permitir uma ou mais transições de umestado sobre o MESMO símbolo de entrada.

�Em um AFND o intervalo de está no hiper-intervalo2Q, assim os valores não são um elemento simples deQ ((q1,0)={q2}), mas um subconjunto dele((q0,1)={q0q1q2}). Este subconjunto define o conjuntode possíveis estados que podem ser alcançados pelatransição. No exemplo anterior, q0 e q1 podem ser opróximo estado do AFND, após a leitura de 1.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 26/29

Diferenças entre AFD e AFNDDiferenças entre AFD e AFND� É permitido como segundo argumento de . Isto

significa que o AFND pode fazer uma transição sem

utilizar um símbolo de entrada. Embora assumimosque ele estacione em algum movimento.

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 27/29

ExercíciosExercícios7.Construa o AFND M.

M = ({q0, q1, q2, q3 }, {a, b}, , q0, {q2, q3})

(q0,a)= {q1, q2}

(q1, )= {q3}

(q2, b)= {q1}

(q0, b)= (q1,a)= (q1, b)= (q2,a)= (q3,a)= (q3, b)=

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 28/29

ExercíciosExercícios8. A partir do autômato.

Determine:

*(q0,a)= ? *(q1,a)= ? *(q2,  )= ?

aq1q0

 q2

 

 

5/8/2018 Apresentação Autômatos - slidepdf.com

http://slidepdf.com/reader/full/apresentacao-automatos 29/29

ExercíciosExercíciosConstrua um AFD e um AFND para as linguagens:9. L= {awa : w {a, b}*}

10. L= {w1 : w {0,1}*}