Introdução à classe de problemas NP- Completos
|
|
|
- Thomas Aires Aveiro
- 8 Há anos
- Visualizações:
Transcrição
1 Introdução à classe de problemas NP- Completos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/ Introdução Considerações Práticas Em alguns casos práticos, alguns algoritmos podem resolver problemas simples em tempo razoável (e.g. n 20); mas quando se trata de inputs maiores (e.g. n 100) o desempenho degrada consideravelmente Soluções desse género podem estar a executar em tempo exponencial, da ordem de n n, 2 n, 2 (2^n), n!, ou mesmo piores do que isso Para algumas classes de problemas, é difícil determinar se há algum paradigma ou técnica que leve à solução do mesmo, ou se há formas de provar que o problema é intrinsecamente difícil, não sendo possível encontrar uma solução algorítmica cujo desempenho seja subexponencial Para alguns problemas difíceis, é possível afirmar que, se um desses problemas se pode resolver em tempo polinomial, então todos podem ser resolvidos em tempo polinomial! 2 Classes NP, NP-Completo e NP-Hard./rr( 1)
2 Tempo Polinomial como referência Tempo polinomial é a referência que define e separa a classe de problemas que podem ser resolvidos eficientemente. Assim, se um problema pode ser resolvido eficientemente, então significa que o seu tempo de execução é polinomial. Esta avaliação é geralmente medida em termos do tempo de execução do algoritmo, usando a complexidade no pior caso, como uma função de n, que é o tamanho do input do problema Um algoritmo de tempo polinomial tem tempo de execução da ordem de O(n k ), onde k é uma constante independente de n Um problema é dito ser resolúvel em tempo polinomial se houver um algoritmo de tempo polinomial que o resolva Algumas funções parecem não ser polinomiais, mas podem ser tratadas como tal: e.g. O(n log n) tem delimitação superior da ordem de O(n 2 ) Algumas funções parecem ser polinomiais, mas podem não o ser na verdade: e.g. O(n k ), se k variar em função de n, tamanho do input. 3 Problemas de Decisão Reformulação de problemas de optimização Muitos dos problemas práticos que se pretende resolver são problemas de optimização (maximizar ou minimizar alguma métrica) Um problema é dito ser um problema de decisão se o seu output ou resposta deve ser um simples SIM ou NÃO (ou derivativos do tipo V/F, 0/1, aceitar/rejeitar, etc.) Muitos problemas de optimização podem ser expressos em termos de problemas de decisão. Por exemplo: o problema qual o menor número de cores que se pode utilizar para colorir um grafo? pode ser expresso como Dado um grafo G e um inteiro k, é possível colori G com k cores? A classe de problemas P é definida por todos os problemas de decisão que podem ser resolvidos em tempo polinomial! 4 Classes NP, NP-Completo e NP-Hard./rr( 2)
3 Verificação do Tempo Polinomial Undirected Hamiltonian cycle problem (UHC) Dado um grafo G, é possível determinar se G possui um ciclo que visita todo vértice exactamente uma vez? 5 Verificação do Tempo Polinomial Caso se conheça um ciclo (e.g. v 3, v 7, v 1,, v 13 ), é fácil verificá-lo, por inspecção. Ainda ñ sendo possível implementar algoritmo p/resolver o problema, seria fácil verificar se G é ou não Hamiltoniano O ciclo neste caso é dito ser um certificado ; trata-se de uma informação que permite verificar se uma dada string está numa linguagem (em problemas de reconhecimento de linguagem) Caso seja possível verificar a precisão de um certificado para um problema em tempo polinomial, diz-se que o problema é verificável em tempo polinomial Nem todas as linguagens gozam da propriedade de serem facilmente verificáveis! Por exemplo: seja o problema definir se um grafo G tem exactamente um ciclo de Hamilton. É fácil verificar se existe pelo menos um ciclo, mas não é simples demonstrar que não há outro! A classe de problemas NP é definida por todos os problemas que podem ser verificados por um algoritmo de T polinomial 6 Classes NP, NP-Completo e NP-Hard./rr( 3)
4 Verificação do Tempo Polinomial Execução de tempo polinomial é diferente de verificação de tempo polinomial! O circuito de Hamilton é verificável em tempo polinomial, mas acreditase não haver uma solução executável em tempo polinomial que encontre um circuito de Hamilton Por que NP e não VP? O termo NP vem de nondeterministic polynomial time, relacionado com um programa a executar num computador não determinístico capaz de realizar palpites; basicamente, tal arquitectura seria capaz de não deterministicamente conjecturar o valor do certificado e verificar, em tempo polinomial, se uma string está na linguagem ou não. 7 Classes P e NP P NP. Assim, se um problema é resolúvel em tempo polinomial, então pode-se certamente verificar se uma solução é correcta em tempo polinomial Não se sabe certamente se P = NP. Ou seja, poder verificar se uma solução é correcta em tempo polinomial não garante ou ajuda encontrar um algoritmo que resolva o problema em tempo polinomial P NP? Muitos autores acreditam que sim, mas não há provas! A classe de problemas NP-Completos é a classe dos problemas mais difíceis de resolver em toda a classe NP. Pode haver problemas ainda mais difíceis de resolver que não estejam enquadrados na classe de problemas NP; neste caso, são chamados problemas NP-difíceis (NP-hard) 8 Classes NP, NP-Completo e NP-Hard./rr( 4)
5 Classes P e NP 9 Suponha que há dois problemas, A e B. Sabe-se que A é impossível de ser resolvido em tempo polinomial Pretende-se provar que B não pode ser resolvido em tempo polinomial. Como provar ou demonstrar que: (A P) (B P) Pode-se tentar provar o contraposto: (B P) (A P) Em outras palavras, para demonstrar que B não é resolúvel em tempo polinomial, supõem-se que há um algoritmo que resolve B em tempo polinomial, e então deriva-se uma contradição pela demonstração de que A pode ser resolvido em tempo polinomial 10 Classes NP, NP-Completo e NP-Hard./rr( 5)
6 Premissa Suponha que há uma subrotina que pode resolver qualquer instância do problema B em tempo polinomial Tenta-se demonstrar que a mesma subrotina pode ser utilizada para resolver A em tempo polinomial Então tem-se reduzido o problema A no problema B! Como se sabe que A não se pode resolver em tempo polinomial, então está-se basicamente a tentar provar que a subrotina não pode existir, implicando que B não pode ser resolvido em tempo polinomial 11 Exemplo Sabe-se que o problema UHC é um problema NP-completo! Não se conhece algoritmo de tempo polinomial que o resolva. Problema: suponha um director técnico pede a um dos seus engenheiros para encontrar uma solução polinomial para um problema diferente, nomeadamente o problema de encontrar um ciclo de Hamilton num grafo dirigido (DHC). Depois de pensar numa solução, por algum tempo, o engenheiro convence-se de que não se trata de uma solicitação sensata. Será que considerar arestas direccionais tornaria o problema de alguma forma mais fácil? Apesar de ambos (director e eng.) concordarem que UHC é NP-completo, o director está convencido de que DHC é viável e fácil. Como convencê-lo do contrário? 12 Classes NP, NP-Completo e NP-Hard./rr( 6)
7 Solução Pode-se tentar convencer o director de que se houvesse uma solução eficiente para DHC, então se demonstraria que seria então possível resolver UHC em tempo polinomial. Em particular, usar-se-ia a mesma subrotina usada no DHC para resolver o UHC. Uma vez que ambos conhecem que UHC não é resolúvel, então tal rotina não pode existir. Portanto, DHC também não é resolúvel em tempo polinomial! 13 Solução Dado um grafo G, criar um grafo dirigido G pela substituição de cada aresta {u, v} por duas arestas dirigidas: (u, v) e (v, u) Cada caminho simples em G é um caminho simples em G, e vice-versa. Portanto, G terá um ciclo de Hamilton se, e somente se, G também o tiver! 14 Classes NP, NP-Completo e NP-Hard./rr( 7)
8 Solução Redução UHC DHC bool UHC (graph G) { create digraph G with the same number of vertices as G foreach edge (u, v) in G Add edges (u, v) and (v, u) in G return DHC (graph G ) } Note-se que nenhum dos problemas foi efectivamente resolvido. Apenas demonstrou-se como converter uma solução para o DHC numa solução para o UHC. Este procedimento é chamado redução e é crucial para a teoria dos problemas NP-completos. 15 Definição Dados dois problemas, A e B, diz-se que A é polinomialmente redutível a B se, dada uma subrotina de tempo polinomial para B, pode-se utilizá-la para resolver A em tempo polinomial. Quando tal se verifica, expressase por A P B Lema: Se A P B e B P então A P Lema: Se A P B e A P então B P Lema: Se A P B e B P C então A P C (transitividade) 16 Classes NP, NP-Completo e NP-Hard./rr( 8)
9 Definição +formal da classe dos problemas NP- completos Um problema de decisão B NP é NP-completo se A P B A NP Assim, se B pode ser resolvido em tempo polinomial, então qualquer outro problema A em NP é resolúvel em tempo polinomial Lema: B é NP-completo se (1) B NP, e (2) A P B para algum problema A, se A é NP-Completo 17 Procedimento: Dado um problema X, prove que o mesmo é pertencente à classe dos problemas NP-completos. Provar que X está em NP Seleccionar um problema Y que se sabe ser NP-completo Definir uma redução de tempo polinomial de Y para X Provar que, dada uma instância de Y, Y tem uma solução se, e se somente, X tem uma solução 18 Classes NP, NP-Completo e NP-Hard./rr( 9)
10 Vertex Cover Uma cobertura de vértices de um grafo G = (V, E) é um subconjunto V C V, tal que toda aresta (a, b) E é incidente em pelo menos um vértice u V C. Vértices em V C cobrem todas as arestas em G. Reformulação de VC como um problema de decisão O grafo G tem uma cobertura de vértices de tamanho k? 19 Independent Set Um conjunto independente de um grafo G = (V, E) é um subconjunto V I V, tal que não há dois vértices em V I que partilham uma aresta de E u, v V C não podem ser vizinhos em G. Reformulação de VI como um problema de decisão O grafo G tem um conjunto independente de tamanho k? 20 Classes NP, NP-Completo e NP-Hard./rr( 10)
11 Vertex Cover é NP-completo? Dado que o problema de decisão de Conjunto Independente (IS) é NP-completo, provar que o problema de Cobertura de Vértices também é NP-completo Solução: (1) Provar que VC pertence à classe NP. Dado V C, uma cobertura de vértices de G = (V, E), V C = k Pode-se verificar em O( E + V ) que V C é uma cobertura de vértices de G. Como? - Para cada vértice V C, remover todas as arestas incidentes - Verificar se todas as arestas foram removidas de G. Então, Vertex Cover NP! 21 Vertex Cover é NP-completo? (2) Seleccionar um problema que se conhece ser NPcompleto O problema do Conjunto Independente (IS), em grafos, é reconhecidamente um problema NP-completo! Usar IS para provar que VC é NP-completo 22 Classes NP, NP-Completo e NP-Hard./rr( 11)
12 Vertex Cover é NP-completo? (3) Definir uma redução de tempo polinomial de IS para VC: Dada uma instância geral de IS: G = (V, E ), k Construir uma instância específica de VC: G = (V, E), k - V = V - E = E - (G = G ) - k = V - k Esta transformação é polinomial: - Tempo constante para contruir G = (V, E) - O( V ) para contar o número de vértices Provar que há um V I ( V I = k ) para G se, e se somente, há um V C ( V C = k) para G. 23 Vertex Cover é NP-completo? (3) Definir uma redução de tempo polinomial de IS para VC: Dada uma instância geral de IS: G = (V, E ), k Construir uma instância específica de VC: G = (V, E), k - V = V - E = E - (G = G ) - k = V - k Esta transformação é polinomial: - Tempo constante para contruir G = (V, E) - O( V ) para contar o número de vértices Provar que há um V I ( V I = k ) para G se, e se somente, há um V C ( V C = k) para G. 24 Classes NP, NP-Completo e NP-Hard./rr( 12)
13 Vertex Cover é NP-completo? (4) Provar que G tem um conjunto idependente VI de tamanho k se, e se somente, VC tem uma cobertura Vc de teamanho k. Considere dois conjuntos I e J I J =, I J = V = V Dada qualquer aresta (u, v), um dos seguintes casos se verifica: 1. u, v I 2. u I e v J 3. u J e v I 4. u, v J 25 Vertex Cover é NP-completo? (4) Continuação Assumindo-se que I é um conjunto independente de G, então: - O caso 1 não pode ser (vértices em I não podem ser adjacentes - Nos casos 2 e 3, (u, v) tem exactamente um ponto terminal em J - No caso 4, (u, v) tem ambos os pontos terminais em J - Nos casos 2, 3 e 4, (u, v) tem pelo menos um ponto terminal em J - Então, vértices em J cobrem todas as arestas de G - Também: I = V - J uma vez que I J =, I J = V = V - Assim, se I é um conjunto independente de G, então J é uma cobertura dos vértices de G (= G) Similarmente, pode-se provar que se J é uma cobertura dos vértices de G, então I é um conjunto independente de G 26 Classes NP, NP-Completo e NP-Hard./rr( 13)
14 Exemplos de problemas NP-completo Alguns exemplos são Ciclos de Hamilton Coloração em grafos Cliques em grafos Subgrafos e supergrafos Árvores de expansão Cortes e conectividade Problemas de fluxo Outros 27 Referências e mais informação T. Cormen et al. (2009) Introduction to Algorithms. Cambridge, MA: MIT press. R. Johnsonbaugh & M. Schaefer (2004) Algorithms. Upper Saddle River, NJ: Prentice Hall. C.A. Shaffer (2001) A Practical Introduction to Data Structures and Algorithm Analysis. Upper Saddle River, NJ: Prentice Hall. 28 Classes NP, NP-Completo e NP-Hard./rr( 14)
Teoria da Computação. Complexidade computacional classes de problemas
Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos
5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr [email protected] 5COP096 TeoriadaComputação Aula 13 Prof. Dr. Sylvio Barbon Junior Sumário - Problemas NP-Completo Algoritmos Não-deterministas; Classes NP-Completo e NP-Dificil; Teorema
CAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)
1 Algoritmos em Grafos: Introdução R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Março de 2011 Índice 2 Revisão de conceitos e definições Exemplificar aplicações Representação
Complexidade computacional
Complexidade computacional Marina Andretta ICMC-USP 15 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli, R. Dahab, P. Feofiloff,
Complexidade de Algoritmos. Edson Prestes
Edson Prestes O limite superior de complexidade de um problema refere-se ao melhor algoritmo que o resolve. nlog 2 n é um limite superior para o problema de classificação. O limite inferior de um problema
Análise e Projeto de Algoritmos
Análise e Projeto de Algoritmos Prof. Eduardo Barrére www.ufjf.br/pgcc www.dcc.ufjf.br [email protected] www.barrere.ufjf.br A Classe de Problemas P A classe de algoritmos P é formada pelos procedimentos
Teoria da Complexidade Computacional
Teoria da Complexidade Computacional 25 de novembro de 2011 Enquanto a teoria de análise de algoritmos estuda a análise de complexidade de algoritmos, a teoria da complexidade estuda a classificação de
Teoria da Complexidade Computacional
Teoria da Complexidade Computacional Letícia Rodrigues Bueno UFABC Motivação Motivação I can t find an efficient algorithm, I guess I m just too dumb. Fonte: GAREY, M. R. e JOHNSON, D. S. Computers and
Como saber se um problema está em NP e não está em P?
? P = NP Uma das principais questões em aberto é se P = NP, isto é, se de fato tudo o que pode ser feito em tempo polinomial por uma MTND poderia ser feito por uma MTD em tempo polinomial, talvez com um
Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão
Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns
Análise e Projeto de Algoritmos
Análise e Projeto de Algoritmos 2018.2 Classes P e NP P São os problemas que podem ser resolvidos em tempo polinomial por uma Máquina de Turing Determinística. NP São os problemas que podem ser decididos
Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ
Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de
Análise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Algoritmos de Aproximação CLRS, Cap. 35 Resumo Algoritmos de aproximação Algoritmos, com complexidade polinomial, que calculam soluções aproximadas para problemas de optimização
P, NP e NP-Completo. André Vignatti DINF- UFPR
P, NP e NP-Completo André Vignatti DINF- UFPR Problemas Difíceis, Problemas Fáceis O mundo está cheio de problemas de busca. Alguns podem ser resolvidos eficientemente, outros parecem ser muito difíceis.
Redução polinomial. Permite comparar o grau de complexidade de problemas diferentes.
Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma redução de um problema Π a um problema Π é um algoritmo ALG que resolve Π usando uma subrotina hipotética ALG que
Algoritmos de aproximação
Algoritmos de aproximação prof Marcio Delamaro ICC II Um pouco de teoria Existem algoritmos que podem ser executados em tempo polinomial Dado problema de tamanho n, temo O(n k ) A maioria dos algoritmos
Complexidade computacional
Complexidade computacional CLRS sec 34.1 e 34.2 Algoritmos p. 1 Algumas questões Por que alguns problemas parecem ser (computacionalmente) mais difíceis do que outros? Algoritmos p. 2 Algumas questões
Análise de Algoritmos. Slides de Paulo Feofiloff
Análise de Algoritmos Slides de Paulo Feofiloff [com erros do coelho e agora também da cris] Algoritmos p. 1 Redução polinomial Permite comparar o grau de complexidade de problemas diferentes. Uma reduçã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 Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 16: Grafos Planares Preparado a partir do texto: Rangel, Socorro. Teoria do
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 14: Conjuntos de Corte e Conectividade Preparado a partir do texto: Rangel,
INTRATABILIDADE e NP-COMPLETUDE
INTRATABILIDADE e NP-COMPLETUDE Sandro Santos Andrade Doutorado Multiinstitucional em Ciência da Computação UFBA/UNIFACS/UEFS Junho/2008 Grafos e Análise de Algoritmos Introdução Para alguns problemas
Árvores Árvores Geradoras de Custo Mínimo 0/16
Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores
ANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 3 de dezembro de 2016 Período: 2016.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas
Algoritmos Combinatórios: Introdução
[email protected] UFSC, Fevereiro, 2010 Estruturas e Problemas Combinatórios Introdução a Algoritmos Combinatórios O que são: Estruturas Combinatórias? Algoritmos Combinatórios? Problemas Combinatórios?
Complexidade de Algoritmos. Edson Prestes
Edson Prestes A classe P consiste nos problemas que podem ser resolvidos em tempo Polinomial (Problemas tratáveis) A classe NP consiste nos problemas que podem ser verificados em tempo polinomial (Problemas
Introdução à Teoria da Computação Exercícios
Introdução à Teoria da Computação Exercícios Livro: Michel Sipser, Introdução à Teoria da Computação 2ª Ed. Capítulo 07 Obs: Exercícios 7.7 e 7.20 estão apresentados em versões simplificadas. NP Dicas
Projeto de Algoritmos por Indução
Projeto de Algoritmos por Indução Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Projeto de Algoritmos por Indução junho - 2018 1 / 40 Este material é preparado
Melhores momentos AULA 24. Algoritmos p.906/953
Melhores momentos AULA 24 Algoritmos p.906/953 Problemas polinomiais Analise de um algoritmo em um determinado modelo de computação estima o seu consumo de tempo e quantidade de espaço como uma função
Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão?
Busca e Decisão Universidade Federal de Ouro Preto Departamento de Computação P e NP Decisão: Respostas SIM ou NÃO Eiste uma clique de tamanho k no grafo? Eiste um preenchimento da mochila com lucro z?
Redução de Cook-Levin e Considerações Finais
Redução de Cook-Levin e Considerações Finais André Vignatti DINF- UFPR Fechando o Ciclo de Reduções Nós reduzimos o SAT para diversos problemas de busca, como mostra a figura: Todos problemas NP CIRCUIT
Aula 10: Tratabilidade
Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas
Teoria dos Grafos. Edson Prestes
Edson Prestes Referências P. O. Boaventura Netto, Grafos: Teoria, Modelos e Algoritmos, São Paulo, E. Blucher 2001; R. J. Trudeau, Introduction to Graph Theory, New York, Dover Publications, 1993; Kaufmann,
TEORIA DE COMPLEXIDADE
UFMG/ICEX/DCC PROJETO E ANÁLISE DE ALGORITMOS TEORIA DE COMPLEXIDADE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO 1 O SEMESTRE DE 2008 Antonio Alfredo Ferreira Loureiro [email protected] http://www.dcc.ufmg.br/~loureiro
PCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 5 de dezembro de 2017 Marco Antonio
COMPLEXIDADE PARAMETRIZADA PARTE 1. Rafael Coelho.
UMA BREVE INTRODUÇÃO À TEORIA DE COMPLEXIDADE PARAMETRIZADA PARTE 1 Rafael Coelho [email protected] Instituto de Matemática e Estatística Universidade de São Paulo Seminários de Teoria da Computação,
Teoria dos Grafos. Cobertura, Coloração de Arestas, Emparelhamento
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada [email protected], [email protected], [email protected] Cobertura, Coloração
Uma introdução à complexidade parametrizada
Vinicius Fernandes dos Santos - CEFET-MG Uéverton dos Santos Souza - UFF/CEFET-RJ 34 o JAI - Jornadas de Atualização em Informática XXXV Congresso da Sociedade Brasileira de Computação Recife, Julho 20
Grafo planar: Definição
Grafo planar Considere o problema de conectar três casas a cada uma de três infraestruturas (gás, água, energia) como mostrado na figura abaixo. É possível fazer essas ligações sem que elas se cruzem?
Teoria da Computação. Computabilidade
Cristiano Lehrer Introdução O objetivo do estudo da solucionabilidade de problemas é investigar a existência ou não de algoritmos que solucionem determinada classe de problemas. Ou seja, investigar os
Teoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A de Oliveira, Socorro Rangel, Silvio A de Araujo Departamento de Matemática Aplicada Capítulo 12: Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro Teoria do
Teoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística Objetivos Grafos, o que são? Formando pares Aula de hoje Mais problemas reais Definições importantes Algumas propriedades Objetivos da Disciplina Grafos
Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.
Agenda Análise e Técnicas de Algoritmos Jorge Figueiredo Conceitos básicos Classes de de Complexidade P NP Redução Problemas NPC NP-Completude Introdução Existem alguns problemas computacionais que são
Reduções de Problemas Difíceis
Reduções de Problemas Difíceis André Vignatti DINF- UFPR Reduções de Problemas Difíceis Na figura abaixo, esquema das reduções que vamos (tentar) ver. Todos problemas NP CIRCUIT SAT SAT 3SAT INDEPENDENT
ANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 24 de novembro de 2015 Período: 2015.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
A resposta para este problema envolve a partição do conjunto de arestas de tal forma que arestas adjacentes não pertençam a um mesmo conjunto.
6 - oloração de restas e Emparelhamentos onsidere o seguinte problema: Problema - o final do ano acadêmico, cada estudante deve fazer um exame oral com seus professores. Suponha que existam 4 estudantes
A resposta para este problema envolve a partição do conjunto de arestas de tal forma que arestas adjacentes não pertençam a um mesmo conjunto.
7 - Coloração de Arestas e Emparelhamentos Considere o seguinte problema: Problema - Ao final do ano acadêmico, cada estudante deve fazer um exame oral com seus professores. Suponha que existam 4 estudantes
15 - Coloração Considere cada um dos grafos abaixo:
15 - Coloração Considere cada um dos grafos abaixo: a) Quantas cores são necessárias para colorir os vértices de um grafo de maneira que dois vértices adjacentes não recebam a mesma cor? b) Qual é o número
PCC104 - Projeto e Análise de Algoritmos
PCC104 - Projeto e Análise de Algoritmos Marco Antonio M. Carvalho Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal de Ouro Preto 1 de novembro de 2018 Marco Antonio
PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré
PERCURSOS André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré Serra 2011 Índice 1...O que é caminho e circuito 1.1...Caminho 1.2...Circuito 1.3...Classificação 2...Caminhos Eulerianos 2.1...Definição
Projeto e Análise de Algoritmos NP Completude Parte 2. Prof. Humberto Brandão
Projeto e Análise de Algoritmos NP Completude Parte 2 Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula
Jogos de Anti-Coordenação e Colorações Estáveis em Grafos. Renato Lui Geh NUSP:
Jogos de Anti-Coordenação e Colorações Estáveis em Grafos Renato Lui Geh NUSP:8536030 Introdução Jogos de coordenação: Classe de jogos em que jogadores jogam cooperativamente. Jogador i fazer a mesma ação
Noções da Teoria dos Grafos
Noções da Teoria dos Grafos André Arbex Hallack Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 7 3 Árvores 11 4 Emparelhamento em grafos 15 5 Grafos planares: Colorindo
Teoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
Grafos: árvores geradoras mínimas. Graça Nunes
Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as
Coloração. Carolina Moraes e Lucas Glir
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
Teoria dos Grafos. Fluxo Máximo em Redes
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada [email protected], [email protected], [email protected] Fluxo Máximo
Teoria dos Grafos Introdu c ao
Teoria dos Grafos Introdução Referências P. O. Boaventura Netto, Grafos: Teoria, Modelos e Algoritmos, São Paulo, E. Blucher 001; R. J. Trudeau, Introduction to Graph Theory, New York, Dover Publications,
Algoritmos de aproximação - Problema do caixeiro viajante
Algoritmos de aproximação - Problema do caixeiro viajante Marina Andretta ICMC-USP 30 de setembro de 2015 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M. R. Cerioli,
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 18: Coloração de Arestas Preparado a partir do texto: Rangel, Socorro. Teoria
Noções da Teoria dos Grafos. André Arbex Hallack
Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 2 Ciclos hamiltonianos 5 3 Árvores 7 4 Emparelhamento em grafos 11 5 Grafos planares:
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem
Introdução a Grafos Letícia Rodrigues Bueno
Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de
Ciclos hamiltonianos e o problema do caixeiro viajante
Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.
Problemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 20: Decomposições de Arestas Preparado a partir da ref.: J.M. Aldous, R. Wilson,
Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilceunespbr, socorro@ibilceunespbr Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro
Introdução a Teoria dos Grafos Raimundo Macêdo
Doutorado em Ciência da Computação lgoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UF Introdução a Teoria dos Grafos Raimundo Macêdo Definição Estrutura que consiste em dois conjuntos: um conjunto de vértices
Teoria dos Grafos Aula 22
Teoria dos Grafos Aula 22 Aula passada Aula de hoje Algoritmo de Ford- Aplicações do Fulkerson fluxo máximo Análise do Emparelhamento algoritmo Caminhos Melhorando distintos algoritmo inicial Corte mínimo
Coloração total distinta na vizinhança em grafos 4-partidos completos
https://eventos.utfpr.edu.br//sicite/sicite2017/index Coloração total distinta na vizinhança em grafos 4-partidos completos RESUMO Matheus Scaketti [email protected] Universidade Tecnológica Federal
Agenda. Complexidade Não Determinista A classe NP. A classe Co-NP Reduções de tempo polinomial. Definida por. Exemplos em:
A Classe NP Agenda Complexidade Não Determinista A classe NP Definida por aceitação em tempo polinomial por NTM s instâncias positivas com provas de tamanho polinomial aceitação por verificadores em tempo
Complexidade de Algoritmos
Complexidade de Algoritmos Classes de Complexidades de Problemas Prof. Osvaldo Luiz de Oliveira Estas anotações devem ser complementadas por apontamentos em aula. Tempo polinomial Um algoritmo A, com entrada
