Você está na página 1de 3

Lista de Linguagens Formais e Automatos Lema do Bombeamento para LRs Linguagens Livres de Contexto

Profs Edward Hermann Haeusler e Bruno Lopes 12 de Outubro de 2011


Justique as suas respostas sempre. Quest oes:

Lema do Bombeamento
1. A linguagem L = {ak bk cn /0 k 1000 e n > 0} e regular. No entanto, Deivid P e Torto, usando o lema do bombeamento, obteve a seguinte prova de que L n ao e regular. Aponte o erro na prova de Deivid P e Torto e argumente que a linguagem e de fato regular. Suponho que L e regular, ent ao vale o lema do bombeamento. Isto e, existe um n umero positivo m tal que para qualquer palavra de L com tamanho maior que m, tem-se u,v e z , tal que , = uvz , |uv | m, |v | > 0 e para todo i N at, uv i z L. Ora, a900 b900 cm tem tamanho maior que m, ent ao, uv s o tem as e portanto uv 0 z que e o mesmo que uz e da forma a900r b900 cm com r > 0. Como a900r b900 cm L, temos a conclus ao desejada. 2. Usando o lema de bombeamento para linguagens regulares, prove que a linguagem das palavras sobre {a, b, c, d} com a mesmo n umero de ocorr encias de cada um dos s mbolos em n ao e regular. 3. Usando o lema do bombeamento para linguagens regulares, prove que e primo} n ao e regular. Dica: Um n umero n ao e primo se pode ser {ap /p expresso como a multiplica c ao de dois n umeros, ambos diferentes de 1. Escolha um primo p maior que k e mostre que uv h z , com h = u + z , mostrando que o resultado so bombeamento n ao pertence a linguagem. 4. J a sabemos, inclusive pelo tem acima, que a linguagem LnP = {ap /p n ao e primo} n ao e regular, pois e o completemento em rela c ao a {a} de uma linguagem que n ao e regular. Pede-se provar, diretamente via o uso do lema do bombeamento, que LnP n ao e regular. 5. As quest oes abaixo s ao resolvidas com a aplica c ao direta do lema do bombeamento. Escolha uma palavra dependendo de k , do lema do bombea-

mento, e mostre que existe um bombeamento da decomposi c ao uvz que n ao pertence a linguagem. (a) {an bn /n N at} Dica: escolha ak bk e mostre que uv 0 z n ao pertence a linguagem. (b) {an bm /n > m} Dica: escolga ak+1 bk e mostre que uv 0 z n ao pertence a linguagem. (c) {an /n N at}, com m xo, ou seja considere uma linguagem para m cada m. Dica: escolha ak e mostre que uv 2 z n ao pertence a linguagem. (d) {ww/w {a, b} } Dica: escolha ak bk ak bk e mostre que uv 0 z n ao pertence a linguagem. (e) (Dif cil) {w1 w2 /w1 = w2 , wi {a, b} }. 6. Se voc e j a leu sobre o lema do bombeamento para linguagens LIVRES DE CONTEXTO, veja esta quest ao: Outra demonstra c ao errada: Wanderley Perdedor Luxemburgo fez a seguinte demonstra c ao: Vamos provar que L = {an b3n /k > 0 e n > 0} n ao e livre de contexto1 . Supomos que L e L.C., ent ao existe k > 0 tal que, todo L com tamanho maior que k , existe a decomposi c ao em u, x, v , y e z ( = uxvyz ) com |xvy | k e |xy | > 0, tal que para todo i N at uxi vy i z L. Ora, ak b3k tamanho maior que k , portanto vale uxvyz = ak b3k . Como |xvy | k ent ao xy ou s o cont em as ou s o cont em bs. Em ambos os casos, uvz = ux0 vy 0 z n ao e da forma ap b3p para algum p N at.
m

Linguagens Livres de Contexto


1. Considere a seguinte gram atica para express oes aritm eticas sobre os identicadores ae b. E -> E + T | T T -> T * F | F F -> (E) | a | b | c Dena um aut omato de pilha que aceite a linguagem das express oes aritm eticas. Dica: Utilize a gram atica acima para construir o APND. Exiba duas arvores de deriva c ao distintas para a palavra a+b*a. Dica: Identique duas deriva c oes mais a esquerda distintas. O que deve ser feito para que o APND do tem acima n ao possuir transi c oes (empilhamento ou desempilhamento sem leitura, ou lendo ) ?? Justique com exemplo. Dica: Retire recurs oes mais a esquerda. Mostre a gram atica em forma normal de Greibach derivada da gram atica acima.
1 Sabemos

que esta linguagem e L.C. , j a vimos uma gram atica para ela em sala

2. Considere a seguinte gram atica para comando em uma linguagem de programa c ao, onde E refere-se ao n ao-terminal da gram atica da quest ao acima. C -> if V then C | if V then C else C | V = E V -> a | b | c (a) Exiba duas arvores de deriva c ao distintas para a palavra abaixo mostrando que a gram atica e amb gua. (1,5 pts) if a then if b then c=a else b=c (b) A gram atica abaixo n ao e ambigua e gera a mesma linguagem gerada pela gram atica acima. De fato ela retira a ambiguidade da mesma de forma a associar cada else com o then mais pr oximoainda n ao associado. Explique como isso foi poss vel em termos puramente gramaticais. (1 pto) C -> A | N A -> if V then A else A | V = E N -> if V then C | if V then A else N 3. Marque (V) ou (F) justicando (2,5 pts): A uni ao de linguagens geradas por gram atica e gerada por gram atica tamb em. A uni ao de Linguagens Livres de Contexto e Livre de Contexto. Toda linguagem L.C. pode ser aceita por um A.P.N.D. com somente um estado. Se uma L e livre de contexto ent ao seu complementar em rela c ao a , ou seja L tamb em e LC. As linguagens sens veis ao contexto2 nem sempre s ao decid veis3 Toda linguagem regular e aceita por um aut omato de pilha determin stico. 4. Apresente gram aticas livres de contexto para gerar cada uma das linguagens abaixo: (a) {an b3n /n N at}. Dica: e uma varia c ao da gram atica para an bn . n m (b) {a b /n < m}. Dica: A linguagem e concatena c ao de uma regular e an bn . (c) {an bm /m < n}. Dica: Veja dica acima. (d) {an bm /m = n}. Este e mais dif cil que os outros. (e) A linguagem das palavras com a e b, onde o n umero de ocorr encia de as e bs e igual. 5. Se L1 e L2 s ao livres de contexto, mostre que L1 .L2 e L1 s ao livres de contexto. BOA LISTA
por gram aticas onde todas as regras 1 2 , s ao tais que |1 | |2 | que uma linguagem e decid vel se existe um programa capaz de reconhec e-la, isto e, determinar as palavras que pertencem e as que n ao pertencem a mesma
3 Lembre-se 2 Geradas

Você também pode gostar