View
223
Download
1
Category
Preview:
Citation preview
5/8/2018 Apresentação Autômatos - slidepdf.com
http://slidepdf.com/reader/full/apresentacao-automatos 1/29
Autômatos AutômatosSilas Fernandessilasevandro@gmail.com
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
Recommended