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
Jr
Questes e Respostas
Questo 1
Seja G a gramtica:
S ASB | A aAb | B bBa | ba
por (I) por (II) por (II) por (II) por (I) por (III)
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)
4
Resposta: rvore de derivao
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:
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
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
SB B bbBdd BC C bd
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:
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
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
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:
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
iw iu iu 1 iu iu iu
jw ju ju + 1 ju ju 1 ju
kw ku ku ku ku + 1 ku 1
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
[q0 , abaa]
[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 , ]
ER = a bb aa (ba bb aa )
Questo 6
Seja M um DAF cujo diagrama de estados dado por:
M
> <
q0 q1 qa
a q1 q1 q0
b q0 qa q1
[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 , ]
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: