You are on page 1of 9

EQUAÇÕES DE RECORRÊNCIA

Héctor Soza Pollman - Universidade Católica do Norte Antofagasta, Chile
x Nível Avançado Frenqüentemente em teoria da Computação (ver exemplo [2]), ao analisar o tempo de execução de um algoritmo (ou o espaço ocupado na memória pelos dados), obtemos uma (ou mais) equações discretas, chamadas de Equações de Recorrência, cuja incógnita é uma função inteira f(n), que geralmente é uma função do tamanho n do problema (por exemplo: a quantidade de dados a ordenar se é um algoritmo de ordenamento). Esta equação resulta ser uma relação entre f(n) e seus valores prévios, como são f(n – 1), f(n / 2), ou outro. Além disso se conhecemos o algoritmo analisado com detalhe, podemos estabelecer um valor de bordo num ponto dado (como f(0) por exemplo). Neste artigo são apresentados alguns dos métodos desenvolvidos para resolver este tipo de equações, as quais aparecem em ordem de dificuldade. Os tipos de equações de recorrência a serem consideradas são as seguintes, em que a incógnita é a sucessão x n com n ≥ 0 :
1. EQUAÇÃO LINEAR DE PRIMEIRA ORDEM COM COEFICIENTES DE VALOR INTEIRO 1.

O tipo mais simples de equação de recorrência de primeira ordem é: x n +1 = x n + bn , n ≥ 0 em que x 0 e a sucessão bn são dados do problema. Sua resolução faz uso da propriedade telescópica da soma obtendo: x n = x 0 + ∑ bi , n ≥ 1
i =0 n −1

Exemplo: Para a equação: x n = 2 , n ≥ 0.
n

x n +1 = x n + 2 n , n ≥ 0,

com

x 0 = 1,

obtemos

2. EQUAÇÃO LINEAR DE PRIMEIRA ORDEM COM COEFICIENTES CONSTANTES.

A equação linear de primeira ordem com coeficientes constantes é:

podemos mover os n – 1 primeiros discos para a segunda vareta. Dadas três varetas e n discos de distintos tamanhos colocados na primeira vareta em ordem de tamanho (do menor ao maior). ao analisar como são distribuídos os movimentos.a a S n = n −1 n − 2 1 0 .. depois mover o último disco para a terceira vareta e por fim mover os n − 1 primeiros discos para a terceira vareta. sem colocar um disco de tamanho maior sobre um de tamanho menor (para maiores explicações ver [4]). se x n é a quantidade de movimentos para mover os n discos desde a primeira à terceira vareta (com n ≥ 0). que. n ≥ 0 em que x 0 e as sucessões numéricas a n . bn e cn são dados do problema (as sucessões a n e bn não devem ser nulas). dada uma solução do problema de Hanoi com n – 1 discos em x n −1 movimentos. n ≥ 0 S n an i =1 O fator somante é obtido a partir da condição (1) e considerando que S 0 = 1 : a a . podemos provar..a n x n = bn x n −1 + c n . n ≥ 1 bn bn −1 . e que sua solução é: n 1 xn = ( S 0 a 0 x 0 + ∑ S i ci ). mover estes n discos desde a vareta inicial até a terceira usando a segunda como auxiliar. Para resolver esta equação ela deve ser multiplicada pelo fator S n (chamado fator somante): S n a n x n = S n bn x n −1 + S n c n Impõe-se a condição: S n bn = S n −1 a n −1 (1) com o qual obtemos: S n a n x n = S n −1 a n −1 x n −1 + S n c n Observa-se que a equação anterior se reduz a uma de primeiro tipo.. gastando x n −1 + 1 + x n −1 = 2 x n −1 + 1 . então: x n = 2 x n −1 + 1.b2 b1 EXEMPLO: AS TORRES DE HANOI. n ≥ 1 com x 0 = 0. Se x n é a quantidade de movimentos para levar os n discos da primeira a terceira vareta. De fato..

.... e substituindo em (2) temos: a k λn + k + a k −1λ n + k −1 + .. ..α 2 . por exemplo..movimentos... n ≥ 0 (2) em que a 0 . em que λ é um parâmetro inteiro. 3. k – 1 (correspondem aos valores de bordo). DE PRIMEIRA ORDEM COM Considere a equação: a k x n + k + a k −1 x n + k −1 + . Logo.. e os valores de xi são conhecidos para i = 0. + a 0 um polinômio.. Neste caso temos que o fator somante resulta ser: S n = 1 . Supondo que a equação (2) admite uma solução do tipo: x n = λ n . ... respectivamente... λ r com multiplicidades α1 .α r ∈ N .. a 2n solução da equação das torres de Hanoi é: x n = 2 n − 1. + a 0 x n = 0. EQUAÇÕES HOMOGÊNEAS COEFICIENTES CONSTANTES. Deixamos como exercício para o leitor provar que é impossível resolver este problema usando uma quantidade menor de movimentos.... 1 ≤ i ≤ r (em particular. + Qr (n)λn .. a k são sucessões independentes de n. 2 r onde Q1 .. Não é difícil verificar os seguintes fatos: i) Se ( X n ) e (Yn ) satisfazem Rec ( P ( x)) e c ∈ C então ( Z n ) = X n + cYn satisfaz Rec ( P ( x )) .... Dizemos que uma seqüência ( x n ) n∈N satisfaz a propriedade Rec ( P ( x)) se a k x n + k + a k −1 x n + k −1 + . Qr são polinômios com grau (Qi ) < α i .. se λi é uma raíz simples então Qi é constante).. então as soluções de (2) são n exatamente as seqüências ( x n ) da forma xn = Q1 (n)λ1 + Q2 (n)λn + . + a 0 x n = 0..... Seja P ( x) = a k x k + a k −1 x k −1 + . que para n = 3 devem ser realizados 7 movimentos. + a 0 λ0 = 0 Vamos mostrar que se esta equação tem as raízes complexas λ1 . + a 0 λ n = 0 Se λ ≠ 0 então obtemos a equação característica associada a equação (2): a k λk + a k −1λ k −1 + . ∀ n ∈ N . n ≥ 0 Observamos..

.. (Yn ) satisfaz Rec (( x − 1) m ). β k são complexos ~ ~ ~ n distintos e Pi ≠ 0. vamos mostrar que se existem polinômios P1 .... Por iii) e iv). Z n = Yn +1 − Yn (com Z 0 = Y0 ). para ver que. e em geral. ( Z n ) satisfaz Rec (( x − 1) m −1 ) (por hipótese de indução). + Pk ( n) β kn (onde 1. β 2 . mostra que se ( P ( x) = ( x − λ1 ) α1 ( x − λ 2 ) α 2 ... X n = Q( n)λ n satisfaz Rec (( x − λ ) m ). Para terminar a prova. + a 0 X n+ j ) = 0. j =0 k iv) Se S n = ∑ x k então ( x n ) satisfaz Rec ( P ( x )) se e só se ( S n ) satisfaz Rec k =0 (( x − 1) P ( x)) (escreva x n + j +1 = S n + j +1 − S n + j e substitua em ∑ a j x n+ j +1 = 0). e grau (Qi ) < α i para 1 ≤ i ≤ r n então x n = ∑ Qi (n)λ i satisfaz Rec ( P ( x)) . combinada com ii). j =0 n Por iii).. Isso é claro se m = 1. ∀n ∈ N ) j =0 r iii) ( X n ) satisfaz Rec ( P ( x )) se e só se (Yn ) = X n λ n satisfaz Rec ( P (λX )) n+ j (substitua X n + j = λ Yn + j em n ( ) ∑ a j X n+ j = 0). + Pk ( n) β kn .ii) Se Q( x) = br X r + br −1 X r −1 + . + b0 e ( X n ) satisfaz Rec ( P ( x)) então ( X n ) satisfaz Rec ( P ( x)Q( x)) (isso segue de ∑ b j (a k X n+ j +k + a k −1 X n + j + k −1 + . o que faremos por indução.. onde . por (iv). ∀i ≥ 2 ) então Yn = P1 ( n) + P2 ( n) β 2 + . onde grau Qi < α i para ~ 2 ≤ i ≤ r e grau Q1 < α 1 − 1. P2 ... e logo. i =1 r Para ver que se ( x n ) satisfaz Rec ( P ( x )) então x n é da forma acima.. usaremos indução novamente.... basta ver que (Yn ) = ( Q ( n) ) satisfaz Rec (( x − 1) m ). se ~ Z n = Yn +1 − Yn = Q( n + 1) − Q( n)..( x − λ r ) α r .. Essa observação. como Q ( x) = Q ( x + 1) − Q ( x ) tem grau menor que m – 1. Z n satisfaz Rec ( P (λ1 x) ( x − 1)) e. n Supomos λ1 ≠ 0 e tomamos Yn = X n λ1 . ~ ~ ~ ~ Z n = Q1 ( x) + Q2 ( x)(λ 2 λ1 ) n + . Pk tais n que Yn +1 − Yn = P1 ( n) + P2 ( n) β 2 + . portanto por hipótese de indução. + Qr ( x)(λ r λ1 ) n .... para todo polinômio Q(x) de grau menor que m.

∀n ∈ N . onde P( x) = a n x + a k −1 x k −1 + . m +1 Nesse caso definimos c n ~ ~ ~ Yn = Yn − m . Yn é constante e. então. e como X n = λ1 Yn o resultado segue imediatamente). Assim.. Yn (e logo Yn ) é da forma desejada. c m ≠ 0. em geral... Exemplo: x n = sen( nα ) satisfaz uma recorrência linear. Yn = a k x n + k + a k −1 x n + k −1 + . Por hipótese de indução. Pk são polinômios com grau Pi = grau Pi para i ≥ 2 e grau P1 = grau P1 + 1. então Yn +1 − Yn = 0. x n +1 = sen( nα + α ) = sen( nα ) cos α + cos(nα ) senα ⇒ x n + 2 = sen(nα + 2α ) = sen( nα ) cos 2α + cos(nα ) sen2α ⇒ sen2α sen2α ⇒ x n+ 2 − x n +1 = (cos 2α − cos α ) x n ... ∀n. consideramos 2 casos: a) P1 ( x) = c m x m + c m −1 x m −1 + . Note que x n não parece ser da forma geral descrita nesta seção. se definirmos teremos Yn +1 = Yn ... grau b) P2 ( x) = d s x s + d s −1 x s −1 + . De fato. + a 0 . e logo. definimos d ns λn ~ ~ ~ n Yn = Yn − s 2 . se a soma dos graus de Pi é –1... onde convencionamos que o grau do polinômio nulo é –1. + c0 . por indução na soma dos graus dos polinômios Pi . + Pk ( n) β kn ... Yn (e logo Yn ) é da forma desejada.. + Pk (n) β kn . + a 0 x n é um xn = . mas de fato. com m +1 ~ Q < m. Se ( x n ) satisfaz Rec (( x − 1) P ( x)) .. Para provar essa afirmação observamos inicialmente que. + a 0 x n .. e temos Yn +1 − Yn = P1 (n) + Q(n) β 2 + P3 (n) β 3n + .~ ~ ~ ~ P1 . e inα − e − inα 1 iα n 1 −iα n 1 1 = (e ) − (e ) = (cosα + isenα ) n − (cosα − isenα ) n 2i 2i 2i 2i 2i k Obs. e temos Yn +1 − Yn = Q1 (n) + P2 ( n) β 1n + . Nesse caso. ou seja. d s ≠ 0. λ2 − 1 ~ com grau Q < s. a k x n + k + . senα senα x n + 2 = 2 cos αX n +1 − X n . ou seja. Yn é constante. Por hipótese de indução.... n (no nosso caso temos β i = λ i λ1 .. + d 0 .

EXEMPLO: OS NÚMEROS DE FIBONACCI. Supondo que y n satisfaça b y n +  + b−1 y n + −1 + . A sucessão que lhes dá origem é: f n + 2 = f n +1 + f n . n ≥ 0 em que f 0 e f 1 são dados. 4.. se n converge a infinito n então λ 2 converge a zero. e a fração f n +1 f n converge a λ1 .. + a 0 x m +  ) + b−1 ( a k x m + −1+ k + . + a 0 x m ) = 0.invariante da seqüência x n .. o que é uma observação útil para muitos problemas olímpicos.. + b0 y n = 0. cujas soluções são: 1+ 5 1− 5 .. b1 . b são constantes... EQUAÇÕES NÃO HOMOGÊNEAS DE PRIMEIRA ORDEM COM COEFICIENTES CONSTANTES. Veja o problema 3 da IMO.. etc. onde b0 . f n é da ordem de λ1 . b0 (a k x m + k + .. n ≥ 0 2 5 λ1 = Observa-se que os valores associados a esta sucessão são todos inteiros.... onde a 0 . Por exemplo: f 3 = 2. λ2 = 2 2 Considerando as condições do bordo a solução geral da equação de Fibonacci é (ver [3]): 1 n fn = (λ1 − λn ).... f 4 = 3. + a 0 x n = y n .. obtemos o polinômio característico λ2 − λ − 1 = 0. + a 0 x m + −1 ) + . portanto.. considerando f 0 = 0 e f 1 = 1. .. Podemos comprovar que. Ao aplicar o método analisado. observamos que b ( a k x m + + k + . a k são constantes e y n satisfaz uma equação homogênea de primeira ordem com coeficientes constantes. A equação mencionada é do tipo: a k x n + k + a k −1 + .. a1 ..

n ≥ 1. C. se n é multiplo de 4. + a 0 ) ⋅ (b x  + b−1 x −1 + . 1. Ou seja. temos uma equação homogênea de primeira ordem com coeficientes constantes. yn =  0. D..ou seja. Assim... na verdade. x n − x n −1 =  0. caso contrário x 0 = 0. E constantes. –1. B. se n é multiplo de 4. considerando as condições de bordo. A.. n ≥ 0. x n = ( An + B ) ⋅ 1n + C ⋅ ( −1) n + D ⋅ i n + E ⋅ ( −1) n . satisfaz a recorrência. i . Pode-se demonstrar que a equação característica da recorrência é: (a k x k + a k −1 x k −1 + . caso contrário = y n ⇔ y n + 4 − y n = 0. x3 − x 2 = 0 ⇔ x3 = 0. ( x n + 4 − x n +3 ) − ( x n − x n −1 ) = 0 ⇔ x n + 4 − x n + 3 − x n + x n −1 = 0 e x 0 = 0. De fato. n 3 ( −1) n (1 + i ) n (1 − i ) xn = − + + ⋅i + ⋅ ( −i ) n ⇔ 4 8 8 8 8 n i n ((1 + i ) + ( −1) n (1 − i )) + ( −1) n − 3 xn = + 4 8 n (É interessante notar que. x 2 − x1 = 0 ⇔ x 2 = 0. Exemplo 1: Considere a seguinte equação de recorrência 1. x1 − x 0 = 0 ⇔ x1 = 0.) 4 Exemplo 2: Seja a seguinte equação de recorrência. y n+4 A equação característica é x 5 − x 4 − x + 1 = 0 ⇔ ( x 4 − 1) ⋅ ( x − 1) = 0 a qual possui as raízes 1 (raiz dupla). x 4 − x3 = 1 ⇔ x 4 = 1. x n =  . + b0 ) = 0. que considera logaritmos em base 2: . – i.

a solução final é: k f (n) = 3 log 2 n − log 2 log 2 n − 2. k ≥ 0 A solução só tem resultados inteiros para os valores de n mencionados. voltando a variável n original. etc. k ≥ 0 Logo. n = 2 2 . 0 . Procedendo como acima ∆ obtemos: x k + 2 − 4 x k +1 + 5 x k − 2 x k −1 = 0 cuja solução considerando a condição do bordo é: x k = −2 − k + 3 ⋅ 2 k . log 2 log 2 n = k Ao efetuar essas substituições na equação obtemos: x k − 2 x k −1 = k (3) onde: k x k = f ( n) = f ( 2 2 ) x0 = f (2 2 ) = 1 A equação (3) é uma equação não homogênea. Este é: k −1 k n = 2 2 . f (16) = 8. Por exemplo: f (4) = 3.f (n) = 2 f ( n ) + log 2 log 2 n. Deixamos a prova deste fato como exercício para o leitor. o qual significa que haverá solução só para os valores de n que tome com este cambio. n = 2 2 . n ≥ 3 f (2) = 1 Neste caso aplicamos uma troca de variável para ir desta equação a uma equação linear. e poder resolvê-la.