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:
(I)
(II)
(III)

S ASB |
A aAb |
B bBa | ba

a) D a derivao mais esquerda de aabbba.


Resposta:

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

S ASB
aAbSB
aaAbbSB
aabbSB
aabbB
aabbba

b) D a derivao mais direita de abaabbbabbaa.


Resposta:

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

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

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


3

4
Resposta:
rvore de derivao

Ordem dos Filhos

S
ASB
aAbba
aaAbbba
aabbba
S
ASB
aAbASBbBa
abaAbbabbaa
abaaAbbbabbaa
abaabbbabbaa

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:
(I)
(II)
(III)

S aSaa | B
B bbBdd | C
C bd

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).


Resposta:

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 :
P1) X L(G):

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

por (I) aplicada 'm' vezes, sendo (m 0)


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

P2) L(G) X :

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,
n0u (c) o nmero de vezes que o smbolo c aparece na forma sentencial u depois de aplicada a
regra de derivao.

Regra

Precedncia

S aSaa

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

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

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

SB

nu (a) + nu (a, B)

nu (b) + nu (b, B)

nu (d) + nu (d, B)

B bbBdd

nu (a) + nu (a, B)

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

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

BC

nu (a) + nu (a, C)

nu (b) + nu (b, C)

nu (d) + nu (d, C)

C bd

nu (a)

nu (b) + 1

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

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

C
B

n0u (a)

n0u (b)

n0u (d)

bd
C
bd
B
C
bd

Desse modo, a induo feita da seguinte forma:


Base: Para uma nica derivao, temos dois casos:

Regra

S aSaa
SB

n0u (a)
0+0+3=3
0+0=0

n0u (b)
0+1=1
0+1=1

n0u (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

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

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

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 n0u (a), n0u (b) e n0u (d) so
dados por:
Hiptese:

n0u (a) = nu (a) + iu .nu (a, S) + ju .nu (a, B) + ku .nu (a, C) = nu (a) = 3x, com x 0
n0u (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
n0u (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:


n+1

S w
n

Suw

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 n0w (a), n0w (b) e n0w (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

n0w (a)
0
nu (a) +
n0u (a)
n0u (a)
n0u (a)
n0u (a)

n0w (b)
n0u (b)
n0u (b)
0
nu (b) + 2
n0u (b)
n0u (b)

n0w (d)
n0u (d)
n0u (d)
0
nu (d) + 2
n0u (d)
n0u (d)

Com isso, percebe-se que todos os valores n0w (a), n0w (b) e n0w (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
>
<

a) D o diagrama do estado de M.
Resposta

q0
q1
q2

a
q0
q2
q2

b
q1
q1
q0

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 , bababa] ` [q1 , ababa]


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

[q0 , bbbabb] ` [q1 , bbabb]


[q1 , babb]
[q1 , abb]
[q2 , bb]
[q0 , b]
[q1 , ]
[q0 , bbbaa] ` [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 , aba]


[q1 , ba]
[qa , a]
[q0 , ]
[q0 , abab] ` [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