Buscar

Limites Inferiores e NP-Completude em Algoritmos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DCC001 - Ana´lis e Projeto de Algoritmos
Departamento de Cieˆncia da Computac¸a˜o DCC - UFJF
Professor: Leonardo Vieira dos Santos Reis e-mail:lvsreis@ice.ufjf.br
Lista de Exercic´ıos – Limites Inferiores e NP-Completude
1. Considere duas sequeˆncias ordenadas com n elementos cada. Escreva um algoritmo o´timo para
intercalar estas duas sequeˆncias (obs.: voceˆ tem que mostrar que o seu algoritmo e´ o´timo, i.e., que
a complexidade de pior caso e´ a mesma do limite inferior do problema).
2. Dada uma sequeˆncia S = s1, s2, . . . , sn, considere o problema de determinar se esta sequeˆncia esta´
ordenada ou na˜o. Obtenha um limite inferior justo para o nu´mero de comparac¸o˜es necessa´rias para
se resolver este problema.
3. Sabendo que o limite inferior do problema de obter o menor e o segundo menor elemento de uma
sequeˆncia (na˜o ordenada) e´ n + log n− 2 comparac¸o˜es, mostre que esse limite e´ justo.
4. Seja um conjunto S com n nu´meros reais. Sabendo que o nu´mero mı´nimo de comparac¸o˜es para
determinar se todos os elementos de S sa˜o distintos e´ Ω(n log n), apresente um algoritmo o´timo para
esse problema.
5. Seja M(n) o tempo mı´nimo necessa´rio para multiplicar duas matrizes de dimenso˜es n×n, e seja S(n)
o tempo mı´nimo necessa´rio para computar o quadrado de uma matriz de dimensa˜o n × n. Mostre
que M(n) = Θ(S(n)), i.e., mostre que a operac¸a˜o de elevar ao quadrado uma matriz de dimensa˜o
n× n tem a mesma dificuldade que a operac¸a˜o de multiplicar duas matrizes de dimenso˜es n× n.
6. Mostre que o limite inferior para o problema de inverter uma matriz triangular inferior de dimensa˜o
n× n e´ igual ao limite inferior de multiplicar duas matrizes de dimenso˜es n× n.
7. Sejam P e Q dois problemas tais que P pode ser reduzido a Q em tempo linear. Suponha que o
limite inferior de P e´ Ω(n log n). Responda se cada uma das afirmac¸o˜es abaixo e´ verdadeira ou falsa,
justificando a sua resposta:
(a) O limite inferior de Q e´ Ω(n log n);
(b) Todo algoritmo que resolve P pode ser usado para resolver Q;
(c) Todo algoritmo que resolve Q pode ser usado para resolver P ;
(d) O problema Q pode ser resolvido no pior caso em tempo O(n log n).
8. Seja uma sequeˆncia ordenada e considere o problema de inserir um novo elemento nesta sequeˆncia
mantendo-a ordenada:
(a) Mostre que o limite inferior para este problema e´ Ω(n log n);
(b) Mostre que esse limite e´ justo.
9. Responda se as afirmac¸o˜es abaixo sa˜o verdadeiras ou falsas. Justifique sua resposta.
(a) P ⊆ NP;
(b) Para mostrar que um problema L e´ NP-completo basta mostrar que L pode ser reduzido a um
outro problema conhecidamente em NP-Completo;
(c) Para mostrar que um problema L esta´ em NP basta mostrar que existe um algoritmo na˜o-
determin´ıstico que o resolve;
(d) Todo problema NP-Completo tambe´m e´ NP.
10. Dado um problema P1 e um algoritmo A1 que soluciona P1, responda se as afirmac¸o˜es a seguir sa˜o
verdadeiras ou falsa, justificando sua resposta:
(a) suponha que A1 tem complexidade O(n
2). Isto implica que o limite inferior de de P1 e´ Ω(n
2)?
(b) supondo que o limite inferior de P1 e´ Ω(n log n), enta˜o A1 tem complexidade Ω(n log n)?
(c) supondo que A1 tem complexidade Ω(n log n) e O(n
2) e que o limite inferior do problema P1 e´
Ω(n log n). Podemos afirmar que o algoritmo A1 e´ o´timo?
11. Dada uma sequeˆncia com n nu´meros inteiros, seja P1 o problema de ordenar a sequeˆncia e seja P2 o
problema de encontrar o maior elemento da sequeˆncia. Considere a reduc¸a˜o do problema P1 em P2:
1
DCC001 - Ana´lis e Projeto de Algoritmos
Departamento de Cieˆncia da Computac¸a˜o DCC - UFJF
Professor: Leonardo Vieira dos Santos Reis e-mail:lvsreis@ice.ufjf.br
Lista de Exercic´ıos – Limites Inferiores e NP-Completude
Seja A2 um algoritmo que resolve P2. O problema P1 pode ser reduzido ao problema P2
em tempo linear da seguinte forma:
(a) dada uma sequeˆncia S que se deseja ordenar, passe-a para o algoritmo A2
(b) aplique o algoritmo A2 a` sequeˆncia S para obter o maior elemento da sequeˆncia
(c) troque de posic¸a˜o na sequeˆncia o maior elemento obtido acima com o u´ltimo elemento
da sequeˆncia
(d) repita os passos acima n− 1 vezes
Visto que o passo (a) e´ O(1) e que os passos (c) e (d) sa˜o O(n), enta˜o o problema P1 pode
ser reduzido a P2 em tempo linear. Portanto, como o problema P1 (ordenac¸a˜o) tem limite
inferior Ω(n log n), o limite inferior de P2 tambe´m e´ Ω(n log n).
A demonstrac¸a˜o que o limite inferior do problema P2 e´ Ω(n log n) esta´ correta? Justifique.
12. Sejam P1, P2 e P3 treˆs problemas tais que P1 pode ser reduzido a P2 em tempo O(n) e P2 pode ser
reduzido a P3 em tempo O(n
2). Considerando estas suposic¸o˜es, responda se as afirmac¸o˜es abaixo
sa˜o verdadeiras ou falsas e justifique sua resposta:
(a) se o limite inferior de P1 e´ Ω(n log n), enta˜o o limite inferior de P2 e P3 tambe´m e´ Ω(n log n);
(b) se P1 e´ um problema NP-Completo, enta˜o P2 e P3 tambe´m sa˜o NP-Completos;
(c) se o limite inferior de P1 e´ Ω(2
n) e P3 e´ NP-Completo, enta˜o P 6= NP;
(d) se o problema SAT pode ser reduzido ao problema P2 em tempo polinomial e existe um algoritmo
determin´ıstico que soluciona P3 em tempo polinomial, enta˜o P = NP;
(e) se P3 e´ NP-Completo, enta˜o existem algoritmos determin´ısticos de complexidade polinomial que
resolvem P1 e P2.
13. Sabendo que existe reduc¸a˜o polinomial do problema da satisfatibilidade (SAT) para o problema Q,
considere as seguintes afirmac¸o˜es:
1. Q pertence a classe de problemas P;
2. Q pertence a classe de problemas NP;
3. Q pertence a classe de problemas NP-Completos;
4. P = NP.
Considerando cada uma das suposic¸o˜es a seguir, indique quais dessas afirmac¸o˜es sa˜o verdadeiras,
falsas ou que na˜o ha´ argumentos suficientes para decidir:
(a) suponha que voceˆ conseguiu elaborar um algoritmo determin´ıstico de complexidade polinomial
que soluciona o problema Q;
(b) suponha que voceˆ conseguiu elaborar um algoritmo na˜o-determin´ıstico de complexidade polino-
mial que soluciona o problema Q;
(c) suponha que voceˆ conseguiu mostrar que o limite inferior do problema Q e´ Ω(2n).
14. Sejam os problemas P1 e P2 assim enunciados:
• Problema P1: Dado um grafo G = (V,E) e um inteiro positivo K, determinar se existe um
subconjunto S ⊆ V cujo tamanho seja no mı´nimo K de modo que para quaisquer elementos,
u ∈ S e v ∈ S, na˜o exista arestas entre eles, ou seja (u, v) /∈ E;
• Problema P2: Dado um grafo G = (V,E) e um inteiro positivo K, determinar se existe um
subconjunto S ⊆ V cujo tamanho seja no mı´nimo K de modo que para quaisquer elementos,
u ∈ S e v ∈ S, exista arestas entre eles, ou seja (u, v) ∈ E;
Sabendo que o problema P1 e´ um problema NP-Completo, mostre que o problema P2 tambe´m e´ um
problema NP-Completo.
2

Outros materiais