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

50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica
Fernanda Firmino
 
Caderno exercícios-windows-7
Caderno exercícios-windows-7Caderno exercícios-windows-7
Caderno exercícios-windows-7
andre nunes
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a Algoritmos
Micael Coutinho
 
50 questoes de informatica basica
50 questoes de informatica basica50 questoes de informatica basica
50 questoes de informatica basica
Fernanda Firmino
 
Evolução dos sistemas operativos da windows
Evolução dos sistemas operativos da windowsEvolução dos sistemas operativos da windows
Evolução dos sistemas operativos da windows
FrogFAT
 

Mais procurados (20)

Aula gerenciamento de arquivos e pastas
Aula   gerenciamento de arquivos e pastasAula   gerenciamento de arquivos e pastas
Aula gerenciamento de arquivos e pastas
 
Análise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise AssintóticaAnálise de Algoritmos - Análise Assintótica
Análise de Algoritmos - Análise Assintótica
 
Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++Conceitos básicos de Matrizes em C++
Conceitos básicos de Matrizes em C++
 
História do windows
História do windowsHistória do windows
História do windows
 
Sistemas de numeração
Sistemas de numeraçãoSistemas de numeração
Sistemas de numeração
 
Multimedia 20
Multimedia 20Multimedia 20
Multimedia 20
 
50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica50 questoes de word windows e informatica basica
50 questoes de word windows e informatica basica
 
Visual Studio Code
Visual Studio CodeVisual Studio Code
Visual Studio Code
 
Caderno exercícios-windows-7
Caderno exercícios-windows-7Caderno exercícios-windows-7
Caderno exercícios-windows-7
 
Introdução a Lógica e a Algoritmos
Introdução a Lógica e a AlgoritmosIntrodução a Lógica e a Algoritmos
Introdução a Lógica e a Algoritmos
 
Cистеми числення
Cистеми численняCистеми числення
Cистеми числення
 
WINDOWS HISTORIA
WINDOWS HISTORIAWINDOWS HISTORIA
WINDOWS HISTORIA
 
50 questoes de informatica basica
50 questoes de informatica basica50 questoes de informatica basica
50 questoes de informatica basica
 
Iniciando em Python
Iniciando em PythonIniciando em Python
Iniciando em Python
 
Evolução do windows
Evolução do windowsEvolução do windows
Evolução do windows
 
Discos e sistemas de arquivos em Linux
Discos e sistemas de arquivos em LinuxDiscos e sistemas de arquivos em Linux
Discos e sistemas de arquivos em Linux
 
Evoluçâo Sistema Operacional Windows
Evoluçâo Sistema Operacional WindowsEvoluçâo Sistema Operacional Windows
Evoluçâo Sistema Operacional Windows
 
Evolução dos sistemas operativos da windows
Evolução dos sistemas operativos da windowsEvolução dos sistemas operativos da windows
Evolução dos sistemas operativos da windows
 
Sistema operacional linux
Sistema operacional linuxSistema operacional linux
Sistema operacional linux
 
Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Subgraph Isomorphism - NP Proof / Prova NP Isomorfismo em Subgrafo

  • 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.