Você está na página 1de 15

Prof José Rui

2. Linguagens Regulares

2 – Linguagens Regulares
Aula 05
Prof José Rui
2. Linguagens Regulares

Sumário
Capítulo 2 – Linguagens Regulares
2.1. Definição
2.1.1. Linguagem Tipo 3
2.1.2. Sistema de estados finitos
2.2. Formalismos
2.2.1. Autômatos
a. Autômato Finito Determinístico (AFD)
b. Autômato Finito Não-Determinístico
c. Autômato Finito com Movimentos Vazios
d. Equivalência entre autômatos
e. Minimização de autômatos
2.2.2. Expressão Regular
2.2.3. Gramática Regular
Prof José Rui
2. Linguagens Regulares

Sumário
Capítulo 2 – Linguagens Regulares
2.2.1. Autômatos
b. Autômato Finito Não-Determinístico
– Não determinísmo
– Definição matemática
– Critérios de parada
– Matriz de transição
Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● Não Determinísta
– A partir de um determinado estado e do simbolo lido
– Pode assumir um conjunto de estados
Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● Não Determinísta
– A partir de um determinado estado e do simbolo lido
– Pode assumir um conjunto de estados

● Não Determinísmo não aumenta o poder computacional

● Veremos mais adiante que qualquer automato não determinístico(AFN)


pode ser reescrito num automato determinístico(AF)

● Normalmente é muito mais fácil montar um AFN do que um AF


Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico

δ (p, a) = {q1, q2, …, qn}


Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● Definição Matemática:
M = (Σ, Q, δ, q0, F)
– Σ, é um alfabeto
– Q, é o conjunto de estados possíveis do automato (finito)
– δ, é uma função de transição
δ: Q x Σ →2Q
● Transição: δ (p, a) = {q1, q2, …, qn}

– q0, estado inicial


– F, subconjunto de Q, conjunto dos estados finais
Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● Critérios de parada do processamento
– Aceita
● Processa o utlimo simbolo
● Atinge um estado pertencente ao conjunto dos estados finais
● Basta achar um “caminho” que atenda os dois critérios acima

– Rejeitada
● Após processar o último simbolo, não atinge o conjunto dos estados finais
● Ou programa indefinido para algum argumento
Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● L = { w | w possui aa ou bb como subpalavra}
● AF Determinístico
– Note que a partir de cada estado e uma entrada só há um único destino
Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● L = { w | w possui aa ou bb como subpalavra}
● AF Não-determinístico
– Note que a partir de cada estado e uma entrada pode haver mais de um
destino
Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● L = { w | w possui aa ou bb como subpalavra}
● AFN
– Note que a partir de cada estado e uma entrada pode haver mais de um
destino

Este estado garante que


processou aa ou bb. Após isso
Este estado não garante nada. pode processar qualquer coisa.
Apenas que pode vir a ou b
quantas vez for necessário.
Prof José Rui
2. Linguagens Regulares

Autômato Finito Não Determinístico


● L = { w | w possui aa ou bb como subpalavra}
● Matriz de transição

Note, conjunto!
δ a b
q0 {q0, q1} {q0,q2}
q1 {q3} -
q2 - {q3}
q3 {q3} {q3}
Prof José Rui
2. Linguagens Regulares

Exemplos
a) O conjunto de palavras com, no mínimo, 3 ocorrências de ab.

b) O conjunto de palavras com, no mínimo, 3 ocorrências de a´s ou 3


ocorrências de b´s ou 3 ocorrências de c´s.

c) O conjunto de palavras com sufixo abc ou bca.

d) O conjunto de palavras em que existem duas ocorrências de ab com um


número ímpar de símbolos entre elas.
Prof José Rui
2. Linguagens Regulares

Exemplos
e) {w ∈{0,1}* | |w| ≥ 4 e o segundo e o penúltimo símbolos são ambos 1}

f) {w ∈{0,1}* | 00 não aparece nos últimos 4 símbolos de w}

g) {w ∈{0,1}* | entre dois 1´s de w há sempre um número par de 0´s}

h) {w ∈{0,1}* | w tem uma subpalavra constituída de dois 1´s separados por


um número par de símbolos}

i) Faça um AFD: {w ∈{0,1}* | w tem uma subpalavra constituída de dois 1´s


separados por um número par de símbolos}
Prof José Rui
2. Linguagens Regulares

Exemplos
e)(Pos2009) Considere o autômato finito não-determinístico a seguir, sendo A o
estado inicial e D o único estado de aceitação.

Que autômato finito determinístico com d como sua função de transição de estado
aceita a mesma linguagem?
C) Estado Inicial A, estados de aceitação C e D
A) Estado Inicial A, estado de aceitação D

d (A, b) = B d (A, b) = B

d (B, a) = D d (B, a) = C

d (B, b) = C d (C, a) = D

d (C, a) = D D) Todas as respostas acima estão corretas.

B) Estado Inicial A, estado de aceitação C E) É impossível converter esse autômato finito não
determinístico em um autômato finito determinístico.
d (A, b) = B

d (B, a) = C

d (C, a) = C

Você também pode gostar