Complexidade de Algoritmos

Tamanho: px
Começar a partir da página:

Download "Complexidade de Algoritmos"

Transcrição

1 Compleidade de Algoritmos Prof. Diego Buchinger Prof. Cristiano Damiani Vasconcellos

2 Reduções de Problemas

3 X NP-Completo Um problema X é NP-Completo se:. O problema deve ser NP: X NP a Conseguir um algoritmo não determinista que resolva o problema em tempo polinomial b Conseguir um algoritmo determinista que verifica em tempo polinomial se uma resposta é verdadeira ou não certificado. Fazer a redução de um problema NP-Completo Y conhecido para o problema X: Y p X para todo Y NP

4 Forma Normal Conjuntiva Uma formula booleana está na Forma Normal Conjuntiva CNF se é epressa por um grupo cláusulas AND, cada uma das quais formada por OR entre literais. Uma fórmula booleana esta na k-cnf se cada cláusula possui eatamente k literais: Eemplo -CNF: Não é NP- Completo!

5 3-CNF-SAT NP-Completo Problema: verificar se uma fórmula booleana na 3-CNF é satisfazível. 3-CNF-SAT é NP-Completo? Passo : 3-CNF-SAT NP. Passo : SAT p 3-CNF-SAT

6 3-CNF-SAT NP-Completo Passo : 3-CNF-SAT NP.. Para cada símbolo da entrada w: i. Simule a operação booleana sempre que possível, armazenando os resultados parciais ou os símbolos que ainda não puderam ser simplificados. Considerando uma fórmula booleana válida, retorne o último valor booleano restante como resposta V = aceite / F = rejeite Neste caso qual seria a compleidade do algoritmo?

7 3-CNF-SAT NP-Completo Passo : SAT p 3-CNF-SAT. Dada uma fórmula booleana: 3 REDUÇÃO SAT. Construir uma árvore que represente à fórmula.. Introduzir uma variável i para a raiz e a saída de cada no interno.

8 3-CNF-SAT NP-Completo Reescrevemos a fórmula original como conjunções entre a variável raiz e as cláusulas que descrevem as operações de cada nó. Introduz uma variável e uma cláusula para cada operador.

9 3-CNF-SAT NP-Completo Para cada i construir uma tabela verdade, usando as entradas que tornam i verdade, construir uma forma normal disjuntiva DNF para cada i

10 3-CNF-SAT NP-Completo 3 3 V V V V V V F F V F V F V F F F F V V F F V F V F F V V F F F V φ = Cada cláusula de introduz no máimo 8 cláusulas em, pois cada cláusula de possui no máimo 3 variáveis.

11 3-CNF-SAT NP-Completo Converter a fórmula para a CNF usando as leis de De Morgan:

12 3-CNF-SAT NP-Completo O último passo faz com que cada cláusula tenha eatamente 3 literais, para isso usamos duas novas variáveis p e q. Para cada cláusula C i em :. Se C i tem 3 literais, simplesmente inclua C i.. Se C i tem literais,, inclua: C i l l l l p l l p 3. Se C i tem literal, l, inclua: l p q l p q l p q l p q Introduz no máimo 4 cláusulas por cláusula em.

13 3-CNF-SAT NP-Completo 3 3 q p q p q p q p 3 3 q p q p q p q p

14 3-CNF-SAT NP-Completo Problema: verificar se uma fórmula booleana na 3-CNF é satisfazível. 3-CNF-SAT é NP-Completo? SIM Passo : 3-CNF-SAT NP. Passo : SAT p 3-CNF-SAT q p q p q p q p

15 CLIQUE Um Clique em um grafo não direcionado G = V, A é um subconjunto de vértices V V, onde cada vértice está conectado por uma aresta. Ou seja, um subgrafo completo. Versão de otimização: Encontrar o maior Clique possível. Versão de decisão: Eiste um Clique de tamanho k? b c a f d e

16 CLIQUE NP-Completo CLIQUE é NP-Completo? Passo : CLIQUE NP. Passo : 3-CNF-SAT p CLIQUE. b c a f d e

17 CLIQUE NP-Completo Passo : Clique NP b c V = { a, b, c, d, e, f } A = { a,b, a,f, b,c, b,d, b,e, c,d, c,e, d,e } V = { b, c, d, e } a d e f Dado um grafo G = V, A, a solução certificado V e k, verificar se V é válido e se V k em tempo polinomial Se V < k então retorne Falso Para cada u V Para cada v V Se u v então verificar se u, v A Compleidade?

18 CLIQUE NP-Completo Passo : 3-CNF-SAT p CLIQUE. Dada uma instancia ϕ do problema 3-CNF-SAT converteremos esta para um grafo G que terá 3k vértices, onde k é o número de cláusulas de ϕ. u e v são vértices que correspondem a literais em diferentes cláusulas; Todos os vértices são ligados por arestas, com eceção: se u e v pertencem a mesma cláusula, então não há ligação; se u corresponde a um literal, e v corresponde ao literal ~, então não há ligação entre esses dois vértices;

19 CLIQUE NP-Completo Passo : 3-CNF-SAT p CLIQUE. ϕ = ~ ~ 3 ~ 3 3 ~ 3 ~ ~ 3 3 ϕ é satisfazível G possui um clique k

20 Cobertura de Vértices VERTEX-COVER Uma Cobertura de Vértices de um grafo não orientado G = V, A é um subconjunto V V tal que se u, v A, então u V ou v V. b c Todas as arestas devem ser observadas! a f d e

21 Cobertura de Vértices VERTEX-COVER Versão de otimização: Encontrar menor Cobertura de Vértices. Versão de decisão: Eiste uma cobertura de tamanho k? b c a f d e

22 VERTEX-COVER NP-Completo Passo : Cobertura de Vértices NP. V = { a, b, c, d, e, f } b c A = { a,c, a,d, b,f, c,f, f,e } a f V = { a, f } d e Dado um grafo G =V, A e a solução certificado V verificar se V é válido e se V k em tempo polinomial Se V > k então retorne Falso Para cada u, v A Verificar se u V ou v V Compleidade?

23 VERTEX-COVER NP-Completo Passo : CLIQUE p VERTEX-COVER b c b c a f a f d e d e CLIQUE Entrada G, k, onde G = V, A VERTEX-COVER Entrada G, V - k

24 Ciclo Hamiltoniano Um Ciclo Hamiltoniano em um grafo não orientado é um caminho que passa por cada vértice do grafo eatamente uma vez e retorna ao vértice inicial. Versão de decisão: um grafo G possui um ciclo Hamiltoniano? A B C D E

25 Ciclo Hamiltoniano NP-Completo Passo : Ciclo Hamiltoniano NP V = { a, b, c, d, e } A = { a,b, a,c, a,d, b,e, c,e, d,e } V = { a, b, e, d, c } A D C B E Dado um grafo G =V, A e a solução certificado V verificar se V é um ciclo Hamiltoniano em tempo polinomial Para cada v V: viz[v] = não marcado Para cada v V : Se viz[v ]==marcado: retorne falso Senão: viz[v ] = marcado Para cada viz: Se não está marcado: retorne falso retorne verdadeiro Compleidade?

26 Verte-Cover p Ciclo Hamiltoniano Passo : VERTEX-COVER p CICLO HAMILTONIANO Dado um grafo instância do problema de Cobertura de vértices G = V, E, devemos: - criar k vértices seletores, onde k é o número de vértices que pertencem a solução da cobertura; - criar E dispositivos, totalizando E * novos vértices e E * 4 arestas;

27 Ciclo Hamiltoniano NP-Completo Passo : VERTEX-COVER p CICLO HAMILTONIANO - criar uma lista com as adjacências de cada nó para formar um caminho entre todas as coberturas de um vértices: u: u, u,... u grauu v: v, v,... v grauv - adicionar arestas para unir pares de dispositivos: { [u,u i,6],[u,u i+,],... } - criar arestas para unir o primeiro [u, u, ] e o último vértice [u, u grauu, 6] de cada um desses caminhos a cada vértice seletor. {sj, [u, u, ] : u V e j k} {sj, [u, u grauu, 6] : u V e j k}

28 Ciclo Hamiltoniano NP-Completo Passo : VERTEX-COVER p CICLO HAMILTONIANO s W w W w * W wz s W W w * s O caminho 3 entre dispositivos * só ocorre em arestas compartilhadas por vértices que fazem parte da solução da cobertura de vértices

29 Ciclo Hamiltoniano NP-Completo Passo : VERTEX-COVER p CICLO HAMILTONIANO Importante: note que o novo grafo G = V, E V = E + k V E + V Instância cresceu apenas em tamanho polinomial E = 4 E + E - V + k V E = 6 E + k V E 6 E + V V

30 Caieiro Viajante Um vendedor deseja visitar n cidades e retornar a cidade de origem. Dado um grafo não orientado completo com n vértices, onde eiste um custo ci, j associado a cada aresta para viajar da cidade i a cidade j. Otimização: Qual é o menor caminho para o vendedor? Decisão: Eiste um caminho para o vendedor com custo máimo igual a k? E A C D 3 4 B

31 Caieiro Viajante NP-Completo Passo : Caieiro Viajante NP Dado um grafo G =V, A, a solução certificado V e o custo máimo k, verificar se V é um caminho válido do Caieiro com custo menor ou igual a k em tempo polinomial Para cada v V: viz[v] = não marcado custo = 0, n = V Compleidade? Se V [0] V [n-]: retorne falso Para i=0 até n-: Se viz[ V [i] ]==marcado: retorne falso Senão: viz[ V [i] ] = marcado custo = custo + G[ V [i] ][ V [i+] ].custo Se custo > k: retorne falso Para i=0 até n-: Se viz[ i ] == não marcado: retorne falso retorne verdadeiro

32 Caieiro Viajante NP-Completo Passo : CICLO HAMILTON p CAIXEIRO A G G, 0 B A 0 B 0 D C E p Redução em tempo polinomial 0 D 0 C 0 E 0 para cada vértice i para cada vértice j se i, j H então ci, j 0 senão ci, j

33 SUBSET-SUM Dado um conjunto finito de inteiros positivos S e um inteiro t > 0, determinar se eiste um subconjunto S S onde o somatório dos elementos de S é igual a t. n i s t i Eemplo: S = {,, 7, 4, 49, 98, 343, 686,.409,.793, 6.808, 7.06, 7.705, } t =

34 SUBSET-SUM Eemplo: S = {,, 7, 4, 49, 98, 343, 686,.409,.793, 6.808, 7.06, 7.705, } t = S = {,, 7, 98, 343, 686,.409, 7.06, }

35 SUBSET-SUM NP-Completo Passo : Subset-Sum NP Dado um conjunto de números inteiros S, o valor t objetivo e a solução certificado S, verificar se S é uma solução do problema em tempo polinomial. soma = 0 Para cada s S : Se s S: retorne falso soma = soma + s Se soma!= t: retorne falso Senão: retorne verdadeiro Compleidade?

36 SUBSET-SUM NP-Completo Passo : 3-CNF-SAT p SUBSET-SUM Dada uma fórmula ϕ instância de 3-CNF-SAT, devemos: Criar dois números para cada variável i em ϕ: v i e v i Criar dois números para cada cláusula C j em ϕ: s j e s j Cada número criado terá n + k dígitos, onde n é o número de variáveis e k é o número de cláusulas. O valor t terá um valor para cada dígito identificado por variável e 4 em cada dígito identificado por uma cláusula

37 SUBSET-SUM NP-Completo Passo : 3-CNF-SAT p SUBSET-SUM Para cada variável v i e v i colocamos o valor no dígito identificado por i e 0 nos outros dígitos; Se o literal i aparece na cláusula C j, então o dígito identificado por C j em v i contém valor ; Se o literal ~ i aparece na cláusula C j, então o dígito identificado por C j em v i contém valor 0; Para cada s j e s j colocamos valor 0 em todos os dígitos, com duas eceções: em s j colocamos no dígito C j em s j colocamos no dígito C j

38 SUBSET-SUM NP-Completo ~ ~ 3 ~ 3 S = {,, 0, 0, 00,,.000,.0, 0.00,0.00 } t = 44 S = { 000, 0,, 0, } { v,v,v 3,s,s } X = V, X = V, X 3 = F 3 C C v v' v 0 0 v' v v' s s' s s' t 4 4

39 SUBSET-SUM NP-Completo Note que a maior soma de cada coluna dígito é no máimo 6. Assim, para esta conversão devemos usar uma base 7. A redução de 3-CNF-SAT para SUBSET-SUM acontece em tempo polinomial.

40 Resolvendo SUBSET-SUM É possível resolver o problema do SUBSET-SUM usando programação dinâmica com compleidade de tempo e espaço Ont, onde n é o número de elementos no conjunto e t o valor do somatório que se deseja alcançar!! Isso significa então que P = NP? e só agora você me fala isso?!

41 Resolvendo SUBSET-SUM É possível resolver o problema do SUBSET-SUM usando programação dinâmica com compleidade de tempo e espaço Ont, onde n é o número de elementos no conjunto e t o valor do somatório que se deseja alcançar!! Isso significa então que P = NP? e só agora você me fala isso?! R: Não. Eiste um detalhe importante que não está sendo considerado

42 Programação Dinâmica Subset-Sum Dado um conjunto de inteiros positivos, representados como um arranjo S[..n], e um inteiro t, eiste algum subconjunto de S tal que a soma de seus elementos seja t. SubsetS i, t Verdade Falsidade SubsetS i, t set 0 set 0 i SubsetS i, t n [ i] Eemplo: = {, 3, 5} e t = 8.

43 Programação Dinâmica Subset-Sum SubsetSum [..n], t S[n +, 0] Verdade para j até t S[n +, j] Falso para i n até S[i, 0] Verdade para j até [i] S[i, j] S[i +, j] para j [i] até t S[i, j] S[i +, j] v S[i +, j [i]] retorne S[,t]

44 Programação Dinâmica Subset-Sum Eemplo: = {, 3, 5, 7} e t = V V F V V V V V V V V F F V F V F V V F 3 V F F F F V F V F F 4 V F F F F F F V F F 5 V F F F F F F F F F

45 Algoritmos que Eecutam em Tempo Pseudo-Polinomial Usando programação dinâmica podemos implementar um algoritmo pseudo-polinomial com compleidade Ont, onde n é o número de elementos no conjunto e t o valor do somatório que se deseja alcançar!! Como assim pseudo-polinomial? Se o valor de t é limitado por um polinômio eiste uma solução eficiente. Mas, se o valor de t for muito grande e.g. t = n, a solução deia de ser eficiente, se tornando eponencial ou pior. Números pequenos [64 bits] vs. BigInt [n bits]

46 Algoritmos que Eecutam em Tempo Pseudo-Polinomial A restrição de t pequeno pode ser bastante razoável na prática: Problemas onde é impossível a ocorrência de números muito grandes e.g. problemas de escalonamento; Problemas onde o tamanho do número possa ser restrito ao tamanho da palavra do processador. Note contudo que esse não é o caso da redução do 3-CNF-SAT ao SUBSET-SUM, onde o valor de t cresce eponencialmente em relação ao número de variáveis e cláusulas presentes na fórmula booleana.

47 Reduções Resumindo, quais reduções de problemas foram feitas: SAT 3-CNF-SAT SUBSET-SUM CLIQUE COBERTURA DE VÉRTICES CICLO HAMILTONIANO CAIXEIRO-VIAJANTE

48 Eercícios Reduzir a seguinte instância de SAT em uma instância 3-CNF-SAT: ϕ = ~ Reduzir a seguinte instância de VERTEX-COVER em uma instância de CLIQUE. Mostre uma solução equivalente para ambos os problemas:

49 Eercícios 3 Reduzir a seguinte instância do problema CLIQUE para uma instância do SUBSET-SUM CLIQUE => 3-CNF-SAT => SUBSET-SUM. Para a instância do 3-CNF-SAT, elabore uma solução válida resultado = verdade e outra não válida resultado = falsidade e as soluções correspondentes na instância do SUBSET-SUM.

Análise e Projeto de Algoritmos

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

Leia mais

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

Leia mais

Análise e Projeto de Algoritmos

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

Leia mais

Complexidade de Algoritmos. Edson Prestes

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

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Tempo polinomial Verificação de tempo polinomial Diane Castonguay diane@inf.ufg.br Instituto de Informática Universidade Federal de Goiás Tempo polinomial Um algoritmo é

Leia mais

Reduções de Problemas Difíceis

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

Leia mais

Complexidade de Algoritmos. Edson Prestes

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

Leia mais

Análise de Algoritmos. Slides de Paulo Feofiloff

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

Leia mais

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

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

Leia mais

PCC104 - Projeto e Análise de Algoritmos

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

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Estudo da Tratabilidade de Problemas

Leia mais

Análise e Síntese de Algoritmos

Análise e Síntese de Algoritmos Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Algoritmos em Grafos Estruturas de Dados para Conjuntos Disjuntos Programação Linear Programação Dinâmica Algoritmos Greedy

Leia mais

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

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

Leia mais

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34

Análise e Síntese de Algoritmos. Problemas NP-Completos CLRS, Cap. 34 Análise e Síntese de Algoritmos Problemas NP-Completos CLRS, Cap. 34 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais

Leia mais

Problemas NP-Completos Bolas Mágicas

Problemas NP-Completos Bolas Mágicas NP-Completo 1 Problemas NP-Completos Bolas Mágicas Já vimos antes alguns problemas NP-completos. Um deles é o jogo de cartões perfurados. Quem encontrar uma solução polinomial para o problema geral desse

Leia mais

Algoritmos de aproximação

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

Leia mais

Teoria da Complexidade Computacional

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

Leia mais

Problemas NP-completos

Problemas NP-completos Problemas NP-completos Marina Andretta ICMC-USP 15 de setembro de 2015 Marina Andretta (ICMC-USP) sme0216 e 5826 15 de setembro de 2015 1 / 26 Sat é NP-completo Já vimos que o primeiro problema que se

Leia mais

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

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

Leia mais

DINTER UFF/IFTM - Análise e Síntese de Algoritmos - Lista de Exercícios

DINTER UFF/IFTM - Análise e Síntese de Algoritmos - Lista de Exercícios DINTER UFF/IFTM - Análise e Síntese de Algoritmos - Lista de Exercícios - 2013 1. Uma pessoa sobe uma escada composta de n degraus, com passos que podem alcançar entre 1 e k n degraus. Escrever equações

Leia mais

Complexidade de Algoritmos

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

Leia mais

76) 1.1 Sim 1.2 Não 1.3 Não

76) 1.1 Sim 1.2 Não 1.3 Não 6) 1.1 Sim 1.2 Não 1. Não 2.1 2.2 2.. Os grafos dos exercícios 2.1 e 2.2 são conexos, pois existe sempre uma sequência de arestas a unir quaisquer dois vértices. 4.1 Grafo I vértices: ; arestas: 2 Grafo

Leia mais

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão Lógica Computacional Normalização e Formas Normais Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF Algoritmos de Conversão 2 Outubro 2014 Lógica Computacional 1 Forma Normal Negativa - NNF

Leia mais

Complexidade computacional

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,

Leia mais

Introdução à classe de problemas NP- Completos

Introdução à classe de problemas NP- Completos Introdução à classe de problemas NP- Completos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 Introdução Considerações Práticas Em alguns casos práticos, alguns

Leia mais

TEORIA DE COMPLEXIDADE

TEORIA DE COMPLEXIDADE TEORIA DE COMPLEXIDADE Fundamentos: classes P e N P Mauricio Ayala-Rincón Grupo de Teoria da Computaç~ao http://ayala.mat.unb.br/tcgroup Instituto de Ciências Exatas Universidade de Brasília, Brasília

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

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

Leia mais

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014

Teoria da Computação. Exercícios. 1 Máquinas de Registos Ilimitados 2013/2014 Teoria da Computação 2013/2014 Exercícios 1 Máquinas de Registos Ilimitados 1. Construa programas URM sem módulos que calculem as seguintes funções (a) quatro(x) = 4 (b) sg(x) retorna 0 se x > 0, 1 no

Leia mais

Melhores momentos AULA 24. Algoritmos p.906/953

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

Leia mais

SCC Modelagem Computacional em Grafos Profª Rosane Minghim 1º sem ª lista de exercícios

SCC Modelagem Computacional em Grafos Profª Rosane Minghim 1º sem ª lista de exercícios DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÂO SCC0216 - Modelagem Computacional em rafos Profª Rosane Minghim 1º sem. 2014 1ª lista de eercícios Questão 1 Desenhe as versões orientada e não orientada do grafo:

Leia mais

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

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

Leia mais

ANÁLISE DE ALGORITMOS (INF 1721)

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

Leia mais

Aula 10: Tratabilidade

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

Leia mais

Conceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade

Conceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade Conteúdo 1 Teoria de Grafos Conceitos Básicos Isomorfismo de Grafos Subgrafos Passeios em Grafos Conexidade > Teoria de Grafos 0/22 Conceitos Básicos Inicialmente, estudaremos os grafos não direcionados.

Leia mais

Problemas Intratáveis ou computação eficiente X computação ineficiente

Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Intratáveis ou computação eficiente X computação ineficiente Problemas Tratáveis Os problemas que podem ser resolvidos em tempo polinomial em um computador típico são exatamente os mesmos problemas

Leia mais

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: 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

Leia mais

5COP096 TeoriadaComputação

5COP096 TeoriadaComputação Sylvio 1 Barbon Jr barbon@uel.br 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

Leia mais

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

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

Leia mais

Departamento de Engenharia de Produção UFPR 57

Departamento de Engenharia de Produção UFPR 57 Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem

Leia mais

Lógica Computacional Aula 4

Lógica Computacional Aula 4 Lógica Computacional Aula 4 DCC/FCUP 2017/18 Conteúdo 1 Lógica proposicional 1 1.1 Fórmulas de Horn.......................................... 1 1.2 Satisfazibilidade............................................

Leia mais

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 11: Introdução aos Grafos Indução Finita Indução Finita é uma técnica para provar teoremas também usada no projecto de algoritmos. Suponha

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Algoritmos de Grafos Complexidade

Leia mais

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

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

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Algoritmos com Inteiros Grandes

Leia mais

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

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema

Leia mais

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximação Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas NP- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Teoria dos Grafos Aula 2

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

Leia mais

Problemas de Busca (a.k.a NP) - parte 2

Problemas de Busca (a.k.a NP) - parte 2 Problemas de Busca (a.k.a NP) - parte 2 André Vignatti DINF- UFPR Euler e Rudrata No verão de 1735 Leonhard Euler, o famoso matemático suíço, estava andando nas pontes da cidade de Königsberg, na Prússia

Leia mais

Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 2 - Fundamentação Teórica

Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 2 - Fundamentação Teórica Pontifícia Universidade Católica do Rio Grande do Sul Instituto de Informática (II-PUCRS) Grupo de Apoio ao Projeto de Hardware - GAPH Projeto Lógico Automatizado de Sistemas Digitais Seqüenciais 2 - Fundamentação

Leia mais

Capítulo 1 Números Reais

Capítulo 1 Números Reais Departamento de Matemática Disciplina MAT154 - Cálculo 1 Capítulo 1 Números Reais Conjuntos Numéricos Conjunto dos naturais: N = {1,, 3, 4,... } Conjunto dos inteiros: Z = {..., 3,, 1, 0, 1,, 3,... } {

Leia mais

Problemas de Fluxo em Redes

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

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Duração: 1h Época de 2018 / 19 1º Teste de Avaliação (sem Consulta) Nome: nº: 1. (2.5 val) Considere os mundos e a linguagem do Mundo de Tarski (com um tabuleiro de 3 3 casas) a) Desenhe

Leia mais

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú 5/5/2014 Ruy Luiz Milidiú 1 O Teorema de Cook 5/5/2014 Ruy Luiz Milidiú 2 Resumo Objetivo Apresentar os conceitos básicos necessários ao enunciado

Leia mais

ANÁLISE DE ALGORITMOS (INF 1721)

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

Leia mais

Para muitos problemas computacionais, algoritmos razoáveis não existem!

Para muitos problemas computacionais, algoritmos razoáveis não existem! Para muitos problemas computacionais, algoritmos razoáveis não existem! Os melhores algoritmos requerem quantidades de tempo ou espaço enormes tornando-os praticamente inúteis. 1 Introdução Objetivos:

Leia mais

INTRATABILIDADE e NP-COMPLETUDE

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

Leia mais

CIC 111 Análise e Projeto de Algoritmos II

CIC 111 Análise e Projeto de Algoritmos II CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 19 Paths and circuits Eulerian paths Hamiltonian paths De Bruijn sequences Knight s

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y

Leia mais

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DO 2 o TESTE

INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos. RESOLUÇÃO DO 2 o TESTE INSTITUTO SUPERIOR TÉCNICO Análise e Síntese de Algoritmos Ano Lectivo de 2006/2007 2 o Semestre RESOLUÇÃO DO 2 o TESTE I. (2,0+2,0+2,0 = 6,0 val.) 1) Calcule o valor óptimo da função objectivo e o respectivo

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com

Leia mais

Algoritmos de aproximação - Problema do caixeiro viajante

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,

Leia mais

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 Projeto e Análise de Algoritmos NP Completude Parte 2 Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências Exatas versão da aula: 0.2 Última aula

Leia mais

GRAFOS Aula 03 Representações de Grafos Max Pereira

GRAFOS Aula 03 Representações de Grafos Max Pereira Ciência da Computação GRAFOS Aula 03 Representações de Grafos Max Pereira A maior vantagem de um grafo é a sua representação visual da informação. Mas para a manipulação e armazenamento em um computador,

Leia mais

Técnicas Digitais para Computação

Técnicas Digitais para Computação INF 8 Técnicas Digitais para Computação Minimização de Funções Booleanas Aula Técnicas Digitais. Mapas de Karnaugh com 2 variáveis Diagrama onde cada célula corresponde a um mintermo Exemplo com 2 variáveis

Leia mais

Uma forma de classificação

Uma forma de classificação Uma forma de classificação L. Não-RE ou f. nãocomputáveis LRE ou MT ou f. comput. L. Indecidíveis ou Procedimentos L. Recursivas ou Decidíveis ou Algoritmos Outra forma de classificação Problemas Indecidíveis

Leia mais

Coloração. Carolina Moraes e Lucas Glir

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

Leia mais

Por que não encontramos algoritmos polinomiais para muitos problemas?

Por que não encontramos algoritmos polinomiais para muitos problemas? Por que não encontramos algoritmos polinomiais para muitos problemas? Talvez não tenhamos AINDA encontrado ou talvez eles sejam MESMO intrinsicamente difíceis 1 Objetivos: Introdução Apresentar o conceito

Leia mais

Provadores de Teoremas baseados em contagem

Provadores de Teoremas baseados em contagem Provadores de Teoremas baseados em contagem Eduardo Menezes de Morais lenin@linux.ime.usp.br Orientador: Marcelo Finger Instituto de Matemática e Estatística - USP 16 de novembro de 2008 Eduardo Menezes

Leia mais

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré

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

Leia mais

PCC104 - Projeto e Análise de Algoritmos

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

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Algoritmos em Grafos Aula 11 Conectividade Prof. Humberto César Brandão de Oliveira humberto@bcc.unifal-mg.edu.br Discussão preliminar sobre Conectividade A conectividade

Leia mais

GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira

GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira Ciência da Computação GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira Um grafo é dito conexo se for possível visitar qualquer vértice, partindo de um outro qualquer, passando pelas suas arestas.

Leia mais

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão

Lógica Computacional. Normalização e Formas Normais. Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF. Algoritmos de Conversão Lógica Computacional Normalização e Formas Normais Literais, Cláusulas e Monómios; Formas Normais NNF, CNF e DNF Algoritmos de Conversão 30 Setembro 2013 Lógica Computacional 1 Forma Normal Negativa -

Leia mais

Pesquisa Operacional II. Professor João Soares de Mello

Pesquisa Operacional II. Professor João Soares de Mello Pesquisa Operacional II Professor João Soares de Mello http://www.uff.br/decisao/notas.htm Ementa Teoria dos grafos (pré-requisitos: PO I, Álgebra Linear) Programação não linear (pré-requisitos: PO I,

Leia mais

Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7.

Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7. Matemática Discreta Capítulo 7 SUMÁRIO CAMINHAMENTOS BASEADO EM TOWNSEND (1987), CAP. 7 Circuitos Eulerianos Ciclos Hamiltonianos O Problema do Caixeiro Viajante Newton José Vieira 30 de julho de 2007

Leia mais

Soluções das Questões de Matemática do Processo Seletivo de Admissão à Escola Preparatória de Cadetes do Exército EsPCEx

Soluções das Questões de Matemática do Processo Seletivo de Admissão à Escola Preparatória de Cadetes do Exército EsPCEx Soluções das Questões de Matemática do Processo Seletivo de Admissão à Escola Preparatória de Cadetes do Eército EsPCE Questão 1 Sabendo-se que Concurso 009 3 5 199 log log log... log 10000 + + + + =,

Leia mais

Teoria dos Grafos Aula 2

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

Leia mais

Noções da Teoria dos Grafos. André Arbex Hallack

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 1.1 Introdução histórica..................................... 1 1.2 Passeios

Leia mais

IME, UFF 7 de novembro de 2013

IME, UFF 7 de novembro de 2013 em Lógica IME, UFF 7 de novembro de 2013 em Sumário Intermezzo sobre problemas. Intermezzo sobre algoritmos.. em : Val, Sat, Conseq, Equiv, Consist. Redução de problemas. em Um problema computacional é

Leia mais

Estruturas de Dados 2

Estruturas de Dados 2 Estruturas de Dados 2 Técnicas de Projeto de Algoritmos Força Bruta IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/36 Técnica de Projeto de Algoritmos por Força

Leia mais

Quinta-feira, 11 de abril

Quinta-feira, 11 de abril 15.053 Quinta-feira, 11 de abril Mais alguns exemplos de programação inteira Técnicas de planos de corte para obter melhores limitações Entregar: Observações de Aula 1 Exemplo: Localização do corpo de

Leia mais

Lógica para Computação Segundo Semestre, Aula 10: SAT. Prof. Ricardo Dutra da Silva. ( p (q ( q r))) ( p r) ( p q) ( p q r) p r.

Lógica para Computação Segundo Semestre, Aula 10: SAT. Prof. Ricardo Dutra da Silva. ( p (q ( q r))) ( p r) ( p q) ( p q r) p r. Lógica para Computação Segundo Semestre, 2014 Aula 10: SAT DAINF-UTFPR Prof. Ricardo Dutra da Silva Definição 10.1. SAT é o problema de decidir se existe uma valoração que satisfaça uma fórmula proposicional.

Leia mais

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29 Análise e Síntese de Algoritmos Programação Linear CLRS, Cap. 29 Conteto Algoritmos em Grafos (CLRS, Cap. 22-26)... Fluos máimos em grafos (CLRS, Cap. 26) Programação Linear (CLRS, Cap. 29) Programação

Leia mais

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação)

Curso: Análise e Desenvolvimento de Sistemas. (Conceitos Práticos de Lógica de Programação) Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Conceitos Práticos de Lógica de Programação) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Conceito de Algoritmo

Leia mais

ANÁLISE DE ALGORITMOS

ANÁLISE DE ALGORITMOS ANÁLISE DE ALGORITMOS Paulo Feofiloff Instituto de Matemática e Estatística Universidade de São Paulo agosto 2009 Introdução P. Feofiloff (IME-USP) Análise de Algoritmos agosto 2009 2 / 102 Introdução

Leia mais

SISTEMAS DIGITAIS MINIMIZAÇÃO DE FUNÇÕES BOOLEANAS

SISTEMAS DIGITAIS MINIMIZAÇÃO DE FUNÇÕES BOOLEANAS MINIMIZAÇÃO DE FUNÇÕES BOOLEANAS Outubro de MINIMIZAÇÃO DE FUNÇÕES BOOLEANAS - 2 SUMÁRIO: MINIMIZAÇÃO ALGÉBRICA MINIMIZAÇÃO DE KARNAUGH REPRESENTAÇÃO DE FUNÇÕES DE N VARIÁVEIS QUADROS DE 3 e 4 VARIÁVEIS

Leia mais

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464 / PCC174 Departamento de Computação - UFOP Breve Revisão Programação Linear vs Programação Inteira Modelagem

Leia mais

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximado Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas N P- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Algoritmos em Grafos

Algoritmos em Grafos Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)

Leia mais

Por que não encontramos algoritmos polinomiais para muitos problemas?

Por que não encontramos algoritmos polinomiais para muitos problemas? Por que não encontramos algoritmos polinomiais para muitos problemas? Talvez não tenhamos AINDA encontrado ou talvez eles sejam MESMO intrinsicamente difíceis 1 Objetivos: Introdução Apresentar o conceito

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções

Leia mais

Teoria dos Grafos Aula 26

Teoria dos Grafos Aula 26 Teoria dos Grafos Aula 26 Aula passada Redes de fluxo Problema do fluxo máximo Problema do corte mínimo Aula de hoje Algoritmo de Ford Fulkerson Análise do algoritmo Melhorando algoritmo inicial Dualidade

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25 ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Aula 25 Cap 7.2 A classe P Profa. Ariane Machado Lima ariane.machado@usp.br 1 Cap 7.2 A classe P 2 Tempo polinomial e exponencial Ex: Máquina de tempo n 3 (tempo

Leia mais

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú

Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú Projeto e Análise de Algoritmos Prof. Ruy Luiz Milidiú 5/5/2014 Ruy Luiz Milidiú 1 Redução 5/5/2014 Ruy Luiz Milidiú 2 Resumo Objetivo Apresentar o príncipio da redução de um problema a outro Sumário O

Leia mais

LTDA APES PROF. RANILDO LOPES SITE:

LTDA APES PROF. RANILDO LOPES SITE: Matemática Aplicada - https://ranildolopes.wordpress.com/ - Prof. Ranildo Lopes - FACET 1 Faculdade de Ciências e Tecnologia de Teresina Associação Piauiense de Ensino Superior LTDA APES PROF. RANILDO

Leia mais

O Problema da 3- Coloração de Grafos

O Problema da 3- Coloração de Grafos Otimização Combinatória O Problema da - Coloração de Grafos Guilherme Zanardo Borduchi Hugo Armando Gualdron Colmenares Tiago Moreira Trocoli da Cunha Prof.ª Marina Andretta Introdução ao Problema Problema

Leia mais

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste material e a resolução (por parte do aluno) de todos os

Leia mais

Backtracking. Túlio Toffolo Marco Antônio Carvalho BCC402 Aula 10 Algoritmos e Programação Avançada

Backtracking. Túlio Toffolo  Marco Antônio Carvalho BCC402 Aula 10 Algoritmos e Programação Avançada Backtracking Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 10 Algoritmos e Programação Avançada Backtracking Backtracking é um refinamento do algoritmo de busca

Leia mais

TEORIA DE COMPLEXIDADE

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 loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro

Leia mais