Beruflich Dokumente
Kultur Dokumente
M ATERIAL
EXTRA I DO DOS LIVROS - TEXTOS
(R OSEN /KOLMAN )
UFSC/CTC/INE p. 1
9 - I NTROD .
A NLISE C OMBINATRIA II
9.1) Relaes de Recorrncia 9.2) Sequncias Geradas por Polinmios 9.3) Relaes de Recorrncia e Algoritmos Dividir-e-Conquistar
UFSC/CTC/INE p. 2
R ELAES DE R ECORRNCIA
Uma relao de recorrncia para a sequncia {an } uma equao que, n inteiro, n n0 , expressa an em funo de um ou mais termos anteriores (a0 , a1 , . . . , an1 ) n0 um inteiro no negativo
UFSC/CTC/INE p. 3
R ELAES DE R ECORRNCIA
H uma importante conexo entre recurso e relaes de recorrncia: algoritmo recursivo: soluo de um problema de tamanho n em termos de solues de instncias do mesmo problema com tamanho menor logo, a anlise de complexidade de um algoritmo recursivo leva a uma relao de recorrncia que expressa: nro de operaes para resolver um problema de tamanho n em termos de: nro de operaes para resolver instncias de menor tamanho do mesmo problema
UFSC/CTC/INE p. 4
R ELAES DE R ECORRNCIA
Exemplo: Seja {an } uma sequncia que satisfaz a relao: a0 = 3 e a1 = 5
UFSC/CTC/INE p. 5
R ELAES DE R ECORRNCIA
Exemplo: Seja {an } uma sequncia que satisfaz a relao: a0 = 3 e a1 = 5
UFSC/CTC/INE p. 6
R ELAES DE R ECORRNCIA
Uma sequncia uma soluo de uma relao de recorrncia se os seus termos satisfazem esta relao de recorrncia
UFSC/CTC/INE p. 7
R ELAES DE R ECORRNCIA
Exemplo: Determine se as sequncias {an }, n inteiro e no negativo, dadas por: an = 3 n , an = 2 n e an = 5 an = 2an1 an2
UFSC/CTC/INE p. 8
R ELAES DE R ECORRNCIA
Exemplo: Determine se as sequncias {an }, n inteiro e no negativo, dadas por: an = 3 n , an = 2 n e an = 5 an = 2an1 an2
UFSC/CTC/INE p. 9
R ELAES DE R ECORRNCIA
Exemplo: Determine se as sequncias {an }, n inteiro e no negativo, dadas por: an = 3 n , an = 2 n e an = 5 an = 2an1 an2
UFSC/CTC/INE p. 10
R ELAES DE R ECORRNCIA
Exemplo: Determine se as sequncias {an }, n inteiro e no negativo, dadas por: an = 3 n , an = 2 n e an = 5 an = 2an1 an2
2an1 an2 = 2[3(n 1)] 3(n 2) = 3n = an 2. se an = 2n , temos que: a0 = 1, a1 = 2 e a2 = 4 ento: 2a1 a0 = 2 2 1 = 3 = a2 3. se an = 5, ento, para n 2: 2an1 an2 = 2 5 5 = 5 = an concluso: 1 e 3 so solues e 2 no 2
UFSC/CTC/INE p. 11
R ELAES DE R ECORRNCIA
Condies iniciais para uma sequncia: especicam os termos que precedem o 1ro termo aonde a relao de recorrncia atua
A relao de recorrncia e as condies iniciais denem unicamente uma sequncia pois juntos so uma denio recursiva da sequncia: qualquer termo pode ser encontrado a partir das cindies iniciais utilizando-se a relao um nro suciente de vezes
UFSC/CTC/INE p. 12
UFSC/CTC/INE p. 13
UFSC/CTC/INE p. 14
UFSC/CTC/INE p. 15
UFSC/CTC/INE p. 16
UFSC/CTC/INE p. 18
UFSC/CTC/INE p. 19
UFSC/CTC/INE p. 20
inicialmente, os discos so colocados sobre o 1ro pino em ordem de tamanho, com o maior ao fundo os discos podem ser movidos um a um, de um pino para outro um disco nunca pode ser colocado sobre um menor do que ele objetivo: colocar todos os discos no 2o pino, com o maior ao fundo
UFSC/CTC/INE p. 22
inicialmente, os discos so colocados sobre o 1ro pino em ordem de tamanho, com o maior ao fundo os discos podem ser movidos um a um, de um pino para outro um disco nunca pode ser colocado sobre um menor do que ele objetivo: colocar todos os discos no 2o pino, com o maior ao fundo Seja Hn = nro de movimentos para resolver a torre com n discos Questo: obter uma relao de recorrncia para a sequncia {Hn }
UFSC/CTC/INE p. 23
UFSC/CTC/INE p. 24
UFSC/CTC/INE p. 25
ento use um movimento para transferir o disco maior para o pino 2 mais Hn1 movimentos deixam os n 1 discos do pino 3 no pino 2
UFSC/CTC/INE p. 26
ento use um movimento para transferir o disco maior para o pino 2 mais Hn1 movimentos deixam os n 1 discos do pino 3 no pino 2 como no possvel resolver em menos passos, obtemos: Hn = 2Hn1 + 1 resolvendo: (para H1 = 1) (prove isto) 2
UFSC/CTC/INE p. 27
Hn = 2 n 1
UFSC/CTC/INE p. 28
UFSC/CTC/INE p. 29
UFSC/CTC/INE p. 30
(x 0 x 1 ) (x 2 x 3 )
Ck Cnk1
UFSC/CTC/INE p. 31
Cn =
Ck Cnk1
condies iniciais:
C0 = 1
C1 = 1
C2 = C0 C1 + C1 C0 = 2 C3 = C0 C2 + C1 C1 + C2 C0 = 5 C4 = 14, C5 = 42, . . .
UFSC/CTC/INE p. 32
Cn =
Ck Cnk1
condies iniciais:
C0 = 1
C1 = 1
C2 = C0 C1 + C1 C0 = 2 C3 = C0 C2 + C1 C1 + C2 C0 = 5 C4 = 14, C5 = 42, . . .
n+1
2n Cn
2n Cn1
UFSC/CTC/INE p. 33
UFSC/CTC/INE p. 34
BACKTRACKING
Exemplo (1/2): A relao de recorrncia an = an1 + 3 com a1 = 2 dene a sequncia: 2, 5, 8, . . .. Fazemos o backtracking de an substituindo a denio de an1 , an2 e assim por diante at que um padro que claro: a n = a n1 + 3 = (an2 + 3) + 3 = ((an3 + 3) + 3) + 3 ou a n = a n1 + 3 = a n2 + 2 3 = a n3 + 3 3
UFSC/CTC/INE p. 35
BACKTRACKING
Exemplo (2/2): A relao de recorrncia an = an1 + 3 com a1 = 2 dene a sequncia: 2, 5, 8, . . .. eventualmente, chegaremos a: an = an(n1) + (n 1) 3 = a1 + (n 1) 3 = 2 + (n 1) 3 logo, uma frmula explcita para a sequncia : an = 2 + (n 1)3 2
UFSC/CTC/INE p. 36
BACKTRACKING
Exemplo (1/2): Use o backtracking para encontrar uma frmula explcita para a sequncia denida pela relao de recorrncia bn = 2.bn1 + 1 com condio inicial b1 = 7. Soluo: substituir denio do termo anterior na frmula: bn = 2bn1 + 1 = 2(2bn2 + 1) + 1
UFSC/CTC/INE p. 37
BACKTRACKING
Exemplo (1/2): Use o backtracking para encontrar uma frmula explcita para a sequncia denida pela relao de recorrncia bn = 2.bn1 + 1 com condio inicial b1 = 7. Soluo: substituir denio do termo anterior na frmula: bn = 2bn1 + 1 = 2(2bn2 + 1) + 1 = 2[2(2bn3 + 1) + 1] + 1 = 23 bn3 + 4 + 2 + 1 = 23 bn3 + 22 + 21 + 1
UFSC/CTC/INE p. 38
BACKTRACKING
Exemplo (2/2): Use o backtracking para encontrar uma frmula explcita para a sequncia denida por bn = 2.bn1 + 1 com condio inicial b1 = 7. Soluo: Note que um padro est aparecendo com as re-escritas de bn . O backtracking terminar em: bn = 2n1 bn(n1) + 2n2 + 2n3 + + 22 + 21 + 1
UFSC/CTC/INE p. 39
BACKTRACKING
Exemplo (2/2): Use o backtracking para encontrar uma frmula explcita para a sequncia denida por bn = 2.bn1 + 1 com condio inicial b1 = 7. Soluo: Note que um padro est aparecendo com as re-escritas de bn . O backtracking terminar em: bn = 2n1 bn(n1) + 2n2 + 2n3 + + 22 + 21 + 1 = 2n1 b1 + 2n1 1 = 7 2n1 + 2n1 1 = 8 2n1 1 = 2n+2 1 (ver exerc. de induo) (usando b1 = 7) 2
UFSC/CTC/INE p. 40
BACKTRACKING
Nota 1: no h regras prontas para esta re-escrita: pode ser necessrio experimentar um pouco
an 1 a1
n(n+1) 2
Nota 3: o backtracking pode nunca chegar a revelar um padro explcito em seguida, veremos uma tcnica mais geral para resolver uma relao de recorrncia...
UFSC/CTC/INE p. 41
UFSC/CTC/INE p. 42
Descrio: cada parcela construda do mesmo (homogneo) modo cada parcela um mltiplo de um dos k (grau k) termos que antecedem an (linear)
UFSC/CTC/INE p. 43
UFSC/CTC/INE p. 44
UFSC/CTC/INE p. 45
UFSC/CTC/INE p. 46
UFSC/CTC/INE p. 47
UFSC/CTC/INE p. 48
UFSC/CTC/INE p. 49
UFSC/CTC/INE p. 50
UFSC/CTC/INE p. 51
UFSC/CTC/INE p. 52
UFSC/CTC/INE p. 53
(b) Se a equao caracterstica r 2 c1 .r c2 = 0 tem uma raiz nica r0 , a frmula explcita dada por: an = u.r0 n + v.n.r0 n onde u e v dependem das condies iniciais.
UFSC/CTC/INE p. 54
n + v.r n , an = u.r1 2
n1
an = c1 .an1 + c2 an2
UFSC/CTC/INE p. 55
n + v.r n , an = u.r1 2
n1
an = c1 .an1 + c2 an2
primeiro, note que as condies iniciais so satisfeitas, pois u e v vm de: a1 = u.r1 + v.r2 e
2 + v.r 2 a2 = u.r1 2
UFSC/CTC/INE p. 56
n + v.r n , an = u.r1 2
n1
an = c1 .an1 + c2 an2
primeiro, note que as condies iniciais so satisfeitas, pois u e v vm de: a1 = u.r1 + v.r2 e
2 + v.r 2 a2 = u.r1 2
2 c .r c = 0 r2 1 2 2
ento:
n + v.r n an = u.r1 2
UFSC/CTC/INE p. 57
n + v.r n , an = u.r1 2
n1
an = c1 .an1 + c2 an2
primeiro, note que as condies iniciais so satisfeitas, pois u e v vm de: a1 = u.r1 + v.r2 e
2 + v.r 2 a2 = u.r1 2
2 c .r c = 0 r2 1 2 2
ento:
n + v.r n an = u.r1 2
= u.r1
n2 2 r1
+ v.r2
n2 2 r2
UFSC/CTC/INE p. 58
n + v.r n , an = u.r1 2
n1
an = c1 .an1 + c2 an2
primeiro, note que as condies iniciais so satisfeitas, pois u e v vm de: a1 = u.r1 + v.r2 e
2 + v.r 2 a2 = u.r1 2
2 c .r c = 0 r2 1 2 2
ento:
n + v.r n an = u.r1 2
= u.r1 =
v.r2
n2
(c1 .r2 + c2 )
UFSC/CTC/INE p. 59
n + v.r n , an = u.r1 2
n1
an = c1 .an1 + c2 an2
primeiro, note que as condies iniciais so satisfeitas, pois u e v vm de: a1 = u.r1 + v.r2 e
2 + v.r 2 a2 = u.r1 2
2 c .r c = 0 r2 1 2 2
ento:
n + v.r n an = u.r1 2
= u.r1 = =
n2 2 n2 2 r1 + v.r2 r2 n2 n2 u.r1 (c1 .r1 + c2 ) + v.r2 (c1 .r2 + c2 ) n2 n1 n2 n1 ) + c2 .v.r2 ) + (c1 .v.r2 + c2 .u.r1 (c1 .u.r1
UFSC/CTC/INE p. 60
n + v.r n , an = u.r1 2
n1
an = c1 .an1 + c2 an2
primeiro, note que as condies iniciais so satisfeitas, pois u e v vm de: a1 = u.r1 + v.r2 e
2 + v.r 2 a2 = u.r1 2
2 c .r c = 0 r2 1 2 2
ento:
n + v.r n an = u.r1 2
= u.r1 = = =
n2 2 n2 2 r1 + v.r2 r2 n2 n2 u.r1 (c1 .r1 + c2 ) + v.r2 (c1 .r2 + c2 ) n2 n1 n2 n1 ) + c2 .v.r2 ) + (c1 .v.r2 + c2 .u.r1 (c1 .u.r1 n1 n1 n2 n2 (c1 .u.r1 + c1 .v.r2 ) + (c2 .u.r1 + c2 .v.r2 )
= c1 .an1 + c2 .an2
UFSC/CTC/INE p. 62
UFSC/CTC/INE p. 63
levando a: u = 7 e v = 1
UFSC/CTC/INE p. 64
UFSC/CTC/INE p. 66
UFSC/CTC/INE p. 67
UFSC/CTC/INE p. 68
usando esta frmula e as condies iniciais, temos que: d1 = 1.5 = u + v.(1) d2 = 3 = u + v.(2) cuja soluo : u = 0 e v = 1.5 2
logo: dn = 1.5 n
UFSC/CTC/INE p. 69
UFSC/CTC/INE p. 70
UFSC/CTC/INE p. 71
UFSC/CTC/INE p. 72
r2 =
UFSC/CTC/INE p. 73
r2 =
UFSC/CTC/INE p. 74
r2 =
o que leva a:
u=
1 5
1 v =
1 5 n 1 ( ) 2 5
UFSC/CTC/INE p. 75
UFSC/CTC/INE p. 76
UFSC/CTC/INE p. 77
UFSC/CTC/INE p. 78
UFSC/CTC/INE p. 79
UFSC/CTC/INE p. 80
UFSC/CTC/INE p. 81
UFSC/CTC/INE p. 82
UFSC/CTC/INE p. 83
UFSC/CTC/INE p. 84