SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Problemas NP-completos
com grafos
Yuri Tavares dos Passos
O problema do caixeiro
viajante
● O problema do caixeiro viajente (TSP –
traveler salesman problem) considera duas
entradas: um grafo G = (V,E) e uma função c.
c: E → N
● A função c associa um custo a cada aresta.
● O TSP envolve descobrir o menor ciclo que
passe por todos os nós.
– “Menor” diz respeito ao somatório dos custos das
arestas deste ciclo.
O problema do caixeiro
viajante
O problema do caixeiro
viajante
● O TSP pode ser enunciado como: dado um grafo
G, uma função completa c e um custo máximo k, o
grafo G possui um ciclo P que passe por todos os
nós e cujo somatório dos custos das arestas de P
seja menor que k?
● A prova que este problema é NP-completo envolve
um problema reduzido.
– HC (Hamiltonian cycle)
● O problema do ciclo hamiltoniano pode ser
enunciado como: dado um grafo G, existe um ciclo
que passe uma única vez em cada nó?
O problema do caixeiro
viajante
● Visto que usaremos um problema “mais fácil”
devemos apresentar a redução do HC ao TSP.
Qual seria?
● Visto que existe redução de tempo polinomial de
HC para TSP, provaremos que HC é NP-completo
para completar a prova de que o TSP também é.
● Contudo, existe um problema “mais simples” que
o HC que também é NP-completo:
– DHC (Directed Hamiltonian cycle)
● Similar ao HC, mas a entrada é um grafo dirigido.
NP-completude do DHC
● DHC está em NP
– Use não-determinismo para encontrar um ciclo e
verificar se todos os nós estão dentro dele.
● Redução de 3-SAT para DHC
– Transformaremos uma instância de 3-SAT
(x1+x2+y1)(x3+y2+ -y1) … (xn-2+yn-3+ -yn-4)(xn-1+xn+ -
yn-3)
– Em um grafo G dirigido que possuirá um ciclo se e
somente se a instância correspondente é
satisfazível.
Redução de 3-SAT para
DHC
Considere a instância E de 3-SAT.
E possui as variáveis:
– x1, x2, x3, …, xn
E possui k cláusulas:
– E = e1 ^ e2 ^ … ^ ek
Considere Qi e Qi a quantidade de ocorrências
de xi e a quantidade de ocorrências de xi,
respectivamente.
mi = max(Qi,Qi)
Redução de 3-SAT para
DHC
1) Para cada variável xi, crie um subgrafo Hi
assim:
A partir de ai
deve-se
seguir a “escada”:
ai
bi0
ci0
bi1
ci1
… di
ou
ai
ci0
bi0
ci1
bi1
… di
Redução de 3-SAT para
DHC
2) Para cada Hi criado, una-os como
mostrado na figura seguinte:
Redução de 3-SAT para
DHC
3) Para cada cláusula ej criaremos um
subgrafo Ij:
Quem entra em um nó
acima só sai no nó de
baixo.
Redução de 3-SAT para
DHC
4) Conectamos Ij com Hi da seguinte forma:
– Suponha que o primeiro literal em ej é xi (e não é
negada)
– Pegue um cip com um valor de p que não tenha sido
usado para este propósito. Ligue-o por uma aresta
com rj. Em seguida, ligue uj com bi,p+1.
– Se o primeiro literal de ej era xi, então use um bip.
– Faça o mesmo para o segundo literal, mas usando sj
e vj.
– E o mesmo para o terceiro literal, mas usando ti e wi.
Exemplo
● E = (x1 + x2 + x3)(x1 + x2 + x3)
NP-completude de DHC
● A redução dada pode ser feita em tempo
polinomial.
● Devemos mostrar a redução de DHC para
HC e em seguida do HC para TSP.
Redução de DHC para
HC
● Suponha que foi dado um grafo dirigido Gd. O
grafo não dirigido Gu será construído como segue.
● Para cada nó v de Gd haverão três nós em Gu: v0,
v1, v2.
● As arestas em Gu são:
– Para os nós em Gd, existem as arestas (v0,v1), (v1,v2)
em Gu
– Se existe uma aresta (v,w) em Gd haverá uma aresta
(v2,w0) em Gu.
Redução de DHC para
HC
● Esta redução tem tempo polinomial
● Gd possuirá um ciclo hamiltoniano se e
somente se Gu possui.
– Um ciclo de Gu será do tipo 0 1 2 0 1 2 ... ou 2 1
0 2 1 0 … . Isto determina a direção de Gd.
– Um ciclo em Gd gera um ciclo de Gu seguindo
os subscritos v10 v11 v12 v20 v21 v22 … onde os vi
são nós originais do grafo dirigido e vi0 vi1 vi2, os
nós gerados na redução.
O problema da cobertura
de nós
● Dado um grafo G, dizemos que N é uma
cobertura de nós para G se toda aresta de
G tem no mínimo uma extrimidade em N.
● O problema da cobertura de nós (NC –
node cover) é: dado um grafo G e um valor
k, G possui uma cobertura de nós de k ou
menos nós?
21
A C
E F
DB
Uma possível cobertura de nós
de tamanho 3: {B, C, E}
NP-completude do
problema da cobertura
● Redução de 3-SAT
● Para cada cláusula (X+Y+Z) construa uma
“coluna” de três nós, todas conectadas por
arestas verticais
● Adicione uma aresta horizontal entre os nós
que representam qualquer variável e sua
negação.
● k = duas vezes o número de cláusulas.
23
Exemplo
(x + y + z)(-x + -y + -z)(x + -y +z)(-x + y + -z)
x
z
y
-x
-z
-y
x
z
-y
-x
-z
y
k = 8
Redução de 3-SAT a NC
● Uma cobertura de nós deve ter no mínimo
dois nós de cada coluna, ou alguma aresta
vertical que não foi coberta.
● Como k é duas vezes a quantidade de
colunas, deve haver exatamente dois nós na
cobertura de cada coluna.
● A atribuição que satisfaz a expressão
corresponde ao valor verdade do nó em
cada coluna que não foi selecionado no NC.
25
Exemplo
(x + y + z)(-x + -y + -z)(x + -y +z)(-x + y + -z)
Atribuição de valores: x = y = V; z = F
Toma-se um nó verdadeiro de cada coluna
Exemplo
(x + y + z)(-x + -y + -z)(x + -y +z)(-x + y + -z)
Atribuição de valores: x = y = V; z = F
Os outros nós formam um cobertura.
Exercício
● Fazer o mesmo para
– (x + x + x)(-x + -x + -x)
– (x + x + x)(x + x + x)
– (x + x + x)(y + y + y)(-x + -x + -x)
Redução de 3-SAT a NC
● A redução pode ser feita em tempo
polinomial
● Uma instância F de 3-SAT é satisfazível se
e somente se o grafo G tem uma cobertura
de nós de tamanho k.
Prova: Se
● Suponha que nós possamos satisfazer F
com a atribuição A.
● Para cada cláusula de F, pegamos um dos
três literais de A que fazem F verdadeira.
● Colocamos na cobertura de nós os dois nós
para a cláusula que não corresponde ao
literal selecionado.
● Total de nós selecionados = k.
Prova: Se
● Os nós selecionados cobrem todas as arestas
verticais
– Por quê? Quaisquer dois nós para a cláusula cobre o
triângulo de nós verticias para a cláusula.
● As arestas horizontais estão cobertas.
– Uma aresta horizontal conecta nós para algum x e -x.
– Uma variável é falso em A e portanto seu nó deve ser
selecionado para a cobertura de nós.
● Entre x e -x, um deles deve estar dentro da cobertura,
senão, as arestas entre eles não incidirão na cobertura.
Prova: somente se
● Suponha que G tenha uma cobertura de
nós com no máximo k nós.
● Um nó não pode cobrir as arestas verticais
de alguma coluna, assim cada coluna deve
ter exatamente 2 nós pertencentes à
cobertura.
● Construa uma atribuição para F atribuindo
valores V ao literal que não está na
cobertura.
Prova: somente se
● Há nós não selecionados que
correspondem ao mesmo tempo a x e -x?
– Então não haveria uma atribuição verdade para
F. Contradição!
● Mas há uma aresta horizontal entre estes
nós.
– Portanto, no mínimo um deles estará na
cobertura de nós.
Problema dos conjuntos
independentes
●
Considere G = (V, E) e I ⊆ V.
● I é um conjunto independente (IS –
independent set) se nenhuma aresta de G
conecta dois nós pertencentes a I.
● O problema dos conjuntos independentes
pode ser formulado como: dado um grafo G
e um valor k entre 1 e |V|, G possui um
conjunto independente de tamanho k?
Exemplo
Problema dos conjuntos
independentes
● Aplicação de IS
– Alocação de datas para aplicação de provas
● Nós são as turmas. Se duas turmas possuem os
mesmo alunos, ligue-as por uma aresta. Se existir
um IS maximal, podemos alocar provas sem realizá-
las ao mesmo tempo.
● IS é NP-completo (prova – exercício).
Referência
● [1] HOPCROFT, John E.; ULLMAN, Jeffrey
D.; MOTWANI, Rajeev. Introdução à teoria
de autômatos, linguagens e computação.
[Rio de Janeiro]: Campus, c2003. p. 328-352
● [2] SIPSER, Michael. Introdução à teoria da
computação. 2.ed. São Paulo, SP: Cengage
Learning, c2007. xxi, 459 p. ISBN
9788522104994
● Traduzido e adaptado dos slides de Jeffrey
D. Ullman.

Mais conteúdo relacionado

Mais procurados

Anatomia Comparativa de Modelos de Risco de Crédito
Anatomia Comparativa de Modelos de Risco de CréditoAnatomia Comparativa de Modelos de Risco de Crédito
Anatomia Comparativa de Modelos de Risco de CréditoRenato Vicente
 
Lista 1 - Robótica (Jim & Ronie)
Lista 1 - Robótica (Jim & Ronie)Lista 1 - Robótica (Jim & Ronie)
Lista 1 - Robótica (Jim & Ronie)Jim Naturesa
 
Obf2007 3 fase_3serie_teorica_gabarito
Obf2007 3 fase_3serie_teorica_gabaritoObf2007 3 fase_3serie_teorica_gabarito
Obf2007 3 fase_3serie_teorica_gabaritoKaroline Tavares
 
Cálculo diferencial e integral de várias variáveis unid iii
Cálculo diferencial e integral de várias variáveis   unid iiiCálculo diferencial e integral de várias variáveis   unid iii
Cálculo diferencial e integral de várias variáveis unid iiiBruno Luz
 
Medida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores ExtremosMedida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores ExtremosRenato Vicente
 
Redes Neurais: classificação e regressão
Redes Neurais: classificação e regressãoRedes Neurais: classificação e regressão
Redes Neurais: classificação e regressãoRenato Vicente
 
Calculo vetorial
Calculo vetorialCalculo vetorial
Calculo vetorialtooonks
 
Função de duas variáveis, domínios e imagem
Função de duas variáveis, domínios e imagemFunção de duas variáveis, domínios e imagem
Função de duas variáveis, domínios e imagemIsadora Toledo
 
Cammpos vetoriais disciplinas calculo_iii_lista04_calculo3
Cammpos vetoriais  disciplinas calculo_iii_lista04_calculo3Cammpos vetoriais  disciplinas calculo_iii_lista04_calculo3
Cammpos vetoriais disciplinas calculo_iii_lista04_calculo3Bowman Guimaraes
 
Exercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionadaExercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionadaDiego Oliveira
 
Aula inicial física agronomia
Aula inicial física agronomiaAula inicial física agronomia
Aula inicial física agronomiaUFRA-Capanema
 
23 integrais triplas
23 integrais triplas23 integrais triplas
23 integrais triplasflanucos1968
 

Mais procurados (17)

Anatomia Comparativa de Modelos de Risco de Crédito
Anatomia Comparativa de Modelos de Risco de CréditoAnatomia Comparativa de Modelos de Risco de Crédito
Anatomia Comparativa de Modelos de Risco de Crédito
 
Integrais multiplas
Integrais multiplasIntegrais multiplas
Integrais multiplas
 
Lista 1 - Robótica (Jim & Ronie)
Lista 1 - Robótica (Jim & Ronie)Lista 1 - Robótica (Jim & Ronie)
Lista 1 - Robótica (Jim & Ronie)
 
Matemática básica derivada e integral
Matemática básica   derivada e integralMatemática básica   derivada e integral
Matemática básica derivada e integral
 
Obf2007 3 fase_3serie_teorica_gabarito
Obf2007 3 fase_3serie_teorica_gabaritoObf2007 3 fase_3serie_teorica_gabarito
Obf2007 3 fase_3serie_teorica_gabarito
 
V@R Não-Linear
V@R Não-LinearV@R Não-Linear
V@R Não-Linear
 
Cálculo diferencial e integral de várias variáveis unid iii
Cálculo diferencial e integral de várias variáveis   unid iiiCálculo diferencial e integral de várias variáveis   unid iii
Cálculo diferencial e integral de várias variáveis unid iii
 
Medida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores ExtremosMedida de risco por Teoria de Valores Extremos
Medida de risco por Teoria de Valores Extremos
 
Redes Neurais: classificação e regressão
Redes Neurais: classificação e regressãoRedes Neurais: classificação e regressão
Redes Neurais: classificação e regressão
 
Calculo vetorial
Calculo vetorialCalculo vetorial
Calculo vetorial
 
Função de duas variáveis, domínios e imagem
Função de duas variáveis, domínios e imagemFunção de duas variáveis, domínios e imagem
Função de duas variáveis, domínios e imagem
 
Cammpos vetoriais disciplinas calculo_iii_lista04_calculo3
Cammpos vetoriais  disciplinas calculo_iii_lista04_calculo3Cammpos vetoriais  disciplinas calculo_iii_lista04_calculo3
Cammpos vetoriais disciplinas calculo_iii_lista04_calculo3
 
Exercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionadaExercícios Resolvidos: Taxa relacionada
Exercícios Resolvidos: Taxa relacionada
 
Aula inicial física agronomia
Aula inicial física agronomiaAula inicial física agronomia
Aula inicial física agronomia
 
Integração cálculo 4
Integração cálculo 4Integração cálculo 4
Integração cálculo 4
 
Derivadas
DerivadasDerivadas
Derivadas
 
23 integrais triplas
23 integrais triplas23 integrais triplas
23 integrais triplas
 

Semelhante a Problemas NP-completos com grafos

Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosKevin Takano
 
Análise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosAnálise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosDelacyr Ferreira
 
Questões resolvidas exame unificado de fisica 2013 2
Questões resolvidas exame unificado de fisica 2013 2Questões resolvidas exame unificado de fisica 2013 2
Questões resolvidas exame unificado de fisica 2013 217535069649
 
Professor helanderson sousa
Professor helanderson sousaProfessor helanderson sousa
Professor helanderson sousaDayanne Sousa
 
As equações do segundo grau são abordadas na história da matemática desde a é...
As equações do segundo grau são abordadas na história da matemática desde a é...As equações do segundo grau são abordadas na história da matemática desde a é...
As equações do segundo grau são abordadas na história da matemática desde a é...leosilveira
 
ApostilaCalcIII.pdf
ApostilaCalcIII.pdfApostilaCalcIII.pdf
ApostilaCalcIII.pdfdaniel167907
 
Potencial EléTrico
Potencial EléTricoPotencial EléTrico
Potencial EléTricodalgo
 
Aula1 funcaoquadrática
Aula1 funcaoquadráticaAula1 funcaoquadrática
Aula1 funcaoquadráticaJosenildo Lima
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas MínimasDiego Cavalca
 
Cesgranrio petrobras engenheiro petroleo 2018
Cesgranrio petrobras engenheiro petroleo 2018Cesgranrio petrobras engenheiro petroleo 2018
Cesgranrio petrobras engenheiro petroleo 2018Arthur Lima
 
Cfvv 1 funcoes variasvariaveis
Cfvv   1 funcoes variasvariaveisCfvv   1 funcoes variasvariaveis
Cfvv 1 funcoes variasvariaveisMoises Felipe
 
Lista exercicios 2 calculo 2
Lista exercicios 2 calculo 2Lista exercicios 2 calculo 2
Lista exercicios 2 calculo 2marcio cerqueira
 
Apostila 2 calculo i derivadas
Apostila 2 calculo i derivadasApostila 2 calculo i derivadas
Apostila 2 calculo i derivadastrigono_metrico
 

Semelhante a Problemas NP-completos com grafos (20)

Aulas 11-guloso Algoritmos
Aulas 11-guloso AlgoritmosAulas 11-guloso Algoritmos
Aulas 11-guloso Algoritmos
 
Integral de linha
Integral de linhaIntegral de linha
Integral de linha
 
Análise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-CompletosAnálise de Algoritmos - Mais problemas NP-Completos
Análise de Algoritmos - Mais problemas NP-Completos
 
Questões resolvidas exame unificado de fisica 2013 2
Questões resolvidas exame unificado de fisica 2013 2Questões resolvidas exame unificado de fisica 2013 2
Questões resolvidas exame unificado de fisica 2013 2
 
2_Funçoes.pdf
2_Funçoes.pdf2_Funçoes.pdf
2_Funçoes.pdf
 
Professor helanderson sousa
Professor helanderson sousaProfessor helanderson sousa
Professor helanderson sousa
 
As equações do segundo grau são abordadas na história da matemática desde a é...
As equações do segundo grau são abordadas na história da matemática desde a é...As equações do segundo grau são abordadas na história da matemática desde a é...
As equações do segundo grau são abordadas na história da matemática desde a é...
 
Ma22 unidade 22
Ma22 unidade 22Ma22 unidade 22
Ma22 unidade 22
 
ApostilaCalcIII.pdf
ApostilaCalcIII.pdfApostilaCalcIII.pdf
ApostilaCalcIII.pdf
 
Apostila calciii
Apostila calciiiApostila calciii
Apostila calciii
 
áLgebra linear
áLgebra linearáLgebra linear
áLgebra linear
 
1o+npc
1o+npc1o+npc
1o+npc
 
1o+npc
1o+npc1o+npc
1o+npc
 
Potencial EléTrico
Potencial EléTricoPotencial EléTrico
Potencial EléTrico
 
Aula1 funcaoquadrática
Aula1 funcaoquadráticaAula1 funcaoquadrática
Aula1 funcaoquadrática
 
Árvores Espalhadas Mínimas
Árvores Espalhadas MínimasÁrvores Espalhadas Mínimas
Árvores Espalhadas Mínimas
 
Cesgranrio petrobras engenheiro petroleo 2018
Cesgranrio petrobras engenheiro petroleo 2018Cesgranrio petrobras engenheiro petroleo 2018
Cesgranrio petrobras engenheiro petroleo 2018
 
Cfvv 1 funcoes variasvariaveis
Cfvv   1 funcoes variasvariaveisCfvv   1 funcoes variasvariaveis
Cfvv 1 funcoes variasvariaveis
 
Lista exercicios 2 calculo 2
Lista exercicios 2 calculo 2Lista exercicios 2 calculo 2
Lista exercicios 2 calculo 2
 
Apostila 2 calculo i derivadas
Apostila 2 calculo i derivadasApostila 2 calculo i derivadas
Apostila 2 calculo i derivadas
 

Mais de Yuri Passos

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdfYuri Passos
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdfYuri Passos
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdfYuri Passos
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidadeYuri Passos
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticasYuri Passos
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turingYuri Passos
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadasYuri Passos
 
04 tese de church-turing
04 tese de church-turing04 tese de church-turing
04 tese de church-turingYuri Passos
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e VariacõesYuri Passos
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em CYuri Passos
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversaoYuri Passos
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionaisYuri Passos
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoesYuri Passos
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticaoYuri Passos
 

Mais de Yuri Passos (20)

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidade
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticas
 
Teorema de rice
Teorema de riceTeorema de rice
Teorema de rice
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadas
 
04 tese de church-turing
04 tese de church-turing04 tese de church-turing
04 tese de church-turing
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e Variacões
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em C
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversao
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
Aula01 introducao operacoes
Aula01   introducao operacoesAula01   introducao operacoes
Aula01 introducao operacoes
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticao
 
Aula04
Aula04Aula04
Aula04
 
Aula03
Aula03Aula03
Aula03
 
Aula02
Aula02Aula02
Aula02
 

Problemas NP-completos com grafos

  • 2. O problema do caixeiro viajante ● O problema do caixeiro viajente (TSP – traveler salesman problem) considera duas entradas: um grafo G = (V,E) e uma função c. c: E → N ● A função c associa um custo a cada aresta. ● O TSP envolve descobrir o menor ciclo que passe por todos os nós. – “Menor” diz respeito ao somatório dos custos das arestas deste ciclo.
  • 3. O problema do caixeiro viajante
  • 4. O problema do caixeiro viajante ● O TSP pode ser enunciado como: dado um grafo G, uma função completa c e um custo máximo k, o grafo G possui um ciclo P que passe por todos os nós e cujo somatório dos custos das arestas de P seja menor que k? ● A prova que este problema é NP-completo envolve um problema reduzido. – HC (Hamiltonian cycle) ● O problema do ciclo hamiltoniano pode ser enunciado como: dado um grafo G, existe um ciclo que passe uma única vez em cada nó?
  • 5. O problema do caixeiro viajante ● Visto que usaremos um problema “mais fácil” devemos apresentar a redução do HC ao TSP. Qual seria? ● Visto que existe redução de tempo polinomial de HC para TSP, provaremos que HC é NP-completo para completar a prova de que o TSP também é. ● Contudo, existe um problema “mais simples” que o HC que também é NP-completo: – DHC (Directed Hamiltonian cycle) ● Similar ao HC, mas a entrada é um grafo dirigido.
  • 6. NP-completude do DHC ● DHC está em NP – Use não-determinismo para encontrar um ciclo e verificar se todos os nós estão dentro dele. ● Redução de 3-SAT para DHC – Transformaremos uma instância de 3-SAT (x1+x2+y1)(x3+y2+ -y1) … (xn-2+yn-3+ -yn-4)(xn-1+xn+ - yn-3) – Em um grafo G dirigido que possuirá um ciclo se e somente se a instância correspondente é satisfazível.
  • 7. Redução de 3-SAT para DHC Considere a instância E de 3-SAT. E possui as variáveis: – x1, x2, x3, …, xn E possui k cláusulas: – E = e1 ^ e2 ^ … ^ ek Considere Qi e Qi a quantidade de ocorrências de xi e a quantidade de ocorrências de xi, respectivamente. mi = max(Qi,Qi)
  • 8. Redução de 3-SAT para DHC 1) Para cada variável xi, crie um subgrafo Hi assim:
  • 9. A partir de ai deve-se seguir a “escada”: ai bi0 ci0 bi1 ci1 … di ou ai ci0 bi0 ci1 bi1 … di
  • 10. Redução de 3-SAT para DHC 2) Para cada Hi criado, una-os como mostrado na figura seguinte:
  • 11.
  • 12. Redução de 3-SAT para DHC 3) Para cada cláusula ej criaremos um subgrafo Ij:
  • 13. Quem entra em um nó acima só sai no nó de baixo.
  • 14. Redução de 3-SAT para DHC 4) Conectamos Ij com Hi da seguinte forma: – Suponha que o primeiro literal em ej é xi (e não é negada) – Pegue um cip com um valor de p que não tenha sido usado para este propósito. Ligue-o por uma aresta com rj. Em seguida, ligue uj com bi,p+1. – Se o primeiro literal de ej era xi, então use um bip. – Faça o mesmo para o segundo literal, mas usando sj e vj. – E o mesmo para o terceiro literal, mas usando ti e wi.
  • 15. Exemplo ● E = (x1 + x2 + x3)(x1 + x2 + x3)
  • 16.
  • 17. NP-completude de DHC ● A redução dada pode ser feita em tempo polinomial. ● Devemos mostrar a redução de DHC para HC e em seguida do HC para TSP.
  • 18. Redução de DHC para HC ● Suponha que foi dado um grafo dirigido Gd. O grafo não dirigido Gu será construído como segue. ● Para cada nó v de Gd haverão três nós em Gu: v0, v1, v2. ● As arestas em Gu são: – Para os nós em Gd, existem as arestas (v0,v1), (v1,v2) em Gu – Se existe uma aresta (v,w) em Gd haverá uma aresta (v2,w0) em Gu.
  • 19. Redução de DHC para HC ● Esta redução tem tempo polinomial ● Gd possuirá um ciclo hamiltoniano se e somente se Gu possui. – Um ciclo de Gu será do tipo 0 1 2 0 1 2 ... ou 2 1 0 2 1 0 … . Isto determina a direção de Gd. – Um ciclo em Gd gera um ciclo de Gu seguindo os subscritos v10 v11 v12 v20 v21 v22 … onde os vi são nós originais do grafo dirigido e vi0 vi1 vi2, os nós gerados na redução.
  • 20. O problema da cobertura de nós ● Dado um grafo G, dizemos que N é uma cobertura de nós para G se toda aresta de G tem no mínimo uma extrimidade em N. ● O problema da cobertura de nós (NC – node cover) é: dado um grafo G e um valor k, G possui uma cobertura de nós de k ou menos nós?
  • 21. 21 A C E F DB Uma possível cobertura de nós de tamanho 3: {B, C, E}
  • 22. NP-completude do problema da cobertura ● Redução de 3-SAT ● Para cada cláusula (X+Y+Z) construa uma “coluna” de três nós, todas conectadas por arestas verticais ● Adicione uma aresta horizontal entre os nós que representam qualquer variável e sua negação. ● k = duas vezes o número de cláusulas.
  • 23. 23 Exemplo (x + y + z)(-x + -y + -z)(x + -y +z)(-x + y + -z) x z y -x -z -y x z -y -x -z y k = 8
  • 24. Redução de 3-SAT a NC ● Uma cobertura de nós deve ter no mínimo dois nós de cada coluna, ou alguma aresta vertical que não foi coberta. ● Como k é duas vezes a quantidade de colunas, deve haver exatamente dois nós na cobertura de cada coluna. ● A atribuição que satisfaz a expressão corresponde ao valor verdade do nó em cada coluna que não foi selecionado no NC.
  • 25. 25 Exemplo (x + y + z)(-x + -y + -z)(x + -y +z)(-x + y + -z) Atribuição de valores: x = y = V; z = F Toma-se um nó verdadeiro de cada coluna
  • 26. Exemplo (x + y + z)(-x + -y + -z)(x + -y +z)(-x + y + -z) Atribuição de valores: x = y = V; z = F Os outros nós formam um cobertura.
  • 27. Exercício ● Fazer o mesmo para – (x + x + x)(-x + -x + -x) – (x + x + x)(x + x + x) – (x + x + x)(y + y + y)(-x + -x + -x)
  • 28. Redução de 3-SAT a NC ● A redução pode ser feita em tempo polinomial ● Uma instância F de 3-SAT é satisfazível se e somente se o grafo G tem uma cobertura de nós de tamanho k.
  • 29. Prova: Se ● Suponha que nós possamos satisfazer F com a atribuição A. ● Para cada cláusula de F, pegamos um dos três literais de A que fazem F verdadeira. ● Colocamos na cobertura de nós os dois nós para a cláusula que não corresponde ao literal selecionado. ● Total de nós selecionados = k.
  • 30. Prova: Se ● Os nós selecionados cobrem todas as arestas verticais – Por quê? Quaisquer dois nós para a cláusula cobre o triângulo de nós verticias para a cláusula. ● As arestas horizontais estão cobertas. – Uma aresta horizontal conecta nós para algum x e -x. – Uma variável é falso em A e portanto seu nó deve ser selecionado para a cobertura de nós. ● Entre x e -x, um deles deve estar dentro da cobertura, senão, as arestas entre eles não incidirão na cobertura.
  • 31. Prova: somente se ● Suponha que G tenha uma cobertura de nós com no máximo k nós. ● Um nó não pode cobrir as arestas verticais de alguma coluna, assim cada coluna deve ter exatamente 2 nós pertencentes à cobertura. ● Construa uma atribuição para F atribuindo valores V ao literal que não está na cobertura.
  • 32. Prova: somente se ● Há nós não selecionados que correspondem ao mesmo tempo a x e -x? – Então não haveria uma atribuição verdade para F. Contradição! ● Mas há uma aresta horizontal entre estes nós. – Portanto, no mínimo um deles estará na cobertura de nós.
  • 33. Problema dos conjuntos independentes ● Considere G = (V, E) e I ⊆ V. ● I é um conjunto independente (IS – independent set) se nenhuma aresta de G conecta dois nós pertencentes a I. ● O problema dos conjuntos independentes pode ser formulado como: dado um grafo G e um valor k entre 1 e |V|, G possui um conjunto independente de tamanho k?
  • 35. Problema dos conjuntos independentes ● Aplicação de IS – Alocação de datas para aplicação de provas ● Nós são as turmas. Se duas turmas possuem os mesmo alunos, ligue-as por uma aresta. Se existir um IS maximal, podemos alocar provas sem realizá- las ao mesmo tempo. ● IS é NP-completo (prova – exercício).
  • 36. Referência ● [1] HOPCROFT, John E.; ULLMAN, Jeffrey D.; MOTWANI, Rajeev. Introdução à teoria de autômatos, linguagens e computação. [Rio de Janeiro]: Campus, c2003. p. 328-352 ● [2] SIPSER, Michael. Introdução à teoria da computação. 2.ed. São Paulo, SP: Cengage Learning, c2007. xxi, 459 p. ISBN 9788522104994 ● Traduzido e adaptado dos slides de Jeffrey D. Ullman.