Você está na página 1de 18

PCS 2214 - Fundamentos de Engenharia de Computao I

1o. Semestre 2006


PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

RELAES DE RECORRNCIA Professores: Anna Helena Reali Costa Jaime Simo Sichman Liria Matsumoto Sato Romero Tori

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Contedo 1. Definies e Exemplos


PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

2. Soluo de Forma Fechada 3. Recorrncia e Recursividade 4. Resoluo de Relaes de Recorrncia 5. Aplicao Complexidade de Algoritmos

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Definies e Exemplos
Recorrncia: ai = f(ai-1 , ai-2 , ..., a1 , a0 ) Condies iniciais: valores no ponto de partida da seqncia Ex: Fibonacci: 1, 2, 3, 5, 8 ........ (5 = 3 + 2) Progresso aritmtica: 2, 5, 8, ... (8 = 5 + 3)

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Definies e Exemplos
Seqncia de Fibonacci: fn = fn-1 + fn-2 para n 3 Condies iniciais: f1 = 1 e f 2 = 2 Em Engenharia: fazem parte das condies de contorno

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Soluo de Forma Fechada


Ex: Uma pessoa investe US$1000,00 a uma taxa de 12% ao ano. Quanto ter ao fim de n anos? {An} = A0 A1 A2 A3 ....... An-1 An An = An-1 + (0,12) . An-1 = An = (1,12) . An-1 , para n 1 An = (1,12)n . A0 (progresso geomtrica)
5

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Soluo de Forma Fechada


Soluo de forma fechada: frmula que expressa An em funo de n e das condies iniciais No ex., An = (1,12)n . A0 para n =3, A3= (1,12)3.1000 = US$ 1404,93 Relaes de recorrncia de forma fechada podem ser provadas atravs do mtodo da induo.

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Soluo de Forma Fechada

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Ex.: Calcular as relaes de recorrncia e as condies iniciais para as seguintes seqncias :

1) 3,7,11,15..... 2) 3,6,9,15,24,39.... 3) 1,1,2,4,16,128,4096...

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Recorrncia e Recursividade
Recorrncia e relacionados recursividade so conceitos

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Relaes de recorrncia podem ser expressas atravs de procedimentos recursivos.

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

procedure compound_interest(n) if n=0 then return (1000) //condio inicial // fixada no algoritmo return (1.12 * compound_interest (n-1)) end compound_interest

Resoluo de Relaes de Recorrncia


Encontrar uma expresso geral para um termo (soluo de forma fechada) Mtodo da iterao: escrever an em funo de an-1 , ... substituir an-1 , ... em funo de an-2 , ... repetir at que se obtenha uma soluo de forma fechada.

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Resoluo de Relaes de Recorrncia


Resoluo por Iterao: 2, 5, 8, 11, 14, ... Ex: an = an-1+ 3 e a1 = 2 ------ mas, an -1 = an-2 + 3 an = an-1+ 3 an = an-2 + 3 + 3 = an-2 + 2 . 3 ------ mas an-2 = an-3 + 3 an = an-3 + 3 + 2 . 3 = an-3 + 3 . 3 Generalizando: an = an-k + k . 3 para: n-k = 1 k = n - 1 an = a1 + (n-1) . 3

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

10

Resoluo de Relaes de Recorrncia


Relao de recorrncia linear, homognea, com coeficientes constantes: an = c1 an-1 + c2 a n-2 + ..... ck an-k , com ci 0 (expresso de ordem k) Uma expresso de ordem k requer k condies iniciais para definir a seqncia

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

11

Resoluo de Relaes de Recorrncia


Ex.: Sequncia de Fibonacci fn = f n-1 + f n-2 com f1 = 1 e f2 = 2 (ordem 2) Ex.: Total de subconjuntos de um conjunto de cardinalidade n (ou cardinalidade de P(X) = 2 n) Sn = 2 . Sn-1 para n 1 e S0 = 1 (ordem 1)
12

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Resoluo de Relaes de Recorrncia


Ex: As seguintes relaes de recorrncia so lineares, homogneas, com coeficientes constantes? an = an-1 . an-2 an - an-1 = 2 . n an = 3 . n . an-1

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

13

Resoluo de Relaes de Recorrncia


Ex: Resolver Sn = 2 . Sn-1 com S0 = 1 e n 1 Por iterao: Sn = 2 . Sn-1 = 2 . 2 . Sn-2 = 2k . Sn-k Para n-k = 0 tem-se k = n Sn = 2n . S0 para n 1 e S0 = 1

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

14

Resoluo de Relaes de Recorrncia


Ex. Encontrar a soluo de forma fechada de an = 5an-1 - 6an-2 com a0=7 e a1=16 Dica: tentar an = tn (soluo do problema de 1a. Ordem) an = 5.an-1 - 6.an-2 Se an = tn : tn = 5.tn-1 - 6. tn-2
cont.
15

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Resoluo de Relaes de Recorrncia


t2 - 5t + 6 = 0 (razes t = 2 e t = 3) solues: Sn = 2n e Tn = 3n Se S e T so solues desta equao, ento a = bS + dT tambm uma soluo desta equao, e b e d so constantes numricas. an = bSn + dTn = b . 2n + d . 3n Impondo-se as condies iniciais (a0 = 7, a1 = 16), obtm-se b= 5 e d=2: an = 5.2n + 2.3n

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

16

Resoluo de Relaes de Recorrncia


Teorema: Seja uma relao de recorrncia linear homognea com coeficientes constantes, de segunda ordem, do tipo an = c1 an-1 + c2 an-2 (1). Se S e T so solues desta equao, ento U = bS + dT tambm o (2). Se r uma raiz de t2 - c1t - c2 = 0 ento a seqncia rn, com n = 0, 1.... soluo de (1). Se an a seqncia definida por (1), a0 = C0 e a1 = C1 so as condies iniciais e r1 e r2 so duas razes de (2), tais que r1 r2, ento existem as constantes b e d, tal que: an = b. r1n + d . r2n , para n = 0, 1....

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

17

Resoluo de Relaes de Recorrncia


Ex: Resolver a relao de recorrncia dn = 4 (dn-1 - dn-2), com as condies iniciais d0 = d 1 = 1

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Dica: tentar an = tn e an = n.tn

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

18

Resoluo de Relaes de Recorrncia


Teorema: Seja uma relao de recorrncia linear homognea com coeficientes constantes, de segunda ordem, do tipo an = c1 an-1 + c2 an-2 (1). Seja an a seqncia que satisfaz (1) , com a0 = C0 e a 1 = C1 . Se as duas razes de t2 - c1t - c2 = 0 so iguais a r, ento existem as constantes b e d tais que: an = b. rn + d. n. rn para n = 0 , 1.....

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

19

Aplicao Complexidade de Algoritmos


Definir, atravs de uma relao de recorrncia, uma seqncia a1, a2, ... an, que representar o tempo de execuo do algoritmo A seqncia representar, ento, o tempo exigido para que o algoritmo processe uma entrada de tamanho n=1, 2, ... Ex: Algoritmo de (selection sort) classificao por seleo

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

20

10

Aplicao Complexidade de Algoritmos


(1) procedure selection_sort (s,n) (2) // caso bsico (3) if n = 1 then (4) return (5) // achar o maior (6) max_index:= 1 // incio: a1 o maior (7) for i:= 2 to n do //acha o maior (8) if si > smax_index then (9) max_index := i (10) // mover o maximo para o fim (11) swap(smax_index ,sn) (12) call selection_sort(s, n-1) (13) end selection_sort

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

21

Aplicao Complexidade de Algoritmos


1
PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

60 9 9 7 7 7 14 14 5 5 5 14 9 60 60
1. 2. 3. 4. 5. ss([60,7,14,5,9],5) ss([9,7,14,5],4) ss([9,7,5],3) ss([5,7],2) ss([5],1)

5 7 9 14 60

5 7 9 14 60

5 7 9 14 60

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

selection_sort: ss

22

11

Aplicao Complexidade de Algoritmos


Frmula de recorrncia: nmero de vezes que os comandos internos a um lao repetitivo so executados + nova chamada recursiva Classificao por seleo: passos 7, 8 e 9 so repetidos complexidade do pior, mdio e melhor caso so iguais

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

23

Aplicao Complexidade de Algoritmos


b1 , b2 , ... = tempos de execuo para entradas de tamanhos 1, 2,..., com b1= 0. Nos passos 7-9, executa-se n-1 vezes a comparao. No passo 12, o algoritmo novamente chamado, com entrada n-1. Assim: bn = (n - 1) + b n-1 = b n-1+ (n - 1) = = (b n-2+ n - 2)+ (n - 1) = = (b n-3 + n - 3) + (n-2) + (n-1) = ............ = b1 + 1 + 2 + ...+ (n-2) +(n-1) = bn = (n-1). n / 2 para n 1 A complexidade deste algoritmo (n2)

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

24

12

Aplicao Complexidade de Algoritmos


Para uma quantidade de pontos muito grande, e valores desordenados, teramos, inicialmente, um aspecto de nuvem de pontos. Aps feita a ordenao, tende-se a uma reta

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

valor * * * * * *

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

1 2 3 4 5 6 ...... ndice
25

Aplicao Complexidade de Algoritmos

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

26

Processamento em um instante t1, prximo do incio da execuo

13

Aplicao Complexidade de Algoritmos

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

27

Processamento em um instante t2, tal que t2 > t1. Alguns algoritmos j encerraram a execuo.

Aplicao Complexidade de Algoritmos


Key = Paulo Almeida
PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Busca Binria
Antnio Duarte

Antnio Duarte . . . Luis Correa Miguel Souza . . .

Antnio Duarte

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

Miguel Souza . . Severino Silva . . William Cardozo

Miguel Souza Paulo Almeida Raul Pompia Severino Silva

William Cardozo
28

William Cardozo

14

Aplicao Complexidade de Algoritmos


(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) procedure binary_search (s,i,j,key) if i > j then // no achou return(0) k := (i+j)/2 if key = sk then // achou return (k) if key < sk then // busca na metade da j := k 1 //esquerda else // busca na metade da i := k + 1 // direita return(binary_search(s,i,j,key) end binary_search

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

29

Aplicao Complexidade de Algoritmos


S = [B,D,F,S]
PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

1. binary_search (s,1,4,S)
B D F S

2. binary_search (s,3,4,S)
B D F S

i D=S?
B D F

j
S

3. binary_search (s,4,4,S)

i j F=S? Encontrou S e retorna k=4

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

30

i j S=S?

15

Aplicao Complexidade de Algoritmos


Para n=1: i=j=1, testa key (5), no encontra e faz uma chamada recursiva (11) agora i>j e o algoritmo para em (3), devolvendo 0 Portanto, a1 = 2 (condio inicial) Para n>1: como i<j e no pior caso o item no encontrado em (5), faz uma chamada recursiva (11) vai realizar uma seqncia de am novas chamadas, m depende da cadeia

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

31

Aplicao Complexidade de Algoritmos


Cada nova chamada: duas novas seqncias com (n-1)/2 e n/2 itens. an = 1 + an/2 Estimativa da complexidade: Caso em que n uma potncia de 2 Se no for, tem-se 2 k-1 < n < 2 k Fazendo n = 2k na equao anterior: : bk = 1 + bk-1 , com k = 1, 2,... bk e b0 = 2

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

32

16

Aplicao Complexidade de Algoritmos


Pelo mtodo iterativo, obtm-se: bk= 1 + bk-1 = 1 + 1 + bk-2 = 2 + bk-2 = .... = k + b0 = k + 2 Como n = 2k a n = 2 + lg n (1) Para n arbitrrio: 2k-1 n 2k e conclui-se: k -1 lg n k (2) Pode-se tambm provar que a seqncia an crescente: a2 k 1 a n a2 k (3)

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

33

Aplicao Complexidade de Algoritmos


De (1), (2) e (3) conclui-se que: lg n < 1 + k = a2 k 1 a n a2 k = 2 + k < 3 + lg n = O(lg n) Assim, prova-se que a n = (lg n) para o pior caso TEOREMA O tempo de pior caso para a busca binria cuja entrada de tamanho n (lg n)

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

34

17

Referncias Bibliogrficas
R. Johnsonbaugh, R. Discrete Mathematics. Prentice-Hall Int., London, UK, 4a. Ed. 1997. Cap. 5. C. Mainente, C. A Aprendizagem Virtual e

PCS 2214 Fund. Eng. Comp. I 1o.Sem. / 2005 Profs: Anna H. R. Costa Jaime S. Sichman Lria M. Sato Romero Tori 2005 Mdulo: Relaes de Recorrncia

Interativa de Lgica de Programao via Web utilizando Animao de Algoritmos com Linguagem JAVA. Mestrado (Dissertao).
Universidade 1999.143 p. Mackenzie, So Paulo,

Autor: M. Alice G. Ferreira Jaime S. Sichman

Verso: 2.0 Data: 04/03/05

35

18