Você está na página 1de 10

1

Universidade Estadual do Cear Centro de Cincias e Tecnologia Curso de Cincia da Computao Disciplina: Teoria dos Autmatos e Linguagens Formais Professor: Edson Pessoa Semestre Acadmico 2009.2

Resoluo do 2a NTI

Aluno: Neuton de Oliveira Braga E-mail: neutonjr2008@gmail.com

Jr

Fortaleza - CE 17 de janeiro de 2010

Questes e Respostas
Questo 1
Seja G a gramtica:
S ASB | A aAb | B bBa | ba

(I) (II) (III)

a) D a derivao mais esquerda de aabbba.


Resposta:

S ASB aAbSB aaAbbSB aabbSB aabbB aabbba

por (I) por (II) por (II) por (II) por (I) por (III)

b) D a derivao mais direita de abaabbbabbaa.


Resposta:

S ASB ASbBa ASbbaa AASBbbaa AASbabbaa AAbabbaa AaAbbabbaa AaaAbbbabbaa Aaabbbabbaa aAbaabbbabbaa abaabbbabbaa

por (I) por (III) por (III) por (I) por (III) por (I) por (II) por (II) por (II) por (II) por (II)

c) Construa as rvores de derivao dos itens a e b. 3

4
Resposta: rvore de derivao

S ASB aAbba aaAbbba aabbba S ASB aAbASBbBa abaAbbabbaa abaaAbbbabbaa abaabbbabbaa

Ordem dos Filhos

d) Use a notao de conjunto para denir L(G).


Resposta:

L(G) = {(ai bi )m (bj aj )n | m, i 0 e n, j > 0}

Por exemplo: (a2 b2 )2 (ab)3 ba L(G).

Questo 2
Dada gramtica G seguinte, use a notao de conjunto para denir a linguagem gerada pela mesma.
S aSbb | A A cA | c
Resposta:

L(G) = {am cn b2m | m 0 e n > 0}

Por exemplo: (a20 )c(b)40 L(G).

Questo 3
Construa uma gramtica G sobre = {a, b, c} cuja linguagem denida como L(G) = {am bn ci | m > n + i}.
Resposta:

G : S aS | aC B aBb | C B | aCc |

Questo 4
Seja G a gramtica:
S aSaa | B B bbBdd | C C bd

(I) (II) (III)

a) Qual a linguagem gerada por G?


Resposta:

L(G) = {am b2n+1 d2n+1 a2m | m, n 0}

b) Prove que L(G) o conjunto do item a). Seja o conjunto de palavras X = {am b2n+1 d2n+1 a2m | m, n > 0} sobre o alfabeto = {a, b, d}. Para provar que L(G) = X , inicialmente provaremos que X L(G) e, depois, L(G) X : Essa prova feita ao se mostrar que toda palavra w X derivvel de G. A idia se encontrar um padro de derivao que se aplique a qualquer palavra w X . Assim, se w X ento w tem a forma am b2n+1 d2n+1 a2m , para m, n 0, e pode ser obtida usando-se as seguintes derivaes:
S (a)m S(aa)m (a)m B(aa)m (a)m (bb)n B(dd)n (aa)m (a)m (bb)n C(dd)n (aa)m (a)m (bb)n bd(dd)n (aa)m am b2n+1 d2n+1 a2m
P2) L(G) X : P1) X L(G): Resposta:

por (I) aplicada 'm' vezes, sendo (m 0) por (I) por (II) aplicada 'n' vezes, sendo (n 0) por (II) por (III)

Essa prova feita ao se mostrar que toda palavra w derivvel de G pertence a X . Para isso, caracterizaremos uma palavra u X por meio de algumas relaes, e, por conseguinte, mostraremos que toda sentena obtida de G tambm satisfaz essas relaes. Seja nu (c) o nmero de vezes que o smbolo c aparece numa palavra u. Podemos caracterizar as palavras u X por meio de algumas relaes. So elas: 1. Quanto ao nmero de smbolos da palavra u: nu (a) = 3m, com m 0. nu (b) = nu (d) = 2n + 1, com n 0, ou seja, o nmero de b's e d's mpar. 2. Quanto quantidade mnima de cada smbolo na palavra u. Duas situaes: Quando a ocorre: nu (a) 3 e nu (b) = nu (d) 1. Quando a no ocorre: nu (b) = nu (d) 1.

6 3. Quanto precedncia, as ocorrncias de a's precedem b's, que precedem d's e que, por sua vez, precedem uma quantidade de a's correspondente ao dobro da quantidade do mesmo smbolo no incio da palavra. E, tambm podemos caracterizar, quanto quantidade de cada smbolo e quanto precedncia dos smbolos, uma forma sentencial qualquer, aps aplicar cada uma das regras de derivao (tabela abaixo). Para tanto, considere nu (c) o nmero de vezes que o smbolo c aparece explicitamente na forma sentencial u antes da derivao, nu (c, C) o nmero de vezes que o smbolo c aparece por meio da varivel C na forma sentencial u antes da derivao, e, nu (c) o nmero de vezes que o smbolo c aparece na forma sentencial u depois de aplicada a regra de derivao.

S aSaa

Regra

nu (a) nu (a) + nu (a, S) + 3

nu (b) nu (b) + nu (b, S)

nu (d) nu (d) + nu (d, S)

SB B bbBdd BC C bd

nu (a) + nu (a, B) nu (a) + nu (a, B) nu (a) + nu (a, C) nu (a)

nu (b) + nu (b, B) nu (b) + nu (b, B) + 2 nu (b) + nu (b, C) nu (b) + 1

nu (d) + nu (d, B) nu (d) + nu (d, B) + 2 nu (d) + nu (d, C) nu (d) + 1

A cada um a colocado no incio S , colocado dois a's no nal Mesma precedncia da varivel B Os b's precedem o B , que precede os d's Mesma precedncia da varivel C b precede d

Precedncia

Diante disso, provaremos que as relaes 1, 2 e 3 se mantm para as sentenas obtidas por derivaes a partir de S. Essa prova se dar por induo sobre o nmero de derivaes partindo de S, sendo na anlise de uma forma sentencial especca sempre ser considerada a sentena mais prxima a ela obtida pela derivao das variveis da forma sentencial, um nmero mnimo de vezes, para obter apenas smbolos terminais. Assim, temos:

Varivel Sentena mais prxima


C B S C B S bd C bd B C bd

nu (a)

0 0 0

nu (b)

1 1 1

nu (d)

1 1 1

Desse modo, a induo feita da seguinte forma: Base: Para uma nica derivao, temos dois casos:
S aSaa SB

Regra

nu (a) 0+0+3=3 0+0=0

nu (b) 0+1=1 0+1=1

nu (d) 0+1=1 0+1=1

Sentena mais prxima


abdaa bd

Assim:

Relaes
1 2 3

S aSaa u = abdaa

Regras

nu (a) = 3 = 3 1 nu (b) = nu (d) = 1 = 2 0 + 1 nu (a) = 3 3 nu (b) = nu (d) = 1 1 a precede b que precede d que precede dois a's

SB u = bd nu (a) = 0 = 3 0 nu (b) = nu (d) = 1 = 2 0 + 1 nu (b) = nu (d) = 1 1 b precede d

Logo, as relaes 1, 2 e 3 so vlidas para a base.

7 Suponha que as relaes 1, 2 e 3 so vlidas na anlise para todas as formas sentenciais u obtidas da derivao em n > 0 passos. Assim, seja iu , ju e ku o nmero de vezes que as variveis S , B e C , respectivamente, aparecem em u, ento nu (a), nu (b) e nu (d) so dados por:
Hiptese:

nu (a) = nu (a) + iu .nu (a, S) + ju .nu (a, B) + ku .nu (a, C) = nu (a) = 3x, com x 0 nu (b) = nu (b) + iu .nu (b, S) + ju .nu (b, B) + ku .nu (b, C) = nu (b) + iu + ju + ku = 2y + 1, com y 0 nu (d) = nu (d) + iu .nu (d, S) + ju .nu (d, B) + ku .nu (d, C) = nu (d) + iu + ju + ku = 2y + 1, com y 0
Induo:

Seja u e w formas sentenciais derivadas aps, respectivamente, n e (n + 1) passos:


S w Suw
n n+1

Devemos provar que as relaes 1, 2 e 3 se aplicam a w. Partindo da hiptese de induo, podemos encontrar a seguinte tabela com valores importantes relacionados com a palavra w, especialmente nw (a), nw (b) e nw (d):

Regra
S aSaa SB B bbBdd BC C bd

nw (a) nu (a) + 3 nu (a) nu (a) nu (a) nu (a)

nw (b) nu (b) nu (b) nu (b) + 2 nu (b) nu (b) + 1

nw (d) nu (d) nu (d) nu (d) + 2 nu (d) nu (d) + 1

iw iu iu 1 iu iu iu

jw ju ju + 1 ju ju 1 ju

kw ku ku ku ku + 1 ku 1

nw (a) nu (a) + 3 nu (a) nu (a) nu (a) nu (a)

nw (b) nu (b) nu (b) nu (b) + 2 nu (b) nu (b)

nw (d) nu (d) nu (d) nu (d) + 2 nu (d) nu (d)

Com isso, percebe-se que todos os valores nw (a), nw (b) e nw (d) encontrados satisfazem a relao 1. As relaes 2 e 3 podem ser tambm facilmente vericadas. Logo, L(G) X . Assim, por P1) e P2), temos que L(G) = X .

Questo 5
Seja M o autmato nito determinstico abaixo: M
> <

q0 q1 q2

a q0 q2 q2

b q1 q1 q0

a) D o diagrama do estado de M.
Resposta

b) Exiba as computaes de M para as palavras abaa, bbbabb, bababa e bbbaa.


Resposta

[q0 , abaa]

[q0 , baa] [q1 , aa] [q2 , a] [q2 , ]

[q0 , bbbabb]

[q0 , bababa]

[q1 , ababa] [q2 , baba] [q0 , aba] [q0 , ba] [q1 , a] [q2 , ]

[q0 , bbbaa]

[q1 , bbabb] [q1 , babb] [q1 , abb] [q2 , bb] [q0 , b] [q1 , ] [q1 , bbaa] [q1 , baa] [q1 , aa] [q2 , a] [q2 , ]

c) Quais as palavras do item b que so aceitas por M?


Resposta

Somente as palavras abaa, bababa e bbbaa. d) D a expresso regular de L(M)


Resposta

ER = a bb aa (ba bb aa )

Questo 6
Seja M um DAF cujo diagrama de estados dado por:

9 a) Construa a tabela de transio para M.


Resposta:

M
> <

q0 q1 qa

a q1 q1 q0

b q0 qa q1

b) Quais, dentre as palavras baba, baab, abab e abaaab no so aceitas por M?


Resposta:

[q0 , baba]

[q0 , abab]

[q0 , aba] [q1 , ba] [qa , a] [q0 , ] [q1 , bab] [qa , ab] [q0 , b] [q0 , ]

[q0 , baab]

[q0 , abaaab]

[q0 , aab] [q1 , ab] [q1 , b] [qa , ] [q1 , baaab] [qa , aaab] [q0 , aab] [q1 , ab] [q1 , b] [qa , ]

Apenas as palavras baba e abab no so aceitas por M. c) D a ER para L(M).


Resposta:

ER = b aa b((ba b) + (ab aa b) )

Questo 7
D um diagrama de estados para o DAF que aceita as seguintes linguagens. a) (ab) ba
Resposta:

b) (ab a)

10
Resposta:

Você também pode gostar