Você está na página 1de 27

Recorrência

Matemática Discreta para Computação


Relações de Recorrências

UFPA 2013

June 11, 2018


Recorrência

Recorrência

ˆ Ideia: Se referir aos termos anteriores para se definir os


próximos termos.
Recorrência

Recorrência

ˆ Ideia: Se referir aos termos anteriores para se definir os


próximos termos.
ˆ A ideia de recorrência pode ser empregada em algoritmos e
para se definir sequência de objetos, funções e conjuntos.
Recorrência

Recorrência

Uma definição por recorrência (ou definição por indução) possui 2


partes:
1. Passo base - alguns casos simples (no mı́nimo 1) são dados
explicitamente.
2. Passo recorrente - novos casos são dados em função de
casos anteriores.
Permite construir novos casos a partir dos casos simples e
destes novos casos gerados anteriormente.
Recorrência

Recorrência e Sequências

Uma sequência é definida por recorrência nomeando-se o primeiro


valor (ou alguns primeiros valores) na sequência e definindo-se os
valores anteriores da sequência em termos dos valores anteriores.

Exemplo: Sequência T definida por recorrência


Qual seria a definição da sequência infinita: 3, 7, 11, 15, 19, 23, . . .
por recorrência ?
Recorrência

Recorrência e Sequências

Uma sequência é definida por recorrência nomeando-se o primeiro


valor (ou alguns primeiros valores) na sequência e definindo-se os
valores anteriores da sequência em termos dos valores anteriores.

Exemplo: Sequência T definida por recorrência


Qual seria a definição da sequência infinita: 3, 7, 11, 15, 19, 23, . . .
por recorrência ?

T (1) = 3
T (n) = T (n − 1) + 4
Recorrência

Recorrência e Sequências

Qual seria a definição por recorrência da sequência infinita:


5, 10, 20, 40, 80, 160 ?
Recorrência

Recorrência e Sequências

Qual seria a definição por recorrência da sequência infinita:


5, 10, 20, 40, 80, 160 ?

T (1) = 5
T (n) = 2 ∗ T (n − 1), 2 ≤ n ≤ 6
Recorrência

Algoritmos Recursivos (recorrentes)


Algoritmos Recursivos
Um algoritmo recursivo decompõem um problema maior em um ou
mais problemas menores (subproblemas). A solução dos
subproblemas são então utilizadas para resolver o problema
original.
Recorrência

Algoritmos Recursivos (recorrentes)


Algoritmos Recursivos
Um algoritmo recursivo decompõem um problema maior em um ou
mais problemas menores (subproblemas). A solução dos
subproblemas são então utilizadas para resolver o problema
original.
Exemplos
ˆ Método para algoritmos recursivos: Dividir para Conquistar.
Recorrência

Algoritmos Recursivos (recorrentes)


Algoritmos Recursivos
Um algoritmo recursivo decompõem um problema maior em um ou
mais problemas menores (subproblemas). A solução dos
subproblemas são então utilizadas para resolver o problema
original.
Exemplos
ˆ Método para algoritmos recursivos: Dividir para Conquistar.
ˆ Algoritmo que utiliza recursão: calcular o fatorial de um
número.
Recorrência

Algoritmos Recursivos (recorrentes)


Algoritmos Recursivos
Um algoritmo recursivo decompõem um problema maior em um ou
mais problemas menores (subproblemas). A solução dos
subproblemas são então utilizadas para resolver o problema
original.
Exemplos
ˆ Método para algoritmos recursivos: Dividir para Conquistar.
ˆ Algoritmo que utiliza recursão: calcular o fatorial de um
número.

Fatorial(n) {
Se (n ≤ 1) retorne 1;
Senão retorne (n ∗ Fatorial(n − 1)); }
Recorrência

Algoritmos Recursivos (recorrentes)


Algoritmos Recursivos
Um algoritmo recursivo decompõem um problema maior em um ou
mais problemas menores (subproblemas). A solução dos
subproblemas são então utilizadas para resolver o problema
original.
Exemplos
ˆ Método para algoritmos recursivos: Dividir para Conquistar.
ˆ Algoritmo que utiliza recursão: calcular o fatorial de um
número.

Fatorial(n) {
Se (n ≤ 1) retorne 1;
Senão retorne (n ∗ Fatorial(n − 1)); }

A condição de parada é importante do contrário o algoritmo não


terá fim !
Recorrência

Recursão e Relações de Recorrência


Def. Relação de Recorrência
Uma relação de recorrência para uma sequência {an } é uma
equação que expressa an em termos de um ou mais valores
anteriores da sequência (i.e. a0 , a1 , . . . , an−1 ) para todo inteiro
n > n0 . n0 é um inteiro não negativo;
Recorrência

Recursão e Relações de Recorrência


Def. Relação de Recorrência
Uma relação de recorrência para uma sequência {an } é uma
equação que expressa an em termos de um ou mais valores
anteriores da sequência (i.e. a0 , a1 , . . . , an−1 ) para todo inteiro
n > n0 . n0 é um inteiro não negativo;

Conexão entre Recursão e Relações de Recorrências


1. Algoritmo recursivo decompõem um problema maior em um
ou mais problemas menores (subproblemas).
Recorrência

Recursão e Relações de Recorrência


Def. Relação de Recorrência
Uma relação de recorrência para uma sequência {an } é uma
equação que expressa an em termos de um ou mais valores
anteriores da sequência (i.e. a0 , a1 , . . . , an−1 ) para todo inteiro
n > n0 . n0 é um inteiro não negativo;

Conexão entre Recursão e Relações de Recorrências


1. Algoritmo recursivo decompõem um problema maior em um
ou mais problemas menores (subproblemas).
2. A análise da complexidade de um algoritmo recursivo resulta
em uma relação de recorrência.
Esta relação expressa o número de operações requeridas para
resolver um problema de tamanho n em termos do número de
operações requeridas para resolver subproblemas.
Recorrência

Relações de Recorrência

Exemplo 1
Seja {an } uma sequência que satisfaz a relação de recorrência
an = an−1 − an−2 , para n = 1, 2, 3, 4, . . ., e suponha que a0 = 3 e
a1 = 5. Quais os valores de a2 e a3 ?
Recorrência

Relações de Recorrência

Exemplo 1
Seja {an } uma sequência que satisfaz a relação de recorrência
an = an−1 − an−2 , para n = 1, 2, 3, 4, . . ., e suponha que a0 = 3 e
a1 = 5. Quais os valores de a2 e a3 ?

Resp.: a2 = a1 − a0 = 5 − 3 = 2 e a3 = a2 − a1 = 2 − 5 = −3
Recorrência

Resolvendo Relações de Recorrência

Resolver uma recorrência significa encontrar uma forma fechada,


i.e. encontrar uma equação onde pode-se substituir uma variável
na equação e encontrar o valor pretendido.
Recorrência

Resolvendo Relações de Recorrência

Resolver uma recorrência significa encontrar uma forma fechada,


i.e. encontrar uma equação onde pode-se substituir uma variável
na equação e encontrar o valor pretendido.

Exemplo
Com S(1) = 2 e S(n) = 2S(n − 1), onde n > 2, temos:
S(1) = 2,S(2) = 4,S(3) = 8.
Assim: S(n) = 2n  fórmula fechada.
Recorrência

Resolvendo Relações de Recorrência

Uma Técnica para Resolver Relações de Recorrências


Expandir, Conjecturar e Verificar

Exemplo
Seja S(1) = 2 e S(n) = 2S(n − 1), onde n > 2:
Recorrência

Resolvendo Relações de Recorrência

Exercı́cio 1
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 3, onde n > 2
Recorrência

Resolvendo Relações de Recorrência

Exercı́cio 1
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 3, onde n > 2

Exercı́cio 2
Encontre a solução fechada para a sequência T : T (1) = 7,
T (n) = 2T (n − 1) + 1

Obs.: 1 + 2 + 22 + . . . + 2n = 2n+1 − 1  Prove por Indução !


1 + 2 + 22 + . . . + 2n−2 = 2n−1 − 1
Recorrência

Resolvendo Relações de Recorrência

Exercı́cio 1
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 3, onde n > 2

Exercı́cio 2
Encontre a solução fechada para a sequência T : T (1) = 7,
T (n) = 2T (n − 1) + 1

Obs.: 1 + 2 + 22 + . . . + 2n = 2n+1 − 1  Prove por Indução !


1 + 2 + 22 + . . . + 2n−2 = 2n−1 − 1

Exercı́cio 3
Utilize a técnica ”expandir, conjecturar, verificar” para encontrar a
solução fechada para a sequência T : T (1) = 4,
T (n) = 2T (n − 1) + 3, onde n > 2
Recorrência

Resolvendo Relações de Recorrência


Exercı́cio 4
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 2, onde n > 2
Recorrência

Resolvendo Relações de Recorrência


Exercı́cio 4
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 2, onde n > 2
Exercı́cio 5
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 2n − 1, onde n > 2
Recorrência

Resolvendo Relações de Recorrência


Exercı́cio 4
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 2, onde n > 2
Exercı́cio 5
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = T (n − 1) + 2n − 1, onde n > 2
Exercı́cio 6
Encontre a solução fechada para a sequência T : T (1) = 1,
T (n) = 2T (n − 1) + 1, onde 2 ≤ n ≤ 6
Exercı́cio 7
Encontre a solução fechada para a sequência T : T (1) = 1 e
T (n) = 2T (n/2) + n, onde n > 1.
Exercı́cio 8
Encontre a solução fechada para a sequência T : T (1) = 1 e
T (n) = 1 + T (n/2), onde n > 1.

Você também pode gostar