• Nenhum resultado encontrado

Análise de Algoritmos

N/A
N/A
Protected

Academic year: 2022

Share "Análise de Algoritmos"

Copied!
38
0
0

Texto

(1)
(2)

• Ordem de crescimento

▫ Caracterização simples da eficiência do algoritmo

▫ Comparar desempenho relativo de algoritmos alternativos

• Quando observamos a ordem de crescimento

▫ Estamos estudando a eficiência assintótica dos algoritmos

▫ Estamos preocupados como o tempo de execução aumenta com tamanho da entrada

• Por exemplo

▫ O que é mais eficiente ou ?

 

n2

nlogn

(3)

• A notação assintótica

▫ Usada para descrever o tempo de execução assintótica de um algoritmo

▫ Definida em termos de funções cujos domínios são os conjuntos dos números naturais {0, 1, 2, 3, ....}

• Facilita a análise para valores de entrada grandes

(4)

• Vimos que o insertion-sort, no pior caso, possui tempo de execução

• O que significa isso?

• Para uma dada função , denotamos por o conjunto de funções

 

2

)

(n n

T  

) (n

g

g(n)

0

2

1 ( ) ( ) ( )

0  c g nf nc g nnn

g(n)

 

f (n) :constantespositivasc1, c2 en0, tais que

(5)

0

2

1 ( ) ( ) ( )

0  c g nf nc g nnn

g(n)

 

f (n) :constantespositivasc1,c2 e n0, tais que

n )

2g(n c

)

1g(n c

) (n f

n0

( )

)

(n g n

f  

(6)

• Mostre que se , então

T n n 4n

2 ) 1

(  2T(n)

 

n2

2 2 2

2

1 4

2

0  c n  1 nnc n

0

2

1 ( ) ( ) ( )

0  c g nf nc g nnn

g(n)

 

f (n) :constantespositivasc1,c2 e n0, taisque

Aplicando a definição de  temos que:

(7)

• Mostre que se , então

T n n 4n

2 ) 1

(  2T(n)

 

n2

0

2

1 ( ) ( ) ( )

0  c g nf nc g nnn

g(n)

 

f (n) :constantespositivasc1,c2 e n0, taisque

Dividindo por as inequações, obtemos:

2 1

4 2

0 1 c

c   n

2 2 2

2

1 4

2

0  c n  1 nnc nn2

(8)

• Mostre que se , então

T n n 4n

2 ) 1

(  2T(n)

 

n2

0

2

1 ( ) ( ) ( )

0  c g nf nc g nnn

g(n)

 

f (n) :constantespositivasc1,c2 e n0, taisque

Escolhendo , obtemos:

2

1 16

4 2

0  c  1   c

0 16 n

2

1 4

0  c  1  c

(9)

• Mostre que se , então

T n n 4n

2 ) 1

(  2T(n)

 

n2

0

2

1 ( ) ( ) ( )

0  c g nf nc g nnn

g(n)

 

f (n) :constantespositivasc1,c2 e n0, taisque

Escolhendo e a inequação abaixo é satisfeita

2

1 4

0  c  1  c

5 1

1c

2 1 4

1 5

0  1   2

1

2c

(10)

• Mostre que se , então

T n n 4n

2 ) 1

(  2T(n)

 

n2

0

2

1 ( ) ( ) ( )

0  c g nf nc g nnn

g(n)

 

f (n) :constantespositivasc1,c2 e n0, taisque

Portanto, para todo , temos que

2 2

2

2 4 1

2 1 5

0  1 nnnn

16 n

(11)

• Graficamente, temos

2

1 5

) 1

(n n

g

c

n n

n

T 4

2 ) 1

( 2

2

2 2

) 1

(n n

g

c

0 16 n

(12)

• A notação  limita assintoticamente uma função acima e abaixo

▫ Quando temos apenas um limite assintótico superior, usamos a notação O

▫ Usamos a notação O para darmos um limite superior

• A definição formal é

0

) ( )

(

0  f ncg nnn

g(n)

 

f (n) : constantespositivasc en0, tais que

O  

(13)

n ) (n cg

) (n f

n0

( )

)

(n O g n

f

0

) ( )

(

0  f ncg nnn

g(n)

 

f (n) : constantespositivasc en0, tais que

O  

(14)

• Quando temos apenas um limite assintótico inferior, usamos a notação 

▫ Usamos a notação  para darmos um limite inferior

• A definição formal é

0

) ( )

(

0  cg nf nnn

g(n)

 

f (n) :constantespositivascen0, tais que

(15)

0

) ( )

(

0  cg nf nnn

g(n)

 

f (n) :constantespositivascen0, tais que

n ) (n cg

) (n f

n0

( )

)

(n g n

f  

(16)

Para duas funções quais e , temos se, e somente se, e .

) (n

f g(n) f (n)

g(n)

( )

)

(n O g n

ff (n)

g(n)

(17)

• O limite assintótico superior fornecido pela notação O pode ou não ser assintoticamente restrito (justo)

▫ é restrito

▫ não é restrito

• Usamos a notação o (ozinho) para representar um limite assintótico superior não restrito, formalmente

0

) ( )

( 0

que

tal  f ncg nnn

g(n)

 

f (n) :constantec 0,uma constanten0 0,

o

 

2

2n2O n

 

2

2nO n

(18)

) 0 (

)

lim ( 

g n n f

n

0

) ( )

( 0

que

tal  f ncg nnn

g(n)

 

f (n) :constantec 0,uma constanten0 0,

o

(19)

• O limite assintótico inferior fornecido pela notação  pode ou não ser assintoticamente restrito (justo)

▫ Dizemos que se, e somente se,

• Formalmente

0

) ( )

( 0

que

tal  cg nf nnn

g(n)

 

f (n) :constantec 0,uma constanten0 0,

( )

)

(n g n

f

g(n) o

f (n)

(20)

0

) ( )

( 0

que

tal  cg nf nnn

g(n)

 

f (n) :constantec 0,uma constanten0 0,

( )

) lim (

n g

n f

n

(21)

• Transitividade

( )

e ( )

( )

, então ( )

( )

) (

se f n   g n g n   h n f n   h n

( )

e ( )

( )

, então ( )

( )

) (

se f nO g n g nO h n f nO h n

( )

e ( )

( )

, então ( )

( )

) (

se f n   g n g n   h n f n   h n

( )

e ( )

( )

, então ( )

( )

) (

se f no g n g no h n f no h n

( )

e ( )

( )

, então ( )

( )

) (

se f n

g n g n

h n f n

h n

(22)

• Reflexividade

• Simetria

( )

)

(n f n

f  

( )

)

(n O f n

f

( )

)

(n f n

f  

( )

se,esomentese, ( )

( )

)

(n g n g n f n

f    

(23)

• Simetria de transposição

• Analogia com números reais

( )

se,esomentese, ( )

( )

)

(n O g n g n f n

f   

( )

se,esomentese, ( )

( )

)

(n o g n g n f n

f  

g n

a b

O n

f ( )  ( )  

g n

a b

n

f ( )   ( )   a

n

f ( )  b n

g( )  f (n)

g(n)

a b

g n

a b

o n

f ( )  ( )  

g n

a b

n

f ( ) 

( )  

(24)

• Monotonicidade

▫ Uma função é monotonicamente crescente se implica .

▫ Uma função é monotonicamente decrescente se implica .

▫ Uma função é estritamente crescente se implica .

▫ Uma função é estritamente decrescente se implica .

) (n

f mn

) ( )

(m f n

f

) (n

f mn

) ( )

(m f n

f

) (n

f mn

) ( )

(m f n

f

) (n

f mn

) ( )

(m f n

f

(25)

• Piso

▫ Para qualquer número real , denotamos o maior inteiro menor ou igual a , por (piso de )

• Teto

▫ Para qualquer número real , denotamos o menor inteiro maior ou igual a , por (teto de )

 

x x

x x

 

x

x x

x

(26)

• Propriedades

   

1

1    

x x x x

x

   

n 2 n 2 n

 

n a b

 

n ab

 

n a b

 

n ab

 

a b

a (b 1)

b

 

a b

a (b1)

b

Z b

Z a

R

n      

 0 e 0 e 0

(27)

• Para quaisquer naturais e , o valor de é o resto do quociente :

• Se escrevemos e dizemos que é equivalente a , módulo .

a n

 

a n n

a n

amod   n

a

n amod

amodn

 

bmodn

a b (modn)

a b n

mod

mod

 

0

  

b n n b a

a

(28)

• Dado um natural d, um polinômio em n de grau d é uma função na forma

• onde são constantes chamadas de coeficientes do polinômio e . Em particular

d

i

i in a n

p

0

) (

ad

a

a0, 1,...,

 0 ad

 

d

d

i

i

in n

a n

p

 

0

) (

(29)

• Para todos os valores , e reais, temos que

0 1 a

 0

a m n

a a1

a a1 1

mn n

m a

a )  (

m n n

m a

a ) ( )

( 

n m n

ma a

a

(30)

• Usando para denotar 2,71828...., a base da função logaritmo natural, para todo

• e portanto

! ...

4

! 3

! 1 2

!

4 3

2

0

x x

x x i

e x

i

i x

e

x ex 1

(31)

• Utilizaremos a seguinte notação

n n log2 log 

n n loge ln 

 

k

k n logn

log 

n

n log log log

log 

a

b

b

a   log  log

(32)

• Propriedades

ba

b alog

b a

ab c c

c( ) log log

log  

a n

an b

b log

log 

b a a

c c

b log

log  log

 

a b a

b 1 log

log  

a b

a

b log

log  1

a

c b

b c

aloglog

(33)

• Propriedades

5 ...

4 3

) 2 1

ln(

5 4

3

2    

x x x x

x

x quando| x |1

x x x

x   

 ln(1 ) 1

 

, 0

logk no naa

(34)

• Definição recursiva

• Aproximação de Stirling



 

0 se

)!

1 (

0 se

! 1

n n

n n n



 

 

 



 

 

 

n e

n n n

n 1

1 2

!

n n ne e n

n

 

 2 

!

n

n n 12

1 1

12

1  

1 n

(35)

• Propriedades

 

nn

o n!

 

n

n!

2

 

! ( log )

log n   n n

(36)

• Definição recursiva

 



0 se

) (

0 ) se

( ( 1)

) (

i n

f f

i n n

f i i

n n

f n

n

f ( )  2  (i)( )  2i

(37)

• Definição recursiva

2

para

1

0

2 1

1 0

 



F i

F F

F F F

i i

i i

5 ˆi

i

Fi

2 5 1

2 5 ˆ  1

razão áurea

conjugado da razão áurea

(38)

• Usando as definições de , O, , o e  mostre que

a) b)

c)

d)

e)

f)

g)

 

n

n O 2

2 1

n n

n n

nlog 5   log

 

3

2 o n

n

 

n

n2

 

2

logn o n

n

 

2

2 1

2n    n

 

2

2n2o n

Referências

Documentos relacionados

No Quadro 4 demonstra-se os insumos de produção variáveis e os custos e despesas fixos para a fabricação do produto, de acordo com o preço- meta de venda, após a utilização da

Uma  vez  que  a  correção  de  fenótipos  diminui  a  contribuição do parentesco para a análise, pressupõe- se que a metodologia RR-Blup foi a mais penalizada,

O Banco Alfa de Investimento S.A., instituição líder do Conglomerado Prudencial Alfa elaborou um conjunto de demonstrações contábeis para fins gerais referentes ao semes- tre findo

Dessa forma, os objetivos são apresentar e discutir a aceleração como alternativa no processo educacional de alunos com altas habilidades ou superdotação, apresentando um caso

Entretanto, destaca-se que a dimensão Trabalho e Espaço Total de Vida não obteve correlação significativa em relação às demais dimensões, diferente do que ocorre nas

A Pós-Graduação em Proteção de Crianças e Jovens: entre o Risco e a Justiça destina-se a estudantes e profissionais das áreas das ciências humanas e sociais (psicologia,

jurisdição civil e administrativa do Estado Anfitrião no que diz respeito às suas declarações (orais e escritas) e a todos os actos por si praticados no exercício das suas

Os resultados indicam: (a) baixa utilização de referências que abordem as teorias da contabilidade gerencial, baixa incidência de referências a artigos publicados em