O documento discute o problema da decisão do isomorfismo em subgrafos, que é NP-completo. Ele define o problema, mostra que está na classe NP e que é NP-completo ao reduzir o problema conhecido da clique de forma polinomialmente transformável. Especificamente, constrói-se um grafo completo com k vértices a partir de uma clique de tamanho k, mostrando que se há uma clique no grafo original, então há um subgrafo isomórfico.
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.