You are on page 1of 35

U NIVERSIDADE F EDERAL DE M INAS G ERAIS

D E PA RTA M E N TO D E M AT E M T I C A

Relaes de Recorrncia
por Eliane Alves de Jesus Elisa Fonseca Sena e Silva

Orientador: Bernardo Nunes Borges de Lima

Belo Horizonte-MG 2006

E LIANE A LVES DE J ESUS

1 2

E LISA F ONSECA S ENA E S ILVA

Relaes de Recorrncia
Monogra a apresentada ao Instituto Nacional de Matemtica Pura e Aplicada, IMPA, como proposta de apresentao de trabalho nas Jornadas de

Iniciao Cient ca. Estudo feito sob orientao de Bernardo Nunes Borges de Lima.

Belo Horizonte-MG 2006


1 2

Bolsista do PET - PROGRAD (Pr-Reitoria de Graduao da UFMG) Bolsista do CNPq - Brasil

Resumo

importante saber como lidar com relaes de recorrncia, uma vez que so muito comuns no s na Matemtica como tambm em Computao, na construo de algoritmos. No entanto, dada uma relao recorrente se quisermos saber seu n-simo termo, teremos que calcular os n 1 anteriores, o que no interessante na prtica. A procura de uma forma fechada para a soluo de tais relaes o tema desta monogra a. Relaes de recorrncia esto intimamente relacionadas com somas; e algoritmos recursivos podem ser melhorados atravs da introduo de pisos e tetos, logo tais assuntos tambm sero abordados, bem como a descoberta de formas fechadas em representao binria. Dentre os problemas estudados esto Torre de Hani e o Problema de Josefus.

Introduo

Uma equao tem carter recursivo quando de nida em termos dela prpria, ou seja, quando encontrar a soluo de um determinado valor de n signi ca ter que calcular as solues de todos os valores anteriores a esse n. importante saber como lidar com essas relaes de recorrncia, j que so muito comuns. Na Matemtica, por exemplo, podemos encontrar a idia de

recursividade em algo simples como o clculo fatorial

0! n!

= =

1; n.(n 1)!, n

> 0.

ou em assuntos mais so sticados, como a construo dos nmeros naturais a partir dos axiomas de Peano. Outro exemplo clssico de relao de recorrncia o algoritmo de Euclides para o clculo do mximo divisor comum: mdc(0, n) mdc(m, n)

= =

n; mdc(n mod m, m), m

> 0.

No podemos nos esquecer da seqncia de Fibonacci:

F0 F1 Fn

= = =

1; 1; Fn2 + Fn1 , n

> 1.

A recurso ocorre tambm no domnio visual, como no trabalho de M.C.Escher,

Figura 1: "Drawing Hands" de M.C. Escher

ou ainda nos fractais.

Figura 2: Conjunto de Mandelbrot

Muitos algoritmos so baseados em relaes recorrentes e problemas combinatrios considerados difceis primeira vista podem ser resolvidos mais facilmente se escritos na forma de relaes de recorrncia. Estas, como vimos nos exemplos anteriores, geralmente so dadas por um conjunto de equaes

vi

contendo um valor inicial e outra equao para o valor geral em termos dos anteriores. Isso signi ca que, se quisermos saber o n-simo termo de uma seqncia dada por uma relao recorrente, teremos que calcular os n 1 termos anteriores, o que, na prtica, no nada interessante, especialmente para n grande. Ento, o mais natural que encontremos uma forma fechada para a relao de recorrncia, ou seja, uma soluo que no dependa dos termos anteriores, mas somente do valor de n. A procura de uma forma fechada para diversas relaes de recorrncia o tema dos captulos que seguem.

1 Relaes de Recorrncia: descoberta e resoluo

1.1 Como generalizar os casos menores


Vamos considerar primeiro um problema geomtrico: qual o nmero mximo Ln de regies de nidas por n retas no plano? Comearemos observando os casos menores: quando nenhuma reta divide o plano, temos somente uma regio; quando uma reta o divide, temos duas regies. Para n

2, temos duas opes: posicionar as retas de forma que quem concorrentes,

quem paralelas, formando trs regies, ou de forma que

formando quatro regies. Escolheremos esta ltima opo, uma vez que queremos que Ln seja o maior possvel. A partir desse caso, percebemos que, ao acrescentar uma reta s n 1 previamente existentes, a n-sima reta deve interceptar todas as anteriores, de forma a conseguirmos a maior quantidade de regies de nidas por n retas no plano.

L0

=1

L1

=2

L2

=4

Retornando anlise de casos menores, ao acrescentarmos a terceira reta, percebemos que ela s pode interceptar trs das quatro regies existentes, independente da posio das duas primeiras retas.

Portanto, L3

L2

7 o mximo que conseguimos.

Com esses casos menores em considerao, vamos generalizar o raciocnio. Ao posicionar a n-sima reta acrescentaremos k regies se, e somente se, tal reta dividir k regies previamente existentes, o que ocorre se, e somente se, interceptar em k 1 pontos as retas anteriores. Como duas retas podem se interceptar em, no mximo, um ponto, temos que a n-sima reta pode interceptar as n 1 anteriores em, no mximo, n 1 pontos, criando n regies novas. Sendo k encontramos um limite superior:

n,

Ln

Ln1

> 0.

Para que se consiga o nmero mximo de regies, como discutido previamente, a n-sima reta acrescida no deve ser paralela a nenhuma das outras anteriormente existentes. Alm disso, se colocarmos a reta de forma que no passe por nenhum dos pontos de interseco anteriores atingiremos a igualdade nessa frmula, uma vez que a nova reta intercepta todas as n 1 anteriores em n 1 pontos distintos, caracterizando a criao de n novas regies. Logo, obtivemos a seguinte relao de recorrncia:

L0 Ln

= =

1 Ln1

para n

> 0.

(1.1)

Achada a relao de recorrncia, precisamos agora encontrar sua forma fechada.

Com o intuito de melhor entender a relao, vamos expandi-la ao mximo:

Ln

= = = = =

Ln1 Ln2 Ln3 . . . L0 1

n n n

+ (n 1) +

+ (n 2) + (n 1) + + ,

+ . . . + (n 2) + (n 1) + =
1

Sn

onde Sn

+ . . . + (n 2) + (n 1) + n.

Encontraremos a soma Sn dos n primeiros inteiros positivos a partir do seguinte truque (aparentemente inventado por Gauss em 1786, quando tinha nove anos):

Sn

+ Sn
2Sn

= 1 + 2 + 3 + + (n 1) + n = n + (n 1) + (n 2) + + 2 + 1 = (n + 1) + (n + 1) + (n + 1) + + (n + 1) + (n + 1)
n vezes

Basta somar Sn consigo mesmo, mas com os termos na ordem inversa, de forma que cada uma das n parcelas direita do sinal de igualdade seja igual a n + 1. Logo, Sn n(n + 1) 2

para n

0.

(1.2)

Ento, a soluo do nosso problema : n(n + 1) 2

Ln

+ 1,

para n

0.

(1.3)

Para veri car se a soluo est realmente correta, vamos provar por induo: o primeiro passo trivial, pois L0

0.1 2

1. Se supusermos que a equao

1.3 vlida para n 1, basta mostrar que a mesma vale para n. De fato: 1 2 1 2

Ln

Ln1

(n 1)n +

n(n + 1)

+ 1.

Portanto, nossa soluo est correta.

Relaes de recorrncia similares a 1.1 so comuns em diversas aplicaes. Para achar a forma fechada para relaes semelhantes a Ln , passamos por trs etapas: 1. Analise a soluo de casos simples e procure perceber o padro do problema. 2. Generalize a soluo do problema, encontre uma relao de recorrncia e prove sua validade. 3. A partir da relao de recorrncia, encontre a forma fechada da soluo e demonstre sua validade.

Vamos colocar nosso mtodo em prtica em outro problema geomtrico: qual o nmero mximo Pn de regies tridimensionais que podem ser de nidas por n planos diferentes? Comeando pelos casos menores: naturalmente, P0

1, quando h um

plano seccionando o espao temos duas regies. Sabemos pelo exemplo anterior que o novo plano no pode ser paralelo aos antigos, logo o segundo plano acrescido deve interceptar o anterior, dividindo as duas regies anteriores, fazendo com que P2 de forma que P3

=
8.

4. O terceiro plano dividir as quatro regies anteriores,

P1

=2

P2

=4

P3

=8

Tal seqncia nos leva a crer que Pn

2 , contudo ao acrescentar o

quarto plano percebemos que no essa a forma fechada que procuramos. Para que possamos visualizar melhor o problema, vamos imaginar que temos os trs planos coordenados xy, yz e xz do sistema cartesiano. Ao traar o quarto plano, conforme a gura abaixo, teremos trs retas formadas da interseco

deste com os planos coordenados. As regies determinadas por essas retas no plano acrescido dividem as antigas regies tridimensionais, gerando sete novas regies no espao. Logo, teremos P4

15.

Note que ao acrescentar um plano temos que nos assegurar de que este no contenha nenhuma das retas de interseo j existentes. Sem esquecer-

se desse aspecto e observando os casos menores, chegamos generalizao apropriada. O n-simo plano intercepta os n 1 planos antigos em n 1 retas distintas, que o dividem em Ln1 regies. O plano, por sua vez, divide o espao em Ln1 novas regies. Encontramos, portanto, a nossa relao de recorrncia:

P0 Pn

= =

1; Pn1

Ln1 ,

1.

(1.4)

Podemos partir em busca da forma fechada para 1.4. Como esse foi um problema similar ao anterior (at as suas relaes de recorrncia se parecem), vamos resolv-lo analogamente, expandindo 1.4:

Pn

= = = = = = =

Pn1 Pn2 Pn3 . . . P0 1

+ + +

Ln1 Ln2 Ln3

+ +

Ln1 Ln2

Ln1

L0

+
Lk ,

L1

+ +

Ln3

Ln2

Ln1

n1

+ +

k=0 n1

como sabemos Ln

n(n + 1) 2

+ 1,

temos que

k=0

k(k + 1) 2

Agora basta manipular a soma:

Pn

= = =

+ + +
1 2

1 2

n1

k=0

k(k + 1)
n1 k=0 2

n1

+ + +

k=0

1 1 1.

1 2
n1

(k
+

n1

+ k)
1 2
n1

k=0

k=0

k=0

n1

k=0

O ltimo somatrio simplesmente o nmero de parcelas a serem somadas quando k vai de zero a n 1, ou seja, n. O penltimo somatrio j foi calculado anteriormente: a soma dos n 1 primeiros inteiros positivos, representada por 1.2 com n no lugar n 1. No entanto, o primeiro somatrio representa uma relao de recorrncia que calcularemos apenas na seo 2.1, mas

colocaremos aqui sua forma fechada

n 2 k k=1

n(n+

1 2

)(n+1)

para no

car-

mos sem a soluo para Pn . Finalizando nosso clculos: 1 2

Pn

= = = =

+ + + +

(n 1)(n 1 )n 2
3
1 (n 1)(n 2 )

1 2

(n 1)n
2

6 2n
2

n1 4

3n + 1 + 3n 3 + 12
12

n(n

+ 5)

para n

0.

(1.5)

Encontramos a forma fechada de 1.4, falta demonstrar sua validade. O primeiro passo da induo bsico: P0

0(0+5) 6

1. Supondo que 1.5

seja vlida para n 1, vamos mostrar que vale para n. De fato:

Pn

= = = = =

Pn1 1

Ln1

+ (n 1) + + +
n n
3

(n 1)2 + 5
6

n(n 1) 2

1 1 1

3n2 + 8n 6 + 3n2 3n + 6
6

+ 5n
6
2

n(n

+ 5)

Para que no achemos que todas as relaes de recorrncia so resolvidos ao expandir a equao principal, vamos a um outro exemplo: o Problema de Josefus. Conta a lenda que um historiador famoso do primeiro sculo, Flavius Josefus, estava encurralado pelos romanos em uma caverna, juntamente com 11 rebeldes judeus, durante uma guerra entre judeus e romanos. O grupo de rebeldes, preferindo o suicdio captura, decidiu formar um crculo e, contando ao longo deste, matar cada terceira pessoa restante at no sobrar ningum.

Contudo Josefus, junto com um amigo, no queria participar do pacto suicida, e calculou rapidamente onde ele e o amigo deveriam car nesse crculo.

Vamos estudar uma variao desse problema: sabendo que h n pessoas numeradas de 1 a n em um crculo, eliminaremos cada segunda pessoa restante at sobrar um nica pessoa. Estamos interessados em calcular J (n), o nmero do sobrevivente. Para entendermos melhor a questo veremos o que acontece quando n

= 12.

Aps a primeira volta, eliminamos, nessa ordem, as pessoas de nalmente,

nmero 2, 4, 6, 8, 10 e 12. Na segunda volta descartamos 3, 7 e 11; e

na ltima volta, eliminamos 5 e 1, restando somente a pessoa de nmero 9.

Uma vez entendido o problema, vamos analisar os exemplos com valores pequenos: n J (n) 1 1 2 1 3 3 4 1 5 3 6 5

Observamos que J (n) sempre mpar, o que coerente com o problema, uma vez que, como foi observado para n todos que possuem nmero par. Vamos supor ento que temos 2n pessoas originalmente. Depois da primeira volta, em que eliminamos todos os pares, camos com:

= 12,

na primeira volta eliminamos

Chegamos a uma situao semelhante que comea com n pessoas, exceto que cada pessoa tem seu nmero dobrado e diminudo de 1, ou seja, J (2n)

2J (n)

1,

1.

No caso mpar, supondo que temos 2n + 1 pessoas, a pessoa de nmero 1 eliminada logo aps a 2n, restando novamente n pessoas que, desta vez, tiveram seus nmeros dobrados e aumentados de 1.

Logo,

J (2n + 1)

2J (n)

+ 1,

1.

Combinando estas equaes com sua condio inicial, chegamos nossa relao de recorrncia: J (1) J (2n) J (2n + 1)

= = =

1; 2J (n) 2J (n)

1, + 1,

para n para n

1; 1.

(1.6)

A partir desta relao de recorrncia podemos construir a seguinte tabela para valores pequenos de n: n J(n) 1 1 2 1 3 3 4 1 5 3 6 5 7 7 8 1 9 3 10 5 11 7 12 9 13 11 14 13 15 15 16 1

Percebermos que a cada potncia de 2 em n formado um grupo que sempre se inicia com J (n) em 2 dentro desse grupo. 2
m

= 1 e, medida em que n cresce, J (n) aumenta de 2 m Ento se escrevermos n na forma n = 2 + l, em que

a maior potncia de 2 que no maior que n, e l o que sobrou, teremos: J (2


m

+ l) =

2l

+ 1,

e 0

l 2m ,

(1.7)

que a forma fechada para 1.6 que procurvamos.

10

Agora, temos que provar a validade de 1.7. Vamos fazer a induo em m: quando m

= 0, temos l = 0, logo o primeiro passo da induo nos d J (1) = 1, > 0, 2m + l = 2n e, pela segunda

o que verdade. Vamos dividir a segunda etapa da induo em duas partes: quando l par ou mpar. Se l par, como m

equao de 1.6 e usando a hiptese de induo, temos que: J (2


m

+ l) =

2J (2

m1

+ l /2)
n

= 2(2l /2 + 1)

2l

+ 1.

2n

Se l mpar, como m

> 0, 2m + 1 = 2n + 1, pela terceira equao de 1.6, temos:


m1

J (2

+ l) =

2J (2

+
n

l 1 2

)+

= 2(2

l 1 2

+ 1) +

2l

+ 1.

2n+1

Portanto, a induo est completa e 1.7 est provada.

1.2 Mtodo de compilao


Vamos estudar agora a Torre de Hani, um quebra-cabea criado pelo matemtico francs Edouard Lucas em 1883, que consiste em uma base contendo trs pinos, onde em um deles so dispostos oito discos uns sobre os outros, em ordem crescente de dimetro, de cima para baixo.

O problema consiste em passar todos os discos de um pino para outro qualquer, usando um dos pinos como auxiliar, de maneira que um disco maior nunca que em cima de outro menor.

11

Lucas anexou ao jogo uma lenda: no comeo dos tempos, Deus criou a Torre de Brahma, que continha trs pinos de diamante e colocou no primeiro pino 64 discos de ouro macio. Deus ento chamou seus sacerdotes e ordenoulhes que transferissem todos os discos para o terceiro pino, seguindo as regras acima. noite. Os sacerdotes ento obedeceram e comearam o seu trabalho, dia e Se e quando eles terminarem, a Torre de Brahma ir ruir e o mundo

acabar. Suponha que so dados n discos e seja Tn o nmero mnimo de movimentos que permite a transferncia desses n discos de um pino para outro segundo as regras de Lucas. A melhor maneira de resolver problemas como esse generalizar um pouco, mas para isso vamos comear analisando os casos menores: temos que T0

= 0, T1 = 1 e T2 = 3.

A resoluo para T3 nos d uma idia da generalizao adequada. Primeiro movemos o menor disco para outro pino e o disco mdio para o terceiro pino. Em seguida, como precisamos mover o maior disco, temos que deixar um pino vago e o nico jeito de faz-lo colocando o disco menor no mesmo pino do mdio. Agora, basta mover o disco grande para o pino vazio, em

seguida, colocar a torre de dois discos sobre o disco maior, fazendo com que T3

= 2.T2 + 1 = 7.

Generalizando, encontramos um limite superior para Tn :

dada a torre com n discos, temos que mover a torre com n 1 discos para um outro pino, em seguida mover o n-simo disco e depois colocar a torre de n 1 discos sobre o disco maior. Logo, com 2Tn1 + 1 movimentos resolvemos nosso quebra-cabea. Tn

2Tn1 + 1.

(1.8)

No entanto, percebe-se que movemos a torre com n discos se, e somente se, mudamos o n-simo disco de pino, o que ocorre se, e somente se, houver um pino vago, ou seja, se e somente se, os n 1 discos menores estiverem todos em um pino. Para obter tal con gurao, foi necessrio, no mnimo, Tn1 movimentos, que tambm a quantidade mnima necessria para colocar a torre de n 1 discos sobre o n-simo disco, aps ter movido este de pino. Ento,

Tn

2Tn1 + 1.

(1.9)

12

Portanto, a partir de 1.8 e 1.9 obtivemos uma igualdade e encontramos a relao de recorrncia que procurvamos:

T0 Tn

= =

0; 2Tn1 + 1, n

1.

(1.10)

Vamos primeiro generalizar a relao de recorrncia. O que aconteceria se o problema tivesse produzido uma relao de recorrncia parecida com 1.10 mas com constantes distintas? Tentaremos encontrar a forma fechada para a relao de recorrncia mais geral: f (0) f (n)

= ; =
2 f (n 1) + , n

1.

(1.11)

Comeando com f (0) = e calculando progressivamente possvel construir a seguinte tabela: n 0 1 2 3 4 5 Parece que o coe ciente de escrever f (n) da seguinte forma: f (n) f (n)

2 + 4 + 3 8 + 7 16 + 15 32 + 31 2n
e o de

2n 1.

Portanto, podemos

= A(n) + B(n)

(1.12)

em que A(n) B(n)

= =

2 2

n n

, 1.

13

Ao invs de provar isso por induo tentaremos um forma alternativa de chegar aos mesmos resultados. Como a relao de recorrncia vale para quaisquer

e , podemos escolher em particular = 1 e = 0 em 1.12, obtendo f (n) = A(n) e substituindo esse resultado em 1.11 chegamos seguinte relao:
A(0) A(n)

= =

1, 2A(n 1).

cuja soluo simplesmente A(n)

= 2n .

Agora vamos usar a relao de recorrncia 1.11 e a soluo 1.12 na ordem contrria, comeando com uma uma funo simples f (n) e procurando constantes

e que a de

niro. Substituindo a funo constante f (n)

= 1 em 1.11

temos que:

1 1

= , =
2.1 + .

= 1, logo no precisamos provar por induo que estes parmetros nos do f (n) = 1. J sabemos que f (n) = 1 uma soluo neste caso pois a relao de recorrncia 1.11 de ne de maneira nica f (n) para todos os valores de n. Logo, ao substituir tais valores em 1.12, sem esquecer que f (n) = 1, obteremos A(n) B(n) = 1. Portanto, mostramos que as funes A(n) e B(n) em 1.12, que resolvem
Estas equaes so vlidas para todo n quando e 1.11, satisfazem as equaes: A(n) A(n) B(n) Ao resolver estas equaes, obtemos B(n)

=1

= =

1.

= 2n 1.

Agora que j resolvemos a generalizao do nosso problema, para voltar a ele basta substituir

= 0 e = 1 em 1.12 considerando os valores encontrados

para A(n) e B(n). Ento a soluo de 1.10 :

Tn

= 2n 1.

(1.13)

14

O mtodo de compilao que utilizamos consiste em escolher valores particulares para

e e combin-los, sendo dividido em quatro etapas:

1. Generalizar a relao de recorrncia; 2. Achar valores de parmetros gerais para os quais conhecemos a soluo; 3. Compilar uma lista de casos particulares que podemos resolver; 4. Obter o caso geral combinando os casos particulares.

Precisamos de tantas solues particulares independentes quantos forem os parmetros independentes.

Para compreendermos melhor o mtodo, vamos agora resolver a seguinte relao de recorrncia hipottica:

S0 Sn

= =

a0 ; Sn1 + an , n

1.

(1.14)

Supondo que an igual a uma constante mais um mltiplo de n, a relao de recorrncia 1.14 pode ser reescrita da seguinte forma:

R0 Rn

= , =
Rn1 + + n, para n

> 0.

(1.15)

Procedendo como no exemplo anterior, percebemos que R1 R2

= + + ,

= + 2 + 3 e assim por diante, fazendo com que a soluo de 1.15 seja da


Rn

forma geral

= A(n) + B(n) + C(n).

(1.16)

onde A(n), B(n) e C (n) so os coe cientes de dependncia nos parmetros gerais

, e .

15

Segundo o mtodo de compilao, devemos tentar colocar funes simples de n no lugar de Rn , com o objetivo de encontrar parmetros constantes em que a soluo particularmente simples. Ao tomar Rn

, e

= 1 em 1.15, temos

1 1

= , =
e 1 + + n, para n

> 0,

o que implica temos A(n)

= 1, = 0,

= 0, logo, substituindo esses valores em 1.16,

= 1. = n em 1.15 teremos
0 n

Escolhendo Rn

= , =
n 1 + + n, para n

> 0,

= 0, = 1 , B(n) = n.
donde Ao escolher Rn

= 0,

e ao substituir esses valores em 1.16 teremos

= n2 em 1.15 obtemos = , = (n 1)2 + + n,


para n

0 n
2

> 0,

= 0, = 1, e = 2 e colocando esses valores em 1.16 temos n +n 2 2C (n) B(n) = n , donde C (n) = . 2


o que implica
2

Ao voltarmos a 1.14, podemos supor, por exemplo, a0 implicando


2

= 2, an = 5n + 7,
2

= 2, = 7 e = 3. A soluo dessa relao de recorrncia seria n +n Sn = A(n).2 + B(n).7 + C (n).3, ou seja, Sn = 1.2 + n.7 + .3 = 3n +17n+4 . 2 2

16

1.3 Representao Binria


As potncias de 2 tiveram um papel importante nos dois problemas anteriores, logo interessante examinarmos suas representaes binrias. Comearemos com o Problema de Josefus (representado pela relao de recorrncia 1.6) e consideraremos as representaes de n e J (n) em base 2. expanso binria de n seja: Suponha que a

= (bm bm1 . . .

b1 b0 )2 ,

isto ,

= bm 2m + bm1 2m1 + + b1 2 + b0 ,

onde bm

= 1 e bi = 0, 1.

Lembrando que n

= 2m + l, temos sucessivamente,
b1 b0 )2 b1 b0 )2

n l 2l 2l + 1 J (n)

= (1 bm1 bm2 . . . = (0 bm1 bm2 . . . = (bm1 bm2 . . . = (bm1 bm2 . . . = (bm1 bm2 . . .

b1 b0 0)2 b1 b0 1)2 , b1 b0 bm )2 . como bm

= 1 e J (n) = 2l + 1,

Logo, acabamos de provar que J ((bm bm1

...

b1 b0 )2 )

= (bm1 bm2 . . .

b1 b0 bm )2 .

ou seja, obtemos J (n) de n fazendo uma translao cclica para a esquerda de um dgito binrio. Vamos agora generalizar o Problema de Josefus da seguinte forma j (1) j (2n) j (2n + 1)

= , = =
2 j (n) + , 2 j (n) + , n n

1, 1,

(1.17)

17

e resolv-lo em representao binria.

Tomando

0 =

1 = ,

podemos

reescrever a relao de recorrncia generalizada 1.17 como: j (1) j (2n + k)

= , =
2 j (n) + k , para k

= 0, 1 e n 1.

Expandindo esta relao de recorrncia em notao binria:


2n k n

j ((bm bm1

...

b1

b0

)2 ) = = = = =

2 j (bm bm1 4 j (bm bm1 . . . 2 2


m m

... ...

b1 ) + b0 b2 ) + 2b1

+ b

j ((bm )2 ) + 2

m1

m1

+ + 2b + b
1 1 0

+ 2m1 b

m1

+ + 2b + b .

Suponha que modi quemos agora a notao em base 2 permitindo dgitos arbitrrios em vez de apenas 0 e 1. Os clculos acima nos dizem que: j ((bm bm1

...

b1 b0 )2 )

= ( b

m1

m2

. . . b b )2 .
1 0

(1.18)

Aproveitando que estamos tratando de uma forma alternativa de resolver o Problema de Josefus, vamos tentar outra forma de resolver o problema original. Para tanto, vamos utilizar as funes piso e teto ( respectivamente, o maior inteiro menor ou igual a x, representado por igual a x, representado por x x ; e o menor inteiro maior ou

), que do uma nova dimenso ao estudo de re-

laes de recorrncia. Por exemplo, a relao correspondente ao Problema de Josefus pode ser colocada na forma J (1) J (n)

= =

1, 2J ( n 2

) (1)n ,

para n

> 1.

Considerando

nalmente o Problema de Josefus original, em que cada

terceira pessoa eliminada, mas em outra abordagem: ao passarmos por uma

18

pessoa que no imediatamente eliminada podemos lhe dar um novo nmero. Logo, as pessoas de nmeros 1 e 2 ganham novos nmeros n + 1 e n + 2, em seguida eliminamos a pessoa de nmero 3, e renomeamos 4 e 5 como n + 5 e n + 4, depois eliminamos a pessoa com nmero 6. Continuando esse processo, renomearemos 3k + 1 e 3k + 2 como n + 2k + 1 e n + 2k + 2, depois eliminamos 3k + 3 e assim sucessivamente at que a pessoa 3n seja eliminada ou sobreviva. Por exemplo, quando n 1 11 18 2 12

= 10, os nmeros so
4 13 19 23 26 28 29 30 5 14 20 24 6 7 15 8 16 21 9 10 17 22 25 27

A k-sima pessoa eliminada acaba com o nmero 3k, logo descobriremos o sobrevivente se descobrirmos o nmero original da pessoa que nmero 3n. Dada uma pessoa de nmero N cou com o

> n,

sabemos que a mesma tem que ter

tido um nmero anterior e nosso objetivo encontr-lo . Como sabemos que


n = n + 2k + 2, percebe-se que teremos k = N 2 1 ; o nmero anterior era 3k + 1 ou 3k + 2, respectivamente, isto , o nmero anterior era 3k +(N n 2k) = k + N n. Portanto, podemos calcular o nmero original do sobrevivente J3 (n) da seguinte forma:

= n + 2k + 1

ou N

N := 3n; while N

> n do N :=

N n1 2

+ N n;

J3 := N .

Isto no uma forma fechada para o Problema de Josefus, mas certamente uma forma mais rpida de calcular a resposta quando n grande.

19

Podemos simpli car o algoritmo se usarmos a varivel D

= 3n + 1 N

no lugar de N, mudana que corresponde a fazer a contagem regressiva de 3n a 1 ao invs de 1 a 3n. Logo,

= := 3n + 1 =
n+D 2

(3n + 1 D) n 1
2

+ 3n + 1 D
D 2

2n D

= D

D
2

= D+

3 2

e podemos reescrever o algoritmo como D := 1; while D

2n do D :=

3 2

J3 := 3n + 1 D.

encontrando

nalmente uma soluo para o Problema de Josefus original.

Usando a notao em representao binria introduzida anteriormente, problemas complicados possuem solues mais simples. Para exempli car tal fato, vamos resolver uma variao do problema da Torre de Hani, visto na seo anterior: suponha que em uma Torre de Hani existem n tamanhos diferentes de discos e exatamente mk discos de tamanho k. Vamos tentar determinar A(m1 , . . . , mn ), o nmero mnimo de movimentos necessrios para transferir uma torre quando discos de mesmo tamanho so indistinguveis. Para entendermos melhor o problema, comearemos com uma torre contendo 2n discos de n tamanhos diferentes, dois de cada tamanho. Quantos movimentos A(2, . . . , 2) precisamos para transferir uma torre dupla de um pino para outro, se discos de mesmo tamanho so indistinguveis entre si? O raciocnio anlogo ao feito na torre original, com a diferena de que toda vez que movermos um tamanho de disco em vez de movermos somente uma unidade, moveremos duas, ou seja ( como discos de mesmo tamanho so indistinguveis ) o mesmo que mover n discos, apenas fazemos cada movimento em dobro. Logo, A(2, . . . , 2)

= 2Tn = 2n+1 2.

20

Voltando torre com n tamanhos de discos, sendo mk discos de tamanho k, comearemos analisando casos menores: se temos somente um tamanho de disco, para mover a torre basta m1 movimentos. Com dois tamanhos de disco, primeiro vamos mover os m1 discos menores para um pino, em seguida os m2 discos maiores para o pino vazio e depois recolocaremos a torre de m1 discos menores sobre os m2 maiores, totalizando A(m1 , m2 )

= m1 + m2 + m1 =

2m1 + m2 . Percebemos que a generalizao desse problema anloga da torre original: movemos os mn discos do maior tamanho somente se movermos a torre de n 1 tamanhos menores de discos para outro pino, em seguida, aps ter movido os mn discos do maior tamanho, basta recolocar a torre de n 1 tamanhos menores de discos sobre os mn maiores. Portanto, a relao de recorrncia procurada : A(m1 ) A(m1 , . . . , mn )

= =

m1 , 2A(m1 , . . . , mn1 ) + mn . (1.19)

Essa uma equao do tipo "Josefus generalizada", isto , do tipo 1.18 com

= m1 e b = mk .
k

Logo a soluo de 1.19 :

A(m1 , . . . , mn )

= (m1 . . . =
2
n1

mn )2

m1 + + 2mn1 + mn .

2 A Recorrncia na Soma

Somas e relaes de recorrncia esto intimamente relacionadas. A soma


n

Sn

k=0

equivalente relao de recorrncia 1.14

S0 Sn

= =

a0 , Sn1 + an , n

1.

Podemos calcular, portanto, uma forma fechada para uma dada soma utilizando os mtodos do captulo anterior. Comearemos calculando a soma Qn dos n primeiros quadrados perfeitos pelo mtodo de compilao.

2.1 Mtodo de compilao


A soma Qn como:

= n=0 k2 dos n primeiros quadrados perfeitos pode ser escrita k

Q0 Qn

= =

0; Qn1 + n
2

> 0.

(2.1)

22

Uma generalizao da relao de recorrncia 1.15 ser su ciente para somarmos termos que envolvem n :
2

R0 Rn

= , =
Rn1 + + n + n
2

para n

> 0.

(2.2)

A soluo de 2.2 ser da forma geral:

Rn

= A(n) + B(n) + C(n) + D(n).

(2.3)

Perceba que j determinamos A(n), B(n) e C (n), pois 2.2 igual a 1.15 quando

= 0.

Basta encontrar uma equao que determine D(n), pra tanto

vamos tomar Rn

= n3 em 2.2, obtendo
0 n
3

= , = (n 1)3 + + n + n2 ,
para n

> 0.

= 0, = 1, = 3 e = 3, e ao colocarmos esses valores em n(n+1)(2n+1) 3 2.3 teremos B(n) 3C (n) + 3D(n) = n , donde D(n) = . 6
o que implica Estamos interessados na soma Qn de relao de recorrncia por 2.1, Portanto Qn

= n=0 k2 , representada sob a forma k que 2.2 com = 0, = 0, = 0 e = 1.

= D(n) e a forma fechada para a soma que procuramos :


Qn

n(n + 1)(2n + 1) 6

Calcularemos agora uma soma que nos dar uma generalizao um pouco diferente. Queremos calcular a soma alternada dos n primeiros quadrados perfeitos, ou seja, procuraremos a forma fechada para Pn

= n=0 (1)k k2 , k

que

escrita como relao de recorrncia adquire a seguinte forma

P0 Pn

= =

0, Pn1 + (1) n
n 2

> 0,

(2.4)

23

cuja generalizao

R0 Rn

= , =
Rn1 + (1)
n

+ (1)n n + (1)n n2 ,

para n

> 0.

(2.5) (2.6)

A soluo de 2.5 tem a forma geral:

Rn

= A(n) + B(n) + C(n) + D(n). , ,

(2.7)

Vamos partir para a compilao, lembrando sempre que escolhemos funes Rn de forma que ao descobrir os valores dos parmetros e

substitui-los em 2.7 encontremos equaes simples e mais fceis de resolver. Comearemos com Rn

= 1.

Ao substituir essa funo em 2.5 temos

1 1

= , =
1 + (1)
n

+ (1)n n + (1)n n2 ,

para n

> 0,

o que implica que A(n)

= 1 e = = = 0.

Substituindo esses valores em 2.7 temos

= 1. = (1)n em 2.5 teremos

Tomando Rn

= ,
para n

(1)n = (1)n1 + (1)n + (1)n n + (1)n n2 ,


donde

> 0,

= 1, = 2 e = = 0. Ao substituir os valores dos parmetros em 2.7 (1) +1 n obtemos A(n) + 2B(n) = (1) , donde B(n) = . 2
n

Ao substituir Rn

= (1)n n em 2.5 teremos

= ,
para n

(1)n n = (1)n1 (n 1) + (1)n + (1)n n + (1)n n2 ,

> 0,

24

= 0, = 1, = 2 e = 0, que ao serem substitudos em 2.7 nos d B(n) + 2C(n) = (1)n n. Logo, C(n) = (1) 2n+(1) +1 . 4
donde
n n

Finalmente, escolhendo Rn

= (1)n n2 em 2.5 temos

= ,
para n

(1)n n2 = (1)n1 (n 1)2 + (1)n + (1)n n + (1)n n2 ,


o que implica parmetros D(n)

> 0,

= 0, = 1, = 2 e = 2. Substituindo os valores dos n 2 em 2.7 obtemos B(n) 2C (n) + 2D(n) = (1) n , logo teremos
2

(1)n (n2 +n)

Estamos interessados na soma Pn

= n=0 (1)k k2 , k

representada sob a

forma de relao de recorrncia por 2.4, que um caso particular de 2.5 com

= 0, = 0, = 0 e = 1.
que procuramos :

Portanto Pn

= D(n) e a forma fechada para a soma .

P(n)

(1)n (n2 + n)
2

2.2 Fator Somante


Assim como muitas somas podem ser escritas como relaes de recorrncia, estas tambm podem ser reduzidas a somas, portanto vamos estudar um mtodo especial para resolver relaes de recorrncia que poderiam ter uma resoluo complicada por outros mtodos. Vamos comear por um exemplo familiar, a Torre de Hani:

T0 Tn

= =

0, 2Tn1 + 1, para n

> 0.

25

Colocaremos esta relao numa forma similar a 1.14.Para tanto, basta dividir os dois lados de 1.10 por 2 : T0 20 Tn 2 Podemos tomar Sn
n n

= =

0; Tn1 2
n1

1 2n

para n

> 0.

2n

Tn

para obter

S0 Sn

= =

0; Sn1 + 2
n1

para n

> 0.

Ento 1.10 se transforma em

Sn

k=1

2 .
k

(Note que deixamos de fora da soma o termo com k

= 0)

Para calcular essa soma, vamos utilizar uma truque parecido com o que foi utilizado na seo 1.1 para calcular a soma dos n primeiros nmeros naturais:

Sn

rSn (1 r)Sn
Logo,

= = =

+ +

r r

+ +

2 2

+ + rn1 + rn1 ++ 0 +

n n

r 0

n+1

r n+1

(1 r)Sn =
Sn

1r

n+1 n+1

1r

(1 r)

(2.8)

Como na nossa soma r

1 ,temos: 2 n+1

Sn

1 2 1 2

= 2

1 2

26

No entanto, ao fazer tal truque acabamos por somar a unidade referente a k logo temos que subtrair 1 do resultado que encontramos: 1 2
n

= 0,

Sn

= 1

Lembrando que queremos calcular a forma fechada para o problema da Torre de Hani, como Sn

2n

Tn

, tornou-se simples encontrar a soluo:

Tn

= = =

Sn 2

1 2
n

1 2

1.

A questo a ser respondida agora : como saberemos por qual fator dividir a relao de recorrncia? Tal truque reduz praticamente qualquer relao recorrente da forma an Tn

= bn Tn1 + cn

(2.9)

a uma soma. A idia multiplicar ambos os lados por um fator somante sn :

sn an Tn

= sn bn Tn1 + sn cn .

Tal fator escolhido de forma que

sn bn

= sn1 an1 .

Ento escrevendo Sn

= sn an Tn obtemos
sn an Tn Sn

= =

sn1 an1 Tn1 + sn cn Sn1 + sn cn .

Como em toda relao de recorrncia temos que de nir S0 , de niremos como s0 a0 T0 , logo Sn
n

= s0 a0 T0 + sk ck
k=1

27

como sn bn

= sn1 an1 , temos s1 b1 = s0 a0 , o que implica


Sn

= s1 b1 T0 + sk ck .
k=1

Mas como queremos encontrar a soluo de 2.9, sabendo que Sn temos que: Sn sn an 1 sn an s1 b1 T0 +

sn an Tn ,

Tn

= =

Tn

k=1

s c

k k

(2.10)

Resta ainda saber como vamos encontrar o fator somante sn correto que resolve 2.9. A relao sn bn

sn1 an1 , ou seja sn

sn1 an1 bn

, pode ser ex-

pandida, nos dizendo que a frao

sn

an1 an2 . . . a1 bn1 bn2 . . . b2

(2.11)

ou qualquer mltiplo constante desse valor, ser um fator somante apropriado. No caso da Torre de Hani, por exemplo, an sn

= 2n2 .

= 1 e bn = 2, fazendo com que n , que um mltiplo consNo nosso exemplo, escolhemos sn = 2

tante do fator somante encontrado usando 2.11.

Vamos aplicar esse mtodo a uma relao de recorrncia cuja soluo seria um pouco mais difcil de encontrar pelos mtodos do capitulo 1:

T0 2Tn

= =

5, nTn1 + 3n!, n

> 0.

(2.12)

Nesse caso an temos:

= 2, bn = n e cn = 3n!.
n1 vezes

Substituindo esses valores em 2.11,

sn

2.2.2 . . . 2 n.(n 1) . . . 2

n1

n!

28

Logo, ao substituir esse valor, juntamente com os respectivos valores de an , bn e cn , em 2.10 vamos obter: 1 sn a n 1
2n1 n! n

Tn

= = = = =

s1 b1 T0 +

k=1

s c
1 n

k k k1

.2

1.1.5 +
n

k=1

k!

.3k!
usando o resultado encontrado em 2.8, temos que:

n! 2
n

5+3

k=1

2
k

n! 2
n

(5 + 3(2n 1)), + 3n!.

ento chegamos soluo de 2.12:

n! 2n1

Referncias Bibliogr cas

[1] GRAJAM,Ronald

J.,

KNUTH,

Donald

E.,

PATASHNIK,Oren.

Matemtica Concreta: Fundamentos para a Cincia da Computao.Rio de Janeiro.Livros Tcnicos e Cient cos Editora, 1995. [2] SANTOS, J.Plnio O., MELLO, Margarida P., MURARI, Idani T.C. Introduo Anlise Combinatria. Campinas. Editora da UNICAMP, 2002.

You might also like