SlideShare uma empresa Scribd logo
1 de 9
Provas NP Completo
Problema do Isomorfismo em Subgrafos
Projeto e Análise de Algoritmos
1o. Semestre de 2014
Hugo Santos – silvasantosh@gmail.com
Definição
1) Na computação o Problema de Isomorfismos em grafos é um problema de
decisão do qual sabemos que pertence à classe NP-Completo. Na teoria dos
grafos, dois grafos H e G são isomorfos se existe uma correspondência 1-a-1
entre seus conjuntos de vértices que preserve as adjacências
(a - w; b - x; c - z; d- y).
Definição
1) O Problema do Isomorfismo em Subgrafos (Subgraph isomorphism problem) é
que dados dois grafos H e G, a pergunta que pode ser feita é: H é isomórfico a
um subgrafo de G?
H é isomórfico a um subgrafo de G
(u; v) = (f(u); f(v))
Etapas da Prova NP-Completo
1) Mostrar que Isomorfismo em Subgrafos (π) está em NP: problemas
de decisão cuja solução pode ser verificada em tempo polinomial
com algoritmo determinista.
2) Mostrar que um problema NP-completo conhecido (π‘) pode ser
polinomialmente transformado para ele (π‘ α π).
Mostrar que Isomorfismo em Subgrafos
(π) está em NP
1) Algoritmo determinista para verificar a solução em tempo
polinomial:
Sejam os grafos H e G, e os conjuntos de vértices pertencentes a cada um deles, v1, ...
vn e u1,...un, respectivamente. O algoritmo então verifica de forma trivial que
∀(vi,vj) ϵ H, ∃(ui,uj) ϵ G
Mostrar que um problema NP-completo conhecido (π‘)
pode ser polinomialmente transformado para ele (π‘ α π)
1) O problema da CLIQUE (π‘ ), conhecido por pertencer a classe
NP-Completo em sua versão de decisão. Na teoria dos grafos,
denomina-se a CLIQUE de um grafo como sendo um subgrafo
completo desse.
2) Problema: Dado um grafo G e um inteiro k, G tem uma CLIQUE
com k ou mais vértices?
Mostrar que um problema NP-completo conhecido (π‘)
pode ser polinomialmente transformado para ele (π‘ α π)
1) Dado um grafo H e o tamanho de um CLIQUE igual a k, então construímos
um grafo completamente conectado G com k vértices. Precisamos
mostrar que se o grafo H tem CLIQUE de tamanho >= k (Subgrafo C),
então ele é isomórfico a um subgrafo G.
2) Então seja Vg = v1,...,vk, já que G é um grafo completo, então ∃(vi,vj) ϵ G,
i≠j. Sabendo que H tem uma CLIQUE de tamanho >= k , escolhemos k
vértices nessa CLIQUE e criamos um conjunto de vértices C = ui,...,uk.
Agora é possível perceber que C também é uma CLIQUE em H, porém de
tamanho k. Então temos que ∀(vi,vj) ϵ G; ∃(ui,uj) ϵ C, desde que ambos os
conjuntos são completamente conectados. Portanto, G é um subgrafo
isomórfico de H.
Mostrar que um problema NP-completo conhecido (π‘)
pode ser polinomialmente transformado para ele (π‘ α π)
1) Agora, mostrando a “volta”, se G é um subgrafo isomórfico a H,
então H tem uma CLIQUE de tamanho >= k. Pela definição, G é um
grafo completamente conectado de tamanho k. Desde que ele é
um subgrafo isomórfico, então existe um correspondente C ⊂ H
que é completamente conectado e, também, é uma CLIQUE. Essa
CLIQUE tem tamanho k, e então mostramos que H tem uma
CLIQUE de tamanho >= k.
Exemplo
(π‘ α π)

Mais conteúdo relacionado

Mais procurados

Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de TempoSistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de TempoArthur Emanuel
 
Sistemas de equações
 Sistemas de equações Sistemas de equações
Sistemas de equaçõesmarilia65
 
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...Rodolfo Almeida
 
Introdução ao estudo das funções
Introdução ao estudo das funçõesIntrodução ao estudo das funções
Introdução ao estudo das funçõesEverton Moraes
 
Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)wilkerfilipel
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04thomasdacosta
 
Introdução a Teoria dos Grafos
Introdução a Teoria dos GrafosIntrodução a Teoria dos Grafos
Introdução a Teoria dos GrafosChromus Master
 
Gestão e gerenciamento de obra
Gestão e gerenciamento de obraGestão e gerenciamento de obra
Gestão e gerenciamento de obraHeraldo Aprígio.
 
Introdução à Teoria dos Grafos
Introdução à Teoria dos GrafosIntrodução à Teoria dos Grafos
Introdução à Teoria dos GrafosBianca Dantas
 
Matemática Discreta - Parte III definicoes indutivas
Matemática Discreta - Parte III definicoes indutivasMatemática Discreta - Parte III definicoes indutivas
Matemática Discreta - Parte III definicoes indutivasUlrich Schiel
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismoArthur Emanuel
 
Programação linear
Programação linearProgramação linear
Programação linearKaryn XP
 
Resolução de equações paramétricas
Resolução de equações paramétricasResolução de equações paramétricas
Resolução de equações paramétricasPaulo Mutolo
 
Introdução à Lógica de Predicados
Introdução à Lógica de PredicadosIntrodução à Lógica de Predicados
Introdução à Lógica de PredicadosHugo Souza
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoDelacyr Ferreira
 

Mais procurados (20)

Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de TempoSistemas Distribuídos -  Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
Sistemas Distribuídos - Aula 09 - Tempos, Relogios e Sincronizacao de Tempo
 
Sistemas de equações
 Sistemas de equações Sistemas de equações
Sistemas de equações
 
Test link
Test linkTest link
Test link
 
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...
 
Introdução ao estudo das funções
Introdução ao estudo das funçõesIntrodução ao estudo das funções
Introdução ao estudo das funções
 
Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)Lógica matemática (exercícios resolvidos)
Lógica matemática (exercícios resolvidos)
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Introdução a Teoria dos Grafos
Introdução a Teoria dos GrafosIntrodução a Teoria dos Grafos
Introdução a Teoria dos Grafos
 
Projeto H1 N1
Projeto H1 N1Projeto H1 N1
Projeto H1 N1
 
Gestão e gerenciamento de obra
Gestão e gerenciamento de obraGestão e gerenciamento de obra
Gestão e gerenciamento de obra
 
Introdução à Teoria dos Grafos
Introdução à Teoria dos GrafosIntrodução à Teoria dos Grafos
Introdução à Teoria dos Grafos
 
Matemática Discreta - Parte III definicoes indutivas
Matemática Discreta - Parte III definicoes indutivasMatemática Discreta - Parte III definicoes indutivas
Matemática Discreta - Parte III definicoes indutivas
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
Programação linear
Programação linearProgramação linear
Programação linear
 
Padrões de Projeto para Jogos
Padrões de Projeto para JogosPadrões de Projeto para Jogos
Padrões de Projeto para Jogos
 
Resolução de equações paramétricas
Resolução de equações paramétricasResolução de equações paramétricas
Resolução de equações paramétricas
 
Introdução à Lógica de Predicados
Introdução à Lógica de PredicadosIntrodução à Lógica de Predicados
Introdução à Lógica de Predicados
 
Análise de Algoritmos - Método Guloso
Análise de Algoritmos - Método GulosoAnálise de Algoritmos - Método Guloso
Análise de Algoritmos - Método Guloso
 

NP-Completo Problema Isomorfismo Subgrafos

  • 1. Provas NP Completo Problema do Isomorfismo em Subgrafos Projeto e Análise de Algoritmos 1o. Semestre de 2014 Hugo Santos – silvasantosh@gmail.com
  • 2. Definição 1) Na computação o Problema de Isomorfismos em grafos é um problema de decisão do qual sabemos que pertence à classe NP-Completo. Na teoria dos grafos, dois grafos H e G são isomorfos se existe uma correspondência 1-a-1 entre seus conjuntos de vértices que preserve as adjacências (a - w; b - x; c - z; d- y).
  • 3. Definição 1) O Problema do Isomorfismo em Subgrafos (Subgraph isomorphism problem) é que dados dois grafos H e G, a pergunta que pode ser feita é: H é isomórfico a um subgrafo de G? H é isomórfico a um subgrafo de G (u; v) = (f(u); f(v))
  • 4. Etapas da Prova NP-Completo 1) Mostrar que Isomorfismo em Subgrafos (π) está em NP: problemas de decisão cuja solução pode ser verificada em tempo polinomial com algoritmo determinista. 2) Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π).
  • 5. Mostrar que Isomorfismo em Subgrafos (π) está em NP 1) Algoritmo determinista para verificar a solução em tempo polinomial: Sejam os grafos H e G, e os conjuntos de vértices pertencentes a cada um deles, v1, ... vn e u1,...un, respectivamente. O algoritmo então verifica de forma trivial que ∀(vi,vj) ϵ H, ∃(ui,uj) ϵ G
  • 6. Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π) 1) O problema da CLIQUE (π‘ ), conhecido por pertencer a classe NP-Completo em sua versão de decisão. Na teoria dos grafos, denomina-se a CLIQUE de um grafo como sendo um subgrafo completo desse. 2) Problema: Dado um grafo G e um inteiro k, G tem uma CLIQUE com k ou mais vértices?
  • 7. Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π) 1) Dado um grafo H e o tamanho de um CLIQUE igual a k, então construímos um grafo completamente conectado G com k vértices. Precisamos mostrar que se o grafo H tem CLIQUE de tamanho >= k (Subgrafo C), então ele é isomórfico a um subgrafo G. 2) Então seja Vg = v1,...,vk, já que G é um grafo completo, então ∃(vi,vj) ϵ G, i≠j. Sabendo que H tem uma CLIQUE de tamanho >= k , escolhemos k vértices nessa CLIQUE e criamos um conjunto de vértices C = ui,...,uk. Agora é possível perceber que C também é uma CLIQUE em H, porém de tamanho k. Então temos que ∀(vi,vj) ϵ G; ∃(ui,uj) ϵ C, desde que ambos os conjuntos são completamente conectados. Portanto, G é um subgrafo isomórfico de H.
  • 8. Mostrar que um problema NP-completo conhecido (π‘) pode ser polinomialmente transformado para ele (π‘ α π) 1) Agora, mostrando a “volta”, se G é um subgrafo isomórfico a H, então H tem uma CLIQUE de tamanho >= k. Pela definição, G é um grafo completamente conectado de tamanho k. Desde que ele é um subgrafo isomórfico, então existe um correspondente C ⊂ H que é completamente conectado e, também, é uma CLIQUE. Essa CLIQUE tem tamanho k, e então mostramos que H tem uma CLIQUE de tamanho >= k.