Você está na página 1de 39

UNIVERSIDADE DO VALE DO ITAJAÍ

LABORATÓRIO DE INTELIGÊNCIA APLICADA

Linguagens Formais e
Autômatos
Prof. Alex Luciano Roesler Rese, MSc.
1
Linguagens Regulares

2
Autômatos Finitos
Não-Determinísticos
3
Autômato

Autômato Finito Não Determinístico


• É um autômato que tem o poder de estar em vário estados ao mesmo
tempo;

• Como se fosse uma capacidade de adivinhar algo sobre a palavra de


entrada;

• Em geral são mais sucintos e mais fáceis de projetar que os AFD;

• Aceita a mesma Linguagem aceita pelos AFDs – Linguagens regulares.


4
Autômato

Autômato Finito Não Determinístico


• Um AFND é definidos por uma 5-upla:
• M = (, Q, , q0, F)
•  = alfabeto de símbolos de entrada
• Q = conjunto finito de estados possíveis do autômato
•  = função de transição tal que : Q X   {q0,...,qn}
• q0 = estado inicial tal que q0  Q
• F = conjunto de estados finais tal que F  Q
5
Autômato

Autômato Finito Não Determinístico


M = (, Q, , q0, F)
M = ({0,1}, {q0,q1}, , q0, q1)

O não determinismo está no


caso da transição  (q0,0)
onde há dois caminhos
possíveis.

Binários Pares 6
Autômato

AFD Correspondente
M = (, Q, , q0, F)
M = ({0,1}, {q0,q1}, , q0, q1)

7
Linguagem que aceita números binários pares
Autômato

Outro exemplo de AFND


M = (, Q, , q0, F)
M = ({0,1}, {q0 ,q1,q2}, , q0, q2)

Palavras que com “00” como sufixo 8


Autômato

AFD Correspondente
M = (, Q, , q0, F)
M = ({0,1}, {q0,q1}, , q0, q1)

9
Palavras que com “00” como sufixo
Autômato

Mas nem sempre ajuda

Criar um AFD para palavras que não contém a subpalavra “01”

10
Autômato

Tabelas de Transição de AFND

11
Autômato

Tabelas de Transição de AFND

12
Autômato

Simulando o reconhecimento

13
Autômato

Simulando o reconhecimento

14
Autômato

Simulando o reconhecimento

15
Autômato

Simulando o reconhecimento

16
Autômato

Simulando o reconhecimento

17
Autômato

Simulando o reconhecimento

18
Autômato

Exercícios

• Crie AFNDs com a respectiva tabela de transição para as


linguagens:
• palavras que possuam “ou” como sufixo ( = {a,e,i,o,u})
• Palavras que possuam “ai” como subpalavra ( = {a,e,i,o,u})
• Palavras que possuem “aa” ou “bb” ( = {a,b})

19
AFND  AFD

20
Autômato

Conversão de AFND em AFD


• Princípios:
• Encontrar todos os conjuntos de estado atingíveis de um AFND
• Transformar estes conjuntos nos novos estados do AFD
• O conjuntos que contém o estado inicial do AFND será o estado
inicial no AFD
• Todos os conjuntos que contém o estado final do AFND serão
estados finais no AFD 21
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

22
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

23
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

24
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

25
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

26
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

Nenhum conjunto novo foi 27


adicionado
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

28
Autômato

Conversão de AFND em AFD


Definir estado inicial e final

29
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

30
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

31
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

32
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

33
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

34
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

Nenhum conjunto novo foi 35


adicionado
Autômato

Conversão de AFND em AFD


Encontrar todos os conjuntos de estado atingíveis de um AFND

36
Autômato

Conversão de AFND em AFD


Definir estado inicial e final

37
Autômato

Conversão de AFND em AFD


Exemplo extremo

38
Autômato

Conversão de AFND em AFD


Exemplo extremo

39

Você também pode gostar