Projeto e Análise de Algoritmos - bcc.unifal-mg.edu.br · A notação O possui sua importância,...

of 54 /54
Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 07 – Notações θ, Ω, ω, ο [email protected]

Embed Size (px)

Transcript of Projeto e Análise de Algoritmos - bcc.unifal-mg.edu.br · A notação O possui sua importância,...

  • Universidade Federal de Alfenas

    Projeto e Anlise de Algoritmos

    Aula 07 Notaes , , , [email protected]

    mailto:[email protected]:[email protected]:[email protected]

  • ltima aula

    Notao O

    Uma funo f(n) domina assintoticamente outra funo g(n) se existem duas constantes positivas c e n0

  • ltima aula

    Notao O

    Uma funo f(n) domina assintoticamente outra funo g(n) se existem duas constantes positivas c e n0

    tais que, para qualquer n >= n0,

  • ltima aula

    Notao O

    Uma funo f(n) domina assintoticamente outra funo g(n) se existem duas constantes positivas c e n0

    tais que, para qualquer n >= n0,

    temos g(n)

  • Outras notaes

    Assim como a notao O fornece uma maneira assinttica de dizer que uma funo menor ou igual aoutra, existem outras notao que fornecem outras concluses sobre a complexidade de algoritmos;

  • Outras notaes

    Assim como a notao O fornece uma maneira assinttica de dizer que uma funo menor ou igual aoutra, existem outras notao que fornecem outras concluses sobre a complexidade de algoritmos;

  • Outras notaes

    Assim como a notao O fornece uma maneira assinttica de dizer que uma funo menor ou igual aoutra, existem outras notao que fornecem outras concluses sobre a complexidade de algoritmos;

  • Outras notaes

    Assim como a notao O fornece uma maneira assinttica de dizer que uma funo menor ou igual aoutra, existem outras notao que fornecem outras concluses sobre a complexidade de algoritmos;

  • Outras notaes

    Assim como a notao O fornece uma maneira assinttica de dizer que uma funo menor ou igual aoutra, existem outras notao que fornecem outras concluses sobre a complexidade de algoritmos;

  • Notao

  • Notao

    A notao bem parecida com a notao O;

    O define um limite assinttico superior, e;

    define um limite assinttico inferior.

  • Notao

    A notao bem parecida com a notao O;

    O define um limite assinttico superior, e;

    define um limite assinttico inferior.

    Exemplos: )( 34 nn

  • Notao

    A notao bem parecida com a notao O;

    O define um limite assinttico superior, e;

    define um limite assinttico inferior.

    Exemplos: )( 34 nn

    )1(n

  • Notao

    A notao bem parecida com a notao O;

    O define um limite assinttico superior, e;

    define um limite assinttico inferior.

    Exemplos: )( 34 nn

    )1(n

    ))(log()log(3 nn

  • Notao

    A notao bem parecida com a notao O;

    O define um limite assinttico superior, e;

    define um limite assinttico inferior.

    Exemplos: )( 34 nn

    )1(n

    ))(log()log(3 nn

    )1(1

  • Notao

    A notao bem parecida com a notao O;

    O define um limite assinttico superior, e;

    define um limite assinttico inferior.

    Exemplos: )( 34 nn

    )1(n

    ))(log()log(3 nn

    )1(1

    )2(! nn

  • Notao

    }nnf(n) g(n)c|

    ne c{f(n):(g(n))

    0

    0

    0

    0

    Limite assinttico inferior

  • Notao

    Limite assinttico inferior

  • Notao

    Na prtica a notao no vista sozinha em anlises de algoritmos;

  • Notao

    Na prtica a notao no vista sozinha em anlises de algoritmos;

    Pelo motivo de no interessar para a anlise de algoritmos;

  • Notao

    Na prtica a notao no vista sozinha em anlises de algoritmos;

    Pelo motivo de no interessar para a anlise de algoritmos;

    A notao O possui sua importncia, pois o programador conclui que seu algoritmo no mximo to complexo a uma funo.

  • Notao

    Na prtica a notao no vista sozinha em anlises de algoritmos;

    Pelo motivo de no interessar para a anlise de algoritmos;

    A notao O possui sua importncia, pois o programador conclui que seu algoritmo no mximo to complexo a uma funo.

    Mas no mnimo to complexo, como a notao descreve, no importante para concluses prticas sobre algoritmos.

  • Notao

    Na prtica a notao no vista sozinha em anlises de algoritmos;

    Pelo motivo de no interessar para a anlise de algoritmos;

    A notao O possui sua importncia, pois o programador conclui que seu algoritmo no mximo to complexo a uma funo.

    Mas no mnimo to complexo, como a notao descreve, no importante para concluses prticas sobre algoritmos.

    vem na maioria das vezes acompanhada a notao ; Como um complemento na anlise, nunca sozinha...

  • Notao

  • Conhecida tambm como limite firme ou limite assintoticamente restrito.

    Notao

  • Conhecida tambm como limite firme ou limite assintoticamente restrito.

    A notao O, apesar de fornecer informaes sobre a complexidade do algoritmo, nem sempre nos revela algo importante;

    Notao

  • Conhecida tambm como limite firme ou limite assintoticamente restrito.

    A notao O, apesar de fornecer informaes sobre a complexidade do algoritmo, nem sempre nos revela algo importante;

    No faz sentido, para algum algoritmo, dizer que suas complexidade por exemplo O(n!).

    Ou faz?

    Notao

  • Conhecida tambm como limite firme ou limite assintoticamente restrito.

    A notao O, apesar de fornecer informaes sobre a complexidade do algoritmo, nem sempre nos revela algo importante;

    No faz sentido, para algum algoritmo, dizer que suas complexidade por exemplo O(n!). Ou faz?

    Exemplos da falta de preciso de O:

    Notao

    )!(

    )2(

    )(

    )(

    )(

    )(

    1000

    5

    4

    3

    nOn

    On

    nOn

    nOn

    nOn

    nOn

    n

  • Notao

    Uma funo f(n) pertence ao conjunto (g(n)) se existem constantes positivas n0, c1 e c2

  • Notao

    }nng(n) cf(n)g(n)c|

    ne,c c{f(n):(g(n))

    021

    021

    0

    0

    Uma funo f(n) pertence ao conjunto (g(n)) se existem constantes positivas n0, c1 e c2 tais que ela possa ser imprensada entre c1.g(n) e c2.g(n), para um valor de n suficientemente grande.

  • Exemplo:

    Para isso, devemos definir constantes c1, c2 e n0 tais que:

    Encontre constantes que satisfaa as duas desigualdades...

    Notao

    )(nnn 2

    2

    32

    2

    2

    22

    1 32

    1ncnnnc

    }nng(n) cf(n)g(n)c|

    ne,c c{f(n):(g(n))

    021

    021

    0

    0

  • Exemplo de constantes:

    Notao

    21

    3

    2

    1c

    nc

    22

    22

    1 32

    1ncnnnc Dividindo por n2 ...

  • Exemplo de constantes:

    Portanto, se existem tais constantes

    Notao

    7

    2

    1

    14

    1

    0

    2

    1

    n

    c

    c

    )(nnn 2

    2

    32

    21

    3

    2

    1c

    nc

    22

    22

    1 32

    1ncnnnc Dividindo por n2 ...

  • Notao

    ))(()(

    ))(()(

    )()(

    xgxf

    e

    xgOxf

    sse

    )x(gxf

    Observao:

  • Notao (o minsculo)

  • O limite assinttico superior fornecido pela notao O (-zo) pode:

    Notao

  • O limite assinttico superior fornecido pela notao O (-zo) pode:

    Ser assintoticamente restrito;

    Notao

  • O limite assinttico superior fornecido pela notao O (-zo) pode:

    Ser assintoticamente restrito;

    No ser assintoticamente restrito;

    Notao

  • O limite assinttico superior fornecido pela notao O (-zo) pode:

    Ser assintoticamente restrito;

    No ser assintoticamente restrito;

    Exemplos:

    Assintoticamente restrito:

    No assintoticamente restrito:

    Notao

    )(2 22 nOn

    )()log(

    )(2 2

    ncOn

    nOn

  • Notao

    Todas as funes de O (-zo) que no definem um limite assintoticamente restrito pertencem a o (-zinho)

  • Notao

    ))(()(

    ))(()())(()(

    ngnf

    entaongnfengOnfse

    Todas as funes de O (-zo) que no definem um limite assintoticamente restrito pertencem a o (-zinho)

  • Notao

    )()log(

    )(2 2

    nn

    nn

    ))(()(

    ))(()())(()(

    ngnf

    entaongnfengOnfse

    Todas as funes de O (-zo) que no definem um limite assintoticamente restrito pertencem a o (-zinho)

  • Comparativo com a notao O;

    Notao

    }nng(n) cnf|

    nc{f(n):(g(n))

    0

    0

    )(0

    0,0

    0c constantes as todaspara

    vlido )()(0 limite o )),(()(

    0c constante alguma para

    vlidomantm se )()(0 limite o )),(()(

    ncgnfngnf

    ncgnfngOnf

    No

  • Notao

    0)(

    )(lim

    ento Se

    ng

    nf

    (g(n))f(n)

    n

    Facilitando o entendimento...

  • Notao (omega minsculo)

  • O limite assinttico inferior fornecido pela notao (omega-zo) pode:

    Ser assintoticamente restrito;

    No ser assintoticamente restrito;

    Exemplos:

    Assintoticamente restrito:

    No assintoticamente restrito:

    Notao

    )(2 22 nn

    )(2 3 nn

  • Notao

    ))(log(2

    )1(2 2

    nn

    n

    ))(()(

    ))(()())(()(

    ngnf

    entaongnfengOnfse

    Todas as funes de (omegazo) que no definem um limite assintoticamente restrito pertencem a

  • Notao

    }nn nfg(n)c|

    nc{f(n):(g(n))

    0

    0

    )(0

    0,0

    No

  • Notao

    )(

    )(lim

    ento Se

    ng

    nf

    (g(n))f(n)

    n

    Facilitando o entendimento...

  • Exerccios

  • Exerccios V ou F

    ))(()())(()( nfngssengnf

    ))(()())(()( ngnfentaongnfse (a)

    (b)

    (c)

    (d)

    (e)

    (f)

    (g)

    (h)

    (i)

    ))(()())(()( ngnfentaongnfse

    ))(()())(()( ngnfentaongnfse

    ))(()())(()( ngnfentaongOnfse

    ))(()())(()( ngnfentaongnfse

    ))(()())(()( ngnfentaongnfse

    ))(()())(()( ngnfentaongnfse

    ))(()())(()( ngnfentaongnfse

  • Exerccio para prxima aula Descreva e implemente 3 algoritmos para a seguinte espiral:

    Eles devem ter respectivamente as seguintes complexidades: (n); (sqrt(n)); (1).

    Eu informo n, e voc informa as coordenadas x, y do n-sino ponto.

  • Leitura para prxima aula

    Livro: Algoritmos (Cormen)

    4 Recorrncias;

    4.1 O mtodo de substituio;

    4.2 O mtodo de rvore de recurso

    4.3 O mtodo mestre

  • Bibliografia

    CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; (2002). Algoritmos Teoria e Prtica. Traduo da 2 edio americana. Rio de Janeiro. Editora Campus.

    TAMASSIA, ROBERTO; GOODRICH, MICHAEL T. (2004). Projeto de Algoritmos - Fundamentos, Anlise e Exemplos da Internet.