Post on 13-Oct-2020
transcript
Linguagens Formais e Automatos
Vinicius de Novaes Pereira
Unip
viniciusdenovaes@gmail.com
8 de marco de 2017
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 1 / 27
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 2 / 27
Section 1
Conceitos Centrais
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 3 / 27
Alfabetos
Um alfabeto e um conjunto de fınitos e nao-vazio.Usamos Σ para denotar um alfabeto.Exemplos:
Σ = {0, 1} e o alfabeto binario.
Σ = {a, b, . . . , z} e o conjuntos de todas as letrasminusculas.
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 3 / 27
Strings
Uma string e uma sequencia finita de sımbolos de algumalfabeto.Exemplos:
01101 e uma string do alfabeto Σ = {0, 1}.abbaab e uma string do alfabeto Σ = {a, b, c}.
Uma string pode ser vazia denotamos a string vaziapor ε.Strings sao tambem conhecidas como palavras oucadeias.
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 4 / 27
Strings
O comprimento de uma string e a quantidade deposicoes que ela tem.
|01101| = 5
|ε| = 0
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 5 / 27
Potencia de um alfabeto
Potencia de um alfabeto Σn e toda string no alfabeto Σcom tamanho nExemplo sobre Σ = {0, 1}:
Σ0 = {ε}Σ1 = {0, 1}Σ2 = {00, 01, 10, 11}Σ3 = {000, 001, 010, 011, 100, 101, 110, 111}
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 6 / 27
Estrela de Klenee - Σ∗
Denotamos por Σ∗ o conjunto de todas as strings quepodem ser formadas pelo alfabeto Σ, inclusive a string ε.Denotamos por Σ+ o conjunto de Σ+ excluindo a stringvazia ε.
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 7 / 27
Concatenacao de strings
Se x e y sao strings entao xy e a concatenacao de xcom y.Exemplo com x = 100 e y = 111:
xy = 100111.
yx = 111100.
xε = εx = 100.
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 8 / 27
LinguagensUm conjunto de strings escolhido a partir de um alfabetoΣ.Um subconjunto de Σ∗.Exemplo de linguagens:
A linguagem de todas as strings em {0, 1} com n0’s seguidos por n 1’s, para algum n ≥ 0:{ε, 01, 0011, 000111, . . . }Conjunto de strings em {0, 1} com um numero igualde 0’s e 1’s: {ε, 01, 10, 0101, 1010, 0011, 1100, . . . }Conjunto da representacao binaria de numeroprimos: {10, 11, 101, 111, 1011, . . . }Σ∗ e uma linguagem sobre o alfabeto Σ∅ e uma linguagem sobre qualquer alfabeto{ε} e uma linguagem sobre qualquer alfabeto
OBS: alfabetos sao finitos, lingagens podem nao serfinitas.
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 9 / 27
Representacao de linguagensSendo uma linguagem um conjunto, podemos definirlinguagens da seguinte maneira:
{w | algo sobre w}
{w | w consiste em um numero igual de 0’s e 1’s}{w | w e um numero inteiro binario primo}
{w | w e um programa em C sintaticamente correto}Outras formas
{0n1n | n ≥ 0}{0i1j | 0 ≤ i ≤ j}
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 10 / 27
Section 2
Automatos Finitos Determinısticos
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 11 / 27
Linguagens Regulares
Linguagens regulares sao aquelas que podem serdescritas por um automato finito.Mas o que e um automato finito?
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 11 / 27
Automato Finito Determinıstico
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 12 / 27
Definicao de um Automato FinıtoDeterminıstico
A = (Q,Σ, δ, q0, F )
1 Um conjunto de estados finito, Q2 Um conjunto de sımbolos de entrada Σ3 Uma funcao de transicao δ : Q× Σ→ Q.4 Um estado inicial q05 Um conjunto de estados finais F ⊂ Q
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 13 / 27
Exemplo
{w | w e da forma x01y para string x e y que consistemapenas de 0’s e 1’s}{x01y | x e y que consistem apenas de 0’s e 1’s}
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 14 / 27
Exemplo{w | w e da forma x01y para string x e y que consistemapenas de 0’s e 1’s}{x01y | x e y que consistem apenas de 0’s e 1’s}
A = (Q,Σ, δ, q0, F )
Q = {q0, q1, q2}Σ = {0, 1}δ : {q0, q1, q2} × {0, 1} → {q0, q1, q2}δ(q0, 0) = q2, δ(q0, 1) = q0, δ(q1, 0) = q1,δ(q1, 1) = q1, δ(q2, 0) = q2, δ(q2, 1) = q1.q0 e o estado inicialF = {q1}
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 15 / 27
Exemplo
{w | w e da forma x01y para string x e y que consistemapenas de 0’s e 1’s}{x01y | x e y que consistem apenas de 0’s e 1’s}
Escrever pela definicaoTedioso e difıcil...
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 16 / 27
Diagrama de Transicoes de A
A = (Q,Σ, δ, q0, F )
Para cada estado Q existe um vertice
δ(qi, a) = qj ↔ tem um arco de qi para qj com onome a
Tem um arco apontando para q0, este arco nao temorigem
Os vertices de estado final (em F ) sao marcadospor um cırculo.
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 17 / 27
Tabela de transicoes
Uma tabela de transicoes e uma representacao tabular dafuncao de transicaoO estado inicial tem uma seta e os estados finais temuma estrela
0 1
→ q0 q2 q0∗q0 q1 q1q0 q2 q1
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 18 / 27
Funcao de transicao estendida
A funcao de transicao estendida δ : Σ∗ ×Q → Q recebeuma string e retorna um estado.Segue as seguintes regras:
δ(q, ε) = q
δ(q, w) = δ(δ(q, x), a), se w = xa, sendo a umsımbolo do alfabeto.
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 19 / 27
Linguagem de um Automato FinitoDeterminıstico
Seja A = (Q,Σ, δ, q0, F ), a linguagem L definida por A e
L(A) = {q | δ(q0, w) esta em F}
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 20 / 27
Exercıcios
Automato Finito Determinıstico que aceita:1 string que termina em 002 string que tem tres 0’s consecutivos3 string que tem 011 como substring4 string que tem 011 como substring5 tem um numero par de 1’s e um numero par de 0’s
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 21 / 27
Exercıcios
Explique informalmente as linguagens0 1
→ A A B∗B B A
0 1
→ ∗A B A∗B C AC B A
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 22 / 27
Mais um Exercıcio
Automato Finito Determinıstico que aceita:1 nao tem 00 como substring2 e construıdo concatenando 01’s e 010’s e nenhum
outra string
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 23 / 27
Section 3
Automatos FinitosNao-Determinısticos
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 24 / 27
Definicao
A = (Q,Σ, δ, q0, F )
1 Um conjunto de estados finito, Q2 Um conjunto de sımbolos de entrada Σ3 Uma funcao de transicao δ : Q× Σ→ 2Q.4 Um estado inicial q05 Um conjunto de estados finais F ⊂ Q
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 24 / 27
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 25 / 27
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 26 / 27
Vinicius de Novaes Pereira (CC e SI) Linguagens Regulares: Automatos Finitos Determinısticos8 de marco de 2017 27 / 27