BCC 101 – Matemática Discreta I
Recursão / Indução
BCC101 - Matemática Discreta - DECOM/UFOP
1
Progressão Aritmética
s(n) = 0 + 1 + 2 + 3 + … + n =
n
åi
i=0
Considere
as seguintes instâncias do
problema:
s(0) = 0
 Qual seria a solução, se n=0 ? s(1) = 0+1 = s(0) + 1
 Qual seria a solução, se n=1 ? s(2) = 0+1+2 = s(1) + 2
 Qual seria a solução, se n=2 ?
Como você escreveria a solução para o caso
geral?
s(0) = 0
base
s(n) =s(n-1) + n
recursão
BCC101 - Matemática Discreta - DECOM/UFOP
2
Progressão Aritmética
s(0) = 0
s(n) =s(n-1) + n

Podemos obter uma fórmula direta?
0 + 1 + 2 + 3 + … + (n-2) + (n-1) + n
n + (n-1) + (n-2) + (n-3) + … + 2 + 1
+ 0
--- ----- ----- ----- … -------- ---n + n + n + n + …+ n + n + n
s(n) = n(n+-1) /2
Como provar que as duas definições definem a mesma
função?
BCC101 - Matemática Discreta - DECOM/UFOP
3
Progressão Geométrica
n
s(n) =
20
+
Considere
21
+
22
+
23
+…+
2n
=
å2
i
i=0
as seguintes instâncias do
problema:
s(0) = 1
 Qual seria a solução, se n=0 ? s(1) = 1+2 = s(0) + 21
 Qual seria a solução, se n=1 ? s(2) = 1+2+4 = s(1) + 22
 Qual seria a solução, se n=2 ?
Como você escreveria a solução para o caso
geral?
s(0) = 1
base
s(n) =s(n-1) + 2n
recursão
BCC101 - Matemática Discreta - DECOM/UFOP
4
Progressão Aritmética
s(0) = 1
s(n) =s(n-1) + 2n

Podemos obter uma fórmula direta?
… cálculo …
s(n) = 2n+1 - 1
Como provar que as duas definições definem a mesma
função?
BCC101 - Matemática Discreta - DECOM/UFOP
5
Fatorial
 Fatorial: n! = 1x2x…x(n-1)xn
0!= 1
(base)
n!= (n -1)! x n (recursão)
recursão

EX: 5! = 5 · 4! = 5 · 4 · 3! = 5 · 4 · 3 · 2!
= 5 · 4 · 3 · 2 · 1! = 5 · 4 · 3 · 2 · 1 · 0!
=5·4·3·2·1·1
base
6
Exercício

Defina recursivamente
n
s(n) = å t(i)
s(0)= t(0)
s(n) = s(n-1) + t(n)
i=0
n
p(n) = Õ f (i)
i=1
p(0)= 1
p(n) = p(n-1) x f(n)
BCC101 - Matemática Discreta - DECOM/UFOP
7
Sequências

Sequência de potências de 2: an = 2n, n≥0
pode ser definida recursivamente como:
a0 = 1
an = 2 an-1

n>0
Sequência: 3 0 3 0 3 0 …
pode ser definida recursivamente como:
a0 = 3
a1 = 0
an = an-2 n>1
BCC101 - Matemática Discreta - DECOM/UFOP
8
Exercícios

Considere a definição recursiva:
f(0) = 1
f(n+1) = 3 f(n)
 Determine f(1), f(2), f(3), f(4)
Encontre uma fórmula direta para f(n)

Defina recursivamente as sequências:
1.an = 3n+2 n≥0
2.1 -1 1 -1 1 …
3.an = n2
BCC101 - Matemática Discreta - DECOM/UFOP
9
Travessia de Soldados
Um grupo de n soldados quer atravessar um
rio largo e fundo, mas vê apenas uma pequena
canoa, na margem onde estão, na qual estão
dois meninos. A canoa é tão pequena que nela
só cabem 2 meninos ou 1 soldado.
 É possível atravessar os n soldados para a
margem oposta, deixando, ao final, os 2 meninos
na margem onde se encontravam originalmente?
 Qual é o menor número de vezes que a canoa
deve atravessar de uma margem para a outra?
BCC101 - Matemática Discreta - DECOM/UFOP
10
Decrementar para conquistar

Considere as seguintes instâncias do
problema:
T(1) = 4 vezes
 Qual seria a solução, se n=1 T(2)
? = 4 + T(1) vezes
 Qual seria a solução, se n=2 T(3)
? = 4 + T(2) vezes
 Qual seria a solução, se n=3 ?
Como você escreveria a solução para o caso
de n soldados, supondo que você conhece a
solução para o caso de (n-1) soldados?
T(n) = 4 + T(n-1) vezes
BCC101 - Matemática Discreta - DECOM/UFOP
11
Solução recursiva
base
T(0) = 0
T(n) = 4 + T(n-1)
n>0
recursão
Podemos obter uma fórmula direta?
T(n) = 4 + T(n-1)
…
= 4 + (4 + T(n-2)) = 2x4 + T(n-2)
= 2x4 + (4 + T(n-3)) = 3x4 + T(n-3)
…
= k x 4 + T(n-k)
= n x 4 + T(0) = n x 4
BCC101 - Matemática Discreta - DECOM/UFOP
12
Exercício
Torres de Hanoi
(Edouard Lucas - 1883)
Um templo da cidade de Hanoi tem 3 torres de
diamante, em uma das quais foram empilhados n discos
de ouro, de maneira que os discos diminuem de
tamanho da base para o topo da torre. Os monges do
templo trabalham sem cessar para transferir os discos
da torre em que foram inicialmente colocados para uma
das outras duas torres --- mas nunca um disco de
maior raio pode ser colocado sobre outro de raio
menor.
Encontre uma definição recursiva para o número de
movimentos de discos que são necessários para
transferir n discos da torre A para a torre C, usando
a torre B.
13
Torres de Hanoi
mov(0) = 0
mov(n) = 2 mov(n-1) +1 n>0
Podemos obter uma fórmula direta?
T(n) = 2 T(n-1) + 1
…
= 2 (2 mov(n-2)+1) + 1 = 22 mov(n-2) + 2 + 1
= 22 (2 mov(n-3)+1) + 2 + 1 = 23 mov(n-3) + 22 + 2 + 1
…
= 2k mov(n-k) + 2k-1 +2k-2+ … + 22+21+20
= 2n mov(0) + ∑i=0..(n-1) 2i = ∑i=0..(n-1) 2i
= 2n-1
BCC101 - Matemática Discreta - DECOM/UFOP
14
Tamanho do problema

Considere um problema relativo a um tabuleiro de
xadrez com 64 quadrados.

Como esse problema pode ser generalizado?
 Uma classe de problemas com instâncias de
tamanho n; o problema dado é uma instância de
tamanho n = 64
 Uma classe de problemas em que uma instância é
um tabuleiro de tamanho n×n. O problema dado é
uma instância de tamanho n = 8
 Restringir a classe a problemas em que o
tamanho do tabuleiro é 2n. O problema dado é
uma instância de tamanho n = 3
BCC101 - Matemática Discreta - DECOM/UFOP
15
Triominós
Considere um tabuleiro com tamanho 2n x 2n
no qual exatamente um quadrado está
coberto.
um triominó de formato L é
feito de 3 quadrados:
Quantos triominós de formato L são necessários
para cobrir os quadrados restantes, sem que
triominós se sobreponham.
BCC101 - Matemática Discreta - DECOM/UFOP
16
Triominós - solução para 23 x 23
BCC101 - Matemática Discreta - DECOM/UFOP
17
Triominós

Caso base (n=0):
 O tabuleiro tem dimensão 20x20 = 1x1, isto é,
exatamente 1 quadrado, que já está coberto.
Portanto, são necessários 0 triominós para
cobrir os quadrados restantes: trio(0) = 0

Passo indutivo:
 Considere um tabuleiro de dimensões 2n+1x2n+1
 Suponha que é possível cobrir qq tabuleiro de
dimensões 2nx2n com trio(n) triominós
 Devemos mostrar como explorar essa hipótese
para obter a solução para o caso 2n+1x2n+1
BCC101 - Matemática Discreta - DECOM/UFOP
18
Triominós

Um tabuleiro 2n+1x2n+1 pode ser subdividido em 4
tabuleiros 2nx2n, traçando-se uma linha horizontal
e uma vertical que se cruzam no meio.

Em uma desses 4 tabuleiros, há um quadrado que já
está coberto. Pela nossa hipótese, os demais
quadrados desse tabuleiro podem ser cobertos
com k triominós.

Nenhum dos 3 outros tabuleiros 2nx2n tem um
quadrado coberto. Como aplicar a hipótese aos 3
outros tabuleiros?

A idéia é colocar um triominó na junção desses 3
BCC101 - Matemática Discreta - DECOM/UFOP
19
Triominós
trio(0) = 0
trio(n+1) = 4 trio(n) +1
Agora a hipótese pode ser aplicada para cobrir os
quadrados restantes de cada uma dos 3 outros
subtabuleiros. Então trio(n+1) = 4 trio(n) +1 (n>0).
BCC101 - Matemática Discreta - DECOM/UFOP
20
Triominós
trio(0) = 0
trio(n) = 4 trio(n-1) +1 se n>0
Podemos obter uma fórmula direta?
T(n) = 4 T(n-1) + 1
…
= 4 (4 T(n-2)+1) + 1 = 42 T(n-2) + 4 + 1
= 42 (4 + T(n-3)+1) + 4 + 1 = 43 T(n-3) + 42 + 4 + 1
…
= 4k T(n-k) + 4k-1 +4k-1+ … + 42+41+40
= 4n T(0) + ∑i=0..(n-1) 4i = ∑i=0..(n-1) 4i
= (4n-1)/3
21
Download

md1-11 - DECOM-UFOP