Buscar

Linguagens Formais e Autômatos - Leandro Dionízio - Aula 02 AFD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagens Formais
Leandro Dionízio Ramos
1
Tipos de Formalismos
• Reconhecedores: 
Recebe uma palavra e retorna um valor para dizer 
se ela é ou não da linguagem
• Geradores:
Define um conjunto de regras que podem ser 
combinadas para gerar palavras
• Denotacional (Gerador?)
Uma expressão que denota de modo geral as 
palavras da linguagem
2
Modelos de Máquinas
• Dispositivo Reconhecedor. 
Uma maneira de definir uma linguagem é 
através da utilização de um dispositivo 
reconhecedor, que permite submeter uma 
palavra ou cadeia a um teste de aceitação 
capaz de determinar se tal palavra pertence 
ou não à linguagem em questão.
3
Modelos de Máquinas
• Dispositivo Reconhecedor.
O dispositivo reconhecedor é na verdade um 
modelo matemático que descreve o 
funcionamento de uma máquina, onde as 
cadeias são submetidas para aceitação ou 
rejeição.
4
Autômato Finito
• Um autômato é um modelo abstrato de um 
computador digital composto:
– por entrada (que conterá a cadeia de entrada);
– uma saída (para mostrar a cadeia resultante);
– memória auxiliar (que armazena temporariamente 
símbolos do alfabeto);
– unidade de controle.
5
Autômato Finito
• Um autômato finito é o modelo 
computacional mais simples e pode ser 
chamado, também, de máquina de estados 
finitos.
6
Autômato Finito
• Tomando como exemplo a porta automática 
(presente em supermercados, shoppings, 
etc.), podemos observar na Figura que existe 
um tapete na frente da porta e outro tapete 
atrás.
7
Autômato Finito
• Ambos os tapetes detectam a presença de 
pessoas prestes a atravessar a passagem, 
abrindo a porta quando alguém se aproxima e 
mantendo-a aberta até que a pessoa se afaste.
8
Autômato Finito
• O controlador pode estar em dois estados (aberto 
ou fechado) e passa de um estado para outro 
dependendo do estímulo (entrada) que recebe. 
Nesse caso, tem-se 4 estímulos diferentes:
– frente (uma pessoa está no tapete da frente);
– retaguarda (uma pessoa está no tapete de dentro); 
– ambos (há pessoas sobre os dois tapetes);
– nenhum (não há ninguém sobre os tapetes).
9
Autômato Finito
• Para cada estímulo, o controlador vai responder de 
uma forma diferente, realizando as transições de um 
estado para outro. A representação das possíveis 
transições de acordo com cada estímulo (chamamos 
essa representação de diagrama de estados).
10
Autômato Finito
• Tabela de transição:
11
Autômato Finito
• Ao receber a sequência de estímulos frente; 
retaguarda; nenhum; frente; ambos.
Tem-se as seguintes transições:
– fechado (início) -> aberto; aberto -> aberto; aberto -> 
fechado; fechado -> aberto; aberto -> aberto.
12
Autômato Finito
• Exemplo de Interruptor
– Estados Desligado e Ligado:
Tabela de Transição
13
Pressionar
Desligado Ligado
Ligado Desligado
Autômato Finito
• Exemplos: 
Estados q0, q1, q2, q3, q4:
– Qualquer palavra que não seja ( amor ) deve ser descartada.
Tabela de Transição
14
a m o r
q0 q1 - - -
q1 - q2 - -
q2 - - q3 -
q3 - - - q4
q4
Autômato Finito
15
Autômato Finito
• Outro exemplo
Estados s1 e s2:
Tabela de Transição
16
1 0
s1 s1 s2
s2 s2 s1
Autômato Finito
• O autômato finito pode ser determinístico 
(AFD) e não determinístico (AFN). 
• No AFD cada movimento é determinado de 
uma única forma, enquanto que no AFN 
existem várias possibilidades de transição para 
um mesmo símbolo.
17
Autômato Finito
• Formalismo reconhecedor
– Recebe uma palavra de entrada
– Indica se ela é aceita ou rejeitada
• Baseado no conceito de “máquinas de estados 
finitas”
18
Autômato Finito Determinístico (AFD)
• Um Autômato Finito Determinístico (AFD) é 
um modelo de máquina definido formalmente 
por uma quíntupla M = (Σ, Q, δ , q0, F).
19
Autômato Finito Determinístico (AFD)
• Quíntupla M = (Σ, Q, δ , q0, F):
– Σ: alfabeto de símbolos de entrada
– Q: conjunto finito de estados possíveis para M
– δ (beta): função transição ou função programa 
definida em Q x Σ = Q
– q0: estado inicial de M, sendo (q0 ∈ Q)
– F: conjunto de estados finais, tal que (F ∈ Q)
20
Autômato Finito Determinístico (AFD)
21
Autômato Finito Determinístico (AFD)
22
• Definir um AFD engloba definir
– Um conjunto finito de estados;
– Um alfabeto de entrada que indica os símbolos de 
entrada permitidos;
– Um conjunto de regras de movimento que indicam 
como ir de um estado p/ outro, dependendo do 
símbolo de entrada;
– Um estado escolhido como estado inicial;
– Um conjunto de estados escolhidos como estados 
finais (de reconhecimento);
Autômato Finito Determinístico (AFD)
23
• A máquina inicia sua execução em um estado 
inicial, a partir do primeiro símbolo da palavra
– Estado inicial é único
• Ao final, a máquina deve terminar em um 
estado final para a palavra ser reconhecida
– O número de estados finais é livre
Autômato Finito Determinístico (AFD)
24
• Um autômato finito M1: (diagrama de estados)
• M1 tem 3 estados, q1, q2, q3 ;
• M1 inicia no estado q1 ;
• M1 tem um estado final, q2 ;
• Os arcos que vão de um estado p/ outro chamam-se 
transições.
Autômato Finito Determinístico (AFD)
25
• O autômato finito M1 recebe os símbolos de entrada 
um por um;
• Depois de ler cada símbolo, M1 move-se de um 
estado para outro, de acordo com a transição que 
possui aquele símbolo como seu rótulo;
• Quando M1 lê o ultimo símbolo ele produz uma 
saída:
– reconhece se M1 está 
no estado final
– não-reconhece se M1 
não estiver.
Autômato Finito Determinístico (AFD)
26
• Exemplo: entrada 1101
1. Inicia no estado q1.
2. Lê 1, segue transição de q1 p/ q2.
3. Lê 1, segue transição de q2 p/ q2.
4. Lê 0, segue transição de q2 p/ q3.
5. Lê 1, segue transição de q3 p/ q2.
6. Pára c/ saída reconhece.
Autômato Finito Determinístico (AFD)
27
• Vamos testar as entradas: 1, 01, 11, 0101 (em M1)
Percebemos que :
- M1 reconhece qualquer cadeia que termine 
com 1 (vai p/ o estado final q2 toda vez que lê 
1);
- M1 não reconhece cadeias como 0, 10, 
101000.
Autômato Finito Determinístico (AFD)
28
• Desenvolva um Autômato que reconhece a linguagem de 
números binários com quantidade ímpar de 1s.
• M = (Σ, Q, δ , q0, F): 
• Σ = ({ 0, 1 }, Q = { qpar, qimpar }, q0 = { qpar }, F = { qimpar })
Autômato Finito Determinístico (AFD)
29
• Um Autômato Finito nunca entra em “loop” infinito
• Novos símbolos da entrada são lidos a cada aplicação da 
função programa, o processo de reconhecimento de qualquer 
cadeia finaliza de duas maneiras:
– Aceitando ou;
– rejeitando uma entrada.
Autômato Finito Determinístico (AFD)
30
• Praticando:
De acordo com a sequência de estados pelos quais passa o 
AFD M dado abaixo quando recebe como entrada a palavra 
01010. Diga se a palavra é aceita ou rejeitada e justifique.
• A = ({0,1}, {q0, q1, q2, q3}, δA, q0, {q3}), onde δA é dado 
abaixo:

Outros materiais