Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


alfabeto e linguagem, Notas de estudo de Informática

Automato . . . . . . . O arquivo nao exibe imagem mas ainda sim pode ser baixado.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 10/02/2010

gustavo-dias-11
gustavo-dias-11 🇧🇷

4.7

(7)

46 documentos

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Alfabetos e Linguagens
Alfabeto
conjunto finito não vazio de símbolos
símbolo é um elemento qualquer de um alfabeto
usualmente designado por Σ
exemplos: Σ = {a,b}
Σ = {0,1,2,3,4,5,6,7,8,9}
Cadeia (string, palavra)
concatenação de símbolos de um alfabeto Σ
exemplos: aab , 123094
cadeia vazia: não contém nenhum símbolo, anotada com ε
Comprimento de cadeia
número de símbolos de uma cadeia.
exemplos: |aab| = 3 , |123094|=6 , |ε|=0
Concatenação de cadeias
define-se a concatenação z de uma cadeia x com uma cadeia y,
como sendo a concatenação dos símbolos de ambas as cadeias,
formando a cadeia xy. Obs: |z| = |x| + |y|
exemplo: x = abaa; y = ba z = abaaba
x = ba; y = ε z = ba
Potências de um alfabeto
Denotamos Σ
k
o conjunto de todas as palavras de comprimento k, sobre o alfabeto Σ. Exemplos,
para o alfabeto Σ = {0, 1} :
Σ
0
= { ε } Σ
1
= {0, 1} Σ
2
= {00, 01, 10, 11}
Σ
3
= {000, 001, 010, 011, 100, 101, 110, 111}
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe alfabeto e linguagem e outras Notas de estudo em PDF para Informática, somente na Docsity!

Alfabetos e Linguagens

Alfabeto

conjunto finito não vazio de símbolos

símbolo é um elemento qualquer de um alfabeto

usualmente designado por Σ

exemplos: Σ = {a,b}

Σ = {0,1,2,3,4,5,6,7,8,9}

Cadeia (string, palavra)

concatenação de símbolos de um alfabeto Σ

exemplos: aab , 123094

cadeia vazia: não contém nenhum símbolo, anotada com ε

Comprimento de cadeia

número de símbolos de uma cadeia.

exemplos: |aab| = 3 , |123094|=6 , |ε|=

Concatenação de cadeias

define-se a concatenação z de uma cadeia x com uma cadeia y,

como sendo a concatenação dos símbolos de ambas as cadeias,

formando a cadeia xy. Obs: |z| = |x| + |y|

exemplo: x = abaa; y = ba ⇒ z = abaaba

x = ba; y = ε ⇒ z = ba

Potências de um alfabeto

Denotamos Σ k^ o conjunto de todas as palavras de comprimento k, sobre o alfabeto Σ. Exemplos, para o alfabeto Σ = {0, 1} :

Σ^0 = { ε } Σ^1 = {0, 1} Σ^2 = {00, 01, 10, 11}

Σ^3 = {000, 001, 010, 011, 100, 101, 110, 111}

Fechamento de um Alfabeto Fecho transitivo e reflexivo: Σ ***** É o conjunto de todas as palavras sobre o alfabeto Σ Σ *****^ = Σ^0 ∪ Σ^1 ∪ Σ^2 ∪ Σ^3 ... Fecho transitivo é obtido excluindo a palavra vazia: Σ + Σ +^ = Σ^1 ∪ Σ^2 ∪ Σ^3 ... Σ *****^ = Σ + ∪ { ε } Para o alfabeto Σ = {0, 1} Σ *****^ = { ε, 0, 1, 00, 01, 10, 11, ... } Σ +^ = {0, 1, 00, 01, 10, 11, ...}

Linguagem

Coleção decadeias de símbolos, de comprimento finito.

Estas cadeias são denominadassentenças da linguagem,

e são formadas pela justaposição de elementos individuais, os símbolos ou átomos da linguagem. Exemplos: {ab, bc} ( linguagem formada pelas cadeias ab e bc)

{abn, anb; n ≥ 0} ( linguagem formada por todas as cadeias que começam coma seguido

de um número qualquer deb's ou

começam com um número qualquer dea's seguidos de umb,

por exemplo a, ab, abb, b, aab, aaab, ...)

Mecanismos de Representação de Linguagens

  • enumeração das cadeias de símbolos que formam as suas sentenças (somente linguagens finitas podem ser representadas por este método)
  • conjunto de leis de formação das cadeias: Gramática
  • regras de aceitação de cadeias: Reconhecedor

Exemplos:

  • enumeração

L = {a, b, ab, ba} ( linguagem formada pelas cadeias a, b, ab e ba)

  • leis de formação – gramática G

G = ( {A, B}, {0, 1}, P, A) P: { A → 0A A → B B → 1B B → ε } gera L(G) = {0n 1 m, n ≥ 1 m ≥ 0}

  • regras de aceitação – um reconhecedor para a linguagem L acima

... deverá verificar se a palavra começa coma oub e se tiver mais um símbolo deverá terminar comb

oua, respectivamente e, também não poderá ter mais símbolos caso pertença a linguagem L.

No contexto da Teoria das Linguagens Formais e Autômatos:

Problema: dados um alfabeto Σ e uma linguagem L sobre Σ,decidir se

uma dada palavra w∈Σ pertence ou não a L.

o fecho de Kleene consiste de zero ou mais concatenações de L, enquanto o fecho positivo corresponde a uma ou mais concatenações

Exemplo suponha L = {1} sobre o alfabeto Σ = { 0, 1 }. Temos

L^0 = {ε}, L^1 = {1}, L^2 = {1^2 } assim L*^ = {ε, 1, 1^2 , 1^3 , ...} e também L+^ = { 1, 1^2 , 1^3 , ...}

  • Complemento^ L^ =^ Σ −^ L

Para as linguagens L 1 , L 2 e L 3 sobre um mesmo alfabeto Σ:

L 1 (L 2 ∪ L 3 ) = L 1 L 2 ∪ L 1 L 3 e (L 2 ∪ L 3 )L 1 = L 2 L 1 ∪ L 3 L 1

A concatenação não interage com a intersecção da mesma forma que a união. Para ilustrar, considere que L 1 = {ε, 1}, L 2 = {ε} e L 3 = {1}

Note que L 1 L 2 = {ε, 1}, e L 1 L 3 = {1, 1^2 }, e assim L 1 L 2 ∩ L 1 L 3 = {1}.

Por outro lado, L 2 ∩ L 3 = ∅ e assim L 1 (L 2 ∩ L 3 ) = ∅

A concatenação e a diferença de linguagens também são incompatíveis.

Em geral temos: L 1 (L 2 - L 3 ) ≠ L 1 L 2 - L 1 L 3

No exemplo, L 1 (L 2 - L 3 ) = ∅ enquanto L 1 L 2 - L 1 L 3 = {ε}

Gramáticas

  • dispositivos de geração de sentenças das linguagens que definem
  • caracterizadas como quádruplas ordenadas: G = (V, Σ, P, S), onde: V: é um alfabeto finito, conhecido como vocabulário não – terminal. Os símbolos de V são usados como nomes para categorias sintáticas. Temos como exemplo: em Português – sentença, predicado, ..., verbo; e em linguagem de programação - programa, bloco de comandos, procedimentos, etc. Σ: é um alfabeto finito conhecido como vocabulário terminal. Os símbolos de Σ são aqueles que aparecem nos programas de uma linguagem de programação, ou em palavras na linguagem natural como o Português. P: é um conjunto finito de regras ou produções da forma W → W' onde: W ∈ (V ∪ Σ)+, isto é o conjunto de cadeias não vazias sobre V e Σ e W'∈ (V ∪ Σ)*. A interpretação da regra W → W'

é queW pode ser substituído por W' sempre que W aparecer.

S: é o símbolo inicial , ou o axioma, da gramática. S é o nome da categoria sintática principal.

Como exemplo em Português: S = sentença.

Obs.:

ƒ V ∩ Σ = ∅; V ∪ Σ = T, um conjunto com todos os símbolos terminais e não-terminais; ƒ os elementos de Σ, são os terminais e representados por letras minúsculas a, b, c, ... ƒ os elementos de V são os não – terminais e representados por letras maiúsculas A, B, C, ... ƒ cadeias mistas, ou seja cadeias C ∈ (V ∪ Σ)*^ são representadas por letras gregas α, β, ...

As gramáticas devem ser vistas como sistemas de substituição, nos quais as produções indicam as substituições possíveis para os não terminais.

Exemplos:

G = ( {S,A,B}, {a,b}, P, S), portanto: V = {S, A, B}; Σ = {a, b}; P = { 1) S → AB;

  1. A → a;
  2. B → b } S : estado inicial,

desta forma:^ S^ AB^ aB^ ab

( 1 ) ( 2 ) ( 3 ) → → → , única cadeia gerada

Um exemplo com a linguagem natural, empregando uma gramática que conhecemos, considere:

V = { sentença, sujeito, predicado, artigo, verbo, substantivo, complemento}

Σ = { peixe, isca, mordeu, o, a}

P = { 1. Sentença → sujeito, predicado;

  1. sujeito → artigo substantivo;
  2. predicado → verbo, complemento;
  3. complemento → artigo, substantivo;
  4. artigo → o;
  5. artigo → a;
  6. substantivo → peixe;
  7. substantivo → isca;
  8. verbo → mordeu. } S = sentença

Para gerar uma sentença sintaticamente correta, temos a árvore de derivação:

portanto a linguagem gerada por G 2 é:

bac,bbac, bacc, bbbaccc, etc., isto é,

L( G 2 )={ b ac /i, j ≥ 1 } i j .

A árvore de derivação sintática para a cadeiabbaccc será:

a produção: 1 → 2 → 3 → 4 → 5 → 5 → 6 gera a cadeia bbaccc.