1o+npc

174 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
174
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

1o+npc

  1. 1. 1º NPC CT907 – Complexidade de Algoritmos prof. Jerffeson Teixeira de Souza Data de Entrega: 04 de NovembroQ1. Responda as seguintes questões sobre classes de problemas: a) Defina as classes de problemas P, NP, NPI, NPC (NP-Completo) e NPD (NP-Difícil). b) Apresente pelo menos dois exemplos de problemas que pertencem a cada uma das classes descritas acima. c) Discuta a questão “P = NP ?”.Q2. Suponha que existem 4 problemas: A, B, C e D. Cada um desses problemas pode ou não pertencer a classe NP. No entanto, sabemos o seguinte sobre eles: i. Existe uma redução em tempo polinominal de A para B. ii. Existe uma redução em tempo polinominal de B para C. iii. Existe uma redução em tempo polinominal de D para C.Avalie, justificando sua resposta, cada afirmação abaixo como: Com certeza é verdadeira, independentemente de quais são os problemas A, B, C e D, e independentemente da veracidade de relacionamentos entre as classes de problemas, como “P = NP?”. Talvez seja verdadeira, dependendo de quais são os problemas A, B, C e D, e /ou dependendo da veracidade de relacionamentos entre as classes de problemas, como “P = NP?”. Nunca é verdadeira, independente de quais são os problemas A, B, C e D, e independentemente da veracidade de relacionamentos entre as classes de problemas, como “P = NP?”. a) B é NP-Completo e D está em P b) Se A é NP-Completo então C é NP-Completo c) Se C está em P então D está em P d) Se A é NP-Completo e B está em NP, então B é NP-Completo e) A é NP-Completo e C está em P
  2. 2. Q3. Considere o problema SUBSET_SUM: Dada uma seqüência de números não negativos a1,...,an,T , decide se existe um subconjunto S {1,...,n} tal que i S ai = T. O problema SUBSET-SUM é NP-Completo. Agora considere o seguinte problema: PARTITION: Dada uma seqüência de números não negativos b1,...,bm , decide se existe uma partição de {1,...,m} em dois subconjuntos disjuntos U e V tal que i U bi = j V bj, ou seja, deseja-se saber se existe uma maneira de dividir a seqüência b1,...,bm em duas subseqüências disjuntos que quando somadas tem o mesmo valor. a) Prove que o problema PARTITION é NP-Completo. b) Suponha que existe um algoritmo de tempo polinomial (PART) que resolve PARTITION. Descreva um algoritmo de tempo polinomial (PART_SEARCH) que, usando o algoritmo PART, resolve a versão de busca do problema PARTITION, ou seja, dado b1,...,bm , seu algoritmo PART_SEARCH deve retornar uma partição de {1,...,m} em dois subconjuntos disjuntos U e V tais que i U bi = j V bj, ou retornar “Sem solução” se nenhum particionamento é possível. (Dica: pense em uma forma de verificar se dois números da seqüência podem pertencer ao mesmo subconjunto da partição).Q4. Um conjunto independente de um grafo G = (V, E) é um subconjunto V´ V de vértices, tal que cada aresta em E é incidente em no máximo um vértice em V´. O problema do conjunto independente é encontrar um conjunto independente de tamanho máximo em G. a) Formule um problema de decisão relacionado para o problema do conjunto independente e prove que ele é NP-Completo. Dica: Use uma redução a partir do problema do Clique. b) Vamos supor que você recebeu uma sub-rotina de “caixa-preta” para resolver o problema de decisão que definiu na parte (a). Forneça um algoritmo para encontrar um conjunto independente de tamanho máximo. O tempo de execução de seu algoritmo deve ser polinomial em |V| e |E|, onde consultas à caixa preta são contadas como um único passo. c) Forneça um algoritmo eficiente para resolver o problema do conjunto independente quando cada vértice em G tem grau 2. Analise o tempo de execução e prove que seu algoritmo funciona corretamente.
  3. 3. Q5. Considere o seguinte problema: HALF-CLIQUE = { G : G é um grafo não direcionado que possui um clique com exatamente n/2 vértices, onde n é um número par e representa o número de vértices de G. } Mostre que HALF-CLIQUE NPC.Q6. O problema do Isomorfismo de Grafos é um famoso problema em NPI. Seja então ISO_GRAF = { G , H |G e H são isomorfos}. Mostre que ISO_GRAF NP.Q7. O problema do Isomorfismo de SubGrafos pode ser definido da seguinte forma: ISO_SUBGRAF = { G , H |G é isomorfo à um subgrafo de H}. Mostre que ISO_SUBGRAF NPC. Dica: Use uma redução a partir do problema do Clique.Q8. Considere o problema do conjunto dominante como definido abaixo: CONJ_DOM = { G,k : G tem um conjunto dominante de k nós, ou seja, existe um subconjunto de nós de G de k nós, onde todo outro nó de G é adjacente a algum nó do subconjunto. } Mostre que CONJ_DOM NPC. Dica: Use uma redução a partir do problema da cobertura de vértices. Boa Sorte !!

×