Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
1 Símbolos e Cadeias
Agenda
1 Símbolos e Cadeias
2 Linguagens
Agenda
1 Símbolos e Cadeias
2 Linguagens
3 Gramáticas
Agenda
1 Símbolos e Cadeias
2 Linguagens
3 Gramáticas
4 Hierarquia de Chomsky
Agenda
1 Símbolos e Cadeias
2 Linguagens
3 Gramáticas
4 Hierarquia de Chomsky
5 Exercícios
Símbolos e Cadeias
Símbolos
Símbolos e Cadeias
Símbolos
Símbolos
Símbolos e Cadeias
Símbolos
Cadeias
Símbolos e Cadeias
Cadeias
Alfabetos
Símbolos e Cadeias
Alfabetos
Convenções
Símbolos e Cadeias
Convenções
Convenções
Símbolos e Cadeias
Convenções
Exemplo:
Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, a, b, c, d, e, f }
Exemplo:
Símbolos e Cadeias
Comprimento de uma Cadeia
Exemplo:
Símbolos e Cadeias
Cadeia Elementar ou Unitária
Cadeias Vazias
Símbolos e Cadeias
Cadeias Vazias
Formalmente,
|ε| = 0
Concatenação
Símbolos e Cadeias
Concatenação
A concatenação é uma operação que permite que duas cadeias, sejam elas
elementares ou não, podem ser anexadas, formando uma só cadeia.
Essa operação fornece como resultado uma nova cadeia, formada pela justapo-
sição ordenada de símbolos que compõem os seus operandos separadamente.
Concatenação
Símbolos e Cadeias
Concatenação
Exemplo:
Prefixo
Símbolos e Cadeias
Prefixo
Diz que uma cadeia α é prefixo de outra cadeia β, se for possível escrever β
como αγ.
Exemplo:
Sufixo
Símbolos e Cadeias
Sufixo
Diz que uma cadeia α é sufixo de outra cadeia β, se for possível escrever β
como γα.
Exemplo:
Prefixo e Sufixo
Símbolos e Cadeias
Prefixo e Sufixo
Subcadeia
Símbolos e Cadeias
Subcadeia
Cadeia Reversa
Símbolos e Cadeias
Cadeia Reversa
Exemplo:
Número de Símbolos
Símbolos e Cadeias
Número de Símbolos
Exemplo:
Linguagens
Conceito de Linguagem
Linguagens
Conceito de Linguagem
Linguagens
Relação entre os Conceitos de Símbolo, Alfabeto, Cadeia e Linguagem
Linguagens
Relação entre os Conceitos de Símbolo, Alfabeto, Cadeia e Linguagem
Concatenação de Linguagens
Linguagens
Concatenação de Linguagens
Formalmente,
Z = X .Y = XY = {xy |x ∈ X ey ∈ Y }
Concatenação de Linguagens
Linguagens
Concatenação de Linguagens
Generalizando-se:
Σi = ΣΣi−1 , i ≥ 0
Por definição, Σ0 = {ε}
Concatenação de Linguagens
Linguagens
Concatenação de Linguagens
Σ0 = {ε}
Σ1 = {a, b, c}
Linguagens
Fechamento Reflexivo e Transitivo
∞
[
Σ∗ = Σ0 ∪ Σ1 ∪ Σ2 ∪ Σ3 ∪ ... = Σi
i=0
Linguagens
Fechamento Reflexivo e Transitivo
Linguagens
Fechamento Reflexivo e Transitivo
Linguagens
Fechamento Reflexivo e Transitivo
Em resumo:
• ∅ é p conjunto constituído por zero cadeias e corresponde à menor linguagem que se pode
definir sobre um alfabeto Σ qualquer;
• Σ∗ é o conjunto de todas as cadeias possíveis de serem construídas sobre Σ e corresponde à
maior de todas as linguagens que pode ser definida sobre Σ;
∗
• 2Σ é o conjunto de todos os subconjuntos possíveis de serem obtidos a partir de Σ∗ , e
corresponde ao conjunto formado por todas as possíveis linguagens que podem ser definidas
sobre Σ.
∗ ∗
• Observe que ∅ ∈ 2Σ , e também que Σ∗ ∈ 2Σ .
Linguagens
Fechamento Reflexivo e Transitivo
Exemplo:
Seja Σ = {a, b, c} e P o conjunto formado pela única propriedade "todas as cadeias são iniciadas
com o símbolo a". Então:
• A linguagem L0 = ∅ é a menor linguagem que pode ser definida sobre Σ;
• A linguagem L1 = {a, ab, ac, abc, acb} é finita e observa P;
• A linguagem L2 = {a}{a}∗ {b}∗ {c}∗ é infinita e observa P;
• A linguagem L3 = {a}{a, b, c}∗ é infinita, observa P e, dentre todas as que observam P,
trata-se da maior linguagem, pois não existe nenhuma outra cadeia em Σ∗ que satisfaça P e
não pertença a L3 ;
• L0 ⊆ Σ∗ , L1 ⊆ Σ∗ , L2 ⊆ Σ∗ , L3 ⊆ Σ∗ ;
∗ ∗ ∗ ∗
• L0 ∈ 2Σ , L1 ∈ 2Σ , L2 ∈ 2Σ , L3 ∈ 2Σ ;
Fechamento Transitivo
Linguagens
Fechamento Transitivo
Gramáticas
Definição
Gramáticas
Definição
Definição
Gramáticas
Definição
G = (V , Σ, P, S)
onde:
• V é o vocabulário da gramática; corresponde a um conjunto (finito e não-vazio) de símbolos;
• Σ é o conjunto (finito e não vazio) de símbolos terminais da gramática, também denominado
alfabeto;
• P é o conjunto (finito e não-vazio) de produções ou regras de substituição da gramática;
• S é a raiz (ou símbolo inicial) da gramática, S ∈ V ;
• Adicionalmente, existe o conjunto dos símbolos não terminais da gramática, que é
N = {V − Σ}
Definição
Gramáticas
Definição
Exemplo:
Forma Sentencial
Gramáticas
Forma Sentencial
Derivações
Gramáticas
Derivações
αρβ ⇒G αγβ
Uma sequência de zero ou mais derivações diretas, como por exemplo, α ⇒
β ⇒ ... ⇒ µ é chamada de derivação, e pode ser abreviada como α ⇒∗ µ.
Derivações
Gramáticas
Derivações
Se, pela aplicação de uma derivação não-trivial à rais S de uma gramática, for
possível obter uma cadeia w formada exclusivamente de símbolos terminais,
diz-se que w, além de ser uma forma sentencial, é também uma sentença, e
denota-se sua derivação por:
S ⇒+ w
Derivações
Gramáticas
Derivações
Exemplo:
Gramáticas
Linguagem Definida pela Gramática
L(G) = {w ∈ Σ∗ |S ⇒+ w}
Exemplo:
Pela inspeção das produções da gramática G1 definida anteriormente, pode-se concluir que:
m n n 2m
L1 (G1 ) = {0 1 2 3 |m ≥ 0 ∧ (n = 0 ∨ n = 1)}
Gramáticas
Linguagem Definida pela Gramática
Exemplo:
Considere G2 = (V2 , Σ2 , P2 , S), com:
• V2 = {a, b, c, S, B, C}
• Σ2 = {a, b, c}
• P2 = {S → aSBC, S → abC, CB → BC, bB → bb, bC → bc, cC → cc}
Gramáticas Equivalentes
Gramáticas
Gramáticas Equivalentes
Exemplo:
Hierarquia de Chomsky
Importância
Hierarquia de Chomsky
Importância
Importância
Hierarquia de Chomsky
Importância
Importância
Hierarquia de Chomsky
Importância
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Regulares
Definição
São linguagens definidas por gramáticas lineares cujas produções permitem
a construção linear de cadeias à direita ou à esquerda. Tais gramáticas gra-
máticas são conhecidas como gramáticas lineares à direita e gramáticas
lineares à esquerda.
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Regulares
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Regulares
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Livre de Contexto
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Sensíveis ao Contexto
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Sensíveis ao Contexto
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Recursivamente Enumeráveis
Classes de Linguagens
Hierarquia de Chomsky
Classes de Linguagens: Linguagens Recursivamente Enumeráveis
Hierarquia de Chomsky
Relação entre as Classes de Linguagens
Hierarquia de Chomsky
Relação entre as Classes de Linguagens
Hierarquia de Chomsky
Relação entre as Classes de Linguagens
Hierarquia de Chomsky
Linguagens, Gramáticas e seus Reconhecedores
Exercícios
Exercícios
Exercícios
Exercícios
2. Quantos símbolos (no mínimo) um alfabeto precisa possuir para poder gerar
1.000 cadeias distintas de comprimento 5?
1 3;
2 4;
3 5;
4 6.
Exercícios
2. Quantos símbolos (no mínimo) um alfabeto precisa possuir para poder gerar
1.000 cadeias distintas de comprimento 5?
1 3;
2 4;
3 5;
4 6.
Resposta: 2.
Exercícios
Exercícios
Exercícios
Exercícios
Exercícios
Exercícios
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ;
2 ΣΣΣ;
3 Σ∗ ;
4 w ∈ Σ∗ ;
5 Σ+ ;
6 L ⊆ Σ∗ ;
∗
7 2Σ ;
∗
8 L ∈ 2Σ
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
3 Σ∗ : o conjunto das cadeias de qualquer comprimento (incluido 0) que se pode construir com
símbolos do alfabeto;
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
3 Σ∗ : o conjunto das cadeias de qualquer comprimento (incluido 0) que se pode construir com
símbolos do alfabeto;
4 w ∈ Σ∗ : uma cadeia construída com símbolos do alfabeto;
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
3 Σ∗ : o conjunto das cadeias de qualquer comprimento (incluido 0) que se pode construir com
símbolos do alfabeto;
4 w ∈ Σ∗ : uma cadeia construída com símbolos do alfabeto;
5 Σ+ : o conjunto de cadeias de comprimento maior ou igual a 1 que se pode construir com os
símbolos do alfabeto;
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
3 Σ∗ : o conjunto das cadeias de qualquer comprimento (incluido 0) que se pode construir com
símbolos do alfabeto;
4 w ∈ Σ∗ : uma cadeia construída com símbolos do alfabeto;
5 Σ+ : o conjunto de cadeias de comprimento maior ou igual a 1 que se pode construir com os
símbolos do alfabeto;
6 L ⊆ Σ∗ : uma linguagem sobre o alfabeto;
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
3 Σ∗ : o conjunto das cadeias de qualquer comprimento (incluido 0) que se pode construir com
símbolos do alfabeto;
4 w ∈ Σ∗ : uma cadeia construída com símbolos do alfabeto;
5 Σ+ : o conjunto de cadeias de comprimento maior ou igual a 1 que se pode construir com os
símbolos do alfabeto;
6 L ⊆ Σ∗ : uma linguagem sobre o alfabeto;
∗
7 2Σ : conjunto de todas as linguagens que se pode definir sobre o alfabeto;
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
3 Σ∗ : o conjunto das cadeias de qualquer comprimento (incluido 0) que se pode construir com
símbolos do alfabeto;
4 w ∈ Σ∗ : uma cadeia construída com símbolos do alfabeto;
5 Σ+ : o conjunto de cadeias de comprimento maior ou igual a 1 que se pode construir com os
símbolos do alfabeto;
6 L ⊆ Σ∗ : uma linguagem sobre o alfabeto;
∗
7 2Σ : conjunto de todas as linguagens que se pode definir sobre o alfabeto;
∗
8 L ∈ 2Σ : uma linguagem pertencente ao conjunto de todas as linguagens que se pode definir
sobre um alfabeto.
Exercícios
7. Seja Σ um alfabeto finito e não vazio. Descrever com suas próprias palavras o que representam os
itens abaixo. Seja preciso e conciso nas suas respostas:
1 σ ∈ Σ: um símbolo do alfabeto;
2 ΣΣΣ: o conjunto de todas as cadeias de comprimento 3 que se pode construir com os
símbolos do alfabeto;
3 Σ∗ : o conjunto das cadeias de qualquer comprimento (incluido 0) que se pode construir com
símbolos do alfabeto;
4 w ∈ Σ∗ : uma cadeia construída com símbolos do alfabeto;
5 Σ+ : o conjunto de cadeias de comprimento maior ou igual a 1 que se pode construir com os
símbolos do alfabeto;
6 L ⊆ Σ∗ : uma linguagem sobre o alfabeto;
∗
7 2Σ : conjunto de todas as linguagens que se pode definir sobre o alfabeto;
∗
8 L ∈ 2Σ : uma linguagem pertencente ao conjunto de todas as linguagens que se pode definir
sobre um alfabeto.
Exercícios
Exercícios
Exercícios
9. Se α ∈ X e β ∈ Y , então:
1 αβ ∈ Y .X
2 βα ∈ X .Y
3 αβ ∈ X .Y
4 βα ∈ Y .X
Exercícios
9. Se α ∈ X e β ∈ Y , então:
1 αβ ∈ Y .X
2 βα ∈ X .Y
3 αβ ∈ X .Y
4 βα ∈ Y .X
Resposta: 3.
Exercícios
Exercícios
Exercícios
P = {S → XY , X → aXb, X → ε, Y → aYbb, Y → ε}
Exercícios
Resposta:
1 Sim, pelos seguintes motivos:
• Todos os elementos da quádrupla foram especificados;
• Σ e N(V − Σ) são finitos e não vazios;
• Σ ∈ V;
• S ∈ N;
• Todos os não terminais possuem regras;
• Todas as regras obedecem ao formato α → β.
Exercícios
Resposta:
1 Sim, pelos seguintes motivos:
• Todos os elementos da quádrupla foram especificados;
• Σ e N(V − Σ) são finitos e não vazios;
• Σ ∈ V;
• S ∈ N;
• Todos os não terminais possuem regras;
• Todas as regras obedecem ao formato α → β.
2 S ⇒ XY ⇒ aXbY ⇒ abY ⇒ abaYbb ⇒ ababb
Exercícios
Resposta:
1 Sim, pelos seguintes motivos:
• Todos os elementos da quádrupla foram especificados;
• Σ e N(V − Σ) são finitos e não vazios;
• Σ ∈ V;
• S ∈ N;
• Todos os não terminais possuem regras;
• Todas as regras obedecem ao formato α → β.
2 S ⇒ XY ⇒ aXbY ⇒ abY ⇒ abaYbb ⇒ ababb
3 Esta gramática gera linguagem das cadeias w construídas sobre o
alfabeto {a, b} de tal forma que:
• w = w1 w2 w3 w4 ;
• w1 e w3 contêm apenas símbolos a (zero ou mais);
• w3 e w4 contêm apenas símbolos b (zero ou mais);
• |w2 | = |w1 |;
• |w4 | = 2 ∗ |w3 |.