Lema Do Bombeamento

download Lema Do Bombeamento

of 12

Transcript of Lema Do Bombeamento

  • 5/20/2018 Lema Do Bombeamento

    1/12

    4

    Linguagens que nao sao regulares

    O objetivo deste captulo e desenvolver um metodo que nos permita mostrar que

    uma dada linguagem nao e regular. Nossa estrategia sera a seguinte. Em primeiro lu-

    gar, mostraremos que toda linguagem regular satisfaz certa propriedade, conhecida como

    propriedade do bombeamento. Assim, para provar que uma dada linguagem nao e regular

    basta constatar que nao satisfaz esta propriedade. Isto e, provaremos que uma linguagem

    naoe regular atraves de uma demonstracao por contradicao.

    1. Propriedade do bombeamento

    Comecamos por introduzir a terminologia basica e obter uma primeira aproximacao para

    a propriedade de bombeamento das linguagens regulares.

    Considere o automatoMda figura abaixo.

    I q1 0 1

    q2 1 0

    q3 0

    1

    q4 0

    1

    q5 1 0

    q6

    0,1

    q7

    0,1

    FIGURA1

    Entre as palavras aceitas por este automato temos:

    w= 01011001.

    Se considerarmos o caminho indexado pela palavra w = 01011001, vemos que inclui umciclo que comeca emq2 e acaba em q4. Este ciclo correspondea subpalavray = 101 de

    01011001. Mais precisamente, podemos decomporw na forma

    w= 0

    x

    101

    y

    1001

    z

    =xyz.

    Observe que podemos percorrer o ciclo indexado por y varias vezes e ainda assim obteruma palavra que e aceita porM. Por exemplo, percorrendo o ciclo 3vezes obtemos

    xy3z = 0

    x

    101

    y

    101

    y

    101

    y

    1001

    z

    ,

    1

  • 5/20/2018 Lema Do Bombeamento

    2/12

    2 Linguagens que nao sao regulares Captulo 4

    quee aceita porM. De fato, podemos ate remover a subpalavray de w e ainda assim con-tinuaremos com uma palavra aceita pelo automato, neste casoxz = 01001. Resumindo,verificamos que a palavra

    w = xyz e aceita por

    Me que admite uma subpalavra

    y = que pode ser removida ou repetida varias vezes sem que a palavra resultante fique fora deL(M). Sempre que isto acontecer diremos quey e uma subpalavra dew que ebombeavelemL(M).

    Naturalmente, o ponto chave e o fato da subpalavra y indexar um ciclo no grafo deM. Na verdade, esta nao e a unica subpalavra bombeavel de w uma vez que podemosconsiderar o ciclo como comecando em qualquer um de seus vertices. Assim, se tomarmos

    o incio do ciclo como sendo q4, conclumos que a subpalavra 110 tambeme bombeavel;istoe,

    010(110)k01 L(M) para todo k 0.

    E conveniente estabelecer a nocao de bombeabilidade em um contexto mais geral que

    o das linguagens regulares. SejaL uma linguagem em um alfabeto e seja w L.Dizemos quey e umasubpalavra dew bombeavel emLse

    (1) y=;(2) existemx, z tais quew = xyz;(3) xykz L para todok 0.

    Aunica funcao da condicao (1)e excluir o caso trivial y = da definicao de palavrabombeavel; ja (2) significa que y e subpalavra de w. Quanto a (3), o ponto crucial aobservar e que, para que seja y seja bombeavel e preciso que seja possvel omiti-la ourepeti-la no interior de w tantas vezes quanto desejarmos sem que a palavra resultantedeixe de pertencer a L. Para entender melhor este ponto, considere o automatoM dafigura 2.

    I q1 1

    0

    q2 0

    1

    q3 0

    1

    q4 0

    1

    q5 0

    1

    q6

    0,1

    q7

    0,1

    FIGURA2

    E claro que 0 e uma subpalavra de 10 L(M). Alem disso, podemos repetir asubpalavra 0 varias vezes e ainda assim obter uma palavra emL(M); de fato,1,10,102,103 e104 pertencem aL(M). Apesar disto,0naoe uma subpalavra de10bombeavel emL(M), porque sek 5 entao10k /L(M).

    Permanecendo com o automatoM da figura 2, vemos que

    L(M) = {1, 10, 102, 103, 104}.

    Em particular, nao ha nenhuma palavra deL(M)que admita uma subpalavra bombeavel.Isto nao e surpreendente. De fato, se uma linguagem admite uma palavra que tem uma

    subpalavra bombeavel, entaoe claro que a linguageme infinita. Ha dois pontos importantes

    nesta discussao que voce nao deve esquecer:

    nenhuma palavra de uma linguagem finita L admite subpalavra bombeavel emL;

  • 5/20/2018 Lema Do Bombeamento

    3/12

    S. C. Coutinho 3

    para que uma subpalavra seja bombeavel e preciso que possa ser repetida qual-quer numero de vezessem que a palavra resultante saia de L.

    2. Lema do bombeamento

    Diante do que acabamos de ver, uma pergunta se impoe de maneira natural:

    dada uma linguagemL, como achar uma palavra deLque admita umasubpalavra bombeavel?

    Em primeiro lugar, esta pergunta so faz sentido se L for infinita. Alem disso, vamosnos limitar, de agora em diante, as linguagens regulares. Sendo assim, vamos supor que

    L e uma linguagem infinita que e aceita por um automato finito determinstico Mno alfabeto.

    Se conhecemosMo problemae facil de resolver: basta achar um ciclo em M. Massuponha que, apesar de conhecer L, sabemos de Mapenas que tem n estados. Sera que esta

    informacaoe suficiente para achar uma palavra de Lque tenha uma subpalavra bombeavelemL? A resposta e sim, e mais uma vez trata-se apenas de achar um ciclo em M. So que,como nao conhecemosM, nao temos uma maneira de identificar qual e este ciclo. Mesmoassim somos capazes de saber que um tal ciclo tem que existir. Fazemos isto recorrendo

    a um princpio que aprendemos a respeitar ainda crianca, quando brincamos de danca das

    cadeiras.

    PRINCIPIO DA CASA DO POMBO. Se, em um pombal, ha mais pombos que casas,

    ent ao dois pombos v ao ter que ocupar a mesmo casa.

    Nossa aplicacao deste princpio depende de termos, de um lado uma linguagem in-

    finita, de outro um automatofinitodeterminstico. De fato, comoLe infinita, tera palavrasde comprimento arbitrariamente grande. Em particular, podemos escolher uma palavra wcujo comprimento e muito maior que o numeron de estados deM. Considere o caminho

    indexado porw no grafo deM. ComoM temn estados ew tem muito mais do que nsmbolos, este caminho tem que passar duas vezes por um mesmo estado. Mas um cam-

    inho no grafo de Mno qual ha estados repetidos tem que conter um ciclo. Entretanto,ja sabemos que um ciclo no caminho indexado por w nos permite determinar uma sub-palavra bombeavel dew. Com isto provamos a seguinte propriedade do bombeamentodaslinguagens regulares:

    Seja M um automato finito determinstico. Sew e uma palavra deL(M) de comprimento maior que o numero de estados do automato,entaow admite uma subpalavra bombeavel emL(M).

    O lema do bombeamento, quee o principal resultado deste captulo, nao passa de uma

    versao refinada da propriedade do bombeamento enunciada acima.

    LEMA DO BOMBEAMENTO. SejaMum automato finito determinstico comnestadose sejaLa linguagem aceita porM. Sew e uma palavra deLcom comprimento maior ouigaul anent ao existe uma decomposic ao dew na formaw = xyz, onde

    (1) y=;(2) |xy| n;(3) xykz L para todok 0.

    Antes de passar a demonstracao, observe que (1) e (3) nos dizem apenas que y esubpalavra de w bombeavel em L. A unica novidade e a condicao (2). Esta condicao

  • 5/20/2018 Lema Do Bombeamento

    4/12

    4 Linguagens que nao sao regulares Captulo 4

    tecnica permite simplificar varias demonstracoes de nao regularidade, reduzindo o numero

    de casos que precisam ser considerados.

    DEMONSTRACAO . A estrategia adotada no incio da secao consistiu em considerar ocaminho no grafo de Mindexado porw. Como observamos no captulo 2, istoe formal-izado atraves da computacao deMdeterminada porw.

    Seja o alfabeto deM. Entao podemos escrever w = 1 n, onde 1, . . . , nsao elementos de nao necessariamente distintos. Sejaq1 o estado inicial de M. Temos,entao, uma computacao

    (q1, w) = (q1, 1 n) (q2, 2 n) (qn, n) (qn+1, ).

    Observe que tambem nao estamos supondo que os estadosq1, . . . , q n+1sao todos distintos.De fato, dois destes estados tem que coincidir, porqueM so temn estados. Digamos queqi = qj , onde1 i < j n + 1. Qualquer escolha dei e j que satisfaca as condicoesacimae suficiente para provar (1) e (3); mas nao (2). Para garantir (2) precisamos escolher

    qj como sendo o primeiro estado que coincide com algum estado anterior. Assumindodesde ja quei e j sao inteiros entre1 e n+ 1, precisamos fazer a seguinte hipotese sobre

    j:

    Hipotese: j e o menor inteiro para o qual existe i < j tal queqi = qj .

    Levando tudo isto em conta, podemos reescrever a computacao na forma

    (q1, w) = (q1, 1 n) (qi, i n)

    (qj , j n) (qn, n) (qn+1, ).

    O ciclo que procuramos esta identificado pelo trecho da computacaoque vaide qia qj =qi.Isto sugere que devemos tomar

    x= 1 i1, y= i j1 e z= j n+1.

    Alem disso, comoi < j temos que

    y= i j1 =,

    de forma que a condicao (1)e satisfeita. Usando esta notacao, a computacao fica

    (q1, w) = (q1,xyz) (qi, yz)

    (qj , z) (qn+1, ).

    Note que, comoqi = qj , a palavray leva a computacao do estadoqi ao estadoqi. Destaforma, repetindo ou omitindoy, podemos fazer este trecho repetir-se varias vezes no inte-rior da computacao sem alterar o estado em que computacao termina, que continuara a ser

    qn+1. Por exemplo, repetindoyuma vez temos a palavraxy2z, que da lugara computacao

    (q1, xy2z) (qi, y

    2z) (qj , yz) = (qi, yz) (qj , z)

    (qn+1, ).

    Comoxyz L(M) por hipotese, entaoqn+1 e um estado final de M. Portanto,xy2z

    L(M). De maneira semelhantexykz L(M)para todok 0, o que prova (3).Falta-nos apenas explicar porque (2) vale. Mas, |xy| = j 1. Entretanto, q

    j e o

    primeiro estado que coincide com algum estado anterior. Isto e, q1, . . . , q j1 sao todosestados distintos. ComoMtem nestados, isto significa quej 1n. Portanto, |xy| n,o que completa a demonstracao.

    Antes de passaras aplicacoese preciso chamar a atencao para o fato de que a recproca

    do lema do bombeamento e falsa. Istoe, o fato de uma linguagem L conter palavras queadmitem subpalavras bombeaveisn aogarante queLseja regular. Portanto, naoe possvel

  • 5/20/2018 Lema Do Bombeamento

    5/12

    S. C. Coutinho 5

    provar regularidade usando o lema do bombeamento. Voltaremos a discutir este ponto no

    exemplo 5.

    3. Aplicacoes do lema do bombeamento

    O maior obstaculoa aplicacao do lema do bombeamento esta na interpretacao correta do

    seu enunciado. SejaM um automato finito determinstico com n estados. Segundo olema do bombeamento, dada qualquerpalavraw L(M)de comprimento maior que nexisteuma subpalavray = que e bombeavel em L(M). Note que o lema nao diz quequalquer subpalavra dew e bombeavel, mas apenas queexisteuma subpalavra dew que ebombeavel.

    Por exemplo, considere a linguagem L no alfabeto {0} formada pelas palavras decomprimento par. E facil construir um automato finito com2estados que aceitaL, portantoestae uma linguagem regular en= 2. Vamos escolher uma palavra deLde comprimentomaior que2; digamos,06. Naoe verdade que qualquer subpalavra de06 e bombeavel em

    L. Por exemplo,0e uma subpalavra de06, ja que temos uma decomposicao06 = 02 003;mas bombeando0 obtemos

    02 0k 03 = 05+k,

    que nao pertence a L se k por par. De fato, para que a subpalavra seja bombeavel emL e preciso que tenha comprimento par. Assim, neste exemplo, poderamos escolher assubpalavras02,04 ou06 para bombear.

    Tudo isto pode parecer obvio. O problemae que um nvel adicional de dificuldade

    surge nas aplicacoes, porque desejamos usar o lema para provar que uma linguagem naoe

    regular. Imagine que temos uma linguagem L e que, por alguma razao, desconfiamos queLnaoe regular. Para provar queLde fatonaoe regular podemos proceder por contradicao.

    Suponha, entao, por contradicao, queL seja aceita por algum automato finito deter-minstico comnestados. De acordo com o lema do bombeamento qualquer palavra w L

    de comprimento maior que n tera que admitir uma subpalavra bombeavel. Assim, paraobter uma contradicao, basta acharuma palavra emL (o que e uma boa notcia!) que naotenhanenhumasubpalavra bombeavel (o quee uma ma notcia!).

    Umultimo comentario antes de passar aos exemplos. Neste esboco de demonstracao

    por contradicao supusemos queL e aceita por um automato finito determinstico com nestados. Entretanto, ao fazer esta hipotese nao podemos especificar um valor numerico

    paran. De fato, se escolhermosn = 100, tudo o que teremos provado e que a linguagemnao pode ser aceita por um automato com100 estados. Mas nada impediria, em princpio,que fosse aceita por um automato com101 estados. Resta-nos aplicar estas consideracoesgerais em alguns exemplos concretos.

    Exemplo 1. Considere a linguagem no alfabeto {0} definida por

    Lprimos= {0p :p e um primo positivo}.

    A primeira coisa a observar e que esta linguagem e infinita. Istoe uma consequencia deteorema provado pelo matematico grego Euclides por volta de 300 a. C., segundo o qual

    existem infinitos numeros primos.

    Em seguida devemos considerar se seria possvel construir um automato finito que

    aceitasse esta linguagem. Para isto, seria necessario que o automato pudesse determinar se

    um dado numerop e primo ou nao. Em outras palavras, o automato teria que se certificarquepnaoe divisvel pelos inteiros positivos menores quep. Como a quantidade de inteirosmenores quep aumenta comp, isto requer uma memoria infinita; quee exatamente o que

  • 5/20/2018 Lema Do Bombeamento

    6/12

    6 Linguagens que nao sao regulares Captulo 4

    um automato finito nao tem. Esta e uma boa indicacao de que Lprimos nao e regular.Vamos comprovar nosso palpite usando o lema do bombeamento.

    Suponha, entao, por contradicao, queLprimos

    e aceita por um automato finito deter-

    minstico com nestados. Precisamos escolher uma palavra com comprimento maior quenemLprimos. Para fazer isto, basta escolher um primoq > n. A existencia de um tal primoe consequencia imediata do teorema de Euclides mencionado acima. Portanto,0q e umapalavra deLprimosde comprimento maior quen.

    Nestas circunstancias, o lema do bombeamento garante que existe uma decomposicao

    0q = xyz de modo que y = e bombeavel em Lprimos. Como o que desejamos econtradizer esta afirmacao, temos que mostrar que 0q nao admite nenhuma subpalavrabombeavel. Neste exemploe facil executar esta estrategia neste grau de generalidade.

    De fato, uma subpalavra nao vazia qualquer de 0q tem que ser da forma 0j para algum0< j q. Masxez tambem sao subpalavras de0q; de modo que tambem sao cadeias dezeros. Tomando,x= 0i, teremos quez = 0qij .

    Bombeandoy, conclumos que

    xykz= 0i(0j)k0qij = 0i+jk+(qij) = 0q+(k1)j

    deve pertencer aLprimospara todok 0. Mas isto so pode ocorrer seq+ (k 1)j forum numero primo para todok 0. Entretanto, tomandok = q+ 1, obtemos

    q+ (k 1)j = q+qj = q(1 +j)

    que nao pode ser primo porque tanto qquantoj + 1 sao numeros maiores que1. Temosassim uma contradicao, o que confirma nossas supeitas de que Lprimosnaoe regular.

    Note que a condicao (2) do lema do bombeamento nao foi usada em nenhum lugar

    nesta demonstracao. Como frisamos anteriormente, esta e uma condicao tecnica que serve

    para simplificar o tratamento de exemplos mais complicados, como veremos a seguir.

    Exemplo 2. Nosso proximo exemplo e a linguagem

    L={ambm :m 0}

    no alfabeto{a, b}. Tambem neste casoe facil dar um argumento heurstico que nos leva adesconfiar queLnao pode ser regular. Lembre-se que o automato le a entrada da esquerdapara a direita. Assim, ele lera toda a sequencia deas antes de chegar aos bs. Portanto, oautomato tem que lembrar quantosas viu para poder comparar com o numero debs. Mas amemoria do automatoe finita, e nao ha restricoes sobre a quantidade deas em uma palavradeL.

    Para provar queL naoe regular vamos recorrer ao lema do bombeamento. Suponha,por contradicao, queL e aceita por um automato finito determinstico comn estados. Emseguida temos que escolher uma palavraw de L com comprimento maior quen; digamosquew = anbn. Como |w|= 2n > n, tem que existir uma decomposicao

    anbn =xyz

    de forma que as condicoes (1), (2) e (3) do lema do bombeamento sejam satisfeitas.

    Mas que decomposicoes de anbn satisfazem estas condicoes? Dessa vez comecaremosanalisando (2), segundo a qual |xy| n. Isto e,xy e um prefixo deanbn de comprimentomenor ou igual a n. Comoanbn comeca com n letras a, conclumos que a e o unicosmbolo quexey podem conter. Portanto,

    x= ai e y= aj .

  • 5/20/2018 Lema Do Bombeamento

    7/12

    S. C. Coutinho 7

    Alem disso,j = 0 pela condicao (1). Jaz reune o que sobrou da palavraw, de modo que

    z= anijbn.

    Observe que nao ha razao pela qualxytenha que ser igual aan, de modo que podem sobraralgunsas em z.

    Resta-nos bombeary. Fazendo isto temos que

    xykz = ai (aj)k anijbn =an+(k1)jbn,

    e um elemento deL para todok 0. Contudo,an+(k1)jbn so pode pertencer aL se osexpoentes deaeb coincidirem. Porem

    n+ (k 1)j = n para todo k 0

    implica quej = 0, contradizendo a condicao (1) do lema do bombeamento.

    Antes de passar ao proximo exemplo convem considerar a escolha que fizemos para

    a palavra de comprimento maior que n. Nao parece haver nada de extraordinario nesta

    escolha, mas a verdade e que nem toda escolha de w seria satisfatoria. Por exemplo,assumindo quen 2, teramos que |an1bn1|= 2n 2 n. Entretanto, esta naoe umaboa escolha paraw. A razaoe que

    an1bn1 =xyz e |xy| n

    nao excluem a possibilidade dey conter um b. Isto nos obrigaria a considerar dois casosseparadamente, a saber,y = aj ey = ajb, o que complicaria um pouco a demonstracao.Diante disto, podemos descrever o papel da condicao (2) como sendo o de restringir os

    possveis y . O problemae que isto nao se da automaticamente mas, como no exemploacima, depende de uma escolha adequada paraw.

    Por sorte, na maioria dos casos, muitas escolhas paraw sao possveis. Neste exemplo,bastaria tomarw = arbr comr n. Entretanto, para algumas linguagens a escolha dapalavra requer bastante cuidado, como mostra o proximo exemplo.

    Exemplo 3. Um argumento heurstico semelhante ao usado para a linguagem anterior

    sugere que

    L= {ambr :m r}

    nao deve ser regular. Vamos provar isto usando o lema do bombeamento.

    Suponhamos, por contradicao, queLseja aceita por um automato finito determinsticocomn estados. Neste exemplo, como no anterior, uma escolha possvel para uma palavrade comprimento maior quen em L eanbn. Da condicao (2) do lema do bombeamentoconclumos que, seanbn =xyz , entao

    x= ai e y= aj .

    Ja condicao (1) nos garante que j = 0. Comoz = anijbn, obteremos, ao bombeary ,que

    xykz = ai (aj)k an

    i

    jbn =an+(k

    1)jbn.Mas, para que esta palavra esteja emL e preciso que

    n+ (k 1)j n,

    donde segue que(k 1)j 0. Por sua vez,j = 0 forca quek 10, ou seja, quek 1.Mas, para quey seja bombeavel e preciso quexykz Lpara todo k 0, e nao apenask 1. Portanto, temos uma contradicao com o lema do bombeamento, o que prova que Lnaoe regular.

  • 5/20/2018 Lema Do Bombeamento

    8/12

    8 Linguagens que nao sao regulares Captulo 4

    Desta vez estivemos perto de nao chegar a lugar nenhum! De fato, uma contradicao

    soe obtida porque tomandok = 0,

    an+(k

    1)jbn =an

    jbn

    nao pertence a L. Entretanto, neste exemplo, muitas escolhas aparentemente adequadasde w nao levariam a nenhuma contradicao. Por exemplo, e facil se deixar sugestionarpelo sinal e escolherw = an+1bn. Esta palavra tem comprimento maior quen e qual-quer decomposicao da formaan+1bn = xyz requer quex e y so tenhamas. Entretanto,tomando

    x= ai, y= aj e z = an+1ijbn,

    e bombeandoy, obtemos

    xykz = an+1+(k1)jbn

    que pertence a L desde que 1 (1 k)j. Infelizmente, neste caso isto nao leva acontradicao nenhuma, a nao ser quej >1, e nao temos como descartar a possibilidade de

    j ser exatamente1.

    A proxima linguagem requer uma escolha ainda mais sutil da palavra w.

    Exemplo 4. Considere agora a linguagem

    Luu= {uu: u {0, 1}}.

    Como nos exemplos anteriores, e facil descrever um argumento heurstico para justificar

    porque seria de esperar queLuunao fosse regular, e deixaremos isto como exerc cio. Paraprovar a nao regularidade de Luu pelo lema do bombeamento, suporemos que esta lin-guageme aceita por um automato finito determinstico comnestados.

    O principal problema neste caso e escolher uma palavra de comprimento maior que

    nque nos permita chegar facilmente a uma contradicao. A escolha maisobviaeu = 0n,que, infelizmente, nao leva a nenhuma contradicao, como mostra o exerccio 5. Felizmente

    uma variacao simples desta palavra se mostra adequada, a saber u = 0n

    1. Neste caso,w= 0n10n1tem comprimento2n+ 2> n, e qualquer decomposicao

    0n10n1 =xyz

    satisfaz

    x= 0i, y= 0j e z= 0nij10n1

    para algumi 0 ej 1. Bombeandoy obtemos

    xykz = 0n+(k1)j10n1

    Para saber se esta palavra pertence ou nao aLuu precisamos descobrir se pode ser escritana formavv para algumv {0, 1}. Igualando

    0n+(k1)j10n1 = vv

    conclumos que v tem que terminar em1. Como so ha um outro1 na palavra,v= 0n+(k1)j1 = 0n1.

    Istoe, n + (k 1)j = n. Comoj = 0, esta igualdade so e verdadeira sek = 1. Masisto contradiz o lema do bombeamento, segundo o qual xykzdeveria pertencer aLuuparatodok 0.

    Os exemplos anteriores mostram que a demonstracao pelo lema do bombeamento de

    que uma certa linguagemLnaoe regular obedece a um padrao, que esbocamos abaixo:

  • 5/20/2018 Lema Do Bombeamento

    9/12

    S. C. Coutinho 9

    Suponhamos, por contradicao, que L seja aceita por um automato finitodeterminstico comnestados.

    Escolha uma palavra

    w L, de comprimento maior que

    n, de

    modo que as possibilidades para uma decomposicao da forma

    w= xyz sejam bastante limitadas. Bombeiey e mostre que sexykz L entao uma contradicao e

    obtida.

    As principais dificuldades em fazer funcionar esta estrategia sao as seguintes:

    a escolha de uma palavra w adequada; a identificacao correta da condicao que a pertinenciaxykz L impoe sobre os

    dados do problema.

    No exerccio 7 temos um exemplo de demonstracao em que varios erros foram cometidos

    na aplicacao desta estrategia. Resolver este exerccio pode ajuda-lo a evitar os erros maiscomuns que surgem na aplicacao do lema do bombeamento.

    Infelizmente o lema do bombeamento esta longe de ser uma panaceia infalvel. Para

    ilustrar isto, vamos considerar mais um exemplo.

    Exemplo 5. Seja L a linguagem no alfabeto {a,b,c} formada pelas palavras da formaaibjcr para as quaisi, j, r 0 e, sei = 1entaoj =r . Mostraremos que a unica palavradeLque nao admite uma subpalavra bombeavel e.

    Ha dois casos a considerar. No primeiro,i = 1 e j er nao sao ambos nulos. Nestecaso a subpalavra bombeaveley= b sej = 0 ouy = cser = 0. O segundo caso consisteem supor quei = 1, ou quei = 1 masj = r = 0. Desta vez podemos tomary = a comosendo a palavra bombeavel.

    Como cada palavra de L se encaixa em um destes dois casos, provamos que todapalavra deLadmite uma subpalavra bombeavel. Entretanto, esta linguagem nao e regular.Assim, constatamos neste exemplo que:

    a recproca do lema do bombeamentoe falsa; istoe, nao basta que o resultado dolema do bombeamento seja verdadeiro para que a linguagem seja regular;

    nem sempre o lema do bombeamento basta para mostrar que uma linguagem naoe regular.

    Provaremos que a linguagem acima de fato naoe regular no captulo ???. Para isto, alem

    do lema do bombeamento, vamos precisar usar um resultado sobre a estabilidade das lin-

    guagens regulares por interseccao.

    4. Exerccios

    1. Considere o automato finito determinstico M no alfabeto {0, 1}, com estado inicialq1,conjunto de estados finais {q5, q6, q8} e funcao de transicaodada pela seguinte tabela:

  • 5/20/2018 Lema Do Bombeamento

    10/12

    10 Linguagens que nao sao regulares Captulo 4

    0 1

    q1 q2 q6

    q2 q6 q3

    q3 q4 q2

    q4 q2 q5

    q5 q5 q5

    q6 q7 q4

    q7 q8 q4

    q8 q4 q5

    (a) Esboce o diagrama de estados do automatoM.(b) Ache uma subpalavra de 010011101000 que possa ser bombeada na linguagem

    L(M).

    (c) Sejaw = 00. Verifique quew, w2

    L(M).w e bombeavel emL(M)?

    2. Considere a linguagemLno alfabeto {0, 1} dada por

    L={10, 10120, 10120130, 10120130140, . . . }.

    (a) Mostre queLe infinita mas nao admite nenhuma palavra que tenha uma subpalavrabombeavel.

    (b) Mostre queLnaoe regular.

    3. SejaMum automato finito determinstico eL a linguagem aceita porM. Vimos quepara encontrar uma palavra deLque contem uma subpalavra bombeavel basta encontrarum caminho no grafo deMque contenha um ciclo. Suponha agora que n ao conhecemosM, mas que conhecemos uma expressao regularrque denotaL. De que forma podemosusarr para achar uma palavra deLque tem uma subpalavra bombeavel?

    4. Ache uma palavra que contenha uma subpalavra bombeavel na linguagem denotada pela

    expressao regular

    (1 1 0) (((1 0) 0) 0).

    5. Considere a linguagem

    Luu= {uu: u {0, 1}}.

    Mostre que, tomandou= 0n, a palavrauuadmite uma subpalavra bombeavel emLuu.SUGESTAO: Tome uma subpalavra de comprimento par.

    6. Mostre que se L e uma linguagem regular infinita, entao L admite pelos menos umapalavra que tem uma subpalavra bombeavel.

    7. Considere a linguagem

    L={02n

    :n 0}.

    Determine os erros cometidos na demonstracao abaixo de queL naoe regular. Corrijaestes erros e de uma demonstracao correta da nao regularidade deL.

  • 5/20/2018 Lema Do Bombeamento

    11/12

    S. C. Coutinho 11

    Suponha queL e aceita por um automato finito determinstico. Sejaw= 02n

    .

    Pelo lema do bombeamento podemos decomporw na formaw = xyz , onde

    x= 0r, y = 0s e z = 02n

    r

    s.

    Bombeandoy obtemos

    xykz = 02n+(k1)s.

    Mas para que esta palavra pertenca aL e preciso que2n + (k 1)s= 2n, oque soe possvel se(k 1)s= 0. Comos= 0, conclumos quekso pode serigual a1, o que contradiz o lema do bombeamento.

    8. Verifique quais das linguagens dadas abaixo sao regulares e quais nao sao. Em cada

    caso justifique cuidadosamente sua resposta.

    (a) {0i12i :i 1};(b) {(01)i :i 1};(c) {12n :n 1};(d) {0n1m0n+m :n, m 1};(e) {12

    n

    :n 0};(f) {w: w = wr onde w {0, 1}};(g) {wxwr :w, x {0, 1} \ {}}.

    Sewe uma palavra em um alfabetoentaowr e a palavra obtida invertendo-se a ordemdas letras emw. Portanto se uma palavra satisfazw = wr entaoe um palndromo.

    9. Uma palavraw no alfabeto {(, )}ebalanceadase:(a) em cada prefixo dew o numero de(s naoe menor que o numero de)s e(b) o numero de(s em w e igual ao numero de)s.

    Isto e,w e balanceada se pode ser obtida a partir de uma expressao aritmetica correta-mente escrita pela omissao das variaveis, numeros e smbolos das operacoes. Mostre

    que a linguagemLque consiste nas palavras balanceadas no alfabeto {(, )} naoe regu-lar.

    10. Use o lema do bombeamento para mostrar que, se uma linguagem L contem uma palavrade comprimento maior ou igual anee aceita por um automato finito determinstico comnestados, entaoL e infinita. Use isto para descrever um algoritmo que permite decidirse a linguagem aceita por um automato finito determinstico dado e ou nao infinita.

    11. SejaMum automato finito determinstico com n estados e seja L a linguagem aceitaporM.(a) Use o lema do bombeamento para mostrar que seL contem uma palavra de com-

    primento maior ou igual que 2n, entao ela contem uma palavra de comprimentomenor que2n.

    (b) Mostre queL e infinita se e somente se admite uma palavra de comprimento maiorou igual ane menor que2n.

    (c) Descreva um algoritmo baseado em (3) que, tendo como entrada um automato finito

    determinsticoM, determina seL(M) e finita ou infinita.SUGESTAO: Para provar (a) use o lema do bombeamento com k = 0.

    12. Seja M um automato finito determinstico comnestados e um alfabeto demsmbolos.(a) Use (a) para mostrar queL(M) e nao vazia se e somente se contem uma palavra

    de comprimento menor ou igual an.

  • 5/20/2018 Lema Do Bombeamento

    12/12

    12 Linguagens que nao sao regulares Captulo 4

    (b) Explique como isto pode ser usado para criar um algoritmo que verifica se a lin-

    guagem de um automato finito determinsticoe ou nao vazia.

    (c) Suponha que a linguagem aceita porM

    e vazia. Quantas sao as palavras que terao

    que ser testadas antes que o algoritmo de (b) possa chegar a esta conclusao? O que

    isto nos diz sobre a eficiencia deste algoritmo?