Teoria dos Grafos Aula 17
|
|
- Brian Almeida
- 4 Há anos
- Visualizações:
Transcrição
1 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 (abordagem via grafos)
2 Sugestões do Google Como o Google faz isto? realmente sabia o que eu procurava? por que não sugeriu esperando ou expansão?
3 Medindo Similaridade Problema: medir semelhança entre duas palavras Idéia: quantidade de modificações para transformar uma palavra em outra mais modificações, maior diferença Ex. exparansa e esperado exparansa esperado- 5 operações Operações de substituição e adição ou remoção (gap)
4 Medindo Similaridade Generalização: operações podem ter custos diferentes ex. adição é mais caro do que substituição Custo depende da substituição ex. trocar vogal por consoante é mais caro do que vogal por vogal De forma geral, para cada par de letras p, q pq = custo de substituir p por q = custo do gap (remoção/adição)
5 Exemplo pq = 1 : quando p, q são vogais pq = 2 : caso contrario = 3 exparansa exparansa exparansa Custo? = 10 esperado- expansão- Custo? = 11 esperança Custo? = 5 Google sugere palavra de menor custo (maior similaridade) Menor custo depende dos pesos
6 Alinhamento de Palavras Problema: Determinar menor custo entre duas palavras muitas maneiras de transformar uma palavra na outra Ex. exparansa e expansão exparansa Custo? = 11 expansão- exparansaexpan--são Custo? = 12 Problema do alinhamento entre palavras
7 Genoma: Código da Vida Genoma: conjunto de moléculas do DNA de um organismo (gens ou cromossomos) DNA: longa sequência de apenas 4 substâncias (A,C,G,T) humano: 6 bilhões, ao todo Subsequências (gigantes) determinam funcionalidade ex. resistência a uma determinada toxina, controle do metabolismo, etc.
8 Alinhamento de DNA Objetivo: Identificar gens (parte da sequência do DNA) que são similares entre indivíduos, entre espécies, etc. Problema: Medir similaridade entre os gens Problema importante e atual da área de Biologia Computacional de grande interesse na biologia molecular
9 Alinhamento de DNA Medir similaridade entre longas sequências custo de transformação das sequências Ex. similaridade entre as sequências ACCCAACCCCAAC e ACACAAACCCCCAC ACCCAACCCCAAC- ACCCAA--CCCCAAC ACACAAACCCCCAC ACACAAACCCCCA-C Problema: Encontrar transformação de menor custo (definição de similaridade)
10 Emparelhamento Considere duas sequências (de tamanho m e n) X = x 1 x 2... x m Y = y 1 y 2... y n Emparelhamento M: conjunto de pares ordenados (i, j) tal que cada elemento i ou j ocorre em no máximo 1 par Exemplo x 1 x 2 x 3 x 4 x 5 M = {(1, 1), (2, 4), (3, 2), (5, 6)} y 1 y 2 y 3 y 4 y 5 y 6
11 Alinhamento Considere duas sequências (de tamanho m e n) X = x 1 x 2... x m Y = y 1 y 2... y n Emparelhamento M é um alinhamento, quando não há cruzamentos Para todo (i, j) e (i', j') pertencente a M, se i < i', então j < j' M (slide anterior) é alinhamento? M = {(1, 1), (2, 4), (3, 2), (5, 6)}
12 Alinhamento Exemplo: espera e perna esper-a -esper-a --perna M = {(3, 1), (4, 2), (5, 3), (6, 5)} pe---rna M = {(1, 2), (5, 3), (6, 5)} Emparelhamento (alinhado) define a transformação Cada emparelhamento tem um custo Problema: Encontrar emparelhamento que minimiza o custo (ótimo)
13 Alinhamento de Sequência Abordagem via programação dinâmica Estudo da solução ótima M M emparelhamento de menor custo O que podemos dizer sobre o último par (m, n)? último símbolo das duas sequências Ou (m,n) pertence a M ou (m,n) não pertence a M O que podemos afirmar quando (m,n) não pertence a M?
14 Alinhamento de Sequência Se (m, n) não pertence a M, então ou a posição m de X ou a posição n de Y não aparece em nenhum par caso contrário, (se as duas aparecem em dois pares) teríamos um cruzamento Se M é ótimo, então sabemos que (m, n) pertence a M ou posição m de X não está emparelhada em M ou posição n de Y não está emparelhada em M
15 Analisando Solução Ótima Variáveis para definição dos subproblemas? número de caracteres sendo considerados da sequência X e Y (a partir do início) i : x 1 x 2... x i -- j : y 1 y 2... y j OPT(i, j): custo da solução ótima com as respectivas subsequências de X e Y Três casos para considerar 1) Se (m, n) pertence a M Custo do emparelhamento entre x m e y n (que pode ser zero) + custo do subproblema ótimo OPT(m, n) = xm yn + OPT(m-1, n-1)
16 Analisando Solução Ótima 2) Se posição m de X não está emparelhada Custo de um gap (da posição m de X) + custo da solução ótima sem a posição m de X OPT(m, n) = + OPT(m-1, n) 3) Se posição n de Y não está emparelhada Custo de um gap (da posição n de Y) + custo da solução ótima sem a posição n de Y OPT(m, n) = + OPT(m, n-1) Solução ótima considera caso de menor custo entre as três possibilidades
17 Analisando Solução Ótima Generalizando o argumento para qualquer subsequência de tamanho i e j OPT(i, j) = min ( xi yj + OPT(i-1, j-1), + OPT(i-1, j), + OPT(i, j-1) Quando emparelhamento (i, j) pertence a solução ótima? Quando primeiro caso é o mínimo
18 Algoritmo Algoritmo para calcular OPT(n, m)? iterativo, não recursivo (mas utilizando recursão) Alinhamento OPT(X, Y) Array A[0,...,m ; 0,...,n] Init A[i,0] = i*, para i = 0,...,m Init A[0,j] = j*, para j = 0,...,n Init A[0,0] = 0 For j = 1,..., n For i = 1,..., m A[i,j] = min( (X[i],Y[j]) + A[i 1,j 1], + A[i 1, j], + A[i, j 1]) Retorna A[m,n] Inicialização: gap em todos os caracteres quando a outra sequência é vazia
19 Complexidade Tempo de execução do algoritmo? Número de elementos da matriz A cada elemento da matriz A tem tempo constante O(1) Complexidade O(m n)
20 Redução para Grafos Alinhamento de sequências pode ser mapeado em problema de grafos problema de menor caminho Dado duas sequências X e Y, construir um grafo direcionado G XY em um grid Elemento (i, j) do grid corresponde aos índices (i, j) das sequências Arestas direcionadas apenas entre vizinhos no grid (horizontal, vertical e diagonal) Pesos correspondem ao custos de gap (horizontal e vertical) ou substituição (diagonal)
21 Construindo o Grafo Ex. X = x 1 x 2 x 3 Y = y 1 y 2 y 3 y 4 x 3 x 2 x 1 0 y 1 y 2 y 3 y 4 Mover na horizontal ou vertical, é igual a introduzir um gap custo Mover na diagonal é igual a emparelhar (i, j) custo xi yj
22 Caminho Mínimo Seja c(i, j) o custo mínimo para ir do vértice (0, 0) ao vértice (i, j) Então, para qualquer (i, j) c(i, j) = OPT(i, j) custo do caminho mínimo é igual ao custo do emparelhamento ótimo Prova por indução (e muito intuitiva) Caminho de custo mínimo determina emparelhamento c(m,n) é solução para o problema
23 Complexidade Solução mais eficiente para o problema? Número de vértices do grafo (m+1)(n+1) ~ mn Número de arestas do grafo ~ 3mn Complexidade de Dijkstra (caminho mínimo) O((n + m)log n), onde n é número de vértices e m número de arestas Logo, com Dijkstra temos O(mn log mn) Não reduz complexidade (necessariamente) mas interpretação vem ajudando desenvolver outros algoritmos
Teoria dos Grafos Aula 22
Teoria dos Grafos Aula 22 Aula passada Caminho mais curto entre todos os pares Algoritmo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto Algoritmo de Bellman Ford Melhorias Caminho
Leia maisTeoria dos Grafos Aula 23
Teoria dos Grafos Aula 23 Aula passada Apresentação de trabalhos Discussão da prova Subset sum Problema da mochila Aula de hoje Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação
Leia maisTeoria dos Grafos Aula 24
Teoria dos Grafos Aula 24 Aula passada Caminho mais curto entre todos os pares Algortimo de Floyd Warshall Programação dinâmica Aula de hoje Caminho mais curto em grafos Algoritmo de Bellman Ford Algoritmo
Leia maisAlinhamento de Sequências e Genômica Comparativa
Encontro França-Brasil de Bioinformática Universidade Estadual de Santa Cruz (UESC) Ilhéus-BA - Brasil Alinhamento de Sequências e Genômica Comparativa Maria Emília M. T. Walter Departamento de Ciência
Leia maisProgramaçã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
Leia maisProgramação Dinâmica. Prof. Anderson Almeida Ferreira
Programação Dinâmica Prof. Anderson Almeida Ferreira Programação Dinâmica 1950, Bellman Evitar recálculos dos subproblemas em comum Menor para maior (bottom-up) Tabelas ou memorização É uma técnica de
Leia maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e algoritmo de Dijkstra Dijkstra o próprio Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Leia maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Grafos com pesos, caminhos e distâncias Ideia e implementação de alg. de Dijkstra Aula de hoje Corretude de Dijkstra Fila de prioridades e Heap Dijkstra eficiente
Leia maisTópicos Especiais em Inteligência Artificial COS746. Vítor Santos Costa COPPE/Sistemas Universidade Federal do Rio de Janeiro
Tópicos Especiais em Inteligência Artificial COS746 Vítor Santos Costa COPPE/Sistemas Universidade Federal do Rio de Janeiro Agradecimento Copiado dos slides de Mark Craven para BMI/CS 576, UW-Madison
Leia maisComplexidade de Algoritmos. Edson Prestes
Edson Prestes Programação Dinâmica A programação dinâmica costuma ser aplicada a problemas de otimização resultando, em geral, em algoritmos mais eficientes que os mais diretos. Esse método é útil quando
Leia maisTeoria dos Grafos Aula 18
Teoria dos Grafos Aula 18 Aula passada Coloração Algoritmo guloso Número cromático Teorema das 4 cores Aula de hoje Clusterização (ou agrupamento) Algoritmo Variação Clusterização Coleção de objetos Agrupar
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 Preparado a partir do texto: Rangel, Socorro. Teoria do Grafos,
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 maisAnálise de Complexidade para algoritmos iterativos e recursivos
Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Análise de Complexidade para algoritmos iterativos e recursivos Algoritmos iterativos - complexidade expressa através de somatórios. Algoritmos
Leia maisAula 14. Aula de hoje. Aula passada
Aula 14 Aula passada Autovalores, autovetores, decomposição Convergência para estacionaridade Tempo de mistura Spectral gap Tempo de mistura de passeios aleatórios Aula de hoje Caminho amostral Teorema
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 maisTeoria dos Grafos Aula 22
Teoria dos Grafos Aula 22 Aula passada Aula de hoje Algoritmo de Ford- Aplicações do Fulkerson fluxo máximo Análise do Emparelhamento algoritmo Caminhos Melhorando distintos algoritmo inicial Corte mínimo
Leia maisProjeto e Análise de Algoritmos
Projeto e Análise de Algoritmos Aula 08 Maior Subsequência Comum (LCS) Edirlei Soares de Lima Problema Subsequência: sequência de caracteres não necessariamente contínuos, retirados
Leia maisTeoria dos Grafos Aula 27
Teoria dos Grafos Aula 27 Aula passada Aula de hoje Algoritmo de Ford Aplicações do fluxo Fulkerson máximo Análise do algoritmo Emparelhamento perfeito Melhorando algoritmo inicial Caminhos distintos Corte
Leia maisTeoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada
Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria
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 maisAlinhamentos de Múltiplas Seqüências. Rogério T. Brito Orientador: José A. R. Soares
1 Alinhamentos de Múltiplas Seqüências Rogério T. Brito Orientador: José A. R. Soares 2 Motivação Problema em Biologia: saber qual é o grau de parentesco entre um conjunto de espécies (construção de árvores
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 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 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 maisResumo - capítulo 5 - Predição da estrutura secundária do RNA
Resumo - capítulo 5 - Predição da estrutura secundária do RNA Pedro Ivo Gomes de Faria Sumário 1 Introdução 2 1.1 Fundamentos da predição da estrutura do RNA........ 2 1.2 Características da estrutura
Leia maisGRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes
8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus
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 maisEstrutura de Dados e Algoritmos e Programação e Computadores II. Aula 11: Introdução aos Grafos
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 11: Introdução aos Grafos Indução Finita Indução Finita é uma técnica para provar teoremas também usada no projecto de algoritmos. Suponha
Leia maisINTRODUÇÃO A BUSCA EXERCÍCIOS
INTRODUÇÃO USC EXERCÍCIOS 1. Formule um problema de busca de forma que um agente possa planejar sua ida do Portal da Graciosa à ntonina pelo caminho de menor custo. Não é necessário prever caminhos de
Leia maisACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO. Aula 25
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Aula 25 Cap 7.2 A classe P Profa. Ariane Machado Lima ariane.machado@usp.br 1 Cap 7.2 A classe P 2 Tempo polinomial e exponencial Ex: Máquina de tempo n 3 (tempo
Leia 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 maisAlgoritmo de Dijkstra
lgoritmo de Dijkstra Caminhos mínimos em Grafos Considere um grafo orientado ponderado G = (V,E) em que cada aresta possui um rótulo não negativo associado que define o custo da aresta, e um dos vértices
Leia maisQUESTÕES DE PROVAS ANTIGAS
CT-24 QUESTÕES DE PROVAS ANTIGAS ) Preencha a tabela abaixo com Î ou Ï: ω(log n) Θ(n) O(n log n) Ω(n 2 ) o(n ) 6n + 2n 2 + 2.log n + 4n + n.log n + log n 2) Dada a árvore binária abaixo, escreva os seus
Leia maisÁrvore Binária de Busca Ótima
MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvore binária de busca ótima do capítulo 4 do livro N. Wirth. Algorithms
Leia maisSolução de Recorrências
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS Solução de Recorrências Algoritmos e Estruturas de Dados I Natália Batista https://sites.google.com/site/nataliacefetmg/ nataliabatista@decom.cefetmg.br
Leia maisTeoria 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
Leia maisMemória cache. Sistemas de Computação
cache Sistemas de Computação Princípio da localidade Programas tendem a reutilizar dados e instruções perto daqueles que foram utilizados recentemente Localidade temporal: Itens recentemente referenciados
Leia maisProgramação Dinâmica I SCC0210 Algoritmos Avançados (2/2011) Lucas Schmidt Cavalcante
Programação Dinâmica I SCC0210 Algoritmos Avançados (2/2011) Lucas Schmidt Cavalcante Introdução Soma máxima de uma subsequência contígua Problema do troco Quantidade de formas de dar troco Problema da
Leia maisGabriel 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
Leia maisExpressMath: Análise estrutural de expressões matemáticas manuscritas
ExpressMath: Análise estrutural de expressões matemáticas manuscritas Bruno Yoiti Ozahata, Ricardo Sider Nina S. T. Hirata (orientadora) Departamento de Ciência da Computação Instituto de Matemática e
Leia maisReferências e materiais complementares desse tópico
Notas de aula: Análise de Algoritmos Centro de Matemática, Computação e Cognição Universidade Federal do ABC Profa. Carla Negri Lintzmayer Programação Dinâmica (Última atualização: 6 de maio de 2019) Referências
Leia maisParadigmas de Projetos de Algoritmos
Paradigmas de Projetos de Algoritmos Luciana Assis 9 de junho de 2016 Luciana Assis (UFVJM) 9 de junho de 2016 1 / 36 1 Introdução 2 Força Bruta 3 Abordagem Incremental ou Construtiva 4 Recursão 5 Divisão
Leia maisAlgoritmos de Ordenação: QuickSort
Algoritmos de Ordenação: QuickSort 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 maisAULA 24. Algoritmos p.856/905
AULA 24 Algoritmos p.856/905 Máximo divisor comum CLRS 31.1 e 31.2 Algoritmos p.857/905 Divisibilidade Suponha que a, b e d são números inteiros. Dizemos que d divide a se a = k d para algum número inteiro
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 maisGrafos COM11087-Tópicos Especiais em Programação II
Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg
Leia maisAlgoritmos para Automação e Sistemas. Programação Dinâmica. Universidade Federal do Amazonas Departamento de Eletrônica e Computação
Algoritmos para Automação e Sistemas Programação Dinâmica Universidade Federal do Amazonas Departamento de Eletrônica e Computação Roteiro Programação Dinâmica Problemas de Otimização Linha de Montagem
Leia maisANÁLISE DE ALGORITMOS
ANÁLISE DE ALGORITMOS Paulo Feofiloff Instituto de Matemática e Estatística Universidade de São Paulo agosto 2009 Introdução P. Feofiloff (IME-USP) Análise de Algoritmos agosto 2009 2 / 102 Introdução
Leia maisTeoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
Leia maisTeoria dos Grafos Aula 7
Teoria dos Grafos Aula 7 Aula passada Grafos direcionados Busca em grafos direcionados Ordenação topológica Aula de hoje Grafos com pesos Caminhos mínimos Dijkstra a ideia Dijkstra o algoritmo Dijkstra
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 maisTeoria dos Grafos Aula 26
Teoria dos Grafos Aula 26 Aula passada Redes de fluxo Problema do fluxo máximo Problema do corte mínimo Aula de hoje Algoritmo de Ford Fulkerson Análise do algoritmo Melhorando algoritmo inicial Dualidade
Leia maisTeoria dos Grafos Aula 8
Teoria dos Grafos Aula 8 Aula passada Classe de funções e notação Propriedades da notação Funções usuais Aula de hoje Grafos direcionados Busca em grafos direcionados Ordenação topológica Tempo de execução
Leia maisTeoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013
Teoria dos Grafos Aula 5 - Estruturas de Dados para Grafos Profª. Alessandra Martins Coelho março/2013 Estrutura é o que caracteriza o próprio grafo e independe da forma como ele é representado. A representação
Leia mais4 Casamento de Padrões
4 Casamento de Padrões O casamento de padrões é uma técnica que tem por objetivo localizar os elementos constituintes de uma seqüência em um conjunto de outras seqüências. Chamemos de padrão a seqüência
Leia maisGrafos Direcionados. > Grafos Direcionados Representações Computacionais 1/36
Grafos Direcionados > Grafos Direcionados Representações Computacionais 1/36 Grafos Direcionados Em muitas aplicações, é importante ter direção nas arestas: Ruas de mão única Grafos modelando páginas da
Leia maisProblema do Caminho Mais Curto. Problema do Caminho Mais Curto
Problema do Caminho Mais Curto " Podemos afectar pesos" aos arcos de um grafo, por exemplo, para representar uma distância entre cidades numa rede ferroviária: ria: Chicago 650 600 700 Toronto 200 New
Leia maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Principais paradigmas do projeto de algoritmos - Recursividade - Tentativa e erro - Divisão e Conquista - Programação dinâmica - Algoritmos Gulosos e de Aproximação
Leia maisTransformada Rápida de Fourier (FFT)
Transformada Rápida de Fourier (FFT) A FFT é um algoritmo eficiente para calcular a DFT A DFT de uma sequência x n de comprimento finito N é definida como: N 1 N 1 X k = x n e j2π N kn = x n W N kn, 0
Leia maisUNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Pato Branco ENGENHARIA DE COMPUTAÇÃO. Prova Parcial 1 Matemática Discreta para Computação
Prova Parcial 1 2011-2 Aluno(a): Data: 08/09/2011 1. (3p) Usando regras de inferência, prove que os argumentos são válidos. Use os símbolos proposicionais indicados: a. A Rússia era uma potência superior,
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 Simplex para Programação Linear I
EA Planejamento e Análise de Sistemas de Produção Algoritmo Simple para Programação Linear I DCA-FEEC-Unicamp Modelo de Programação Linear ma c ( n ) s. a. A b A ( m n) b ( m ) c ( n) P ( R n A b} Poliedro
Leia maisRedes Complexas Aula 2
Redes Complexas Aula 2 Aula passada Logística Redes e Grafos Exemplos Redes Complexas Aula de hoje Redes e classes Estrutura e características Grau, distância, clusterização Rede (ou Grafo) Abstração que
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 maisRedes Complexas Aula 14
Redes Complexas Aula 14 Aula passada Busca em redes Explorando estrutura Navegação em redes Algoritmo eficiente e estrutura Aula de hoje Resilience ( robustez ) Tipo de falhas Influência da estrutura Análise
Leia maisUma Introdução Sucinta à Teoria dos Grafos
Uma Introdução Sucinta à Teoria dos Grafos Paulo Feofiloff Yoshiharu Kohayakawa Yoshiko Wakabayashi IME USP www.ime.usp.br/ pf/teoriadosgrafos/ 25/10/2004 11:00 1 Prefácio 2 Grafos são bons modelos para
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 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 maisAnálise e Complexidade de Algoritmos
Análise e Complexidade de Algoritmos Introdução a algoritmos geométricos e seus métodos - varredura - envoltória convexa Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com Onde
Leia maisMatemática Discreta Capítulo 3 Versão preliminar
Matemática Discreta Capítulo 3 Versão preliminar Henri Anciaux e Derek Hacon October 25, 2007 1 Generalidades sobre grafos Um grafo G é simplesmente um par de dois conjuntos V e A, o segundo sendo constituído
Leia mais5ª Lista de Exercícios de Programação I
5ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. Questões que envolvam leitura de matrizes, a construção dessas matrizes pode ser realizada através da geraçã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 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 maisGrafos IFRN. Prof.Robinson Alves
Grafos IFRN Prof.Robinson Alves Caminhos É uma seqüência de arestas onde o vértice final de uma aresta é o vértice inicial da próxima v c c3 c1 c6 c4 {c1,c,c4,c5,c6} {c,c3,c4,c5} {,v,,,v5} {v,,,v5,} c5
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 maisProblema do Caminho Mínimo
Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.
Leia maisSUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
Leia maisÉ interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser
É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser executado 1 Fazendo estimativas e simplificações... O número
Leia maisAlgoritmos de Ordenação
Algoritmos de Ordenação 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 baseado em
Leia maisIntrodução à Teoria da Computação Exercícios
Introdução à Teoria da Computação Exercícios Livro: Michel Sipser, Introdução à Teoria da Computação 2ª Ed. Capítulo 07 Obs: Exercícios 7.7 e 7.20 estão apresentados em versões simplificadas. NP Dicas
Leia 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 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 maisAlgoritmos em Grafos
Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)
Leia maisCaminhos de Amizades pelo Facebook:
Caminhos de Amizades pelo Facebook: Dualidade Computacional entre Curto e Longo Introdução a ECI Aula 2 Daniel R. Figueiredo LAND PESC/COPPE/UFRJ Problemas da Computação Objetivo: como resolver problemas
Leia maisA matemática e o genoma. Resumo
I Coloquio Regional da Região Centro-Oeste, 3 a 6 de novembro de 2009 Universidade Federal de Mato Grosso do Sul Mini-curso A matemática e o genoma Nalvo F. Almeida Jr. Resumo Os avanços da biotecnologia
Leia maisINE Fundamentos de Matemática Discreta para a Computação
INE543 - Fundamentos de Matemática Discreta para a Computação 5) Relações 5.) Relações e Dígrafos 5.2) Propriedades de Relações 5.3) Relações de Equivalência 5.4) Manipulação de Relações 5.5) Fecho de
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 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 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 maisAnálise de Algoritmos
Análise de Algoritmos Estes slides são adaptações de slides do Prof. Paulo Feofiloff e do Prof. José Coelho de Pina. Algoritmos p. 1 Matroides e o método guloso U: conjunto finito arbitrário. C: família
Leia maisANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 24 de novembro de 2015 Período: 2015.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de
Leia maisCap. 6: Métodos para alinhamento de múltiplas seqüências
Cap. 6: Métodos para alinhamento de múltiplas seqüências Organização O que é um alinhamento múltiplo Escores para alinhamentos múltiplos Relação entre alinhamento múltiplo e análise filogenética Métodos
Leia maisInteligência Artificial. Algoritmos Genéticos. Aula I Introdução
Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Ciência da Computação Inteligência Artificial Algoritmos Genéticos Aula I Introdução Roteiro Introdução Computação Evolutiva Algoritmos
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 16 Directed graphs Topological sorting Dynamic programming Successor paths Cycle detection
Leia maisAula 7 Medidas de Distância. Profa. Elaine Faria UFU
Aula 7 Medidas de Distância Profa. Elaine Faria UFU - 2017 Agradecimentos Este material é baseado No livro Tan et al, 2006 Nos slides do prof Andre C. P. L. F. Carvalho Agradecimentos Ao professor André
Leia maisUniversidade de São Paulo
Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos
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 22 Combinatorics Binomial coefficients Catalan numbers Inclusion-exclusion Burnside
Leia maisEdsger Wybe Dijkstra
Edsger Wybe Dijkstra Maio 90 Agosto 00 Roterdã, Holanda Nuenen, Holanda Cientista da Computação Contribuições: Algoritmos Linguagem de Programação ALGOL 0 Sistema Operacional THE Processamento Distribuído
Leia mais