Técnicas de Desenho de Algoritmos
|
|
- Luana Guimarães Penha
- 6 Há anos
- Visualizações:
Transcrição
1 Técnicas de Desenho de Algoritmos Mudança de ênfase: da implementação de algoritmos para o desenho de algoritmos A ver: 5 tipos de algoritmos abordagem ao problema exemplos complexidade em tempo e espaço Referências: Mark Allen Weiss. Data Structures & Algorithm Analysis in Java. Addison- Wesley, Robert Sedgewick. Algorithms in C++. Addison-Wesley, Steven S. Skiena. The Algorithm Design Manual. Springer Algoritmos Gananciosos Exemplos Anteriores: Dijkstra, Prim, Kruskal Cada fase do algoritmo: decisão baseada no ganho imediato consequências futuras não consideradas Algoritmo atinge óptimos locais se é óptimo global, é solução se não, pode servir para obter aproximação Exemplo de problema que resolve bem: fazer trocos, minimizando número de notas e moedas estratégia: dar repetidamente a maior unidade possível Exemplo de problema que não resolve bem: caminho mais rápido usando estratégia da melhor aresta adjacente
2 Problema de escalonamento Dados: tarefas e tempos Objectivo: minimizar tempo médio de terminação Tarefa Tempo j 1 15 j 2 8 j 3 3 Tempo médio: 25 j1 j2 j3 j Tempo médio: j 4 10 j3 j2 j4 j Escalonamento 2ª solução é óptima Porquê: tarefas mais curtas primeiro Tarefas: j i1, j i2,..., j in Terminações: ti1, ti1+ti2,... Custo total da solução: n n n (n - k +1) t = (n+1) t k t ik ik ik k = 1 k =1 k = 1 Se existe x>y tal que t ix < t iy : troca de j ix e j iy diminui custo
3 Escalonamento multiprocessador Exemplo com 3 processadores Tarefa Tempo j1 j2 j3 j4 j5 j6 j7 j8 j Total de tempos: 165 Tempo médio: j1 j2 j3 j4 j5 j6 j j8 j9 Solução óptima não é única Para cada i, o i < n/p as tarefas j ip+1 a j (i+1)p são alocadas a processadores diferentes j1 j5 j9 j2 j4 j7 j3 j6 j
4 Minimizar tempo de completação Tempo a minimizar é o da última tarefa a terminar j2 j5 j8 j6 j9 j1 j3 j4 j Este problema é variante do empacotamento, logo NP-completo! Empacotamento Dados: n items, tamanhos s1, s2,..., sn (0 < si 1) Pretende-se: arrumá-los em caixas de capacidade 1, minimizando o nº de caixas Exemplo: items com tamanhos 0.2,, 0.4, 0.7, 0.1, 0.3, C1 C2 C3 Esta é solução óptima: encontrá-la é problema NP-completo
5 Empacotamento on-line Será que pode encontrar a solução óptima? Sequência de entrada I1: m items de tamanho 1/2 - δ m items de tamanho 1/2 + δ 0 < δ < 0.01 Podem ser colocados em m caixas (solução óptima) Supondo Algoritmo óptimo A, encontra esta solução Que faz A se a sequência de entrada fôr I2: m items de tamanho 1/2 - δ I2 pode ser colocada em [m/2] caixas; mas A deve colocá-lo em m caixas, para dar a solução óptima a I1 Então A não obtém a solução óptima para I2 Limites para o empacotamento on-line Teorema: Há sequências de entrada que forçam um algoritmo de empacotamento on-line a usar pelo menos 4/3 do número óptimo de caixas Prova: m é par, Algoritmo A corre sobre I1 Depois de processar o m-ésimo item, A usou C caixas O nº óptimo neste ponto é m/2, então 2C/m < 4/3, ou seja C/m < 2/3 Depois de processar todos os items, todas as caixas após a número C contêm apenas 1 item; as C caixas iniciais: máximo 2 items restantes: máximo 1 item 2m items requerem mínimo de 2m-C caixas, o óptimo usa m Então deverá ser 2m-C)/m < 4/3, ou seja C/m > 2/3
6 Cada item é colocado: Na mesma caixa do anterior, se couber Se não, em nova caixa Simples, e tempo linear No exemplo: Estratégia next fit Limites Teorema: Seja m o número óptimo de caixas para uma lista I de items. A estratégia next fit nunca usa mais que 2m caixas. Há sequências que requerem 2m-2 caixas. Prova: Para duas caixas adjacentes Cj e Cj+1: a soma dos tamanhos dos items é maior que 1, senão eles teriam sido colocados em apenas 1 caixa; então no máximo metade do espaço é desperdiçado. Limite é apertado: n items, tamanho para os de ordem ímpar e para os de ordem par n divisível por 4 Empacotamento óptimo: n/4 caixas com 2 elementos de cada, 1 caixa para restantes Total n/4 +1 caixas
7 Solução next fit Exemplo desfavorável... C1 C2 Cn/2 Solução óptima C1 C2 Cn/4 Cn/4+1 Cada item é colocado: Estratégia first fit Na primeira caixa com espaço para ele, procurando por ordem, se existir Se não, em nova caixa Com pesquisa eficiente, pode correr em O(n log n) No exemplo:
8 Eficiência de first fit Em cada momento: no máximo 1 caixa está mais de 1/2 vazia; solução tem no máximo o dobro do óptimo Teorema: Seja m o número óptimo de caixas para uma lista I de items. A estratégia first fit nunca usa mais que 17/10 m caixas. Há sequências que obrigam a usar 17/10 (m-1) Exemplo: sequência é 6m items de tamanho 6m items de tamanho 1/3 + δ 6m items de tamanho 1/2 + δ Óptimo usa 6m caixas mas first fit precisa de 10m caixas. Exemplo desfavorável 1/3 + δ 1/3 + δ 1/2 + δ C1 a Cm Cm+1 a C4m C4m+1 a C10m Resultados médios: com número grande de items com tamanhos uniformemente distribuídos entre 0 e 1 usa número de caixas superior em 2% ao óptimo
9 Cada item é colocado: Estratégia best fit No lugar livre com tamanho mais próximo do seu, se existir Se não, em nova caixa Nunca pior que 1.7 vezes o óptimo, mas próximo disto nos piores casos No exemplo: Algoritmos off line Podem encontrar óptimo: no limite por busca exaustiva Problema nos on line : os items grandes Como fazer: ordenar os items e depois aplicar first fit ou best fit resulta first fit decreasing ou best fit decreasing Eficiência: sendo empacotamento óptimo com m caixas: first fit decreasing e best fit decreasing não usam mais de 11/9 m +4 podem ter de usar 11/9 m
Técnicas de Desenho de Algoritmos
Técnicas de Desenho de Algoritmos Mudança de ênfase: da implementação de algoritmos para o desenho de algoritmos A ver: 5 tipos de algoritmos abordagem ao problema exemplos complexidade em tempo e espaço
Leia maisTécnicas de Desenho de Algoritmos
Técnicas de Desenho de Algoritmos Mudança de ênfase: da implementação de algoritmos para o desenho de algoritmos A ver: 5 tipos de algoritmos abordagem ao problema exemplos complexidade em tempo e espaço
Leia maisCAL ( ) MIEIC/FEUP Técnicas de Concepção de Algoritmos, CAL MIEIC/FEUP, Fev. de Técnicas de Concepção de Algoritmos. .
1 Técnicas de Concepção de Algoritmos (1ª parte): algoritmos gananciosos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro de 2011 2 Algoritmos gananciosos (greedy
Leia maisDivisão-e-Conquista ( ) CAL ( ) MIEIC/FEUP. ./rr (1) Técnicas de Concepção de Algoritmos
1 Técnicas de Concepção de Algoritmos (1ª parte): divisão e conquista R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro de 2011 2 Divisão e Conquista (divide and
Leia maisCAL ( ) - MIEIC/FEUP Programação Dinâmica ( )
AL (-) - MIEI/FEUP Programação Dinâmica (--4) Técnicas de oncepção de Algoritmos (ª parte): programação dinâmica R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes AL, MIEI, FEUP Fevereiro de
Leia maisTecnicas 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
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos! Uma característica importante de qualquer algoritmo é seu tempo de execução! é possível determiná-lo através de métodos empíricos, considerando-se entradas diversas! é também
Leia maisAlgoritmos e Estruturas de Dados II LEIC
Algoritmos e Estruturas de Dados II Licenciatura em Engenharia Informática e Computação www.fe.up.pt/ rcamacho/cadeiras/aed2 LIACC/FEUP Universidade do Porto rcamacho@fe.up.pt Fevereiro 2005 Conteúdo da
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC052 PERÍODO:
Leia mais04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II
04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.
Leia maisBacktracking( ) CAL ( ) MIEIC/FEUP. ./rr(1) Técnicas de Concepção de Algoritmos
CAL (1-11) MIEIC/FEUP Backtracking(11--) 1 Técnicas de Concepção de Algoritmos (1ª parte): algoritmos de retrocesso R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro
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 maisHASHING HASHING 6/10/2008
Hashing é uma técnica que busca realizar as operações de inserção, remoção e busca em tempo constante. Motivação - Acesso Direto: Suponha que existam n chaves a serem armazenadas em uma tabela T, seqüencial
Leia maisDivisão e conquista. Há divisão quando o algoritmo tem pelo menos 2 chamadas recursivas no corpo
Divisão e conquista Divisão: resolver recursivamente problemas mais pequenos (até caso base) Conquista: solução do problema original é formada com as soluções dos subproblemas á divisão quando o algoritmo
Leia maisCAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)
1 Algoritmos em Grafos: Introdução R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Março de 2011 Índice 2 Revisão de conceitos e definições Exemplificar aplicações Representação
Leia maisProjeto 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
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 maisMA21: Resolução de Problemas - gabarito da primeira prova
MA21: Resolução de Problemas - gabarito da primeira prova Problema 1 (2 pontos) Prove que a maior área dentre todos os retângulos de perímetro 1 é atingida por um quadrado. Dificuldade: MUITO FÁCIL Sejam
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 maisCiclos 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.
Leia maisCapítulo 2- Modelos de grafos.
Capítulo 2- Modelos de grafos. 2.1- Introdução (pág. 8) [Vídeo 24] Grafo- é um esquema constituído por pontos (ou vértices) e por segmentos (ou arestas). (8) Exemplo 1(pág.8) Um grafo diz-se conexo se
Leia maisMatemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17)
Matemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17) Professor: Pedro Nóia Livro adotado: Matemática Aplicada às Ciências Sociais- 11º ano Elisabete Longo e Isabel
Leia maisPLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GBC052 PERÍODO:
Leia maisTeoria e Algoritmos em Grafos
Teoria e Algoritmos em Grafos 2018.2 Conjunto Independente Conjuntos Independentes são subconjuntos de vértices de um grafo no qual nenhum vértice é adjacente entre si. Conjunto Independente Conjuntos
Leia maisCritérios de Divisibilidade
Critérios de Divisibilidade Divisibilidade por 2: Um número natural n é divisível por 2 se, e somente se, terminar em 0, ou 2, ou 4, ou 6, ou 8. 15638748 é divisível por 2, pois termina em 8. 6749029876539871375986
Leia maisAlgoritmos de aproximação para o problema de empacotamento em faixa
Algoritmos de aproximação para o problema de empacotamento em faixa Gabriel Perri Gimenes Marcos Okamura Rodrigues Milene Alves Garcia ICMC-USP 26 de novembro de 2015 Grupo 1 (ICMC-USP) Problema de empacotamento
Leia maisDivisão e conquista. Eficiência de divisão e conquista
Divisão e conquista Divisão: resolver recursivamente problemas mais pequenos (até caso base) Conquista: solução do problema original é formada com as soluções dos subproblemas á divisão quando o algoritmo
Leia maisLista 1 - PMR2300. Fabio G. Cozman 3 de abril de 2013
Lista 1 - PMR2300 Fabio G. Cozman 3 de abril de 2013 1. Qual String é impressa pelo programa: p u b l i c c l a s s What { p u b l i c s t a t i c void f ( i n t x ) { x = 2 ; p u b l i c s t a t i c void
Leia maisx y Grafo Euleriano Figura 1
Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém
Leia maisEstrutura de Dados e Algoritmos
Mestrado Integrado em Engenharia Biomédica http://www.fe.up.pt/ rcamacho/cadeiras/eda FEUP Universidade do Porto rcamacho@fe.up.pt 14 de Setembro de 2009 Objectivos da disciplina A disciplina tem por
Leia maisCaminho mais curto. 1 - Caminho não pesado
Caminho mais curto Dado um grafo pesado G = (V, E) e um vértice s, obter o caminho pesado mais curto de s para cada um dos outros vértices em G Exemplo: rede de computadores, com custo de comunicação e
Leia maisAlgoritmos de ordenação: Bucketsort, Radixsort e Seleção
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Algoritmos de ordenação: Bucketsort, Radixsort e Seleção Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/
Leia maisALGORITMOS DE ORDENAÇÃO
ALGORITMOS DE ORDENAÇÃO Prof. André Backes Conceitos básicos 2 Ordenação Ato de colocar um conjunto de dados em uma determinada ordem predefinida Fora de ordem 5, 2, 1, 3, 4 Ordenado 1, 2, 3, 4, 5 OU 5,
Leia maisAlgoritmos de Aproximação Segundo Semestre de 2012
Algoritmos de Aproximação Segundo Semestre de 2012 Aproximação p. 1 Bin Packing Dados: n itens ([n] = {1,...,n}) Dados: comprimento a[i] do item i (i = 1,...,n) Aproximação p. 2 Bin Packing Dados: n itens
Leia maisDivisão e Conquista. Fernando Lobo. Algoritmos e Estrutura de Dados II. É uma técnica para resolver problemas (veremos outras técnicas mais adiante).
Divisão e Conquista Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 27 Divisão e Conquista É uma técnica para resolver problemas (veremos outras técnicas mais adiante). Consiste em 3 passos: Dividir
Leia maisAlgoritmos de ordenação: Inserção e Shellsort
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Algoritmos de ordenação: Inserção e Shellsort Algoritmos e Estruturas de Dados I Slides adaptados dos slides do livro texto (Ziviani) e dos slides
Leia maisToward an Architecture-Independent Analysis of Parallel Algorithms
1/22 Introdução O algoritmo de aproximação Aplicações em Problemas Concretos Problemas Abertos Referências Toward an Architecture-Independent Analysis of Parallel Algorithms Mijail Gamarra Holguin 18 de
Leia maisAna Paula Rocha José Magalhães Cruz Rui Camacho. 26 de Fevereiro de 2009
Programação 2 Mestrado Integrado em Engenharia Electrotécnica e de Computadores Ana Paula Rocha José Magalhães Cruz Rui Camacho {arocha,jmcruz,rcamacho}@fe.up.pt FEUP Universidade do Porto 26 de Fevereiro
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 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 maisAlgoritmos e Estruturas de Dados II
Algoritmos e Estruturas de Dados II Grafos VI: Grafos Ponderados & Caminhos Mínimos (Bellman-Ford) Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis
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 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 maisEstruturas de Dados. Grafos VIII: Árvores Geradoras Mínimas. Prof. Ricardo J. G. B. Campello
Estruturas de Dados Grafos VIII: Árvores Geradoras Mínimas Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww.datastructures.net
Leia maisMétodo Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo
Notas de aula da disciplina IME - ALGORITMOS E ESTRUTURAS DE DADOS II Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) Troco mínimo Dados os tipos de moedas de um país, determinar o número mínimo
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 7 de outubro de 2016 Marco Antonio
Leia maisTeoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)
Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q
Leia maisAlgoritmos 3/17/ Algoritmos como área de estudo e investigação
Algoritmos e Complexidade Ana Teresa Freitas INESC-ID/IST ID/IST 3/17/2005 1 O que é um algoritmo? Algoritmos: Sequência de instruções necessárias para a resolução de um problema bem formulado [passíveis
Leia maisNem todos os problemas algorítmicos que podem ser resolvidos em princípio podem ser resolvidos na prática: os recursos computacionais requeridos
Nem todos os problemas algorítmicos que podem ser resolvidos em princípio podem ser resolvidos na prática: os recursos computacionais requeridos (tempo ou espaço) podem ser proibitivos. 1 Suponha que duas
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 10 Métodos de Ordenação de Complexidade Linear Edirlei Soares de Lima Ordenação Problema: Entrada: conjunto de itens a 1, a 2,..., a n ; Saída:
Leia maisRedes. ADSA António Câmara
Redes ADSA António Câmara Redes Método do caminho mais curto Localização de equipamentos Minimum spanning tree Carteiro chinês Caixeiro viajante Links Redes Redes são sistemas de linhas (arcos) ligando
Leia maisEstrututas de Dados e Algoritmos. Estrutura de Dados e Algoritmos
Estruturas de Dados e Algoritmos Algoritmos conceitos básicos Algoritmo: Sequência de passos simples, claramente especificada, para resolver um determinado problema. Uma receita. Problemas e Algoritmos
Leia maisProva Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem
Leia mais5COP096 TeoriadaComputação
Sylvio 1 Barbon Jr barbon@uel.br 5COP096 TeoriadaComputação Aula 12 Prof. Dr. Sylvio Barbon Junior Sumário - Árvore Geradora Mínima - Teorema pare reconhecer arestas seguras; - Algoritmo de Prim; - Algoritmo
Leia maisProjeto e Análise de Algoritmos
Projeto e Algoritmos Pontifícia Universidade Católica de Minas Gerais harison@pucpcaldas.br 26 de Maio de 2017 Sumário A complexidade no desempenho de Quando utilizamos uma máquina boa, ela tende a ter
Leia maisExercícios Obrigatórios
Exercícios Obrigatórios 1) (UFRGS/2015) Para fazer a aposta mínima na mega sena uma pessoa deve escolher 6 números diferentes em um cartão de apostas que contém os números de 1 a 60. Uma pessoa escolheu
Leia maisAlgoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira
Algoritmos e Estrutura de Dados Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira Ementa e Objetivos Ementa: Análise de Algoritmos: Notação O e Análise Assintótica.
Leia maisPrograma Analítico de Disciplina INF333 Programação Competitiva
0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 2 2 Períodos
Leia maisGrafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32
Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).
Leia mais03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II
03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir
Leia maisTécnicas de análise de algoritmos
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Técnicas de análise de algoritmos Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br
Leia maisESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018
ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018 Página da Disciplina http://www.di.ubi.pt/~hugomcp/estruturas Conteúdo: Avaliação.
Leia maisProva 1 PMR2300 / PMR3201 1o. semestre 2015 Prof. Thiago Martins
Prova 1 PMR2300 / PMR3201 1o. semestre 2015 Prof. Thiago Martins Instruções: Escreva o nome e o número USP na folha de papel almaço. Indique na linha seguinte quatro das cinco questões abaixo que devem
Leia maisÁrvores de Suporte de Custo Mínimo
Árvores de Suporte de Custo Mínimo Pedro Ribeiro DCC/FCUP 2016/2017 Pedro Ribeiro (DCC/FCUP) Árvores de Suporte de Custo Mínimo 2016/2017 1 / 28 Árvore de Suporte Uma árvore de suporte ou árvore de extensão
Leia maisAnálise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
Leia maisOtimizaçã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).
Leia maisOtimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias
Leia maisCAL - Concepção e Análise de Algoritmos
3ª Aula Prática Divisão e Conquista Instruções Faça download do ficheiro cal20102011_fp03.zip da página da disciplina e descomprima-o (contém os ficheiros Test.cpp, Ponto.h, Ponto.cpp, UtilFunctions.cpp
Leia maisIndução Matemática. George Darmiton da Cunha Cavalcanti CIn - UFPE
Indução Matemática George Darmiton da Cunha Cavalcanti CIn - UFPE Introdução Qual é a fórmula para a soma dos primeiros n inteiros ímpares positivos? Observando os resultados para um n pequeno, encontra-se
Leia maisEstrutura de Dados II
Estrutura de Dados II Apresentação Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Ementa Proporcionar ao aluno conhecimento teórico e prático para seleção, construção e manipulação
Leia maisOptimização em Redes e Não Linear
Departamento de Matemática da Universidade de Aveiro Optimização em Redes e Não Linear Ano Lectivo 005/006, o semestre Folha - Optimização em Redes - Árvores de Suporte. Suponha que uma dada companhia
Leia maisAnálise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15
Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos
Leia maisTeorema Chinês dos Restos. Tópicos Adicionais
Teorema Chinês dos Restos Teorema Chinês dos Restos Tópicos Adicionais Tópicos Adicionais Teorema Chinês dos Restos 1 Exercícios Introdutórios Exercício 1. Para cada um dos itens abaixo, encontre o menor
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 Um pouco de Teoria dos Números
Leia maisAlgoritmos e Estruturas de Dados
Algoritmos e Estruturas de Dados Ano Lectivo 2009/10 Margarida Mamede DI FCT/UNL Capítulo I Apresentação e Avaliação Margarida Mamede, DI FCT/UNL AED, 2009/10, Capítulo I 1 Enquadramento na LEI IP Introdução
Leia maisHASHING Hashing Motivação - Acesso Direto:
Hashing é uma técnica que busca realizar as operações de inserção, remoção e busca em tempo constante. Motivação - Acesso Direto: Suponha que existam n chaves a serem armazenadas em uma tabela T, seqüencial
Leia maisProjeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4)
1 Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (DPV 5; CLRS 4) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material de Andréa Iabrudi Tavares BCC241/2012-2 3 Comparação
Leia maisTeoria dos Grafos Aula 14
Teoria dos Grafos Aula 14 Aula passada MST Aula de hoje Construção de algoritmos Paradigma guloso Escalonando tarefas no tempo (interval scheduling) Projetando Algoritmos Dado um problema P, como projetar
Leia maisAED Algoritmos e Estruturas de Dados LEE /2004
AED Algoritmos e Estruturas de Dados LEE - 2003/2004 http://web.tagus.ist.utl.pt/~ana.freitas/aed Algoritmos e Estruturas de Dados Disciplina de base da área científica de Metodologia e Tecnologia da Programação
Leia maisEstruturas de Dados 2
Estruturas de Dados 2 Algoritmos de Ordenação em Tempo Linear IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/38 Algoritmos de Ordenação em Tempo Linear Limite Assintótico
Leia maisUniversidade Tecnológica Federal do Paraná
Cálculo Numérico - Zeros de Funções Prof a Dr a Diane Rizzotto Rossetto Universidade Tecnológica Federal do Paraná 13 de março de 2016 D.R.Rossetto Zeros de Funções 1/81 Problema Velocidade do pára-quedista
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 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 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 maisTécnicas de Concepção de Algoritmos: Branch and Bound
Técnicas de Concepção de Algoritmos: R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CAL, 2010/2011 1 O que é? BB ou B&B é uma técnica de concepção de algoritmos genérica para
Leia maisExecutivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução
Sistemas de Tempo Real: Executivo Cíclico Rômulo Silva de Oliveira Departamento de Automação e Sistemas - DAS UFSC romulo.deoliveira@ufsc.br http://www.romulosilvadeoliveira.eng.br Setembro/201 1 Também
Leia maisXXVII Olimpíada Brasileira de Matemática GABARITO Segunda Fase
Soluções Nível 1 Segunda Fase Parte A XXVII Olimpíada Brasileira de Matemática GABARITO Segunda Fase CRITÉRIO DE CORREÇÃO: PARTE A Cada questão vale pontos se, e somente se, para cada uma o resultado escrito
Leia maisAlgoritmos de ordenação em forma paralela.
ISUTIC 2017 Algoritmos de ordenação em forma paralela. Docente: MSc. Angel Alberto Vazquez Sánchez Bibliografía A. Grama, Introduction to parallel computing. Pearson Education, 2003. I. Foster, Designing
Leia maisEstruturas Discretas
Estruturas Discretas 2017.2 Marco Molinaro > Conceitos Básicos Quantificadores Exercícios 1/27 Conteúdo 1 Conceitos Básicos Teorema Lema e Corolário Proposição Axiomas e Definições 2 Quantificadores 3
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 Funções de Complexidade Considere
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 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 maisTEORIA: 60 LABORATÓRIO: 0
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA: BC1435 - Análise de Algoritmos
Leia maisÁrvore Geradora Mínima
GRAFOS ÁRVORE GERADORA MÍNIMA Prof. André Backes Árvore Geradora Mínima Definição Uma árvore geradora (do inglês, spanning tree) é um subgrafo que contenha todos os vértices do grafo original e um conjunto
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 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 maisAlgoritmos de Ordenação: MergeSort
Algoritmos de Ordenação: MergeSort ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material
Leia maisAnálise Amortizada de Complexidade
Análise Amortizada de Complexidade Algoritmos e Complexidade LEI-LCC 2010-2011 MBB Novembro de 2010 Introdução Pretende analizar-se uma sequência de operações sobre uma estrutura de dados. Este é, geralmente
Leia mais