Complexidade de Algoritmos
|
|
- Edson Franco Brás
- 5 Há anos
- Visualizações:
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 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 maisBusca 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 maisAná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 maisComplexidade 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 maisProjeto 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 maisReduçõ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 maisComplexidade 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 maisAná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 maisReduçã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 maisPCC104 - 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 maisComplexidade 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 maisAná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 maisReduçã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 maisAná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 maisProblemas 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 maisAlgoritmos 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 maisTeoria 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 maisProblemas 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 maisAgenda. 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 maisDINTER 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 maisComplexidade 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 mais76) 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 maisLó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 maisComplexidade 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 maisIntroduçã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 maisTEORIA 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 maisVolmir 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 maisTeoria 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 maisMelhores 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 maisSCC 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 maisTeoria 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 maisANÁ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 maisAula 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 maisConceitos 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 maisProblemas 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 maisJogos 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 mais5COP096 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 maisComo 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 maisDepartamento 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 maisLó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 maisEstrutura 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 maisComplexidade 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 maisIntroduçã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 maisComplexidade 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 maisProjeto 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 maisAlgoritmos 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 maisAlgoritmo 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 maisTeoria 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 maisProblemas 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 maisProjeto 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 maisCapí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 maisProblemas 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 maisLó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 maisProjeto 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 maisANÁ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 maisPara 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 maisINTRATABILIDADE 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 maisCIC 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 maisLista 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 maisINSTITUTO 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 maisAná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 maisAlgoritmos 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 maisProjeto 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 maisGRAFOS 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 maisTé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 maisUma 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 maisColoraçã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 maisPor 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 maisProvadores 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 maisPERCURSOS. 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 maisPCC104 - 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 maisUniversidade 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 maisGRAFOS 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 maisLó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 maisPesquisa 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 maisCircuitos 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 maisSoluçõ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 maisTeoria 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 maisNoçõ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 maisIME, 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 maisEstruturas 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 maisQuinta-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 maisLó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 maisAná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 maisCurso: 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 maisANÁ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 maisSISTEMAS 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 maisAula 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 maisAlgoritmo 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 maisAlgoritmos 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 maisPor 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 maisINF 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 maisTeoria 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 maisACH2043 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 maisProjeto 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 maisLTDA 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 maisO 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 maisO 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 maisBacktracking. 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 maisTEORIA 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