Coloração. Carolina Moraes e Lucas Glir

Documentos relacionados
Paulo Guilherme Inça. 7 de dezembro de 2016

Teoria da Complexidade Computacional

Teoria da Complexidade Computacional

Reduções de Problemas Difíceis

Problemas NP-completos

5COP096 TeoriadaComputação

Redução de Cook-Levin e Considerações Finais

Como saber se um problema está em NP e não está em P?

Complexidade de Algoritmos. Edson Prestes

O Problema da 3- Coloração de Grafos

Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão?

Complexidade de Algoritmos. Edson Prestes

Teoria dos grafos. Caminho euleriano e Hamiltoniano. Prof. Jesuliana N. Ulysses

Análise e Projeto de Algoritmos

Trabalho final de Teoria dos Grafos: O problema de coloração de vértices de grafos. Alessander Botti Benevides.

Teoria da Computação. Complexidade computacional classes de problemas

Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão

INTRATABILIDADE e NP-COMPLETUDE

15 - Coloração Considere cada um dos grafos abaixo:

TEORIA DE COMPLEXIDADE

Teoria dos Grafos. Coloração de Vértices

Jogos de Anti-Coordenação e Colorações Estáveis em Grafos. Renato Lui Geh NUSP:

Melhores momentos AULA 24. Algoritmos p.906/953

14 Coloração de vértices Considere cada um dos grafos abaixo:

Teoria dos Grafos. Edson Prestes

Uma introdução à complexidade parametrizada

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Aula 10: Tratabilidade

Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em:

Complexidade Assintótica de Programas Letícia Rodrigues Bueno

Grafo planar: Definição

Algoritmos de aproximação - Problema de cobertura por conjuntos

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Teoria dos Grafos. Edson Prestes

Complexidade computacional

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos Coloração. Profª. Alessandra Martins Coelho

GRAFOS Aula 09 Coloração de Grafos Max Pereira

R.J. Wilson and J.J. Watkins, Graphs An Introductory approach, J. Wiley, 1990.

Complexidade computacional

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ

ANÁLISE DE ALGORITMOS (INF 1721)

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 5: Grafos Conexos. Departamento de Matemática Aplicada

Introdução à Teoria da Computação Exercícios

Aplicação de uma Metaheurística GRASP para o Problema da Árvore de Steiner em Grafos Direcionados

COMPLEXIDADE PARAMETRIZADA PARTE 1. Rafael Coelho.

2.6 O ALGORITMO DPLL. Preliminares

Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.

Noções da Teoria dos Grafos

MC102 Aula 26. Instituto de Computação Unicamp. 17 de Novembro de 2016

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Análise de Algoritmos. Slides de Paulo Feofiloff

Introdução à classe de problemas NP- Completos

EXERCÍCIOS RESOLVIDOS DE TEORIA DOS GRAFOS - LISTA II. a) SOLUÇÃO

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Capítulo 16: Grafos Planares. Departamento de Matemática Aplicada

Teoria dos problemas completos em NP algumas notas

Análise e Projeto de Algoritmos

2 Relação entre soma dos graus e número de arestas

Algoritmos Combinatórios: Introdução

Teoria dos Grafos. Grafos Planares

1 Trajeto Euleriano. > Trajeto Euleriano 0/20

Euler e as Origens da Teoria dos Grafos

Transcrição:

Coloração Carolina Moraes e Lucas Glir

Introdução Os primeiros questionamentos sobre o assunto surgiram por volta de 1800, com o problema das 4 cores. Os primeiros resultados sobre coloração de grafos lidam quase que exclusivamente com grafos planares na forma da coloração de mapas. No entanto, coloração de grafos em geral vem sendo estudado computacionalmente desde o início dos anos 70. A coloração de grafos tem sido estudada como um problema algorítmico desde o início da década de 1970: o problema número cromático é um dos 21 problemas NP-completos de Karp, de 1972

Introdução O trabalho será apresentado com os seguintes tópicos: - Definição do problema Coloração; - Otimização; - Decisão; - 3-coloração é NP-completo?; - K-coloração é NP-completo?; - Coloração é NP-Difícil?; - Aplicações; - Referências;

Coloração Otimização: Problema de otimização. Coloração Instância: Um grafo G. Resposta: O mínimo de cores necessárias para colorir G.

Coloração Decisão: Problema de decisão. K-Coloração Instância: Um grafo G e um inteiro K. Pergunta: É possível colorir G com K cores?

Coloração Para provar que coloração de grafos é NP-Difícil, devemos provar que a versão de decisão K-coloração é NP-Completo. Mas, para isso vamos iniciar a prova, mostrando primeiramente que 3-Coloração é NP-Completo.

Problema de decisão. 3-Coloração Instância: Um grafo G. Pergunta: É possível colorir G com 3 cores?

Para provar que um dado problema X é NP-Completo precisamos mostrar que existe uma redução em tempo polinomial de um problema Y para X, onde já sabemos que Y é NP-Completo. Além disso, precisamos provar que X pertence a classe NP.

Para provar que um dado problema X é NP-Completo precisamos mostrar que existe uma redução em tempo polinomial de um problema Y para X, onde já sabemos que Y é NP-Completo. Além disso, precisamos provar que X pertence a classe NP. Para provar que 3-Coloração é NP-Completo precisamos mostrar que existe uma redução em tempo polinomial do problema 3-SAT para 3-Coloração, onde já sabemos que 3-SAT é NP-Completo. Além disso, precisamos provar que 3-Coloração pertence a classe NP.

Teorema. 3-coloração é NP-Completo (Garey and Johnson, 1974) Prova: para provar que 3-coloração está em NP, basta usar como certificado uma coloração c. Dado um grafo G(V, E) e um certificado c, um verificador checa em tempo O(n²) se c é uma coloração adequada a G olhando se as pontas de cada aresta tem cores diferentes, para toda aresta em E.

Para provar que 3-sat é redutível a 3-coloração, é necessário mostrar um algoritmo R que: 1) dada uma instância 3-sat X compute um grafo G, tal que X 3-sat G 3-coloração. 2) rode em tempo polinomial.

Para fazer a redução de 3-sat para 3-coloração, serão necessárias 3 construções. Primeiro, uma construção chamada de paleta:

Para cada variável, será criado um 2 nós de literais:

Para cada cláusula, são construídos 6 nós de cláusulas.

Para cada variável x, deve-se conectar:

Para cada cláusula da forma (a v b v c), deve-se conectar:

Observação: A ideia é que a cor de T represente verdadeiro e a cor de F represente falso.

Supondo um problema 3-sat que seja satisfatível, temos que: o que ocorre se pintarmos de vermelho a, b e c?

Como foi demonstrado, não é possível valorar todas as variáveis como falsas, pois não há como gerar uma coloração para o grafo. Se não há coloração para G, X é insatisfatível. Caso uma ou mais variáveis sejam verdadeiras, é possível pintar os grafos das seguintes maneiras:

Portanto, se uma instância X de 3-sat for satisfatível há uma coloração para o G correspondente em 3-coloração. Supondo que o grafo G seja 3-colorível, deve-se pintar todos os nós de variáveis de verdadeiro ou de falso, por causa da observação. Se houver 3-coloração, então uma das variáveis da cláusula foi valorada como verdadeira, como mostrado anteriormente. Portanto, se G possui 3-coloração, X é satisfatível.

R roda em tempo polinomial, pois: 1) para adicionar os nós de variável e suas arestas, leva-se v, sendo v o número de variáveis. E v X. 2) para adicionar os nós de cláusula e suas arestas, leva-se c, sendo c o número de cláusulas. E c X. Então R roda em tempo X + X, que é polinomial no tamanho da entrada X. Portanto, R é redução de 3-sat para 3-coloração. Logo, 3-sat é redutível a 3-coloração.

K-coloração é NP-completo? Provar que 3-coloração é NP-Completo implica em provar que sua generalização K-coloração também é NP-Completo. Isso pode ser dito devido ao fato de que, se pudéssemos resolver o problema em tempo polinomial para um K arbitrário, então poderíamos resolver em tempo polinomial para K igual a 3. Agora que sabemos que K-coloração é um problema NP-Completo, podemos concluir que Coloração, na sua versão de otimização, é NP-Difícil.

Coloração é NP-Difícil? Pode-se usar a solução, ou seja, a coloração dada por um algoritmo para encontrar o número cromático de um grafo como certificado do problema de decisão K-coloração. Portanto, resolver coloração resolve K-coloração. Isso significa que se reduzirmos K-coloração a coloração, conseguimos uma solução e podemos comprovar se ela responde a instância de K-coloração em tempo polinomial. Portanto, coloração é NP-difícil.

Referências - M.R. Garey, D.S. Johnson, Computers and Intractability: a Guide to the Theory of NP-Completeness, W.H. Freeman, 1979. - http://www.ccs.neu.edu/home/viola/