CI811 Tópicos em Algoritmos
|
|
- Matheus Molinari
- 5 Há anos
- Visualizações:
Transcrição
1 CI811 Tópicos em Algoritmos Problemas 15 de junho de 2016 Aqui segue uma lista com alguns problemas computacionais para serem trabalhados pelos alunos da disciplina de Tópicos em Algoritmos (CI811) do Programa de Pós-Graduação em Informática da UFPR. Esta lista ainda não está completa e pode ser alterada. Alguns problemas são simples e tem o objetivo de apresentar diferentes técnicas, outros são mais difíceis. (...) 1 Introdução 1. [default,pr:subseqmax0]subsequência Máxima de 0 s Dada uma sequência de n 0 s e 1 s, S n = (d 1, d 2,..., d n ), queremos encontrar uma subsequência (consecutiva) máxima composta somente de 0 s, ou seja, encontrar m e k tais que d i = 0, para m i m+k 1 e k seja máximo. Subsequência Máxima de 0 s (subseqmax) Instância: Sequência de 0 s e 1 s de tamanho n, S n = (d 1, d 2,..., d n ). m e k tais que d i = 0, para m i m + k 1 e k seja máximo. Um problema mais simples é o problema de, dados uma sequência e um k, encontrar uma subsequência com exatos k 0 s consecutivos. Subsequência de tamanho k de 0 s (subseqk) Instância: Sequência de 0 s e 1 s de tamanho n, S n = (d 1, d 2,..., d n ) e inteiro k. m tal que d i = 0, para m i m + k 1 ou não, caso não exista tal m. 1
2 Seja M : N N, representando o tamanho da maior subsequência de 0 s começando em d i, definida por: M(i) = { 0, se i [1..n] ou d i 0, M(i + 1) + 1, se i [1..n] e d i = 0. E seja R : N N, representando o tamanho da maior subsequência de 0 s da sequência que começa em d i, definida por: R(i) = { 0, se i [1..n], max{m(i), R(i + 1)}, se i [1..n]. 2. [default,pr:subsqmaxcrescente]subsequência Máxima Crescente Dada uma sequência de n números inteiros, S n = (d 1, d 2,..., d n ), queremos encontrar uma subsequência (consecutiva) máxima crescente, ou seja, encontrar m e k tais que d i < d i+1, para m i m + k 2 e k seja máximo. Subsequência Máxima Crescente (subseqmaxcresc) Instância: Sequência de 0 s e 1 s de tamanho n, S n = (d 1, d 2,..., d n ). m e k tais que d i < d i+1, para m i m + k 2 e k seja máximo. 3. [default,pr:submatmax0]submatriz Máxima de 0 s Dada uma matriz n m de 0 s e 1 s, A = a 1,1 a 1,2 a 1,m a 2,1 a 2,2 a 2,m a n,1 a n,2 a n,m queremos encontrar uma submatriz (consecutiva) máxima composta somente de 0 s, ou seja, encontrar p, q, r e s tais que a i,j = 0, para 2
3 p i p + r 1, q j q + s 1 e r s seja máximo. Submatriz Máxima de 0 s (submatmax) Instância: Matriz n m de 0 s e 1 s, [a i,j ]. p, q, r e s tais que a i,j = 0, para p i p + r 1, q j q + s 1 e k l seja máximo. 3
4 2 Espaço de Busca e Enumeração 4. [default,pr:passeiocavalo]passeio do cavalo Dado um tabuleiro n n, será possível que um cavalo de xadrez (usando seus movimentos válidos) poderia sair da casa na linha 1, coluna 1 passar por todas as outras casas, sem repetir nenhuma e voltar ao início? Passeio do cavalo de xadrez (cavalo) Instância: Um inteiro n. Se é possível um passeio do cavalo, usando apenas seus movimentos de xadrez, em um tabuleiro n n, que passe por todas as casas sem repetir e volte para a primeira. 5. [default,pr:mochila]problema da Mochila Problema da Mochila (knapsack) Instância: Um número natural n, um número real D e duas funções, w : {1, 2,..., n} R e v : {1, 2,..., n} R. Um conjunto X {1, 2,..., n} tal que i X w(i) D e i X v(i) seja máximo. 6. [default,pr:enum-subconj]enumeração de subconjuntos Dado um conjunto X, como enumerar todos os seus subconjuntos? opção 1: Cada nó representa um subconjunto de X. Comece com o conjunto vazio ( ) como nó raiz. Gere cada filho de um nó incluindo um único elemento. Se os elementos são ordenados e só são incluídos elementos que estão a direita do último incluído, então não acontecem repetições e temos uma árvore. Cada nível tem conjuntos de um tamanho. opção 2: Cada nó representa um conjunto de subconjuntos de X. 4
5 Cada nó i tem dois conjuntos P i e Q i, ambos subconjuntos de X. Os subconjuntos de X representados pelo no i são dados pelo conjunto abaixo {R = S Q i S P i }. Cada nó tem no máximo dois filhos (e i e d i ). Um elemento de P i é escolhido como pivô, x i. Os filhos são gerados como se segue: P ei = P di = P i {x i }, Q ei = Q i, Q di = Q i {x i }. 7. [default,pr:enum-perm]enumeração de permutações Enumere todas as permutações de (1, 2, 3,..., n). 8. [default,pr:enum-interv]enumeração de intervalos próprios Enumere todas as permutações de (( () )) - n abre parênteses e n fecha parênteses - de tal forma que em qualquer prefixo tenha um número de abre parênteses maior ou igual que o número de fecha parênteses. 9. [default,pr:enum-perm-bip-conexo]enumeração de permutações bipartidas conexas Uma permutação π de um conjunto X é uma sequência (π(1),..., π( X )). Dizemos que uma permutação π de {1,..., n} é conexa se a sequência (π(1), π(2),..., π(n)) não pode ser descrita como uma concatenação de uma permutação de {1,..., k} com uma permutação de {(k+1),..., n}, para algun 1 k < n. A permutação (3, 2, 4, 1, 6, 5) é desconexa, pois é uma concatenação de (3, 2, 4, 1) e (6, 5) que são, respectivamente, permutações de {1, 2, 3, 4} e {5, 6} (portanto k = 4). Já a permutação (3, 1, 5, 2, 6, 4) é conexa. Perceba que nenhum prefixo de tamanho k < 6 contém todos os números de 1 a k. 5
6 Dizemos que uma permutação π de {1,..., n} é bipartida se existe uma bipartição (X, Y ) de {1,..., n} de forma que os elementos de cada parte (X e Y ) aparecem na ordem natural, ou seja, se (i, j X ou i, j Y ) e i < j então π 1 (i) < π 1 (j). A permutação (2, 4, 1, 3, 5, 6) é bipartida, pois X = {1, 3, 6} e Y = {2, 4, 5} formam uma bipartição de {1,..., 6} como descrito acima. Enumere todas as permutações de (1, 2, 3,..., n) que são bipartidas conexas. 10. [default,pr:enum-subconj-tam-k]enumeração de subconjuntos de tamanho fixo Dado um conjunto X e um inteiro k, enumere todos os subconjuntos de X de tamanho k. Ou seja, ( ) X = {S X S = k}. k 11. [default,pr:arranjos-x-k]enumeração de arranjos Dado um conjunto X e um inteiro k, um arranjo de tamanho k de X é uma sequência de tamanho k com elementos de X sem repetição. Dado um conjunto X e um inteiro k, enumere todos os arranjos de tamanho k de X. 6
7 3 Backtracking 12. Clique; 13. Coloração; 14. [default,pr:setcover]cobertura por conjuntos Cobertura por conjuntos (setcover) Instância: Um conjunto de n subconjuntos do conjunto U = {1, 2,..., m}, A 1, A 2,..., A n. Um conjunto X {1, 2,..., n} tal que i X A(i) = U e X seja mínimo. 7
8 4 Algoritmos Gulosos 15. mochila (caso particular); 16. moedas (caso particular) - ainda moedas: porque e quando funciona; 17. intervalos sem intersecção; 18. bin packing; 19. Código de Huffmann; 8
9 5 Programação Dinâmica 20. Multiplicação de matrizes; 21. Moedas com quaisquer valores; 22. Distância de edição; 23. Mochila - O(nW ); 24. [default,pr:linearpartition]linear Partition Problem (Skiena - pp ) Integer Partition without Rearrangement (partition) Instância: An arrangement S of nonnegative numbers {s 1,..., s n } and an integer k. Partition S into k or fewer ranges, to minimize the maximum sum over all the ranges, without reordering any of the numbers. 25. [default,pr:somadiscreta]melhor sequência de decisões d 1, d 2,..., d n são decisões, ou seja, d i {p 1, p 2,..., p k }, para todo i {1, 2,..., n}. O objetivo final é M. Queremos que n i=1 d i seja o mais próximo de M possível, ou seja, que M n i=1 d i seja mínimo. 5.1 Outros problemas 26. Rolos de papel (bin packing unidiensional); 9
10 27. 8 Rainhas (e variações); 28. [default,pr:emparelhamento-minmax]emparelhamento de mínimo maior peso Emparelhamento de mínimo maior peso (emp-minmax) Instância: Dois conjuntos A e B, um conjunto de pares com um elemento de cada conjunto, R, e uma função w : R N. Subconjunto M R tal que max{w(e) e M} seja mínimo. 29. [default,pr:casamento-estavel]casamento Estável Casamento Estável (casamento) Instância: Dois conjuntos, A e B, tal que A = B = n, para cada elemento a A, uma função p a : {1,..., n} B e, para cada elemento b B, uma função p b : {1,..., n} A. Conjunto M A B tal que não [default,pr:conjuntos-consecutivos]ordenação de conjuntos consecutivos Dados n subconjuntos de um conjunto U, N 1, N 2,..., N n, encontre uma ordem (u 1, u 2,..., u m ) para os elementos de U de forma que, para 1 i n, os elementos de N i sejam consecutivos, caso seja possível. 31. [default,pr:sequenciamento]sequenciamento de texto Seja T uma sequência de dígitos decimais desconhecida. E sejam n subsequências de T, P 1, P 2,..., P n. Assumindo que as subsequências cobrem toda a sequência T e que existem intersecções entre subsequências consecutivas, reconstrua T, caso seja possível. Exemplo: P 1 =
11 P 2 = P 3 = Como P 1 4 P 3 (o final de P 1 e o início de P 3 coincidem em 4 dígitos), P 2 5 P 1 e P 3 1 P 1, temos T = pela concatenação P 2 P 1 P 3, já que a relação P 3 1 P 1 é fraca e pode ser descartada. 32. [default,pr:reducaotransitiva]redução Transitiva Redução transitiva (redtran) Instância: Uma ordem parcial (X, ). Uma relação binária (X, ) tal que o seu fecho transitivo seja igual a (X, ) e não exista outra relação binária menor com a mesma propriedade. 33. [default,pr:poset-to-sets]modelo de conjuntos para ordem parcial Modelo de conjuntos (modelconj) Instância: Uma ordem parcial (X, ). Um conjunto C de conjuntos tal que a ordem parcial (C, ) (ordem de inclusão de subconjuntos) seja isomorfa a ordem (X, ). 11
Tópicos em Algoritmos. André Guedes
Tópicos em Algoritmos André Guedes 31 de agosto de 2017 Sumário 1 Aulas 1 2 Introdução 2 3 Problemas Computacionais e Algoritmos 4 3.1 Definições............................. 4 3.2 Correção e eficiência.......................
Leia maisMATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47
1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado
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 maisAnálise Combinatória
Introdução Análise combinatória PROBLEMAS DE CONTAGEM Princípio Fundamental da Contagem Exemplo: Um número de telefone é uma seqüência de 8 dígitos, mas o primeiro dígito deve ser diferente de 0 ou 1.
Leia maisCONCEITOS BÁSICOS EM GRAFOS
Um grafo (simples) G é formado por um conjunto de vértices, denotado por V(G), e um conjunto de arestas, denotado por E(G). Cada aresta é um par (não ordenado) de vértices distintos. Se xy é uma aresta,
Leia maisTópico 5 Algoritmos de Ordenação. Parte II - métodos de ordenação: counting sort, radix sort e bucket sort.
Tópico 5 Algoritmos de Ordenação Parte II - métodos de ordenação: counting sort, radix sort e bucket sort. 1 Árvore de Decisão Todos os algoritmos descritos anteriormente utilizam comparações para determinar
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 maisInstituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem
Leia maisPrincípio da Multiplicação. > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 0/18
Conteúdo 1 Corretude de Algoritmos 2 Princípios de Contagem e Enumeração Computacional Princípio da Multiplicação > Corretude de Algoritmos Princípios de Contagem e Enumeração Computacional 0/18 Corretude
Leia maisAlgoritmos de Enumeração
Em muitos casos para fazer a simulação de um algoritmo é necessário testar-se com um conjunto exaustivo de dados, ou seja, gerar várias ou todas as sequências possíveis de dados e verificar o comportamento
Leia maisInstituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios
Instituto de Computação - Universidade Federal Fluminense Teoria dos Grafos - Lista de exercícios 1 Conceitos 1. Prove o Teorema da Amizade: em qualquer festa com pelo menos seis pessoas, ou três se conhecem
Leia maisEstrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 10: Introdução aos Grafos História O assunto que se constitui no marco inicial da teoria de grafos é na realidade um problema algorítmico.
Leia maisAlgoritmos Combinatórios: Sudoku via Backtracking e o Problema da Cobertura Exata
Algoritmos Combinatórios: Sudoku via Backtracking e o Problema da lucia@site.uottawa.ca UFSC, Fevereiro, 2010 Solução Sudoku O jogo/puzzle Sudoku consiste de uma matriz 9 9, dividida em 9 regiões, que
Leia maisProgramação de Computadores II TCC
Programação de Computadores II TCC-00.174 Profs.: Leandro A. F. Fernandes (Turma A1) & Marcos Lage (Turma B1) (Turma A1) www.ic.uff.br/~laffernandes (Turma B1) www.ic.uff.br/~mlage Conteúdo: Material elaborado
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 maisCIC 110 Análise e Projeto de Algoritmos I
CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Algoritmos Gulosos AULA 06 Algoritmos Gulosos Um algoritmo guloso constrói uma solução para
Leia mais3. Resolução de problemas por meio de busca
Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por
Leia maisMódulo de Matrizes e Sistemas Lineares. O Conceito de Matriz
Módulo de Matrizes e Sistemas Lineares O Conceito de Matriz Matrizes e Sistemas Lineares O Conceito de Matriz 1 Exercícios Introdutórios Exercício 1. Considere a matriz a) Determine a sua entrada a 23.
Leia mais> Princípios de Contagem e Enumeração Computacional 1/13
Princípios de Contagem e Enumeração Computacional > Princípios de Contagem e Enumeração Computacional 1/13 Objetivos Contar/listar o número de elementos de conjuntos finitos Aplicações > Princípios de
Leia maisDoutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo
Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grau de um Vértice O grau d G (v) do vértice v de G é o número de arestas incidentes a v, cada laço sendo contado duas
Leia maisESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.
ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron
Leia maisOtimizaçã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
Leia maisAlguns comentários. Segunda prova. Programação dinâmica em grafos. Guloso em grafos. Algoritmos p. 1
Alguns comentários Segunda prova Programação dinâmica em grafos Guloso em grafos Algoritmos p. 1 Problema dos intervalos disjuntos Problema: Dados intervalos [s[1],f[1]),...,[s[n],f[n]), encontrar coleção
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 maisUNIVERSIDADE 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
Leia maisAlgoritmos e Programação de Computadores
Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2013 Roteiro 1 Força Bruta 2 Backtracking 3 Branch and Bound Instituto de Computação (UNICAMP) MC102 Primeiro
Leia maisAnálise de algoritmos
Análise de algoritmos Ordenação em tempo linear Prof. Flávio Rogério Uber (UEM/DIN) Autor: Prof. Marco Aurélio Lopes Barbosa (UEM/DIN) Conteúdo Limites inferiores para ordenação por comparações Ordenação
Leia maisTeoria dos Grafos. Edson Prestes
Edson Prestes Grafos Enumeração de Passeios/Caminhos O processo associado à enumeração de caminhos de um grafo/dígrafo é semelhante ao processo de contagem com a diferença de que usaremos uma matriz de
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 + 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 +
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 maisTeoria dos Grafos. Edson Prestes
Edson Prestes Dígrafos Contagem de Caminhos/Passeios Considere o dígrafo abaixo e sua matriz de adjacência M Matriz de adjacência M Determine a quantidade de passeios de comprimento 1, 2, 3 e 4. Dígrafos
Leia maisAlgoritmos Combinatórios: Introdução
lucia@site.uottawa.ca 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?
Leia maisMatemática Computacional
folha de exercícios 5 :: página 1/5 exercício 5.1. Defina a função f : R R, f(x) = 4x 4 3x 3 + 2x 2 + x. Calcule f(0), f( 1), f(4/3) e f(2.88923). exercício 5.2. Defina a função g : R R R, g(x, y) = x
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.
Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos direcionados (Digrafos) Preparado a partir do texto:
Leia maisInstituto de Computação Universidade Federal Fluminense. Notas de Aula de Teoria dos Grafos. Prof. Fábio Protti Niterói, agosto de 2015.
Instituto de Computação Universidade Federal Fluminense Notas de Aula de Teoria dos Grafos Niterói, agosto de 2015. Conteúdo 1 Conceitos Básicos 5 1.1 Grafos, vértices, arestas..................... 5 1.2
Leia maisProjeto 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
Leia maisSubgrafos. Se G é um grafo e F A(G) então o subgrafo de G induzido (ou gerado) por F é o
Um grafo completo é um grafo simples em que quaisquer dois de seus vértices distintos são adjacentes. A menos de isomorfismo, existe um único grafo completo com n vértices; que é denotado por K n. O grafo
Leia maisColoração de intervalos
Coloração de intervalos Problema: Dados intervalos de tempo [s 1,f 1 ),...,[s n,f n ), encontrar uma coloração dos intervalos com o menor número possível de cores em que dois intervalos de mesma cor sempre
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 maisFormulaçã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
Leia maisUniversidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação. Combinatória
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Combinatória Tópicos Especiais em Programação Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com
Leia maisAula 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
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 maisProblema de Optimização. Metodologias de Apoio à Decisão 1. Slide 1
Metodologias de Apoio à Decisão Optimização Combinatória Slide Transparências de apoio à leccionação de aulas teóricas José Fernando Oliveira Maria Antónia Carravilla Problemas de Optimização Instância
Leia maisCapítulo 1. Introdução. 1.1 Grafos
Capítulo 1 Introdução Este capítulo formaliza o conceito de grafo e examina vários exemplos. Também faz uma breve lista de problemas célebres sobre grafos, alguns dos quais serão estudados no capítulo
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 05 Técnicas de Projeto de Algoritmos (Programação Dinâmica) Edirlei Soares de Lima Estratégias de Projeto de Algoritmos Força Bruta (Brute Force)
Leia maisResolução do EXAME da ÉPOCA de RECURSO
ESCOLA SUPERIOR DE TECNOLOGIA DE SETÚBAL DEPARTAMENTO DE MATEMÁTICA MATEMÁTICA DISCRETA Resolução do EXAME da ÉPOCA de RECURSO Curso: LEI o Semestre / Data: 8 de Julho de Duração: hm I Diga, justificando
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 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 maisCapítulo 1 Conceitos e Resultados Básicos
Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 1 Conceitos e Resultados Básicos Um grafo é um par ordenado (V, A), onde V e A são conjuntos disjuntos, e cada elemento
Leia maisDoutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA
Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo
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 27 Square root algorithms Combining algorithms Integer partitions Mo s algorithm Square
Leia maisAlgoritmos Greedy. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/ / 40
Algoritmos Greedy Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Algoritmos Greedy 2014/2015 1 / 40 Algoritmos Greedy Vamos falar de algoritmos greedy. Em português são conhecidos como: Algoritmos
Leia maisMAT 5798 Medida e Integração Exercícios de Revisão de Espaços Métricos
MAT 5798 Medida e Integração Exercícios de Revisão de Espaços Métricos Prof. Edson de Faria 30 de Março de 2014 Observação: O objetivo desta lista é motivar uma revisão dos conceitos e fatos básicos sobre
Leia maisAbordagens para Resolução de Problemas
Abordagens para Resolução de Problemas UDESC - Universidade do Estado de Santa Catarina Departamento de Ciência da Computação CAL - Complexidade de Algoritmos Teodoro Alberto Borges Junior Abordagens para
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 maisBCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1 Na aula anterior Prova 2 Na aula de hoje Técnicas básicas de contagem; Tentativa e Erro; Recursividade.
Leia maisEstrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc material de referência
Estrutura de Dados Árvores Prof. Tiago Eugenio de Melo, MSc tiago@comunidadesol.org material de referência http://www.tiagodemelo.info/aulas 1 Roteiro Motivação Representação de árvores Definição Terminologia
Leia maisFábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ
Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ Suponha que temos um grupo de pessoas (funcionário de uma empresa) que serão submetidos a um treinamento. Queremos identificar os grupos de
Leia maisExercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
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 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 maisTeoria dos Grafos. Edson Prestes
Edson Prestes Árvores Sabemos que com um ou dois vértices apenas uma árvore pode ser formada. Entretanto com três vértices podemos formar três árvores. Com quatro vértices temos quatro estrelas e doze
Leia maisRaiz, filho, pai, irmão, ancestral, descendente, folha.
17.1 Aula 17: Conceitos de Árvores e Árvores Binárias Raiz, ilho, pai, irmão, ancestral, descendente, olha. Nível, altura, subárvore, subárvore parcial. Árvores binárias completas, binárias cheias, estritamente
Leia maisLimite assintótico para a ordenação, Ordenação em tempo linear
Algoritmos e Estruturas de Dados I Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2017 1 Ordenação Ordenar corresponde ao processo
Leia maisUniversidade Federal de Mato Grosso do Sul. Lista de Exercícios 2
Universidade Federal de Mato Grosso do Sul Facom - Faculdade de Computação Programação de Computadores I - Engenharia Ambiental Lista de Exercícios 2 Exercícios usando if 1. Escreva um programa que leia
Leia maisIntrodução a Grafos Letícia Rodrigues Bueno
Introdução a Grafos Letícia Rodrigues Bueno UFABC Teoria dos Grafos - Motivação Objetivo: aprender a resolver problemas; Como: usando grafos para modelar os problemas; Grafos: ferramenta fundamental de
Leia maisCI065 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
Leia maisProjeto e Análise de Algoritmos. Prof. Ruy Luiz Milidiú
Projeto e Análise de Algoritmos Prof. Introdução 2 www.inf.puc-rio.br/~milidiu/inf2926 3 Resumo Objetivo Apresentar o enfoque adotado no curso para capacitação em Projeto e Análise de Algoritmos Sumário
Leia mais15 - 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
Leia maisClasses, Herança e Interfaces
Escola de Artes, Ciências e Humanidades EACH-USP ACH2002 Introdução à Ciência da Computação II Professor: Delano Medeiros Beder revisada pelo professor: Luciano Digiampietri EACH Segundo Semestre de 2011
Leia maisÁrvores: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Leia maisDoutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA
Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo
Leia maisTeoria dos Grafos. Edson Prestes
Edson Prestes Introdução Representação Mostre que todo passeio de u até v contém um caminho de u até v. Considere um passeio de comprimento l de u até v. Se l = 0 então temos um passeio sem nenhuma aresta.
Leia maisDisciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa
Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Aula -Grafos Uma figura vale por mil palavras A representação de dados e ou informações utilizando de recursos visuais é, em muitos casos,
Leia mais2 Erro comum da indução. 3 Corretude de Algoritmos. > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17
Conteúdo 1 Indução Forte X Indução Fraca 2 Erro comum da indução 3 Corretude de Algoritmos > Indução Forte X Indução Fraca Erro comum da indução Corretude de Algoritmos 0/17 Indução Forte X Indução Fraca
Leia mais> Princípios de Contagem e Enumeração Computacional 0/19
Conteúdo 1 Princípios de Contagem e Enumeração Computacional Permutações Combinações > Princípios de Contagem e Enumeração Computacional 0/19 Permutações Utilizamos P(n, r) para denotar o número de sequências
Leia maisAlgoritmos e Lógica de Programação. 6ª Lista de Exercícios Comandos de Repetição
Algoritmos e Lógica de Programação 6ª Lista de Exercícios Comandos de Repetição 1. Qual a saída do programa abaixo? int i; for (i = 0; i < 10; i += 2) printf("%d\n", i / 2); 2. Qual a saída do programa
Leia maisExercícios: Alg Gulosos. Eduardo Laber
Exercícios: Alg Gulosos Eduardo Laber Cap 4-Exercício 2 a) Verdadeiro, já que trocando cada elemento pelo seu quadrado não altera a ordem das arestas. Portanto, o algoritmo de Kruskal constrói a mesma
Leia maisOrdenação em Tempo Linear. Leitura: Cormen Capítulo 8
Ordenação em Tempo Linear Leitura: Cormen Capítulo 8 Revisão Insertion sort: Vantagens Fácil de implementar Rápido em entradas com menos de 50 elementos. Rápido em entradas aproximadamente ordenadas. Desvantagens
Leia maisConteúdo. Conceitos e Resultados Gerais. 11 Combinatória. Introdução
Introdução ix I Conceitos e Resultados Gerais 1 1 Linguagem Matemática e Lógica Informal 1.1 Sistemas matemáticos.. 1.2 Noção de conjunto... 1.3 Linguagem proposicional.. 1.4 Operações sobre conjuntos.
Leia maisESTRUTURAS DE REPETIÇÃO - PARTE 1
AULA 15 ESTRUTURAS DE REPETIÇÃO - PARTE 1 15.1 O comando enquanto-faca- Considere o problema de escrever um algoritmo para ler um número inteiro positivo, n, e escrever todos os números inteiros de 1 a
Leia maisAlgoritmos Tentativa e Erro (Backtracking) Prof.: Jonas Potros
1 Algoritmos Tentativa e Erro (Backtracking) Prof.: Jonas Potros Tentativa e Erro 2 Tentativa e erro: decompor o processo em um número finito de subtarefas parciais que devem ser exploradas exaustivamente.
Leia maisTeoria 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 antunes@ibilce.unesp.br, socorro@ibilce.unesp.br, saraujo@ibilce.unesp.br Coloração de
Leia maisConceito Básicos da Teoria de Grafos
1 Conceito Básicos da Teoria de Grafos GRAFO Um grafo G(V,A) é definido pelo par de conjuntos V e A, onde: V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a=(v,w),
Leia maisProgramação dinâmica
Programação dinâmica CLRS 15.2 15.3 = recursão com tabela = transformação inteligente de recursão em iteração Algoritmos p. 1 Multiplicação iterada de matrizes Se A é p q e B é q r então AB é p r. (AB)[i,j]
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 maisAnálise de Algoritmos
Análise de Algoritmos Parte destes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1/36 Complexidade computacional Classifica os problemas em relação
Leia maisBCC 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 - 2012/02 Anderson Almeida Ferreira BCC 241/2012-2 2 Objetivos do curso Dados dois algoritmos, compará-los quanto
Leia maisINF01056 Aula 07/08 Backtracking. Baseado no livro Programming Challenges
INF01056 Aula 07/08 Backtracking Baseado no livro Programming Challenges 1 Backtracking Busca sistemática de todas as possíveis soluções Garante que a solução será encontrada, ao enumerar todas as possibilidades
Leia maisRecursividade, Tentativa e Erro
Recursividade, Tentativa e Erro Túlio Toffolo www.toffolo.com.br Marco Antônio Carvalho marco.opt@gmail.com BCC402 Aula 07 Algoritmos e Programação Avançada Na aula anterior Prova 2 Na aula de hoje Técnicas
Leia maisPROGRAMAÇÃO DINÂMICA
PROGRAMAÇÃO DINÂMICA Programação dinâmica é tipicamente aplicada para problemas de otimização. O desenvolvimento de um algoritmo de programação dinâmica pode ser divido em 4 etapas. Caracterizar uma soluçã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 maisTeoria dos Grafos Aula 17
Teoria dos Grafos Aula 17 Aula passada Problema da soma do subconjunto (subset sum) Programação dinâmica Problema da mochila Aula de hoje Alinhamento de sequências Programação dinâmica Caminho mais curto
Leia maisComplexidade computacional
Complexidade computacional Classifica os problemas em relação à dificuldade de resolvê-los algoritmicamente. CLR 36 ou CLRS 34 Algoritmos p. 1 Palavras Para resolver um problema usando um computador é
Leia maisCap. 2 Conceitos Básicos em Teoria dos Grafos
Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os
Leia maisUniversidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula
Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula Tópicos Introdução Ordenação por bolha (bubble sort)
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 Abordagens para Resolução de Problemas
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 mais