Algoritmos Combinatórios: Backtracking com Bounding
|
|
|
- Rafael de Almada Chagas
- 7 Há anos
- Visualizações:
Transcrição
1 Algoritmos Combinatórios: Backtracking com Bounding UFSC, Fevereiro, 2010
2 Backtracking com bounding Backtracking com bounding Quando aplicamos backtracking para um problema de otimização, usamos bounding para podar a árvore de espaço de estados. Consiremos um problema de maximização. Seja lucro(x) = o lucro de uma solução viável X. Para um solução parcial X = [x 0, x 1,..., x l 1 ], defina P (X) = max { lucro(x ) : X = [x 0, x 1,..., x l 1, x l,..., x n 1] e uma solucao viavel }. Uma função de bounding B é uma função de valores reais definida nos vértices da árvore de epaço de estadps, tais que para toda solução viável X, B(X) P (X). B(X) é um limite superior (upper bound) do lucro de qualquer solução que seja descendente de X na árvore de espaço de estados. Se a melhor solução encontrada até o momento tem valor OptP, então podemos podar vértices X com B(X) OptP.
3 Backtracking com bounding Algoritmo Genal de Backtracking com Bounding Algoritmo BacktrackBounding(l) Global X, OptP, OptX, C l, l = (0, 1,...) if ([x 0, x 1,..., x l 1 ] e uma solution viavel) then P profit([x 0, x 1,..., x l 1 ]); if (P > OptP ) then OptP P ; OptX [x 0, x 1,..., x l 1 ]; Compute C l ; B B([x 0, x 1,..., x l 1 ]); for each (x C l ) do if B OptP then return; x l x; BacktrackBounding(l + 1)
4 Mochila com Bounding Problema da Mochila Racional Usaremos uma solução do Problema da Mochila Racional como função de bounding para o Problema da Mochila (inteiro/binário). Problema da Mochila Racional: Instância: Lucros p 0, p 1,..., p n 1 Pesos w 0, w 1,..., w n 1 Capacidade da mochila M Encontre: uma n-tupla [x 0, x 1,..., x n 1 ] tal que o lucro total P = n 1 i=0 p ix i seja maximizado, sujeito a restrição de capacidade: n 1 i=0 w ix i M. onde x i e racional e 0 x i 1, pra todo i = 0,..., n 1.
5 Mochila com Bounding Solução da Mochila Racional Algoritmo MochilaRacional ((p 0,..., w n 1 ), (w 0,..., w n 1 ), M) Permute os indices de modo que p 0 /w 0 p 1 /w 1 p n 1 /w n 1 i 0; P 0; W 0 for j 0 to n 1 do x j 0 while W < M and i < n do if (W + w i M) then x i 1; W W + w i ; P P + p i i i + 1 else x i (M W )/w i W M; P P + x i p i i i + 1 return P
6 Mochila com Bounding Teorema O Algoritmo MochilaRacional retorna o valor objectivo de uma solução ótima do problema da mochila racional.
7 Mochila com Bounding Função de Bounding para o problem da Mochila Dada uma solução parcial (viável) X = [x 0, x 1,..., x l 1 ], defina: B(X) = l 1 i=0 p ix i + +MochilaRacional((p l,..., p n 1 ), (w l,..., w n 1 ), M l 1 i=0 w ix i ) B(X) é a soma de: 1 o lucro obtido com objectos 0, 1,..., l 1, mais 2 o lucro obtido dos objetos restantes, usando a capacidade restante M l 1 i=0 w ix i, mas permitindo valores de x i racionais (para l i n 1) com 0 x i 1. Se na parte 2. restringíssemos x i a valores binários, obteriamos P (X), mas permitindo valores racionais para x l,..., x n 1 pode resultar num lucro maior; ou seja, B(X) P (X) e B é um função de bounding.
8 Mochila com Bounding Backtracking com Bounding para o Problema da Mochila Variaveis Globais X, OptP, OptX. Algoritmo Mochila3 (l, CurW ) if (l = n) then if ( n 1 i=0 p ix i > OptP ) then OptP n 1 i=0 p ix i ; OptX [x 0, x 1,..., x n 1 ]; if (l = n) then C l else if (CurW + w l M) then C l {0, 1}; else C l {0}; B l 1 i=0 p ix i + MochilaRacional((p l,..., p n 1 ), (w l,..., w n 1 ), M CurW ) for each x C l do if B OptP then return; x l x; Mochila3 (l + 1, CurW + w l x l );
9 Mochila com Bounding Tamanho da árvore de espaço de estados p/ Mochila n Alg. Mochila1 Alg. Mochila2 Alg. Mochila Valor médio obtido em 5 problemas de mochilas aleatórias de tamanho n.
10 Problema do Clique Máximo Problema do Clique Máximo Problema: Clique Máximo Instância: grafo G = (V, E). Encontre: um clique de cardinalidade máxima em G. Este problema é NP-difícil Maximum cliques: 6 {2,3,4,5}, {3,4,5,6} 4 5
11 Problema do Clique Máximo Modificação de TodosCliques para clique máximo (sem bounding ). Linhas em azul adicionam bounding a este algoritmo. Algoritmo MaxClique(l) Global: X, C l (l = 0,..., n 1), A l, B l pre-computado. if (l > OptSize) then OptSize l; OptClique [x 0, x 1,..., x l 1 ]; if (l = 0) then C l V ; else C l A xl 1 B xl 1 C l 1 ; M B([x 0, x 1,..., x l 1 ]); for each (x C l ) do if (M OptSize) then return; x l x; MaxClique(l + 1); Main OptSize 0; MaxClique(0); output OptClique;
12 Problema do Clique Máximo Funções de Bounding para MaxClique Definição (Subgrafo induzido) Seja G = (V, E) e W V. O subgrafo induzido por W, G[W ], tem conjunto de vértices W e conjunto de arestas: {{u, v} E : u, v W }. solução parcial: X = [x 0, x 1,..., x l 1 ] com conjunto de escolha C l, solução de extensão X = [x 0, x 1,..., x l 1, x l,..., x j ], Então {x l,..., x j } é um clique de G[C l ]. Seja mc(l) denote o tamanho do clique máximo em G[C l ], e seja ub(l) um limite superior de mc(l). Então, uma função de bounding é B(X) = l + ub(l).
13 Problema do Clique Máximo Bound baseado no tamanho do subgrafo Função geral de bounding: B(X) = l + ub(l) Como mc(l) C l, temos a seguinte função de bounding: B 1 (X) = l + C l.
14 Problema do Clique Máximo Bound baseado em coloração do grafo Definição (Coloração de vértices) Sejam um grafo G = (V, E) e um inteiro positivo k. Uma k-coloração (de vértices) de G é uma função Cor: V {0, 1,..., k 1} tal que, para toda aresta {x, y} E, Cor(x) Cor(y). Exemplo: uma 3-coloração de um grafo: colour 0 colour 1 colour
15 Problema do Clique Máximo Lema Se G tem uma k-coloração, então um clique máximo de G tem cardinalidade k. Prova. Seja um clique C. Cada x C tem que ter uma cor distinta. Então, C k. Isto vale para qualquer clique, em particular para um clique máximo.
16 Problema do Clique Máximo Encontrar uma coloração de cardinalidade mínima daria o melhor limite superior, mas é um problema difícil. Usamos um algoritmo guloso pra encontrar uma coloração pequena. Defina ClasseDeCor[h] = {i V : Cor[i] = h}. ColorirGuloso(G = (V, E)) Global Cor k 0; // cores usadas ate agora for i 0 to n 1 do h 0; while (h < k) and (A i ClasseDeCor[h] ) do h h + 1; if (h = k) then k k + 1; ClasseDeCor[h] ; ClasseDeCor[h] ClasseDeCor[h] {i}; Cor[i] = h; return k;
17 Problema do Clique Máximo Bound de Amostragem: Estaticamente, a priori, rode ColorirGuloso(G), determinando k e Cor[x] para todo x V. BoundDeAmostragem(X = [x 0, x 1,..., x l 1 ]) Global C l, Cor return l + {Cor[x] : x C l } ; Bound Guloso: Rode ColorirGuloso dinamicamente. BoundGuloso(X = [x 0, x 1,..., x l 1 ]) Global C l k ColorirGuloso(G[C l ]); return l + k;
18 Problema do Clique Máximo Tamanho da árvore de busca; grafos aleatórios, densidade de arestas 0.5 # vértices # arestas tamanho max clique função de bounding: nenhuma bound de tamanho bound de amostragem bound guloso
19 Branch-and-bound Branch-and-bound Branch-and-Bound é uma generalização de backtracking com bounding em que a árvore de espaço de estados pode ser explorada de maneiras diferentes, tais como: 1 escolher uma ordem de exploração dos filhos de um vértice, dando prioridade a explorar filhos com bound maior (mais promissores em termos de função objetivo); 2 explorar os vértices não necessariamente de forma depth-first (pre-ordem) como em backtracking; em vez disso, manter uma fila de prioridades com vértices ativos (prioridade dada a vértices de maior bound), processando os vértices mais prioritários primeiro, e inserindo os seus filhos na fila de prioridades. O algoritmo seguinte segue a idéia do item 1.
20 Branch-and-bound Algoritmo BranchAndBound(l) externo B(), lucro(); global C l (l = 0, 1,...) if ([x 0, x 1,..., x l 1 ] e uma solucao viavel) then P Lucro([x 0, x 1,..., x l 1 ]) if (P > OptP ) then OptP P ; OptX [x 0, x 1,..., x l 1 ]; Compute C l ; count 0; for each (x C l ) do nextchoice[count] x; nextbound[count] B([x 0, x 1,..., x l 1, x]); count count + 1; Ordene nextchoice e nextbound em ordem decrescente de nextbound; for i 0 to count 1 do if (nextbound[i] OptP ) then return; x l nextchoice[i]; BranchAndBound(l + 1);
Algoritmos Combinatórios: Sudoku via Backtracking e o Problema da Cobertura Exata
Algoritmos Combinatórios: Sudoku via Backtracking e o Problema da [email protected] UFSC, Fevereiro, 2010 Solução Sudoku O jogo/puzzle Sudoku consiste de uma matriz 9 9, dividida em 9 regiões, que
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?
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 [email protected] BCC402 Aula 10 Algoritmos e Programação Avançada Backtracking Backtracking é um refinamento do algoritmo de busca
Aula 13: Branch-and-bound
Aula 13: Branch-and-bound Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Modelagem em PI / Problemas Combinatórios
Eduardo Camponogara. DAS-9003: Introdução a Algoritmos
Caminhos Mínimos Com Uma Fonte 1/74 Caminhos Mínimos Com Uma Fonte Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: a Algoritmos Caminhos Mínimos
Otimização Combinatória - Parte 4
Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional
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
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
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 + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +
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
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
GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira
Ciência da Computação GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira Busca em Largura (Breadth-First Search) Um dos algoritmos mais simples para exploração de um grafo.
Teoria dos Grafos Aula 5
Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema
Algoritmos Gulosos. Norton T. Roman
Algoritmos Gulosos Norton T. Roman Apostila baseada no trabalho de Delano M. Beder, Luciano Digianpietri, David Matuszek, Marco Aurelio Stefanes e Nivio Ziviani Algoritmos Gulosos São aqueles que, a cada
Branch-and-Bound para problemas de Otimização Combinatória
para problemas de Otimização Combinatória Rafael Antônio Marques Gomes Orientador: Haroldo Gambini Santos Departamento de Computação UFOP 26 de julho de 2011 Rafael Antônio Marques Gomes BB para problemas
Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (5)
1 Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (5) DECOM/UFOP 2012/2 5º. Período Anderson Almeida Ferreira Adaptado do material de Andréa Iabrudi Tavares BCC241/2012-2 3 Algoritmos Gulosos
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
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
Problema da Mochila Booleana: Uma Solução Usando Programação Dinâmica. Gabriel Rosa Guilherme Alves
Problema da Mochila Booleana: Uma Solução Usando Programação Dinâmica Gabriel Rosa Guilherme Alves Agenda O problema, definição e exemplo Construindo uma solução... Expressão recursiva Algoritmo recursivo
Programação Inteira Resolução por Branch and Bound
Programação Inteira Resolução por Branch and Bound Transparências de apoio à lecionação de aulas teóricas Versão 2.3 c 2012, 2010, 2009, 2001 Maria Antónia Carravilla José Fernando Oliveira FEUP Técnicas
Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos
Formulação de Programação Linear Inteira para o Problema de Particionamento em Conjuntos Convexos Teobaldo L. Bulhões Júnior a a Instituto de Computação, Universidade Federal Fluminense, Niterói, RJ, Brazil
Otimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).
Programação Dinâmica. Prof. Anderson Almeida Ferreira. Adaptado do material elaborado por Andrea Iabrudi Tavares
Programação Dinâmica Prof. Anderson Almeida Ferreira Adaptado do material elaborado por Andrea Iabrudi Tavares Programação Dinâmica 1950, Bellman Evitar recálculos dos subproblemas em comum Menor para
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.
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
Problema de seleção de atividades. Aula 14. Exemplo. Algoritmos Gulosos. Algoritmos Gulosos. Intervalo: par ordenado de números
Problema de seleção de atividades Aula 14 Algoritmos Gulosos Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Intervalo: par ordenado de números [s[i],f[i]): início e fim do intervalo
Aula 19: Lifting e matrizes ideais
Aula 19: Lifting e matrizes ideais Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Branch-and-bound Formulações
Gabriel Coutinho DCC035 - Pesquisa Operacional Lista 6
Lista 6 Exercício. O objetivo deste exercício é modelar o problema de emparelhamento em um grafo bipartido como um problema de fluxo, e verificar que o Teorema de Konig é essencialmente o Teorema de Fluxo
Árvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Estratégias de Busca: Métodos Informados. March 9, 2015
Estratégias de Busca: Métodos Informados March 9, 2015 Busca de Soluções: Métodos Informados Utilizam conhecimento específico do problema para encontrar a solução algoritmo geral de busca somente permite
Lista de Exercícios I - Gabarito
UNIVERSIDADE FEDERAL DO AMAZONAS INSTITUTO DE COMPUTAÇÃO Lista de Exercícios I - Gabarito ICC500 - Introdução à Otimização Combinatória PGINF566 - Otimização Combinatória Profa. Rosiane de Freitas Questão
Projeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 04 Técnicas de Projeto de Algoritmos (Método Guloso) Edirlei Soares de Lima Estratégias de Projeto de Algoritmos Força Bruta (Brute Force) Dividir
Eduardo Camponogara. DAS-9003: Introdução a Algoritmos
Caminhos Mínimos entre Todos os Vértices 1/ 48 Caminhos Mínimos entre Todos os Vértices Eduardo Camponogara Departamento de Automação e Sistemas Universidade Federal de Santa Catarina DAS-9003: Introdução
Grafos Msc. Daniele Carvalho Oliveira. Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1
Grafos Msc. Daniele Carvalho Oliveira Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1 Árvore Geradora Mínima 2 Porque é um problema interessante Suponha que queremos
BUSCA CEGA OU SEM INFORMAÇÃO (parte 2 Resolução de problemas por busca) *Capítulo 3 (Russel & Norvig)
BUSCA CEGA OU SEM INFORMAÇÃO (parte 2 Resolução de problemas por busca) *Capítulo 3 (Russel & Norvig) 1 Tópicos Estratégias de busca sem informação Busca em largura ou extensão custo uniforme (menor custo)
NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016
NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de
BCC Projeto e Análise de Algoritmos Aula 0: Apresentação
1 BCC 241 - Projeto e Análise de Algoritmos Aula 0: Apresentação DECOM/UFOP 5º. Período - 2013/01 Anderson Almeida Ferreira BCC 241/2012-2 2 Objetivos do curso Dados dois algoritmos, compará-los quanto
Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)
Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST) Alguns problemas de otimização combinatória podem ser formulados
Teoria da Complexidade
handout.pdf June 5, 0 Teoria da Complexidade Cid C. de Souza / IC UNICAMP Universidade Estadual de Campinas Instituto de Computação o semestre de 0 Revisado por Zanoni Dias Autor Prof. Cid Carvalho de
Problemas de otimização
Problemas de otimização Problemas de decisão: Existe uma solução satisfazendo certa propriedade? Resultado: sim ou não Problemas de otimização: Entre todas as soluções satisfazendo determinada propriedade,
Algoritmos de ordenação Heapsort
Algoritmos de ordenação Heapsort Sumário Introdução A estrutura de dados heap Definição Manutenção da propriedade de heap A construção de um heap O algoritmo heapsort Introdução Características do heapsort
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
QuickSort CI/2015. Análise e Projeto de Algoritmos. - Prof. Lucídio A. F. Cabral
QuickSort 1 Quicksort A[p q] A[q+1 r] Ordena um vetor A[p r] Divisão Particiona um vetor A em 2 subvetores A[p..q] e A[q+1..r], de tal modo que cada elemento de A[p..q] seja menor ou igual a cada elemento
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA
INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/14 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)
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
AULA 13 PROJETO E ANÁLISE DE ALGORITMOS. Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado
AULA 13 PROJETO E ANÁLISE DE ALGORITMOS Problema do caminho mais curto de uma única origem em grafos Karina Valdivia Delgado Roteiro Motivação Relaxamento Algoritmo de Dijkstra Motivação Suponha que você
Tecnicas Essencias Greedy e Dynamic
Tecnicas Essencias Greedy e Dynamic Paul Crocker RELEASE - Reliable and Secure Computation Group Universidade da Beira Interior, Portugal October 2010 1 / 27 Outline 1 Introdução 2 Exemplo Greedy I : Interval
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
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO. 5 a Lista de Exercícios
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO MATEMÁTICA COMBINATÓRIA 5 a Lista de Exercícios 1. O grafo de intersecção de uma coleção de conjuntos A 1,..., A n é o grafo
Programação Inteira. Solução com o método Branch-and-Bound
Programação Inteira Solução com o método Branch-and-Bound Conceitos gerais Um conceito fundamental nos métodos de resolução de programação inteira é a relaxação linear p Consiste em substituir PIM Ζ +
DFS: Depth-First Search (pesquisa em profundidade) Percursos e Conectividade em Grafos Depth-First Search. Implementação de DFS
DFS: Depth-First Search (pesquisa em profundidade) Percursos e Conectividade em Grafos Depth-First Search Fernando Lobo Algoritmos e Estrutura de Dados II Assim que se descobre um nó, começa-se logo a
Fluxo em Redes. > Fluxo em Redes Modelando com Fluxo Máximo 1/20
Fluxo em Redes > Fluxo em Redes Modelando com Fluxo Máximo 1/20 Definição (Fluxo) Fluxo s-t: fluxo f (e) para cada aresta e satisfazendo Para cada aresta e: 0 f (e) c(e) (capacidade) Para cada nó v s,
CI065 CI755 Algoritmos e Teoria dos Grafos
CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices
Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes
Grafos: Busca Algoritmos e Estruturas de Dados Graça Nunes Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é uma tarefa fundamental Pense no caso de se procurar uma certa informação associada
Projeto e Análise de Algoritmos
Projeto e Algoritmos Pontifícia Universidade Católica de Minas Gerais [email protected] 26 de Maio de 2017 Sumário A complexidade no desempenho de Quando utilizamos uma máquina boa, ela tende a ter
RESOLUÇÃO DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA Considere a soma. S n = n 2 n 1
DCC-UFRJ MATEMÁTICA COMBINATÓRIA 2006/2 PROVA 1 1. Considere a soma S n = 1 2 0 + 2 2 1 + 3 2 2 + + n 2 n 1. Mostre, por indução finita, que S n = (n 1)2 n + 1. Indique claramente a base da indução, a
Programação Linear Inteira. C. Requejo (UA) Métodos de Investigação Operacional MIO / 30
Programação Linear Inteira Programação Linear Inteira C. Requejo (UA) Métodos de Investigação Operacional MIO 2016 1 / 30 Programação Linear Inteira Programação Linear Inteira Resolução de problemas de
Algoritmos em Grafos - Aula 07 Algoritmos Gulosos
Algoritmos em Grafos - Aula 07 Algoritmos Gulosos Prof a. Laura Silva de Assis PPCIC - Programa de Pós-graduação em Ciência da Computação CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow
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
Algoritmos de aproximação - Problema de cobertura por conjuntos
Algoritmos de aproximação - Problema de cobertura por conjuntos Marina Andretta ICMC-USP 22 de setembro de 205 Baseado no livro Uma introdução sucinta a Algoritmos de Aproximação, de M. H. Carvalho, M.
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
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 Problemas de de otimização Conceitos ásicos O Problema da da Mochila Fracionária Template Genérico xemplos: Código de de Huffman Algoritmos Gulosos
14 Coloração de vértices Considere cada um dos grafos abaixo:
14 Coloração de vértices 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
Teoria dos Grafos. Coloração de Vértices
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Silvio A. de Araujo Departamento de Matemática Aplicada [email protected], [email protected], [email protected] Coloração de
