PUC-Rio
Departamento de Informática
Prof. Marcus Vinicius S. Poggi de Aragão
Período: 2004.2
Horário: 3as-feiras e 5as-feiras de 13 às 15 horas - Sala 422L
PROJETO E ANÁLISE DE ALGORITMOS (INF 2926)

Lista 1

  1. Considere as seguintes funções:

    1. 10.np
    2. log n
    3. log ( n2 )
    4. 0.005 . n0.00001
    5. 1000. (log n)2
    6. 30.n3.log n
    7. 50.n.log2 n
    8. (log n)log n
    9. n/log n
    10. 70.n
    11. log log n
    12. (1.5)(log n)2
    13. 90.n2.log n + n3. log n


  2. Verdadeiro ou Falso. Justifique.
    1. (log n)100 = O(ne), " e > 0.
    2. 2n+1 = O (2n).
    3. Se g(n,m) = m logd n onde d = [ m/n + 2] ( [x] é o menor inteiro maior que x), m = O(n2), então g(n,m) = O(m(1 + e)) " e > 0.

  3. Encontre contra-exemplos para as proposições abaixo.
    1. Se f(n) = O(s(n)) e g(n) = O(r(n)), então f(n) - g(n) = O(s(n)-r(n))
    2. Se f(n) = O(s(n)) e g(n) = O(r(n)), então f(n)/g(n) = O(s(n)/r(n))

  4. Sejam P1, P2 e P3 três problemas tais que P1 an P2 an3logn P3 (i.e., P1 é redutível a P2 em tempo linear e P2 a P3 em tempo n3 log n). Assuma a hipótese de que P1 é W(n log n). Assuma também que você conhece um algoritmo O (n3) para resolver P3. Discuta as afirmações abaixo, considerando que somente o conhecimento acima está disponível.
    1. O que você pode dizer sobre a complexidade de resolução de P2 ? Qual a complexidade do melhor algoritmo que você conhece para P2 ?
    2. Todo algoritmo que resolve P2 tem que gastar pelo menos tempo quadrático (P2 é W(n2)).
    3. W(n log n) é um limite inferior para a complexidade de P3.
    4. Todo algoritmo que resolve P1 pode ser usado para resolver P2.
    5. Todo algoritmo que resolve P3 pode ser usado para resolver P2.
    6. P2 pode ser resolvido no pior caso em tempo O(n log n).

  5. Seja P o conjunto dos problemas para os quais existem algoritmos determinísticos polinomias para a sua resolução . Seja NP o conjunto dos problemas para os quais existem algoritmos não-determinísticos polinomias para a sua resolução . Naturalmente P está contido em NP. Considere os problemas P1 Î P e P2 Î NP-completo. Indique se cada afirmação abaixo é verdadeira, falsa ou se não se sabe.
    1. Conhece-se uma redução de P1 para P2 que toma tempo polinomial (O(nk)).
    2. Se existe um algoritmo determinístico polinomial para a resolução de P2 então podemos afirmar que P1 Î NP-completo assim como P2 Î P.
    3. P2 é pelo menos tão difícil quanto 3-SAT.
    4. 3-SAT é pelo menos tão difícil quanto P2.
    5. Existe uma redução de P2 para P1 que toma tempo polinomial.

  6. Defina as classes de problemas P, NP e NP-completo Relacione estas classes e dê um exemplo de problema para cada classe.

  7. Dado que você conhece um algoritmo determinístico polinomial para a resolução do problema (CMC) abaixo, USE ESTE CONHECIMENTO para provar que você também conhece um algoritmo determinístico polinomial para a resolução do problema (VMC) apresentado em seguida.

    (CMC) Dado um grafo orientado G=(V,A) com comprimentos positivos associados aos arcos (i,j) Î A, dois vértices i,j Î V e uma constante K. Pergunta-se se existe um caminho do vértice i ao vértice j que possua comprimento menor ou igual à K.

    (VMC) Dado um grafo orientado G=(V,A), com comprimentos positivos associados aos arcos (i,j) Î A, e uma constante K. Pergunta-se se existe um par de vértices (i,j) para o qual exista um caminho de i a j e de j a i que tenha comprimento menor ou igual à K.

This document was translated from LATEX by HEVEA.