77 4 mapeie o problema abaixo para grafos

Info icon This preview shows pages 64–67. Sign up to view the full content.

View Full Document Right Arrow Icon
77 (4) Mapeie o problema abaixo para grafos, especificando precisamente o que é vértice, aresta e qual seria o problema a ser resolvido. Não se esqueça de dizer os parâmetros do problema. Por exemplo, uma resposta poderia ser “Encontre um clique com k vértices”. Uma companhia manufatura os produtos químicos C 1 , C 2 , … C n . Alguns destes produtos podem explodir se colocados em contato com outros. Como precaução contra acidentes, a companhia quer construir k armazéns para armazenar os produtos químicos de tal forma que produtos incompatíveis fiquem em armazéns diferentes. Qual é o menor número k de armazéns que devem ser construídos? 64
Image of page 64

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
16 Redução de Algoritmos Um problema (não algoritmo) P pode ser reduzido a um problema Q se, conhecido um algoritmo para Q, então podemos encontrar um algoritmo para P. Indicaremos que P pode ser reduzido a Q por P Q a direção da flecha indica para onde a solução vai. O problema “encontre o maior elemento de um vetor” pode ser reduzido a “ordene um vetor”. Após ordenar o vetor, podemos simplesmente pegar o último elemento, que é o maior. Note que a transformação do resultado de “ordene um vetor” para “encontre o maior…” é feito em tempo O (1). O problema de multiplicar duas matrizes A e B pode ser reduzido ao problema de elevar uma matriz ao quadrado usando a seguinte fórmula: O B 2 O B O B BA O A O A O A O O AB Tendo A e B, construímos a matriz O B e invocamos o algoritmo A O SQR (X) que retorna X 2 . Do resultado tomamos BA e AB. Conclusão: A complexidade da multiplicação de matrizes não é maior do que a complexidade do problema “Eleve matriz X ao quadrado”. Isto é, tendo disponível um algoritmo para elevar uma matriz ao quadrado, podemos obter um algoritmo para multiplicar matrizes com a mesma complexidade. O problema da ordenação dos números X 1 , X 2 , … X n pode ser reduzido à compressão de dados pelo método de Huffman da seguinte forma: Para isto, construa a árvore de Huffman para 2 X1 , 2 X2 … 2 Xn . Pelo algoritmo, a árvore terá a forma 256 exemplo 32 16 2 1 Os números ordenados podem ser obtidos em tempo linear (O (n)) percorrendo-se a árvore. Deste ponto em diante nós estudaremos apenas os problemas que retornam apenas “sim” ou “não”. A maioria dos problemas pode ser facilmente convertida para este tipo de problema. Definição: Um problema P é polinomialmente redutível a Q se é possível transformar a entrada de P em entrada para Q em tempo polinomial e Q retorna sim (ou não) se e somente se P retorna sim (ou não) com a mesma entrada. Isto é, a resposta dada por Q pode ser usada como a resposta para P. 65
Image of page 65
resposta sim / não P Q entrada convertida em tempo polinomial Se a conversão da entrada de P para Q tomar tempo O (f (n)) e o algoritmo para Q possuir complexidade O(g(n)), então o algoritmo para P dado pela redução possui complexidade O(f(n)) + O(g(n)) = O(f(n) + g(n)) Em particular, se g (n) for exponencial, O(f(n) + g (n)) será O (g (n)). Se g(n) for polinomial, o algoritmo para P dado pela redução também será polinomial. Exemplos:
Image of page 66

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 67
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern