A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagens Formais e Autômatos

Apresentações semelhantes


Apresentação em tema: "Linguagens Formais e Autômatos"— Transcrição da apresentação:

1 Linguagens Formais e Autômatos
Aula 03 – Gramáticas Prof.Roberta Fagundes

2 Linguagem Formal Linguagem Formal ou simplesmente Linguagem L sobre um alfabeto Σ, é um conjunto de palavras sobre Σ: L ⊆ Σ* ∅ e { ε } são linguagens sobre qualquer alfabeto Σ* e Σ+ são linguagens sobre um Σ qualquer Conjunto de palíndromos sobre Σ = { a, b } palavras que têm a mesma leitura da esquerda para a direita e vice-versa Ex.: aabb, aaa,bbb

3 Gramática É, basicamente, um conjunto finito de regras as quais, quando aplicadas sucessivamente, geram palavras. O conjunto de todas as palavras geradas por uma gramática define a linguagem. Gramáticas usadas para as linguagens naturais como Português são as mesmas que as usadas para linguagens artificiais. Gramáticas também são usadas para definir semântica de linguagens. Entretanto, em geral, são usados outros formalismos.

4 Gramática

5 Gramática Gramática de Chomsky, Gramática Irrestrita ou simplesmente Gramática é uma quádrupla ordenada: G = (V, T, P, S) V, conjunto finito de símbolos variáveis ou não-terminais T, conjunto finito de símbolos terminais disjunto de V P: (V ∪ T)+ → (V ∪ T)* é uma relação finita, ou seja, P é um conjunto finito de pares. Cada par desta relação é denominado de regra de produção ou simplesmente produção. S, elemento distinguido de V: símbolo inicial ou variável inicial

6 Gramática Linguagem Gerada Seja G = (V, T, P, S) uma gramática
a Linguagem Gerada por G: L(G) ou GERA(G) composta por todas as palavras de símbolos terminais deriváveis a partir do símbolo inicial S Convenções: A, B, C,…, S, T para símbolos variáveis a, b, c,…, s, t para símbolos terminais u, v, w, x, y, z para palavras de símbolos terminais α, β,… para palavras de símbolos variáveis ou terminais

7 Gramática Representação de uma regra de produção (α, β) α → β
Representação abreviada para α → β1, α → β2, ..., α → βn α → β1 | β2 | … | βn Derivação aplicação de uma regra de produção é denominada derivação de uma palavra e formalmente definida como um par de uma relação aplicação sucessiva de regras de produção (fecho transitivo da relação de derivação) permite derivar as palavras da linguagem representada pela gramática

8 Gramática Seja G = (V, T, P, S) uma gramática
Relação de Derivação Seja G = (V, T, P, S) uma gramática derivação é um par da Relação de Derivação denotada por ⇒ com domínio em (V ∪ T)+ e codomínio em (V ∪ T)* um par〈 α, β 〉 é representado de forma infixada: α ⇒ β ⇒ é indutivamente definida como segue: para toda produção da forma S → β (S é o símbolo inicial de G) S ⇒ β para todo par η ⇒ ρ α σ da relação de derivação se α → β é regra de P, então η ⇒ ρ β σ

9 Gramática Portanto, uma derivação é: a substituição de uma subpalavra de acordo com uma regra de produção Sucessivos passos de derivação: ⇒* fecho transitivo e reflexivo da relação ⇒ zero ou mais passos de derivações sucessivos ⇒+ fecho transitivo da relação ⇒ um ou mais passos de derivações sucessivos ⇒i exatos i passos de derivações sucessivos, sendo i um número natural Gramática são consideradas formalismos de geração, pois permitem derivar (gerar) todas as palavras da linguagem que representam.

10 Gramática Gramática, Derivação, Linguagem Gerada: Números Naturais
Seja G = (V, T, P, S) uma gramática V = { N, D } T = { 0, 1, 2,…, 9 } P = { N → D, N → DN, D → 0 | 1 | … | 9 } S=N Gera, sintaticamente, o conjunto dos números naturais Exemplo

11 Gramática Uma derivação do número 243 N ⇒ N → DN DN ⇒ D → 2
24D ⇒ D → 3 243 Regra de Produção P = { N → D, N → DN, D → 0 | 1 | … | 9 } Resposta N →DN →2N →2DN →24N →24D →243 N →DN →9N →9DN →94N →94D →942

12 Gramática Base de Indução: todo dígito é natural
Portanto, S ⇒* 243 S ⇒+ 243 S ⇒6 243 Interpretação indutiva da gramática Base de Indução: todo dígito é natural Passo de Indução: se n é um número natural, então a concatenação de n com qualquer dígito também é um número natural

13 gramática Exemplo S → aSBC → aabCBC → aabBCC → aabbCC → aabbcC - → aabbcc

14 Gramática P = { S → XY, X → XaA | XbB | F Aa → aA, Ab → bA, AY → Ya,
Seja G = ({ S, X, Y, A, B, F }, { a, b }, P, S) na qual: P = { S → XY, X → XaA | XbB | F Aa → aA, Ab → bA, AY → Ya, Ba → aB, Bb → bB, BY → Yb, Fa → aF, Fb → bF, FY → ε } gera a linguagem cujas palavras são tais que a primeira metade é igual à segunda metade: { ww | w é palavra de { a, b }* } Exemplo:baba

15 Gramática Derivação de baba P = { S → XY, X → XaA | XbB | F
S ⇒ S → XY XY ⇒ X → XaA XaAY ⇒ AY → Ya XaYa ⇒ X → XbB XbBaYa ⇒ Ba → aB XbaBYa ⇒ BY → Yb XbaYba ⇒ X → F FbaYba ⇒ Fb → bF bFaYba ⇒ Fa → aF baFYba ⇒ FY → ε baba Resposta S →XY →XaAY →XaYa →XbBaYa →XbaBYa →XbaYba →FbaYba →bFaYba →baFYba → ba ε ba →baba P = { S → XY, X → XaA | XbB | F Aa → aA, Ab → bA, AY → Ya, Ba → aB, Bb → bB, BY → Yb, Fa → aF, Fb → bF, FY → ε }

16 Gramática Derivação de qualquer palavra P = { S → XY,
Resposta S →XY →XbBY → XbYb →FbYb →bFYb →bεb →bb S →XY →XaAY → FaAY →aFAY →aFYa →aεa →aa S →XY →XbBY → XaAbBY →XabABY →XabAYb →XabYab →FabYab →aFbYab → abFYab →abεab →abab S →XY →XaAY →XaYa →XaAaYa →FaAaYa →aFAaYa →aFaAYa →aaFAYa → aaFYaa →aa ε aa →aaaa P = { S → XY, X → XaA | XbB | F Aa → aA, Ab → bA, AY → Ya, Ba → aB, Bb → bB, BY → Yb, Fa → aF, Fb → bF, FY → ε }

17 Gramática Gramática Equivalentes Duas gramáticas G1 e G2 são Gramáticas Equivalentes se e somente se: GERA(G1) = GERA(G2) Convenções: A, B, C,…, S, T para símbolos variáveis a, b, c,…, s, t para símbolos terminais u, v, w, x, y, z para palavras de símbolos terminais α, β,… para palavras de símbolos variáveis ou terminais

18 Gramática G1 = ({S, T}, {a, b}, {S → aTa | bTb, T → aT | bT | ε}, S)
Demonstrando que a palavra aabba pertence as duas gramáticas. G1 = ({S, T}, {a, b}, {S → aTa | bTb, T → aT | bT | ε}, S) G2 = ({S, A, B}, {a, b}, {S → aA | bB, A → aA | bA | a, B → aB | bB | b}, S) em G1: S ⇒ aTa ⇒ aaTa ⇒ aabTa ⇒ aabbTa ⇒ aabba Explicação: S →aTa → aaTa → aabTa → aabbTa → aabb ε a → aabba em G2: S ⇒ aA ⇒ aaA ⇒ aabA ⇒ aabbA ⇒ aabba Explicação S → aA → aaA → aabA → aabbA → aabba

19 Gramática V = { S } T = { 0, 1 } P = { S → 0S1, S → ε }
Exercícios: PROVA 17/05/2013 1.Seja G = (V, T, P, S) uma gramática derivar o número V = { S } T = { 0, 1 } P = { S → 0S1, S → ε } 2.Dada a gramática G = ({S, A, B}, {a, b}, P, S), sendo P = {S → aB | bA, A → a | aS | bAA, B → b | bS | aBB} Que linguagem ela gera? 3.Verifique se que a palavra babaab pertence as duas gramáticas. G1 = ({S, T}, {a, b}, {S → aTa | bTb, T → aT | bT | ε}, S) G2 = ({S, A, B}, {a, b}, {S → aA | bB, A → aA | bA | a, B → aB | bB | b}, S)

20 Gramática V = { S } T = { 0, 1 } P = { S → 0S1, S → ε } Exercício:
1.Seja G = (V, T, P, S) uma gramática V = { S } T = { 0, 1 } P = { S → 0S1, S → ε } Uma derivação do número S ⇒ S → 0S1 0S1 ⇒ S → 0S1 00S11 ⇒ S → 0S1 00S11 ⇒ S → 0S1 000S111 ⇒ S → ε 000111

21 Gramática P = {S → aB | bA, A → a | aS | bAA, B → b | bS | aBB}
Exercício: 2.Dada a gramática G = ({S, A, B}, {a, b}, P, S), sendo P = {S → aB | bA, A → a | aS | bAA, B → b | bS | aBB} Que linguagem ela gera? Exemplo: S ⇒ ab ⇒ abS ⇒ abbA ⇒ abbbAA ⇒ abbbaaS ⇒ abbbaaaB ⇒ abbbaaab

22 Gramática G1 = ({S, T}, {a, b}, {S → aTa | bTb, T → aT | bT | ε}, S)
Exercício: 3.Verifique se que a palavra babaab pertence as duas gramáticas. G1 = ({S, T}, {a, b}, {S → aTa | bTb, T → aT | bT | ε}, S) G2 = ({S, A, B}, {a, b}, {S → aA | bB, A → aA | bA | a, B → aB | bB | b}, S) em G1: S ⇒ bTb ⇒ baTb ⇒ babTb ⇒ babaTb ⇒ babaaTb ⇒ babaab em G2: S ⇒ bB ⇒ baB ⇒ babB ⇒ babaB ⇒ babaaB ⇒ babaab


Carregar ppt "Linguagens Formais e Autômatos"

Apresentações semelhantes


Anúncios Google