Relações de Recorrência
Profa. Sheila Morais de Almeida
DAINF-UTFPR-PG
junho - 2018
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 1 / 102
Este material é preparado usando como referências os textos dos seguinteslivros.
Thomas H. CORMEN, Charles E. LEISERSON, Ronald L. RIVEST, Cli�ordSTEIN. Introduction to Algorithms, 2nd ed., 2001.
Kenneth ROSEN. Discrete Mathematics and Its Applications.McGraw-Hill Education, 6th edition (July 26, 2006).
Udi Manber. Introduction to Algorithms: a creative approach., 1st ed.,1989.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 2 / 102
Relações de Recorrência - Exemplo 1
Considere o seguinte problema:
Número de bactérias na colônia
• O número de bactérias em uma colônia dobra a cada hora.
• A colônia se iniciou com 5 bactérias.
• Quantas bactérias existirão em n horas?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 3 / 102
Relações de Recorrência - Exemplo 1
Seja an o número de bactérias após n horas.
• O número de bactérias em uma colônia dobra a cada hora.Então para qualquer an, sabemos que an = 2an−1.
• A colônia se iniciou com 5 bactérias.Então sabemos que a0 = 5
• Quantas bactérias existirão em n horas?É possível construirmos uma fórmula para determinar o valor de an?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 4 / 102
Relações de Recorrência - Exemplo 1
an =
{5, se n = 0,2an−1, se n > 0.
É uma relação de recorrência.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 5 / 102
Relações de Recorrência - De�nição
Relação de Recorrência
Uma relação de recorrência para uma sequência an é uma equação queexpressa an a partir
• dos primeiros termos da sequência (um ou mais primeiros termos); e
• de uma regra para determinar os próximos termos a partir daquelesque os precedem.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 6 / 102
Relações de Recorrência - De�nição
Dizemos que uma sequência satisfaz a relação de recorrência quandoseus termos obedecem a regra da relação de recorrência.
Dizemos que uma equação é uma solução para a relação de
recorrência se, para todo n, a equação calcula o mesmo termo an que aregra da relação de recorrência.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 7 / 102
Relações de Recorrência - Exemplo 2
an =
3, se n = 0,5, se n = 1,an−1 − an−2, se n > 1.
Quais os valores de a2 e a3?a2 = a2−1 − a2−2 = a1 − a0 = 5− 3 = 2.
a3 = a3−1 − a3−2 = a2 − a1 = 2− 5 = −3.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 8 / 102
Relações de Recorrência - Exemplo 2
an =
3, se n = 0,5, se n = 1,an−1 − an−2, se n > 1.
Quais os valores de a2 e a3?a2 = a2−1 − a2−2 = a1 − a0 = 5− 3 = 2.
a3 = a3−1 − a3−2 = a2 − a1 = 2− 5 = −3.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 9 / 102
Relações de Recorrência - Exemplo 3
Pergunta: an = 3n, para todo inteiro não-negativo n, é solução para arelação de recorrência an = 2an−1 − an−2, n ≥ 2?
Suponha que an = 3n é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Então, para n ≥ 2, an = 2an−1 − an−2 = 2[3(n − 1)]− 3(n − 2) =2[3n − 3]− (3n − 6) = 6n − 6− 3n + 6 = 3n.
Portanto, sim! an = 3n é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 10 / 102
Relações de Recorrência - Exemplo 3
Pergunta: an = 3n, para todo inteiro não-negativo n, é solução para arelação de recorrência an = 2an−1 − an−2, n ≥ 2?
Suponha que an = 3n é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Então, para n ≥ 2, an = 2an−1 − an−2 = 2[3(n − 1)]− 3(n − 2) =2[3n − 3]− (3n − 6) = 6n − 6− 3n + 6 = 3n.
Portanto, sim! an = 3n é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 11 / 102
Relações de Recorrência - Exemplo 3
Pergunta: an = 2n, para todo inteiro não-negativo n, é solução para arelação de recorrência an = 2an−1 − an−2, n ≥ 2?
Suponha que an = 2n é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Então, para n ≥ 2, an = 2an−1 − an−2 = 2[2n−1]− 2n−2 = 2n − 2n−2 =(22)(2n−2)− 2n−2 = 3(2n−2).
Então quando n = 2 temos: 2n = 22 = 3(2n−2) = 3(20), ou seja, 4 = 3,que é falso!
Portanto, não! an = 2n não é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 12 / 102
Relações de Recorrência - Exemplo 3
Pergunta: an = 2n, para todo inteiro não-negativo n, é solução para arelação de recorrência an = 2an−1 − an−2, n ≥ 2?
Suponha que an = 2n é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Então, para n ≥ 2, an = 2an−1 − an−2 = 2[2n−1]− 2n−2 = 2n − 2n−2 =(22)(2n−2)− 2n−2 = 3(2n−2).
Então quando n = 2 temos: 2n = 22 = 3(2n−2) = 3(20), ou seja, 4 = 3,que é falso!
Portanto, não! an = 2n não é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 13 / 102
Relações de Recorrência - Exemplo 3
Pergunta: an = 5, para todo inteiro não-negativo n, é solução para arelação de recorrência an = 2an−1 − an−2, n ≥ 2?
Suponha que an = 5 é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Então, para n ≥ 2, an = 2an−1 − an−2 = 2(5)− 5 = 5.
Portanto, sim! an = 5 é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 14 / 102
Relações de Recorrência - Exemplo 3
Pergunta: an = 5, para todo inteiro não-negativo n, é solução para arelação de recorrência an = 2an−1 − an−2, n ≥ 2?
Suponha que an = 5 é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Então, para n ≥ 2, an = 2an−1 − an−2 = 2(5)− 5 = 5.
Portanto, sim! an = 5 é solução para a relação de recorrênciaan = 2an−1 − an−2, para n ≥ 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 15 / 102
Relações de Recorrência - Propriedade
Observação
A determinação dos termos iniciais é que de�ne unicamente a sequência deuma relação de recorrência.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 16 / 102
Relações de Recorrência - Exemplo 4
Problema de Fibonacci
• Um jovem casal de coelhos é colocado em uma ilha.
• Um casal de coelhos não procria até que eles tenham dois meses deidade.
• Depois que eles completam dois meses de idade, cada casal de coelhosproduz outro casal todo mês.
• Suponha que nenhum coelho morra, encontre a relação de recorrênciapara o número de casais de coelhos na ilha após n meses.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 17 / 102
Relações de Recorrência - Exemplo 4
• Um jovem casal de coelhos é colocado em uma ilha.a0 = 1
• Um casal de coelhos não procria até que eles tenham dois meses deidade.a1 = 1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 18 / 102
Relações de Recorrência - Exemplo 4
• Depois que eles completam dois meses de idade, cada casal de coelhosproduz outro casal todo mês.
• todos que existiam no mês passado contam. São an−1.
• todos os casais que existem a pelo menos dois meses se reproduzem e
criam mais um casal cada.
Quantos casais existem há pelo menos dois meses? an−2
Então são criados an−2 novos casais.
• Somando todos: an = an−1 + an−2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 19 / 102
Relações de Recorrência - Exemplo 4
• Depois que eles completam dois meses de idade, cada casal de coelhosproduz outro casal todo mês.
• todos que existiam no mês passado contam. São an−1.
• todos os casais que existem a pelo menos dois meses se reproduzem e
criam mais um casal cada.
Quantos casais existem há pelo menos dois meses? an−2
Então são criados an−2 novos casais.
• Somando todos: an = an−1 + an−2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 20 / 102
Relações de Recorrência - Exemplo 4
Relação de recorrência para o Problema de Fibonacci:
an =
1, se n = 0,1, se n = 1,an−1 + an−2, se n > 1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 21 / 102
Relações de Recorrência - Exemplo 5
Um jogo com:
• três pinos;
• um conjunto de discos;
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 22 / 102
Relações de Recorrência - Exemplo 5
Começo do jogo: os discos estão dispostos no pino mais a esquerda, emordem decrescente de tamanho (o maior embaixo).
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 23 / 102
Relações de Recorrência - Exemplo 5
Cada movimento permite ter somente um disco fora dos pinos.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 24 / 102
Relações de Recorrência - Exemplo 5
Cada disco pode ser retirado de um pino e colocado em outro.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 25 / 102
Relações de Recorrência - Exemplo 5
Não é permitido um disco ser colocado sobre outro menor que ele.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 26 / 102
Relações de Recorrência - Exemplo 5
O objetivo é transferir a torre toda do pino da esquerda para o pino dadireita.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 27 / 102
Relações de Recorrência - Exemplo 5
Problema das Torres de Hanoi
Encontre uma relação de recorrência para determinar o número demovimentos necessários para transferir uma torre com n discos.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 28 / 102
Relações de Recorrência - Exemplo 5
Com 1 disco: 1 movimento.
Com dois discos: 3 movimentos.
Com n discos:
• número de movimentos necessários para mover os n − 1 primeirosdiscos para o pino do meio
• mais um movimento para mover o maior disco para o pino da direita
• mais número de movimentos para mover os n − 1 discos do pino domeio para o pino da direita.
• Somando tudo: 2an−1 + 1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 29 / 102
Relações de Recorrência - Exemplo 5
Relação de recorrência para o Problema das Torres de Hanoi:
an =
{1, se n = 1,2an−1 + 1, se n > 1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 30 / 102
Relações de Recorrência - Exemplo 5
Resolva a relação de recorrência do Problema das Torres de Hanoi:
an =
{1, se n = 1,2an−1 + 1, se n > 1.
Método iterativo:
an = 2an−1 + 1 = 2(2an−2 + 1) + 1 = 22an−2 + 2+ 1 =
22(2an−3 + 1) + 2+ 1 = 23an−3 + 22 + 2+ 1 = . . .
2n−1a1 + 2n−2 + 2n−3 + . . .+ 2+ 1 =
2n−1 + 2n−2 + 2n−3 + . . .+ 2+ 1 =
2n − 1
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 31 / 102
Relações de Recorrência - Exemplo 6
Problema das sequências de bits de tamanho n sem zeros consecutivos
Qual a relação de recorrência que determina o número de sequências debits de tamanho n que não possuem dois zeros consecutivos?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 32 / 102
Relações de Recorrência - Exemplo 6
para n = 1, há duas sequências:
• 0
• 1
Observe que nenhuma possui zeros consecutivos.
Então a1 = 2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 33 / 102
Relações de Recorrência - Exemplo 6
para n = 2, há quatro sequências:
• 00
• 01
• 10
• 11
Observe que uma delas possui dois zeros consecutivos.
Então a2 = 3
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 34 / 102
Relações de Recorrência - Exemplo 6
Para n bits, há dois casos:
• Caso 1: a sequência tem n bits e termina com um bit 1.
• Caso 2: a sequência tem n bits e termina com um bit 0.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 35 / 102
Relações de Recorrência - Exemplo 6
Para n bits, há dois casos:
• Caso 1: a sequência tem n bits e termina com um bit 1.Se a sequência termina com um bit 1, então o penúltimo bit pode ser0 ou 1, tanto faz.
Então todas as sequências com n − 1 bits que não possuem zerosconsecutivos quando concatenadas com um bit 1 estão nesse caso.
Então o número de sequências nesse caso é an−1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 36 / 102
Relações de Recorrência - Exemplo 6
Para n bits, há dois casos:
• Caso 2: a sequência tem n bits e termina com um bit 0.Se a sequência termina com um bit zero, então o penúltimo bit nãopode ser zero, tem que ser 1.
Então os dois últimos bits da sequência são 10.
Então basta considerar todas as sequências com n − 2 bits que nãopossuem dois zeros consecutivos e concatenar cada uma delas com asequência 10.
Observe que mesmo se a sequência com n − 2 bits terminar em zeronão haverá problemas: XXXXXXX0 → XXXXXXX010.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 37 / 102
Relações de Recorrência - Exemplo 6
Para n bits, há dois casos:
• Caso 2: a sequência tem n bits e termina com um bit 0.Se a sequência termina com um bit zero, então o penúltimo bit nãopode ser zero, tem que ser 1.
Então os dois últimos bits da sequência são 10.
Então basta considerar todas as sequências com n − 2 bits que nãopossuem dois zeros consecutivos e concatenar cada uma delas com asequência 10.
Então o número de sequências nesse caso é o número de sequênciascom n − 2 bits que não têm dois zeros consecutivos, ou seja, an−2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 38 / 102
Relações de Recorrência - Exemplo 6
Para n bits, há dois casos:
• Caso 1: a sequência tem n bits e termina com um bit 1. → an−1
• Caso 2: a sequência tem n bits e termina com um bit 0. → an−2
Total de sequências: an−1 + an−2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 39 / 102
Relações de Recorrência - Exemplo 6
Relação de recorrência para o problema do número de sequências com nbits sem zeros consecutivos:
an =
2, se n = 1,3, se n = 2,an−1 + an−2, se n > 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 40 / 102
Relações de Recorrência - Exemplo 6
Relação de recorrência para o problema do número de sequências com nbits sem zeros consecutivos:
an =
2, se n = 1,3, se n = 2,an−1 + an−2, se n > 2.
Qual o valor de a5?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 41 / 102
Relações de Recorrência - Exemplo 6
Relação de recorrência para o problema do número de sequências com nbits sem zeros consecutivos:
an =
2, se n = 1,3, se n = 2,an−1 + an−2, se n > 2.
a5 = a4 + a3a4 = a3 + a2a3 = a2 + a1a2 = 3a1 = 2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 42 / 102
Relações de Recorrência - Exemplo 6
Relação de recorrência para o problema do número de sequências com nbits sem zeros consecutivos:
an =
2, se n = 1,3, se n = 2,an−1 + an−2, se n > 2.
a5 = a4 + a3a4 = a3 + a2a3 = a2 + a1 = 3+ 2 = 5a2 = 3a1 = 2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 43 / 102
Relações de Recorrência - Exemplo 6
Relação de recorrência para o problema do número de sequências com nbits sem zeros consecutivos:
an =
2, se n = 1,3, se n = 2,an−1 + an−2, se n > 2.
a5 = a4 + a3a4 = a3 + a2 = 5+ 3 = 8a3 = a2 + a1 = 3+ 2 = 5a2 = 3a1 = 2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 44 / 102
Relações de Recorrência - Exemplo 6
Relação de recorrência para o problema do número de sequências com nbits sem zeros consecutivos:
an =
2, se n = 1,3, se n = 2,an−1 + an−2, se n > 2.
a5 = a4 + a3 = 8+ 5 = 13a4 = a3 + a2 = 5+ 3 = 8a3 = a2 + a1 = 3+ 2 = 5a2 = 3a1 = 2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 45 / 102
Relações de Recorrência - Exemplo 7
Problema da Enumeração de Códigos
• Suponha um sistema computacional que considera um código decimalválido se, e só se, o código possui um número par de zeros.
• Exemplo: 4789034908 é válido 82084020 não é válido.
• Quantos códigos decimais com n dígitos são válidos nesse sistemacomputacional?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 46 / 102
Relações de Recorrência - Exemplo 7
Para n = 1:
há 9 códigos válidos
há um código inválido: 0
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 47 / 102
Relações de Recorrência - Exemplo 7
Para n = 2:
Qualquer código válido com 1 dígito concatenado com qualquer dígito quenão seja zero: 92 possibilidades.
Qualquer código inválido com um dígito mais o dígito zero: 00 1possibilidade.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 48 / 102
Relações de Recorrência - Exemplo 7
Para uma sequência com n dígitos:
Qualquer código válido com n − 1 dígitos concatenado com qualquer dígitoque não seja zero: 9an−1 possibilidades.
Qualquer código inválido com n − 1 dígitos mais o dígito zero.
Pergunta: Quantos códigos inválidos com n − 1 dígitos existem?
Todos menos os válidos! Quantos códigos com n − 1 dígitos existem?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 49 / 102
Relações de Recorrência - Exemplo 7
Para uma sequência com n dígitos:
Qualquer código válido com n − 1 dígitos concatenado com qualquer dígitoque não seja zero: 9an−1 possibilidades.
Qualquer código inválido com n − 1 dígitos mais o dígito zero.
Pergunta: Quantos códigos inválidos com n − 1 dígitos existem?10n−1 − an−1
Todos menos os válidos! Quantos códigos com n − 1 dígitos existem?10n−1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 50 / 102
Relações de Recorrência - Exemplo 7
Para uma sequência com n dígitos:
Qualquer código válido com n − 1 dígitos concatenado com qualquer dígitoque não seja zero: 9an−1 possibilidades.
Qualquer código inválido com n − 1 dígitos mais o dígito zero.
Pergunta: Quantos códigos inválidos com n − 1 dígitos existem?10n−1 − an−1
Todos menos os válidos! Quantos códigos com n − 1 dígitos existem?10n−1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 51 / 102
Relações de Recorrência - Exemplo 7
Para uma sequência com n dígitos:
Qualquer código válido com n − 1 dígitos concatenado com qualquer dígitoque não seja zero: 9an−1 possibilidades.
Qualquer código inválido com n − 1 dígitos mais o dígito zero.
Pergunta: Quantos códigos inválidos com n − 1 dígitos existem?10n−1 − an−1
Todos menos os válidos! Quantos códigos com n − 1 dígitos existem?10n−1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 52 / 102
Relações de Recorrência - Exemplo 7
Para uma sequência com n dígitos:
Qualquer código válido com n − 1 dígitos concatenado com qualquer dígitoque não seja zero: 9an−1 possibilidades.
Qualquer código inválido com n − 1 dígitos mais o dígito zero.10n−1 − an−1 possibilidades.
Total de códigos válidos com n dígitos:
9an−1 + 10n−1 − an−1 = 10n−1 + 8an−1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 53 / 102
Relações de Recorrência - Exemplo 7
Número de códigos decimais com quantidade par de dígitos iguais a zero:
an =
{9, se n = 1,8an−1 + 10n−1, se n > 1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 54 / 102
Determinação a partir dos primeiros termos da sequência
Considere a relação de recorrência:
T (n) =
{5, se n = 0,2T (n − 1), se n > 0.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 55 / 102
Determinação a partir dos primeiros termos da sequência
O método da determinação a partir dos primeiros termos da sequênciaconsiste em identi�car um padrão para a relação de recorrência ao seconhecer os valores inciais da sequencia.
Vejamos o que acontece com os primeiros termos na relação de recorrênciaapresentada:
n T (n) T (n)reorganizado
0 5 51 2 · (5) 2 · 52 2 · (2 · (5)) 22 · 53 2 · (2 · (2 · (5))) 23 · 54 2 · (2 · (2 · (2 · (5)))) 24 · 5...
......
k 2 · (2 · (2 · 2(. . . 2 · (5)))) ?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 56 / 102
Determinação a partir dos primeiros termos da sequência
Observe que neste caso o valor de n coincide com o expoente em T (n):
n T (n) T (n)reorganizado
0 5 51 2 · (5) 21 · 52 2 · (2 · (5)) 22 · 53 2 · (2 · (2 · (5))) 23 · 54 2 · (2 · (2 · (2 · (5)))) 24 · 5...
......
k 2 · (2 · (2 · 2(. . . 2 · (5)))) ?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 57 / 102
Determinação a partir dos primeiros termos da sequência
Observando, podemos criar uma hipótese sobre a fórmula fechada paraT (k), onde k é um inteiro positivo qualquer:
n T (n) T (n)reorganizado
0 5 51 2 · (5) 21 · 52 2 · (2 · (5)) 22 · 53 2 · (2 · (2 · (5))) 23 · 54 2 · (2 · (2 · (2 · (5)))) 24 · 5...
......
k 2 · (2 · (2 · 2(. . . 2 · (5)))) 2k · 5
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 58 / 102
Determinação a partir dos primeiros termos da sequência
Para garantir que nossa hipótese é correta, podemos prová-la por indução.
Hipótese de indução: a solução da recorrência
T (n) =
{5, se n = 0,2T (n − 1), se n > 0.
é T (n) = 2n · 5.
Base: está no slide anterior.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 59 / 102
Determinação a partir dos primeiros termos da sequência
Passo da indução: Devemos provar que T (n + 1) = 2n+1 · 5.
Primeiro, observe que pela de�nição da relação de recorrência,T (n + 1) = 2T (n).
Pela hipótese de indução, T (n) = 2n · 5.
Substituindo a fórmula da hipótese na de�nição de T (n + 1), temos:
T (n + 1) = 2T (n) = 2 · (2n · 5) = 2n+1 · 5
Visto que a fórmula da nossa hipótese também responde corretamente parao caso n + 1, pode-se concluir que trata-se de uma fórmula fechada para arelação de recorrência dada.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 60 / 102
Expansão da Relação de Recorrência
Considere a mesma relação de recorrência:
T (n) =
{5, se n = 0,2T (n − 1), se n > 0.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 61 / 102
Expansão da Relação de Recorrência
O método da expansão consiste em substituir os termos da relação derecorrência pela fórmula dos mesmos em função de termos anteriores e, por�m, criar uma hipótese para a fórmula fechada.
Vejamos o que acontece na expansão da relação de recorrência apresentada:
n T (n) T (n)reorganizado
T (n) = 2T (n − 1) 21T (n − 1)= 2(2T (n − 2)) 22T (n − 2)= 2(2(2T (n − 3))) 23T (n − 3)= 2(2(2(2T (n − 4)))) 24T (n − 4)...
......
= 2(2(2(2 . . . 2T (0)))) 2?T (0)
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 62 / 102
Expansão da Relação de Recorrência
n T (n) T (n)reorganizado
T (n) = 2T (n − 1) 21T (n − 1)= 2(2T (n − 2)) 22T (n − 2)= 2(2(2T (n − 2))) 23T (n − 3)= 2(2(2(2T (n − 2)))) 24T (n − 4)...
......
= 2(2(2(2 . . . 2T (1)))) 2kT (n − k)
Resta saber qual o valor de k para que a fórmula seja escrita em função deT (0).
Isso vai acontecer quando n − k = 0. Então k = n.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 63 / 102
Expansão da Relação de Recorrência
n T (n) T (n)reorganizado
T (n) = 2T (n − 1) 21T (n − 1)= 2(2T (n − 2)) 22T (n − 2)= 2(2(2T (n − 2))) 23T (n − 3)= 2(2(2(2T (n − 2)))) 24T (n − 4)...
......
= 2(2(2(2 . . . 2T (0)))) 2kT (n − k)
Quando k = n: T (n) = 2nT (n − (n)) = 2nT (0) = 2n · 5.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 64 / 102
Expansão da Relação de Recorrência
n T (n) T (n)reorganizado
T (n) = 2T (n − 1) 21T (n − 1)= 2(2T (n − 2)) 22T (n − 2)= 2(2(2T (n − 2))) 23T (n − 3)= 2(2(2(2T (n − 2)))) 24T (n − 4)...
......
= 2(2(2(2 . . . 2T (0)))) 2kT (n − n)
Hipótese: T (n) = 2n · 5.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 65 / 102
Expansão da Relação de Recorrência
Para garantir que nossa hipótese é correta, podemos prová-la por indução.
Lembre-se que já �zemos essa prova hoje!
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 66 / 102
Relações de Recorrência na Análise de Algoritmos
Considere o a relação de recorrência da série de Fibonacci:
an =
1, se n = 0,1, se n = 1,an−1 + an−2, se n > 1.
Se nós computarmos F (k) utilizando essa de�nição, serão necessários k − 2passos.
É mais conveniente ter uma expressão na forma fechada para F (n).
Uma "expressão na forma fechada"é a "solução para a relação derecorrência."
Uma solução da relação de recorrência é uma fórmula capaz de computarF (k) em 1 (um) passo.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 67 / 102
Relações de recorrência: Palpite Inteligente
"Tentar adivinhar uma solução pode parecer um método não-cientí�co, mas,
deixando o nosso orgulho de lado, funciona muito bem para uma ampla classe
de relações de recorrência. Funciona ainda melhor quando não estamos
tentando achar a solução exata, mas um limite superior."
U. Mamber
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 68 / 102
Relações de recorrência: Palpite Inteligente
Considere a seguinte relação de recorrência, de�nida somente parapotências de 2:
{T (2) = 1,T (2n) ≤ 2T (n) + 2n − 1, se n > 2.
Observe que essa recorrência apresenta uma desigualdade.
Nós queremos apenas achar um limite superior para a relação derecorrência.
Queremos achar uma resposta na forma T (n) ∈ O(f (n)).
Também queremos que não haja uma diferença muito grande entre T (n) ef (n). (Queremos um limite superior justo.)
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 69 / 102
Relações de recorrência: Palpite Inteligente
Palpite para f (n): f (n) = n2.
Vamos provar que T (n) ∈ O(n2) por indução.
Base: T (2) = 1 ≤ f (2) = 22 = 4
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 70 / 102
Relações de recorrência: Palpite Inteligente
Por hipótese de induação, suponha que T (n) ≤ n2.
Na hipótese, n é uma potência de 2.
No temos que considerar a próxima potência de 2, ou seja, 2n.
Temos que provar que se a hipótese é verdadeira, então T (2n) ≤ (2n)2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 71 / 102
Relações de recorrência: Palpite Inteligente
Passo: T (2n) ≤ 2T (n) + 2n − 1 (pela de�nição da relação de recorrência)
Por hipótese de indução, T (n) ≤ n2, então:
T (2n) ≤ 2T (n) + 2n − 1 ≤ 2n2 − 2n − 1.
Como n > 0, temos:
T (2n) ≤ 2T (n) + 2n − 1 ≤ 2n2 − 2n − 1 ≤ 2n2 < 2n2 = (2n)2.
Portanto, T (n) ∈ O(n2).
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 72 / 102
Relações de recorrência: Palpite Inteligente
{T (2) = 1,T (2n) ≤ 2T (n) + 2n − 1, se n > 2.
Pergunta: f (n) = n2 é uma boa estimativa para T (n)?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 73 / 102
Relações de recorrência: Palpite Inteligente
No �nal da demonstração:
T (2n) ≤ 2T (n) + 2n − 1 ≤ 2n2 − 2n − 1 ≤ 2n2 < 2n2 = (2n)2
nós substituimos 2n2 − 2n − 1 por 4n2.
4n2 é bem maior!
Talvez o nosso palpite (n2) tenha sido muito alto.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 74 / 102
Relações de recorrência: Palpite Inteligente
Vamos tentar um palpite mais justo: f (n) = cn, para alguma constante cpositiva.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 75 / 102
Relações de recorrência: Palpite Inteligente
Vamos tentar um palpite mais justo: f (n) = cn, para alguma constante cpositiva. {
T (2) = 1,T (2n) ≤ 2T (n) + 2n − 1, se n > 2.
No passo vamos ter que provar que T (2n) ≤ c(2n).
Mas T (2n) = 2T (n) + (2n − 1), e pela hipótese:
T (2n) = 2T (n) + (2n − 1) ≤ 2(cn) + (2n − 1) = c(2n) + (2n − 1)
Queremos provar que T (2n) ≤ c(2n).
Veja que não há como, pois (2n − 1) > 0 para todo n ≥ 1.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 76 / 102
Relações de recorrência: Palpite Inteligente
Podemos concluir que T (n) é algo entre cn e n2.
{T (2) = 1,T (2n) ≤ 2T (n) + 2n − 1, se n > 2.
Vamos tentar T (n) ≤ n log2 n.
Base: T (2) = 1 ≤ 2 log2 2 = 2
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 77 / 102
Relações de recorrência: Palpite Inteligente
Suponha, por hipótese de indução, que T (n) ≤ n log2 n.
Passo: Por de�nição da relação de recorrência, T (2n) = 2T (n) + 2n − 1.
Pela hipótese de indução:
T (2n) = 2T (n) + 2n − 1 ≤ 2(n log2 n) + 2n − 1
Como log2 2 = 1, podemos fazer:T (2n) = 2T (n) + 2n − 1 ≤ 2(n log2 n) + 2n − 1 = 2(n log2 n) + 2n − 1 =2(n log2 n) + 2n log2 2− 1 < 2(n log2 n) + 2n log2 2 =
2(n log2 n) + 2n log2 2 = 2n(log2n + log2 2) = 2n log2(2n).
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 78 / 102
Relações de recorrência: Palpite Inteligente
A relação de recorrência:{T (2) = 1,T (2n) ≤ 2T (n) + 2n − 1, se n > 2.
é de�nida somente para potências de 2.
Como de�nir uma relação de recorrência similar para qualquer valor de n?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 79 / 102
Relações de recorrência: Palpite Inteligente
De�nição de uma relação de recorrência similar para qualquer valor de n:
{T (2) = 1,T (n) ≤ 2T (bn
2c) + 2n − 1, se n > 2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 80 / 102
Relações de recorrência: Palpite Inteligente
Observe que quando n é uma potência de 2 o resultado permanece omesmo.
{T (2) = 1,T (n) ≤ 2T (bn
2c) + 2n − 1, se n > 2.
Então, já sabemos que valores de n que são potências de 2,T (n) ∈ O(n log n).
Será que esse resultado se aplica para qualquer valor de n?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 81 / 102
Relações de recorrência: Palpite Inteligente
T (n) é uma função monótona crescente.
Então, quando n não é uma potência de 2, a função T (n) é no máximoT (2k), para algum k .
Mais ainda: T (2k−1) ≤ T (n) ≤ T (2k)
Já provamos que T (2k) ≤ c2k log2(2k), para alguma constante c positiva.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 82 / 102
Relações de recorrência: Palpite Inteligente
Então, T (n) ≤ c2k log2(2k) ≤ c(2n) log2(2n) ≤ (2c)n log2 n
2, para n ≥ 2.
Então,T (n) ≤ c2k log2(2
k) ≤ c(2n) log2(2n) ≤ (2c)2n log2 n = (4c)n log2 n, comconstante c1 = 4c .
Portanto, T (n) ∈ O(n log n), para todo natural positivo n.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 83 / 102
Relações de Recorrência Lineares Homogêneas com
Coe�cientes Constantes
Uma relação de recorrência linear com coe�cientes constantes é da forma:
an = c1an−1 + c2an−2 + c3an−3 + . . .+ ckan−k + ck+1
Lembre-se:
• o valor de k é o grau dessa relação de recorrência.
• se ck+1 = 0, ou seja, se todos as parcelas estão em função de termosanteriores, então a relação de recorrência é dita homogênea.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 84 / 102
Relações de Recorrência Lineares Homogêneas com
Coe�cientes Constantes
Vamos procurar uma solução para a relação de recorrência
an = c1an−1 + c2an−2 + c3an−3 + . . .+ ckan−k
na forma an = rn.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 85 / 102
Relações de Recorrência Lineares Homogêneas com
Coe�cientes Constantes
Observação:
an = rn é solução para a a relação de recorrência
an = c1an−1 + c2an−2 + c3an−3 + . . .+ ckan−k
se, e somente se,
rn = c1rn−1 + c2r
n−2 + c3rn−3 + . . .+ ck r
n−k
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 86 / 102
Relações de Recorrência Lineares Homogêneas com
Coe�cientes Constantes
Dividindo ambos os lados da equação
rn = c1rn−1 + c2r
n−2 + c3rn−3 + . . .+ ck r
n−k
por rn−k , temos:
rk = c1rk−1 + c2r
k−2 + c3rk−3 + . . .+ ck
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 87 / 102
Relações de Recorrência Lineares Homogêneas com
Coe�cientes Constantes
Equação Característica
A equação
rk − c1rk−1 − c2r
k−2 − c3rk−3 − . . .− ck = 0
é chamada de equação característica.
Suas raízes são chamadas de raízes características.
Observe que o grau dessa equação é o mesmo grau da relação derecorrência:
an = c1an−1 + c2an−2 + c3an−3 + . . .+ ckan−k
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 88 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
Teorema 1
Considere a equação característica r2 − c1r − c2 = 0, onde:
• c1 e c2 são números reais, e
• r2 − c1r − c2 = 0 possui duas raízes características distintas, r1 e r2.
A solução para a relação de recorrência an = c1an−1 + c2an−2 é:
an = α1rn1+ α2r
n2, com n ≥ 0 inteiro e α1 e α2 constantes.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 89 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
Então o que devemos fazer para resolver uma relação de recorrência linearhomogênea de segundo grau com coe�cientes constantes?
A relação de recorrência tem o n-ésimo termo dado por:an = c1an−1 + c2an−2.
Então sua equação característica é: r2 − c1r − c2 = 0.
Resolva a equação característica.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 90 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
Se encontrar duas raízes distintas r1 e r2, então a solução da relação derecorrência é:
an = α1rn1 + α2r
n2
.
Falta determinar os valores de α1 e α2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 91 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
É uma relação de recorrência de segundo grau. Portanto, é escrita emfunção dos termos anteriores an−1 e an−2.
Então, a de�nição da relação de recorrência deve conter os valores dos doisprimeiros termos, a0 e a1, de forma que se possa calcular o próximo.
a0 = α1r01+ α2r
02= α1 + α2
a1 = α1r11+ α2r
12= α1r1 + α2r2
Para encontrar α1 e α2, resolva o sistema de equações lineares:{α1 + α2 = a0α1r1 + α2r2 = a1
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 92 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
Exemplo: Resolva a relação de recorrência:
an =
2, se n = 0,7, se n = 1,an−1 + 2an−2, se n > 1.
Primeiro, devemos encontrar a equação característica:
coe�ciente de an−1: 1
coe�ciente de an−2: 2
equação característica: r2 − 1r − 2 = 0.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 93 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
equação característica: r2 − 1r − 2 = 0.
Resolvendo a equação, encontramos as raízes características: r1 = 2 er2 = −1.
Então a solução é an = α1rn1+ α2r
n2= α12n + α2(−1)n.
Falta saber quanto valem α1 e α2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 94 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
Para encontrar os valores de α1 e α2, resolvemos o sistema com valores der1, r2, a0 e a1: {
α1 + α2 = a0α1r1 + α2r2 = a1
Como a0 = 2, a1 = 7, r1 = 2 e r2 = −1, temos:{α1 + α2 = 22α1 − α2 = 7
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 95 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
{α1 + α2 = 22α1 − α2 = 7
Então α2 = 2− α1.
Substituindo α2 na segunda equação: 2α1 − (2− α1) = 7.
Então 3α1 = 7+ 2. Logo α1 = 3.
Logo, α2 = 2− α1 = 2− 3 = −1
A solução da relação de recorrência é an = α1rn1+ α2r
n2
an = 3 · 2n − 1 · (−1)n.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 96 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
E se a equação característica tiver apenas uma raiz?
Teorema 2
Considere a equação característica r2 − c1r − c2 = 0, onde:
• c1 e c2 são números reais,
• e r2 − c1r − c2 = 0 possui exatamente uma raiz característica, r0.
A solução para a relação de recorrência an = c1an−1 + c2an−2 é
an = α1rn0+ α2nr
n0, com n ≥ 0 inteiro e α1 e α2 constantes
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 97 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
Exemplo: Resolva a relação de recorrência a seguir.
an =
1, se n = 0,6, se n = 1,6an−1 − 9an−2, se n > 1.
Primeiro, devemos encontrar a equação característica:
coe�ciente de an−1: 6
coe�ciente de an−2: -9
equação característica: r2 − 6r + 9 = 0.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 98 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
equação característica: r2 − 6r + 9 = 0.
Resolvendo a equação, encontramos uma única raiz: r0 = 3.
Então a solução é an = α1rn0+ α2nr
n0= α13n + α2n3n.
Falta saber quanto valem α1 e α2.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 99 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
Para encontrar os valores de α1 e α2, resolvemos o sistema com o valor der0, a0 e a1: {
α1 = a0α1r0 + α2r0 = a1
Como a0 = 1, a1 = 6 e r0 = 3, temos:{α1 = 13α1 + 3α2 = 6
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 100 / 102
Relações de Recorrência Lineares Homogêneas de Grau 2
com Coe�cientes Constantes
{α1 = 13α1 + 3α2 = 6
Então α2 =6−3α1
3.
Substituindo α1 na equação: α2 = 1.
Então, α1 = 1 e α2 = 1.
A solução da relação de recorrência é an = α1rn0+ α2nr
n0
an = 3n + n3n = (n + 1)3n.
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 101 / 102
Teorema Mestre
Exercício: O que é o Teorema Mestre?
Sheila Almeida (DAINF-UTFPR-PG) Relações de Recorrência junho - 2018 102 / 102
Top Related