Universidade Federal do Vale do São Francisco
Curso de Engenharia da Computação
Matemática Discreta - 06
Prof. Jorge Cavalcanti
[email protected]
www.univasf.edu.br/~jorge.cavalcanti
www.twitter.com/jorgecav
1
Recursividade e relações de recorrência
2
1
Recursividade e Relações de Recorrência
Definições Recorrentes
Uma definição onde o item a ser definido aparece como
parte da definição é chamada de definição recorrente ou
definição por recorrência ou ainda definição por
indução.
Como definir algo em torno de si mesmo?
1.
2.
Uma base, ou condição básica, onde alguns casos simples
(pelo menos um) do item que está sendo definido são dados
explicitamente.
Um passo de indução ou recorrência, onde novos casos do
item que está sendo definido são dados em função dos casos
anteriores.
O item 1 nos dá o começo, fornecendo casos simples e
concretos.
O item 2 nos permite construir novos casos, a partir dos
simples e ainda outros casos a partir desses novos e assim
por diante.
3
Recursividade e Relações de Recorrência
Sequências definidas por Recorrência
Uma sequência S é uma lista de objetos que
são numerados em uma determinada ordem.
Existe um primeiro objeto, um segundo e
assim por diante.
S(k) denota o k-ésimo objeto da sequência.
Uma sequência é definida por recorrência
nomeando-se o primeiro valor (ou alguns
primeiros) na sequência e depois definindo os
demais valores subsequentes em termos dos
valores anteriores.
4
2
Recursividade e Relações de Recorrência
Sequências definidas por Recorrência
Ex. 01:A seqüência S é definida por recorrência por
1.S(1)
=2
= 2S(n -1) para n ≥ 2
Pela proposição 1, S(1) = 2. Depois, pela proposição 2, o
segundo objeto em S é S(2) = 2S(1) = 2(2)=4.
Novamente, pela proposição 2, S(3)=2S(2) = 2(4) = 8.
Continuando desse modo, vemos que a sequência S é:
2, 4, 8, 16, 32...
2.S(n)
Uma regra como a da proposição 2, que define um
valor de uma sequência em termos de um ou mais
valores anteriores é uma relação de recorrência.
5
Recursividade e Relações de Recorrência
Sequências definidas por Recorrência
Ex. 02:A seqüência T é definida por recorrência por
1.T(1)
=1
= T(n -1) + 3 para n ≥ 2
Escreva os cinco primeiros valores da sequência T.
2.T(n)
Ex. 03: A famosa sequência de Fibonacci é uma
sequência de números definida por recorrência por:
F(1) = 1
F(2) = 1
F(n) = F(n-2) + F(n-1), para n>2
Nesse caso, são dados os dois primeiros valores e relação
de recorrência define o n-ésimo valor em termos dos dois
valores precedentes.
Na sua forma mais geral, a relação de recorrência é a
soma de F em seus dois valores anteriores.
Ex. 04: Escreva os oito primeiros valores da sequência
de Fibonacci.
6
3
Recursividade e Relações de Recorrência
Sequências definidas por Recorrência
Ex. 05: Prove diretamente que, na sequência de
Fibonacci, a fórmula F(n+4)=3F(n+2) – F(n), para todo n
≥ 1, é verdadeira.
A relação de recorrência da sequência de Fibonacci pode
ser escrita como: F(n+2)=F(n)+F(n+1) ou,
F(n+1) = F(n+2) – F(n) (1)
Logo, F(n+4)=F(n+2)+F(n+3)
F(n+4)=F(n+2)+F(n+2)+F(n+1) //Reescrevendo F(n+3)
F(n+4)=F(n+2)+ F(n+2)+[F(n+2)-F(n)] // de (1)
F(n+4)=3F(n+2)-F(n)
7
Recursividade e Relações de Recorrência
Sequências definidas por Recorrência
Ex. 06: Prove diretamente que, na sequência de
Fibonacci, a fórmula F(n+1)+F(n-2) = 2F(n), para todo n
≥ 3, é verdadeira.
Da relação de Recorrência:
F(n+1)=F(n-1) + F(n) e
F(n)=F(n-1)+F(n-2)
= F(n-1)+F(n) + F(n-2) = [F(n-1)+F(n-2)] + F(n)
=F(n)+ F(n) = 2F(n)
Observar que só é válida porque n ≥ 3.
8
4
Recursividade e Relações de Recorrência
Sequências definidas por Recorrência
Ex. 07: Prove diretamente que, na sequência de
Fibonacci, a fórmula F(n+3)=2F(n+1) + F(n), para todo n
≥ 1, é verdadeira.
9
Recursividade e Relações de Recorrência
Operações definidas por Recorrência
Certas operações comuns em objetos podem ser
definidas de forma recorrente, conforme os exemplos
a seguir:
Ex. 08: Uma definição recorrente da operação de
exponenciação an de um número real não nulo a, onde
n é um inteiro não negativo é:
1.
2.
a0=1
an=(an-1)a para n≥1
Ex. 09: Uma definição recorrente para a multiplicação
de dois inteiros positivos m e n é:
1.
2.
m(1) = m
m(n) = m(n-1) + m para n≥2
10
5
Recursividade e Relações de Recorrência
Resolvendo Relações de Recorrência
Tomando por base novamente o Exemplo 01
Ex.01: A seqüência S é definida por recorrência por
S(1) = 2
S(n) = 2S(n -1) para n ≥ 2
(1)
(2)
Como:
S(1) = 2 = 21
S(2) = 4 = 22
Solução em
S(3) = 8 = 23
forma fechada
para a relação de
S(4) = 16 = 24
recorrência (2)
e assim por diante, vemos que
sujeita à condição
básica (1)
n
S(n) = 2
(3)
É possível calcular diretamente S(n) sem ter que
calcular explicitamente ou por recorrência.
11
Recursividade e Relações de Recorrência
Resolvendo Relações de Recorrência
Relações de recorrência são usadas em programas
computacionais, estudos de decaimento químico,
crescimento populacional etc.
Seria bom encontrar sempre soluções fechadas!
Uma técnica para resolver relações de recorrência é
uma abordagem do tipo “expandir, conjecturar e
verificar”.
Essa técnica usa repetidamente a relação de recorrência
para expandir a expressão a partir do n-ésimo termo até
que se tenha uma idéia da forma geral.
Após obtida a forma geral, a conjectura é provada por
indução matemática.
12
6
Recursividade e Relações de Recorrência
Resolvendo Relações de Recorrência
Ex. 10: Considere novamente a seqüência S
S(1) = 2
S(n) = 2S(n -1) para n ≥ 2
(1)
(2)
Desconsiderando que já sabemos a solução fechada,
vamos usar a abordagem de expandir, conjecturar e
verificar para encontrar a solução.
A relação S(n) = 2S(n -1) estabelece que um elemento S
pode ser substituído por duas vezes o elemento anterior.
Seguindo essa receita, expandimos para n, n-1, n-2, assim
por diante:
S(n) = 2S(n -1)
= 2[2S(n -2)] = 22S(n-2)
= 22[2S(n-3)] = 23S(n-3)
Olhando o padrão que está se formando, conjecturamos
que, após k expansões, a equação tem a forma:
S(n) = 2kS(n-k)
13
Recursividade e Relações de Recorrência
Resolvendo Relações de Recorrência
Ex. 10: Forma geral da expansão:
S(n) = 2kS(n-k)
A expansão dos elementos de S em função dos
elementos anteriores pára quando n-k=1 (significa que
estamos com o último e o penúltimo elemento da
relação).
n-k =1 então, k=n-1 e nesse ponto temos:
S(n) = 2n-1S[n-(n-1)] = 2n-1S(1)
2n-1(2) = 2n que é a solução em forma fechada
A solução encontrada é apenas a conjectura, que
precisa ser confirmada, ou seja devemos provar que
S(n)=2n para n≥ 1.
Provaremos usando a indução matemática.
14
7
Recursividade e Relações de Recorrência
Resolvendo Relações de Recorrência
Ex. 10: Provar que S(n) = 2n para n≥ 1.
Base da indução S(1) = 21 é verdadeiro
2. Hipótese da indução S(k) = 2k
3. Devemos provar que S(k+1) = 2k+1
S(k+1) = 2S(k)
S(k+1) =2(2k)
S(k+1) =2k+1 – Isso prova que a solução fechada
encontrada está correta.
1.
15
8
Download

Parte 6 - Recursividade e Relação de Recorrência